com.hashicorp.cdktf.AzurermBackend Maven / Gradle / Ivy
Show all versions of cdktf Show documentation
package com.hashicorp.cdktf;
/**
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.102.0 (build e354887)", date = "2024-09-23T09:16:36.871Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@software.amazon.jsii.Jsii(module = com.hashicorp.cdktf.$Module.class, fqn = "cdktf.AzurermBackend")
public class AzurermBackend extends com.hashicorp.cdktf.TerraformBackend {
protected AzurermBackend(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected AzurermBackend(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
/**
* @param scope This parameter is required.
* @param props This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public AzurermBackend(final @org.jetbrains.annotations.NotNull software.constructs.Construct scope, final @org.jetbrains.annotations.NotNull com.hashicorp.cdktf.AzurermBackendConfig props) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(props, "props is required") });
}
/**
* (experimental) Creates a TerraformRemoteState resource that accesses this backend.
*
* @param scope This parameter is required.
* @param name This parameter is required.
* @param _fromStack This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
public @org.jetbrains.annotations.NotNull com.hashicorp.cdktf.TerraformRemoteState getRemoteStateDataSource(final @org.jetbrains.annotations.NotNull software.constructs.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String name, final @org.jetbrains.annotations.NotNull java.lang.String _fromStack) {
return software.amazon.jsii.Kernel.call(this, "getRemoteStateDataSource", software.amazon.jsii.NativeType.forClass(com.hashicorp.cdktf.TerraformRemoteState.class), new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(name, "name is required"), java.util.Objects.requireNonNull(_fromStack, "_fromStack is required") });
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
protected @org.jetbrains.annotations.NotNull java.util.Map synthesizeAttributes() {
return java.util.Collections.unmodifiableMap(software.amazon.jsii.Kernel.call(this, "synthesizeAttributes", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class))));
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
protected @org.jetbrains.annotations.NotNull java.util.Map synthesizeHclAttributes() {
return java.util.Collections.unmodifiableMap(software.amazon.jsii.Kernel.call(this, "synthesizeHclAttributes", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class))));
}
/**
* (experimental) A fluent builder for {@link com.hashicorp.cdktf.AzurermBackend}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public static final class Builder implements software.amazon.jsii.Builder {
/**
* @return a new instance of {@link Builder}.
* @param scope This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public static Builder create(final software.constructs.Construct scope) {
return new Builder(scope);
}
private final software.constructs.Construct scope;
private final com.hashicorp.cdktf.AzurermBackendConfig.Builder props;
private Builder(final software.constructs.Construct scope) {
this.scope = scope;
this.props = new com.hashicorp.cdktf.AzurermBackendConfig.Builder();
}
/**
* (experimental) (Required) The Name of the Storage Container within the Storage Account.
*
* @return {@code this}
* @param containerName (Required) The Name of the Storage Container within the Storage Account. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder containerName(final java.lang.String containerName) {
this.props.containerName(containerName);
return this;
}
/**
* (experimental) (Required) The name of the Blob used to retrieve/store Terraform's State file inside the Storage Container.
*
* @return {@code this}
* @param key (Required) The name of the Blob used to retrieve/store Terraform's State file inside the Storage Container. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder key(final java.lang.String key) {
this.props.key(key);
return this;
}
/**
* (experimental) (Required) The Name of the Storage Account.
*
* @return {@code this}
* @param storageAccountName (Required) The Name of the Storage Account. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder storageAccountName(final java.lang.String storageAccountName) {
this.props.storageAccountName(storageAccountName);
return this;
}
/**
* (experimental) 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.
*
* @return {@code this}
* @param accessKey access_key - (Optional) The Access Key used to access the Blob Storage Account. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder accessKey(final java.lang.String accessKey) {
this.props.accessKey(accessKey);
return this;
}
/**
* (experimental) (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.
*
* @return {@code this}
* @param clientCertificatePassword (Optional) The password associated with the Client Certificate specified in client_certificate_path. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder clientCertificatePassword(final java.lang.String clientCertificatePassword) {
this.props.clientCertificatePassword(clientCertificatePassword);
return this;
}
/**
* (experimental) (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.
*
* @return {@code this}
* @param clientCertificatePath (Optional) The path to the PFX file used as the Client Certificate when authenticating as a Service Principal. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder clientCertificatePath(final java.lang.String clientCertificatePath) {
this.props.clientCertificatePath(clientCertificatePath);
return this;
}
/**
* (experimental) (Optional) The Client ID of the Service Principal.
*
* This can also be sourced from the ARM_CLIENT_ID environment variable.
*
* @return {@code this}
* @param clientId (Optional) The Client ID of the Service Principal. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder clientId(final java.lang.String clientId) {
this.props.clientId(clientId);
return this;
}
/**
* (experimental) (Optional) The Client Secret of the Service Principal.
*
* This can also be sourced from the ARM_CLIENT_SECRET environment variable.
*
* @return {@code this}
* @param clientSecret (Optional) The Client Secret of the Service Principal. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder clientSecret(final java.lang.String clientSecret) {
this.props.clientSecret(clientSecret);
return this;
}
/**
* (experimental) (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.
*
* @return {@code this}
* @param endpoint (Optional) The Custom Endpoint for Azure Resource Manager. This can also be sourced from the ARM_ENDPOINT environment variable. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder endpoint(final java.lang.String endpoint) {
this.props.endpoint(endpoint);
return this;
}
/**
* (experimental) (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.
*
* @return {@code this}
* @param environment (Optional) The Azure Environment which should be used. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder environment(final java.lang.String environment) {
this.props.environment(environment);
return this;
}
/**
* (experimental) (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.).
*
* @return {@code this}
* @param 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.). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder metadataHost(final java.lang.String metadataHost) {
this.props.metadataHost(metadataHost);
return this;
}
/**
* (experimental) (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.
*
* @return {@code this}
* @param msiEndpoint (Optional) The path to a custom Managed Service Identity endpoint which is automatically determined if not specified. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder msiEndpoint(final java.lang.String msiEndpoint) {
this.props.msiEndpoint(msiEndpoint);
return this;
}
/**
* (experimental) (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.
*
* @return {@code this}
* @param oidcRequestToken (Optional) The bearer token for the request to the OIDC provider. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder oidcRequestToken(final java.lang.String oidcRequestToken) {
this.props.oidcRequestToken(oidcRequestToken);
return this;
}
/**
* (experimental) (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.
*
* @return {@code this}
* @param oidcRequestUrl (Optional) The URL for the OIDC provider from which to request an ID token. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder oidcRequestUrl(final java.lang.String oidcRequestUrl) {
this.props.oidcRequestUrl(oidcRequestUrl);
return this;
}
/**
* (experimental) (Optional) The ID token when authenticating using OpenID Connect (OIDC).
*
* This can also be sourced from the ARM_OIDC_TOKEN environment variable.
*
* @return {@code this}
* @param oidcToken (Optional) The ID token when authenticating using OpenID Connect (OIDC). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder oidcToken(final java.lang.String oidcToken) {
this.props.oidcToken(oidcToken);
return this;
}
/**
* (experimental) (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.
*
* @return {@code this}
* @param oidcTokenFilePath (Optional) The path to a file containing an ID token when authenticating using OpenID Connect (OIDC). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder oidcTokenFilePath(final java.lang.String oidcTokenFilePath) {
this.props.oidcTokenFilePath(oidcTokenFilePath);
return this;
}
/**
* (experimental) (Required) The Name of the Resource Group in which the Storage Account exists.
*
* @return {@code this}
* @param resourceGroupName (Required) The Name of the Resource Group in which the Storage Account exists. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder resourceGroupName(final java.lang.String resourceGroupName) {
this.props.resourceGroupName(resourceGroupName);
return this;
}
/**
* (experimental) (Optional) The SAS Token used to access the Blob Storage Account.
*
* This can also be sourced from the ARM_SAS_TOKEN environment variable.
*
* @return {@code this}
* @param sasToken (Optional) The SAS Token used to access the Blob Storage Account. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder sasToken(final java.lang.String sasToken) {
this.props.sasToken(sasToken);
return this;
}
/**
* (experimental) (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.
*
* @return {@code this}
* @param snapshot (Optional) Should the Blob used to store the Terraform Statefile be snapshotted before use?. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder snapshot(final java.lang.Boolean snapshot) {
this.props.snapshot(snapshot);
return this;
}
/**
* (experimental) (Optional) The Subscription ID in which the Storage Account exists.
*
* This can also be sourced from the ARM_SUBSCRIPTION_ID environment variable.
*
* @return {@code this}
* @param subscriptionId (Optional) The Subscription ID in which the Storage Account exists. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder subscriptionId(final java.lang.String subscriptionId) {
this.props.subscriptionId(subscriptionId);
return this;
}
/**
* (experimental) (Optional) The Tenant ID in which the Subscription exists.
*
* This can also be sourced from the ARM_TENANT_ID environment variable.
*
* @return {@code this}
* @param tenantId (Optional) The Tenant ID in which the Subscription exists. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder tenantId(final java.lang.String tenantId) {
this.props.tenantId(tenantId);
return this;
}
/**
* (experimental) (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.
*
* @return {@code this}
* @param useAzureadAuth (Optional) Should AzureAD Authentication be used to access the Blob Storage Account. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder useAzureadAuth(final java.lang.Boolean useAzureadAuth) {
this.props.useAzureadAuth(useAzureadAuth);
return this;
}
/**
* (experimental) (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.
*
* @return {@code this}
* @param useMicrosoftGraph (Optional) Should MSAL be used for authentication instead of ADAL, and should Microsoft Graph be used instead of Azure Active Directory Graph?. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder useMicrosoftGraph(final java.lang.Boolean useMicrosoftGraph) {
this.props.useMicrosoftGraph(useMicrosoftGraph);
return this;
}
/**
* (experimental) (Optional) Should Managed Service Identity authentication be used?
*
* This can also be sourced from the ARM_USE_MSI environment variable.
*
* @return {@code this}
* @param useMsi (Optional) Should Managed Service Identity authentication be used?. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder useMsi(final java.lang.Boolean useMsi) {
this.props.useMsi(useMsi);
return this;
}
/**
* (experimental) (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).
*
* @return {@code this}
* @param useOidc (Optional) Should OIDC authentication be used? This can also be sourced from the ARM_USE_OIDC environment variable. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder useOidc(final java.lang.Boolean useOidc) {
this.props.useOidc(useOidc);
return this;
}
/**
* @return a newly built instance of {@link com.hashicorp.cdktf.AzurermBackend}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
public com.hashicorp.cdktf.AzurermBackend build() {
return new com.hashicorp.cdktf.AzurermBackend(
this.scope,
this.props.build()
);
}
}
}