
io.cloudshiftdev.awscdk.ext.iam.IamExtensions.kt Maven / Gradle / Ivy
package io.cloudshiftdev.awscdk.ext.iam
import io.cloudshiftdev.awscdk.services.iam.Effect
import io.cloudshiftdev.awscdk.services.iam.PolicyStatement
public fun PolicyStatement.Builder.allow() {
effect(Effect.ALLOW)
}
public fun PolicyStatement.Builder.deny() {
effect(Effect.DENY)
}
public fun PolicyStatement.Builder.action(action: String) {
actions(action)
}
public fun PolicyStatement.Builder.resource(arn: String) {
resources(arn)
}
public fun PolicyStatement.Builder.anyResource() {
resources("*")
}
public fun policyStatements(block: (PolicyStatementsDsl).() -> Unit): List {
return PolicyStatementsDsl().apply(block).policyStatements
}
public class PolicyStatementsDsl {
internal val policyStatements = mutableListOf()
public fun policyStatement(block: PolicyStatement.Builder.() -> Unit) {
policyStatements.add(PolicyStatement(block))
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy