Class AwsProvider.Builder

  • All Implemented Interfaces:
    software.amazon.jsii.Builder<AwsProvider>
    Enclosing class:
    AwsProvider

    @Stability(Stable)
    public static final class AwsProvider.Builder
    extends Object
    implements software.amazon.jsii.Builder<AwsProvider>
    A fluent builder for AwsProvider.
    • Method Detail

      • create

        @Stability(Stable)
        public static AwsProvider.Builder create​(software.constructs.Construct scope,
                                                 String id)
        Parameters:
        scope - The scope in which to define this construct. This parameter is required.
        id - The scoped construct ID. This parameter is required.
        Returns:
        a new instance of AwsProvider.Builder.
      • accessKey

        @Stability(Stable)
        public AwsProvider.Builder accessKey​(String accessKey)
        The access key for API operations. You can retrieve this from the 'Security & Credentials' section of the AWS console.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#access_key AwsProvider#access_key}

        Parameters:
        accessKey - The access key for API operations. You can retrieve this from the 'Security & Credentials' section of the AWS console. This parameter is required.
        Returns:
        this
      • alias

        @Stability(Stable)
        public AwsProvider.Builder alias​(String alias)
        Alias name.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#alias AwsProvider#alias}

        Parameters:
        alias - Alias name. This parameter is required.
        Returns:
        this
      • allowedAccountIds

        @Stability(Stable)
        public AwsProvider.Builder allowedAccountIds​(List<String> allowedAccountIds)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#allowed_account_ids AwsProvider#allowed_account_ids}.

        Parameters:
        allowedAccountIds - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#allowed_account_ids AwsProvider#allowed_account_ids}. This parameter is required.
        Returns:
        this
      • assumeRole

        @Stability(Stable)
        public AwsProvider.Builder assumeRole​(com.hashicorp.cdktf.IResolvable assumeRole)
        assume_role block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#assume_role AwsProvider#assume_role}

        Parameters:
        assumeRole - assume_role block. This parameter is required.
        Returns:
        this
      • assumeRole

        @Stability(Stable)
        public AwsProvider.Builder assumeRole​(List<? extends AwsProviderAssumeRole> assumeRole)
        assume_role block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#assume_role AwsProvider#assume_role}

        Parameters:
        assumeRole - assume_role block. This parameter is required.
        Returns:
        this
      • assumeRoleWithWebIdentity

        @Stability(Stable)
        public AwsProvider.Builder assumeRoleWithWebIdentity​(com.hashicorp.cdktf.IResolvable assumeRoleWithWebIdentity)
        assume_role_with_web_identity block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#assume_role_with_web_identity AwsProvider#assume_role_with_web_identity}

        Parameters:
        assumeRoleWithWebIdentity - assume_role_with_web_identity block. This parameter is required.
        Returns:
        this
      • assumeRoleWithWebIdentity

        @Stability(Stable)
        public AwsProvider.Builder assumeRoleWithWebIdentity​(List<? extends AwsProviderAssumeRoleWithWebIdentity> assumeRoleWithWebIdentity)
        assume_role_with_web_identity block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#assume_role_with_web_identity AwsProvider#assume_role_with_web_identity}

        Parameters:
        assumeRoleWithWebIdentity - assume_role_with_web_identity block. This parameter is required.
        Returns:
        this
      • customCaBundle

        @Stability(Stable)
        public AwsProvider.Builder customCaBundle​(String customCaBundle)
        File containing custom root and intermediate certificates.

        Can also be configured using the `AWS_CA_BUNDLE` environment variable. (Setting `ca_bundle` in the shared config file is not supported.) Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#custom_ca_bundle AwsProvider#custom_ca_bundle}

        Parameters:
        customCaBundle - File containing custom root and intermediate certificates. This parameter is required.
        Returns:
        this
      • defaultTags

        @Stability(Stable)
        public AwsProvider.Builder defaultTags​(com.hashicorp.cdktf.IResolvable defaultTags)
        default_tags block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#default_tags AwsProvider#default_tags}

        Parameters:
        defaultTags - default_tags block. This parameter is required.
        Returns:
        this
      • defaultTags

        @Stability(Stable)
        public AwsProvider.Builder defaultTags​(List<? extends AwsProviderDefaultTags> defaultTags)
        default_tags block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#default_tags AwsProvider#default_tags}

        Parameters:
        defaultTags - default_tags block. This parameter is required.
        Returns:
        this
      • ec2MetadataServiceEndpoint

        @Stability(Stable)
        public AwsProvider.Builder ec2MetadataServiceEndpoint​(String ec2MetadataServiceEndpoint)
        Address of the EC2 metadata service endpoint to use. Can also be configured using the AWS_EC2_METADATA_SERVICE_ENDPOINT environment variable.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#ec2_metadata_service_endpoint AwsProvider#ec2_metadata_service_endpoint}

        Parameters:
        ec2MetadataServiceEndpoint - Address of the EC2 metadata service endpoint to use. Can also be configured using the AWS_EC2_METADATA_SERVICE_ENDPOINT environment variable. This parameter is required.
        Returns:
        this
      • ec2MetadataServiceEndpointMode

        @Stability(Stable)
        public AwsProvider.Builder ec2MetadataServiceEndpointMode​(String ec2MetadataServiceEndpointMode)
        Protocol to use with EC2 metadata service endpoint.Valid values are IPv4 and IPv6. Can also be configured using the AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE environment variable.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#ec2_metadata_service_endpoint_mode AwsProvider#ec2_metadata_service_endpoint_mode}

        Parameters:
        ec2MetadataServiceEndpointMode - Protocol to use with EC2 metadata service endpoint.Valid values are IPv4 and IPv6. Can also be configured using the AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE environment variable. This parameter is required.
        Returns:
        this
      • endpoints

        @Stability(Stable)
        public AwsProvider.Builder endpoints​(com.hashicorp.cdktf.IResolvable endpoints)
        endpoints block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#endpoints AwsProvider#endpoints}

        Parameters:
        endpoints - endpoints block. This parameter is required.
        Returns:
        this
      • endpoints

        @Stability(Stable)
        public AwsProvider.Builder endpoints​(List<? extends AwsProviderEndpoints> endpoints)
        endpoints block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#endpoints AwsProvider#endpoints}

        Parameters:
        endpoints - endpoints block. This parameter is required.
        Returns:
        this
      • forbiddenAccountIds

        @Stability(Stable)
        public AwsProvider.Builder forbiddenAccountIds​(List<String> forbiddenAccountIds)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#forbidden_account_ids AwsProvider#forbidden_account_ids}.

        Parameters:
        forbiddenAccountIds - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#forbidden_account_ids AwsProvider#forbidden_account_ids}. This parameter is required.
        Returns:
        this
      • httpProxy

        @Stability(Stable)
        public AwsProvider.Builder httpProxy​(String httpProxy)
        The address of an HTTP proxy to use when accessing the AWS API.

        Can also be configured using the `HTTP_PROXY` or `HTTPS_PROXY` environment variables. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#http_proxy AwsProvider#http_proxy}

        Parameters:
        httpProxy - The address of an HTTP proxy to use when accessing the AWS API. This parameter is required.
        Returns:
        this
      • ignoreTags

        @Stability(Stable)
        public AwsProvider.Builder ignoreTags​(com.hashicorp.cdktf.IResolvable ignoreTags)
        ignore_tags block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#ignore_tags AwsProvider#ignore_tags}

        Parameters:
        ignoreTags - ignore_tags block. This parameter is required.
        Returns:
        this
      • ignoreTags

        @Stability(Stable)
        public AwsProvider.Builder ignoreTags​(List<? extends AwsProviderIgnoreTags> ignoreTags)
        ignore_tags block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#ignore_tags AwsProvider#ignore_tags}

        Parameters:
        ignoreTags - ignore_tags block. This parameter is required.
        Returns:
        this
      • insecure

        @Stability(Stable)
        public AwsProvider.Builder insecure​(Boolean insecure)
        Explicitly allow the provider to perform "insecure" SSL requests. If omitted, default value is false.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#insecure AwsProvider#insecure}

        Parameters:
        insecure - Explicitly allow the provider to perform "insecure" SSL requests. If omitted, default value is false. This parameter is required.
        Returns:
        this
      • insecure

        @Stability(Stable)
        public AwsProvider.Builder insecure​(com.hashicorp.cdktf.IResolvable insecure)
        Explicitly allow the provider to perform "insecure" SSL requests. If omitted, default value is false.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#insecure AwsProvider#insecure}

        Parameters:
        insecure - Explicitly allow the provider to perform "insecure" SSL requests. If omitted, default value is false. This parameter is required.
        Returns:
        this
      • maxRetries

        @Stability(Stable)
        public AwsProvider.Builder maxRetries​(Number maxRetries)
        The maximum number of times an AWS API request is being executed.

        If the API request still fails, an error is thrown. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#max_retries AwsProvider#max_retries}

        Parameters:
        maxRetries - The maximum number of times an AWS API request is being executed. This parameter is required.
        Returns:
        this
      • profile

        @Stability(Stable)
        public AwsProvider.Builder profile​(String profile)
        The profile for API operations. If not set, the default profile created with aws configure will be used.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#profile AwsProvider#profile}

        Parameters:
        profile - The profile for API operations. If not set, the default profile created with aws configure will be used. This parameter is required.
        Returns:
        this
      • region

        @Stability(Stable)
        public AwsProvider.Builder region​(String region)
        The region where AWS operations will take place. Examples are us-east-1, us-west-2, etc.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#region AwsProvider#region}

        Parameters:
        region - The region where AWS operations will take place. Examples are us-east-1, us-west-2, etc. This parameter is required.
        Returns:
        this
      • retryMode

        @Stability(Stable)
        public AwsProvider.Builder retryMode​(String retryMode)
        Specifies how retries are attempted.

        Valid values are `standard` and `adaptive`. Can also be configured using the `AWS_RETRY_MODE` environment variable. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#retry_mode AwsProvider#retry_mode}

        Parameters:
        retryMode - Specifies how retries are attempted. This parameter is required.
        Returns:
        this
      • s3UsePathStyle

        @Stability(Stable)
        public AwsProvider.Builder s3UsePathStyle​(Boolean s3UsePathStyle)
        Set this to true to enable the request to use path-style addressing, i.e., https://s3.amazonaws.com/BUCKET/KEY. By default, the S3 client will use virtual hosted bucket addressing when possible (https://BUCKET.s3.amazonaws.com/KEY). Specific to the Amazon S3 service.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#s3_use_path_style AwsProvider#s3_use_path_style}

        Parameters:
        s3UsePathStyle - Set this to true to enable the request to use path-style addressing, i.e., https://s3.amazonaws.com/BUCKET/KEY. By default, the S3 client will use virtual hosted bucket addressing when possible (https://BUCKET.s3.amazonaws.com/KEY). Specific to the Amazon S3 service. This parameter is required.
        Returns:
        this
      • s3UsePathStyle

        @Stability(Stable)
        public AwsProvider.Builder s3UsePathStyle​(com.hashicorp.cdktf.IResolvable s3UsePathStyle)
        Set this to true to enable the request to use path-style addressing, i.e., https://s3.amazonaws.com/BUCKET/KEY. By default, the S3 client will use virtual hosted bucket addressing when possible (https://BUCKET.s3.amazonaws.com/KEY). Specific to the Amazon S3 service.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#s3_use_path_style AwsProvider#s3_use_path_style}

        Parameters:
        s3UsePathStyle - Set this to true to enable the request to use path-style addressing, i.e., https://s3.amazonaws.com/BUCKET/KEY. By default, the S3 client will use virtual hosted bucket addressing when possible (https://BUCKET.s3.amazonaws.com/KEY). Specific to the Amazon S3 service. This parameter is required.
        Returns:
        this
      • secretKey

        @Stability(Stable)
        public AwsProvider.Builder secretKey​(String secretKey)
        The secret key for API operations. You can retrieve this from the 'Security & Credentials' section of the AWS console.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#secret_key AwsProvider#secret_key}

        Parameters:
        secretKey - The secret key for API operations. You can retrieve this from the 'Security & Credentials' section of the AWS console. This parameter is required.
        Returns:
        this
      • sharedConfigFiles

        @Stability(Stable)
        public AwsProvider.Builder sharedConfigFiles​(List<String> sharedConfigFiles)
        List of paths to shared config files. If not set, defaults to [~/.aws/config].

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#shared_config_files AwsProvider#shared_config_files}

        Parameters:
        sharedConfigFiles - List of paths to shared config files. If not set, defaults to [~/.aws/config]. This parameter is required.
        Returns:
        this
      • sharedCredentialsFiles

        @Stability(Stable)
        public AwsProvider.Builder sharedCredentialsFiles​(List<String> sharedCredentialsFiles)
        List of paths to shared credentials files. If not set, defaults to [~/.aws/credentials].

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#shared_credentials_files AwsProvider#shared_credentials_files}

        Parameters:
        sharedCredentialsFiles - List of paths to shared credentials files. If not set, defaults to [~/.aws/credentials]. This parameter is required.
        Returns:
        this
      • skipCredentialsValidation

        @Stability(Stable)
        public AwsProvider.Builder skipCredentialsValidation​(Boolean skipCredentialsValidation)
        Skip the credentials validation via STS API. Used for AWS API implementations that do not have STS available/implemented.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#skip_credentials_validation AwsProvider#skip_credentials_validation}

        Parameters:
        skipCredentialsValidation - Skip the credentials validation via STS API. Used for AWS API implementations that do not have STS available/implemented. This parameter is required.
        Returns:
        this
      • skipCredentialsValidation

        @Stability(Stable)
        public AwsProvider.Builder skipCredentialsValidation​(com.hashicorp.cdktf.IResolvable skipCredentialsValidation)
        Skip the credentials validation via STS API. Used for AWS API implementations that do not have STS available/implemented.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#skip_credentials_validation AwsProvider#skip_credentials_validation}

        Parameters:
        skipCredentialsValidation - Skip the credentials validation via STS API. Used for AWS API implementations that do not have STS available/implemented. This parameter is required.
        Returns:
        this
      • skipMetadataApiCheck

        @Stability(Stable)
        public AwsProvider.Builder skipMetadataApiCheck​(String skipMetadataApiCheck)
        Skip the AWS Metadata API check. Used for AWS API implementations that do not have a metadata api endpoint.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#skip_metadata_api_check AwsProvider#skip_metadata_api_check}

        Parameters:
        skipMetadataApiCheck - Skip the AWS Metadata API check. Used for AWS API implementations that do not have a metadata api endpoint. This parameter is required.
        Returns:
        this
      • skipRegionValidation

        @Stability(Stable)
        public AwsProvider.Builder skipRegionValidation​(Boolean skipRegionValidation)
        Skip static validation of region name.

        Used by users of alternative AWS-like APIs or users w/ access to regions that are not public (yet). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#skip_region_validation AwsProvider#skip_region_validation}

        Parameters:
        skipRegionValidation - Skip static validation of region name. This parameter is required.
        Returns:
        this
      • skipRegionValidation

        @Stability(Stable)
        public AwsProvider.Builder skipRegionValidation​(com.hashicorp.cdktf.IResolvable skipRegionValidation)
        Skip static validation of region name.

        Used by users of alternative AWS-like APIs or users w/ access to regions that are not public (yet). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#skip_region_validation AwsProvider#skip_region_validation}

        Parameters:
        skipRegionValidation - Skip static validation of region name. This parameter is required.
        Returns:
        this
      • skipRequestingAccountId

        @Stability(Stable)
        public AwsProvider.Builder skipRequestingAccountId​(Boolean skipRequestingAccountId)
        Skip requesting the account ID. Used for AWS API implementations that do not have IAM/STS API and/or metadata API.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#skip_requesting_account_id AwsProvider#skip_requesting_account_id}

        Parameters:
        skipRequestingAccountId - Skip requesting the account ID. Used for AWS API implementations that do not have IAM/STS API and/or metadata API. This parameter is required.
        Returns:
        this
      • skipRequestingAccountId

        @Stability(Stable)
        public AwsProvider.Builder skipRequestingAccountId​(com.hashicorp.cdktf.IResolvable skipRequestingAccountId)
        Skip requesting the account ID. Used for AWS API implementations that do not have IAM/STS API and/or metadata API.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#skip_requesting_account_id AwsProvider#skip_requesting_account_id}

        Parameters:
        skipRequestingAccountId - Skip requesting the account ID. Used for AWS API implementations that do not have IAM/STS API and/or metadata API. This parameter is required.
        Returns:
        this
      • stsRegion

        @Stability(Stable)
        public AwsProvider.Builder stsRegion​(String stsRegion)
        The region where AWS STS operations will take place. Examples are us-east-1 and us-west-2.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#sts_region AwsProvider#sts_region}

        Parameters:
        stsRegion - The region where AWS STS operations will take place. Examples are us-east-1 and us-west-2. This parameter is required.
        Returns:
        this
      • token

        @Stability(Stable)
        public AwsProvider.Builder token​(String token)
        session token. A session token is only required if you are using temporary security credentials.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#token AwsProvider#token}

        Parameters:
        token - session token. A session token is only required if you are using temporary security credentials. This parameter is required.
        Returns:
        this
      • useDualstackEndpoint

        @Stability(Stable)
        public AwsProvider.Builder useDualstackEndpoint​(Boolean useDualstackEndpoint)
        Resolve an endpoint with DualStack capability.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#use_dualstack_endpoint AwsProvider#use_dualstack_endpoint}

        Parameters:
        useDualstackEndpoint - Resolve an endpoint with DualStack capability. This parameter is required.
        Returns:
        this
      • useDualstackEndpoint

        @Stability(Stable)
        public AwsProvider.Builder useDualstackEndpoint​(com.hashicorp.cdktf.IResolvable useDualstackEndpoint)
        Resolve an endpoint with DualStack capability.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#use_dualstack_endpoint AwsProvider#use_dualstack_endpoint}

        Parameters:
        useDualstackEndpoint - Resolve an endpoint with DualStack capability. This parameter is required.
        Returns:
        this
      • useFipsEndpoint

        @Stability(Stable)
        public AwsProvider.Builder useFipsEndpoint​(Boolean useFipsEndpoint)
        Resolve an endpoint with FIPS capability.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#use_fips_endpoint AwsProvider#use_fips_endpoint}

        Parameters:
        useFipsEndpoint - Resolve an endpoint with FIPS capability. This parameter is required.
        Returns:
        this
      • useFipsEndpoint

        @Stability(Stable)
        public AwsProvider.Builder useFipsEndpoint​(com.hashicorp.cdktf.IResolvable useFipsEndpoint)
        Resolve an endpoint with FIPS capability.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs#use_fips_endpoint AwsProvider#use_fips_endpoint}

        Parameters:
        useFipsEndpoint - Resolve an endpoint with FIPS capability. This parameter is required.
        Returns:
        this
      • build

        @Stability(Stable)
        public AwsProvider build()
        Specified by:
        build in interface software.amazon.jsii.Builder<AwsProvider>
        Returns:
        a newly built instance of AwsProvider.