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

com.pulumi.azurenative.containerservice.kotlin.inputs.ManagedClusterAADProfileArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.containerservice.kotlin.inputs

import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAADProfileArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad).
 * @property adminGroupObjectIDs The list of AAD group object IDs that will have admin role of the cluster.
 * @property clientAppID (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
 * @property enableAzureRBAC Whether to enable Azure RBAC for Kubernetes authorization.
 * @property managed Whether to enable managed AAD.
 * @property serverAppID (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
 * @property serverAppSecret (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.
 * @property tenantID The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.
 */
public data class ManagedClusterAADProfileArgs(
    public val adminGroupObjectIDs: Output>? = null,
    public val clientAppID: Output? = null,
    public val enableAzureRBAC: Output? = null,
    public val managed: Output? = null,
    public val serverAppID: Output? = null,
    public val serverAppSecret: Output? = null,
    public val tenantID: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.containerservice.inputs.ManagedClusterAADProfileArgs = com.pulumi.azurenative.containerservice.inputs.ManagedClusterAADProfileArgs.builder()
        .adminGroupObjectIDs(adminGroupObjectIDs?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
        .clientAppID(clientAppID?.applyValue({ args0 -> args0 }))
        .enableAzureRBAC(enableAzureRBAC?.applyValue({ args0 -> args0 }))
        .managed(managed?.applyValue({ args0 -> args0 }))
        .serverAppID(serverAppID?.applyValue({ args0 -> args0 }))
        .serverAppSecret(serverAppSecret?.applyValue({ args0 -> args0 }))
        .tenantID(tenantID?.applyValue({ args0 -> args0 })).build()
}

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

    private var clientAppID: Output? = null

    private var enableAzureRBAC: Output? = null

    private var managed: Output? = null

    private var serverAppID: Output? = null

    private var serverAppSecret: Output? = null

    private var tenantID: Output? = null

    /**
     * @param value The list of AAD group object IDs that will have admin role of the cluster.
     */
    @JvmName("mkcgwpfucjlrtdra")
    public suspend fun adminGroupObjectIDs(`value`: Output>) {
        this.adminGroupObjectIDs = value
    }

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

    /**
     * @param values The list of AAD group object IDs that will have admin role of the cluster.
     */
    @JvmName("ehpotddffykwxood")
    public suspend fun adminGroupObjectIDs(values: List>) {
        this.adminGroupObjectIDs = Output.all(values)
    }

    /**
     * @param value (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
     */
    @JvmName("bbshyfofgvnsxtau")
    public suspend fun clientAppID(`value`: Output) {
        this.clientAppID = value
    }

    /**
     * @param value Whether to enable Azure RBAC for Kubernetes authorization.
     */
    @JvmName("xduskmrwykoeytur")
    public suspend fun enableAzureRBAC(`value`: Output) {
        this.enableAzureRBAC = value
    }

    /**
     * @param value Whether to enable managed AAD.
     */
    @JvmName("awctipewkoumdmmo")
    public suspend fun managed(`value`: Output) {
        this.managed = value
    }

    /**
     * @param value (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
     */
    @JvmName("wdvygddhacmggvgv")
    public suspend fun serverAppID(`value`: Output) {
        this.serverAppID = value
    }

    /**
     * @param value (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.
     */
    @JvmName("gvosqjmujevcehrs")
    public suspend fun serverAppSecret(`value`: Output) {
        this.serverAppSecret = value
    }

    /**
     * @param value The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.
     */
    @JvmName("efacuwgyraioypsr")
    public suspend fun tenantID(`value`: Output) {
        this.tenantID = value
    }

    /**
     * @param value The list of AAD group object IDs that will have admin role of the cluster.
     */
    @JvmName("egcpfhjmlwdayplo")
    public suspend fun adminGroupObjectIDs(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.adminGroupObjectIDs = mapped
    }

    /**
     * @param values The list of AAD group object IDs that will have admin role of the cluster.
     */
    @JvmName("tydsyvyrxyxsddev")
    public suspend fun adminGroupObjectIDs(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.adminGroupObjectIDs = mapped
    }

    /**
     * @param value (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
     */
    @JvmName("smiseayxmfvuochy")
    public suspend fun clientAppID(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.clientAppID = mapped
    }

    /**
     * @param value Whether to enable Azure RBAC for Kubernetes authorization.
     */
    @JvmName("nsgcjwxdurhkxlwv")
    public suspend fun enableAzureRBAC(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.enableAzureRBAC = mapped
    }

    /**
     * @param value Whether to enable managed AAD.
     */
    @JvmName("tirmpuuenwrwwtkt")
    public suspend fun managed(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.managed = mapped
    }

    /**
     * @param value (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
     */
    @JvmName("ccnvvavyknxteton")
    public suspend fun serverAppID(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.serverAppID = mapped
    }

    /**
     * @param value (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.
     */
    @JvmName("xdcpbtdcdufrrgqm")
    public suspend fun serverAppSecret(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.serverAppSecret = mapped
    }

    /**
     * @param value The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.
     */
    @JvmName("wkyiactrypbldura")
    public suspend fun tenantID(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tenantID = mapped
    }

    internal fun build(): ManagedClusterAADProfileArgs = ManagedClusterAADProfileArgs(
        adminGroupObjectIDs = adminGroupObjectIDs,
        clientAppID = clientAppID,
        enableAzureRBAC = enableAzureRBAC,
        managed = managed,
        serverAppID = serverAppID,
        serverAppSecret = serverAppSecret,
        tenantID = tenantID,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy