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

com.pulumi.gcp.iam.kotlin.outputs.DenyPolicyRuleDenyRule.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 8.10.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.iam.kotlin.outputs

import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property denialCondition User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header.
 * Structure is documented below.
 * @property deniedPermissions The permissions that are explicitly denied by this rule. Each permission uses the format `{service-fqdn}/{resource}.{verb}`,
 * where `{service-fqdn}` is the fully qualified domain name for the service. For example, `iam.googleapis.com/roles.list`.
 * @property deniedPrincipals The identities that are prevented from using one or more permissions on Google Cloud resources.
 * @property exceptionPermissions Specifies the permissions that this rule excludes from the set of denied permissions given by deniedPermissions.
 * If a permission appears in deniedPermissions and in exceptionPermissions then it will not be denied.
 * The excluded permissions can be specified using the same syntax as deniedPermissions.
 * @property exceptionPrincipals The identities that are excluded from the deny rule, even if they are listed in the deniedPrincipals.
 * For example, you could add a Google group to the deniedPrincipals, then exclude specific users who belong to that group.
 */
public data class DenyPolicyRuleDenyRule(
    public val denialCondition: DenyPolicyRuleDenyRuleDenialCondition? = null,
    public val deniedPermissions: List? = null,
    public val deniedPrincipals: List? = null,
    public val exceptionPermissions: List? = null,
    public val exceptionPrincipals: List? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.iam.outputs.DenyPolicyRuleDenyRule): DenyPolicyRuleDenyRule = DenyPolicyRuleDenyRule(
            denialCondition = javaType.denialCondition().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.iam.kotlin.outputs.DenyPolicyRuleDenyRuleDenialCondition.Companion.toKotlin(args0)
                })
            }).orElse(null),
            deniedPermissions = javaType.deniedPermissions().map({ args0 -> args0 }),
            deniedPrincipals = javaType.deniedPrincipals().map({ args0 -> args0 }),
            exceptionPermissions = javaType.exceptionPermissions().map({ args0 -> args0 }),
            exceptionPrincipals = javaType.exceptionPrincipals().map({ args0 -> args0 }),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy