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

com.pulumi.azure.kotlin.ProviderArgs.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: 6.15.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.kotlin

import com.pulumi.azure.ProviderArgs.builder
import com.pulumi.azure.kotlin.inputs.ProviderFeaturesArgs
import com.pulumi.azure.kotlin.inputs.ProviderFeaturesArgsBuilder
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.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * The provider type for the azurerm package. By default, resources use package-wide configuration
 * settings, however an explicit `Provider` instance may be created and passed during resource
 * construction to achieve fine-grained programmatic control over provider settings. See the
 * [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.
 * @property auxiliaryTenantIds
 * @property clientCertificate Base64 encoded PKCS#12 certificate bundle to use when authenticating as a Service Principal using a Client Certificate
 * @property clientCertificatePassword The password associated with the Client Certificate. For use when authenticating as a Service Principal using a Client
 * Certificate
 * @property clientCertificatePath The path to the Client Certificate associated with the Service Principal for use when authenticating as a Service
 * Principal using a Client Certificate.
 * @property clientId The Client ID which should be used.
 * @property clientIdFilePath The path to a file containing the Client ID which should be used.
 * @property clientSecret The Client Secret which should be used. For use When authenticating as a Service Principal using a Client Secret.
 * @property clientSecretFilePath The path to a file containing the Client Secret which should be used. For use When authenticating as a Service Principal
 * using a Client Secret.
 * @property disableCorrelationRequestId This will disable the x-ms-correlation-request-id header.
 * @property disableTerraformPartnerId
 * @property environment The Cloud Environment which should be used. Possible values are public, usgovernment, and china. Defaults to public. Not
 * used and should not be specified when `metadata_host` is specified.
 * @property features
 * @property metadataHost The Hostname which should be used for the Azure Metadata Service.
 * @property msiEndpoint The path to a custom endpoint for Managed Service Identity - in most circumstances this should be detected
 * automatically.
 * @property oidcRequestToken The bearer token for the request to the OIDC provider. For use when authenticating as a Service Principal using OpenID
 * Connect.
 * @property oidcRequestUrl The URL for the OIDC provider from which to request an ID token. For use when authenticating as a Service Principal
 * using OpenID Connect.
 * @property oidcToken The OIDC ID token for use when authenticating as a Service Principal using OpenID Connect.
 * @property oidcTokenFilePath The path to a file containing an OIDC ID token for use when authenticating as a Service Principal using OpenID Connect.
 * @property partnerId A GUID/UUID that is registered with Microsoft to facilitate partner resource usage attribution.
 * @property skipProviderRegistration Should the AzureRM Provider skip registering all of the Resource Providers that it supports, if they're not already
 * registered?
 * @property storageUseAzuread Should the AzureRM Provider use Azure AD Authentication when accessing the Storage Data Plane APIs?
 * @property subscriptionId The Subscription ID which should be used.
 * @property tenantId The Tenant ID which should be used.
 * @property useAksWorkloadIdentity Allow Azure AKS Workload Identity to be used for Authentication.
 * @property useCli Allow Azure CLI to be used for Authentication.
 * @property useMsi Allow Managed Service Identity to be used for Authentication.
 * @property useOidc Allow OpenID Connect to be used for authentication
 */
public data class ProviderArgs(
    public val auxiliaryTenantIds: Output>? = null,
    public val clientCertificate: Output? = null,
    public val clientCertificatePassword: Output? = null,
    public val clientCertificatePath: Output? = null,
    public val clientId: Output? = null,
    public val clientIdFilePath: Output? = null,
    public val clientSecret: Output? = null,
    public val clientSecretFilePath: Output? = null,
    public val disableCorrelationRequestId: Output? = null,
    public val disableTerraformPartnerId: Output? = null,
    public val environment: Output? = null,
    public val features: Output? = null,
    public val metadataHost: Output? = null,
    public val msiEndpoint: Output? = null,
    public val oidcRequestToken: Output? = null,
    public val oidcRequestUrl: Output? = null,
    public val oidcToken: Output? = null,
    public val oidcTokenFilePath: Output? = null,
    public val partnerId: Output? = null,
    public val skipProviderRegistration: Output? = null,
    public val storageUseAzuread: Output? = null,
    public val subscriptionId: Output? = null,
    public val tenantId: Output? = null,
    public val useAksWorkloadIdentity: Output? = null,
    public val useCli: Output? = null,
    public val useMsi: Output? = null,
    public val useOidc: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.ProviderArgs = com.pulumi.azure.ProviderArgs.builder()
        .auxiliaryTenantIds(auxiliaryTenantIds?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
        .clientCertificate(clientCertificate?.applyValue({ args0 -> args0 }))
        .clientCertificatePassword(clientCertificatePassword?.applyValue({ args0 -> args0 }))
        .clientCertificatePath(clientCertificatePath?.applyValue({ args0 -> args0 }))
        .clientId(clientId?.applyValue({ args0 -> args0 }))
        .clientIdFilePath(clientIdFilePath?.applyValue({ args0 -> args0 }))
        .clientSecret(clientSecret?.applyValue({ args0 -> args0 }))
        .clientSecretFilePath(clientSecretFilePath?.applyValue({ args0 -> args0 }))
        .disableCorrelationRequestId(disableCorrelationRequestId?.applyValue({ args0 -> args0 }))
        .disableTerraformPartnerId(disableTerraformPartnerId?.applyValue({ args0 -> args0 }))
        .environment(environment?.applyValue({ args0 -> args0 }))
        .features(features?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
        .metadataHost(metadataHost?.applyValue({ args0 -> args0 }))
        .msiEndpoint(msiEndpoint?.applyValue({ args0 -> args0 }))
        .oidcRequestToken(oidcRequestToken?.applyValue({ args0 -> args0 }))
        .oidcRequestUrl(oidcRequestUrl?.applyValue({ args0 -> args0 }))
        .oidcToken(oidcToken?.applyValue({ args0 -> args0 }))
        .oidcTokenFilePath(oidcTokenFilePath?.applyValue({ args0 -> args0 }))
        .partnerId(partnerId?.applyValue({ args0 -> args0 }))
        .skipProviderRegistration(skipProviderRegistration?.applyValue({ args0 -> args0 }))
        .storageUseAzuread(storageUseAzuread?.applyValue({ args0 -> args0 }))
        .subscriptionId(subscriptionId?.applyValue({ args0 -> args0 }))
        .tenantId(tenantId?.applyValue({ args0 -> args0 }))
        .useAksWorkloadIdentity(useAksWorkloadIdentity?.applyValue({ args0 -> args0 }))
        .useCli(useCli?.applyValue({ args0 -> args0 }))
        .useMsi(useMsi?.applyValue({ args0 -> args0 }))
        .useOidc(useOidc?.applyValue({ args0 -> args0 })).build()
}

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

    private var clientCertificate: Output? = null

    private var clientCertificatePassword: Output? = null

    private var clientCertificatePath: Output? = null

    private var clientId: Output? = null

    private var clientIdFilePath: Output? = null

    private var clientSecret: Output? = null

    private var clientSecretFilePath: Output? = null

    private var disableCorrelationRequestId: Output? = null

    private var disableTerraformPartnerId: Output? = null

    private var environment: Output? = null

    private var features: Output? = null

    private var metadataHost: Output? = null

    private var msiEndpoint: Output? = null

    private var oidcRequestToken: Output? = null

    private var oidcRequestUrl: Output? = null

    private var oidcToken: Output? = null

    private var oidcTokenFilePath: Output? = null

    private var partnerId: Output? = null

    private var skipProviderRegistration: Output? = null

    private var storageUseAzuread: Output? = null

    private var subscriptionId: Output? = null

    private var tenantId: Output? = null

    private var useAksWorkloadIdentity: Output? = null

    private var useCli: Output? = null

    private var useMsi: Output? = null

    private var useOidc: Output? = null

    /**
     * @param value
     */
    @JvmName("lwyewwxcpiibvbgh")
    public suspend fun auxiliaryTenantIds(`value`: Output>) {
        this.auxiliaryTenantIds = value
    }

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

    /**
     * @param values
     */
    @JvmName("sqtmftobhrvslwto")
    public suspend fun auxiliaryTenantIds(values: List>) {
        this.auxiliaryTenantIds = Output.all(values)
    }

    /**
     * @param value Base64 encoded PKCS#12 certificate bundle to use when authenticating as a Service Principal using a Client Certificate
     */
    @JvmName("nigpjhmlbvmrjmkw")
    public suspend fun clientCertificate(`value`: Output) {
        this.clientCertificate = value
    }

    /**
     * @param value The password associated with the Client Certificate. For use when authenticating as a Service Principal using a Client
     * Certificate
     */
    @JvmName("wcbgwebdgwmqfhhn")
    public suspend fun clientCertificatePassword(`value`: Output) {
        this.clientCertificatePassword = value
    }

    /**
     * @param value The path to the Client Certificate associated with the Service Principal for use when authenticating as a Service
     * Principal using a Client Certificate.
     */
    @JvmName("pvwqqgfbylwiycmc")
    public suspend fun clientCertificatePath(`value`: Output) {
        this.clientCertificatePath = value
    }

    /**
     * @param value The Client ID which should be used.
     */
    @JvmName("bhwifypgxfwwtlup")
    public suspend fun clientId(`value`: Output) {
        this.clientId = value
    }

    /**
     * @param value The path to a file containing the Client ID which should be used.
     */
    @JvmName("husrchgrbmxrdlhu")
    public suspend fun clientIdFilePath(`value`: Output) {
        this.clientIdFilePath = value
    }

    /**
     * @param value The Client Secret which should be used. For use When authenticating as a Service Principal using a Client Secret.
     */
    @JvmName("kkqorgyujpwdtoyl")
    public suspend fun clientSecret(`value`: Output) {
        this.clientSecret = value
    }

    /**
     * @param value The path to a file containing the Client Secret which should be used. For use When authenticating as a Service Principal
     * using a Client Secret.
     */
    @JvmName("ojffyyfwlyeqhvbe")
    public suspend fun clientSecretFilePath(`value`: Output) {
        this.clientSecretFilePath = value
    }

    /**
     * @param value This will disable the x-ms-correlation-request-id header.
     */
    @JvmName("rjhriqnsbsbemwxv")
    public suspend fun disableCorrelationRequestId(`value`: Output) {
        this.disableCorrelationRequestId = value
    }

    /**
     * @param value
     */
    @JvmName("fflpghjuuumqlwrm")
    public suspend fun disableTerraformPartnerId(`value`: Output) {
        this.disableTerraformPartnerId = value
    }

    /**
     * @param value The Cloud Environment which should be used. Possible values are public, usgovernment, and china. Defaults to public. Not
     * used and should not be specified when `metadata_host` is specified.
     */
    @JvmName("npplryvvkabbtdir")
    public suspend fun environment(`value`: Output) {
        this.environment = value
    }

    /**
     * @param value
     */
    @JvmName("qhkwhwcjmxqbqevn")
    public suspend fun features(`value`: Output) {
        this.features = value
    }

    /**
     * @param value The Hostname which should be used for the Azure Metadata Service.
     */
    @JvmName("mfrtvihabrnvpoba")
    public suspend fun metadataHost(`value`: Output) {
        this.metadataHost = value
    }

    /**
     * @param value The path to a custom endpoint for Managed Service Identity - in most circumstances this should be detected
     * automatically.
     */
    @JvmName("qultaawjgooajteq")
    public suspend fun msiEndpoint(`value`: Output) {
        this.msiEndpoint = value
    }

    /**
     * @param value The bearer token for the request to the OIDC provider. For use when authenticating as a Service Principal using OpenID
     * Connect.
     */
    @JvmName("exdqnghisoievvbh")
    public suspend fun oidcRequestToken(`value`: Output) {
        this.oidcRequestToken = value
    }

    /**
     * @param value The URL for the OIDC provider from which to request an ID token. For use when authenticating as a Service Principal
     * using OpenID Connect.
     */
    @JvmName("bejahudfcgjehluv")
    public suspend fun oidcRequestUrl(`value`: Output) {
        this.oidcRequestUrl = value
    }

    /**
     * @param value The OIDC ID token for use when authenticating as a Service Principal using OpenID Connect.
     */
    @JvmName("fqymfdropmejtckw")
    public suspend fun oidcToken(`value`: Output) {
        this.oidcToken = value
    }

    /**
     * @param value The path to a file containing an OIDC ID token for use when authenticating as a Service Principal using OpenID Connect.
     */
    @JvmName("dtjsrymaujghmibc")
    public suspend fun oidcTokenFilePath(`value`: Output) {
        this.oidcTokenFilePath = value
    }

    /**
     * @param value A GUID/UUID that is registered with Microsoft to facilitate partner resource usage attribution.
     */
    @JvmName("lffmhvgqukmijjrd")
    public suspend fun partnerId(`value`: Output) {
        this.partnerId = value
    }

    /**
     * @param value Should the AzureRM Provider skip registering all of the Resource Providers that it supports, if they're not already
     * registered?
     */
    @JvmName("bhyuoqfnjvewvnfw")
    public suspend fun skipProviderRegistration(`value`: Output) {
        this.skipProviderRegistration = value
    }

    /**
     * @param value Should the AzureRM Provider use Azure AD Authentication when accessing the Storage Data Plane APIs?
     */
    @JvmName("oteutqnjcgqvwgkb")
    public suspend fun storageUseAzuread(`value`: Output) {
        this.storageUseAzuread = value
    }

    /**
     * @param value The Subscription ID which should be used.
     */
    @JvmName("dmoofwhlrpbivfpv")
    public suspend fun subscriptionId(`value`: Output) {
        this.subscriptionId = value
    }

    /**
     * @param value The Tenant ID which should be used.
     */
    @JvmName("qglsgewkpncofofg")
    public suspend fun tenantId(`value`: Output) {
        this.tenantId = value
    }

    /**
     * @param value Allow Azure AKS Workload Identity to be used for Authentication.
     */
    @JvmName("ihmdaktyhavtswmi")
    public suspend fun useAksWorkloadIdentity(`value`: Output) {
        this.useAksWorkloadIdentity = value
    }

    /**
     * @param value Allow Azure CLI to be used for Authentication.
     */
    @JvmName("qotmpqflliiqvwae")
    public suspend fun useCli(`value`: Output) {
        this.useCli = value
    }

    /**
     * @param value Allow Managed Service Identity to be used for Authentication.
     */
    @JvmName("lxqfmgrypenjcqij")
    public suspend fun useMsi(`value`: Output) {
        this.useMsi = value
    }

    /**
     * @param value Allow OpenID Connect to be used for authentication
     */
    @JvmName("lrmvcwwfxwycsjtk")
    public suspend fun useOidc(`value`: Output) {
        this.useOidc = value
    }

    /**
     * @param value
     */
    @JvmName("vvnhjsxvepshywgd")
    public suspend fun auxiliaryTenantIds(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.auxiliaryTenantIds = mapped
    }

    /**
     * @param values
     */
    @JvmName("aroesjihrsjtbkeg")
    public suspend fun auxiliaryTenantIds(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.auxiliaryTenantIds = mapped
    }

    /**
     * @param value Base64 encoded PKCS#12 certificate bundle to use when authenticating as a Service Principal using a Client Certificate
     */
    @JvmName("xyteocccyftykvic")
    public suspend fun clientCertificate(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.clientCertificate = mapped
    }

    /**
     * @param value The password associated with the Client Certificate. For use when authenticating as a Service Principal using a Client
     * Certificate
     */
    @JvmName("oofhdadwtmxddmsv")
    public suspend fun clientCertificatePassword(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.clientCertificatePassword = mapped
    }

    /**
     * @param value The path to the Client Certificate associated with the Service Principal for use when authenticating as a Service
     * Principal using a Client Certificate.
     */
    @JvmName("fwyhwhsifxyvepyb")
    public suspend fun clientCertificatePath(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.clientCertificatePath = mapped
    }

    /**
     * @param value The Client ID which should be used.
     */
    @JvmName("fxtirxshjardqdon")
    public suspend fun clientId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.clientId = mapped
    }

    /**
     * @param value The path to a file containing the Client ID which should be used.
     */
    @JvmName("axaqocakgpkoxbri")
    public suspend fun clientIdFilePath(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.clientIdFilePath = mapped
    }

    /**
     * @param value The Client Secret which should be used. For use When authenticating as a Service Principal using a Client Secret.
     */
    @JvmName("vomjaxpkxelvepxl")
    public suspend fun clientSecret(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.clientSecret = mapped
    }

    /**
     * @param value The path to a file containing the Client Secret which should be used. For use When authenticating as a Service Principal
     * using a Client Secret.
     */
    @JvmName("cdaujajkllqkdbfg")
    public suspend fun clientSecretFilePath(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.clientSecretFilePath = mapped
    }

    /**
     * @param value This will disable the x-ms-correlation-request-id header.
     */
    @JvmName("qgdpvgfqsfwvmiob")
    public suspend fun disableCorrelationRequestId(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.disableCorrelationRequestId = mapped
    }

    /**
     * @param value
     */
    @JvmName("kkngovbsqreeahyn")
    public suspend fun disableTerraformPartnerId(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.disableTerraformPartnerId = mapped
    }

    /**
     * @param value The Cloud Environment which should be used. Possible values are public, usgovernment, and china. Defaults to public. Not
     * used and should not be specified when `metadata_host` is specified.
     */
    @JvmName("jtnxewcpdjxkwpij")
    public suspend fun environment(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.environment = mapped
    }

    /**
     * @param value
     */
    @JvmName("egyslwmkymcetinc")
    public suspend fun features(`value`: ProviderFeaturesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.features = mapped
    }

    /**
     * @param argument
     */
    @JvmName("lvuuyorhpxntathi")
    public suspend fun features(argument: suspend ProviderFeaturesArgsBuilder.() -> Unit) {
        val toBeMapped = ProviderFeaturesArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.features = mapped
    }

    /**
     * @param value The Hostname which should be used for the Azure Metadata Service.
     */
    @JvmName("sbswfjwgxgecoaft")
    public suspend fun metadataHost(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.metadataHost = mapped
    }

    /**
     * @param value The path to a custom endpoint for Managed Service Identity - in most circumstances this should be detected
     * automatically.
     */
    @JvmName("yekcncrxnqgnopaa")
    public suspend fun msiEndpoint(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.msiEndpoint = mapped
    }

    /**
     * @param value The bearer token for the request to the OIDC provider. For use when authenticating as a Service Principal using OpenID
     * Connect.
     */
    @JvmName("hgvanvxbstndqncl")
    public suspend fun oidcRequestToken(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.oidcRequestToken = mapped
    }

    /**
     * @param value The URL for the OIDC provider from which to request an ID token. For use when authenticating as a Service Principal
     * using OpenID Connect.
     */
    @JvmName("rwettcodobxddnnd")
    public suspend fun oidcRequestUrl(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.oidcRequestUrl = mapped
    }

    /**
     * @param value The OIDC ID token for use when authenticating as a Service Principal using OpenID Connect.
     */
    @JvmName("meoriwrtvmsqoort")
    public suspend fun oidcToken(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.oidcToken = mapped
    }

    /**
     * @param value The path to a file containing an OIDC ID token for use when authenticating as a Service Principal using OpenID Connect.
     */
    @JvmName("haryktiycwdvocrt")
    public suspend fun oidcTokenFilePath(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.oidcTokenFilePath = mapped
    }

    /**
     * @param value A GUID/UUID that is registered with Microsoft to facilitate partner resource usage attribution.
     */
    @JvmName("rxipmyluvdrrjtbt")
    public suspend fun partnerId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.partnerId = mapped
    }

    /**
     * @param value Should the AzureRM Provider skip registering all of the Resource Providers that it supports, if they're not already
     * registered?
     */
    @JvmName("npoowwrbuccqfhdi")
    public suspend fun skipProviderRegistration(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.skipProviderRegistration = mapped
    }

    /**
     * @param value Should the AzureRM Provider use Azure AD Authentication when accessing the Storage Data Plane APIs?
     */
    @JvmName("cecladnhbpvlffqr")
    public suspend fun storageUseAzuread(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.storageUseAzuread = mapped
    }

    /**
     * @param value The Subscription ID which should be used.
     */
    @JvmName("fdwpkusheoppdjtq")
    public suspend fun subscriptionId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.subscriptionId = mapped
    }

    /**
     * @param value The Tenant ID which should be used.
     */
    @JvmName("pntkfcsbhvykkqsf")
    public suspend fun tenantId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tenantId = mapped
    }

    /**
     * @param value Allow Azure AKS Workload Identity to be used for Authentication.
     */
    @JvmName("njsbtasqofkcpxjh")
    public suspend fun useAksWorkloadIdentity(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.useAksWorkloadIdentity = mapped
    }

    /**
     * @param value Allow Azure CLI to be used for Authentication.
     */
    @JvmName("nnuqjjcviydbksox")
    public suspend fun useCli(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.useCli = mapped
    }

    /**
     * @param value Allow Managed Service Identity to be used for Authentication.
     */
    @JvmName("ltqpxaoxxtpsiyxn")
    public suspend fun useMsi(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.useMsi = mapped
    }

    /**
     * @param value Allow OpenID Connect to be used for authentication
     */
    @JvmName("yglevygfopcmbaff")
    public suspend fun useOidc(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.useOidc = mapped
    }

    internal fun build(): ProviderArgs = ProviderArgs(
        auxiliaryTenantIds = auxiliaryTenantIds,
        clientCertificate = clientCertificate,
        clientCertificatePassword = clientCertificatePassword,
        clientCertificatePath = clientCertificatePath,
        clientId = clientId,
        clientIdFilePath = clientIdFilePath,
        clientSecret = clientSecret,
        clientSecretFilePath = clientSecretFilePath,
        disableCorrelationRequestId = disableCorrelationRequestId,
        disableTerraformPartnerId = disableTerraformPartnerId,
        environment = environment,
        features = features,
        metadataHost = metadataHost,
        msiEndpoint = msiEndpoint,
        oidcRequestToken = oidcRequestToken,
        oidcRequestUrl = oidcRequestUrl,
        oidcToken = oidcToken,
        oidcTokenFilePath = oidcTokenFilePath,
        partnerId = partnerId,
        skipProviderRegistration = skipProviderRegistration,
        storageUseAzuread = storageUseAzuread,
        subscriptionId = subscriptionId,
        tenantId = tenantId,
        useAksWorkloadIdentity = useAksWorkloadIdentity,
        useCli = useCli,
        useMsi = useMsi,
        useOidc = useOidc,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy