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

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

There is a newer version: 0.21.0-pre.141
Show newest version
package com.hashicorp.cdktf;

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

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

    protected DataTerraformRemoteStateGcs(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 DataTerraformRemoteStateGcs(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.DataTerraformRemoteStateGcsConfig 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.DataTerraformRemoteStateGcs}.
     */
    @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.DataTerraformRemoteStateGcsConfig.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.DataTerraformRemoteStateGcsConfig.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 GCS bucket.
         * 

* This name must be globally unique. *

* @return {@code this} * @param bucket (Required) The name of the GCS 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) A temporary [OAuth 2.0 access token] obtained from the Google Authorization server, i.e. the Authorization: Bearer token used to authenticate HTTP requests to GCP APIs. This is an alternative to credentials. If both are specified, access_token will be used over the credentials field. *

* @return {@code this} * @param accessToken (Optional) A temporary [OAuth 2.0 access token] obtained from the Google Authorization server, i.e. the Authorization: Bearer token used to authenticate HTTP requests to GCP APIs. This is an alternative to credentials. If both are specified, access_token will be used over the credentials field. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder accessToken(final java.lang.String accessToken) { this.config.accessToken(accessToken); return this; } /** * (experimental) (Optional) Local path to Google Cloud Platform account credentials in JSON format. *

* If unset, Google Application Default Credentials are used. * The provided credentials must have Storage Object Admin role on the bucket. *

* Warning: if using the Google Cloud Platform provider as well, * it will also pick up the GOOGLE_CREDENTIALS environment variable. *

* @return {@code this} * @param credentials (Optional) Local path to Google Cloud Platform account credentials in JSON format. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder credentials(final java.lang.String credentials) { this.config.credentials(credentials); return this; } /** * (experimental) (Optional) A 32 byte base64 encoded 'customer supplied encryption key' used to encrypt all state. *

* @return {@code this} * @param encryptionKey (Optional) A 32 byte base64 encoded 'customer supplied encryption key' used to encrypt all state. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder encryptionKey(final java.lang.String encryptionKey) { this.config.encryptionKey(encryptionKey); return this; } /** * (experimental) (Optional) The service account to impersonate for accessing the State Bucket. *

* You must have roles/iam.serviceAccountTokenCreator role on that account for the impersonation to succeed. * If you are using a delegation chain, you can specify that using the impersonate_service_account_delegates field. * Alternatively, this can be specified using the GOOGLE_IMPERSONATE_SERVICE_ACCOUNT environment variable. *

* @return {@code this} * @param impersonateServiceAccount (Optional) The service account to impersonate for accessing the State Bucket. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder impersonateServiceAccount(final java.lang.String impersonateServiceAccount) { this.config.impersonateServiceAccount(impersonateServiceAccount); return this; } /** * (experimental) (Optional) The delegation chain for an impersonating a service account. *

* @return {@code this} * @param impersonateServiceAccountDelegates (Optional) The delegation chain for an impersonating a service account. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder impersonateServiceAccountDelegates(final java.util.List impersonateServiceAccountDelegates) { this.config.impersonateServiceAccountDelegates(impersonateServiceAccountDelegates); return this; } /** * (experimental) (Optional) GCS prefix inside the bucket. *

* Named states for workspaces are stored in an object called /.tfstate. *

* @return {@code this} * @param prefix (Optional) GCS prefix inside the 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; } /** * @returns a newly built instance of {@link com.hashicorp.cdktf.DataTerraformRemoteStateGcs}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @Override public com.hashicorp.cdktf.DataTerraformRemoteStateGcs build() { return new com.hashicorp.cdktf.DataTerraformRemoteStateGcs( this.scope, this.id, this.config.build() ); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy