All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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