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

com.pulumi.azurenative.security.kotlin.inputs.DevOpsPolicyAssignmentPropertiesArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.security.kotlin.inputs

import com.pulumi.azurenative.security.inputs.DevOpsPolicyAssignmentPropertiesArgs.builder
import com.pulumi.azurenative.security.kotlin.enums.DescendantBehavior
import com.pulumi.core.Either
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * Properties of the DevOps policy assignment resource.
 * @property assignedAt Gets or sets time when the assignment was created in UTC.
 * @property descendantBehavior The behavior of a policy on descendant resources.
 * @property policy Condensed information to identify a DevOps Policy resource.
 * @property resourceId Gets or sets the Azure resource id.
 */
public data class DevOpsPolicyAssignmentPropertiesArgs(
    public val assignedAt: Output? = null,
    public val descendantBehavior: Output>? = null,
    public val policy: Output? = null,
    public val resourceId: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.security.inputs.DevOpsPolicyAssignmentPropertiesArgs = com.pulumi.azurenative.security.inputs.DevOpsPolicyAssignmentPropertiesArgs.builder()
        .assignedAt(assignedAt?.applyValue({ args0 -> args0 }))
        .descendantBehavior(
            descendantBehavior?.applyValue({ args0 ->
                args0.transform(
                    { args0 -> args0 },
                    { args0 -> args0.let({ args0 -> args0.toJava() }) },
                )
            }),
        )
        .policy(policy?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
        .resourceId(resourceId?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [DevOpsPolicyAssignmentPropertiesArgs].
 */
@PulumiTagMarker
public class DevOpsPolicyAssignmentPropertiesArgsBuilder internal constructor() {
    private var assignedAt: Output? = null

    private var descendantBehavior: Output>? = null

    private var policy: Output? = null

    private var resourceId: Output? = null

    /**
     * @param value Gets or sets time when the assignment was created in UTC.
     */
    @JvmName("svjopmflwmiljyjx")
    public suspend fun assignedAt(`value`: Output) {
        this.assignedAt = value
    }

    /**
     * @param value The behavior of a policy on descendant resources.
     */
    @JvmName("beebdepwykrpnorh")
    public suspend fun descendantBehavior(`value`: Output>) {
        this.descendantBehavior = value
    }

    /**
     * @param value Condensed information to identify a DevOps Policy resource.
     */
    @JvmName("khqdykpooiloudvd")
    public suspend fun policy(`value`: Output) {
        this.policy = value
    }

    /**
     * @param value Gets or sets the Azure resource id.
     */
    @JvmName("mgcekdwtxnslbfkc")
    public suspend fun resourceId(`value`: Output) {
        this.resourceId = value
    }

    /**
     * @param value Gets or sets time when the assignment was created in UTC.
     */
    @JvmName("rflgyeskymnjtcfe")
    public suspend fun assignedAt(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.assignedAt = mapped
    }

    /**
     * @param value The behavior of a policy on descendant resources.
     */
    @JvmName("fehygrgtmugtdqgd")
    public suspend fun descendantBehavior(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.descendantBehavior = mapped
    }

    /**
     * @param value The behavior of a policy on descendant resources.
     */
    @JvmName("rvhjxglxcedatbve")
    public fun descendantBehavior(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.descendantBehavior = mapped
    }

    /**
     * @param value The behavior of a policy on descendant resources.
     */
    @JvmName("ypgrqpqcqhsoqrjh")
    public fun descendantBehavior(`value`: DescendantBehavior) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.descendantBehavior = mapped
    }

    /**
     * @param value Condensed information to identify a DevOps Policy resource.
     */
    @JvmName("eyoqbnngdwdnsobc")
    public suspend fun policy(`value`: DevOpsPolicyDescriptorArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.policy = mapped
    }

    /**
     * @param argument Condensed information to identify a DevOps Policy resource.
     */
    @JvmName("smgsukyjriahxgow")
    public suspend fun policy(argument: suspend DevOpsPolicyDescriptorArgsBuilder.() -> Unit) {
        val toBeMapped = DevOpsPolicyDescriptorArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.policy = mapped
    }

    /**
     * @param value Gets or sets the Azure resource id.
     */
    @JvmName("iogtpxowjhgnjcko")
    public suspend fun resourceId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceId = mapped
    }

    internal fun build(): DevOpsPolicyAssignmentPropertiesArgs = DevOpsPolicyAssignmentPropertiesArgs(
        assignedAt = assignedAt,
        descendantBehavior = descendantBehavior,
        policy = policy,
        resourceId = resourceId,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy