Package google.firestore.admin.v1

Index

FirestoreAdmin

The Cloud Firestore Admin API.

This API provides several administrative services for Cloud Firestore.

Project, Database, Namespace, Collection, Collection Group, and Document are used as defined in the Google Cloud Firestore API.

Operation: An Operation represents work being performed in the background.

The index service manages Cloud Firestore indexes.

Index creation is performed asynchronously. An Operation resource is created for each such asynchronous operation. The state of the operation (including any errors encountered) may be queried via the Operation resource.

The Operations collection provides a record of actions performed for the specified Project (including any Operations in progress). Operations are not created directly but through calls on other collections or resources.

An Operation that is done may be deleted so that it is no longer listed as part of the Operation collection. Operations are garbage collected after 30 days. By default, ListOperations will only return in progress and failed operations. To list completed operation, issue a ListOperations request with the filter done: true.

Operations are created by service FirestoreAdmin, but are accessed via service google.longrunning.Operations.

CreateBackupSchedule

rpc CreateBackupSchedule(CreateBackupScheduleRequest) returns (BackupSchedule)

Creates a backup schedule on a database. At most two backup schedules can be configured on a database, one daily backup schedule and one weekly backup schedule.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateDatabase

rpc CreateDatabase(CreateDatabaseRequest) returns (Operation)

Create a database.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateIndex

rpc CreateIndex(CreateIndexRequest) returns (Operation)

Creates a composite index. This returns a google.longrunning.Operation which may be used to track the status of the creation. The metadata for the operation will be the type IndexOperationMetadata.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteBackup

rpc DeleteBackup(DeleteBackupRequest) returns (Empty)

Deletes a backup.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteBackupSchedule

rpc DeleteBackupSchedule(DeleteBackupScheduleRequest) returns (Empty)

Deletes a backup schedule.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteDatabase

rpc DeleteDatabase(DeleteDatabaseRequest) returns (Operation)

Deletes a database.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteIndex

rpc DeleteIndex(DeleteIndexRequest) returns (Empty)

Deletes a composite index.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ExportDocuments

rpc ExportDocuments(ExportDocumentsRequest) returns (Operation)

Exports a copy of all or a subset of documents from Google Cloud Firestore to another storage system, such as Google Cloud Storage. Recent updates to documents may not be reflected in the export. The export occurs in the background and its progress can be monitored and managed via the Operation resource that is created. The output of an export may only be used once the associated operation is done. If an export operation is cancelled before completion it may leave partial data behind in Google Cloud Storage.

For more details on export behavior and output format, refer to: https://cloud.google.com/firestore/docs/manage-data/export-import

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetBackup

rpc GetBackup(GetBackupRequest) returns (Backup)

Gets information about a backup.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetBackupSchedule

rpc GetBackupSchedule(GetBackupScheduleRequest) returns (BackupSchedule)

Gets information about a backup schedule.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetDatabase

rpc GetDatabase(GetDatabaseRequest) returns (Database)

Gets information about a database.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetField

rpc GetField(GetFieldRequest) returns (Field)

Gets the metadata and configuration for a Field.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetIndex

rpc GetIndex(GetIndexRequest) returns (Index)

Gets a composite index.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ImportDocuments

rpc ImportDocuments(ImportDocumentsRequest) returns (Operation)

Imports documents into Google Cloud Firestore. Existing documents with the same name are overwritten. The import occurs in the background and its progress can be monitored and managed via the Operation resource that is created. If an ImportDocuments operation is cancelled, it is possible that a subset of the data has already been imported to Cloud Firestore.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListBackupSchedules

rpc ListBackupSchedules(ListBackupSchedulesRequest) returns (ListBackupSchedulesResponse)

List backup schedules.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListBackups

rpc ListBackups(ListBackupsRequest) returns (ListBackupsResponse)

Lists all the backups.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListDatabases

rpc ListDatabases(ListDatabasesRequest) returns (ListDatabasesResponse)

List all the databases in the project.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListFields

rpc ListFields(ListFieldsRequest) returns (ListFieldsResponse)

Lists the field configuration and metadata for this database.

Currently, FirestoreAdmin.ListFields only supports listing fields that have been explicitly overridden. To issue this query, call FirestoreAdmin.ListFields with the filter set to indexConfig.usesAncestorConfig:false or ttlConfig:*.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListIndexes

rpc ListIndexes(ListIndexesRequest) returns (ListIndexesResponse)

Lists composite indexes.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

RestoreDatabase

rpc RestoreDatabase(RestoreDatabaseRequest) returns (Operation)

Creates a new database by restoring from an existing backup.

The new database must be in the same cloud region or multi-region location as the existing backup. This behaves similar to [FirestoreAdmin.CreateDatabase][google.firestore.admin.v1.CreateDatabase] except instead of creating a new empty database, a new database is created with the database type, index configuration, and documents from an existing backup.

The long-running operation can be used to track the progress of the restore, with the Operation's metadata field type being the RestoreDatabaseMetadata. The response type is the Database if the restore was successful. The new database is not readable or writeable until the LRO has completed.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateBackupSchedule

rpc UpdateBackupSchedule(UpdateBackupScheduleRequest) returns (BackupSchedule)

Updates a backup schedule.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateDatabase

rpc UpdateDatabase(UpdateDatabaseRequest) returns (Operation)

Updates a database.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateField

rpc UpdateField(UpdateFieldRequest) returns (Operation)

Updates a field configuration. Currently, field updates apply only to single field index configuration. However, calls to FirestoreAdmin.UpdateField should provide a field mask to avoid changing any configuration that the caller isn't aware of. The field mask should be specified as: { paths: "index_config" }.

This call returns a google.longrunning.Operation which may be used to track the status of the field update. The metadata for the operation will be the type FieldOperationMetadata.

To configure the default field settings for the database, use the special Field with resource name: projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

Backup

A Backup of a Cloud Firestore Database.

The backup contains all documents and index configurations for the given database at a specific point in time.

Fields
name

string

Output only. The unique resource name of the Backup.

Format is projects/{project}/locations/{location}/backups/{backup}.

database

string

Output only. Name of the Firestore database that the backup is from.

Format is projects/{project}/databases/{database}.

database_uid

string

Output only. The system-generated UUID4 for the Firestore database that the backup is from.

snapshot_time

Timestamp

Output only. The backup contains an externally consistent copy of the database at this time.

expire_time

Timestamp

Output only. The timestamp at which this backup expires.

state

State

Output only. The current state of the backup.

State

Indicate the current state of the backup.

Enums
STATE_UNSPECIFIED The state is unspecified.
CREATING The pending backup is still being created. Operations on the backup will be rejected in this state.
READY The backup is complete and ready to use.
NOT_AVAILABLE The backup is not available at this moment.

BackupSchedule

A backup schedule for a Cloud Firestore Database.

This resource is owned by the database it is backing up, and is deleted along with the database. The actual backups are not though.

Fields
name

string

Output only. The unique backup schedule identifier across all locations and databases for the given project.

This will be auto-assigned.

Format is projects/{project}/databases/{database}/backupSchedules/{backup_schedule}

create_time

Timestamp

Output only. The timestamp at which this backup schedule was created and effective since.

No backups will be created for this schedule before this time.

update_time

Timestamp

Output only. The timestamp at which this backup schedule was most recently updated. When a backup schedule is first created, this is the same as create_time.

retention

Duration

At what relative time in the future, compared to its creation time, the backup should be deleted, e.g. keep backups for 7 days.

The maximum supported retention period is 14 weeks.

Union field recurrence. A oneof field to represent when backups will be taken. recurrence can be only one of the following:
daily_recurrence

DailyRecurrence

For a schedule that runs daily.

weekly_recurrence

WeeklyRecurrence

For a schedule that runs weekly on a specific day.

CreateBackupScheduleRequest

The request for FirestoreAdmin.CreateBackupSchedule.

Fields
parent

string

Required. The parent database.

Format projects/{project}/databases/{database}

backup_schedule

BackupSchedule

Required. The backup schedule to create.

CreateDatabaseMetadata

This type has no fields.

Metadata related to the create database operation.

CreateDatabaseRequest

The request for FirestoreAdmin.CreateDatabase.

Fields
parent

string

Required. A parent name of the form projects/{project_id}

database

Database

Required. The Database to create.

database_id

string

Required. The ID to use for the database, which will become the final component of the database's resource name.

This value should be 4-63 characters. Valid characters are /[a-z][0-9]-/ with first character a letter and the last a letter or a number. Must not be UUID-like /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/.

"(default)" database ID is also valid.

CreateIndexRequest

The request for FirestoreAdmin.CreateIndex.

Fields
parent

string

Required. A parent name of the form projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}

index

Index

Required. The composite index to create.

DailyRecurrence

This type has no fields.

Represents a recurring schedule that runs every day.

The time zone is UTC.

Database

A Cloud Firestore Database.

Fields
name

string

The resource name of the Database. Format: projects/{project}/databases/{database}

uid

string

Output only. The system-generated UUID4 for this Database.

create_time

Timestamp

Output only. The timestamp at which this database was created. Databases created before 2016 do not populate create_time.

update_time

Timestamp

Output only. The timestamp at which this database was most recently updated. Note this only includes updates to the database resource and not data contained by the database.

delete_time

Timestamp

Output only. The timestamp at which this database was deleted. Only set if the database has been deleted.

location_id

string

The location of the database. Available locations are listed at https://cloud.google.com/firestore/docs/locations.

type

DatabaseType

The type of the database. See https://cloud.google.com/datastore/docs/firestore-or-datastore for information about how to choose.

concurrency_mode

ConcurrencyMode

The concurrency control mode to use for this database.

version_retention_period

Duration

Output only. The period during which past versions of data are retained in the database.

Any read or query can specify a read_time within this window, and will read the state of the database at that time.

If the PITR feature is enabled, the retention period is 7 days. Otherwise, the retention period is 1 hour.

earliest_version_time

Timestamp

Output only. The earliest timestamp at which older versions of the data can be read from the database. See [version_retention_period] above; this field is populated with now - version_retention_period.

This value is continuously updated, 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.

point_in_time_recovery_enablement

PointInTimeRecoveryEnablement

Whether to enable the PITR feature on this database.

app_engine_integration_mode

AppEngineIntegrationMode

The App Engine integration mode to use for this database.

key_prefix

string

Output only. The key_prefix for this database. This key_prefix is used, in combination with the project ID ("~") to construct the application ID that is returned from the Cloud Datastore APIs in Google App Engine first generation runtimes.

This value may be empty in which case the appid to use for URL-encoded keys is the project_id (eg: foo instead of v~foo).

delete_protection_state

DeleteProtectionState

State of delete protection for the database.

cmek_config

CmekConfig

Optional. Presence indicates CMEK is enabled for this database.

previous_id

string

Output only. The database resource's prior database ID. This field is only populated for deleted databases.

etag

string

This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.

AppEngineIntegrationMode

The type of App Engine integration mode.

Enums
APP_ENGINE_INTEGRATION_MODE_UNSPECIFIED Not used.
ENABLED If an App Engine application exists in the same region as this database, App Engine configuration will impact this database. This includes disabling of the application & database, as well as disabling writes to the database.
DISABLED

App Engine has no effect on the ability of this database to serve requests.

This is the default setting for databases created with the Firestore API.

CmekConfig

The CMEK (Customer Managed Encryption Key) configuration for a Firestore database. If not present, the database is secured by the default Google encryption key.

Fields
kms_key_name

string

Required. Only keys in the same location as this database are allowed to be used for encryption.

For Firestore's nam5 multi-region, this corresponds to Cloud KMS multi-region us. For Firestore's eur3 multi-region, this corresponds to Cloud KMS multi-region europe. See https://cloud.google.com/kms/docs/locations.

The expected format is projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.

active_key_version[]

string

Output only. Currently in-use KMS key versions. During key rotation, there can be multiple in-use key versions.

The expected format is projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{key_version}.

ConcurrencyMode

The type of concurrency control mode for transactions.

Enums
CONCURRENCY_MODE_UNSPECIFIED Not used.
OPTIMISTIC Use optimistic concurrency control by default. This mode is available for Cloud Firestore databases.
PESSIMISTIC

Use pessimistic concurrency control by default. This mode is available for Cloud Firestore databases.

This is the default setting for Cloud Firestore.

OPTIMISTIC_WITH_ENTITY_GROUPS

Use optimistic concurrency control with entity groups by default.

This is the only available mode for Cloud Datastore.

This mode is also available for Cloud Firestore with Datastore Mode but is not recommended.

DatabaseType

The type of the database. See https://cloud.google.com/datastore/docs/firestore-or-datastore for information about how to choose.

Mode changes are only allowed if the database is empty.

Enums
DATABASE_TYPE_UNSPECIFIED The default value. This value is used if the database type is omitted.
FIRESTORE_NATIVE Firestore Native Mode
DATASTORE_MODE Firestore in Datastore Mode.

DeleteProtectionState

The delete protection state of the database.

Enums
DELETE_PROTECTION_STATE_UNSPECIFIED The default value. Delete protection type is not specified
DELETE_PROTECTION_DISABLED Delete protection is disabled
DELETE_PROTECTION_ENABLED Delete protection is enabled

PointInTimeRecoveryEnablement

Point In Time Recovery feature enablement.

Enums
POINT_IN_TIME_RECOVERY_ENABLEMENT_UNSPECIFIED Not used.
POINT_IN_TIME_RECOVERY_ENABLED

Reads are supported on selected versions of the data from within the past 7 days:

  • Reads against any timestamp within the past hour
  • Reads against 1-minute snapshots beyond 1 hour and within 7 days

version_retention_period and earliest_version_time can be used to determine the supported versions.

POINT_IN_TIME_RECOVERY_DISABLED Reads are supported on any version of the data from within the past 1 hour.

DeleteBackupRequest

The request for FirestoreAdmin.DeleteBackup.

Fields
name

string

Required. Name of the backup to delete.

format is projects/{project}/locations/{location}/backups/{backup}.

DeleteBackupScheduleRequest

The request for [FirestoreAdmin.DeleteBackupSchedules][].

Fields
name

string

Required. The name of the backup schedule.

Format projects/{project}/databases/{database}/backupSchedules/{backup_schedule}

DeleteDatabaseMetadata

This type has no fields.

Metadata related to the delete database operation.

DeleteDatabaseRequest

The request for FirestoreAdmin.DeleteDatabase.

Fields
name

string

Required. A name of the form projects/{project_id}/databases/{database_id}

etag

string

The current etag of the Database. If an etag is provided and does not match the current etag of the database, deletion will be blocked and a FAILED_PRECONDITION error will be returned.

DeleteIndexRequest

The request for FirestoreAdmin.DeleteIndex.

Fields
name

string

Required. A name of the form projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}

ExportDocumentsMetadata

Metadata for google.longrunning.Operation results from FirestoreAdmin.ExportDocuments.

Fields
start_time

Timestamp

The time this operation started.

end_time

Timestamp

The time this operation completed. Will be unset if operation still in progress.

operation_state

OperationState

The state of the export operation.

progress_documents

Progress

The progress, in documents, of this operation.

progress_bytes

Progress

The progress, in bytes, of this operation.

collection_ids[]

string

Which collection IDs are being exported.

output_uri_prefix

string

Where the documents are being exported to.

namespace_ids[]

string

Which namespace IDs are being exported.

snapshot_time

Timestamp

The timestamp that corresponds to the version of the database that is being exported. If unspecified, there are no guarantees about the consistency of the documents being exported.

ExportDocumentsRequest

The request for FirestoreAdmin.ExportDocuments.

Fields
name

string

Required. Database to export. Should be of the form: projects/{project_id}/databases/{database_id}.

collection_ids[]

string

Which collection IDs to export. Unspecified means all collections. Each collection ID in this list must be unique.

output_uri_prefix

string

The output URI. Currently only supports Google Cloud Storage URIs of the form: gs://BUCKET_NAME[/NAMESPACE_PATH], where BUCKET_NAME is the name of the Google Cloud Storage bucket and NAMESPACE_PATH is an optional Google Cloud Storage namespace path. When choosing a name, be sure to consider Google Cloud Storage naming guidelines: https://cloud.google.com/storage/docs/naming. If the URI is a bucket (without a namespace path), a prefix will be generated based on the start time.

namespace_ids[]

string

An empty list represents all namespaces. This is the preferred usage for databases that don't use namespaces.

An empty string element represents the default namespace. This should be used if the database has data in non-default namespaces, but doesn't want to include them. Each namespace in this list must be unique.

snapshot_time

Timestamp

The timestamp that corresponds to the version of the database to be exported. The timestamp must be in the past, rounded to the minute and not older than earliestVersionTime. If specified, then the exported documents will represent a consistent view of the database at the provided time. Otherwise, there are no guarantees about the consistency of the exported documents.

ExportDocumentsResponse

Returned in the google.longrunning.Operation response field.

Fields
output_uri_prefix

string

Location of the output files. This can be used to begin an import into Cloud Firestore (this project or another project) after the operation completes successfully.

Field

Represents a single field in the database.

Fields are grouped by their "Collection Group", which represent all collections in the database with the same ID.

Fields
name

string

Required. A field name of the form projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}

A field path may be a simple field name, e.g. address or a path to fields within map_value , e.g. address.city, or a special field path. The only valid special field is *, which represents any field.

Field paths may be quoted using (backtick). The only character that needs to be escaped within a quoted field path is the backtick character itself, escaped using a backslash. Special characters in field paths that must be quoted include:*,., ``` (backtick),[,]`, as well as any ascii symbolic characters.

Examples: (Note: Comments here are written in markdown syntax, so there is an additional layer of backticks to represent a code block) \address.city`represents a field namedaddress.city, not the map key cityin the fieldaddress. `*`represents a field named*`, not any field.

A special Field contains the default indexing settings for all fields. This field's resource name is: projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/* Indexes defined on this Field will be applied to all fields which do not have their own Field index configuration.

index_config

IndexConfig

The index configuration for this field. If unset, field indexing will revert to the configuration defined by the ancestor_field. To explicitly remove all indexes for this field, specify an index config with an empty list of indexes.

ttl_config

TtlConfig

The TTL configuration for this Field. Setting or unsetting this will enable or disable the TTL for documents that have this Field.

IndexConfig

The index configuration for this field.

Fields
indexes[]

Index

The indexes supported for this field.

uses_ancestor_config

bool

Output only. When true, the Field's index configuration is set from the configuration specified by the ancestor_field. When false, the Field's index configuration is defined explicitly.

ancestor_field

string

Output only. Specifies the resource name of the Field from which this field's index configuration is set (when uses_ancestor_config is true), or from which it would be set if this field had no index configuration (when uses_ancestor_config is false).

reverting

bool

Output only When true, the Field's index configuration is in the process of being reverted. Once complete, the index config will transition to the same state as the field specified by ancestor_field, at which point uses_ancestor_config will be true and reverting will be false.

TtlConfig

The TTL (time-to-live) configuration for documents that have this Field set.

Storing a timestamp value into a TTL-enabled field will be treated as the document's absolute expiration time. Timestamp values in the past indicate that the document is eligible for immediate expiration. Using any other data type or leaving the field absent will disable expiration for the individual document.

Fields
state

State

Output only. The state of the TTL configuration.

State

The state of applying the TTL configuration to all documents.

Enums
STATE_UNSPECIFIED The state is unspecified or unknown.
CREATING The TTL is being applied. There is an active long-running operation to track the change. Newly written documents will have TTLs applied as requested. Requested TTLs on existing documents are still being processed. When TTLs on all existing documents have been processed, the state will move to 'ACTIVE'.
ACTIVE The TTL is active for all documents.
NEEDS_REPAIR The TTL configuration could not be enabled for all existing documents. Newly written documents will continue to have their TTL applied. The LRO returned when last attempting to enable TTL for this Field has failed, and may have more details.

FieldOperationMetadata

Metadata for google.longrunning.Operation results from FirestoreAdmin.UpdateField.

Fields
start_time

Timestamp

The time this operation started.

end_time

Timestamp

The time this operation completed. Will be unset if operation still in progress.

field

string

The field resource that this operation is acting on. For example: projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}

index_config_deltas[]

IndexConfigDelta

A list of IndexConfigDelta, which describe the intent of this operation.

state

OperationState

The state of the operation.

progress_documents

Progress

The progress, in documents, of this operation.

progress_bytes

Progress

The progress, in bytes, of this operation.

ttl_config_delta

TtlConfigDelta

Describes the deltas of TTL configuration.

IndexConfigDelta

Information about an index configuration change.

Fields
change_type

ChangeType

Specifies how the index is changing.

index

Index

The index being changed.

ChangeType

Specifies how the index is changing.

Enums
CHANGE_TYPE_UNSPECIFIED The type of change is not specified or known.
ADD The single field index is being added.
REMOVE The single field index is being removed.

TtlConfigDelta

Information about a TTL configuration change.

Fields
change_type

ChangeType

Specifies how the TTL configuration is changing.

ChangeType

Specifies how the TTL config is changing.

Enums
CHANGE_TYPE_UNSPECIFIED The type of change is not specified or known.
ADD The TTL config is being added.
REMOVE The TTL config is being removed.

GetBackupRequest

The request for FirestoreAdmin.GetBackup.

Fields
name

string

Required. Name of the backup to fetch.

Format is projects/{project}/locations/{location}/backups/{backup}.

GetBackupScheduleRequest

The request for FirestoreAdmin.GetBackupSchedule.

Fields
name

string

Required. The name of the backup schedule.

Format projects/{project}/databases/{database}/backupSchedules/{backup_schedule}

GetDatabaseRequest

The request for FirestoreAdmin.GetDatabase.

Fields
name

string

Required. A name of the form projects/{project_id}/databases/{database_id}

GetFieldRequest

The request for FirestoreAdmin.GetField.

Fields
name

string

Required. A name of the form projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_id}

GetIndexRequest

The request for FirestoreAdmin.GetIndex.

Fields
name

string

Required. A name of the form projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}

ImportDocumentsMetadata

Metadata for google.longrunning.Operation results from FirestoreAdmin.ImportDocuments.

Fields
start_time

Timestamp

The time this operation started.

end_time

Timestamp

The time this operation completed. Will be unset if operation still in progress.

operation_state

OperationState

The state of the import operation.

progress_documents

Progress

The progress, in documents, of this operation.

progress_bytes

Progress

The progress, in bytes, of this operation.

collection_ids[]

string

Which collection IDs are being imported.

input_uri_prefix

string

The location of the documents being imported.

namespace_ids[]

string

Which namespace IDs are being imported.

ImportDocumentsRequest

The request for FirestoreAdmin.ImportDocuments.

Fields
name

string

Required. Database to import into. Should be of the form: projects/{project_id}/databases/{database_id}.

collection_ids[]

string

Which collection ids to import. Unspecified means all collections included in the import.

input_uri_prefix

string

Location of the exported files. This must match the output_uri_prefix of an ExportDocumentsResponse from an export that has completed successfully. See: google.firestore.admin.v1.ExportDocumentsResponse.output_uri_prefix.

namespace_ids[]

string

An empty list represents all namespaces. This is the preferred usage for databases that don't use namespaces.

An empty string element represents the default namespace. This should be used if the database has data in non-default namespaces, but doesn't want to include them. Each namespace in this list must be unique.

Index

Cloud Firestore indexes enable simple and complex queries against documents in a database.

Fields
name

string

Output only. A server defined name for this index. The form of this name for composite indexes will be: projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id} For single field indexes, this field will be empty.

query_scope

QueryScope

Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection ID.

Indexes with a collection group query scope specified allow queries against all collections descended from a specific document, specified at query time, and that have the same collection ID as this index.

api_scope

ApiScope

The API scope supported by this index.

fields[]

IndexField

The fields supported by this index.

For composite indexes, this requires a minimum of 2 and a maximum of 100 fields. The last field entry is always for the field path __name__. If, on creation, __name__ was not specified as the last field, it will be added automatically with the same direction as that of the last field defined. If the final field in a composite index is not directional, the __name__ will be ordered ASCENDING (unless explicitly specified).

For single field indexes, this will always be exactly one entry with a field path equal to the field path of the associated field.

state

State

Output only. The serving state of the index.

ApiScope

API Scope defines the APIs (Firestore Native, or Firestore in Datastore Mode) that are supported for queries.

Enums
ANY_API The index can only be used by the Firestore Native query API. This is the default.
DATASTORE_MODE_API The index can only be used by the Firestore in Datastore Mode query API.

IndexField

A field in an index. The field_path describes which field is indexed, the value_mode describes how the field value is indexed.

Fields
field_path

string

Can be name. For single field indexes, this must match the name of the field or may be omitted.

Union field value_mode. How the field value is indexed. value_mode can be only one of the following:
order

Order

Indicates that this field supports ordering by the specified order or comparing using =, !=, <, <=, >, >=.

array_config

ArrayConfig

Indicates that this field supports operations on array_values.

vector_config

VectorConfig

Indicates that this field supports nearest neighbor and distance operations on vector.

ArrayConfig

The supported array value configurations.

Enums
ARRAY_CONFIG_UNSPECIFIED The index does not support additional array queries.
CONTAINS The index supports array containment queries.

Order

The supported orderings.

Enums
ORDER_UNSPECIFIED The ordering is unspecified. Not a valid option.
ASCENDING The field is ordered by ascending field value.
DESCENDING The field is ordered by descending field value.

VectorConfig

The index configuration to support vector search operations

Fields
dimension

int32

Required. The vector dimension this configuration applies to.

The resulting index will only include vectors of this dimension, and can be used for vector search with the same dimension.

Union field type. The type of index used. type can be only one of the following:
flat

FlatIndex

Indicates the vector index is a flat index.

FlatIndex

This type has no fields.

An index that stores vectors in a flat data structure, and supports exhaustive search.

QueryScope

Query Scope defines the scope at which a query is run. This is specified on a StructuredQuery's from field.

Enums
QUERY_SCOPE_UNSPECIFIED The query scope is unspecified. Not a valid option.
COLLECTION Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the collection ID specified by the index.
COLLECTION_GROUP Indexes with a collection group query scope specified allow queries against all collections that has the collection ID specified by the index.
COLLECTION_RECURSIVE Include all the collections's ancestor in the index. Only available for Datastore Mode databases.

State

The state of an index. During index creation, an index will be in the CREATING state. If the index is created successfully, it will transition to the READY state. If the index creation encounters a problem, the index will transition to the NEEDS_REPAIR state.

Enums
STATE_UNSPECIFIED The state is unspecified.
CREATING The index is being created. There is an active long-running operation for the index. The index is updated when writing a document. Some index data may exist.
READY The index is ready to be used. The index is updated when writing a document. The index is fully populated from all stored documents it applies to.
NEEDS_REPAIR The index was being created, but something went wrong. There is no active long-running operation for the index, and the most recently finished long-running operation failed. The index is not updated when writing a document. Some index data may exist. Use the google.longrunning.Operations API to determine why the operation that last attempted to create this index failed, then re-create the index.

IndexOperationMetadata

Metadata for google.longrunning.Operation results from FirestoreAdmin.CreateIndex.

Fields
start_time

Timestamp

The time this operation started.

end_time

Timestamp

The time this operation completed. Will be unset if operation still in progress.

index

string

The index resource that this operation is acting on. For example: projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}

state

OperationState

The state of the operation.

progress_documents

Progress

The progress, in documents, of this operation.

progress_bytes

Progress

The progress, in bytes, of this operation.

ListBackupSchedulesRequest

The request for FirestoreAdmin.ListBackupSchedules.

Fields
parent

string

Required. The parent database.

Format is projects/{project}/databases/{database}.

ListBackupSchedulesResponse

The response for FirestoreAdmin.ListBackupSchedules.

Fields
backup_schedules[]

BackupSchedule

List of all backup schedules.

ListBackupsRequest

The request for FirestoreAdmin.ListBackups.

Fields
parent

string

Required. The location to list backups from.

Format is projects/{project}/locations/{location}. Use {location} = '-' to list backups from all locations for the given project. This allows listing backups from a single location or from all locations.

ListBackupsResponse

The response for FirestoreAdmin.ListBackups.

Fields
backups[]

Backup

List of all backups for the project.

unreachable[]

string

List of locations that existing backups were not able to be fetched from.

Instead of failing the entire requests when a single location is unreachable, this response returns a partial result set and list of locations unable to be reached here. The request can be retried against a single location to get a concrete error.

ListDatabasesRequest

A request to list the Firestore Databases in all locations for a project.

Fields
parent

string

Required. A parent name of the form projects/{project_id}

show_deleted

bool

If true, also returns deleted resources.

ListDatabasesResponse

The list of databases for a project.

Fields
databases[]

Database

The databases in the project.

unreachable[]

string

In the event that data about individual databases cannot be listed they will be recorded here.

An example entry might be: projects/some_project/locations/some_location This can happen if the Cloud Region that the Database resides in is currently unavailable. In this case we can't fetch all the details about the database. You may be able to get a more detailed error message (or possibly fetch the resource) by sending a 'Get' request for the resource or a 'List' request for the specific location.

ListFieldsRequest

The request for FirestoreAdmin.ListFields.

Fields
parent

string

Required. A parent name of the form projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}

filter

string

The filter to apply to list results. Currently, FirestoreAdmin.ListFields only supports listing fields that have been explicitly overridden. To issue this query, call FirestoreAdmin.ListFields with a filter that includes indexConfig.usesAncestorConfig:false or ttlConfig:*.

page_size

int32

The number of results to return.

page_token

string

A page token, returned from a previous call to FirestoreAdmin.ListFields, that may be used to get the next page of results.

ListFieldsResponse

The response for FirestoreAdmin.ListFields.

Fields
fields[]

Field

The requested fields.

next_page_token

string

A page token that may be used to request another page of results. If blank, this is the last page.

ListIndexesRequest

The request for FirestoreAdmin.ListIndexes.

Fields
parent

string

Required. A parent name of the form projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}

filter

string

The filter to apply to list results.

page_size

int32

The number of results to return.

page_token

string

A page token, returned from a previous call to FirestoreAdmin.ListIndexes, that may be used to get the next page of results.

ListIndexesResponse

The response for FirestoreAdmin.ListIndexes.

Fields
indexes[]

Index

The requested indexes.

next_page_token

string

A page token that may be used to request another page of results. If blank, this is the last page.

LocationMetadata

This type has no fields.

The metadata message for google.cloud.location.Location.metadata.

OperationState

Describes the state of the operation.

Enums
OPERATION_STATE_UNSPECIFIED Unspecified.
INITIALIZING Request is being prepared for processing.
PROCESSING Request is actively being processed.
CANCELLING Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.
FINALIZING Request has been processed and is in its finalization stage.
SUCCESSFUL Request has completed successfully.
FAILED Request has finished being processed, but encountered an error.
CANCELLED Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation.

Progress

Describes the progress of the operation. Unit of work is generic and must be interpreted based on where Progress is used.

Fields
estimated_work

int64

The amount of work estimated.

completed_work

int64

The amount of work completed.

RestoreDatabaseMetadata

Metadata for the long-running operation from the [RestoreDatabase][google.firestore.admin.v1.RestoreDatabase] request.

Fields
start_time

Timestamp

The time the restore was started.

end_time

Timestamp

The time the restore finished, unset for ongoing restores.

operation_state

OperationState

The operation state of the restore.

database

string

The name of the database being restored to.

backup

string

The name of the backup restoring from.

progress_percentage

Progress

How far along the restore is as an estimated percentage of remaining time.

RestoreDatabaseRequest

The request message for [FirestoreAdmin.RestoreDatabase][google.firestore.admin.v1.RestoreDatabase].

Fields
parent

string

Required. The project to restore the database in. Format is projects/{project_id}.

database_id

string

Required. The ID to use for the database, which will become the final component of the database's resource name. This database id must not be associated with an existing database.

This value should be 4-63 characters. Valid characters are /[a-z][0-9]-/ with first character a letter and the last a letter or a number. Must not be UUID-like /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/.

"(default)" database id is also valid.

Union field source.

source can be only one of the following:

backup

string

Backup to restore from. Must be from the same project as the parent.

Format is: projects/{project_id}/locations/{location}/backups/{backup}

UpdateBackupScheduleRequest

The request for FirestoreAdmin.UpdateBackupSchedule.

Fields
backup_schedule

BackupSchedule

Required. The backup schedule to update.

update_mask

FieldMask

The list of fields to be updated.

UpdateDatabaseMetadata

This type has no fields.

Metadata related to the update database operation.

UpdateDatabaseRequest

The request for FirestoreAdmin.UpdateDatabase.

Fields
database

Database

Required. The database to update.

update_mask

FieldMask

The list of fields to be updated.

UpdateFieldRequest

The request for FirestoreAdmin.UpdateField.

Fields
field

Field

Required. The field to be updated.

update_mask

FieldMask

A mask, relative to the field. If specified, only configuration specified by this field_mask will be updated in the field.

WeeklyRecurrence

Represents a recurring schedule that runs on a specified day of the week.

The time zone is UTC.

Fields
day

DayOfWeek

The day of week to run.

DAY_OF_WEEK_UNSPECIFIED is not allowed.