Class SpannerDatabase.Builder
- java.lang.Object
-
- com.hashicorp.cdktf.providers.google.spanner_database.SpannerDatabase.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<SpannerDatabase>
- Enclosing class:
- SpannerDatabase
@Stability(Stable) public static final class SpannerDatabase.Builder extends Object implements software.amazon.jsii.Builder<SpannerDatabase>
A fluent builder forSpannerDatabase.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description SpannerDatabasebuild()SpannerDatabase.Builderconnection(com.hashicorp.cdktf.SSHProvisionerConnection connection)SpannerDatabase.Builderconnection(com.hashicorp.cdktf.WinrmProvisionerConnection connection)SpannerDatabase.Buildercount(com.hashicorp.cdktf.TerraformCount count)SpannerDatabase.Buildercount(Number count)static SpannerDatabase.Buildercreate(software.constructs.Construct scope, String id)SpannerDatabase.BuilderdatabaseDialect(String databaseDialect)The dialect of the Cloud Spanner Database.SpannerDatabase.Builderddl(List<String> ddl)An optional list of DDL statements to run inside the newly created database.SpannerDatabase.BuilderdeletionProtection(com.hashicorp.cdktf.IResolvable deletionProtection)Whether Terraform will be prevented from destroying the database.SpannerDatabase.BuilderdeletionProtection(Boolean deletionProtection)Whether Terraform will be prevented from destroying the database.SpannerDatabase.BuilderdependsOn(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)SpannerDatabase.BuilderenableDropProtection(com.hashicorp.cdktf.IResolvable enableDropProtection)Whether drop protection is enabled for this database.SpannerDatabase.BuilderenableDropProtection(Boolean enableDropProtection)Whether drop protection is enabled for this database.SpannerDatabase.BuilderencryptionConfig(SpannerDatabaseEncryptionConfig encryptionConfig)encryption_config block.SpannerDatabase.BuilderforEach(com.hashicorp.cdktf.ITerraformIterator forEach)SpannerDatabase.Builderid(String id)Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/spanner_database#id SpannerDatabase#id}.SpannerDatabase.Builderinstance(String instance)The instance to create the database on.SpannerDatabase.Builderlifecycle(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)SpannerDatabase.Buildername(String name)A unique identifier for the database, which cannot be changed after the instance is created.SpannerDatabase.Builderproject(String project)Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/spanner_database#project SpannerDatabase#project}.SpannerDatabase.Builderprovider(com.hashicorp.cdktf.TerraformProvider provider)SpannerDatabase.Builderprovisioners(List<? extends Object> provisioners)SpannerDatabase.Buildertimeouts(SpannerDatabaseTimeouts timeouts)timeouts block.SpannerDatabase.BuilderversionRetentionPeriod(String versionRetentionPeriod)The retention period for the database.
-
-
-
Method Detail
-
create
@Stability(Stable) public static SpannerDatabase.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
SpannerDatabase.Builder.
-
connection
@Stability(Experimental) public SpannerDatabase.Builder connection(com.hashicorp.cdktf.SSHProvisionerConnection connection)
- Parameters:
connection- This parameter is required.- Returns:
this
-
connection
@Stability(Experimental) public SpannerDatabase.Builder connection(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
- Parameters:
connection- This parameter is required.- Returns:
this
-
count
@Stability(Experimental) public SpannerDatabase.Builder count(Number count)
- Parameters:
count- This parameter is required.- Returns:
this
-
count
@Stability(Experimental) public SpannerDatabase.Builder count(com.hashicorp.cdktf.TerraformCount count)
- Parameters:
count- This parameter is required.- Returns:
this
-
dependsOn
@Stability(Experimental) public SpannerDatabase.Builder dependsOn(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
- Parameters:
dependsOn- This parameter is required.- Returns:
this
-
forEach
@Stability(Experimental) public SpannerDatabase.Builder forEach(com.hashicorp.cdktf.ITerraformIterator forEach)
- Parameters:
forEach- This parameter is required.- Returns:
this
-
lifecycle
@Stability(Experimental) public SpannerDatabase.Builder lifecycle(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
- Parameters:
lifecycle- This parameter is required.- Returns:
this
-
provider
@Stability(Experimental) public SpannerDatabase.Builder provider(com.hashicorp.cdktf.TerraformProvider provider)
- Parameters:
provider- This parameter is required.- Returns:
this
-
provisioners
@Stability(Experimental) public SpannerDatabase.Builder provisioners(List<? extends Object> provisioners)
- Parameters:
provisioners- This parameter is required.- Returns:
this
-
instance
@Stability(Stable) public SpannerDatabase.Builder instance(String instance)
The instance to create the database on.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/spanner_database#instance SpannerDatabase#instance}
- Parameters:
instance- The instance to create the database on. This parameter is required.- Returns:
this
-
name
@Stability(Stable) public SpannerDatabase.Builder name(String name)
A unique identifier for the database, which cannot be changed after the instance is created.Values are of the form [a-z][-a-z0-9]*[a-z0-9]. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/spanner_database#name SpannerDatabase#name}
- Parameters:
name- A unique identifier for the database, which cannot be changed after the instance is created. This parameter is required.- Returns:
this
-
databaseDialect
@Stability(Stable) public SpannerDatabase.Builder databaseDialect(String databaseDialect)
The dialect of the Cloud Spanner Database. If it is not provided, "GOOGLE_STANDARD_SQL" will be used. Possible values: ["GOOGLE_STANDARD_SQL", "POSTGRESQL"].Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/spanner_database#database_dialect SpannerDatabase#database_dialect}
- Parameters:
databaseDialect- The dialect of the Cloud Spanner Database. If it is not provided, "GOOGLE_STANDARD_SQL" will be used. Possible values: ["GOOGLE_STANDARD_SQL", "POSTGRESQL"]. This parameter is required.- Returns:
this
-
ddl
@Stability(Stable) public SpannerDatabase.Builder ddl(List<String> ddl)
An optional list of DDL statements to run inside the newly created database.Statements can create tables, indexes, etc. These statements execute atomically with the creation of the database: if there is an error in any statement, the database is not created. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/spanner_database#ddl SpannerDatabase#ddl}
- Parameters:
ddl- An optional list of DDL statements to run inside the newly created database. This parameter is required.- Returns:
this
-
deletionProtection
@Stability(Stable) public SpannerDatabase.Builder deletionProtection(Boolean deletionProtection)
Whether Terraform will be prevented from destroying the database.Defaults to true. When a'terraform destroy' or 'terraform apply' would delete the database, the command will fail if this field is not set to false in Terraform state. When the field is set to true or unset in Terraform state, a 'terraform apply' or 'terraform destroy' that would delete the database will fail. When the field is set to false, deleting the database is allowed. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/spanner_database#deletion_protection SpannerDatabase#deletion_protection}
- Parameters:
deletionProtection- Whether Terraform will be prevented from destroying the database. This parameter is required.- Returns:
this
-
deletionProtection
@Stability(Stable) public SpannerDatabase.Builder deletionProtection(com.hashicorp.cdktf.IResolvable deletionProtection)
Whether Terraform will be prevented from destroying the database.Defaults to true. When a'terraform destroy' or 'terraform apply' would delete the database, the command will fail if this field is not set to false in Terraform state. When the field is set to true or unset in Terraform state, a 'terraform apply' or 'terraform destroy' that would delete the database will fail. When the field is set to false, deleting the database is allowed. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/spanner_database#deletion_protection SpannerDatabase#deletion_protection}
- Parameters:
deletionProtection- Whether Terraform will be prevented from destroying the database. This parameter is required.- Returns:
this
-
enableDropProtection
@Stability(Stable) public SpannerDatabase.Builder enableDropProtection(Boolean enableDropProtection)
Whether drop protection is enabled for this database.Defaults to false. Drop protection is different from the "deletion_protection" attribute in the following ways: (1) "deletion_protection" only protects the database from deletions in Terraform. whereas setting “enableDropProtection” to true protects the database from deletions in all interfaces. (2) Setting "enableDropProtection" to true also prevents the deletion of the parent instance containing the database. "deletion_protection" attribute does not provide protection against the deletion of the parent instance. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/spanner_database#enable_drop_protection SpannerDatabase#enable_drop_protection}
- Parameters:
enableDropProtection- Whether drop protection is enabled for this database. This parameter is required.- Returns:
this
-
enableDropProtection
@Stability(Stable) public SpannerDatabase.Builder enableDropProtection(com.hashicorp.cdktf.IResolvable enableDropProtection)
Whether drop protection is enabled for this database.Defaults to false. Drop protection is different from the "deletion_protection" attribute in the following ways: (1) "deletion_protection" only protects the database from deletions in Terraform. whereas setting “enableDropProtection” to true protects the database from deletions in all interfaces. (2) Setting "enableDropProtection" to true also prevents the deletion of the parent instance containing the database. "deletion_protection" attribute does not provide protection against the deletion of the parent instance. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/spanner_database#enable_drop_protection SpannerDatabase#enable_drop_protection}
- Parameters:
enableDropProtection- Whether drop protection is enabled for this database. This parameter is required.- Returns:
this
-
encryptionConfig
@Stability(Stable) public SpannerDatabase.Builder encryptionConfig(SpannerDatabaseEncryptionConfig encryptionConfig)
encryption_config block.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/spanner_database#encryption_config SpannerDatabase#encryption_config}
- Parameters:
encryptionConfig- encryption_config block. This parameter is required.- Returns:
this
-
id
@Stability(Stable) public SpannerDatabase.Builder id(String id)
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/spanner_database#id SpannerDatabase#id}.Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
- Parameters:
id- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/spanner_database#id SpannerDatabase#id}. This parameter is required.- Returns:
this
-
project
@Stability(Stable) public SpannerDatabase.Builder project(String project)
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/spanner_database#project SpannerDatabase#project}.- Parameters:
project- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/spanner_database#project SpannerDatabase#project}. This parameter is required.- Returns:
this
-
timeouts
@Stability(Stable) public SpannerDatabase.Builder timeouts(SpannerDatabaseTimeouts timeouts)
timeouts block.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/spanner_database#timeouts SpannerDatabase#timeouts}
- Parameters:
timeouts- timeouts block. This parameter is required.- Returns:
this
-
versionRetentionPeriod
@Stability(Stable) public SpannerDatabase.Builder versionRetentionPeriod(String versionRetentionPeriod)
The retention period for the database.The retention period must be between 1 hour and 7 days, and can be specified in days, hours, minutes, or seconds. For example, the values 1d, 24h, 1440m, and 86400s are equivalent. Default value is 1h. If this property is used, you must avoid adding new DDL statements to 'ddl' that update the database's version_retention_period. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/spanner_database#version_retention_period SpannerDatabase#version_retention_period}
- Parameters:
versionRetentionPeriod- The retention period for the database. This parameter is required.- Returns:
this
-
build
@Stability(Stable) public SpannerDatabase build()
- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<SpannerDatabase>- Returns:
- a newly built instance of
SpannerDatabase.
-
-