com.hashicorp.cdktf.DataTerraformRemoteStateGcs Maven / Gradle / Ivy
Show all versions of cdktf Show documentation
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()
);
}
}
}