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

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

package com.hashicorp.cdktf;

/**
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.79.0 (build b22f628)", date = "2023-07-26T11:31:27.502Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@software.amazon.jsii.Jsii(module = com.hashicorp.cdktf.$Module.class, fqn = "cdktf.DataTerraformRemoteStateCos")
public class DataTerraformRemoteStateCos extends com.hashicorp.cdktf.TerraformRemoteState {

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

    protected DataTerraformRemoteStateCos(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
        super(initializationMode);
    }

    /**
     * @param scope This parameter is required.
     * @param id This parameter is required.
     * @param config This parameter is required.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    public DataTerraformRemoteStateCos(final @org.jetbrains.annotations.NotNull software.constructs.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.NotNull com.hashicorp.cdktf.DataTerraformRemoteStateCosConfig config) {
        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(id, "id is required"), java.util.Objects.requireNonNull(config, "config is required") });
    }

    /**
     * (experimental) A fluent builder for {@link com.hashicorp.cdktf.DataTerraformRemoteStateCos}.
     */
    @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.
         * @param id This parameter is required.
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public static Builder create(final software.constructs.Construct scope, final java.lang.String id) {
            return new Builder(scope, id);
        }

        private final software.constructs.Construct scope;
        private final java.lang.String id;
        private final com.hashicorp.cdktf.DataTerraformRemoteStateCosConfig.Builder config;

        private Builder(final software.constructs.Construct scope, final java.lang.String id) {
            this.scope = scope;
            this.id = id;
            this.config = new com.hashicorp.cdktf.DataTerraformRemoteStateCosConfig.Builder();
        }

        /**
         * @return {@code this}
         * @param defaults This parameter is required.
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder defaults(final java.util.Map defaults) {
            this.config.defaults(defaults);
            return this;
        }

        /**
         * @return {@code this}
         * @param workspace This parameter is required.
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder workspace(final java.lang.String workspace) {
            this.config.workspace(workspace);
            return this;
        }

        /**
         * (experimental) (Required) The name of the COS bucket.
         * 

* You shall manually create it first. *

* @return {@code this} * @param bucket (Required) The name of the COS bucket. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder bucket(final java.lang.String bucket) { this.config.bucket(bucket); return this; } /** * (experimental) (Optional) Object ACL to be applied to the state file, allows private and public-read. *

* Defaults to private. *

* @return {@code this} * @param acl (Optional) Object ACL to be applied to the state file, allows private and public-read. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder acl(final java.lang.String acl) { this.config.acl(acl); return this; } /** * (experimental) (Optional) Whether to enable server side encryption of the state file. *

* If it is true, COS 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.config.encrypt(encrypt); return this; } /** * (experimental) (Optional) The path for saving the state file in bucket. *

* Defaults to terraform.tfstate. *

* @return {@code this} * @param key (Optional) The path for saving the state file in bucket. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder key(final java.lang.String key) { this.config.key(key); return this; } /** * (experimental) (Optional) The directory for saving the state file in bucket. *

* Default to "env:". *

* @return {@code this} * @param prefix (Optional) The directory for saving the state file in bucket. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder prefix(final java.lang.String prefix) { this.config.prefix(prefix); return this; } /** * (experimental) (Optional) The region of the COS bucket. *

* It supports environment variables TENCENTCLOUD_REGION. *

* @return {@code this} * @param region (Optional) The region of the COS bucket. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder region(final java.lang.String region) { this.config.region(region); return this; } /** * (experimental) (Optional) Secret id of Tencent Cloud. *

* It supports environment variables TENCENTCLOUD_SECRET_ID. *

* @return {@code this} * @param secretId (Optional) Secret id of Tencent Cloud. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder secretId(final java.lang.String secretId) { this.config.secretId(secretId); return this; } /** * (experimental) (Optional) Secret key of Tencent Cloud. *

* It supports environment variables TENCENTCLOUD_SECRET_KEY. *

* @return {@code this} * @param secretKey (Optional) Secret key of Tencent Cloud. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder secretKey(final java.lang.String secretKey) { this.config.secretKey(secretKey); return this; } /** * @returns a newly built instance of {@link com.hashicorp.cdktf.DataTerraformRemoteStateCos}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @Override public com.hashicorp.cdktf.DataTerraformRemoteStateCos build() { return new com.hashicorp.cdktf.DataTerraformRemoteStateCos( this.scope, this.id, this.config.build() ); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy