Class AzurermBackendConfig.Builder

java.lang.Object
com.hashicorp.cdktf.AzurermBackendConfig.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<AzurermBackendConfig>
Enclosing interface:
AzurermBackendConfig

@Stability(Experimental) public static final class AzurermBackendConfig.Builder extends Object implements software.amazon.jsii.Builder<AzurermBackendConfig>
A builder for AzurermBackendConfig
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • containerName

      @Stability(Experimental) public AzurermBackendConfig.Builder containerName(String containerName)
      Parameters:
      containerName - (Required) The Name of the Storage Container within the Storage Account. This parameter is required.
      Returns:
      this
    • key

      @Stability(Experimental) public AzurermBackendConfig.Builder key(String key)
      Parameters:
      key - (Required) The name of the Blob used to retrieve/store Terraform's State file inside the Storage Container. This parameter is required.
      Returns:
      this
    • storageAccountName

      @Stability(Experimental) public AzurermBackendConfig.Builder storageAccountName(String storageAccountName)
      Parameters:
      storageAccountName - (Required) The Name of the Storage Account. This parameter is required.
      Returns:
      this
    • accessKey

      @Stability(Experimental) public AzurermBackendConfig.Builder accessKey(String accessKey)
      Parameters:
      accessKey - access_key - (Optional) The Access Key used to access the Blob Storage Account. This can also be sourced from the ARM_ACCESS_KEY environment variable.
      Returns:
      this
    • clientCertificatePassword

      @Stability(Experimental) public AzurermBackendConfig.Builder clientCertificatePassword(String clientCertificatePassword)
      Parameters:
      clientCertificatePassword - (Optional) The password associated with the Client Certificate specified in client_certificate_path. This can also be sourced from the ARM_CLIENT_CERTIFICATE_PASSWORD environment variable.
      Returns:
      this
    • clientCertificatePath

      @Stability(Experimental) public AzurermBackendConfig.Builder clientCertificatePath(String clientCertificatePath)
      Parameters:
      clientCertificatePath - (Optional) The path to the PFX file used as the Client Certificate when authenticating as a Service Principal. This can also be sourced from the ARM_CLIENT_CERTIFICATE_PATH environment variable.
      Returns:
      this
    • clientId

      @Stability(Experimental) public AzurermBackendConfig.Builder clientId(String clientId)
      Parameters:
      clientId - (Optional) The Client ID of the Service Principal. This can also be sourced from the ARM_CLIENT_ID environment variable.
      Returns:
      this
    • clientSecret

      @Stability(Experimental) public AzurermBackendConfig.Builder clientSecret(String clientSecret)
      Parameters:
      clientSecret - (Optional) The Client Secret of the Service Principal. This can also be sourced from the ARM_CLIENT_SECRET environment variable.
      Returns:
      this
    • endpoint

      @Stability(Experimental) public AzurermBackendConfig.Builder endpoint(String endpoint)
      Parameters:
      endpoint - (Optional) The Custom Endpoint for Azure Resource Manager. This can also be sourced from the ARM_ENDPOINT environment variable. NOTE: An endpoint should only be configured when using Azure Stack.
      Returns:
      this
    • environment

      @Stability(Experimental) public AzurermBackendConfig.Builder environment(String environment)
      Parameters:
      environment - (Optional) The Azure Environment which should be used. This can also be sourced from the ARM_ENVIRONMENT environment variable. Possible values are public, china, german, stack and usgovernment. Defaults to public.
      Returns:
      this
    • metadataHost

      @Stability(Experimental) public AzurermBackendConfig.Builder metadataHost(String metadataHost)
      Parameters:
      metadataHost - (Optional) The Hostname of the Azure Metadata Service (for example management.azure.com), used to obtain the Cloud Environment when using a Custom Azure Environment. This can also be sourced from the ARM_METADATA_HOSTNAME Environment Variable.).
      Returns:
      this
    • msiEndpoint

      @Stability(Experimental) public AzurermBackendConfig.Builder msiEndpoint(String msiEndpoint)
      Parameters:
      msiEndpoint - (Optional) The path to a custom Managed Service Identity endpoint which is automatically determined if not specified. This can also be sourced from the ARM_MSI_ENDPOINT environment variable.
      Returns:
      this
    • oidcRequestToken

      @Stability(Experimental) public AzurermBackendConfig.Builder oidcRequestToken(String oidcRequestToken)
      Parameters:
      oidcRequestToken - (Optional) The bearer token for the request to the OIDC provider. This can also be sourced from the ARM_OIDC_REQUEST_TOKEN or ACTIONS_ID_TOKEN_REQUEST_TOKEN environment variables.
      Returns:
      this
    • oidcRequestUrl

      @Stability(Experimental) public AzurermBackendConfig.Builder oidcRequestUrl(String oidcRequestUrl)
      Parameters:
      oidcRequestUrl - (Optional) The URL for the OIDC provider from which to request an ID token. This can also be sourced from the ARM_OIDC_REQUEST_URL or ACTIONS_ID_TOKEN_REQUEST_URL environment variables.
      Returns:
      this
    • oidcToken

      @Stability(Experimental) public AzurermBackendConfig.Builder oidcToken(String oidcToken)
      Parameters:
      oidcToken - (Optional) The ID token when authenticating using OpenID Connect (OIDC). This can also be sourced from the ARM_OIDC_TOKEN environment variable.
      Returns:
      this
    • oidcTokenFilePath

      @Stability(Experimental) public AzurermBackendConfig.Builder oidcTokenFilePath(String oidcTokenFilePath)
      Parameters:
      oidcTokenFilePath - (Optional) The path to a file containing an ID token when authenticating using OpenID Connect (OIDC). This can also be sourced from the ARM_OIDC_TOKEN_FILE_PATH environment variable.
      Returns:
      this
    • resourceGroupName

      @Stability(Experimental) public AzurermBackendConfig.Builder resourceGroupName(String resourceGroupName)
      Parameters:
      resourceGroupName - (Required) The Name of the Resource Group in which the Storage Account exists.
      Returns:
      this
    • sasToken

      @Stability(Experimental) public AzurermBackendConfig.Builder sasToken(String sasToken)
      Parameters:
      sasToken - (Optional) The SAS Token used to access the Blob Storage Account. This can also be sourced from the ARM_SAS_TOKEN environment variable.
      Returns:
      this
    • snapshot

      @Stability(Experimental) public AzurermBackendConfig.Builder snapshot(Boolean snapshot)
      Parameters:
      snapshot - (Optional) Should the Blob used to store the Terraform Statefile be snapshotted before use?. Defaults to false. This value can also be sourced from the ARM_SNAPSHOT environment variable.
      Returns:
      this
    • subscriptionId

      @Stability(Experimental) public AzurermBackendConfig.Builder subscriptionId(String subscriptionId)
      Parameters:
      subscriptionId - (Optional) The Subscription ID in which the Storage Account exists. This can also be sourced from the ARM_SUBSCRIPTION_ID environment variable.
      Returns:
      this
    • tenantId

      @Stability(Experimental) public AzurermBackendConfig.Builder tenantId(String tenantId)
      Parameters:
      tenantId - (Optional) The Tenant ID in which the Subscription exists. This can also be sourced from the ARM_TENANT_ID environment variable.
      Returns:
      this
    • useAzureadAuth

      @Stability(Experimental) public AzurermBackendConfig.Builder useAzureadAuth(Boolean useAzureadAuth)
      Parameters:
      useAzureadAuth - (Optional) Should AzureAD Authentication be used to access the Blob Storage Account. This can also be sourced from the ARM_USE_AZUREAD environment variable.

      Note: When using AzureAD for Authentication to Storage you also need to ensure the Storage Blob Data Owner role is assigned.

      Returns:
      this
    • useMicrosoftGraph

      @Stability(Experimental) public AzurermBackendConfig.Builder useMicrosoftGraph(Boolean useMicrosoftGraph)
      Parameters:
      useMicrosoftGraph - (Optional) Should MSAL be used for authentication instead of ADAL, and should Microsoft Graph be used instead of Azure Active Directory Graph?. Defaults to true.

      Note: In Terraform 1.2 the Azure Backend uses MSAL (and Microsoft Graph) rather than ADAL (and Azure Active Directory Graph) for authentication by default - you can disable this by setting use_microsoft_graph to false. This setting will be removed in Terraform 1.3, due to Microsoft's deprecation of ADAL.

      Returns:
      this
    • useMsi

      @Stability(Experimental) public AzurermBackendConfig.Builder useMsi(Boolean useMsi)
      Parameters:
      useMsi - (Optional) Should Managed Service Identity authentication be used?. This can also be sourced from the ARM_USE_MSI environment variable.
      Returns:
      this
    • useOidc

      @Stability(Experimental) public AzurermBackendConfig.Builder useOidc(Boolean useOidc)
      Parameters:
      useOidc - (Optional) Should OIDC authentication be used? This can also be sourced from the ARM_USE_OIDC environment variable. Note: When using OIDC for authentication, use_microsoft_graph must be set to true (which is the default).
      Returns:
      this
    • build

      @Stability(Experimental) public AzurermBackendConfig build()
      Builds the configured instance.
      Specified by:
      build in interface software.amazon.jsii.Builder<AzurermBackendConfig>
      Returns:
      a new instance of AzurermBackendConfig
      Throws:
      NullPointerException - if any required attribute was not provided