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

com.pulumi.awsnative.sso.kotlin.InstanceAccessControlAttributeConfigurationArgs.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: 1.24.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.sso.kotlin

import com.pulumi.awsnative.sso.InstanceAccessControlAttributeConfigurationArgs.builder
import com.pulumi.awsnative.sso.kotlin.inputs.InstanceAccessControlAttributeConfigurationAccessControlAttributeArgs
import com.pulumi.awsnative.sso.kotlin.inputs.InstanceAccessControlAttributeConfigurationAccessControlAttributeArgsBuilder
import com.pulumi.awsnative.sso.kotlin.inputs.InstanceAccessControlAttributeConfigurationPropertiesArgs
import com.pulumi.awsnative.sso.kotlin.inputs.InstanceAccessControlAttributeConfigurationPropertiesArgsBuilder
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.collections.List
import kotlin.jvm.JvmName

/**
 * Resource Type definition for SSO InstanceAccessControlAttributeConfiguration
 * ## Example Usage
 * ### Example
 * No Java example available.
 * ### Example
 * No Java example available.
 * @property accessControlAttributes Lists the attributes that are configured for ABAC in the specified IAM Identity Center instance.
 * @property instanceAccessControlAttributeConfiguration The InstanceAccessControlAttributeConfiguration property has been deprecated but is still supported for backwards compatibility purposes. We recomend that you use  AccessControlAttributes property instead.
 * @property instanceArn The ARN of the AWS SSO instance under which the operation will be executed.
 */
public data class InstanceAccessControlAttributeConfigurationArgs(
    public val accessControlAttributes: Output>? = null,
    public val instanceAccessControlAttributeConfiguration: Output? = null,
    public val instanceArn: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.sso.InstanceAccessControlAttributeConfigurationArgs =
        com.pulumi.awsnative.sso.InstanceAccessControlAttributeConfigurationArgs.builder()
            .accessControlAttributes(
                accessControlAttributes?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .instanceAccessControlAttributeConfiguration(
                instanceAccessControlAttributeConfiguration?.applyValue({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                }),
            )
            .instanceArn(instanceArn?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [InstanceAccessControlAttributeConfigurationArgs].
 */
@PulumiTagMarker
public class InstanceAccessControlAttributeConfigurationArgsBuilder internal constructor() {
    private var accessControlAttributes:
        Output>? = null

    private var instanceAccessControlAttributeConfiguration:
        Output? = null

    private var instanceArn: Output? = null

    /**
     * @param value Lists the attributes that are configured for ABAC in the specified IAM Identity Center instance.
     */
    @JvmName("mtdxibkgpgntqytq")
    public suspend fun accessControlAttributes(`value`: Output>) {
        this.accessControlAttributes = value
    }

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

    /**
     * @param values Lists the attributes that are configured for ABAC in the specified IAM Identity Center instance.
     */
    @JvmName("ofoqgqxayaquubcu")
    public suspend fun accessControlAttributes(values: List>) {
        this.accessControlAttributes = Output.all(values)
    }

    /**
     * @param value The InstanceAccessControlAttributeConfiguration property has been deprecated but is still supported for backwards compatibility purposes. We recomend that you use  AccessControlAttributes property instead.
     */
    @JvmName("kifgyrhaytroaewt")
    public suspend fun instanceAccessControlAttributeConfiguration(`value`: Output) {
        this.instanceAccessControlAttributeConfiguration = value
    }

    /**
     * @param value The ARN of the AWS SSO instance under which the operation will be executed.
     */
    @JvmName("godsbyopldtjtdyr")
    public suspend fun instanceArn(`value`: Output) {
        this.instanceArn = value
    }

    /**
     * @param value Lists the attributes that are configured for ABAC in the specified IAM Identity Center instance.
     */
    @JvmName("axysrjoyyhtjjgrd")
    public suspend fun accessControlAttributes(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.accessControlAttributes = mapped
    }

    /**
     * @param argument Lists the attributes that are configured for ABAC in the specified IAM Identity Center instance.
     */
    @JvmName("rscfxnubugycoweu")
    public suspend fun accessControlAttributes(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            InstanceAccessControlAttributeConfigurationAccessControlAttributeArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.accessControlAttributes = mapped
    }

    /**
     * @param argument Lists the attributes that are configured for ABAC in the specified IAM Identity Center instance.
     */
    @JvmName("tninkxkfesiylfme")
    public suspend fun accessControlAttributes(vararg argument: suspend InstanceAccessControlAttributeConfigurationAccessControlAttributeArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            InstanceAccessControlAttributeConfigurationAccessControlAttributeArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.accessControlAttributes = mapped
    }

    /**
     * @param argument Lists the attributes that are configured for ABAC in the specified IAM Identity Center instance.
     */
    @JvmName("byvdxjwokbuhvasu")
    public suspend fun accessControlAttributes(argument: suspend InstanceAccessControlAttributeConfigurationAccessControlAttributeArgsBuilder.() -> Unit) {
        val toBeMapped =
            listOf(
                InstanceAccessControlAttributeConfigurationAccessControlAttributeArgsBuilder().applySuspend
                    { argument() }.build(),
            )
        val mapped = of(toBeMapped)
        this.accessControlAttributes = mapped
    }

    /**
     * @param values Lists the attributes that are configured for ABAC in the specified IAM Identity Center instance.
     */
    @JvmName("whqkoqxxuukqvcay")
    public suspend fun accessControlAttributes(vararg values: InstanceAccessControlAttributeConfigurationAccessControlAttributeArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.accessControlAttributes = mapped
    }

    /**
     * @param value The InstanceAccessControlAttributeConfiguration property has been deprecated but is still supported for backwards compatibility purposes. We recomend that you use  AccessControlAttributes property instead.
     */
    @JvmName("iivsnuiiegqqwjwc")
    public suspend fun instanceAccessControlAttributeConfiguration(`value`: InstanceAccessControlAttributeConfigurationPropertiesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.instanceAccessControlAttributeConfiguration = mapped
    }

    /**
     * @param argument The InstanceAccessControlAttributeConfiguration property has been deprecated but is still supported for backwards compatibility purposes. We recomend that you use  AccessControlAttributes property instead.
     */
    @JvmName("dsavdfcqitpaqeem")
    public suspend fun instanceAccessControlAttributeConfiguration(argument: suspend InstanceAccessControlAttributeConfigurationPropertiesArgsBuilder.() -> Unit) {
        val toBeMapped =
            InstanceAccessControlAttributeConfigurationPropertiesArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.instanceAccessControlAttributeConfiguration = mapped
    }

    /**
     * @param value The ARN of the AWS SSO instance under which the operation will be executed.
     */
    @JvmName("srkrvxpsqobdnkln")
    public suspend fun instanceArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.instanceArn = mapped
    }

    internal fun build(): InstanceAccessControlAttributeConfigurationArgs =
        InstanceAccessControlAttributeConfigurationArgs(
            accessControlAttributes = accessControlAttributes,
            instanceAccessControlAttributeConfiguration = instanceAccessControlAttributeConfiguration,
            instanceArn = instanceArn,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy