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

com.pulumi.azure.kotlin.ProviderArgs.kt Maven / Gradle / Ivy

@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 AzureAD to access the Storage Data Plane API's?
 * @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("hqkubxhedeeihytp")
    public suspend fun auxiliaryTenantIds(`value`: Output>) {
        this.auxiliaryTenantIds = value
    }

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

    /**
     * @param values
     */
    @JvmName("ylhmxcpgckinascm")
    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("gidinmpxorlxicei")
    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("jfhuniucijjdrjua")
    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("nyxvycwuplpqqppu")
    public suspend fun clientCertificatePath(`value`: Output) {
        this.clientCertificatePath = value
    }

    /**
     * @param value The Client ID which should be used.
     */
    @JvmName("edntmrreyjtrclnf")
    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("kutstleyeixvleek")
    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("owncghotmnsncshg")
    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("siwpkuwmjgtqkujo")
    public suspend fun clientSecretFilePath(`value`: Output) {
        this.clientSecretFilePath = value
    }

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

    /**
     * @param value
     */
    @JvmName("hjcqtbhgewagrfud")
    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("cnofmfbjfbxjxirj")
    public suspend fun environment(`value`: Output) {
        this.environment = value
    }

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

    /**
     * @param value The Hostname which should be used for the Azure Metadata Service.
     */
    @JvmName("nsciarjprsobxxkj")
    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("wxuotiahumrdyesi")
    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("iupdokekqfdvwhic")
    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("emesahgmltuvofja")
    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("wgdgkojmbbmoldcn")
    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("qntjtjuisfbbfmub")
    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("rdahwqcksmmnugjr")
    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("ytexfkgexlrtinen")
    public suspend fun skipProviderRegistration(`value`: Output) {
        this.skipProviderRegistration = value
    }

    /**
     * @param value Should the AzureRM Provider use AzureAD to access the Storage Data Plane API's?
     */
    @JvmName("vodkiayqtvpdofeg")
    public suspend fun storageUseAzuread(`value`: Output) {
        this.storageUseAzuread = value
    }

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

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

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

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

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

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

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

    /**
     * @param values
     */
    @JvmName("yldyjajiqfxyckbj")
    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("ktkflshfhdjlvbdy")
    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("yccnmdoknartiwlc")
    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("hwkkgpdciohxrlke")
    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("usdvuewqwfxxdkgp")
    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("wffyktmfphyteaba")
    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("xjxqxaaqtmgixujb")
    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("lqdlxnqycouvjrfg")
    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("vpfvnfsmagbeccbq")
    public suspend fun disableCorrelationRequestId(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.disableCorrelationRequestId = mapped
    }

    /**
     * @param value
     */
    @JvmName("mlxvedyhseupglkw")
    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("laqgwlrxlcmvswhu")
    public suspend fun environment(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.environment = mapped
    }

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

    /**
     * @param argument
     */
    @JvmName("ipsbumodjmjjydvd")
    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("dlkromnwgjxbqmxc")
    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("fravbbvbrbmkthvm")
    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("kddjjluktyjcbboa")
    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("bxjabuimvuxtuond")
    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("huoipaycxwcuvabe")
    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("nguhppsewdnabcfh")
    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("cvadvyxilivjhroe")
    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("xjyronpocvjuqvqk")
    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 AzureAD to access the Storage Data Plane API's?
     */
    @JvmName("pllummtmjqierrao")
    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("aibaabiynipkiyyt")
    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("jmdiggapntrkdxtj")
    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("potghjlfhthafkxt")
    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("neretaimyybmsgms")
    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("fybeiwjgeamlsqpw")
    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("yyucxbxcdevvvedx")
    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