---
title: Getting Started with Datadog
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: Docs > Infrastructure > Datadog Resource Catalog
---

# gcp_spanner_database{% #gcp_spanner_database %}

## `ancestors`{% #ancestors %}

**Type**: `UNORDERED_LIST_STRING`

## `create_time`{% #create_time %}

**Type**: `TIMESTAMP`**Provider name**: `createTime`**Description**: Output only. If exists, the time at which the database creation started.

## `database_dialect`{% #database_dialect %}

**Type**: `STRING`**Provider name**: `databaseDialect`**Description**: Output only. The dialect of the Cloud Spanner Database.**Possible values**:

- `DATABASE_DIALECT_UNSPECIFIED` - Default value. This value will create a database with the GOOGLE_STANDARD_SQL dialect.
- `GOOGLE_STANDARD_SQL` - GoogleSQL supported SQL.
- `POSTGRESQL` - PostgreSQL supported SQL.

## `default_leader`{% #default_leader %}

**Type**: `STRING`**Provider name**: `defaultLeader`**Description**: Output only. The read-write region which contains the database's leader replicas. This is the same as the value of default_leader database option set using DatabaseAdmin.CreateDatabase or DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.

## `earliest_version_time`{% #earliest_version_time %}

**Type**: `TIMESTAMP`**Provider name**: `earliestVersionTime`**Description**: Output only. Earliest timestamp at which older versions of the data can be read. This value is continuously updated by Cloud Spanner and becomes stale the moment it is queried. If you are using this value to recover data, make sure to account for the time from the moment when the value is queried to the moment when you initiate the recovery.

## `enable_drop_protection`{% #enable_drop_protection %}

**Type**: `BOOLEAN`**Provider name**: `enableDropProtection`**Description**: Optional. Whether drop protection is enabled for this database. Defaults to false, if not set. For more details, please see how to [prevent accidental database deletion](https://cloud.google.com/spanner/docs/prevent-database-deletion).

## `encryption_config`{% #encryption_config %}

**Type**: `STRUCT`**Provider name**: `encryptionConfig`**Description**: Output only. For databases that are using customer managed encryption, this field contains the encryption configuration for the database. For databases that are using Google default or other types of encryption, this field is empty.

- `kms_key_name`**Type**: `STRING`**Provider name**: `kmsKeyName`**Description**: The Cloud KMS key to be used for encrypting and decrypting the database. Values are of the form `projects//locations//keyRings//cryptoKeys/`.
- `kms_key_names`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `kmsKeyNames`**Description**: Specifies the KMS configuration for one or more keys used to encrypt the database. Values are of the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by `kms_key_names` must fully cover all regions of the database's instance configuration. Some examples: * For regional (single-region) instance configurations, specify a regional location KMS key. * For multi-region instance configurations of type `GOOGLE_MANAGED`, either specify a multi-region location KMS key or multiple regional location KMS keys that cover all regions in the instance configuration. * For an instance configuration of type `USER_MANAGED`, specify only regional location KMS keys to cover each region in the instance configuration. Multi-region location KMS keys aren't supported for `USER_MANAGED` type instance configurations.

## `encryption_info`{% #encryption_info %}

**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `encryptionInfo`**Description**: Output only. For databases that are using customer managed encryption, this field contains the encryption information for the database, such as all Cloud KMS key versions that are in use. The `encryption_status` field inside of each `EncryptionInfo` is not populated. For databases that are using Google default or other types of encryption, this field is empty. This field is propagated lazily from the backend. There might be a delay from when a key version is being used and when it appears in this field.

- `encryption_status`**Type**: `STRUCT`**Provider name**: `encryptionStatus`**Description**: Output only. If present, the status of a recent encrypt/decrypt call on underlying data for this database or backup. Regardless of status, data is always encrypted at rest.
  - `code`**Type**: `INT32`**Provider name**: `code`**Description**: The status code, which should be an enum value of google.rpc.Code.
  - `message`**Type**: `STRING`**Provider name**: `message`**Description**: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
- `encryption_type`**Type**: `STRING`**Provider name**: `encryptionType`**Description**: Output only. The type of encryption.**Possible values**:
  - `TYPE_UNSPECIFIED` - Encryption type was not specified, though data at rest remains encrypted.
  - `GOOGLE_DEFAULT_ENCRYPTION` - The data is encrypted at rest with a key that is fully managed by Google. No key version or status will be populated. This is the default state.
  - `CUSTOMER_MANAGED_ENCRYPTION` - The data is encrypted at rest with a key that is managed by the customer. The active version of the key. `kms_key_version` will be populated, and `encryption_status` may be populated.
- `kms_key_version`**Type**: `STRING`**Provider name**: `kmsKeyVersion`**Description**: Output only. A Cloud KMS key version that is being used to protect the database or backup.

## `labels`{% #labels %}

**Type**: `UNORDERED_LIST_STRING`

## `name`{% #name %}

**Type**: `STRING`**Provider name**: `name`**Description**: Required. The name of the database. Values are of the form `projects//instances//databases/`, where `` is as specified in the `CREATE DATABASE` statement. This name can be passed to other API methods to identify the database.

## `organization_id`{% #organization_id %}

**Type**: `STRING`

## `parent`{% #parent %}

**Type**: `STRING`

## `project_id`{% #project_id %}

**Type**: `STRING`

## `project_number`{% #project_number %}

**Type**: `STRING`

## `quorum_info`{% #quorum_info %}

**Type**: `STRUCT`**Provider name**: `quorumInfo`**Description**: Output only. Applicable only for databases that use dual-region instance configurations. Contains information about the quorum.

- `etag`**Type**: `STRING`**Provider name**: `etag`**Description**: Output only. The etag is used for optimistic concurrency control as a way to help prevent simultaneous `ChangeQuorum` requests that might create a race condition.
- `initiator`**Type**: `STRING`**Provider name**: `initiator`**Description**: Output only. Whether this `ChangeQuorum` is Google or User initiated.**Possible values**:
  - `INITIATOR_UNSPECIFIED` - Unspecified.
  - `GOOGLE` - `ChangeQuorum` initiated by Google.
  - `USER` - `ChangeQuorum` initiated by User.
- `quorum_type`**Type**: `STRUCT`**Provider name**: `quorumType`**Description**: Output only. The type of this quorum. See QuorumType for more information about quorum type specifications.
  - `dual_region`**Type**: `STRUCT`**Provider name**: `dualRegion`**Description**: Dual-region quorum type.

  - `single_region`**Type**: `STRUCT`**Provider name**: `singleRegion`**Description**: Single-region quorum type.

    - `serving_location`**Type**: `STRING`**Provider name**: `servingLocation`**Description**: Required. The location of the serving region, e.g. "us-central1". The location must be one of the regions within the dual-region instance configuration of your database. The list of valid locations is available using the GetInstanceConfig API. This should only be used if you plan to change quorum to the single-region quorum type.
- `start_time`**Type**: `TIMESTAMP`**Provider name**: `startTime`**Description**: Output only. The timestamp when the request was triggered.

## `reconciling`{% #reconciling %}

**Type**: `BOOLEAN`**Provider name**: `reconciling`**Description**: Output only. If true, the database is being updated. If false, there are no ongoing update operations for the database.

## `region_id`{% #region_id %}

**Type**: `STRING`

## `resource_name`{% #resource_name %}

**Type**: `STRING`

## `restore_info`{% #restore_info %}

**Type**: `STRUCT`**Provider name**: `restoreInfo`**Description**: Output only. Applicable only for restored databases. Contains information about the restore source.

- `backup_info`**Type**: `STRUCT`**Provider name**: `backupInfo`**Description**: Information about the backup used to restore the database. The backup may no longer exist.
  - `backup`**Type**: `STRING`**Provider name**: `backup`**Description**: Name of the backup.
  - `create_time`**Type**: `TIMESTAMP`**Provider name**: `createTime`**Description**: The time the CreateBackup request was received.
  - `source_database`**Type**: `STRING`**Provider name**: `sourceDatabase`**Description**: Name of the database the backup was created from.
  - `version_time`**Type**: `TIMESTAMP`**Provider name**: `versionTime`**Description**: The backup contains an externally consistent copy of `source_database` at the timestamp specified by `version_time`. If the CreateBackup request did not specify `version_time`, the `version_time` of the backup is equivalent to the `create_time`.
- `source_type`**Type**: `STRING`**Provider name**: `sourceType`**Description**: The type of the restore source.**Possible values**:
  - `TYPE_UNSPECIFIED` - No restore associated.
  - `BACKUP` - A backup was used as the source of the restore.

## `state`{% #state %}

**Type**: `STRING`**Provider name**: `state`**Description**: Output only. The current database state.**Possible values**:

- `STATE_UNSPECIFIED` - Not specified.
- `CREATING` - The database is still being created. Operations on the database may fail with `FAILED_PRECONDITION` in this state.
- `READY` - The database is fully created and ready for use.
- `READY_OPTIMIZING` - The database is fully created and ready for use, but is still being optimized for performance and cannot handle full load. In this state, the database still references the backup it was restore from, preventing the backup from being deleted. When optimizations are complete, the full performance of the database will be restored, and the database will transition to `READY` state.

## `tags`{% #tags %}

**Type**: `UNORDERED_LIST_STRING`

## `version_retention_period`{% #version_retention_period %}

**Type**: `STRING`**Provider name**: `versionRetentionPeriod`**Description**: Output only. The period in which Cloud Spanner retains all versions of data for the database. This is the same as the value of version_retention_period database option set using UpdateDatabaseDdl. Defaults to 1 hour, if not set.

## `zone_id`{% #zone_id %}

**Type**: `STRING`
