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

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

package com.hashicorp.cdktf;

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

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

    protected OssBackend(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 OssBackend(final @org.jetbrains.annotations.NotNull software.constructs.Construct scope, final @org.jetbrains.annotations.NotNull com.hashicorp.cdktf.OssBackendConfig 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.OssBackend}. */ @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.OssBackendConfig.Builder props; private Builder(final software.constructs.Construct scope) { this.scope = scope; this.props = new com.hashicorp.cdktf.OssBackendConfig.Builder(); } /** * (experimental) (Required) The name of the OSS bucket. *

* @return {@code this} * @param bucket (Required) The name of the OSS 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) (Optional) Alibaba Cloud access key. *

* It supports environment variables ALICLOUD_ACCESS_KEY and ALICLOUD_ACCESS_KEY_ID. *

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

* @return {@code this} * @param acl (Optional) Object 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; } /** * @return {@code this} * @deprecated Use flattened assume role options * @param assumeRole This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder assumeRole(final com.hashicorp.cdktf.OssAssumeRole assumeRole) { this.props.assumeRole(assumeRole); return this; } /** * (experimental) (Optional, Available in 1.1.0+) A more restrictive policy to apply to the temporary credentials. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use this policy to grant permissions that exceed those of the role that is being assumed. *

* @return {@code this} * @param assumeRolePolicy (Optional, Available in 1.1.0+) A more restrictive policy to apply to the temporary credentials. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use this policy to grant permissions that exceed those of the role that is being assumed. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder assumeRolePolicy(final java.lang.String assumeRolePolicy) { this.props.assumeRolePolicy(assumeRolePolicy); return this; } /** * (experimental) (Optional, Available in 1.1.0+) The ARN of the role to assume. If ARN is set to an empty string, it does not perform role switching. It supports the environment variable ALICLOUD_ASSUME_ROLE_ARN. Terraform executes configuration on account with provided credentials. *

* @return {@code this} * @param assumeRoleRoleArn (Optional, Available in 1.1.0+) The ARN of the role to assume. If ARN is set to an empty string, it does not perform role switching. It supports the environment variable ALICLOUD_ASSUME_ROLE_ARN. Terraform executes configuration on account with provided credentials. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder assumeRoleRoleArn(final java.lang.String assumeRoleRoleArn) { this.props.assumeRoleRoleArn(assumeRoleRoleArn); return this; } /** * (experimental) (Optional, Available in 1.1.0+) The time after which the established session for assuming role expires. Valid value range: [900-3600] seconds. Default to 3600 (in this case Alibaba Cloud uses its own default value). It supports environment variable ALICLOUD_ASSUME_ROLE_SESSION_EXPIRATION. *

* @return {@code this} * @param assumeRoleSessionExpiration (Optional, Available in 1.1.0+) The time after which the established session for assuming role expires. Valid value range: [900-3600] seconds. Default to 3600 (in this case Alibaba Cloud uses its own default value). It supports environment variable ALICLOUD_ASSUME_ROLE_SESSION_EXPIRATION. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder assumeRoleSessionExpiration(final java.lang.Number assumeRoleSessionExpiration) { this.props.assumeRoleSessionExpiration(assumeRoleSessionExpiration); return this; } /** * (experimental) (Optional, Available in 1.1.0+) The session name to use when assuming the role. If omitted, 'terraform' is passed to the AssumeRole call as session name. It supports environment variable ALICLOUD_ASSUME_ROLE_SESSION_NAME. *

* @return {@code this} * @param assumeRoleSessionName (Optional, Available in 1.1.0+) The session name to use when assuming the role. If omitted, 'terraform' is passed to the AssumeRole call as session name. It supports environment variable ALICLOUD_ASSUME_ROLE_SESSION_NAME. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder assumeRoleSessionName(final java.lang.String assumeRoleSessionName) { this.props.assumeRoleSessionName(assumeRoleSessionName); return this; } /** * (experimental) (Optional, Available in 0.12.14+) The RAM Role Name attached on a ECS instance for API operations. You can retrieve this from the 'Access Control' section of the Alibaba Cloud console. *

* @return {@code this} * @param ecsRoleName (Optional, Available in 0.12.14+) The RAM Role Name attached on a ECS instance for API operations. You can retrieve this from the 'Access Control' section of the Alibaba Cloud console. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder ecsRoleName(final java.lang.String ecsRoleName) { this.props.ecsRoleName(ecsRoleName); return this; } /** * (experimental) (Optional) Whether to enable server side encryption of the state file. *

* If it is true, OSS will use 'AES256' encryption algorithm to encrypt state file. *

* @return {@code this} * @param encrypt (Optional) Whether to 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; } /** * (experimental) (Optional) A custom endpoint for the OSS API. *

* It supports environment variables ALICLOUD_OSS_ENDPOINT and OSS_ENDPOINT. *

* @return {@code this} * @param endpoint (Optional) A custom endpoint for the OSS API. 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 name of the state file. *

* Defaults to terraform.tfstate. *

* @return {@code this} * @param key (Optional) The name of the state file. 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) The path directory of the state file will be stored. *

* Default to "env:". *

* @return {@code this} * @param prefix (Optional) The path directory of the state file will be stored. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder prefix(final java.lang.String prefix) { this.props.prefix(prefix); return this; } /** * (experimental) (Optional, Available in 0.12.8+) This is the Alibaba Cloud profile name as set in the shared credentials file. It can also be sourced from the ALICLOUD_PROFILE environment variable. *

* @return {@code this} * @param profile (Optional, Available in 0.12.8+) This is the Alibaba Cloud profile name as set in the shared credentials file. It can also be sourced from the ALICLOUD_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) (Optional) The region of the OSS bucket. *

* It supports environment variables ALICLOUD_REGION and ALICLOUD_DEFAULT_REGION. *

* @return {@code this} * @param region (Optional) The region of the OSS bucket. 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) Alibaba Cloud secret access key. *

* It supports environment variables ALICLOUD_SECRET_KEY and ALICLOUD_ACCESS_KEY_SECRET. *

* @return {@code this} * @param secretKey (Optional) Alibaba Cloud 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; } /** * (experimental) (Optional) STS access token. *

* It supports environment variable ALICLOUD_SECURITY_TOKEN. *

* @return {@code this} * @param securityToken (Optional) STS access token. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder securityToken(final java.lang.String securityToken) { this.props.securityToken(securityToken); return this; } /** * (experimental) (Optional, Available in 0.12.8+) This is the path to the shared credentials file. It can also be sourced from the ALICLOUD_SHARED_CREDENTIALS_FILE environment variable. If this is not set and a profile is specified, ~/.aliyun/config.json will be used. *

* @return {@code this} * @param sharedCredentialsFile (Optional, Available in 0.12.8+) This is the path to the shared credentials file. It can also be sourced from the ALICLOUD_SHARED_CREDENTIALS_FILE environment variable. If this is not set and a profile is specified, ~/.aliyun/config.json will be used. 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, Available in 1.0.11+) Custom endpoint for the AliCloud Security Token Service (STS) API. It supports environment variable ALICLOUD_STS_ENDPOINT. *

* @return {@code this} * @param stsEndpoint (Optional, Available in 1.0.11+) Custom endpoint for the AliCloud Security Token Service (STS) API. It supports environment variable ALICLOUD_STS_ENDPOINT. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder stsEndpoint(final java.lang.String stsEndpoint) { this.props.stsEndpoint(stsEndpoint); return this; } /** * (experimental) (Optional) A custom endpoint for the TableStore API. *

* @return {@code this} * @param tablestoreEndpoint (Optional) A custom endpoint for the TableStore API. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder tablestoreEndpoint(final java.lang.String tablestoreEndpoint) { this.props.tablestoreEndpoint(tablestoreEndpoint); return this; } /** * (experimental) (Optional) A TableStore table for state locking and consistency. *

* The table must have a primary key named LockID of type String. *

* @return {@code this} * @param tablestoreTable (Optional) A TableStore table for state locking and consistency. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder tablestoreTable(final java.lang.String tablestoreTable) { this.props.tablestoreTable(tablestoreTable); return this; } /** * @return a newly built instance of {@link com.hashicorp.cdktf.OssBackend}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @Override public com.hashicorp.cdktf.OssBackend build() { return new com.hashicorp.cdktf.OssBackend( this.scope, this.props.build() ); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy