このMCPでできること
Manages Google Cloud Firestore databases, documents, collections, indexes, backups, and backup schedules.
ツール
入力スキーマ
{'type': 'object', '$defs': {'Stage': {'type': 'object', 'required': ['name'], 'properties': {'args': {'type': 'array', 'items': {'$ref': '#/$defs/Value'}, 'description': 'Optional. Ordered list of arguments the given stage expects.'}, 'name': {'type': 'string', 'description': 'Required. The name of the stage to evaluate. **Requires:** * must be in snake case (lower case with underscore separator).'}, 'options': {'type': 'object', 'description': 'Optional. Optional named arguments that certain functions may support.', 'additionalProperties': {'$ref': '#/$defs/Value'}}}, 'description': 'A single operation within a pipeline. A stage is made up of a unique name, and a list of arguments. The exact number of arguments & types is dependent on the stage type. To give an example, the stage `filter(state = "MD")` would be encoded as: ``` name: "filter" args { function_value { name: "eq" args { field_reference_value: "state" } args { string_value: "MD" } } } ``` See public documentation for the full list.'}, 'Value': {'type': 'object', 'properties': {'mapValue': {'$ref': '#/$defs/MapValue', 'description': 'A map value.'}, 'nullValue': {'enum': ['NULL_VALUE'], 'type': 'string', 'description': 'A null value.', 'x-google-enum-descriptions': ['Null value.']}, 'arrayValue': {'$ref': '#/$defs/ArrayValue', 'description': 'An array value. In Standard edition databases, an array value cannot directly contain another array value, though it can contain a map which contains another array. In Enterprise edition databases, an array value can contain another array value.'}, 'bytesValue': {'type': 'string', 'format': 'byte', 'description': 'A bytes value. In Standard edition databases: * The value must not exceed 1 MiB - 89 bytes. * Only the first 1,500 bytes are considered by queries. In Enterprise edition databases, there is no limit on the size of the value. However, it is still subject to document and index entry size limits.'}, 'doubleValue': {'type': 'number', 'format': 'double', 'description': 'A double value.'}, 'stringValue': {'type': 'string', 'description': 'A string value. In Standard edition databases: * The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. * Only the first 1,500 bytes of the UTF-8 representation are considered by queries. In Enterprise edition databases, there is no limit on the size of the value. However, it is still subject to document and index entry size limits.'}, 'booleanValue': {'type': 'boolean', 'description': 'A boolean value.'}, 'integerValue': {'type': 'string', 'format': 'int64', 'description': 'An integer value.'}, 'functionValue': {'$ref': '#/$defs/Function', 'description': 'A value that represents an unevaluated expression. **Requires:** * Not allowed to be used when writing documents.'}, 'geoPointValue': {'$ref': '#/$defs/LatLng', 'description': 'A geo point value representing a point on the surface of Earth.'}, 'pipelineValue': {'$ref': '#/$defs/Pipeline', 'description': 'A value that represents an unevaluated pipeline. **Requires:** * Not allowed to be used when writing documents.'}, 'referenceValue': {'type': 'string', 'description': 'A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.'}, 'timestampValue': {'type': 'string', 'format': 'date-time', 'description': 'A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.'}, 'fieldReferenceValue': {'type': 'string', 'description': 'Value which references a field. This is considered relative (vs absolute) since it only refers to a field and not a field within a particular document. **Requires:** * Must follow field reference limitations. * Not allowed to be used when writing documents.'}, 'variableReferenceValue': {'type': 'string', 'description': 'Pointer to a variable defined elsewhere in a pipeline. Unlike `field_reference_value` which references a field within a document, this refers to a variable, defined in a separate namespace than the fields of a document.'}}, 'description': 'A message that can hold any of the supported value types.'}, 'LatLng': {'type': 'object', 'properties': {'latitude': {'type': 'number', 'format': 'double', 'description': 'The latitude in degrees. It must be in the range [-90.0, +90.0].'}, 'longitude': {'type': 'number', 'format': 'double', 'description': 'The longitude in degrees. It must be in the range [-180.0, +180.0].'}}, 'description': 'An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard <https://en.wikipedia.org/wiki/World_Geodetic_System#1984_version>. Values must be within normalized ranges.'}, 'Document': {'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`.'}, 'fields': {'type': 'object', 'description': 'The document\'s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The field names, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by a dot-delimited (`.`) string of segments. Each segment is either a simple field name (defined below) or a quoted field name. For example, the structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be represented by the field path `` foo.`x&y` ``. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. A quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\\`. For example, `` `x&y` `` represents `x&y` and `` `bak\\`tik` `` represents `` bak`tik ``.', 'additionalProperties': {'$ref': '#/$defs/Value'}}, 'createTime': {'type': 'string', 'format': 'date-time', 'description': 'Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'description': 'Output only. The time at which the document was last changed. This value is initially set to the `create_time` then increases monotonically with each change to the document. It can also be compared to values from other documents and the `read_time` of a query.'}}, 'description': 'A Firestore document. Must not exceed 1 MiB - 4 bytes.'}, 'Function': {'type': 'object', 'required': ['name'], 'properties': {'args': {'type': 'array', 'items': {'$ref': '#/$defs/Value'}, 'description': 'Optional. Ordered list of arguments the given function expects.'}, 'name': {'type': 'string', 'description': 'Required. The name of the function to evaluate. **Requires:** * must be in snake case (lower case with underscore separator).'}, 'options': {'type': 'object', 'description': 'Optional. Optional named arguments that certain functions may support.', 'additionalProperties': {'$ref': '#/$defs/Value'}}}, 'description': 'Represents an unevaluated scalar expression. For example, the expression `like(user_name, "%alice%")` is represented as: ``` name: "like" args { field_reference: "user_name" } args { string_value: "%alice%" } ```'}, 'MapValue': {'type': 'object', 'properties': {'fields': {'type': 'object', 'description': "The map's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.", 'additionalProperties': {'$ref': '#/$defs/Value'}}}, 'description': 'A map value.'}, 'Pipeline': {'type': 'object', 'required': ['stages'], 'properties': {'stages': {'type': 'array', 'items': {'$ref': '#/$defs/Stage'}, 'description': 'Required. Ordered list of stages to evaluate.'}}, 'description': 'A Firestore query represented as an ordered list of operations / stages.'}, 'ArrayValue': {'type': 'object', 'properties': {'values': {'type': 'array', 'items': {'$ref': '#/$defs/Value'}, 'description': 'Values in the array.'}}, 'description': 'An array value.'}, 'DocumentMask': {'type': 'object', 'properties': {'fieldPaths': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The list of field paths in the mask. See Document.fields for a field path syntax reference.'}}, 'description': 'A set of field paths on a document. Used to restrict a get or update operation on a document to a subset of its fields. This is different from standard field masks, as this is always scoped to a Document, and takes in account the dynamic nature of Value.'}, 'RequestOptions': {'type': 'object', 'properties': {'requestTags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional. The request tags for the request. Request tags are user-provided strings used for usage monitoring, cost management, and observability. Callers can associate custom application context (such as component, microservice, feature name, or operation type) with database requests. These tags are collected and aggregated in usage and monitoring reports, allowing billable operations and usage metrics to be sliced and analyzed by tag. These tags *only* show up in monitoring and are visible in administrative operations (such as usage reports). They do not affect data storage, query semantics, or request execution. Cardinality and Best Practices: - Request tags are most effective when using a bounded set of distinct values (e.g., fewer than 100 distinct tags across an entire database). Using a large number of distinct tags may result in tags being omitted from top usage dashboards. - Use structured identifiers (for example: `app=cart`, `env=prod`, `service=checkout`) and avoid high-cardinality values such as UUIDs, request IDs, timestamps, user IDs, or document keys. - Do not include sensitive data or personally identifiable information (PII) in request tags, as they show up in administrative monitoring. The tags are processed as follows: - Leading and trailing whitespace is trimmed. - Empty tags (after trimming) are filtered out. - Truncated to a maximum of 510 characters. - Deduplicated within the same request. - Limited to a maximum of 50 tags per request (excess tags are silently discarded).'}}, 'description': 'Options for a request.'}}, 'required': ['parent', 'collectionId', 'document'], 'properties': {'mask': {'$ref': '#/$defs/DocumentMask', 'description': 'The fields to return. If not set, returns all fields. If the document has a field that is not present in this mask, that field will not be returned in the response.'}, 'parent': {'type': 'string', 'description': 'Required. The parent resource. For example: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}`'}, 'document': {'$ref': '#/$defs/Document', 'description': 'Required. The document to create. `name` must not be set.'}, 'documentId': {'type': 'string', 'description': 'The client-assigned document ID to use for this document. Optional. If not specified, an ID will be assigned by the service.'}, 'collectionId': {'type': 'string', 'description': 'Required. The collection ID, relative to `parent`, to list. For example: `chatrooms`.'}, 'requestOptions': {'$ref': '#/$defs/RequestOptions', 'description': 'Optional. The request options for this request.'}}, 'description': 'The request for Firestore.CreateDocument.'}
出力スキーマ
{'type': 'object', '$defs': {'Stage': {'type': 'object', 'properties': {'args': {'type': 'array', 'items': {'$ref': '#/$defs/Value'}, 'description': 'Optional. Ordered list of arguments the given stage expects.'}, 'name': {'type': 'string', 'description': 'Required. The name of the stage to evaluate. **Requires:** * must be in snake case (lower case with underscore separator).'}, 'options': {'type': 'object', 'description': 'Optional. Optional named arguments that certain functions may support.', 'additionalProperties': {'$ref': '#/$defs/Value'}}}, 'description': 'A single operation within a pipeline. A stage is made up of a unique name, and a list of arguments. The exact number of arguments & types is dependent on the stage type. To give an example, the stage `filter(state = "MD")` would be encoded as: ``` name: "filter" args { function_value { name: "eq" args { field_reference_value: "state" } args { string_value: "MD" } } } ``` See public documentation for the full list.'}, 'Value': {'type': 'object', 'properties': {'mapValue': {'$ref': '#/$defs/MapValue', 'description': 'A map value.'}, 'nullValue': {'enum': ['NULL_VALUE'], 'type': 'string', 'description': 'A null value.', 'x-google-enum-descriptions': ['Null value.']}, 'arrayValue': {'$ref': '#/$defs/ArrayValue', 'description': 'An array value. In Standard edition databases, an array value cannot directly contain another array value, though it can contain a map which contains another array. In Enterprise edition databases, an array value can contain another array value.'}, 'bytesValue': {'type': 'string', 'format': 'byte', 'description': 'A bytes value. In Standard edition databases: * The value must not exceed 1 MiB - 89 bytes. * Only the first 1,500 bytes are considered by queries. In Enterprise edition databases, there is no limit on the size of the value. However, it is still subject to document and index entry size limits.'}, 'doubleValue': {'type': 'number', 'format': 'double', 'description': 'A double value.'}, 'stringValue': {'type': 'string', 'description': 'A string value. In Standard edition databases: * The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. * Only the first 1,500 bytes of the UTF-8 representation are considered by queries. In Enterprise edition databases, there is no limit on the size of the value. However, it is still subject to document and index entry size limits.'}, 'booleanValue': {'type': 'boolean', 'description': 'A boolean value.'}, 'integerValue': {'type': 'string', 'format': 'int64', 'description': 'An integer value.'}, 'functionValue': {'$ref': '#/$defs/Function', 'description': 'A value that represents an unevaluated expression. **Requires:** * Not allowed to be used when writing documents.'}, 'geoPointValue': {'$ref': '#/$defs/LatLng', 'description': 'A geo point value representing a point on the surface of Earth.'}, 'pipelineValue': {'$ref': '#/$defs/Pipeline', 'description': 'A value that represents an unevaluated pipeline. **Requires:** * Not allowed to be used when writing documents.'}, 'referenceValue': {'type': 'string', 'description': 'A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.'}, 'timestampValue': {'type': 'string', 'format': 'date-time', 'description': 'A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.'}, 'fieldReferenceValue': {'type': 'string', 'description': 'Value which references a field. This is considered relative (vs absolute) since it only refers to a field and not a field within a particular document. **Requires:** * Must follow field reference limitations. * Not allowed to be used when writing documents.'}, 'variableReferenceValue': {'type': 'string', 'description': 'Pointer to a variable defined elsewhere in a pipeline. Unlike `field_reference_value` which references a field within a document, this refers to a variable, defined in a separate namespace than the fields of a document.'}}, 'description': 'A message that can hold any of the supported value types.'}, 'LatLng': {'type': 'object', 'properties': {'latitude': {'type': 'number', 'format': 'double', 'description': 'The latitude in degrees. It must be in the range [-90.0, +90.0].'}, 'longitude': {'type': 'number', 'format': 'double', 'description': 'The longitude in degrees. It must be in the range [-180.0, +180.0].'}}, 'description': 'An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard <https://en.wikipedia.org/wiki/World_Geodetic_System#1984_version>. Values must be within normalized ranges.'}, 'Function': {'type': 'object', 'properties': {'args': {'type': 'array', 'items': {'$ref': '#/$defs/Value'}, 'description': 'Optional. Ordered list of arguments the given function expects.'}, 'name': {'type': 'string', 'description': 'Required. The name of the function to evaluate. **Requires:** * must be in snake case (lower case with underscore separator).'}, 'options': {'type': 'object', 'description': 'Optional. Optional named arguments that certain functions may support.', 'additionalProperties': {'$ref': '#/$defs/Value'}}}, 'description': 'Represents an unevaluated scalar expression. For example, the expression `like(user_name, "%alice%")` is represented as: ``` name: "like" args { field_reference: "user_name" } args { string_value: "%alice%" } ```'}, 'MapValue': {'type': 'object', 'properties': {'fields': {'type': 'object', 'description': "The map's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.", 'additionalProperties': {'$ref': '#/$defs/Value'}}}, 'description': 'A map value.'}, 'Pipeline': {'type': 'object', 'properties': {'stages': {'type': 'array', 'items': {'$ref': '#/$defs/Stage'}, 'description': 'Required. Ordered list of stages to evaluate.'}}, 'description': 'A Firestore query represented as an ordered list of operations / stages.'}, 'ArrayValue': {'type': 'object', 'properties': {'values': {'type': 'array', 'items': {'$ref': '#/$defs/Value'}, 'description': 'Values in the array.'}}, 'description': 'An array value.'}}, 'properties': {'name': {'type': 'string', 'description': 'The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`.'}, 'fields': {'type': 'object', 'description': 'The document\'s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The field names, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by a dot-delimited (`.`) string of segments. Each segment is either a simple field name (defined below) or a quoted field name. For example, the structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be represented by the field path `` foo.`x&y` ``. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. A quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\\`. For example, `` `x&y` `` represents `x&y` and `` `bak\\`tik` `` represents `` bak`tik ``.', 'additionalProperties': {'$ref': '#/$defs/Value'}}, 'createTime': {'type': 'string', 'format': 'date-time', 'description': 'Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'description': 'Output only. The time at which the document was last changed. This value is initially set to the `create_time` then increases monotonically with each change to the document. It can also be compared to values from other documents and the `read_time` of a query.'}}, 'description': 'A Firestore document. Must not exceed 1 MiB - 4 bytes.'}
入力スキーマ
{'type': 'object', '$defs': {'BackupSchedule': {'type': 'object', 'properties': {'name': {'type': 'string', 'readOnly': True, 'description': '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}`'}, 'retention': {'type': 'string', 'format': 'google-duration', 'description': '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.'}, 'createTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': '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.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': '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.'}, 'dailyRecurrence': {'$ref': '#/$defs/DailyRecurrence', 'description': 'For a schedule that runs daily.'}, 'weeklyRecurrence': {'$ref': '#/$defs/WeeklyRecurrence', 'description': 'For a schedule that runs weekly on a specific day.'}}, 'description': '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.'}, 'DailyRecurrence': {'type': 'object', 'properties': {}, 'description': 'Represents a recurring schedule that runs every day. The time zone is UTC.'}, 'WeeklyRecurrence': {'type': 'object', 'properties': {'day': {'enum': ['DAY_OF_WEEK_UNSPECIFIED', 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY'], 'type': 'string', 'description': 'The day of week to run. DAY_OF_WEEK_UNSPECIFIED is not allowed.', 'x-google-enum-descriptions': ['The day of the week is unspecified.', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']}}, 'description': 'Represents a recurring schedule that runs on a specified day of the week. The time zone is UTC.'}}, 'required': ['parent', 'backupSchedule'], 'properties': {'parent': {'type': 'string', 'description': 'Required. The parent database. Format `projects/{project}/databases/{database}`'}, 'backupSchedule': {'$ref': '#/$defs/BackupSchedule', 'description': 'Required. The backup schedule to create.'}}, 'description': 'The request for FirestoreAdmin.CreateBackupSchedule.'}
出力スキーマ
{'type': 'object', '$defs': {'DailyRecurrence': {'type': 'object', 'properties': {}, 'description': 'Represents a recurring schedule that runs every day. The time zone is UTC.'}, 'WeeklyRecurrence': {'type': 'object', 'properties': {'day': {'enum': ['DAY_OF_WEEK_UNSPECIFIED', 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY'], 'type': 'string', 'description': 'The day of week to run. DAY_OF_WEEK_UNSPECIFIED is not allowed.', 'x-google-enum-descriptions': ['The day of the week is unspecified.', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']}}, 'description': 'Represents a recurring schedule that runs on a specified day of the week. The time zone is UTC.'}}, 'properties': {'name': {'type': 'string', 'readOnly': True, 'description': '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}`'}, 'retention': {'type': 'string', 'format': 'google-duration', 'description': '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.'}, 'createTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': '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.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': '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.'}, 'dailyRecurrence': {'$ref': '#/$defs/DailyRecurrence', 'description': 'For a schedule that runs daily.'}, 'weeklyRecurrence': {'$ref': '#/$defs/WeeklyRecurrence', 'description': 'For a schedule that runs weekly on a specific day.'}}, 'description': '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.'}
入力スキーマ
{'type': 'object', '$defs': {'Database': {'type': 'object', 'required': ['locationId', 'type'], 'properties': {'uid': {'type': 'string', 'readOnly': True, 'description': 'Output only. The system-generated UUID4 for this Database.'}, 'etag': {'type': 'string', 'description': '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.'}, 'name': {'type': 'string', 'description': 'The resource name of the Database. Format: `projects/{project}/databases/{database}`'}, 'tags': {'type': 'object', 'writeOnly': True, 'description': 'Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing"', 'x-google-immutable': True, 'additionalProperties': {'type': 'string'}}, 'type': {'enum': ['DATABASE_TYPE_UNSPECIFIED', 'FIRESTORE_NATIVE', 'DATASTORE_MODE'], 'type': 'string', 'description': 'Required. The type of the database. See https://cloud.google.com/datastore/docs/firestore-or-datastore for information about how to choose.', 'x-google-enum-descriptions': ['Not used.', 'Firestore Native Mode', 'Firestore in Datastore Mode.']}, 'freeTier': {'type': 'boolean', 'readOnly': True, 'description': 'Output only. Background: Free tier is the ability of a Firestore database to use a small amount of resources every day without being charged. Once usage exceeds the free tier limit further usage is charged. Whether this database can make use of the free tier. Only one database per project can be eligible for the free tier. The first (or next) database that is created in a project without a free tier database will be marked as eligible for the free tier. Databases that are created while there is a free tier database will not be eligible for the free tier.'}, 'keyPrefix': {'type': 'string', 'readOnly': True, 'description': '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).'}, 'cmekConfig': {'$ref': '#/$defs/CmekConfig', 'description': 'Optional. Presence indicates CMEK is enabled for this database.'}, 'createTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The timestamp at which this database was created. Databases created before 2016 do not populate create_time.'}, 'deleteTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The timestamp at which this database was deleted. Only set if the database has been deleted.'}, 'locationId': {'type': 'string', 'description': 'Required. The location of the database. Available locations are listed at https://cloud.google.com/firestore/docs/locations.'}, 'previousId': {'type': 'string', 'readOnly': True, 'description': "Output only. The database resource's prior database ID. This field is only populated for deleted databases."}, 'sourceInfo': {'$ref': '#/$defs/SourceInfo', 'readOnly': True, 'description': 'Output only. Information about the provenance of this database.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': '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.'}, 'concurrencyMode': {'enum': ['CONCURRENCY_MODE_UNSPECIFIED', 'OPTIMISTIC', 'PESSIMISTIC', 'OPTIMISTIC_WITH_ENTITY_GROUPS'], 'type': 'string', 'description': 'The default concurrency control mode to use for this database. If unspecified in a CreateDatabase request, this will default based on the database edition: Optimistic for Enterprise and Pessimistic for all other databases. While transactions can explicitly specify their own concurrency mode, this setting defines the default behavior when left unspecified. Important: This database-level setting is not respected for Firestore with MongoDB compatibility. All transactions through the MongoDB compatibility layer will use optimistic concurrency control, regardless of this setting.', 'x-google-enum-descriptions': ['Not used.', 'Use optimistic concurrency control by default. This mode is available for Cloud Firestore databases. This is the default setting for Cloud Firestore Enterprise edition databases.', 'Use pessimistic concurrency control by default. This mode is available for Cloud Firestore databases. This is the default setting for Cloud Firestore Standard edition databases.', 'Use optimistic concurrency control with entity groups by default. This mode is enabled for some databases that were automatically upgraded from Cloud Datastore to Cloud Firestore with Datastore Mode. It is not recommended for any new databases, and not supported for Firestore Native databases.']}, 'databaseEdition': {'enum': ['DATABASE_EDITION_UNSPECIFIED', 'STANDARD', 'ENTERPRISE'], 'type': 'string', 'description': 'Immutable. The edition of the database.', 'x-google-immutable': True, 'x-google-enum-descriptions': ['Not used.', 'Standard edition. This is the default setting if not specified.', 'Enterprise edition.']}, 'earliestVersionTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': '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.'}, 'realtimeUpdatesMode': {'enum': ['REALTIME_UPDATES_MODE_UNSPECIFIED', 'REALTIME_UPDATES_MODE_ENABLED', 'REALTIME_UPDATES_MODE_DISABLED'], 'type': 'string', 'description': 'Immutable. The default Realtime Updates mode to use for this database.', 'x-google-immutable': True, 'x-google-enum-descriptions': ['The Realtime Updates feature is not specified.', 'The Realtime Updates feature is enabled by default. This could potentially degrade write performance for the database.', 'The Realtime Updates feature is disabled by default.']}, 'deleteProtectionState': {'enum': ['DELETE_PROTECTION_STATE_UNSPECIFIED', 'DELETE_PROTECTION_DISABLED', 'DELETE_PROTECTION_ENABLED'], 'type': 'string', 'description': 'State of delete protection for the database.', 'x-google-enum-descriptions': ['The default value. Delete protection type is not specified', 'Delete protection is disabled', 'Delete protection is enabled']}, 'versionRetentionPeriod': {'type': 'string', 'format': 'google-duration', 'readOnly': True, 'description': '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.'}, 'firestoreDataAccessMode': {'enum': ['DATA_ACCESS_MODE_UNSPECIFIED', 'DATA_ACCESS_MODE_ENABLED', 'DATA_ACCESS_MODE_DISABLED'], 'type': 'string', 'description': 'Optional. The Firestore API data access mode to use for this database. If not set on write: - the default value is DATA_ACCESS_MODE_DISABLED for Enterprise edition. - the default value is DATA_ACCESS_MODE_ENABLED for Standard edition.', 'x-google-enum-descriptions': ['Not Used.', 'Accessing the database through the API is allowed.', 'Accessing the database through the API is disallowed.']}, 'appEngineIntegrationMode': {'enum': ['APP_ENGINE_INTEGRATION_MODE_UNSPECIFIED', 'ENABLED', 'DISABLED'], 'type': 'string', 'description': 'The App Engine integration mode to use for this database.', 'x-google-enum-descriptions': ['Not used.', '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.', '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.']}, 'pointInTimeRecoveryEnablement': {'enum': ['POINT_IN_TIME_RECOVERY_ENABLEMENT_UNSPECIFIED', 'POINT_IN_TIME_RECOVERY_ENABLED', 'POINT_IN_TIME_RECOVERY_DISABLED'], 'type': 'string', 'description': 'Whether to enable the PITR feature on this database.', 'x-google-enum-descriptions': ['Not used.', '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.', 'Reads are supported on any version of the data from within the past 1 hour.']}, 'mongodbCompatibleDataAccessMode': {'enum': ['DATA_ACCESS_MODE_UNSPECIFIED', 'DATA_ACCESS_MODE_ENABLED', 'DATA_ACCESS_MODE_DISABLED'], 'type': 'string', 'description': 'Optional. The MongoDB compatible API data access mode to use for this database. If not set on write, the default value is DATA_ACCESS_MODE_ENABLED for Enterprise edition. The value is always DATA_ACCESS_MODE_DISABLED for Standard edition.', 'x-google-enum-descriptions': ['Not Used.', 'Accessing the database through the API is allowed.', 'Accessing the database through the API is disallowed.']}}, 'description': 'A Cloud Firestore Database.'}, 'CmekConfig': {'type': 'object', 'required': ['kmsKeyName'], 'properties': {'kmsKeyName': {'type': 'string', 'description': "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}`."}, 'activeKeyVersion': {'type': 'array', 'items': {'type': 'string'}, 'readOnly': True, 'description': 'Output only. Currently in-use [KMS key versions](https://cloud.google.com/kms/docs/resource-hierarchy#key_versions). During [key rotation](https://cloud.google.com/kms/docs/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}`.'}}, 'description': 'The CMEK (Customer Managed Encryption Key) configuration for a Firestore database. If not present, the database is secured by the default Google encryption key.'}, 'SourceInfo': {'type': 'object', 'properties': {'backup': {'$ref': '#/$defs/BackupSource', 'description': 'If set, this database was restored from the specified backup (or a snapshot thereof).'}, 'operation': {'type': 'string', 'description': 'The associated long-running operation. This field may not be set after the operation has completed. Format: `projects/{project}/databases/{database}/operations/{operation}`.'}}, 'description': 'Information about the provenance of this database.'}, 'BackupSource': {'type': 'object', 'properties': {'backup': {'type': 'string', 'description': 'The resource name of the backup that was used to restore this database. Format: `projects/{project}/locations/{location}/backups/{backup}`.'}}, 'description': 'Information about a backup that was used to restore a database.'}}, 'required': ['parent', 'database', 'databaseId'], 'properties': {'parent': {'type': 'string', 'description': 'Required. A parent name of the form `projects/{project_id}`'}, 'database': {'$ref': '#/$defs/Database', 'description': 'Required. The Database to create.'}, 'databaseId': {'type': 'string', 'description': '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-/ 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 if the database is Standard edition.'}}, 'description': 'The request for FirestoreAdmin.CreateDatabase.'}
出力スキーマ
{'type': 'object', '$defs': {'Status': {'type': 'object', 'properties': {'code': {'type': 'integer', 'format': 'int32', 'description': 'The status code, which should be an enum value of google.rpc.Code.'}, 'details': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'description': 'A list of messages that carry the error details. There is a common set of message types for APIs to use.'}, 'message': {'type': 'string', '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.'}}, 'description': 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'}}, 'properties': {'done': {'type': 'boolean', 'description': 'If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.'}, 'name': {'type': 'string', 'description': 'The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.'}, 'error': {'$ref': '#/$defs/Status', 'description': 'The error result of the operation in case of failure or cancellation.'}, 'metadata': {'type': 'object', 'description': 'Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'response': {'type': 'object', 'description': 'The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}}, 'description': 'This resource represents a long-running operation that is the result of a network API call.'}
入力スキーマ
{'type': 'object', '$defs': {'Index': {'type': 'object', 'properties': {'name': {'type': 'string', 'readOnly': True, 'description': '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.'}, 'state': {'enum': ['STATE_UNSPECIFIED', 'CREATING', 'READY', 'NEEDS_REPAIR'], 'type': 'string', 'description': 'Output only. The serving state of the index.', 'x-google-enum-descriptions': ['The state is unspecified.', '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.', '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.', '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.']}, 'fields': {'type': 'array', 'items': {'$ref': '#/$defs/IndexField'}, 'description': 'A field in an index. The field_path describes which field is indexed, the value_mode describes how the field value is indexed.'}, 'unique': {'type': 'boolean', 'description': 'Optional. Whether it is an unique index. Unique index ensures all values for the indexed field(s) are unique across documents.'}, 'density': {'enum': ['DENSITY_UNSPECIFIED', 'SPARSE_ALL', 'SPARSE_ANY', 'DENSE'], 'type': 'string', 'description': 'Immutable. The density configuration of the index.', 'x-google-immutable': True, 'x-google-enum-descriptions': ['Unspecified. It will use database default setting. This value is input only.', 'An index entry will only exist if ALL fields are present in the document. This is both the default and only allowed value for Standard edition databases (for both Cloud Firestore `ANY_API` and Cloud Datastore `DATASTORE_MODE_API`). Take for example the following document: ``` { "__name__": "...", "a": 1, "b": 2, "c": 3 } ``` an index on `(a ASC, b ASC, c ASC, __name__ ASC)` will generate an index entry for this document since `a`, \'b\', `c`, and `__name__` are all present but an index of `(a ASC, d ASC, __name__ ASC)` will not generate an index entry for this document since `d` is missing. This means that such indexes can only be used to serve a query when the query has either implicit or explicit requirements that all fields from the index are present.', 'An index entry will exist if ANY field are present in the document. This is used as the definition of a sparse index for Enterprise edition databases. Take for example the following document: ``` { "__name__": "...", "a": 1, "b": 2, "c": 3 } ``` an index on `(a ASC, d ASC)` will generate an index entry for this document since `a` is present, and will fill in an `unset` value for `d`. An index on `(d ASC, e ASC)` will not generate any index entry as neither `d` nor `e` are present. An index that contains `__name__` will generate an index entry for all documents since Firestore guarantees that all documents have a `__name__` field.', 'An index entry will exist regardless of if the fields are present or not. This is the default density for an Enterprise edition database. The index will store `unset` values for fields that are not present in the document.']}, 'apiScope': {'enum': ['ANY_API', 'DATASTORE_MODE_API', 'MONGODB_COMPATIBLE_API'], 'type': 'string', 'description': 'The API scope supported by this index.', 'x-google-enum-descriptions': ['The index can only be used by the Firestore Native query API. This is the default.', 'The index can only be used by the Firestore in Datastore Mode query API.', 'The index can only be used by the MONGODB_COMPATIBLE_API.']}, 'multikey': {'type': 'boolean', 'description': 'Optional. Whether the index is multikey. By default, the index is not multikey. For non-multikey indexes, none of the paths in the index definition reach or traverse an array, except via an explicit array index. For multikey indexes, at most one of the paths in the index definition reach or traverse an array, except via an explicit array index. Violations will result in errors. Note this field only applies to index with MONGODB_COMPATIBLE_API ApiScope.'}, 'queryScope': {'enum': ['QUERY_SCOPE_UNSPECIFIED', 'COLLECTION', 'COLLECTION_GROUP', 'COLLECTION_RECURSIVE'], 'type': 'string', 'description': '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.', 'x-google-enum-descriptions': ['The query scope is unspecified. Not a valid option.', '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.', 'Indexes with a collection group query scope specified allow queries against all collections that has the collection ID specified by the index.', "Include all the collections's ancestor in the index. Only available for Datastore Mode databases."]}, 'shardCount': {'type': 'integer', 'format': 'int32', 'description': 'Optional. The number of shards for the index.'}}, 'description': 'Cloud Firestore indexes enable simple and complex queries against documents in a database.'}, 'IndexField': {'type': 'object', 'properties': {'order': {'enum': ['ORDER_UNSPECIFIED', 'ASCENDING', 'DESCENDING'], 'type': 'string', 'description': 'Indicates that this field supports ordering by the specified order or comparing using =, !=, <, <=, >, >=.', 'x-google-enum-descriptions': ['The ordering is unspecified. Not a valid option.', 'The field is ordered by ascending field value.', 'The field is ordered by descending field value.']}, 'fieldPath': {'type': 'string', 'description': 'Can be __name__. For single field indexes, this must match the name of the field or may be omitted.'}, 'arrayConfig': {'enum': ['ARRAY_CONFIG_UNSPECIFIED', 'CONTAINS'], 'type': 'string', 'description': 'Indicates that this field supports operations on `array_value`s.', 'x-google-enum-descriptions': ['The index does not support additional array queries.', 'The index supports array containment queries.']}, 'vectorConfig': {'$ref': '#/$defs/VectorConfig', 'description': 'Indicates that this field supports nearest neighbor and distance operations on vector.'}}, 'description': '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.'}, 'VectorConfig': {'type': 'object', 'properties': {'dimension': {'type': 'integer', 'format': 'int32', 'description': '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.'}}, 'description': 'The index configuration to support vector search operations'}}, 'required': ['parent', 'index'], 'properties': {'index': {'$ref': '#/$defs/Index', 'description': 'Required. The composite index to create.'}, 'parent': {'type': 'string', 'description': 'Required. A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`'}}, 'description': 'The request for FirestoreAdmin.CreateIndex.'}
出力スキーマ
{'type': 'object', '$defs': {'Status': {'type': 'object', 'properties': {'code': {'type': 'integer', 'format': 'int32', 'description': 'The status code, which should be an enum value of google.rpc.Code.'}, 'details': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'description': 'A list of messages that carry the error details. There is a common set of message types for APIs to use.'}, 'message': {'type': 'string', '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.'}}, 'description': 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'}}, 'properties': {'done': {'type': 'boolean', 'description': 'If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.'}, 'name': {'type': 'string', 'description': 'The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.'}, 'error': {'$ref': '#/$defs/Status', 'description': 'The error result of the operation in case of failure or cancellation.'}, 'metadata': {'type': 'object', 'description': 'Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'response': {'type': 'object', 'description': 'The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}}, 'description': 'This resource represents a long-running operation that is the result of a network API call.'}
入力スキーマ
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Required. Name of the backup to delete. format is `projects/{project}/locations/{location}/backups/{backup}`.'}}, 'description': 'The request for FirestoreAdmin.DeleteBackup.'}
出力スキーマ
{'type': 'object', 'properties': {}, 'description': 'A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }'}
入力スキーマ
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Required. The name of the backup schedule. Format `projects/{project}/databases/{database}/backupSchedules/{backup_schedule}`'}}, 'description': 'The request for FirestoreAdmin.DeleteBackupSchedules.'}
出力スキーマ
{'type': 'object', 'properties': {}, 'description': 'A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }'}
入力スキーマ
{'type': 'object', 'required': ['name'], 'properties': {'etag': {'type': 'string', 'description': '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.'}, 'name': {'type': 'string', 'description': 'Required. A name of the form `projects/{project_id}/databases/{database_id}`'}}, 'description': 'The request for FirestoreAdmin.DeleteDatabase.'}
出力スキーマ
{'type': 'object', '$defs': {'Status': {'type': 'object', 'properties': {'code': {'type': 'integer', 'format': 'int32', 'description': 'The status code, which should be an enum value of google.rpc.Code.'}, 'details': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'description': 'A list of messages that carry the error details. There is a common set of message types for APIs to use.'}, 'message': {'type': 'string', '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.'}}, 'description': 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'}}, 'properties': {'done': {'type': 'boolean', 'description': 'If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.'}, 'name': {'type': 'string', 'description': 'The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.'}, 'error': {'$ref': '#/$defs/Status', 'description': 'The error result of the operation in case of failure or cancellation.'}, 'metadata': {'type': 'object', 'description': 'Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'response': {'type': 'object', 'description': 'The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}}, 'description': 'This resource represents a long-running operation that is the result of a network API call.'}
入力スキーマ
{'type': 'object', '$defs': {'Precondition': {'type': 'object', 'properties': {'exists': {'type': 'boolean', 'description': 'When set to `true`, the target document must exist. When set to `false`, the target document must not exist.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'description': 'When set, the target document must exist and have been last updated at that time. Timestamp must be microsecond aligned.'}}, 'description': 'A precondition on a document, used for conditional operations.'}, 'RequestOptions': {'type': 'object', 'properties': {'requestTags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional. The request tags for the request. Request tags are user-provided strings used for usage monitoring, cost management, and observability. Callers can associate custom application context (such as component, microservice, feature name, or operation type) with database requests. These tags are collected and aggregated in usage and monitoring reports, allowing billable operations and usage metrics to be sliced and analyzed by tag. These tags *only* show up in monitoring and are visible in administrative operations (such as usage reports). They do not affect data storage, query semantics, or request execution. Cardinality and Best Practices: - Request tags are most effective when using a bounded set of distinct values (e.g., fewer than 100 distinct tags across an entire database). Using a large number of distinct tags may result in tags being omitted from top usage dashboards. - Use structured identifiers (for example: `app=cart`, `env=prod`, `service=checkout`) and avoid high-cardinality values such as UUIDs, request IDs, timestamps, user IDs, or document keys. - Do not include sensitive data or personally identifiable information (PII) in request tags, as they show up in administrative monitoring. The tags are processed as follows: - Leading and trailing whitespace is trimmed. - Empty tags (after trimming) are filtered out. - Truncated to a maximum of 510 characters. - Deduplicated within the same request. - Limited to a maximum of 50 tags per request (excess tags are silently discarded).'}}, 'description': 'Options for a request.'}}, 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Required. The resource name of the Document to delete. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.'}, 'requestOptions': {'$ref': '#/$defs/RequestOptions', 'description': 'Optional. The request options for this request.'}, 'currentDocument': {'$ref': '#/$defs/Precondition', 'description': 'An optional precondition on the document. The request will fail if this is set and not met by the target document.'}}, 'description': 'The request for Firestore.DeleteDocument.'}
出力スキーマ
{'type': 'object', 'properties': {}, 'description': 'A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }'}
入力スキーマ
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Required. A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`'}}, 'description': 'The request for FirestoreAdmin.DeleteIndex.'}
出力スキーマ
{'type': 'object', 'properties': {}, 'description': 'A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }'}
入力スキーマ
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Required. Name of the backup to fetch. Format is `projects/{project}/locations/{location}/backups/{backup}`.'}}, 'description': 'The request for FirestoreAdmin.GetBackup.'}
出力スキーマ
{'type': 'object', '$defs': {'Stats': {'type': 'object', 'properties': {'sizeBytes': {'type': 'string', 'format': 'int64', 'readOnly': True, 'description': 'Output only. Summation of the size of all documents and index entries in the backup, measured in bytes.'}, 'indexCount': {'type': 'string', 'format': 'int64', 'readOnly': True, 'description': 'Output only. The total number of index entries contained in the backup.'}, 'documentCount': {'type': 'string', 'format': 'int64', 'readOnly': True, 'description': 'Output only. The total number of documents contained in the backup.'}}, 'description': 'Backup specific statistics.'}}, 'properties': {'name': {'type': 'string', 'readOnly': True, 'description': 'Output only. The unique resource name of the Backup. Format is `projects/{project}/locations/{location}/backups/{backup}`. The location in the name will be the Standard Managed Multi-Region (SMMR) location (e.g. `us`) if the backup was created with an SMMR location, or the Google Managed Multi-Region (GMMR) location (e.g. `nam5`) if the backup was created with a GMMR location.'}, 'state': {'enum': ['STATE_UNSPECIFIED', 'CREATING', 'READY', 'NOT_AVAILABLE'], 'type': 'string', 'readOnly': True, 'description': 'Output only. The current state of the backup.', 'x-google-enum-descriptions': ['The state is unspecified.', 'The pending backup is still being created. Operations on the backup will be rejected in this state.', 'The backup is complete and ready to use.', 'The backup is not available at this moment.']}, 'stats': {'$ref': '#/$defs/Stats', 'readOnly': True, 'description': 'Output only. Statistics about the backup. This data only becomes available after the backup is fully materialized to secondary storage. This field will be empty till then.'}, 'database': {'type': 'string', 'readOnly': True, 'description': 'Output only. Name of the Firestore database that the backup is from. Format is `projects/{project}/databases/{database}`.'}, 'expireTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The timestamp at which this backup expires.'}, 'databaseUid': {'type': 'string', 'readOnly': True, 'description': 'Output only. The system-generated UUID4 for the Firestore database that the backup is from.'}, 'snapshotTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The backup contains an externally consistent copy of the database at this time.'}}, 'description': '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.'}
入力スキーマ
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Required. The name of the backup schedule. Format `projects/{project}/databases/{database}/backupSchedules/{backup_schedule}`'}}, 'description': 'The request for FirestoreAdmin.GetBackupSchedule.'}
出力スキーマ
{'type': 'object', '$defs': {'DailyRecurrence': {'type': 'object', 'properties': {}, 'description': 'Represents a recurring schedule that runs every day. The time zone is UTC.'}, 'WeeklyRecurrence': {'type': 'object', 'properties': {'day': {'enum': ['DAY_OF_WEEK_UNSPECIFIED', 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY'], 'type': 'string', 'description': 'The day of week to run. DAY_OF_WEEK_UNSPECIFIED is not allowed.', 'x-google-enum-descriptions': ['The day of the week is unspecified.', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']}}, 'description': 'Represents a recurring schedule that runs on a specified day of the week. The time zone is UTC.'}}, 'properties': {'name': {'type': 'string', 'readOnly': True, 'description': '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}`'}, 'retention': {'type': 'string', 'format': 'google-duration', 'description': '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.'}, 'createTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': '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.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': '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.'}, 'dailyRecurrence': {'$ref': '#/$defs/DailyRecurrence', 'description': 'For a schedule that runs daily.'}, 'weeklyRecurrence': {'$ref': '#/$defs/WeeklyRecurrence', 'description': 'For a schedule that runs weekly on a specific day.'}}, 'description': '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.'}
入力スキーマ
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Required. A name of the form `projects/{project_id}/databases/{database_id}`'}}, 'description': 'The request for FirestoreAdmin.GetDatabase.'}
出力スキーマ
{'type': 'object', '$defs': {'CmekConfig': {'type': 'object', 'properties': {'kmsKeyName': {'type': 'string', 'description': "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}`."}, 'activeKeyVersion': {'type': 'array', 'items': {'type': 'string'}, 'readOnly': True, 'description': 'Output only. Currently in-use [KMS key versions](https://cloud.google.com/kms/docs/resource-hierarchy#key_versions). During [key rotation](https://cloud.google.com/kms/docs/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}`.'}}, 'description': 'The CMEK (Customer Managed Encryption Key) configuration for a Firestore database. If not present, the database is secured by the default Google encryption key.'}, 'SourceInfo': {'type': 'object', 'properties': {'backup': {'$ref': '#/$defs/BackupSource', 'description': 'If set, this database was restored from the specified backup (or a snapshot thereof).'}, 'operation': {'type': 'string', 'description': 'The associated long-running operation. This field may not be set after the operation has completed. Format: `projects/{project}/databases/{database}/operations/{operation}`.'}}, 'description': 'Information about the provenance of this database.'}, 'BackupSource': {'type': 'object', 'properties': {'backup': {'type': 'string', 'description': 'The resource name of the backup that was used to restore this database. Format: `projects/{project}/locations/{location}/backups/{backup}`.'}}, 'description': 'Information about a backup that was used to restore a database.'}}, 'properties': {'uid': {'type': 'string', 'readOnly': True, 'description': 'Output only. The system-generated UUID4 for this Database.'}, 'etag': {'type': 'string', 'description': '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.'}, 'name': {'type': 'string', 'description': 'The resource name of the Database. Format: `projects/{project}/databases/{database}`'}, 'tags': {'type': 'object', 'writeOnly': True, 'description': 'Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing"', 'x-google-immutable': True, 'additionalProperties': {'type': 'string'}}, 'type': {'enum': ['DATABASE_TYPE_UNSPECIFIED', 'FIRESTORE_NATIVE', 'DATASTORE_MODE'], 'type': 'string', 'description': 'Required. The type of the database. See https://cloud.google.com/datastore/docs/firestore-or-datastore for information about how to choose.', 'x-google-enum-descriptions': ['Not used.', 'Firestore Native Mode', 'Firestore in Datastore Mode.']}, 'freeTier': {'type': 'boolean', 'readOnly': True, 'description': 'Output only. Background: Free tier is the ability of a Firestore database to use a small amount of resources every day without being charged. Once usage exceeds the free tier limit further usage is charged. Whether this database can make use of the free tier. Only one database per project can be eligible for the free tier. The first (or next) database that is created in a project without a free tier database will be marked as eligible for the free tier. Databases that are created while there is a free tier database will not be eligible for the free tier.'}, 'keyPrefix': {'type': 'string', 'readOnly': True, 'description': '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).'}, 'cmekConfig': {'$ref': '#/$defs/CmekConfig', 'description': 'Optional. Presence indicates CMEK is enabled for this database.'}, 'createTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The timestamp at which this database was created. Databases created before 2016 do not populate create_time.'}, 'deleteTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The timestamp at which this database was deleted. Only set if the database has been deleted.'}, 'locationId': {'type': 'string', 'description': 'Required. The location of the database. Available locations are listed at https://cloud.google.com/firestore/docs/locations.'}, 'previousId': {'type': 'string', 'readOnly': True, 'description': "Output only. The database resource's prior database ID. This field is only populated for deleted databases."}, 'sourceInfo': {'$ref': '#/$defs/SourceInfo', 'readOnly': True, 'description': 'Output only. Information about the provenance of this database.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': '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.'}, 'concurrencyMode': {'enum': ['CONCURRENCY_MODE_UNSPECIFIED', 'OPTIMISTIC', 'PESSIMISTIC', 'OPTIMISTIC_WITH_ENTITY_GROUPS'], 'type': 'string', 'description': 'The default concurrency control mode to use for this database. If unspecified in a CreateDatabase request, this will default based on the database edition: Optimistic for Enterprise and Pessimistic for all other databases. While transactions can explicitly specify their own concurrency mode, this setting defines the default behavior when left unspecified. Important: This database-level setting is not respected for Firestore with MongoDB compatibility. All transactions through the MongoDB compatibility layer will use optimistic concurrency control, regardless of this setting.', 'x-google-enum-descriptions': ['Not used.', 'Use optimistic concurrency control by default. This mode is available for Cloud Firestore databases. This is the default setting for Cloud Firestore Enterprise edition databases.', 'Use pessimistic concurrency control by default. This mode is available for Cloud Firestore databases. This is the default setting for Cloud Firestore Standard edition databases.', 'Use optimistic concurrency control with entity groups by default. This mode is enabled for some databases that were automatically upgraded from Cloud Datastore to Cloud Firestore with Datastore Mode. It is not recommended for any new databases, and not supported for Firestore Native databases.']}, 'databaseEdition': {'enum': ['DATABASE_EDITION_UNSPECIFIED', 'STANDARD', 'ENTERPRISE'], 'type': 'string', 'description': 'Immutable. The edition of the database.', 'x-google-immutable': True, 'x-google-enum-descriptions': ['Not used.', 'Standard edition. This is the default setting if not specified.', 'Enterprise edition.']}, 'earliestVersionTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': '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.'}, 'realtimeUpdatesMode': {'enum': ['REALTIME_UPDATES_MODE_UNSPECIFIED', 'REALTIME_UPDATES_MODE_ENABLED', 'REALTIME_UPDATES_MODE_DISABLED'], 'type': 'string', 'description': 'Immutable. The default Realtime Updates mode to use for this database.', 'x-google-immutable': True, 'x-google-enum-descriptions': ['The Realtime Updates feature is not specified.', 'The Realtime Updates feature is enabled by default. This could potentially degrade write performance for the database.', 'The Realtime Updates feature is disabled by default.']}, 'deleteProtectionState': {'enum': ['DELETE_PROTECTION_STATE_UNSPECIFIED', 'DELETE_PROTECTION_DISABLED', 'DELETE_PROTECTION_ENABLED'], 'type': 'string', 'description': 'State of delete protection for the database.', 'x-google-enum-descriptions': ['The default value. Delete protection type is not specified', 'Delete protection is disabled', 'Delete protection is enabled']}, 'versionRetentionPeriod': {'type': 'string', 'format': 'google-duration', 'readOnly': True, 'description': '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.'}, 'firestoreDataAccessMode': {'enum': ['DATA_ACCESS_MODE_UNSPECIFIED', 'DATA_ACCESS_MODE_ENABLED', 'DATA_ACCESS_MODE_DISABLED'], 'type': 'string', 'description': 'Optional. The Firestore API data access mode to use for this database. If not set on write: - the default value is DATA_ACCESS_MODE_DISABLED for Enterprise edition. - the default value is DATA_ACCESS_MODE_ENABLED for Standard edition.', 'x-google-enum-descriptions': ['Not Used.', 'Accessing the database through the API is allowed.', 'Accessing the database through the API is disallowed.']}, 'appEngineIntegrationMode': {'enum': ['APP_ENGINE_INTEGRATION_MODE_UNSPECIFIED', 'ENABLED', 'DISABLED'], 'type': 'string', 'description': 'The App Engine integration mode to use for this database.', 'x-google-enum-descriptions': ['Not used.', '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.', '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.']}, 'pointInTimeRecoveryEnablement': {'enum': ['POINT_IN_TIME_RECOVERY_ENABLEMENT_UNSPECIFIED', 'POINT_IN_TIME_RECOVERY_ENABLED', 'POINT_IN_TIME_RECOVERY_DISABLED'], 'type': 'string', 'description': 'Whether to enable the PITR feature on this database.', 'x-google-enum-descriptions': ['Not used.', '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.', 'Reads are supported on any version of the data from within the past 1 hour.']}, 'mongodbCompatibleDataAccessMode': {'enum': ['DATA_ACCESS_MODE_UNSPECIFIED', 'DATA_ACCESS_MODE_ENABLED', 'DATA_ACCESS_MODE_DISABLED'], 'type': 'string', 'description': 'Optional. The MongoDB compatible API data access mode to use for this database. If not set on write, the default value is DATA_ACCESS_MODE_ENABLED for Enterprise edition. The value is always DATA_ACCESS_MODE_DISABLED for Standard edition.', 'x-google-enum-descriptions': ['Not Used.', 'Accessing the database through the API is allowed.', 'Accessing the database through the API is disallowed.']}}, 'description': 'A Cloud Firestore Database.'}
入力スキーマ
{'type': 'object', '$defs': {'DocumentMask': {'type': 'object', 'properties': {'fieldPaths': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The list of field paths in the mask. See Document.fields for a field path syntax reference.'}}, 'description': 'A set of field paths on a document. Used to restrict a get or update operation on a document to a subset of its fields. This is different from standard field masks, as this is always scoped to a Document, and takes in account the dynamic nature of Value.'}, 'RequestOptions': {'type': 'object', 'properties': {'requestTags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional. The request tags for the request. Request tags are user-provided strings used for usage monitoring, cost management, and observability. Callers can associate custom application context (such as component, microservice, feature name, or operation type) with database requests. These tags are collected and aggregated in usage and monitoring reports, allowing billable operations and usage metrics to be sliced and analyzed by tag. These tags *only* show up in monitoring and are visible in administrative operations (such as usage reports). They do not affect data storage, query semantics, or request execution. Cardinality and Best Practices: - Request tags are most effective when using a bounded set of distinct values (e.g., fewer than 100 distinct tags across an entire database). Using a large number of distinct tags may result in tags being omitted from top usage dashboards. - Use structured identifiers (for example: `app=cart`, `env=prod`, `service=checkout`) and avoid high-cardinality values such as UUIDs, request IDs, timestamps, user IDs, or document keys. - Do not include sensitive data or personally identifiable information (PII) in request tags, as they show up in administrative monitoring. The tags are processed as follows: - Leading and trailing whitespace is trimmed. - Empty tags (after trimming) are filtered out. - Truncated to a maximum of 510 characters. - Deduplicated within the same request. - Limited to a maximum of 50 tags per request (excess tags are silently discarded).'}}, 'description': 'Options for a request.'}}, 'required': ['name'], 'properties': {'mask': {'$ref': '#/$defs/DocumentMask', 'description': 'The fields to return. If not set, returns all fields. If the document has a field that is not present in this mask, that field will not be returned in the response.'}, 'name': {'type': 'string', 'description': 'Required. The resource name of the Document to get. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.'}, 'readTime': {'type': 'string', 'format': 'date-time', 'description': 'Reads the version of the document at the given time. This must be a microsecond precision timestamp within the past one hour, or if Point-in-Time Recovery is enabled, can additionally be a whole minute timestamp within the past 7 days.'}, 'transaction': {'type': 'string', 'format': 'byte', 'description': 'Reads the document in a transaction.'}, 'requestOptions': {'$ref': '#/$defs/RequestOptions', 'description': 'Optional. The request options for this request.'}}, 'description': 'The request for Firestore.GetDocument.'}
出力スキーマ
{'type': 'object', '$defs': {'Stage': {'type': 'object', 'properties': {'args': {'type': 'array', 'items': {'$ref': '#/$defs/Value'}, 'description': 'Optional. Ordered list of arguments the given stage expects.'}, 'name': {'type': 'string', 'description': 'Required. The name of the stage to evaluate. **Requires:** * must be in snake case (lower case with underscore separator).'}, 'options': {'type': 'object', 'description': 'Optional. Optional named arguments that certain functions may support.', 'additionalProperties': {'$ref': '#/$defs/Value'}}}, 'description': 'A single operation within a pipeline. A stage is made up of a unique name, and a list of arguments. The exact number of arguments & types is dependent on the stage type. To give an example, the stage `filter(state = "MD")` would be encoded as: ``` name: "filter" args { function_value { name: "eq" args { field_reference_value: "state" } args { string_value: "MD" } } } ``` See public documentation for the full list.'}, 'Value': {'type': 'object', 'properties': {'mapValue': {'$ref': '#/$defs/MapValue', 'description': 'A map value.'}, 'nullValue': {'enum': ['NULL_VALUE'], 'type': 'string', 'description': 'A null value.', 'x-google-enum-descriptions': ['Null value.']}, 'arrayValue': {'$ref': '#/$defs/ArrayValue', 'description': 'An array value. In Standard edition databases, an array value cannot directly contain another array value, though it can contain a map which contains another array. In Enterprise edition databases, an array value can contain another array value.'}, 'bytesValue': {'type': 'string', 'format': 'byte', 'description': 'A bytes value. In Standard edition databases: * The value must not exceed 1 MiB - 89 bytes. * Only the first 1,500 bytes are considered by queries. In Enterprise edition databases, there is no limit on the size of the value. However, it is still subject to document and index entry size limits.'}, 'doubleValue': {'type': 'number', 'format': 'double', 'description': 'A double value.'}, 'stringValue': {'type': 'string', 'description': 'A string value. In Standard edition databases: * The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. * Only the first 1,500 bytes of the UTF-8 representation are considered by queries. In Enterprise edition databases, there is no limit on the size of the value. However, it is still subject to document and index entry size limits.'}, 'booleanValue': {'type': 'boolean', 'description': 'A boolean value.'}, 'integerValue': {'type': 'string', 'format': 'int64', 'description': 'An integer value.'}, 'functionValue': {'$ref': '#/$defs/Function', 'description': 'A value that represents an unevaluated expression. **Requires:** * Not allowed to be used when writing documents.'}, 'geoPointValue': {'$ref': '#/$defs/LatLng', 'description': 'A geo point value representing a point on the surface of Earth.'}, 'pipelineValue': {'$ref': '#/$defs/Pipeline', 'description': 'A value that represents an unevaluated pipeline. **Requires:** * Not allowed to be used when writing documents.'}, 'referenceValue': {'type': 'string', 'description': 'A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.'}, 'timestampValue': {'type': 'string', 'format': 'date-time', 'description': 'A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.'}, 'fieldReferenceValue': {'type': 'string', 'description': 'Value which references a field. This is considered relative (vs absolute) since it only refers to a field and not a field within a particular document. **Requires:** * Must follow field reference limitations. * Not allowed to be used when writing documents.'}, 'variableReferenceValue': {'type': 'string', 'description': 'Pointer to a variable defined elsewhere in a pipeline. Unlike `field_reference_value` which references a field within a document, this refers to a variable, defined in a separate namespace than the fields of a document.'}}, 'description': 'A message that can hold any of the supported value types.'}, 'LatLng': {'type': 'object', 'properties': {'latitude': {'type': 'number', 'format': 'double', 'description': 'The latitude in degrees. It must be in the range [-90.0, +90.0].'}, 'longitude': {'type': 'number', 'format': 'double', 'description': 'The longitude in degrees. It must be in the range [-180.0, +180.0].'}}, 'description': 'An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard <https://en.wikipedia.org/wiki/World_Geodetic_System#1984_version>. Values must be within normalized ranges.'}, 'Function': {'type': 'object', 'properties': {'args': {'type': 'array', 'items': {'$ref': '#/$defs/Value'}, 'description': 'Optional. Ordered list of arguments the given function expects.'}, 'name': {'type': 'string', 'description': 'Required. The name of the function to evaluate. **Requires:** * must be in snake case (lower case with underscore separator).'}, 'options': {'type': 'object', 'description': 'Optional. Optional named arguments that certain functions may support.', 'additionalProperties': {'$ref': '#/$defs/Value'}}}, 'description': 'Represents an unevaluated scalar expression. For example, the expression `like(user_name, "%alice%")` is represented as: ``` name: "like" args { field_reference: "user_name" } args { string_value: "%alice%" } ```'}, 'MapValue': {'type': 'object', 'properties': {'fields': {'type': 'object', 'description': "The map's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.", 'additionalProperties': {'$ref': '#/$defs/Value'}}}, 'description': 'A map value.'}, 'Pipeline': {'type': 'object', 'properties': {'stages': {'type': 'array', 'items': {'$ref': '#/$defs/Stage'}, 'description': 'Required. Ordered list of stages to evaluate.'}}, 'description': 'A Firestore query represented as an ordered list of operations / stages.'}, 'ArrayValue': {'type': 'object', 'properties': {'values': {'type': 'array', 'items': {'$ref': '#/$defs/Value'}, 'description': 'Values in the array.'}}, 'description': 'An array value.'}}, 'properties': {'name': {'type': 'string', 'description': 'The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`.'}, 'fields': {'type': 'object', 'description': 'The document\'s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The field names, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by a dot-delimited (`.`) string of segments. Each segment is either a simple field name (defined below) or a quoted field name. For example, the structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be represented by the field path `` foo.`x&y` ``. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. A quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\\`. For example, `` `x&y` `` represents `x&y` and `` `bak\\`tik` `` represents `` bak`tik ``.', 'additionalProperties': {'$ref': '#/$defs/Value'}}, 'createTime': {'type': 'string', 'format': 'date-time', 'description': 'Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'description': 'Output only. The time at which the document was last changed. This value is initially set to the `create_time` then increases monotonically with each change to the document. It can also be compared to values from other documents and the `read_time` of a query.'}}, 'description': 'A Firestore document. Must not exceed 1 MiB - 4 bytes.'}
入力スキーマ
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Required. A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`'}}, 'description': 'The request for FirestoreAdmin.GetIndex.'}
出力スキーマ
{'type': 'object', '$defs': {'FlatIndex': {'type': 'object', 'properties': {}, 'description': 'An index that stores vectors in a flat data structure, and supports exhaustive search.'}, 'IndexField': {'type': 'object', 'properties': {'order': {'enum': ['ORDER_UNSPECIFIED', 'ASCENDING', 'DESCENDING'], 'type': 'string', 'description': 'Indicates that this field supports ordering by the specified order or comparing using =, !=, <, <=, >, >=.', 'x-google-enum-descriptions': ['The ordering is unspecified. Not a valid option.', 'The field is ordered by ascending field value.', 'The field is ordered by descending field value.']}, 'fieldPath': {'type': 'string', 'description': 'Can be __name__. For single field indexes, this must match the name of the field or may be omitted.'}, 'arrayConfig': {'enum': ['ARRAY_CONFIG_UNSPECIFIED', 'CONTAINS'], 'type': 'string', 'description': 'Indicates that this field supports operations on `array_value`s.', 'x-google-enum-descriptions': ['The index does not support additional array queries.', 'The index supports array containment queries.']}, 'searchConfig': {'$ref': '#/$defs/SearchConfig', 'description': 'Indicates that this field supports search operations.'}, 'vectorConfig': {'$ref': '#/$defs/VectorConfig', 'description': 'Indicates that this field supports nearest neighbor and distance operations on vector.'}}, 'description': 'A field in an index. The field_path describes which field is indexed, the value_mode describes how the field value is indexed.'}, 'SearchConfig': {'type': 'object', 'properties': {'geoSpec': {'$ref': '#/$defs/SearchGeoSpec', 'description': 'Optional. The specification for building a geo search index for a field.'}, 'textSpec': {'$ref': '#/$defs/SearchTextSpec', 'description': 'Optional. The specification for building a text search index for a field.'}}, 'description': 'The configuration for how to index a field for search.'}, 'VectorConfig': {'type': 'object', 'properties': {'flat': {'$ref': '#/$defs/FlatIndex', 'description': 'Indicates the vector index is a flat index.'}, 'dimension': {'type': 'integer', 'format': 'int32', 'description': '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.'}}, 'description': 'The index configuration to support vector search operations'}, 'SearchGeoSpec': {'type': 'object', 'properties': {'geoJsonIndexingDisabled': {'type': 'boolean', 'description': 'Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed. Firestore GeoPoints are indexed regardless of the value of this field.'}}, 'description': 'The specification for how to build a geo search index for a field.'}, 'SearchTextSpec': {'type': 'object', 'properties': {'indexSpecs': {'type': 'array', 'items': {'$ref': '#/$defs/SearchTextIndexSpec'}, 'description': 'Required. Specifications for how the field should be indexed. Repeated so that the field can be indexed in multiple ways.'}}, 'description': 'The specification for how to build a text search index for a field.'}, 'SearchIndexOptions': {'type': 'object', 'properties': {'textLanguage': {'type': 'string', 'description': 'Optional. The language to use for text search indexes. Used as the default language if not overridden at the document level by specifying the `text_language_override_field`. The language is specified as a BCP 47 language code. For indexes with MONGODB_COMPATIBLE_API ApiScope: If unspecified, the default language is English. For indexes with `ANY_API` ApiScope: If unspecified, the default behavior is autodetect.'}, 'textLanguageOverrideFieldPath': {'type': 'string', 'description': 'Optional. The field in the document that specifies which language to use for that specific document. For indexes with MONGODB_COMPATIBLE_API ApiScope: if unspecified, the language is taken from the "language" field if it exists or from `text_language` if it does not.'}}, 'description': 'Options for search indexes at the definition level.'}, 'SearchTextIndexSpec': {'type': 'object', 'properties': {'indexType': {'enum': ['TEXT_INDEX_TYPE_UNSPECIFIED', 'TOKENIZED'], 'type': 'string', 'description': 'Required. How to index the text field value.', 'x-google-enum-descriptions': ['The index type is unspecified. Not a valid option.', 'Field values are tokenized. This is the only way currently supported for MONGODB_COMPATIBLE_API.']}, 'matchType': {'enum': ['TEXT_MATCH_TYPE_UNSPECIFIED', 'MATCH_GLOBALLY'], 'type': 'string', 'description': 'Required. How to match the text field value.', 'x-google-enum-descriptions': ['The match type is unspecified. Not a valid option.', 'Match on any indexed field. This is the only way currently supported for MONGODB_COMPATIBLE_API.']}}, 'description': 'Specification of how the field should be indexed for search text indexes.'}}, 'properties': {'name': {'type': 'string', 'description': 'A server-defined name for this index. Output only. When used in the google.firestore.admin.v1.Index resource, the value is of the form: `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}` When used in the google.firestore.admin.v1.Field resource, the value is empty.'}, 'state': {'enum': ['STATE_UNSPECIFIED', 'CREATING', 'READY', 'NEEDS_REPAIR'], 'type': 'string', 'description': 'Output only. The serving state of the index.', 'x-google-enum-descriptions': ['The state is unspecified.', '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.', '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.', '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.']}, 'fields': {'type': 'array', 'items': {'$ref': '#/$defs/IndexField'}, 'description': 'The fields supported by this index. At most 100 fields may be specified. In Standard edition databases only: - At least 2 fields must be specified. - 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 the index is not directional, the `__name__` will be ordered ASCENDING (unless explicitly specified).'}, 'unique': {'type': 'boolean', 'description': 'Optional. Whether it is an unique index. Unique index ensures all values for the indexed field(s) are unique across documents.'}, 'density': {'enum': ['DENSITY_UNSPECIFIED', 'SPARSE_ALL', 'SPARSE_ANY', 'DENSE'], 'type': 'string', 'description': 'Immutable. The density configuration of the index.', 'x-google-immutable': True, 'x-google-enum-descriptions': ['Unspecified. It will use database default setting. This value is input only.', 'An index entry will only exist if ALL fields are present in the document. This is both the default and only allowed value for Standard edition databases (for both Cloud Firestore `ANY_API` and Cloud Datastore `DATASTORE_MODE_API`). Take for example the following document: ``` { "__name__": "...", "a": 1, "b": 2, "c": 3 } ``` an index on `(a ASC, b ASC, c ASC, __name__ ASC)` will generate an index entry for this document since `a`, \'b\', `c`, and `__name__` are all present but an index of `(a ASC, d ASC, __name__ ASC)` will not generate an index entry for this document since `d` is missing. This means that such indexes can only be used to serve a query when the query has either implicit or explicit requirements that all fields from the index are present.', 'An index entry will exist if ANY field are present in the document. This is used as the definition of a sparse index for Enterprise edition databases. Take for example the following document: ``` { "__name__": "...", "a": 1, "b": 2, "c": 3 } ``` an index on `(a ASC, d ASC)` will generate an index entry for this document since `a` is present, and will fill in an `unset` value for `d`. An index on `(d ASC, e ASC)` will not generate any index entry as neither `d` nor `e` are present. An index that contains `__name__` will generate an index entry for all documents since Firestore guarantees that all documents have a `__name__` field.', 'An index entry will exist regardless of if the fields are present or not. This is the default density for an Enterprise edition database. The index will store `unset` values for fields that are not present in the document.']}, 'apiScope': {'enum': ['ANY_API', 'DATASTORE_MODE_API', 'MONGODB_COMPATIBLE_API'], 'type': 'string', 'description': 'The API scope supported by this index.', 'x-google-enum-descriptions': ['The index can only be used by the Firestore Native query API. This is the default.', 'The index can only be used by the Firestore in Datastore Mode query API.', 'The index can only be used by the MONGODB_COMPATIBLE_API.']}, 'multikey': {'type': 'boolean', 'description': 'Optional. Whether the index is multikey. By default, the index is not multikey. For non-multikey indexes, none of the paths in the index definition reach or traverse an array, except via an explicit array index. For multikey indexes, at most one of the paths in the index definition reach or traverse an array, except via an explicit array index. Violations will result in errors. Note this field only applies to index with MONGODB_COMPATIBLE_API ApiScope.'}, 'queryScope': {'enum': ['QUERY_SCOPE_UNSPECIFIED', 'COLLECTION', 'COLLECTION_GROUP', 'COLLECTION_RECURSIVE'], 'type': 'string', 'description': '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.', 'x-google-enum-descriptions': ['The query scope is unspecified. Not a valid option.', '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.', 'Indexes with a collection group query scope specified allow queries against all collections that has the collection ID specified by the index.', "Include all the collections's ancestor in the index. Only available for Datastore Mode databases."]}, 'shardCount': {'type': 'integer', 'format': 'int32', 'description': 'Optional. The number of shards for the index.'}, 'searchIndexOptions': {'$ref': '#/$defs/SearchIndexOptions', 'description': 'Optional. Options for search indexes that are at the index definition level. This field is only currently supported for indexes with MONGODB_COMPATIBLE_API ApiScope.'}}, 'description': 'Cloud Firestore indexes enable simple and complex queries against documents in a database. In Standard edition databases, single-field indexes are managed using the google.firestore.admin.v1.Field resource, and composite indexes are managed using the google.firestore.admin.v1.Index resource. In Enterprise edition databases, both single-field and composite indexes are managed using the google.firestore.admin.v1.Index resource.'}
入力スキーマ
{'type': 'object', 'required': ['parent'], 'properties': {'filter': {'type': 'string', 'description': 'An expression that filters the list of returned backups. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`. Colon `:` is the contains operator. Filter rules are not case sensitive. The following fields in the Backup are eligible for filtering: * `database_uid` (supports `=` only)'}, 'parent': {'type': 'string', 'description': "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."}}, 'description': 'The request for FirestoreAdmin.ListBackups.'}
出力スキーマ
{'type': 'object', '$defs': {'Stats': {'type': 'object', 'properties': {'sizeBytes': {'type': 'string', 'format': 'int64', 'readOnly': True, 'description': 'Output only. Summation of the size of all documents and index entries in the backup, measured in bytes.'}, 'indexCount': {'type': 'string', 'format': 'int64', 'readOnly': True, 'description': 'Output only. The total number of index entries contained in the backup.'}, 'documentCount': {'type': 'string', 'format': 'int64', 'readOnly': True, 'description': 'Output only. The total number of documents contained in the backup.'}}, 'description': 'Backup specific statistics.'}, 'Backup': {'type': 'object', 'properties': {'name': {'type': 'string', 'readOnly': True, 'description': 'Output only. The unique resource name of the Backup. Format is `projects/{project}/locations/{location}/backups/{backup}`. The location in the name will be the Standard Managed Multi-Region (SMMR) location (e.g. `us`) if the backup was created with an SMMR location, or the Google Managed Multi-Region (GMMR) location (e.g. `nam5`) if the backup was created with a GMMR location.'}, 'state': {'enum': ['STATE_UNSPECIFIED', 'CREATING', 'READY', 'NOT_AVAILABLE'], 'type': 'string', 'readOnly': True, 'description': 'Output only. The current state of the backup.', 'x-google-enum-descriptions': ['The state is unspecified.', 'The pending backup is still being created. Operations on the backup will be rejected in this state.', 'The backup is complete and ready to use.', 'The backup is not available at this moment.']}, 'stats': {'$ref': '#/$defs/Stats', 'readOnly': True, 'description': 'Output only. Statistics about the backup. This data only becomes available after the backup is fully materialized to secondary storage. This field will be empty till then.'}, 'database': {'type': 'string', 'readOnly': True, 'description': 'Output only. Name of the Firestore database that the backup is from. Format is `projects/{project}/databases/{database}`.'}, 'expireTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The timestamp at which this backup expires.'}, 'databaseUid': {'type': 'string', 'readOnly': True, 'description': 'Output only. The system-generated UUID4 for the Firestore database that the backup is from.'}, 'snapshotTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The backup contains an externally consistent copy of the database at this time.'}}, 'description': '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.'}}, 'properties': {'backups': {'type': 'array', 'items': {'$ref': '#/$defs/Backup'}, 'description': 'List of all backups for the project.'}, 'unreachable': {'type': 'array', 'items': {'type': 'string'}, 'description': '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.'}}, 'description': 'The response for FirestoreAdmin.ListBackups.'}
入力スキーマ
{'type': 'object', 'required': ['parent'], 'properties': {'parent': {'type': 'string', 'description': 'Required. The parent database. Format is `projects/{project}/databases/{database}`.'}}, 'description': 'The request for FirestoreAdmin.ListBackupSchedules.'}
出力スキーマ
{'type': 'object', '$defs': {'BackupSchedule': {'type': 'object', 'properties': {'name': {'type': 'string', 'readOnly': True, 'description': '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}`'}, 'retention': {'type': 'string', 'format': 'google-duration', 'description': '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.'}, 'createTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': '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.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': '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.'}, 'dailyRecurrence': {'$ref': '#/$defs/DailyRecurrence', 'description': 'For a schedule that runs daily.'}, 'weeklyRecurrence': {'$ref': '#/$defs/WeeklyRecurrence', 'description': 'For a schedule that runs weekly on a specific day.'}}, 'description': '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.'}, 'DailyRecurrence': {'type': 'object', 'properties': {}, 'description': 'Represents a recurring schedule that runs every day. The time zone is UTC.'}, 'WeeklyRecurrence': {'type': 'object', 'properties': {'day': {'enum': ['DAY_OF_WEEK_UNSPECIFIED', 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY'], 'type': 'string', 'description': 'The day of week to run. DAY_OF_WEEK_UNSPECIFIED is not allowed.', 'x-google-enum-descriptions': ['The day of the week is unspecified.', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']}}, 'description': 'Represents a recurring schedule that runs on a specified day of the week. The time zone is UTC.'}}, 'properties': {'backupSchedules': {'type': 'array', 'items': {'$ref': '#/$defs/BackupSchedule'}, 'description': 'List of all backup schedules.'}}, 'description': 'The response for FirestoreAdmin.ListBackupSchedules.'}
入力スキーマ
{'type': 'object', '$defs': {'RequestOptions': {'type': 'object', 'properties': {'requestTags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional. The request tags for the request. Request tags are user-provided strings used for usage monitoring, cost management, and observability. Callers can associate custom application context (such as component, microservice, feature name, or operation type) with database requests. These tags are collected and aggregated in usage and monitoring reports, allowing billable operations and usage metrics to be sliced and analyzed by tag. These tags *only* show up in monitoring and are visible in administrative operations (such as usage reports). They do not affect data storage, query semantics, or request execution. Cardinality and Best Practices: - Request tags are most effective when using a bounded set of distinct values (e.g., fewer than 100 distinct tags across an entire database). Using a large number of distinct tags may result in tags being omitted from top usage dashboards. - Use structured identifiers (for example: `app=cart`, `env=prod`, `service=checkout`) and avoid high-cardinality values such as UUIDs, request IDs, timestamps, user IDs, or document keys. - Do not include sensitive data or personally identifiable information (PII) in request tags, as they show up in administrative monitoring. The tags are processed as follows: - Leading and trailing whitespace is trimmed. - Empty tags (after trimming) are filtered out. - Truncated to a maximum of 510 characters. - Deduplicated within the same request. - Limited to a maximum of 50 tags per request (excess tags are silently discarded).'}}, 'description': 'Options for a request.'}}, 'required': ['parent'], 'properties': {'parent': {'type': 'string', 'description': 'Required. The parent document. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` Use `projects/{project_id}/databases/{database_id}/documents` to list top-level collections.'}, 'pageSize': {'type': 'integer', 'format': 'int32', 'description': 'The maximum number of results to return.'}, 'readTime': {'type': 'string', 'format': 'date-time', 'description': 'Reads documents as they were at the given time. This must be a microsecond precision timestamp within the past one hour, or if Point-in-Time Recovery is enabled, can additionally be a whole minute timestamp within the past 7 days.'}, 'pageToken': {'type': 'string', 'description': 'A page token. Must be a value from ListCollectionIdsResponse.'}, 'requestOptions': {'$ref': '#/$defs/RequestOptions', 'description': 'Optional. The request options for this request.'}}, 'description': 'The request for Firestore.ListCollectionIds.'}
出力スキーマ
{'type': 'object', 'properties': {'collectionIds': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The collection ids.'}, 'nextPageToken': {'type': 'string', 'description': 'A page token that may be used to continue the list.'}}, 'description': 'The response from Firestore.ListCollectionIds.'}
入力スキーマ
{'type': 'object', 'required': ['parent'], 'properties': {'parent': {'type': 'string', 'description': 'Required. A parent name of the form `projects/{project_id}`'}, 'showDeleted': {'type': 'boolean', 'description': 'If true, also returns deleted resources.'}}, 'description': 'A request to list the Firestore Databases in all locations for a project.'}
出力スキーマ
{'type': 'object', '$defs': {'Database': {'type': 'object', 'properties': {'uid': {'type': 'string', 'readOnly': True, 'description': 'Output only. The system-generated UUID4 for this Database.'}, 'etag': {'type': 'string', 'description': '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.'}, 'name': {'type': 'string', 'description': 'The resource name of the Database. Format: `projects/{project}/databases/{database}`'}, 'tags': {'type': 'object', 'writeOnly': True, 'description': 'Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing"', 'x-google-immutable': True, 'additionalProperties': {'type': 'string'}}, 'type': {'enum': ['DATABASE_TYPE_UNSPECIFIED', 'FIRESTORE_NATIVE', 'DATASTORE_MODE'], 'type': 'string', 'description': 'Required. The type of the database. See https://cloud.google.com/datastore/docs/firestore-or-datastore for information about how to choose.', 'x-google-enum-descriptions': ['Not used.', 'Firestore Native Mode', 'Firestore in Datastore Mode.']}, 'freeTier': {'type': 'boolean', 'readOnly': True, 'description': 'Output only. Background: Free tier is the ability of a Firestore database to use a small amount of resources every day without being charged. Once usage exceeds the free tier limit further usage is charged. Whether this database can make use of the free tier. Only one database per project can be eligible for the free tier. The first (or next) database that is created in a project without a free tier database will be marked as eligible for the free tier. Databases that are created while there is a free tier database will not be eligible for the free tier.'}, 'keyPrefix': {'type': 'string', 'readOnly': True, 'description': '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).'}, 'cmekConfig': {'$ref': '#/$defs/CmekConfig', 'description': 'Optional. Presence indicates CMEK is enabled for this database.'}, 'createTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The timestamp at which this database was created. Databases created before 2016 do not populate create_time.'}, 'deleteTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The timestamp at which this database was deleted. Only set if the database has been deleted.'}, 'locationId': {'type': 'string', 'description': 'Required. The location of the database. Available locations are listed at https://cloud.google.com/firestore/docs/locations.'}, 'previousId': {'type': 'string', 'readOnly': True, 'description': "Output only. The database resource's prior database ID. This field is only populated for deleted databases."}, 'sourceInfo': {'$ref': '#/$defs/SourceInfo', 'readOnly': True, 'description': 'Output only. Information about the provenance of this database.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': '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.'}, 'concurrencyMode': {'enum': ['CONCURRENCY_MODE_UNSPECIFIED', 'OPTIMISTIC', 'PESSIMISTIC', 'OPTIMISTIC_WITH_ENTITY_GROUPS'], 'type': 'string', 'description': 'The default concurrency control mode to use for this database. If unspecified in a CreateDatabase request, this will default based on the database edition: Optimistic for Enterprise and Pessimistic for all other databases. While transactions can explicitly specify their own concurrency mode, this setting defines the default behavior when left unspecified. Important: This database-level setting is not respected for Firestore with MongoDB compatibility. All transactions through the MongoDB compatibility layer will use optimistic concurrency control, regardless of this setting.', 'x-google-enum-descriptions': ['Not used.', 'Use optimistic concurrency control by default. This mode is available for Cloud Firestore databases. This is the default setting for Cloud Firestore Enterprise edition databases.', 'Use pessimistic concurrency control by default. This mode is available for Cloud Firestore databases. This is the default setting for Cloud Firestore Standard edition databases.', 'Use optimistic concurrency control with entity groups by default. This mode is enabled for some databases that were automatically upgraded from Cloud Datastore to Cloud Firestore with Datastore Mode. It is not recommended for any new databases, and not supported for Firestore Native databases.']}, 'databaseEdition': {'enum': ['DATABASE_EDITION_UNSPECIFIED', 'STANDARD', 'ENTERPRISE'], 'type': 'string', 'description': 'Immutable. The edition of the database.', 'x-google-immutable': True, 'x-google-enum-descriptions': ['Not used.', 'Standard edition. This is the default setting if not specified.', 'Enterprise edition.']}, 'earliestVersionTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': '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.'}, 'realtimeUpdatesMode': {'enum': ['REALTIME_UPDATES_MODE_UNSPECIFIED', 'REALTIME_UPDATES_MODE_ENABLED', 'REALTIME_UPDATES_MODE_DISABLED'], 'type': 'string', 'description': 'Immutable. The default Realtime Updates mode to use for this database.', 'x-google-immutable': True, 'x-google-enum-descriptions': ['The Realtime Updates feature is not specified.', 'The Realtime Updates feature is enabled by default. This could potentially degrade write performance for the database.', 'The Realtime Updates feature is disabled by default.']}, 'deleteProtectionState': {'enum': ['DELETE_PROTECTION_STATE_UNSPECIFIED', 'DELETE_PROTECTION_DISABLED', 'DELETE_PROTECTION_ENABLED'], 'type': 'string', 'description': 'State of delete protection for the database.', 'x-google-enum-descriptions': ['The default value. Delete protection type is not specified', 'Delete protection is disabled', 'Delete protection is enabled']}, 'versionRetentionPeriod': {'type': 'string', 'format': 'google-duration', 'readOnly': True, 'description': '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.'}, 'firestoreDataAccessMode': {'enum': ['DATA_ACCESS_MODE_UNSPECIFIED', 'DATA_ACCESS_MODE_ENABLED', 'DATA_ACCESS_MODE_DISABLED'], 'type': 'string', 'description': 'Optional. The Firestore API data access mode to use for this database. If not set on write: - the default value is DATA_ACCESS_MODE_DISABLED for Enterprise edition. - the default value is DATA_ACCESS_MODE_ENABLED for Standard edition.', 'x-google-enum-descriptions': ['Not Used.', 'Accessing the database through the API is allowed.', 'Accessing the database through the API is disallowed.']}, 'appEngineIntegrationMode': {'enum': ['APP_ENGINE_INTEGRATION_MODE_UNSPECIFIED', 'ENABLED', 'DISABLED'], 'type': 'string', 'description': 'The App Engine integration mode to use for this database.', 'x-google-enum-descriptions': ['Not used.', '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.', '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.']}, 'pointInTimeRecoveryEnablement': {'enum': ['POINT_IN_TIME_RECOVERY_ENABLEMENT_UNSPECIFIED', 'POINT_IN_TIME_RECOVERY_ENABLED', 'POINT_IN_TIME_RECOVERY_DISABLED'], 'type': 'string', 'description': 'Whether to enable the PITR feature on this database.', 'x-google-enum-descriptions': ['Not used.', '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.', 'Reads are supported on any version of the data from within the past 1 hour.']}, 'mongodbCompatibleDataAccessMode': {'enum': ['DATA_ACCESS_MODE_UNSPECIFIED', 'DATA_ACCESS_MODE_ENABLED', 'DATA_ACCESS_MODE_DISABLED'], 'type': 'string', 'description': 'Optional. The MongoDB compatible API data access mode to use for this database. If not set on write, the default value is DATA_ACCESS_MODE_ENABLED for Enterprise edition. The value is always DATA_ACCESS_MODE_DISABLED for Standard edition.', 'x-google-enum-descriptions': ['Not Used.', 'Accessing the database through the API is allowed.', 'Accessing the database through the API is disallowed.']}}, 'description': 'A Cloud Firestore Database.'}, 'CmekConfig': {'type': 'object', 'properties': {'kmsKeyName': {'type': 'string', 'description': "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}`."}, 'activeKeyVersion': {'type': 'array', 'items': {'type': 'string'}, 'readOnly': True, 'description': 'Output only. Currently in-use [KMS key versions](https://cloud.google.com/kms/docs/resource-hierarchy#key_versions). During [key rotation](https://cloud.google.com/kms/docs/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}`.'}}, 'description': 'The CMEK (Customer Managed Encryption Key) configuration for a Firestore database. If not present, the database is secured by the default Google encryption key.'}, 'SourceInfo': {'type': 'object', 'properties': {'backup': {'$ref': '#/$defs/BackupSource', 'description': 'If set, this database was restored from the specified backup (or a snapshot thereof).'}, 'operation': {'type': 'string', 'description': 'The associated long-running operation. This field may not be set after the operation has completed. Format: `projects/{project}/databases/{database}/operations/{operation}`.'}}, 'description': 'Information about the provenance of this database.'}, 'BackupSource': {'type': 'object', 'properties': {'backup': {'type': 'string', 'description': 'The resource name of the backup that was used to restore this database. Format: `projects/{project}/locations/{location}/backups/{backup}`.'}}, 'description': 'Information about a backup that was used to restore a database.'}}, 'properties': {'databases': {'type': 'array', 'items': {'$ref': '#/$defs/Database'}, 'description': 'The databases in the project.'}, 'unreachable': {'type': 'array', 'items': {'type': 'string'}, 'description': "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."}}, 'description': 'The list of databases for a project.'}
入力スキーマ
{'type': 'object', '$defs': {'DocumentMask': {'type': 'object', 'properties': {'fieldPaths': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The list of field paths in the mask. See Document.fields for a field path syntax reference.'}}, 'description': 'A set of field paths on a document. Used to restrict a get or update operation on a document to a subset of its fields. This is different from standard field masks, as this is always scoped to a Document, and takes in account the dynamic nature of Value.'}, 'RequestOptions': {'type': 'object', 'properties': {'requestTags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional. The request tags for the request. Request tags are user-provided strings used for usage monitoring, cost management, and observability. Callers can associate custom application context (such as component, microservice, feature name, or operation type) with database requests. These tags are collected and aggregated in usage and monitoring reports, allowing billable operations and usage metrics to be sliced and analyzed by tag. These tags *only* show up in monitoring and are visible in administrative operations (such as usage reports). They do not affect data storage, query semantics, or request execution. Cardinality and Best Practices: - Request tags are most effective when using a bounded set of distinct values (e.g., fewer than 100 distinct tags across an entire database). Using a large number of distinct tags may result in tags being omitted from top usage dashboards. - Use structured identifiers (for example: `app=cart`, `env=prod`, `service=checkout`) and avoid high-cardinality values such as UUIDs, request IDs, timestamps, user IDs, or document keys. - Do not include sensitive data or personally identifiable information (PII) in request tags, as they show up in administrative monitoring. The tags are processed as follows: - Leading and trailing whitespace is trimmed. - Empty tags (after trimming) are filtered out. - Truncated to a maximum of 510 characters. - Deduplicated within the same request. - Limited to a maximum of 50 tags per request (excess tags are silently discarded).'}}, 'description': 'Options for a request.'}}, 'required': ['parent'], 'properties': {'mask': {'$ref': '#/$defs/DocumentMask', 'description': 'Optional. The fields to return. If not set, returns all fields. If a document has a field that is not present in this mask, that field will not be returned in the response.'}, 'parent': {'type': 'string', 'description': 'Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`'}, 'orderBy': {'type': 'string', 'description': 'Optional. The optional ordering of the documents to return. For example: `priority desc, __name__ desc`. This mirrors the `ORDER BY` used in Firestore queries but in a string representation. When absent, documents are ordered based on `__name__ ASC`.'}, 'pageSize': {'type': 'integer', 'format': 'int32', 'description': 'Optional. The maximum number of documents to return in a single response. Firestore may return fewer than this value.'}, 'readTime': {'type': 'string', 'format': 'date-time', 'description': 'Perform the read at the provided time. This must be a microsecond precision timestamp within the past one hour, or if Point-in-Time Recovery is enabled, can additionally be a whole minute timestamp within the past 7 days.'}, 'pageToken': {'type': 'string', 'description': 'Optional. A page token, received from a previous `ListDocuments` response. Provide this to retrieve the subsequent page. When paginating, all other parameters (with the exception of `page_size`) must match the values set in the request that generated the page token.'}, 'recursive': {'type': 'boolean', 'description': 'Optional. If the list should recursively include all documents nested under the parent at any level. If the request specifies a `collection_id`, then the list will include all nested documents in the collection under the parent. This is optional, and when not provided, Firestore will only list documents nested immediately under the parent. Requests with `recursive` may not specify `show_missing`.'}, 'showMissing': {'type': 'boolean', 'description': 'If the list should show missing documents. A document is missing if it does not exist, but there are sub-documents nested underneath it. When true, such missing documents will be returned with a key but will not have fields, `create_time`, or `update_time` set. Requests with `show_missing` may not specify `where` or `order_by`.'}, 'transaction': {'type': 'string', 'format': 'byte', 'description': 'Perform the read as part of an already active transaction.'}, 'collectionId': {'type': 'string', 'description': 'Optional. The collection ID, relative to `parent`, to list. For example: `chatrooms` or `messages`. This is optional, and when not provided, Firestore will list documents from all collections under the provided `parent`.'}, 'requestOptions': {'$ref': '#/$defs/RequestOptions', 'description': 'Optional. The request options for this request.'}}, 'description': 'The request for Firestore.ListDocuments.'}
出力スキーマ
{'type': 'object', '$defs': {'Stage': {'type': 'object', 'properties': {'args': {'type': 'array', 'items': {'$ref': '#/$defs/Value'}, 'description': 'Optional. Ordered list of arguments the given stage expects.'}, 'name': {'type': 'string', 'description': 'Required. The name of the stage to evaluate. **Requires:** * must be in snake case (lower case with underscore separator).'}, 'options': {'type': 'object', 'description': 'Optional. Optional named arguments that certain functions may support.', 'additionalProperties': {'$ref': '#/$defs/Value'}}}, 'description': 'A single operation within a pipeline. A stage is made up of a unique name, and a list of arguments. The exact number of arguments & types is dependent on the stage type. To give an example, the stage `filter(state = "MD")` would be encoded as: ``` name: "filter" args { function_value { name: "eq" args { field_reference_value: "state" } args { string_value: "MD" } } } ``` See public documentation for the full list.'}, 'Value': {'type': 'object', 'properties': {'mapValue': {'$ref': '#/$defs/MapValue', 'description': 'A map value.'}, 'nullValue': {'enum': ['NULL_VALUE'], 'type': 'string', 'description': 'A null value.', 'x-google-enum-descriptions': ['Null value.']}, 'arrayValue': {'$ref': '#/$defs/ArrayValue', 'description': 'An array value. In Standard edition databases, an array value cannot directly contain another array value, though it can contain a map which contains another array. In Enterprise edition databases, an array value can contain another array value.'}, 'bytesValue': {'type': 'string', 'format': 'byte', 'description': 'A bytes value. In Standard edition databases: * The value must not exceed 1 MiB - 89 bytes. * Only the first 1,500 bytes are considered by queries. In Enterprise edition databases, there is no limit on the size of the value. However, it is still subject to document and index entry size limits.'}, 'doubleValue': {'type': 'number', 'format': 'double', 'description': 'A double value.'}, 'stringValue': {'type': 'string', 'description': 'A string value. In Standard edition databases: * The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. * Only the first 1,500 bytes of the UTF-8 representation are considered by queries. In Enterprise edition databases, there is no limit on the size of the value. However, it is still subject to document and index entry size limits.'}, 'booleanValue': {'type': 'boolean', 'description': 'A boolean value.'}, 'integerValue': {'type': 'string', 'format': 'int64', 'description': 'An integer value.'}, 'functionValue': {'$ref': '#/$defs/Function', 'description': 'A value that represents an unevaluated expression. **Requires:** * Not allowed to be used when writing documents.'}, 'geoPointValue': {'$ref': '#/$defs/LatLng', 'description': 'A geo point value representing a point on the surface of Earth.'}, 'pipelineValue': {'$ref': '#/$defs/Pipeline', 'description': 'A value that represents an unevaluated pipeline. **Requires:** * Not allowed to be used when writing documents.'}, 'referenceValue': {'type': 'string', 'description': 'A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.'}, 'timestampValue': {'type': 'string', 'format': 'date-time', 'description': 'A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.'}, 'fieldReferenceValue': {'type': 'string', 'description': 'Value which references a field. This is considered relative (vs absolute) since it only refers to a field and not a field within a particular document. **Requires:** * Must follow field reference limitations. * Not allowed to be used when writing documents.'}, 'variableReferenceValue': {'type': 'string', 'description': 'Pointer to a variable defined elsewhere in a pipeline. Unlike `field_reference_value` which references a field within a document, this refers to a variable, defined in a separate namespace than the fields of a document.'}}, 'description': 'A message that can hold any of the supported value types.'}, 'LatLng': {'type': 'object', 'properties': {'latitude': {'type': 'number', 'format': 'double', 'description': 'The latitude in degrees. It must be in the range [-90.0, +90.0].'}, 'longitude': {'type': 'number', 'format': 'double', 'description': 'The longitude in degrees. It must be in the range [-180.0, +180.0].'}}, 'description': 'An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard <https://en.wikipedia.org/wiki/World_Geodetic_System#1984_version>. Values must be within normalized ranges.'}, 'Document': {'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`.'}, 'fields': {'type': 'object', 'description': 'The document\'s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The field names, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by a dot-delimited (`.`) string of segments. Each segment is either a simple field name (defined below) or a quoted field name. For example, the structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be represented by the field path `` foo.`x&y` ``. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. A quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\\`. For example, `` `x&y` `` represents `x&y` and `` `bak\\`tik` `` represents `` bak`tik ``.', 'additionalProperties': {'$ref': '#/$defs/Value'}}, 'createTime': {'type': 'string', 'format': 'date-time', 'description': 'Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'description': 'Output only. The time at which the document was last changed. This value is initially set to the `create_time` then increases monotonically with each change to the document. It can also be compared to values from other documents and the `read_time` of a query.'}}, 'description': 'A Firestore document. Must not exceed 1 MiB - 4 bytes.'}, 'Function': {'type': 'object', 'properties': {'args': {'type': 'array', 'items': {'$ref': '#/$defs/Value'}, 'description': 'Optional. Ordered list of arguments the given function expects.'}, 'name': {'type': 'string', 'description': 'Required. The name of the function to evaluate. **Requires:** * must be in snake case (lower case with underscore separator).'}, 'options': {'type': 'object', 'description': 'Optional. Optional named arguments that certain functions may support.', 'additionalProperties': {'$ref': '#/$defs/Value'}}}, 'description': 'Represents an unevaluated scalar expression. For example, the expression `like(user_name, "%alice%")` is represented as: ``` name: "like" args { field_reference: "user_name" } args { string_value: "%alice%" } ```'}, 'MapValue': {'type': 'object', 'properties': {'fields': {'type': 'object', 'description': "The map's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.", 'additionalProperties': {'$ref': '#/$defs/Value'}}}, 'description': 'A map value.'}, 'Pipeline': {'type': 'object', 'properties': {'stages': {'type': 'array', 'items': {'$ref': '#/$defs/Stage'}, 'description': 'Required. Ordered list of stages to evaluate.'}}, 'description': 'A Firestore query represented as an ordered list of operations / stages.'}, 'ArrayValue': {'type': 'object', 'properties': {'values': {'type': 'array', 'items': {'$ref': '#/$defs/Value'}, 'description': 'Values in the array.'}}, 'description': 'An array value.'}}, 'properties': {'documents': {'type': 'array', 'items': {'$ref': '#/$defs/Document'}, 'description': 'The Documents found.'}, 'nextPageToken': {'type': 'string', 'description': 'A token to retrieve the next page of documents. If this field is omitted, there are no subsequent pages.'}}, 'description': 'The response for Firestore.ListDocuments.'}
入力スキーマ
{'type': 'object', 'required': ['parent'], 'properties': {'filter': {'type': 'string', 'description': 'The filter to apply to list results.'}, 'parent': {'type': 'string', 'description': 'Required. A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`'}, 'pageSize': {'type': 'integer', 'format': 'int32', 'description': 'The number of results to return.'}, 'pageToken': {'type': 'string', 'description': 'A page token, returned from a previous call to FirestoreAdmin.ListIndexes, that may be used to get the next page of results.'}}, 'description': 'The request for FirestoreAdmin.ListIndexes.'}
出力スキーマ
{'type': 'object', '$defs': {'Index': {'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'A server-defined name for this index. Output only. When used in the google.firestore.admin.v1.Index resource, the value is of the form: `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}` When used in the google.firestore.admin.v1.Field resource, the value is empty.'}, 'state': {'enum': ['STATE_UNSPECIFIED', 'CREATING', 'READY', 'NEEDS_REPAIR'], 'type': 'string', 'description': 'Output only. The serving state of the index.', 'x-google-enum-descriptions': ['The state is unspecified.', '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.', '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.', '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.']}, 'fields': {'type': 'array', 'items': {'$ref': '#/$defs/IndexField'}, 'description': 'The fields supported by this index. At most 100 fields may be specified. In Standard edition databases only: - At least 2 fields must be specified. - 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 the index is not directional, the `__name__` will be ordered ASCENDING (unless explicitly specified).'}, 'unique': {'type': 'boolean', 'description': 'Optional. Whether it is an unique index. Unique index ensures all values for the indexed field(s) are unique across documents.'}, 'density': {'enum': ['DENSITY_UNSPECIFIED', 'SPARSE_ALL', 'SPARSE_ANY', 'DENSE'], 'type': 'string', 'description': 'Immutable. The density configuration of the index.', 'x-google-immutable': True, 'x-google-enum-descriptions': ['Unspecified. It will use database default setting. This value is input only.', 'An index entry will only exist if ALL fields are present in the document. This is both the default and only allowed value for Standard edition databases (for both Cloud Firestore `ANY_API` and Cloud Datastore `DATASTORE_MODE_API`). Take for example the following document: ``` { "__name__": "...", "a": 1, "b": 2, "c": 3 } ``` an index on `(a ASC, b ASC, c ASC, __name__ ASC)` will generate an index entry for this document since `a`, \'b\', `c`, and `__name__` are all present but an index of `(a ASC, d ASC, __name__ ASC)` will not generate an index entry for this document since `d` is missing. This means that such indexes can only be used to serve a query when the query has either implicit or explicit requirements that all fields from the index are present.', 'An index entry will exist if ANY field are present in the document. This is used as the definition of a sparse index for Enterprise edition databases. Take for example the following document: ``` { "__name__": "...", "a": 1, "b": 2, "c": 3 } ``` an index on `(a ASC, d ASC)` will generate an index entry for this document since `a` is present, and will fill in an `unset` value for `d`. An index on `(d ASC, e ASC)` will not generate any index entry as neither `d` nor `e` are present. An index that contains `__name__` will generate an index entry for all documents since Firestore guarantees that all documents have a `__name__` field.', 'An index entry will exist regardless of if the fields are present or not. This is the default density for an Enterprise edition database. The index will store `unset` values for fields that are not present in the document.']}, 'apiScope': {'enum': ['ANY_API', 'DATASTORE_MODE_API', 'MONGODB_COMPATIBLE_API'], 'type': 'string', 'description': 'The API scope supported by this index.', 'x-google-enum-descriptions': ['The index can only be used by the Firestore Native query API. This is the default.', 'The index can only be used by the Firestore in Datastore Mode query API.', 'The index can only be used by the MONGODB_COMPATIBLE_API.']}, 'multikey': {'type': 'boolean', 'description': 'Optional. Whether the index is multikey. By default, the index is not multikey. For non-multikey indexes, none of the paths in the index definition reach or traverse an array, except via an explicit array index. For multikey indexes, at most one of the paths in the index definition reach or traverse an array, except via an explicit array index. Violations will result in errors. Note this field only applies to index with MONGODB_COMPATIBLE_API ApiScope.'}, 'queryScope': {'enum': ['QUERY_SCOPE_UNSPECIFIED', 'COLLECTION', 'COLLECTION_GROUP', 'COLLECTION_RECURSIVE'], 'type': 'string', 'description': '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.', 'x-google-enum-descriptions': ['The query scope is unspecified. Not a valid option.', '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.', 'Indexes with a collection group query scope specified allow queries against all collections that has the collection ID specified by the index.', "Include all the collections's ancestor in the index. Only available for Datastore Mode databases."]}, 'shardCount': {'type': 'integer', 'format': 'int32', 'description': 'Optional. The number of shards for the index.'}, 'searchIndexOptions': {'$ref': '#/$defs/SearchIndexOptions', 'description': 'Optional. Options for search indexes that are at the index definition level. This field is only currently supported for indexes with MONGODB_COMPATIBLE_API ApiScope.'}}, 'description': 'Cloud Firestore indexes enable simple and complex queries against documents in a database. In Standard edition databases, single-field indexes are managed using the google.firestore.admin.v1.Field resource, and composite indexes are managed using the google.firestore.admin.v1.Index resource. In Enterprise edition databases, both single-field and composite indexes are managed using the google.firestore.admin.v1.Index resource.'}, 'FlatIndex': {'type': 'object', 'properties': {}, 'description': 'An index that stores vectors in a flat data structure, and supports exhaustive search.'}, 'IndexField': {'type': 'object', 'properties': {'order': {'enum': ['ORDER_UNSPECIFIED', 'ASCENDING', 'DESCENDING'], 'type': 'string', 'description': 'Indicates that this field supports ordering by the specified order or comparing using =, !=, <, <=, >, >=.', 'x-google-enum-descriptions': ['The ordering is unspecified. Not a valid option.', 'The field is ordered by ascending field value.', 'The field is ordered by descending field value.']}, 'fieldPath': {'type': 'string', 'description': 'Can be __name__. For single field indexes, this must match the name of the field or may be omitted.'}, 'arrayConfig': {'enum': ['ARRAY_CONFIG_UNSPECIFIED', 'CONTAINS'], 'type': 'string', 'description': 'Indicates that this field supports operations on `array_value`s.', 'x-google-enum-descriptions': ['The index does not support additional array queries.', 'The index supports array containment queries.']}, 'searchConfig': {'$ref': '#/$defs/SearchConfig', 'description': 'Indicates that this field supports search operations.'}, 'vectorConfig': {'$ref': '#/$defs/VectorConfig', 'description': 'Indicates that this field supports nearest neighbor and distance operations on vector.'}}, 'description': 'A field in an index. The field_path describes which field is indexed, the value_mode describes how the field value is indexed.'}, 'SearchConfig': {'type': 'object', 'properties': {'geoSpec': {'$ref': '#/$defs/SearchGeoSpec', 'description': 'Optional. The specification for building a geo search index for a field.'}, 'textSpec': {'$ref': '#/$defs/SearchTextSpec', 'description': 'Optional. The specification for building a text search index for a field.'}}, 'description': 'The configuration for how to index a field for search.'}, 'VectorConfig': {'type': 'object', 'properties': {'flat': {'$ref': '#/$defs/FlatIndex', 'description': 'Indicates the vector index is a flat index.'}, 'dimension': {'type': 'integer', 'format': 'int32', 'description': '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.'}}, 'description': 'The index configuration to support vector search operations'}, 'SearchGeoSpec': {'type': 'object', 'properties': {'geoJsonIndexingDisabled': {'type': 'boolean', 'description': 'Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed. Firestore GeoPoints are indexed regardless of the value of this field.'}}, 'description': 'The specification for how to build a geo search index for a field.'}, 'SearchTextSpec': {'type': 'object', 'properties': {'indexSpecs': {'type': 'array', 'items': {'$ref': '#/$defs/SearchTextIndexSpec'}, 'description': 'Required. Specifications for how the field should be indexed. Repeated so that the field can be indexed in multiple ways.'}}, 'description': 'The specification for how to build a text search index for a field.'}, 'SearchIndexOptions': {'type': 'object', 'properties': {'textLanguage': {'type': 'string', 'description': 'Optional. The language to use for text search indexes. Used as the default language if not overridden at the document level by specifying the `text_language_override_field`. The language is specified as a BCP 47 language code. For indexes with MONGODB_COMPATIBLE_API ApiScope: If unspecified, the default language is English. For indexes with `ANY_API` ApiScope: If unspecified, the default behavior is autodetect.'}, 'textLanguageOverrideFieldPath': {'type': 'string', 'description': 'Optional. The field in the document that specifies which language to use for that specific document. For indexes with MONGODB_COMPATIBLE_API ApiScope: if unspecified, the language is taken from the "language" field if it exists or from `text_language` if it does not.'}}, 'description': 'Options for search indexes at the definition level.'}, 'SearchTextIndexSpec': {'type': 'object', 'properties': {'indexType': {'enum': ['TEXT_INDEX_TYPE_UNSPECIFIED', 'TOKENIZED'], 'type': 'string', 'description': 'Required. How to index the text field value.', 'x-google-enum-descriptions': ['The index type is unspecified. Not a valid option.', 'Field values are tokenized. This is the only way currently supported for MONGODB_COMPATIBLE_API.']}, 'matchType': {'enum': ['TEXT_MATCH_TYPE_UNSPECIFIED', 'MATCH_GLOBALLY'], 'type': 'string', 'description': 'Required. How to match the text field value.', 'x-google-enum-descriptions': ['The match type is unspecified. Not a valid option.', 'Match on any indexed field. This is the only way currently supported for MONGODB_COMPATIBLE_API.']}}, 'description': 'Specification of how the field should be indexed for search text indexes.'}}, 'properties': {'indexes': {'type': 'array', 'items': {'$ref': '#/$defs/Index'}, 'description': 'The requested indexes.'}, 'nextPageToken': {'type': 'string', 'description': 'A page token that may be used to request another page of results. If blank, this is the last page.'}}, 'description': 'The response for FirestoreAdmin.ListIndexes.'}
入力スキーマ
{'type': 'object', '$defs': {'BackupSchedule': {'type': 'object', 'properties': {'name': {'type': 'string', 'readOnly': True, 'description': '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}`'}, 'retention': {'type': 'string', 'format': 'google-duration', 'description': '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.'}, 'createTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': '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.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': '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.'}, 'dailyRecurrence': {'$ref': '#/$defs/DailyRecurrence', 'description': 'For a schedule that runs daily.'}, 'weeklyRecurrence': {'$ref': '#/$defs/WeeklyRecurrence', 'description': 'For a schedule that runs weekly on a specific day.'}}, 'description': '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.'}, 'DailyRecurrence': {'type': 'object', 'properties': {}, 'description': 'Represents a recurring schedule that runs every day. The time zone is UTC.'}, 'WeeklyRecurrence': {'type': 'object', 'properties': {'day': {'enum': ['DAY_OF_WEEK_UNSPECIFIED', 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY'], 'type': 'string', 'description': 'The day of week to run. DAY_OF_WEEK_UNSPECIFIED is not allowed.', 'x-google-enum-descriptions': ['The day of the week is unspecified.', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']}}, 'description': 'Represents a recurring schedule that runs on a specified day of the week. The time zone is UTC.'}}, 'required': ['backupSchedule'], 'properties': {'updateMask': {'type': 'string', 'format': 'google-fieldmask', 'pattern': '^(\\s*[^,\\s.]+(\\s*[,.]\\s*[^,\\s.]+)*)?$', 'description': 'The list of fields to be updated.'}, 'backupSchedule': {'$ref': '#/$defs/BackupSchedule', 'description': 'Required. The backup schedule to update.'}}, 'description': 'The request for FirestoreAdmin.UpdateBackupSchedule.'}
出力スキーマ
{'type': 'object', '$defs': {'DailyRecurrence': {'type': 'object', 'properties': {}, 'description': 'Represents a recurring schedule that runs every day. The time zone is UTC.'}, 'WeeklyRecurrence': {'type': 'object', 'properties': {'day': {'enum': ['DAY_OF_WEEK_UNSPECIFIED', 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY'], 'type': 'string', 'description': 'The day of week to run. DAY_OF_WEEK_UNSPECIFIED is not allowed.', 'x-google-enum-descriptions': ['The day of the week is unspecified.', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']}}, 'description': 'Represents a recurring schedule that runs on a specified day of the week. The time zone is UTC.'}}, 'properties': {'name': {'type': 'string', 'readOnly': True, 'description': '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}`'}, 'retention': {'type': 'string', 'format': 'google-duration', 'description': '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.'}, 'createTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': '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.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': '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.'}, 'dailyRecurrence': {'$ref': '#/$defs/DailyRecurrence', 'description': 'For a schedule that runs daily.'}, 'weeklyRecurrence': {'$ref': '#/$defs/WeeklyRecurrence', 'description': 'For a schedule that runs weekly on a specific day.'}}, 'description': '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.'}
入力スキーマ
{'type': 'object', '$defs': {'Database': {'type': 'object', 'required': ['locationId', 'type'], 'properties': {'uid': {'type': 'string', 'readOnly': True, 'description': 'Output only. The system-generated UUID4 for this Database.'}, 'etag': {'type': 'string', 'description': '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.'}, 'name': {'type': 'string', 'description': 'The resource name of the Database. Format: `projects/{project}/databases/{database}`'}, 'tags': {'type': 'object', 'writeOnly': True, 'description': 'Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing"', 'x-google-immutable': True, 'additionalProperties': {'type': 'string'}}, 'type': {'enum': ['DATABASE_TYPE_UNSPECIFIED', 'FIRESTORE_NATIVE', 'DATASTORE_MODE'], 'type': 'string', 'description': 'Required. The type of the database. See https://cloud.google.com/datastore/docs/firestore-or-datastore for information about how to choose.', 'x-google-enum-descriptions': ['Not used.', 'Firestore Native Mode', 'Firestore in Datastore Mode.']}, 'freeTier': {'type': 'boolean', 'readOnly': True, 'description': 'Output only. Background: Free tier is the ability of a Firestore database to use a small amount of resources every day without being charged. Once usage exceeds the free tier limit further usage is charged. Whether this database can make use of the free tier. Only one database per project can be eligible for the free tier. The first (or next) database that is created in a project without a free tier database will be marked as eligible for the free tier. Databases that are created while there is a free tier database will not be eligible for the free tier.'}, 'keyPrefix': {'type': 'string', 'readOnly': True, 'description': '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).'}, 'cmekConfig': {'$ref': '#/$defs/CmekConfig', 'description': 'Optional. Presence indicates CMEK is enabled for this database.'}, 'createTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The timestamp at which this database was created. Databases created before 2016 do not populate create_time.'}, 'deleteTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The timestamp at which this database was deleted. Only set if the database has been deleted.'}, 'locationId': {'type': 'string', 'description': 'Required. The location of the database. Available locations are listed at https://cloud.google.com/firestore/docs/locations.'}, 'previousId': {'type': 'string', 'readOnly': True, 'description': "Output only. The database resource's prior database ID. This field is only populated for deleted databases."}, 'sourceInfo': {'$ref': '#/$defs/SourceInfo', 'readOnly': True, 'description': 'Output only. Information about the provenance of this database.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': '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.'}, 'concurrencyMode': {'enum': ['CONCURRENCY_MODE_UNSPECIFIED', 'OPTIMISTIC', 'PESSIMISTIC', 'OPTIMISTIC_WITH_ENTITY_GROUPS'], 'type': 'string', 'description': 'The default concurrency control mode to use for this database. If unspecified in a CreateDatabase request, this will default based on the database edition: Optimistic for Enterprise and Pessimistic for all other databases. While transactions can explicitly specify their own concurrency mode, this setting defines the default behavior when left unspecified. Important: This database-level setting is not respected for Firestore with MongoDB compatibility. All transactions through the MongoDB compatibility layer will use optimistic concurrency control, regardless of this setting.', 'x-google-enum-descriptions': ['Not used.', 'Use optimistic concurrency control by default. This mode is available for Cloud Firestore databases. This is the default setting for Cloud Firestore Enterprise edition databases.', 'Use pessimistic concurrency control by default. This mode is available for Cloud Firestore databases. This is the default setting for Cloud Firestore Standard edition databases.', 'Use optimistic concurrency control with entity groups by default. This mode is enabled for some databases that were automatically upgraded from Cloud Datastore to Cloud Firestore with Datastore Mode. It is not recommended for any new databases, and not supported for Firestore Native databases.']}, 'databaseEdition': {'enum': ['DATABASE_EDITION_UNSPECIFIED', 'STANDARD', 'ENTERPRISE'], 'type': 'string', 'description': 'Immutable. The edition of the database.', 'x-google-immutable': True, 'x-google-enum-descriptions': ['Not used.', 'Standard edition. This is the default setting if not specified.', 'Enterprise edition.']}, 'earliestVersionTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': '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.'}, 'realtimeUpdatesMode': {'enum': ['REALTIME_UPDATES_MODE_UNSPECIFIED', 'REALTIME_UPDATES_MODE_ENABLED', 'REALTIME_UPDATES_MODE_DISABLED'], 'type': 'string', 'description': 'Immutable. The default Realtime Updates mode to use for this database.', 'x-google-immutable': True, 'x-google-enum-descriptions': ['The Realtime Updates feature is not specified.', 'The Realtime Updates feature is enabled by default. This could potentially degrade write performance for the database.', 'The Realtime Updates feature is disabled by default.']}, 'deleteProtectionState': {'enum': ['DELETE_PROTECTION_STATE_UNSPECIFIED', 'DELETE_PROTECTION_DISABLED', 'DELETE_PROTECTION_ENABLED'], 'type': 'string', 'description': 'State of delete protection for the database.', 'x-google-enum-descriptions': ['The default value. Delete protection type is not specified', 'Delete protection is disabled', 'Delete protection is enabled']}, 'versionRetentionPeriod': {'type': 'string', 'format': 'google-duration', 'readOnly': True, 'description': '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.'}, 'firestoreDataAccessMode': {'enum': ['DATA_ACCESS_MODE_UNSPECIFIED', 'DATA_ACCESS_MODE_ENABLED', 'DATA_ACCESS_MODE_DISABLED'], 'type': 'string', 'description': 'Optional. The Firestore API data access mode to use for this database. If not set on write: - the default value is DATA_ACCESS_MODE_DISABLED for Enterprise edition. - the default value is DATA_ACCESS_MODE_ENABLED for Standard edition.', 'x-google-enum-descriptions': ['Not Used.', 'Accessing the database through the API is allowed.', 'Accessing the database through the API is disallowed.']}, 'appEngineIntegrationMode': {'enum': ['APP_ENGINE_INTEGRATION_MODE_UNSPECIFIED', 'ENABLED', 'DISABLED'], 'type': 'string', 'description': 'The App Engine integration mode to use for this database.', 'x-google-enum-descriptions': ['Not used.', '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.', '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.']}, 'pointInTimeRecoveryEnablement': {'enum': ['POINT_IN_TIME_RECOVERY_ENABLEMENT_UNSPECIFIED', 'POINT_IN_TIME_RECOVERY_ENABLED', 'POINT_IN_TIME_RECOVERY_DISABLED'], 'type': 'string', 'description': 'Whether to enable the PITR feature on this database.', 'x-google-enum-descriptions': ['Not used.', '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.', 'Reads are supported on any version of the data from within the past 1 hour.']}, 'mongodbCompatibleDataAccessMode': {'enum': ['DATA_ACCESS_MODE_UNSPECIFIED', 'DATA_ACCESS_MODE_ENABLED', 'DATA_ACCESS_MODE_DISABLED'], 'type': 'string', 'description': 'Optional. The MongoDB compatible API data access mode to use for this database. If not set on write, the default value is DATA_ACCESS_MODE_ENABLED for Enterprise edition. The value is always DATA_ACCESS_MODE_DISABLED for Standard edition.', 'x-google-enum-descriptions': ['Not Used.', 'Accessing the database through the API is allowed.', 'Accessing the database through the API is disallowed.']}}, 'description': 'A Cloud Firestore Database.'}, 'CmekConfig': {'type': 'object', 'required': ['kmsKeyName'], 'properties': {'kmsKeyName': {'type': 'string', 'description': "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}`."}, 'activeKeyVersion': {'type': 'array', 'items': {'type': 'string'}, 'readOnly': True, 'description': 'Output only. Currently in-use [KMS key versions](https://cloud.google.com/kms/docs/resource-hierarchy#key_versions). During [key rotation](https://cloud.google.com/kms/docs/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}`.'}}, 'description': 'The CMEK (Customer Managed Encryption Key) configuration for a Firestore database. If not present, the database is secured by the default Google encryption key.'}, 'SourceInfo': {'type': 'object', 'properties': {'backup': {'$ref': '#/$defs/BackupSource', 'description': 'If set, this database was restored from the specified backup (or a snapshot thereof).'}, 'operation': {'type': 'string', 'description': 'The associated long-running operation. This field may not be set after the operation has completed. Format: `projects/{project}/databases/{database}/operations/{operation}`.'}}, 'description': 'Information about the provenance of this database.'}, 'BackupSource': {'type': 'object', 'properties': {'backup': {'type': 'string', 'description': 'The resource name of the backup that was used to restore this database. Format: `projects/{project}/locations/{location}/backups/{backup}`.'}}, 'description': 'Information about a backup that was used to restore a database.'}}, 'required': ['database'], 'properties': {'database': {'$ref': '#/$defs/Database', 'description': 'Required. The database to update.'}, 'updateMask': {'type': 'string', 'format': 'google-fieldmask', 'pattern': '^(\\s*[^,\\s.]+(\\s*[,.]\\s*[^,\\s.]+)*)?$', 'description': 'The list of fields to be updated.'}}, 'description': 'The request for FirestoreAdmin.UpdateDatabase.'}
出力スキーマ
{'type': 'object', '$defs': {'Status': {'type': 'object', 'properties': {'code': {'type': 'integer', 'format': 'int32', 'description': 'The status code, which should be an enum value of google.rpc.Code.'}, 'details': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'description': 'A list of messages that carry the error details. There is a common set of message types for APIs to use.'}, 'message': {'type': 'string', '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.'}}, 'description': 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'}}, 'properties': {'done': {'type': 'boolean', 'description': 'If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.'}, 'name': {'type': 'string', 'description': 'The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.'}, 'error': {'$ref': '#/$defs/Status', 'description': 'The error result of the operation in case of failure or cancellation.'}, 'metadata': {'type': 'object', 'description': 'Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'response': {'type': 'object', 'description': 'The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}}, 'description': 'This resource represents a long-running operation that is the result of a network API call.'}
入力スキーマ
{'type': 'object', '$defs': {'Stage': {'type': 'object', 'required': ['name'], 'properties': {'args': {'type': 'array', 'items': {'$ref': '#/$defs/Value'}, 'description': 'Optional. Ordered list of arguments the given stage expects.'}, 'name': {'type': 'string', 'description': 'Required. The name of the stage to evaluate. **Requires:** * must be in snake case (lower case with underscore separator).'}, 'options': {'type': 'object', 'description': 'Optional. Optional named arguments that certain functions may support.', 'additionalProperties': {'$ref': '#/$defs/Value'}}}, 'description': 'A single operation within a pipeline. A stage is made up of a unique name, and a list of arguments. The exact number of arguments & types is dependent on the stage type. To give an example, the stage `filter(state = "MD")` would be encoded as: ``` name: "filter" args { function_value { name: "eq" args { field_reference_value: "state" } args { string_value: "MD" } } } ``` See public documentation for the full list.'}, 'Value': {'type': 'object', 'properties': {'mapValue': {'$ref': '#/$defs/MapValue', 'description': 'A map value.'}, 'nullValue': {'enum': ['NULL_VALUE'], 'type': 'string', 'description': 'A null value.', 'x-google-enum-descriptions': ['Null value.']}, 'arrayValue': {'$ref': '#/$defs/ArrayValue', 'description': 'An array value. In Standard edition databases, an array value cannot directly contain another array value, though it can contain a map which contains another array. In Enterprise edition databases, an array value can contain another array value.'}, 'bytesValue': {'type': 'string', 'format': 'byte', 'description': 'A bytes value. In Standard edition databases: * The value must not exceed 1 MiB - 89 bytes. * Only the first 1,500 bytes are considered by queries. In Enterprise edition databases, there is no limit on the size of the value. However, it is still subject to document and index entry size limits.'}, 'doubleValue': {'type': 'number', 'format': 'double', 'description': 'A double value.'}, 'stringValue': {'type': 'string', 'description': 'A string value. In Standard edition databases: * The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. * Only the first 1,500 bytes of the UTF-8 representation are considered by queries. In Enterprise edition databases, there is no limit on the size of the value. However, it is still subject to document and index entry size limits.'}, 'booleanValue': {'type': 'boolean', 'description': 'A boolean value.'}, 'integerValue': {'type': 'string', 'format': 'int64', 'description': 'An integer value.'}, 'functionValue': {'$ref': '#/$defs/Function', 'description': 'A value that represents an unevaluated expression. **Requires:** * Not allowed to be used when writing documents.'}, 'geoPointValue': {'$ref': '#/$defs/LatLng', 'description': 'A geo point value representing a point on the surface of Earth.'}, 'pipelineValue': {'$ref': '#/$defs/Pipeline', 'description': 'A value that represents an unevaluated pipeline. **Requires:** * Not allowed to be used when writing documents.'}, 'referenceValue': {'type': 'string', 'description': 'A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.'}, 'timestampValue': {'type': 'string', 'format': 'date-time', 'description': 'A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.'}, 'fieldReferenceValue': {'type': 'string', 'description': 'Value which references a field. This is considered relative (vs absolute) since it only refers to a field and not a field within a particular document. **Requires:** * Must follow field reference limitations. * Not allowed to be used when writing documents.'}, 'variableReferenceValue': {'type': 'string', 'description': 'Pointer to a variable defined elsewhere in a pipeline. Unlike `field_reference_value` which references a field within a document, this refers to a variable, defined in a separate namespace than the fields of a document.'}}, 'description': 'A message that can hold any of the supported value types.'}, 'LatLng': {'type': 'object', 'properties': {'latitude': {'type': 'number', 'format': 'double', 'description': 'The latitude in degrees. It must be in the range [-90.0, +90.0].'}, 'longitude': {'type': 'number', 'format': 'double', 'description': 'The longitude in degrees. It must be in the range [-180.0, +180.0].'}}, 'description': 'An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard <https://en.wikipedia.org/wiki/World_Geodetic_System#1984_version>. Values must be within normalized ranges.'}, 'Document': {'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`.'}, 'fields': {'type': 'object', 'description': 'The document\'s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The field names, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by a dot-delimited (`.`) string of segments. Each segment is either a simple field name (defined below) or a quoted field name. For example, the structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be represented by the field path `` foo.`x&y` ``. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. A quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\\`. For example, `` `x&y` `` represents `x&y` and `` `bak\\`tik` `` represents `` bak`tik ``.', 'additionalProperties': {'$ref': '#/$defs/Value'}}, 'createTime': {'type': 'string', 'format': 'date-time', 'description': 'Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'description': 'Output only. The time at which the document was last changed. This value is initially set to the `create_time` then increases monotonically with each change to the document. It can also be compared to values from other documents and the `read_time` of a query.'}}, 'description': 'A Firestore document. Must not exceed 1 MiB - 4 bytes.'}, 'Function': {'type': 'object', 'required': ['name'], 'properties': {'args': {'type': 'array', 'items': {'$ref': '#/$defs/Value'}, 'description': 'Optional. Ordered list of arguments the given function expects.'}, 'name': {'type': 'string', 'description': 'Required. The name of the function to evaluate. **Requires:** * must be in snake case (lower case with underscore separator).'}, 'options': {'type': 'object', 'description': 'Optional. Optional named arguments that certain functions may support.', 'additionalProperties': {'$ref': '#/$defs/Value'}}}, 'description': 'Represents an unevaluated scalar expression. For example, the expression `like(user_name, "%alice%")` is represented as: ``` name: "like" args { field_reference: "user_name" } args { string_value: "%alice%" } ```'}, 'MapValue': {'type': 'object', 'properties': {'fields': {'type': 'object', 'description': "The map's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.", 'additionalProperties': {'$ref': '#/$defs/Value'}}}, 'description': 'A map value.'}, 'Pipeline': {'type': 'object', 'required': ['stages'], 'properties': {'stages': {'type': 'array', 'items': {'$ref': '#/$defs/Stage'}, 'description': 'Required. Ordered list of stages to evaluate.'}}, 'description': 'A Firestore query represented as an ordered list of operations / stages.'}, 'ArrayValue': {'type': 'object', 'properties': {'values': {'type': 'array', 'items': {'$ref': '#/$defs/Value'}, 'description': 'Values in the array.'}}, 'description': 'An array value.'}, 'DocumentMask': {'type': 'object', 'properties': {'fieldPaths': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The list of field paths in the mask. See Document.fields for a field path syntax reference.'}}, 'description': 'A set of field paths on a document. Used to restrict a get or update operation on a document to a subset of its fields. This is different from standard field masks, as this is always scoped to a Document, and takes in account the dynamic nature of Value.'}, 'Precondition': {'type': 'object', 'properties': {'exists': {'type': 'boolean', 'description': 'When set to `true`, the target document must exist. When set to `false`, the target document must not exist.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'description': 'When set, the target document must exist and have been last updated at that time. Timestamp must be microsecond aligned.'}}, 'description': 'A precondition on a document, used for conditional operations.'}, 'RequestOptions': {'type': 'object', 'properties': {'requestTags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional. The request tags for the request. Request tags are user-provided strings used for usage monitoring, cost management, and observability. Callers can associate custom application context (such as component, microservice, feature name, or operation type) with database requests. These tags are collected and aggregated in usage and monitoring reports, allowing billable operations and usage metrics to be sliced and analyzed by tag. These tags *only* show up in monitoring and are visible in administrative operations (such as usage reports). They do not affect data storage, query semantics, or request execution. Cardinality and Best Practices: - Request tags are most effective when using a bounded set of distinct values (e.g., fewer than 100 distinct tags across an entire database). Using a large number of distinct tags may result in tags being omitted from top usage dashboards. - Use structured identifiers (for example: `app=cart`, `env=prod`, `service=checkout`) and avoid high-cardinality values such as UUIDs, request IDs, timestamps, user IDs, or document keys. - Do not include sensitive data or personally identifiable information (PII) in request tags, as they show up in administrative monitoring. The tags are processed as follows: - Leading and trailing whitespace is trimmed. - Empty tags (after trimming) are filtered out. - Truncated to a maximum of 510 characters. - Deduplicated within the same request. - Limited to a maximum of 50 tags per request (excess tags are silently discarded).'}}, 'description': 'Options for a request.'}}, 'required': ['document'], 'properties': {'mask': {'$ref': '#/$defs/DocumentMask', 'description': 'The fields to return. If not set, returns all fields. If the document has a field that is not present in this mask, that field will not be returned in the response.'}, 'document': {'$ref': '#/$defs/Document', 'description': 'Required. The updated document. Creates the document if it does not already exist.'}, 'updateMask': {'$ref': '#/$defs/DocumentMask', 'description': 'The fields to update. None of the field paths in the mask may contain a reserved name. If the document exists on the server and has fields not referenced in the mask, they are left unchanged. Fields referenced in the mask, but not present in the input document, are deleted from the document on the server.'}, 'requestOptions': {'$ref': '#/$defs/RequestOptions', 'description': 'Optional. The request options for this request.'}, 'currentDocument': {'$ref': '#/$defs/Precondition', 'description': 'An optional precondition on the document. The request will fail if this is set and not met by the target document.'}}, 'description': 'The request for Firestore.UpdateDocument.'}
出力スキーマ
{'type': 'object', '$defs': {'Stage': {'type': 'object', 'properties': {'args': {'type': 'array', 'items': {'$ref': '#/$defs/Value'}, 'description': 'Optional. Ordered list of arguments the given stage expects.'}, 'name': {'type': 'string', 'description': 'Required. The name of the stage to evaluate. **Requires:** * must be in snake case (lower case with underscore separator).'}, 'options': {'type': 'object', 'description': 'Optional. Optional named arguments that certain functions may support.', 'additionalProperties': {'$ref': '#/$defs/Value'}}}, 'description': 'A single operation within a pipeline. A stage is made up of a unique name, and a list of arguments. The exact number of arguments & types is dependent on the stage type. To give an example, the stage `filter(state = "MD")` would be encoded as: ``` name: "filter" args { function_value { name: "eq" args { field_reference_value: "state" } args { string_value: "MD" } } } ``` See public documentation for the full list.'}, 'Value': {'type': 'object', 'properties': {'mapValue': {'$ref': '#/$defs/MapValue', 'description': 'A map value.'}, 'nullValue': {'enum': ['NULL_VALUE'], 'type': 'string', 'description': 'A null value.', 'x-google-enum-descriptions': ['Null value.']}, 'arrayValue': {'$ref': '#/$defs/ArrayValue', 'description': 'An array value. In Standard edition databases, an array value cannot directly contain another array value, though it can contain a map which contains another array. In Enterprise edition databases, an array value can contain another array value.'}, 'bytesValue': {'type': 'string', 'format': 'byte', 'description': 'A bytes value. In Standard edition databases: * The value must not exceed 1 MiB - 89 bytes. * Only the first 1,500 bytes are considered by queries. In Enterprise edition databases, there is no limit on the size of the value. However, it is still subject to document and index entry size limits.'}, 'doubleValue': {'type': 'number', 'format': 'double', 'description': 'A double value.'}, 'stringValue': {'type': 'string', 'description': 'A string value. In Standard edition databases: * The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. * Only the first 1,500 bytes of the UTF-8 representation are considered by queries. In Enterprise edition databases, there is no limit on the size of the value. However, it is still subject to document and index entry size limits.'}, 'booleanValue': {'type': 'boolean', 'description': 'A boolean value.'}, 'integerValue': {'type': 'string', 'format': 'int64', 'description': 'An integer value.'}, 'functionValue': {'$ref': '#/$defs/Function', 'description': 'A value that represents an unevaluated expression. **Requires:** * Not allowed to be used when writing documents.'}, 'geoPointValue': {'$ref': '#/$defs/LatLng', 'description': 'A geo point value representing a point on the surface of Earth.'}, 'pipelineValue': {'$ref': '#/$defs/Pipeline', 'description': 'A value that represents an unevaluated pipeline. **Requires:** * Not allowed to be used when writing documents.'}, 'referenceValue': {'type': 'string', 'description': 'A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.'}, 'timestampValue': {'type': 'string', 'format': 'date-time', 'description': 'A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.'}, 'fieldReferenceValue': {'type': 'string', 'description': 'Value which references a field. This is considered relative (vs absolute) since it only refers to a field and not a field within a particular document. **Requires:** * Must follow field reference limitations. * Not allowed to be used when writing documents.'}, 'variableReferenceValue': {'type': 'string', 'description': 'Pointer to a variable defined elsewhere in a pipeline. Unlike `field_reference_value` which references a field within a document, this refers to a variable, defined in a separate namespace than the fields of a document.'}}, 'description': 'A message that can hold any of the supported value types.'}, 'LatLng': {'type': 'object', 'properties': {'latitude': {'type': 'number', 'format': 'double', 'description': 'The latitude in degrees. It must be in the range [-90.0, +90.0].'}, 'longitude': {'type': 'number', 'format': 'double', 'description': 'The longitude in degrees. It must be in the range [-180.0, +180.0].'}}, 'description': 'An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard <https://en.wikipedia.org/wiki/World_Geodetic_System#1984_version>. Values must be within normalized ranges.'}, 'Function': {'type': 'object', 'properties': {'args': {'type': 'array', 'items': {'$ref': '#/$defs/Value'}, 'description': 'Optional. Ordered list of arguments the given function expects.'}, 'name': {'type': 'string', 'description': 'Required. The name of the function to evaluate. **Requires:** * must be in snake case (lower case with underscore separator).'}, 'options': {'type': 'object', 'description': 'Optional. Optional named arguments that certain functions may support.', 'additionalProperties': {'$ref': '#/$defs/Value'}}}, 'description': 'Represents an unevaluated scalar expression. For example, the expression `like(user_name, "%alice%")` is represented as: ``` name: "like" args { field_reference: "user_name" } args { string_value: "%alice%" } ```'}, 'MapValue': {'type': 'object', 'properties': {'fields': {'type': 'object', 'description': "The map's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.", 'additionalProperties': {'$ref': '#/$defs/Value'}}}, 'description': 'A map value.'}, 'Pipeline': {'type': 'object', 'properties': {'stages': {'type': 'array', 'items': {'$ref': '#/$defs/Stage'}, 'description': 'Required. Ordered list of stages to evaluate.'}}, 'description': 'A Firestore query represented as an ordered list of operations / stages.'}, 'ArrayValue': {'type': 'object', 'properties': {'values': {'type': 'array', 'items': {'$ref': '#/$defs/Value'}, 'description': 'Values in the array.'}}, 'description': 'An array value.'}}, 'properties': {'name': {'type': 'string', 'description': 'The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`.'}, 'fields': {'type': 'object', 'description': 'The document\'s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The field names, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by a dot-delimited (`.`) string of segments. Each segment is either a simple field name (defined below) or a quoted field name. For example, the structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be represented by the field path `` foo.`x&y` ``. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. A quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\\`. For example, `` `x&y` `` represents `x&y` and `` `bak\\`tik` `` represents `` bak`tik ``.', 'additionalProperties': {'$ref': '#/$defs/Value'}}, 'createTime': {'type': 'string', 'format': 'date-time', 'description': 'Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'description': 'Output only. The time at which the document was last changed. This value is initially set to the `create_time` then increases monotonically with each change to the document. It can also be compared to values from other documents and the `read_time` of a query.'}}, 'description': 'A Firestore document. Must not exceed 1 MiB - 4 bytes.'}
最近のツール変更
類似のMCPサーバー
Algenta MCP Server
Provides governed data onboarding, connector browsing, deterministic simulations, agent-run lifecycles, capability routing, deplo…
Scalix Cloud
Provides managed databases, SQL tools, container builds, persistent Linux machines, domains, scheduled functions, storage, and pr…
RationalBloks
Creates, deploys, manages, and searches schema-based REST API projects and Neo4j knowledge graphs across staging and production e…
RationalBloks
Creates, deploys, manages, and queries REST API and Neo4j graph projects from JSON schemas, including graph data modeling, versio…
Cloudflare Radar
Provides Cloudflare Radar internet observatory data on DDoS attacks, BGP leaks, domain popularity, internet quality, and traffic …
Peeringdb
Provides lookup and identity data for internet peering facilities, networks, and exchange infrastructure from PeeringDB.
Supabase
Manages Supabase projects, PostgreSQL databases, migrations, branches, storage-related infrastructure, Edge Functions, logs, keys…
corpusAI Cloud Pricing
Provides historical and current cloud instance, GPU rental, spot, on-demand, reserved-price, capacity, and pricing-index data.