Package google.firestore.admin.v1beta2

Index

FirestoreAdmin

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

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.

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.

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.

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.

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.

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.

CreateIndexRequest

The request for FirestoreAdmin.CreateIndex.

Fields
parent

string

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

index

Index

The composite index to create.

DeleteIndexRequest

The request for FirestoreAdmin.DeleteIndex.

Fields
name

string

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 entities are being exported to.

ExportDocumentsRequest

The request for FirestoreAdmin.ExportDocuments.

Fields
name

string

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.

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.

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

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.

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.

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.

document_progress

Progress

The progress, in documents, of this operation.

bytes_progress

Progress

The progress, in bytes, of this operation.

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.

GetFieldRequest

The request for FirestoreAdmin.GetField.

Fields
name

string

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

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.

ImportDocumentsRequest

The request for FirestoreAdmin.ImportDocuments.

Fields
name

string

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.v1beta2.ExportDocumentsResponse.output_uri_prefix.

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.

fields[]

IndexField

The fields supported by this index.

For composite indexes, this is always 2 or more 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.

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.

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.

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.

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.

ListFieldsRequest

The request for FirestoreAdmin.ListFields.

Fields
parent

string

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 the filter set to indexConfig.usesAncestorConfig:false.

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

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.

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.

UpdateFieldRequest

The request for FirestoreAdmin.UpdateField.

Fields
field

Field

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.