Interface SpannerDatabaseConfig

  • All Superinterfaces:
    software.amazon.jsii.JsiiSerializable, com.hashicorp.cdktf.TerraformMetaArguments
    All Known Implementing Classes:
    SpannerDatabaseConfig.Jsii$Proxy

    @Generated(value="jsii-pacmak/1.102.0 (build e354887)",
               date="2024-08-31T03:59:22.744Z")
    @Stability(Stable)
    public interface SpannerDatabaseConfig
    extends software.amazon.jsii.JsiiSerializable, com.hashicorp.cdktf.TerraformMetaArguments
    • Method Detail

      • getInstance

        @Stability(Stable)
        @NotNull
        String getInstance()
        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}

      • getName

        @Stability(Stable)
        @NotNull
        String getName()
        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}

      • getDatabaseDialect

        @Stability(Stable)
        @Nullable
        default String getDatabaseDialect()
        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}

      • getDdl

        @Stability(Stable)
        @Nullable
        default List<String> getDdl()
        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}

      • getDeletionProtection

        @Stability(Stable)
        @Nullable
        default Object getDeletionProtection()
        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}

      • getEnableDropProtection

        @Stability(Stable)
        @Nullable
        default Object getEnableDropProtection()
        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}

      • getEncryptionConfig

        @Stability(Stable)
        @Nullable
        default SpannerDatabaseEncryptionConfig getEncryptionConfig()
        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}

      • getId

        @Stability(Stable)
        @Nullable
        default String getId()
        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.

      • getProject

        @Stability(Stable)
        @Nullable
        default String getProject()
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/spanner_database#project SpannerDatabase#project}.
      • getTimeouts

        @Stability(Stable)
        @Nullable
        default SpannerDatabaseTimeouts getTimeouts()
        timeouts block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/spanner_database#timeouts SpannerDatabase#timeouts}

      • getVersionRetentionPeriod

        @Stability(Stable)
        @Nullable
        default String getVersionRetentionPeriod()
        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}