Skip to content

Files

Latest commit

 

History

History
2496 lines (1601 loc) · 107 KB

spannerDatabase.python.md

File metadata and controls

2496 lines (1601 loc) · 107 KB

spannerDatabase Submodule

Constructs

SpannerDatabase

Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.37.0/docs/resources/spanner_database google_spanner_database}.

Initializers

from cdktf_cdktf_provider_google import spanner_database

spannerDatabase.SpannerDatabase(
  scope: Construct,
  id: str,
  connection: typing.Union[SSHProvisionerConnection, WinrmProvisionerConnection] = None,
  count: typing.Union[typing.Union[int, float], TerraformCount] = None,
  depends_on: typing.List[ITerraformDependable] = None,
  for_each: ITerraformIterator = None,
  lifecycle: TerraformResourceLifecycle = None,
  provider: TerraformProvider = None,
  provisioners: typing.List[typing.Union[FileProvisioner, LocalExecProvisioner, RemoteExecProvisioner]] = None,
  instance: str,
  name: str,
  database_dialect: str = None,
  ddl: typing.List[str] = None,
  default_time_zone: str = None,
  deletion_protection: typing.Union[bool, IResolvable] = None,
  enable_drop_protection: typing.Union[bool, IResolvable] = None,
  encryption_config: SpannerDatabaseEncryptionConfig = None,
  id: str = None,
  project: str = None,
  timeouts: SpannerDatabaseTimeouts = None,
  version_retention_period: str = None
)
Name Type Description
scope constructs.Construct The scope in which to define this construct.
id str The scoped construct ID.
connection typing.Union[cdktf.SSHProvisionerConnection, cdktf.WinrmProvisionerConnection] No description.
count typing.Union[typing.Union[int, float], cdktf.TerraformCount] No description.
depends_on typing.List[cdktf.ITerraformDependable] No description.
for_each cdktf.ITerraformIterator No description.
lifecycle cdktf.TerraformResourceLifecycle No description.
provider cdktf.TerraformProvider No description.
provisioners typing.List[typing.Union[cdktf.FileProvisioner, cdktf.LocalExecProvisioner, cdktf.RemoteExecProvisioner]] No description.
instance str The instance to create the database on.
name str A unique identifier for the database, which cannot be changed after the instance is created.
database_dialect str The dialect of the Cloud Spanner Database. If it is not provided, "GOOGLE_STANDARD_SQL" will be used. Possible values: ["GOOGLE_STANDARD_SQL", "POSTGRESQL"].
ddl typing.List[str] An optional list of DDL statements to run inside the database. Statements can create tables, indexes, etc.
default_time_zone str The default time zone for the database.
deletion_protection typing.Union[bool, cdktf.IResolvable] Whether Terraform will be prevented from destroying the database.
enable_drop_protection typing.Union[bool, cdktf.IResolvable] Whether drop protection is enabled for this database.
encryption_config SpannerDatabaseEncryptionConfig encryption_config block.
id str Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.37.0/docs/resources/spanner_database#id SpannerDatabase#id}.
project str Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.37.0/docs/resources/spanner_database#project SpannerDatabase#project}.
timeouts SpannerDatabaseTimeouts timeouts block.
version_retention_period str The retention period for the database.

scopeRequired
  • Type: constructs.Construct

The scope in which to define this construct.


idRequired
  • Type: str

The scoped construct ID.

Must be unique amongst siblings in the same scope


connectionOptional
  • Type: typing.Union[cdktf.SSHProvisionerConnection, cdktf.WinrmProvisionerConnection]

countOptional
  • Type: typing.Union[typing.Union[int, float], cdktf.TerraformCount]

depends_onOptional
  • Type: typing.List[cdktf.ITerraformDependable]

for_eachOptional
  • Type: cdktf.ITerraformIterator

lifecycleOptional
  • Type: cdktf.TerraformResourceLifecycle

providerOptional
  • Type: cdktf.TerraformProvider

provisionersOptional
  • Type: typing.List[typing.Union[cdktf.FileProvisioner, cdktf.LocalExecProvisioner, cdktf.RemoteExecProvisioner]]

instanceRequired
  • Type: str

The instance to create the database on.

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


nameRequired
  • Type: str

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/6.37.0/docs/resources/spanner_database#name SpannerDatabase#name}


database_dialectOptional
  • Type: str

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/6.37.0/docs/resources/spanner_database#database_dialect SpannerDatabase#database_dialect}


ddlOptional
  • Type: typing.List[str]

An optional list of DDL statements to run inside the database. Statements can create tables, indexes, etc.

During creation these statements execute atomically with the creation of the database and if there is an error in any statement, the database is not created.

Terraform does not perform drift detection on this field and assumes that the values recorded in state are accurate. Limited updates to this field are supported, and newly appended DDL statements can be executed in an update. However, modifications to prior statements will create a plan that marks the resource for recreation.

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


default_time_zoneOptional
  • Type: str

The default time zone for the database.

The default time zone must be a valid name from the tz database. Default value is "America/Los_angeles".

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


deletion_protectionOptional
  • Type: typing.Union[bool, cdktf.IResolvable]

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/6.37.0/docs/resources/spanner_database#deletion_protection SpannerDatabase#deletion_protection}


enable_drop_protectionOptional
  • Type: typing.Union[bool, cdktf.IResolvable]

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/6.37.0/docs/resources/spanner_database#enable_drop_protection SpannerDatabase#enable_drop_protection}


encryption_configOptional

encryption_config block.

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


idOptional
  • Type: str

Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.37.0/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.


projectOptional
  • Type: str

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


timeoutsOptional

timeouts block.

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


version_retention_periodOptional
  • Type: str

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/6.37.0/docs/resources/spanner_database#version_retention_period SpannerDatabase#version_retention_period}


Methods

Name Description
to_string Returns a string representation of this construct.
add_override No description.
override_logical_id Overrides the auto-generated logical ID with a specific ID.
reset_override_logical_id Resets a previously passed logical Id to use the auto-generated logical id again.
to_hcl_terraform No description.
to_metadata No description.
to_terraform Adds this resource to the terraform JSON output.
add_move_target Adds a user defined moveTarget string to this resource to be later used in .moveTo(moveTarget) to resolve the location of the move.
get_any_map_attribute No description.
get_boolean_attribute No description.
get_boolean_map_attribute No description.
get_list_attribute No description.
get_number_attribute No description.
get_number_list_attribute No description.
get_number_map_attribute No description.
get_string_attribute No description.
get_string_map_attribute No description.
has_resource_move No description.
import_from No description.
interpolation_for_attribute No description.
move_from_id Move the resource corresponding to "id" to this resource.
move_to Moves this resource to the target resource given by moveTarget.
move_to_id Moves this resource to the resource corresponding to "id".
put_encryption_config No description.
put_timeouts No description.
reset_database_dialect No description.
reset_ddl No description.
reset_default_time_zone No description.
reset_deletion_protection No description.
reset_enable_drop_protection No description.
reset_encryption_config No description.
reset_id No description.
reset_project No description.
reset_timeouts No description.
reset_version_retention_period No description.

to_string
def to_string() -> str

Returns a string representation of this construct.

add_override
def add_override(
  path: str,
  value: typing.Any
) -> None
pathRequired
  • Type: str

valueRequired
  • Type: typing.Any

override_logical_id
def override_logical_id(
  new_logical_id: str
) -> None

Overrides the auto-generated logical ID with a specific ID.

new_logical_idRequired
  • Type: str

The new logical ID to use for this stack element.


reset_override_logical_id
def reset_override_logical_id() -> None

Resets a previously passed logical Id to use the auto-generated logical id again.

to_hcl_terraform
def to_hcl_terraform() -> typing.Any
to_metadata
def to_metadata() -> typing.Any
to_terraform
def to_terraform() -> typing.Any

Adds this resource to the terraform JSON output.

add_move_target
def add_move_target(
  move_target: str
) -> None

Adds a user defined moveTarget string to this resource to be later used in .moveTo(moveTarget) to resolve the location of the move.

move_targetRequired
  • Type: str

The string move target that will correspond to this resource.


get_any_map_attribute
def get_any_map_attribute(
  terraform_attribute: str
) -> typing.Mapping[typing.Any]
terraform_attributeRequired
  • Type: str

get_boolean_attribute
def get_boolean_attribute(
  terraform_attribute: str
) -> IResolvable
terraform_attributeRequired
  • Type: str

get_boolean_map_attribute
def get_boolean_map_attribute(
  terraform_attribute: str
) -> typing.Mapping[bool]
terraform_attributeRequired
  • Type: str

get_list_attribute
def get_list_attribute(
  terraform_attribute: str
) -> typing.List[str]
terraform_attributeRequired
  • Type: str

get_number_attribute
def get_number_attribute(
  terraform_attribute: str
) -> typing.Union[int, float]
terraform_attributeRequired
  • Type: str

get_number_list_attribute
def get_number_list_attribute(
  terraform_attribute: str
) -> typing.List[typing.Union[int, float]]
terraform_attributeRequired
  • Type: str

get_number_map_attribute
def get_number_map_attribute(
  terraform_attribute: str
) -> typing.Mapping[typing.Union[int, float]]
terraform_attributeRequired
  • Type: str

get_string_attribute
def get_string_attribute(
  terraform_attribute: str
) -> str
terraform_attributeRequired
  • Type: str

get_string_map_attribute
def get_string_map_attribute(
  terraform_attribute: str
) -> typing.Mapping[str]
terraform_attributeRequired
  • Type: str

has_resource_move
def has_resource_move() -> typing.Union[TerraformResourceMoveByTarget, TerraformResourceMoveById]
import_from
def import_from(
  id: str,
  provider: TerraformProvider = None
) -> None
idRequired
  • Type: str

providerOptional
  • Type: cdktf.TerraformProvider

interpolation_for_attribute
def interpolation_for_attribute(
  terraform_attribute: str
) -> IResolvable
terraform_attributeRequired
  • Type: str

move_from_id
def move_from_id(
  id: str
) -> None

Move the resource corresponding to "id" to this resource.

Note that the resource being moved from must be marked as moved using it's instance function.

idRequired
  • Type: str

Full id of resource being moved from, e.g. "aws_s3_bucket.example".


move_to
def move_to(
  move_target: str,
  index: typing.Union[str, typing.Union[int, float]] = None
) -> None

Moves this resource to the target resource given by moveTarget.

move_targetRequired
  • Type: str

The previously set user defined string set by .addMoveTarget() corresponding to the resource to move to.


indexOptional
  • Type: typing.Union[str, typing.Union[int, float]]

Optional The index corresponding to the key the resource is to appear in the foreach of a resource to move to.


move_to_id
def move_to_id(
  id: str
) -> None

Moves this resource to the resource corresponding to "id".

idRequired
  • Type: str

Full id of resource to move to, e.g. "aws_s3_bucket.example".


put_encryption_config
def put_encryption_config(
  kms_key_name: str = None,
  kms_key_names: typing.List[str] = None
) -> None
kms_key_nameOptional
  • Type: str

Fully qualified name of the KMS key to use to encrypt this database.

This key must exist in the same location as the Spanner Database.

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


kms_key_namesOptional
  • Type: typing.List[str]

Fully qualified name of the KMS keys to use to encrypt this database.

The keys must exist in the same locations as the Spanner Database.

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


put_timeouts
def put_timeouts(
  create: str = None,
  delete: str = None,
  update: str = None
) -> None
createOptional
  • Type: str

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


deleteOptional
  • Type: str

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


updateOptional
  • Type: str

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


reset_database_dialect
def reset_database_dialect() -> None
reset_ddl
def reset_ddl() -> None
reset_default_time_zone
def reset_default_time_zone() -> None
reset_deletion_protection
def reset_deletion_protection() -> None
reset_enable_drop_protection
def reset_enable_drop_protection() -> None
reset_encryption_config
def reset_encryption_config() -> None
reset_id
def reset_id() -> None
reset_project
def reset_project() -> None
reset_timeouts
def reset_timeouts() -> None
reset_version_retention_period
def reset_version_retention_period() -> None

Static Functions

Name Description
is_construct Checks if x is a construct.
is_terraform_element No description.
is_terraform_resource No description.
generate_config_for_import Generates CDKTF code for importing a SpannerDatabase resource upon running "cdktf plan ".

is_construct
from cdktf_cdktf_provider_google import spanner_database

spannerDatabase.SpannerDatabase.is_construct(
  x: typing.Any
)

Checks if x is a construct.

Use this method instead of instanceof to properly detect Construct instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the constructs library on disk are seen as independent, completely different libraries. As a consequence, the class Construct in each copy of the constructs library is seen as a different class, and an instance of one class will not test as instanceof the other class. npm install will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the constructs library can be accidentally installed, and instanceof will behave unpredictably. It is safest to avoid using instanceof, and using this type-testing method instead.

xRequired
  • Type: typing.Any

Any object.


is_terraform_element
from cdktf_cdktf_provider_google import spanner_database

spannerDatabase.SpannerDatabase.is_terraform_element(
  x: typing.Any
)
xRequired
  • Type: typing.Any

is_terraform_resource
from cdktf_cdktf_provider_google import spanner_database

spannerDatabase.SpannerDatabase.is_terraform_resource(
  x: typing.Any
)
xRequired
  • Type: typing.Any

generate_config_for_import
from cdktf_cdktf_provider_google import spanner_database

spannerDatabase.SpannerDatabase.generate_config_for_import(
  scope: Construct,
  import_to_id: str,
  import_from_id: str,
  provider: TerraformProvider = None
)

Generates CDKTF code for importing a SpannerDatabase resource upon running "cdktf plan ".

scopeRequired
  • Type: constructs.Construct

The scope in which to define this construct.


import_to_idRequired
  • Type: str

The construct id used in the generated config for the SpannerDatabase to import.


import_from_idRequired
  • Type: str

The id of the existing SpannerDatabase that should be imported.

Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.37.0/docs/resources/spanner_database#import import section} in the documentation of this resource for the id to use


providerOptional
  • Type: cdktf.TerraformProvider

? Optional instance of the provider where the SpannerDatabase to import is found.


Properties

Name Type Description
node constructs.Node The tree node.
cdktf_stack cdktf.TerraformStack No description.
fqn str No description.
friendly_unique_id str No description.
terraform_meta_arguments typing.Mapping[typing.Any] No description.
terraform_resource_type str No description.
terraform_generator_metadata cdktf.TerraformProviderGeneratorMetadata No description.
connection typing.Union[cdktf.SSHProvisionerConnection, cdktf.WinrmProvisionerConnection] No description.
count typing.Union[typing.Union[int, float], cdktf.TerraformCount] No description.
depends_on typing.List[str] No description.
for_each cdktf.ITerraformIterator No description.
lifecycle cdktf.TerraformResourceLifecycle No description.
provider cdktf.TerraformProvider No description.
provisioners typing.List[typing.Union[cdktf.FileProvisioner, cdktf.LocalExecProvisioner, cdktf.RemoteExecProvisioner]] No description.
encryption_config SpannerDatabaseEncryptionConfigOutputReference No description.
state str No description.
timeouts SpannerDatabaseTimeoutsOutputReference No description.
database_dialect_input str No description.
ddl_input typing.List[str] No description.
default_time_zone_input str No description.
deletion_protection_input typing.Union[bool, cdktf.IResolvable] No description.
enable_drop_protection_input typing.Union[bool, cdktf.IResolvable] No description.
encryption_config_input SpannerDatabaseEncryptionConfig No description.
id_input str No description.
instance_input str No description.
name_input str No description.
project_input str No description.
timeouts_input typing.Union[cdktf.IResolvable, SpannerDatabaseTimeouts] No description.
version_retention_period_input str No description.
database_dialect str No description.
ddl typing.List[str] No description.
default_time_zone str No description.
deletion_protection typing.Union[bool, cdktf.IResolvable] No description.
enable_drop_protection typing.Union[bool, cdktf.IResolvable] No description.
id str No description.
instance str No description.
name str No description.
project str No description.
version_retention_period str No description.

nodeRequired
node: Node
  • Type: constructs.Node

The tree node.


cdktf_stackRequired
cdktf_stack: TerraformStack
  • Type: cdktf.TerraformStack

fqnRequired
fqn: str
  • Type: str

friendly_unique_idRequired
friendly_unique_id: str
  • Type: str

terraform_meta_argumentsRequired
terraform_meta_arguments: typing.Mapping[typing.Any]
  • Type: typing.Mapping[typing.Any]

terraform_resource_typeRequired
terraform_resource_type: str
  • Type: str

terraform_generator_metadataOptional
terraform_generator_metadata: TerraformProviderGeneratorMetadata
  • Type: cdktf.TerraformProviderGeneratorMetadata

connectionOptional
connection: typing.Union[SSHProvisionerConnection, WinrmProvisionerConnection]
  • Type: typing.Union[cdktf.SSHProvisionerConnection, cdktf.WinrmProvisionerConnection]

countOptional
count: typing.Union[typing.Union[int, float], TerraformCount]
  • Type: typing.Union[typing.Union[int, float], cdktf.TerraformCount]

depends_onOptional
depends_on: typing.List[str]
  • Type: typing.List[str]

for_eachOptional
for_each: ITerraformIterator
  • Type: cdktf.ITerraformIterator

lifecycleOptional
lifecycle: TerraformResourceLifecycle
  • Type: cdktf.TerraformResourceLifecycle

providerOptional
provider: TerraformProvider
  • Type: cdktf.TerraformProvider

provisionersOptional
provisioners: typing.List[typing.Union[FileProvisioner, LocalExecProvisioner, RemoteExecProvisioner]]
  • Type: typing.List[typing.Union[cdktf.FileProvisioner, cdktf.LocalExecProvisioner, cdktf.RemoteExecProvisioner]]

encryption_configRequired
encryption_config: SpannerDatabaseEncryptionConfigOutputReference

stateRequired
state: str
  • Type: str

timeoutsRequired
timeouts: SpannerDatabaseTimeoutsOutputReference

database_dialect_inputOptional
database_dialect_input: str
  • Type: str

ddl_inputOptional
ddl_input: typing.List[str]
  • Type: typing.List[str]

default_time_zone_inputOptional
default_time_zone_input: str
  • Type: str

deletion_protection_inputOptional
deletion_protection_input: typing.Union[bool, IResolvable]
  • Type: typing.Union[bool, cdktf.IResolvable]

enable_drop_protection_inputOptional
enable_drop_protection_input: typing.Union[bool, IResolvable]
  • Type: typing.Union[bool, cdktf.IResolvable]

encryption_config_inputOptional
encryption_config_input: SpannerDatabaseEncryptionConfig

id_inputOptional
id_input: str
  • Type: str

instance_inputOptional
instance_input: str
  • Type: str

name_inputOptional
name_input: str
  • Type: str

project_inputOptional
project_input: str
  • Type: str

timeouts_inputOptional
timeouts_input: typing.Union[IResolvable, SpannerDatabaseTimeouts]

version_retention_period_inputOptional
version_retention_period_input: str
  • Type: str

database_dialectRequired
database_dialect: str
  • Type: str

ddlRequired
ddl: typing.List[str]
  • Type: typing.List[str]

default_time_zoneRequired
default_time_zone: str
  • Type: str

deletion_protectionRequired
deletion_protection: typing.Union[bool, IResolvable]
  • Type: typing.Union[bool, cdktf.IResolvable]

enable_drop_protectionRequired
enable_drop_protection: typing.Union[bool, IResolvable]
  • Type: typing.Union[bool, cdktf.IResolvable]

idRequired
id: str
  • Type: str

instanceRequired
instance: str
  • Type: str

nameRequired
name: str
  • Type: str

projectRequired
project: str
  • Type: str

version_retention_periodRequired
version_retention_period: str
  • Type: str

Constants

Name Type Description
tfResourceType str No description.

tfResourceTypeRequired
tfResourceType: str
  • Type: str

Structs

SpannerDatabaseConfig

Initializer

from cdktf_cdktf_provider_google import spanner_database

spannerDatabase.SpannerDatabaseConfig(
  connection: typing.Union[SSHProvisionerConnection, WinrmProvisionerConnection] = None,
  count: typing.Union[typing.Union[int, float], TerraformCount] = None,
  depends_on: typing.List[ITerraformDependable] = None,
  for_each: ITerraformIterator = None,
  lifecycle: TerraformResourceLifecycle = None,
  provider: TerraformProvider = None,
  provisioners: typing.List[typing.Union[FileProvisioner, LocalExecProvisioner, RemoteExecProvisioner]] = None,
  instance: str,
  name: str,
  database_dialect: str = None,
  ddl: typing.List[str] = None,
  default_time_zone: str = None,
  deletion_protection: typing.Union[bool, IResolvable] = None,
  enable_drop_protection: typing.Union[bool, IResolvable] = None,
  encryption_config: SpannerDatabaseEncryptionConfig = None,
  id: str = None,
  project: str = None,
  timeouts: SpannerDatabaseTimeouts = None,
  version_retention_period: str = None
)

Properties

Name Type Description
connection typing.Union[cdktf.SSHProvisionerConnection, cdktf.WinrmProvisionerConnection] No description.
count typing.Union[typing.Union[int, float], cdktf.TerraformCount] No description.
depends_on typing.List[cdktf.ITerraformDependable] No description.
for_each cdktf.ITerraformIterator No description.
lifecycle cdktf.TerraformResourceLifecycle No description.
provider cdktf.TerraformProvider No description.
provisioners typing.List[typing.Union[cdktf.FileProvisioner, cdktf.LocalExecProvisioner, cdktf.RemoteExecProvisioner]] No description.
instance str The instance to create the database on.
name str A unique identifier for the database, which cannot be changed after the instance is created.
database_dialect str The dialect of the Cloud Spanner Database. If it is not provided, "GOOGLE_STANDARD_SQL" will be used. Possible values: ["GOOGLE_STANDARD_SQL", "POSTGRESQL"].
ddl typing.List[str] An optional list of DDL statements to run inside the database. Statements can create tables, indexes, etc.
default_time_zone str The default time zone for the database.
deletion_protection typing.Union[bool, cdktf.IResolvable] Whether Terraform will be prevented from destroying the database.
enable_drop_protection typing.Union[bool, cdktf.IResolvable] Whether drop protection is enabled for this database.
encryption_config SpannerDatabaseEncryptionConfig encryption_config block.
id str Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.37.0/docs/resources/spanner_database#id SpannerDatabase#id}.
project str Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.37.0/docs/resources/spanner_database#project SpannerDatabase#project}.
timeouts SpannerDatabaseTimeouts timeouts block.
version_retention_period str The retention period for the database.

connectionOptional
connection: typing.Union[SSHProvisionerConnection, WinrmProvisionerConnection]
  • Type: typing.Union[cdktf.SSHProvisionerConnection, cdktf.WinrmProvisionerConnection]

countOptional
count: typing.Union[typing.Union[int, float], TerraformCount]
  • Type: typing.Union[typing.Union[int, float], cdktf.TerraformCount]

depends_onOptional
depends_on: typing.List[ITerraformDependable]
  • Type: typing.List[cdktf.ITerraformDependable]

for_eachOptional
for_each: ITerraformIterator
  • Type: cdktf.ITerraformIterator

lifecycleOptional
lifecycle: TerraformResourceLifecycle
  • Type: cdktf.TerraformResourceLifecycle

providerOptional
provider: TerraformProvider
  • Type: cdktf.TerraformProvider

provisionersOptional
provisioners: typing.List[typing.Union[FileProvisioner, LocalExecProvisioner, RemoteExecProvisioner]]
  • Type: typing.List[typing.Union[cdktf.FileProvisioner, cdktf.LocalExecProvisioner, cdktf.RemoteExecProvisioner]]

instanceRequired
instance: str
  • Type: str

The instance to create the database on.

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


nameRequired
name: str
  • Type: str

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/6.37.0/docs/resources/spanner_database#name SpannerDatabase#name}


database_dialectOptional
database_dialect: str
  • Type: str

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/6.37.0/docs/resources/spanner_database#database_dialect SpannerDatabase#database_dialect}


ddlOptional
ddl: typing.List[str]
  • Type: typing.List[str]

An optional list of DDL statements to run inside the database. Statements can create tables, indexes, etc.

During creation these statements execute atomically with the creation of the database and if there is an error in any statement, the database is not created.

Terraform does not perform drift detection on this field and assumes that the values recorded in state are accurate. Limited updates to this field are supported, and newly appended DDL statements can be executed in an update. However, modifications to prior statements will create a plan that marks the resource for recreation.

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


default_time_zoneOptional
default_time_zone: str
  • Type: str

The default time zone for the database.

The default time zone must be a valid name from the tz database. Default value is "America/Los_angeles".

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


deletion_protectionOptional
deletion_protection: typing.Union[bool, IResolvable]
  • Type: typing.Union[bool, cdktf.IResolvable]

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/6.37.0/docs/resources/spanner_database#deletion_protection SpannerDatabase#deletion_protection}


enable_drop_protectionOptional
enable_drop_protection: typing.Union[bool, IResolvable]
  • Type: typing.Union[bool, cdktf.IResolvable]

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/6.37.0/docs/resources/spanner_database#enable_drop_protection SpannerDatabase#enable_drop_protection}


encryption_configOptional
encryption_config: SpannerDatabaseEncryptionConfig

encryption_config block.

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


idOptional
id: str
  • Type: str

Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.37.0/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.


projectOptional
project: str
  • Type: str

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


timeoutsOptional
timeouts: SpannerDatabaseTimeouts

timeouts block.

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


version_retention_periodOptional
version_retention_period: str
  • Type: str

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/6.37.0/docs/resources/spanner_database#version_retention_period SpannerDatabase#version_retention_period}


SpannerDatabaseEncryptionConfig

Initializer

from cdktf_cdktf_provider_google import spanner_database

spannerDatabase.SpannerDatabaseEncryptionConfig(
  kms_key_name: str = None,
  kms_key_names: typing.List[str] = None
)

Properties

Name Type Description
kms_key_name str Fully qualified name of the KMS key to use to encrypt this database.
kms_key_names typing.List[str] Fully qualified name of the KMS keys to use to encrypt this database.

kms_key_nameOptional
kms_key_name: str
  • Type: str

Fully qualified name of the KMS key to use to encrypt this database.

This key must exist in the same location as the Spanner Database.

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


kms_key_namesOptional
kms_key_names: typing.List[str]
  • Type: typing.List[str]

Fully qualified name of the KMS keys to use to encrypt this database.

The keys must exist in the same locations as the Spanner Database.

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


SpannerDatabaseTimeouts

Initializer

from cdktf_cdktf_provider_google import spanner_database

spannerDatabase.SpannerDatabaseTimeouts(
  create: str = None,
  delete: str = None,
  update: str = None
)

Properties

Name Type Description
create str Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.37.0/docs/resources/spanner_database#create SpannerDatabase#create}.
delete str Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.37.0/docs/resources/spanner_database#delete SpannerDatabase#delete}.
update str Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.37.0/docs/resources/spanner_database#update SpannerDatabase#update}.

createOptional
create: str
  • Type: str

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


deleteOptional
delete: str
  • Type: str

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


updateOptional
update: str
  • Type: str

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


Classes

SpannerDatabaseEncryptionConfigOutputReference

Initializers

from cdktf_cdktf_provider_google import spanner_database

spannerDatabase.SpannerDatabaseEncryptionConfigOutputReference(
  terraform_resource: IInterpolatingParent,
  terraform_attribute: str
)
Name Type Description
terraform_resource cdktf.IInterpolatingParent The parent resource.
terraform_attribute str The attribute on the parent resource this class is referencing.

terraform_resourceRequired
  • Type: cdktf.IInterpolatingParent

The parent resource.


terraform_attributeRequired
  • Type: str

The attribute on the parent resource this class is referencing.


Methods

Name Description
compute_fqn No description.
get_any_map_attribute No description.
get_boolean_attribute No description.
get_boolean_map_attribute No description.
get_list_attribute No description.
get_number_attribute No description.
get_number_list_attribute No description.
get_number_map_attribute No description.
get_string_attribute No description.
get_string_map_attribute No description.
interpolation_for_attribute No description.
resolve Produce the Token's value at resolution time.
to_string Return a string representation of this resolvable object.
reset_kms_key_name No description.
reset_kms_key_names No description.

compute_fqn
def compute_fqn() -> str
get_any_map_attribute
def get_any_map_attribute(
  terraform_attribute: str
) -> typing.Mapping[typing.Any]
terraform_attributeRequired
  • Type: str

get_boolean_attribute
def get_boolean_attribute(
  terraform_attribute: str
) -> IResolvable
terraform_attributeRequired
  • Type: str

get_boolean_map_attribute
def get_boolean_map_attribute(
  terraform_attribute: str
) -> typing.Mapping[bool]
terraform_attributeRequired
  • Type: str

get_list_attribute
def get_list_attribute(
  terraform_attribute: str
) -> typing.List[str]
terraform_attributeRequired
  • Type: str

get_number_attribute
def get_number_attribute(
  terraform_attribute: str
) -> typing.Union[int, float]
terraform_attributeRequired
  • Type: str

get_number_list_attribute
def get_number_list_attribute(
  terraform_attribute: str
) -> typing.List[typing.Union[int, float]]
terraform_attributeRequired
  • Type: str

get_number_map_attribute
def get_number_map_attribute(
  terraform_attribute: str
) -> typing.Mapping[typing.Union[int, float]]
terraform_attributeRequired
  • Type: str

get_string_attribute
def get_string_attribute(
  terraform_attribute: str
) -> str
terraform_attributeRequired
  • Type: str

get_string_map_attribute
def get_string_map_attribute(
  terraform_attribute: str
) -> typing.Mapping[str]
terraform_attributeRequired
  • Type: str

interpolation_for_attribute
def interpolation_for_attribute(
  property: str
) -> IResolvable
propertyRequired
  • Type: str

resolve
def resolve(
  _context: IResolveContext
) -> typing.Any

Produce the Token's value at resolution time.

_contextRequired
  • Type: cdktf.IResolveContext

to_string
def to_string() -> str

Return a string representation of this resolvable object.

Returns a reversible string representation.

reset_kms_key_name
def reset_kms_key_name() -> None
reset_kms_key_names
def reset_kms_key_names() -> None

Properties

Name Type Description
creation_stack typing.List[str] The creation stack of this resolvable which will be appended to errors thrown during resolution.
fqn str No description.
kms_key_name_input str No description.
kms_key_names_input typing.List[str] No description.
kms_key_name str No description.
kms_key_names typing.List[str] No description.
internal_value SpannerDatabaseEncryptionConfig No description.

creation_stackRequired
creation_stack: typing.List[str]
  • Type: typing.List[str]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.


fqnRequired
fqn: str
  • Type: str

kms_key_name_inputOptional
kms_key_name_input: str
  • Type: str

kms_key_names_inputOptional
kms_key_names_input: typing.List[str]
  • Type: typing.List[str]

kms_key_nameRequired
kms_key_name: str
  • Type: str

kms_key_namesRequired
kms_key_names: typing.List[str]
  • Type: typing.List[str]

internal_valueOptional
internal_value: SpannerDatabaseEncryptionConfig

SpannerDatabaseTimeoutsOutputReference

Initializers

from cdktf_cdktf_provider_google import spanner_database

spannerDatabase.SpannerDatabaseTimeoutsOutputReference(
  terraform_resource: IInterpolatingParent,
  terraform_attribute: str
)
Name Type Description
terraform_resource cdktf.IInterpolatingParent The parent resource.
terraform_attribute str The attribute on the parent resource this class is referencing.

terraform_resourceRequired
  • Type: cdktf.IInterpolatingParent

The parent resource.


terraform_attributeRequired
  • Type: str

The attribute on the parent resource this class is referencing.


Methods

Name Description
compute_fqn No description.
get_any_map_attribute No description.
get_boolean_attribute No description.
get_boolean_map_attribute No description.
get_list_attribute No description.
get_number_attribute No description.
get_number_list_attribute No description.
get_number_map_attribute No description.
get_string_attribute No description.
get_string_map_attribute No description.
interpolation_for_attribute No description.
resolve Produce the Token's value at resolution time.
to_string Return a string representation of this resolvable object.
reset_create No description.
reset_delete No description.
reset_update No description.

compute_fqn
def compute_fqn() -> str
get_any_map_attribute
def get_any_map_attribute(
  terraform_attribute: str
) -> typing.Mapping[typing.Any]
terraform_attributeRequired
  • Type: str

get_boolean_attribute
def get_boolean_attribute(
  terraform_attribute: str
) -> IResolvable
terraform_attributeRequired
  • Type: str

get_boolean_map_attribute
def get_boolean_map_attribute(
  terraform_attribute: str
) -> typing.Mapping[bool]
terraform_attributeRequired
  • Type: str

get_list_attribute
def get_list_attribute(
  terraform_attribute: str
) -> typing.List[str]
terraform_attributeRequired
  • Type: str

get_number_attribute
def get_number_attribute(
  terraform_attribute: str
) -> typing.Union[int, float]
terraform_attributeRequired
  • Type: str

get_number_list_attribute
def get_number_list_attribute(
  terraform_attribute: str
) -> typing.List[typing.Union[int, float]]
terraform_attributeRequired
  • Type: str

get_number_map_attribute
def get_number_map_attribute(
  terraform_attribute: str
) -> typing.Mapping[typing.Union[int, float]]
terraform_attributeRequired
  • Type: str

get_string_attribute
def get_string_attribute(
  terraform_attribute: str
) -> str
terraform_attributeRequired
  • Type: str

get_string_map_attribute
def get_string_map_attribute(
  terraform_attribute: str
) -> typing.Mapping[str]
terraform_attributeRequired
  • Type: str

interpolation_for_attribute
def interpolation_for_attribute(
  property: str
) -> IResolvable
propertyRequired
  • Type: str

resolve
def resolve(
  _context: IResolveContext
) -> typing.Any

Produce the Token's value at resolution time.

_contextRequired
  • Type: cdktf.IResolveContext

to_string
def to_string() -> str

Return a string representation of this resolvable object.

Returns a reversible string representation.

reset_create
def reset_create() -> None
reset_delete
def reset_delete() -> None
reset_update
def reset_update() -> None

Properties

Name Type Description
creation_stack typing.List[str] The creation stack of this resolvable which will be appended to errors thrown during resolution.
fqn str No description.
create_input str No description.
delete_input str No description.
update_input str No description.
create str No description.
delete str No description.
update str No description.
internal_value typing.Union[cdktf.IResolvable, SpannerDatabaseTimeouts] No description.

creation_stackRequired
creation_stack: typing.List[str]
  • Type: typing.List[str]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.


fqnRequired
fqn: str
  • Type: str

create_inputOptional
create_input: str
  • Type: str

delete_inputOptional
delete_input: str
  • Type: str

update_inputOptional
update_input: str
  • Type: str

createRequired
create: str
  • Type: str

deleteRequired
delete: str
  • Type: str

updateRequired
update: str
  • Type: str

internal_valueOptional
internal_value: typing.Union[IResolvable, SpannerDatabaseTimeouts]