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

com.pulumi.gcp.orgpolicy.kotlin.inputs.PolicyDryRunSpecArgs.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.12.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.orgpolicy.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.orgpolicy.inputs.PolicyDryRunSpecArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property etag An opaque tag indicating the current version of the policy, used for concurrency control. This field is ignored if used in a `CreatePolicy` request. When the policy` is returned from either a `GetPolicy` or a `ListPolicies` request, this `etag` indicates the version of the current policy to use when executing a read-modify-write loop. When the policy is returned from a `GetEffectivePolicy` request, the `etag` will be unset.
 * @property inheritFromParent Determines the inheritance behavior for this policy. If `inherit_from_parent` is true, policy rules set higher up in the hierarchy (up to the closest root) are inherited and present in the effective policy. If it is false, then no rules are inherited, and this policy becomes the new root for evaluation. This field can be set only for policies which configure list constraints.
 * @property reset Ignores policies set above this resource and restores the `constraint_default` enforcement behavior of the specific constraint at this resource. This field can be set in policies for either list or boolean constraints. If set, `rules` must be empty and `inherit_from_parent` must be set to false.
 * @property rules In policies for boolean constraints, the following requirements apply: - There must be one and only one policy rule where condition is unset. - Boolean policy rules with conditions must set `enforced` to the opposite of the policy rule without a condition. - During policy evaluation, policy rules with conditions that are true for a target resource take precedence.
 * @property updateTime Output only. The time stamp this was previously updated. This represents the last time a call to `CreatePolicy` or `UpdatePolicy` was made for that policy.
 */
public data class PolicyDryRunSpecArgs(
    public val etag: Output? = null,
    public val inheritFromParent: Output? = null,
    public val reset: Output? = null,
    public val rules: Output>? = null,
    public val updateTime: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.orgpolicy.inputs.PolicyDryRunSpecArgs =
        com.pulumi.gcp.orgpolicy.inputs.PolicyDryRunSpecArgs.builder()
            .etag(etag?.applyValue({ args0 -> args0 }))
            .inheritFromParent(inheritFromParent?.applyValue({ args0 -> args0 }))
            .reset(reset?.applyValue({ args0 -> args0 }))
            .rules(rules?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
            .updateTime(updateTime?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [PolicyDryRunSpecArgs].
 */
@PulumiTagMarker
public class PolicyDryRunSpecArgsBuilder internal constructor() {
    private var etag: Output? = null

    private var inheritFromParent: Output? = null

    private var reset: Output? = null

    private var rules: Output>? = null

    private var updateTime: Output? = null

    /**
     * @param value An opaque tag indicating the current version of the policy, used for concurrency control. This field is ignored if used in a `CreatePolicy` request. When the policy` is returned from either a `GetPolicy` or a `ListPolicies` request, this `etag` indicates the version of the current policy to use when executing a read-modify-write loop. When the policy is returned from a `GetEffectivePolicy` request, the `etag` will be unset.
     */
    @JvmName("juqusstjyvyybkwg")
    public suspend fun etag(`value`: Output) {
        this.etag = value
    }

    /**
     * @param value Determines the inheritance behavior for this policy. If `inherit_from_parent` is true, policy rules set higher up in the hierarchy (up to the closest root) are inherited and present in the effective policy. If it is false, then no rules are inherited, and this policy becomes the new root for evaluation. This field can be set only for policies which configure list constraints.
     */
    @JvmName("tkfmpyhnfancbemy")
    public suspend fun inheritFromParent(`value`: Output) {
        this.inheritFromParent = value
    }

    /**
     * @param value Ignores policies set above this resource and restores the `constraint_default` enforcement behavior of the specific constraint at this resource. This field can be set in policies for either list or boolean constraints. If set, `rules` must be empty and `inherit_from_parent` must be set to false.
     */
    @JvmName("khfumwvbwyqtaxxx")
    public suspend fun reset(`value`: Output) {
        this.reset = value
    }

    /**
     * @param value In policies for boolean constraints, the following requirements apply: - There must be one and only one policy rule where condition is unset. - Boolean policy rules with conditions must set `enforced` to the opposite of the policy rule without a condition. - During policy evaluation, policy rules with conditions that are true for a target resource take precedence.
     */
    @JvmName("mcbniojlbniqotjl")
    public suspend fun rules(`value`: Output>) {
        this.rules = value
    }

    @JvmName("pvvvmdtirsmgmpvp")
    public suspend fun rules(vararg values: Output) {
        this.rules = Output.all(values.asList())
    }

    /**
     * @param values In policies for boolean constraints, the following requirements apply: - There must be one and only one policy rule where condition is unset. - Boolean policy rules with conditions must set `enforced` to the opposite of the policy rule without a condition. - During policy evaluation, policy rules with conditions that are true for a target resource take precedence.
     */
    @JvmName("eretvfsemxtswgyy")
    public suspend fun rules(values: List>) {
        this.rules = Output.all(values)
    }

    /**
     * @param value Output only. The time stamp this was previously updated. This represents the last time a call to `CreatePolicy` or `UpdatePolicy` was made for that policy.
     */
    @JvmName("wjwxrfphixwvwtom")
    public suspend fun updateTime(`value`: Output) {
        this.updateTime = value
    }

    /**
     * @param value An opaque tag indicating the current version of the policy, used for concurrency control. This field is ignored if used in a `CreatePolicy` request. When the policy` is returned from either a `GetPolicy` or a `ListPolicies` request, this `etag` indicates the version of the current policy to use when executing a read-modify-write loop. When the policy is returned from a `GetEffectivePolicy` request, the `etag` will be unset.
     */
    @JvmName("ilaclwxpvmjipkry")
    public suspend fun etag(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.etag = mapped
    }

    /**
     * @param value Determines the inheritance behavior for this policy. If `inherit_from_parent` is true, policy rules set higher up in the hierarchy (up to the closest root) are inherited and present in the effective policy. If it is false, then no rules are inherited, and this policy becomes the new root for evaluation. This field can be set only for policies which configure list constraints.
     */
    @JvmName("fqaribuqgdpxnvif")
    public suspend fun inheritFromParent(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.inheritFromParent = mapped
    }

    /**
     * @param value Ignores policies set above this resource and restores the `constraint_default` enforcement behavior of the specific constraint at this resource. This field can be set in policies for either list or boolean constraints. If set, `rules` must be empty and `inherit_from_parent` must be set to false.
     */
    @JvmName("gpwdwtbnuhxmjsji")
    public suspend fun reset(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.reset = mapped
    }

    /**
     * @param value In policies for boolean constraints, the following requirements apply: - There must be one and only one policy rule where condition is unset. - Boolean policy rules with conditions must set `enforced` to the opposite of the policy rule without a condition. - During policy evaluation, policy rules with conditions that are true for a target resource take precedence.
     */
    @JvmName("cfbxmwnevauogcsj")
    public suspend fun rules(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.rules = mapped
    }

    /**
     * @param argument In policies for boolean constraints, the following requirements apply: - There must be one and only one policy rule where condition is unset. - Boolean policy rules with conditions must set `enforced` to the opposite of the policy rule without a condition. - During policy evaluation, policy rules with conditions that are true for a target resource take precedence.
     */
    @JvmName("edoyeonvusdantpe")
    public suspend fun rules(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PolicyDryRunSpecRuleArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.rules = mapped
    }

    /**
     * @param argument In policies for boolean constraints, the following requirements apply: - There must be one and only one policy rule where condition is unset. - Boolean policy rules with conditions must set `enforced` to the opposite of the policy rule without a condition. - During policy evaluation, policy rules with conditions that are true for a target resource take precedence.
     */
    @JvmName("jxwjlhewllduabqt")
    public suspend fun rules(vararg argument: suspend PolicyDryRunSpecRuleArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            PolicyDryRunSpecRuleArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.rules = mapped
    }

    /**
     * @param argument In policies for boolean constraints, the following requirements apply: - There must be one and only one policy rule where condition is unset. - Boolean policy rules with conditions must set `enforced` to the opposite of the policy rule without a condition. - During policy evaluation, policy rules with conditions that are true for a target resource take precedence.
     */
    @JvmName("mepxtjesyrlaltnk")
    public suspend fun rules(argument: suspend PolicyDryRunSpecRuleArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(PolicyDryRunSpecRuleArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.rules = mapped
    }

    /**
     * @param values In policies for boolean constraints, the following requirements apply: - There must be one and only one policy rule where condition is unset. - Boolean policy rules with conditions must set `enforced` to the opposite of the policy rule without a condition. - During policy evaluation, policy rules with conditions that are true for a target resource take precedence.
     */
    @JvmName("eieomtxbxlnoljsc")
    public suspend fun rules(vararg values: PolicyDryRunSpecRuleArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.rules = mapped
    }

    /**
     * @param value Output only. The time stamp this was previously updated. This represents the last time a call to `CreatePolicy` or `UpdatePolicy` was made for that policy.
     */
    @JvmName("aairtqjkeryprvvc")
    public suspend fun updateTime(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.updateTime = mapped
    }

    internal fun build(): PolicyDryRunSpecArgs = PolicyDryRunSpecArgs(
        etag = etag,
        inheritFromParent = inheritFromParent,
        reset = reset,
        rules = rules,
        updateTime = updateTime,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy