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

com.hashicorp.cdktf.S3Backend Maven / Gradle / Ivy

package com.hashicorp.cdktf;

/**
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.98.0 (build 00b106d)", date = "2024-05-27T11:46:32.229Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@software.amazon.jsii.Jsii(module = com.hashicorp.cdktf.$Module.class, fqn = "cdktf.S3Backend")
public class S3Backend extends com.hashicorp.cdktf.TerraformBackend {

    protected S3Backend(final software.amazon.jsii.JsiiObjectRef objRef) {
        super(objRef);
    }

    protected S3Backend(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 S3Backend(final @org.jetbrains.annotations.NotNull software.constructs.Construct scope, final @org.jetbrains.annotations.NotNull com.hashicorp.cdktf.S3BackendConfig 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.S3Backend}. */ @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.S3BackendConfig.Builder props; private Builder(final software.constructs.Construct scope) { this.scope = scope; this.props = new com.hashicorp.cdktf.S3BackendConfig.Builder(); } /** * (experimental) Name of the S3 Bucket. *

* @return {@code this} * @param bucket Name of the S3 Bucket. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder bucket(final java.lang.String bucket) { this.props.bucket(bucket); return this; } /** * (experimental) Path to the state file inside the S3 Bucket. *

* When using a non-default workspace, the state path will be /workspace_key_prefix/workspace_name/key *

* @return {@code this} * @param key Path to the state file inside the S3 Bucket. 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) (Optional) AWS access key. *

* If configured, must also configure secret_key. * This can also be sourced from * the AWS_ACCESS_KEY_ID environment variable, * AWS shared credentials file (e.g. ~/.aws/credentials), * or AWS shared configuration file (e.g. ~/.aws/config). *

* @return {@code this} * @param accessKey (Optional) AWS access key. 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) Canned ACL to be applied to the state file. *

* @return {@code this} * @param acl (Optional) Canned ACL to be applied to the state file. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder acl(final java.lang.String acl) { this.props.acl(acl); return this; } /** * (experimental) (Optional) List of allowed AWS account IDs to prevent potential destruction of a live environment. *

* Conflicts with forbidden_account_ids. *

* @return {@code this} * @param allowedAccountIds (Optional) List of allowed AWS account IDs to prevent potential destruction of a live environment. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder allowedAccountIds(final java.lang.String allowedAccountIds) { this.props.allowedAccountIds(allowedAccountIds); return this; } /** * (experimental) Assuming an IAM Role can be configured in two ways. *

* The preferred way is to use the argument assume_role, the other, which is deprecated, is with arguments at the top level. *

* @return {@code this} * @param assumeRole Assuming an IAM Role can be configured in two ways. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder assumeRole(final com.hashicorp.cdktf.S3BackendAssumeRoleConfig assumeRole) { this.props.assumeRole(assumeRole); return this; } /** * (deprecated) (Optional) IAM Policy JSON describing further restricting permissions for the IAM Role being assumed. *

* @return {@code this} * @deprecated Use assumeRole.policy instead. * @param assumeRolePolicy (Optional) IAM Policy JSON describing further restricting permissions for the IAM Role being assumed. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder assumeRolePolicy(final java.lang.String assumeRolePolicy) { this.props.assumeRolePolicy(assumeRolePolicy); return this; } /** * (deprecated) (Optional) Set of Amazon Resource Names (ARNs) of IAM Policies describing further restricting permissions for the IAM Role being assumed. *

* @return {@code this} * @deprecated Use assumeRole.policyArns instead. * @param assumeRolePolicyArns (Optional) Set of Amazon Resource Names (ARNs) of IAM Policies describing further restricting permissions for the IAM Role being assumed. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder assumeRolePolicyArns(final java.util.List assumeRolePolicyArns) { this.props.assumeRolePolicyArns(assumeRolePolicyArns); return this; } /** * (deprecated) (Optional) Map of assume role session tags. *

* @return {@code this} * @deprecated Use assumeRole.tags instead. * @param assumeRoleTags (Optional) Map of assume role session tags. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder assumeRoleTags(final java.util.Map assumeRoleTags) { this.props.assumeRoleTags(assumeRoleTags); return this; } /** * (deprecated) (Optional) Set of assume role session tag keys to pass to any subsequent sessions. *

* @return {@code this} * @deprecated Use assumeRole.transitiveTagKeys instead. * @param assumeRoleTransitiveTagKeys (Optional) Set of assume role session tag keys to pass to any subsequent sessions. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder assumeRoleTransitiveTagKeys(final java.util.List assumeRoleTransitiveTagKeys) { this.props.assumeRoleTransitiveTagKeys(assumeRoleTransitiveTagKeys); return this; } /** * (experimental) Assume Role With Web Identity Configuration. *

* @return {@code this} * @param assumeRoleWithWebIdentity Assume Role With Web Identity Configuration. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder assumeRoleWithWebIdentity(final com.hashicorp.cdktf.S3BackendAssumeRoleWithWebIdentityConfig assumeRoleWithWebIdentity) { this.props.assumeRoleWithWebIdentity(assumeRoleWithWebIdentity); return this; } /** * (experimental) (Optional) File containing custom root and intermediate certificates. *

* Can also be set using the AWS_CA_BUNDLE environment variable. * Setting ca_bundle in the shared config file is not supported. *

* @return {@code this} * @param customCaBundle (Optional) File containing custom root and intermediate certificates. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder customCaBundle(final java.lang.String customCaBundle) { this.props.customCaBundle(customCaBundle); return this; } /** * (deprecated) (Optional) Custom endpoint for the AWS DynamoDB API. *

* This can also be sourced from the AWS_DYNAMODB_ENDPOINT environment variable. *

* @return {@code this} * @deprecated Use endpoints.dynamodb instead * @param dynamodbEndpoint (Optional) Custom endpoint for the AWS DynamoDB API. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder dynamodbEndpoint(final java.lang.String dynamodbEndpoint) { this.props.dynamodbEndpoint(dynamodbEndpoint); return this; } /** * (experimental) (Optional) Name of DynamoDB Table to use for state locking and consistency. *

* The table must have a partition key named LockID with type of String. * If not configured, state locking will be disabled. *

* @return {@code this} * @param dynamodbTable (Optional) Name of DynamoDB Table to use for state locking and consistency. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder dynamodbTable(final java.lang.String dynamodbTable) { this.props.dynamodbTable(dynamodbTable); return this; } /** * (experimental) Optional) Custom endpoint URL for the EC2 Instance Metadata Service (IMDS) API. *

* Can also be set with the AWS_EC2_METADATA_SERVICE_ENDPOINT environment variable. *

* @return {@code this} * @param ec2MetadataServiceEndpoint Optional) Custom endpoint URL for the EC2 Instance Metadata Service (IMDS) API. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder ec2MetadataServiceEndpoint(final java.lang.String ec2MetadataServiceEndpoint) { this.props.ec2MetadataServiceEndpoint(ec2MetadataServiceEndpoint); return this; } /** * (experimental) (Optional) Mode to use in communicating with the metadata service. *

* Valid values are IPv4 and IPv6. * Can also be set with the AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE environment variable. *

* @return {@code this} * @param ec2MetadataServiceEndpointMode (Optional) Mode to use in communicating with the metadata service. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder ec2MetadataServiceEndpointMode(final java.lang.String ec2MetadataServiceEndpointMode) { this.props.ec2MetadataServiceEndpointMode(ec2MetadataServiceEndpointMode); return this; } /** * (experimental) (Optional) Enable server side encryption of the state file. *

* @return {@code this} * @param encrypt (Optional) Enable server side encryption of the state file. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder encrypt(final java.lang.Boolean encrypt) { this.props.encrypt(encrypt); return this; } /** * (deprecated) (Optional) Custom endpoint for the AWS S3 API. *

* This can also be sourced from the AWS_S3_ENDPOINT environment variable. *

* @return {@code this} * @deprecated Use endpoints.s3 instead * @param endpoint (Optional) Custom endpoint for the AWS S3 API. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder endpoint(final java.lang.String endpoint) { this.props.endpoint(endpoint); return this; } /** * (experimental) (Optional) The endpoint configuration block. *

* @return {@code this} * @param endpoints (Optional) The endpoint configuration block. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder endpoints(final com.hashicorp.cdktf.S3BackendEndpointConfig endpoints) { this.props.endpoints(endpoints); return this; } /** * (deprecated) (Optional) External identifier to use when assuming the role. *

* @return {@code this} * @deprecated Use assume_role.external_id instead. * @param externalId (Optional) External identifier to use when assuming the role. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder externalId(final java.lang.String externalId) { this.props.externalId(externalId); return this; } /** * (experimental) (Optional) List of forbidden AWS account IDs to prevent potential destruction of a live environment. *

* Conflicts with allowed_account_ids. *

* @return {@code this} * @param forbiddenAccountIds (Optional) List of forbidden AWS account IDs to prevent potential destruction of a live environment. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder forbiddenAccountIds(final java.lang.String forbiddenAccountIds) { this.props.forbiddenAccountIds(forbiddenAccountIds); return this; } /** * (deprecated) (Optional) Enable path-style S3 URLs (https:/// instead of https://.). *

* @return {@code this} * @deprecated Use usePathStyle instead * @param forcePathStyle (Optional) Enable path-style S3 URLs (https:/// instead of https://.). This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder forcePathStyle(final java.lang.Boolean forcePathStyle) { this.props.forcePathStyle(forcePathStyle); return this; } /** * (experimental) (Optional) URL of a proxy to use for HTTP requests when accessing the AWS API. *

* Can also be set using the HTTP_PROXY or http_proxy environment variables. *

* @return {@code this} * @param httpProxy (Optional) URL of a proxy to use for HTTP requests when accessing the AWS API. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder httpProxy(final java.lang.String httpProxy) { this.props.httpProxy(httpProxy); return this; } /** * (experimental) (Optional) URL of a proxy to use for HTTPS requests when accessing the AWS API. *

* Can also be set using the HTTPS_PROXY or https_proxy environment variables. *

* @return {@code this} * @param httpsProxy (Optional) URL of a proxy to use for HTTPS requests when accessing the AWS API. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder httpsProxy(final java.lang.String httpsProxy) { this.props.httpsProxy(httpsProxy); return this; } /** * (deprecated) (Optional) Custom endpoint for the AWS Identity and Access Management (IAM) API. *

* This can also be sourced from the AWS_IAM_ENDPOINT environment variable. *

* @return {@code this} * @deprecated Use endpoints.iam instead * @param iamEndpoint (Optional) Custom endpoint for the AWS Identity and Access Management (IAM) API. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder iamEndpoint(final java.lang.String iamEndpoint) { this.props.iamEndpoint(iamEndpoint); return this; } /** * (experimental) Optional) Whether to explicitly allow the backend to perform "insecure" SSL requests. *

* If omitted, the default value is false. *

* @return {@code this} * @param insecure Optional) Whether to explicitly allow the backend to perform "insecure" SSL requests. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder insecure(final java.lang.Boolean insecure) { this.props.insecure(insecure); return this; } /** * (experimental) (Optional) Amazon Resource Name (ARN) of a Key Management Service (KMS) Key to use for encrypting the state. *

* Note that if this value is specified, * Terraform will need kms:Encrypt, kms:Decrypt and kms:GenerateDataKey permissions on this KMS key. *

* @return {@code this} * @param kmsKeyId (Optional) Amazon Resource Name (ARN) of a Key Management Service (KMS) Key to use for encrypting the state. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder kmsKeyId(final java.lang.String kmsKeyId) { this.props.kmsKeyId(kmsKeyId); return this; } /** * (experimental) (Optional) The maximum number of times an AWS API request is retried on retryable failure. *

* Defaults to 5. *

* @return {@code this} * @param maxRetries (Optional) The maximum number of times an AWS API request is retried on retryable failure. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder maxRetries(final java.lang.Number maxRetries) { this.props.maxRetries(maxRetries); return this; } /** * (experimental) (Optional) Comma-separated list of hosts that should not use HTTP or HTTPS proxies. *

* Each value can be one of: *

*

    *
  • A domain name
  • *
  • An IP address
  • *
  • A CIDR address
  • *
  • An asterisk (*), to indicate that no proxying should be performed Domain name and IP address values can also include a port number. * Can also be set using the NO_PROXY or no_proxy environment variables.
  • *
*

* @return {@code this} * @param noProxy (Optional) Comma-separated list of hosts that should not use HTTP or HTTPS proxies. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder noProxy(final java.lang.String noProxy) { this.props.noProxy(noProxy); return this; } /** * (experimental) (Optional) Name of AWS profile in AWS shared credentials file (e.g. ~/.aws/credentials) or AWS shared configuration file (e.g. ~/.aws/config) to use for credentials and/or configuration. This can also be sourced from the AWS_PROFILE environment variable. *

* @return {@code this} * @param profile (Optional) Name of AWS profile in AWS shared credentials file (e.g. ~/.aws/credentials) or AWS shared configuration file (e.g. ~/.aws/config) to use for credentials and/or configuration. This can also be sourced from the AWS_PROFILE environment variable. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder profile(final java.lang.String profile) { this.props.profile(profile); return this; } /** * (experimental) AWS Region of the S3 Bucket and DynamoDB Table (if used). *

* This can also * be sourced from the AWS_DEFAULT_REGION and AWS_REGION environment * variables. *

* @return {@code this} * @param region AWS Region of the S3 Bucket and DynamoDB Table (if used). This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder region(final java.lang.String region) { this.props.region(region); return this; } /** * (experimental) (Optional) Specifies how retries are attempted. *

* Valid values are standard and adaptive. * Can also be configured using the AWS_RETRY_MODE environment variable or the shared config file parameter retry_mode. *

* @return {@code this} * @param retryMode (Optional) Specifies how retries are attempted. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder retryMode(final java.lang.String retryMode) { this.props.retryMode(retryMode); return this; } /** * (deprecated) (Optional) Amazon Resource Name (ARN) of the IAM Role to assume. *

* @return {@code this} * @deprecated Use assumeRole.roleArn instead. * @param roleArn (Optional) Amazon Resource Name (ARN) of the IAM Role to assume. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder roleArn(final java.lang.String roleArn) { this.props.roleArn(roleArn); return this; } /** * (experimental) (Optional) AWS secret access key. *

* If configured, must also configure access_key. * This can also be sourced from * the AWS_SECRET_ACCESS_KEY environment variable, * AWS shared credentials file (e.g. ~/.aws/credentials), * or AWS shared configuration file (e.g. ~/.aws/config) *

* @return {@code this} * @param secretKey (Optional) AWS secret access key. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder secretKey(final java.lang.String secretKey) { this.props.secretKey(secretKey); return this; } /** * (deprecated) (Optional) Session name to use when assuming the role. *

* @return {@code this} * @deprecated Use assumeRole.sessionName instead. * @param sessionName (Optional) Session name to use when assuming the role. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder sessionName(final java.lang.String sessionName) { this.props.sessionName(sessionName); return this; } /** * (experimental) (Optional) List of paths to AWS shared configuration files. *

* Defaults to ~/.aws/config. *

* @return {@code this} * @param sharedConfigFiles (Optional) List of paths to AWS shared configuration files. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder sharedConfigFiles(final java.util.List sharedConfigFiles) { this.props.sharedConfigFiles(sharedConfigFiles); return this; } /** * (experimental) (Optional) Path to the AWS shared credentials file. *

* Defaults to ~/.aws/credentials. *

* @return {@code this} * @param sharedCredentialsFile (Optional) Path to the AWS shared credentials file. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder sharedCredentialsFile(final java.lang.String sharedCredentialsFile) { this.props.sharedCredentialsFile(sharedCredentialsFile); return this; } /** * (experimental) (Optional) List of paths to AWS shared credentials files. *

* Defaults to ~/.aws/credentials. *

* @return {@code this} * @param sharedCredentialsFiles (Optional) List of paths to AWS shared credentials files. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder sharedCredentialsFiles(final java.util.List sharedCredentialsFiles) { this.props.sharedCredentialsFiles(sharedCredentialsFiles); return this; } /** * (experimental) (Optional) Skip credentials validation via the STS API. *

* @return {@code this} * @param skipCredentialsValidation (Optional) Skip credentials validation via the STS API. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder skipCredentialsValidation(final java.lang.Boolean skipCredentialsValidation) { this.props.skipCredentialsValidation(skipCredentialsValidation); return this; } /** * (experimental) (Optional) Skip usage of EC2 Metadata API. *

* @return {@code this} * @param skipMetadataApiCheck (Optional) Skip usage of EC2 Metadata API. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder skipMetadataApiCheck(final java.lang.Boolean skipMetadataApiCheck) { this.props.skipMetadataApiCheck(skipMetadataApiCheck); return this; } /** * (experimental) (Optional) Skip validation of provided region name. *

* @return {@code this} * @param skipRegionValidation (Optional) Skip validation of provided region name. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder skipRegionValidation(final java.lang.Boolean skipRegionValidation) { this.props.skipRegionValidation(skipRegionValidation); return this; } /** * (experimental) (Optional) Whether to skip requesting the account ID. *

* Useful for AWS API implementations that do not have the IAM, STS API, or metadata API. *

* @return {@code this} * @param skipRequestingAccountId (Optional) Whether to skip requesting the account ID. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder skipRequestingAccountId(final java.lang.Boolean skipRequestingAccountId) { this.props.skipRequestingAccountId(skipRequestingAccountId); return this; } /** * (experimental) (Optional) Do not include checksum when uploading S3 Objects. *

* Useful for some S3-Compatible APIs. *

* @return {@code this} * @param skipS3Checksum (Optional) Do not include checksum when uploading S3 Objects. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder skipS3Checksum(final java.lang.Boolean skipS3Checksum) { this.props.skipS3Checksum(skipS3Checksum); return this; } /** * (experimental) (Optional) The key to use for encrypting state with Server-Side Encryption with Customer-Provided Keys (SSE-C). *

* This is the base64-encoded value of the key, which must decode to 256 bits. * This can also be sourced from the AWS_SSE_CUSTOMER_KEY environment variable, * which is recommended due to the sensitivity of the value. * Setting it inside a terraform file will cause it to be persisted to disk in terraform.tfstate. *

* @return {@code this} * @param sseCustomerKey (Optional) The key to use for encrypting state with Server-Side Encryption with Customer-Provided Keys (SSE-C). This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder sseCustomerKey(final java.lang.String sseCustomerKey) { this.props.sseCustomerKey(sseCustomerKey); return this; } /** * (deprecated) (Optional) Custom endpoint for the AWS Security Token Service (STS) API. *

* This can also be sourced from the AWS_STS_ENDPOINT environment variable. *

* @return {@code this} * @deprecated Use endpoints.sts instead * @param stsEndpoint (Optional) Custom endpoint for the AWS Security Token Service (STS) API. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder stsEndpoint(final java.lang.String stsEndpoint) { this.props.stsEndpoint(stsEndpoint); return this; } /** * (experimental) (Optional) AWS region for STS. *

* If unset, AWS will use the same region for STS as other non-STS operations. *

* @return {@code this} * @param stsRegion (Optional) AWS region for STS. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder stsRegion(final java.lang.String stsRegion) { this.props.stsRegion(stsRegion); return this; } /** * (experimental) (Optional) Multi-Factor Authentication (MFA) token. *

* This can also be sourced from the AWS_SESSION_TOKEN environment variable. *

* @return {@code this} * @param token (Optional) Multi-Factor Authentication (MFA) token. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder token(final java.lang.String token) { this.props.token(token); return this; } /** * (experimental) (Optional) Use the legacy authentication workflow, preferring environment variables over backend configuration. *

* Defaults to true. * This behavior does not align with the authentication flow of the AWS CLI or SDK's, and will be removed in the future. *

* @return {@code this} * @param useLegacyWorkflow (Optional) Use the legacy authentication workflow, preferring environment variables over backend configuration. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder useLegacyWorkflow(final java.lang.Boolean useLegacyWorkflow) { this.props.useLegacyWorkflow(useLegacyWorkflow); return this; } /** * (experimental) (Optional) Enable path-style S3 URLs (https:/// instead of https://.). *

* @return {@code this} * @param usePathStyle (Optional) Enable path-style S3 URLs (https:/// instead of https://.). This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder usePathStyle(final java.lang.Boolean usePathStyle) { this.props.usePathStyle(usePathStyle); return this; } /** * (experimental) (Optional) Prefix applied to the state path inside the bucket. *

* This is only relevant when using a non-default workspace. Defaults to env: *

* @return {@code this} * @param workspaceKeyPrefix (Optional) Prefix applied to the state path inside the bucket. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder workspaceKeyPrefix(final java.lang.String workspaceKeyPrefix) { this.props.workspaceKeyPrefix(workspaceKeyPrefix); return this; } /** * @return a newly built instance of {@link com.hashicorp.cdktf.S3Backend}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @Override public com.hashicorp.cdktf.S3Backend build() { return new com.hashicorp.cdktf.S3Backend( this.scope, this.props.build() ); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy