|
1464 | 1464 | "https://www.googleapis.com/auth/datastore" |
1465 | 1465 | ] |
1466 | 1466 | }, |
| 1467 | + "executePipeline": { |
| 1468 | + "description": "Executes a pipeline query.", |
| 1469 | + "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/documents:executePipeline", |
| 1470 | + "httpMethod": "POST", |
| 1471 | + "id": "firestore.projects.databases.documents.executePipeline", |
| 1472 | + "parameterOrder": [ |
| 1473 | + "database" |
| 1474 | + ], |
| 1475 | + "parameters": { |
| 1476 | + "database": { |
| 1477 | + "description": "Required. Database identifier, in the form `projects/{project}/databases/{database}`.", |
| 1478 | + "location": "path", |
| 1479 | + "pattern": "^projects/[^/]+/databases/[^/]+$", |
| 1480 | + "required": true, |
| 1481 | + "type": "string" |
| 1482 | + } |
| 1483 | + }, |
| 1484 | + "path": "v1/{+database}/documents:executePipeline", |
| 1485 | + "request": { |
| 1486 | + "$ref": "ExecutePipelineRequest" |
| 1487 | + }, |
| 1488 | + "response": { |
| 1489 | + "$ref": "ExecutePipelineResponse" |
| 1490 | + }, |
| 1491 | + "scopes": [ |
| 1492 | + "https://www.googleapis.com/auth/cloud-platform", |
| 1493 | + "https://www.googleapis.com/auth/datastore" |
| 1494 | + ] |
| 1495 | + }, |
1467 | 1496 | "get": { |
1468 | 1497 | "description": "Gets a single document.", |
1469 | 1498 | "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/documents/{documentsId}/{documentsId1}", |
|
2416 | 2445 | } |
2417 | 2446 | } |
2418 | 2447 | }, |
2419 | | - "revision": "20251203", |
| 2448 | + "revision": "20251216", |
2420 | 2449 | "rootUrl": "https://firestore.googleapis.com/", |
2421 | 2450 | "schemas": { |
2422 | 2451 | "Aggregation": { |
|
2902 | 2931 | "properties": {}, |
2903 | 2932 | "type": "object" |
2904 | 2933 | }, |
| 2934 | + "ExecutePipelineRequest": { |
| 2935 | + "description": "The request for Firestore.ExecutePipeline.", |
| 2936 | + "id": "ExecutePipelineRequest", |
| 2937 | + "properties": { |
| 2938 | + "newTransaction": { |
| 2939 | + "$ref": "TransactionOptions", |
| 2940 | + "description": "Execute the pipeline in a new transaction. The identifier of the newly created transaction will be returned in the first response on the stream. This defaults to a read-only transaction." |
| 2941 | + }, |
| 2942 | + "readTime": { |
| 2943 | + "description": "Execute the pipeline in a snapshot transaction 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.", |
| 2944 | + "format": "google-datetime", |
| 2945 | + "type": "string" |
| 2946 | + }, |
| 2947 | + "structuredPipeline": { |
| 2948 | + "$ref": "StructuredPipeline", |
| 2949 | + "description": "A pipelined operation." |
| 2950 | + }, |
| 2951 | + "transaction": { |
| 2952 | + "description": "Run the query within an already active transaction. The value here is the opaque transaction ID to execute the query in.", |
| 2953 | + "format": "byte", |
| 2954 | + "type": "string" |
| 2955 | + } |
| 2956 | + }, |
| 2957 | + "type": "object" |
| 2958 | + }, |
| 2959 | + "ExecutePipelineResponse": { |
| 2960 | + "description": "The response for Firestore.Execute.", |
| 2961 | + "id": "ExecutePipelineResponse", |
| 2962 | + "properties": { |
| 2963 | + "executionTime": { |
| 2964 | + "description": "The time at which the results are valid. This is a (not strictly) monotonically increasing value across multiple responses in the same stream. The API guarantees that all previously returned results are still valid at the latest `execution_time`. This allows the API consumer to treat the query if it ran at the latest `execution_time` returned. If the query returns no results, a response with `execution_time` and no `results` will be sent, and this represents the time at which the operation was run.", |
| 2965 | + "format": "google-datetime", |
| 2966 | + "type": "string" |
| 2967 | + }, |
| 2968 | + "explainStats": { |
| 2969 | + "$ref": "ExplainStats", |
| 2970 | + "description": "Query explain stats. This is present on the **last** response if the request configured explain to run in 'analyze' or 'explain' mode in the pipeline options. If the query does not return any results, a response with `explain_stats` and no `results` will still be sent." |
| 2971 | + }, |
| 2972 | + "results": { |
| 2973 | + "description": "An ordered batch of results returned executing a pipeline. The batch size is variable, and can even be zero for when only a partial progress message is returned. The fields present in the returned documents are only those that were explicitly requested in the pipeline, this includes those like `__name__` and `__update_time__`. This is explicitly a divergence from `Firestore.RunQuery` / `Firestore.GetDocument` RPCs which always return such fields even when they are not specified in the `mask`.", |
| 2974 | + "items": { |
| 2975 | + "$ref": "Document" |
| 2976 | + }, |
| 2977 | + "type": "array" |
| 2978 | + }, |
| 2979 | + "transaction": { |
| 2980 | + "description": "Newly created transaction identifier. This field is only specified as part of the first response from the server, alongside the `results` field when the original request specified ExecuteRequest.new_transaction.", |
| 2981 | + "format": "byte", |
| 2982 | + "type": "string" |
| 2983 | + } |
| 2984 | + }, |
| 2985 | + "type": "object" |
| 2986 | + }, |
2905 | 2987 | "ExecutionStats": { |
2906 | 2988 | "description": "Execution statistics for the query.", |
2907 | 2989 | "id": "ExecutionStats", |
|
2979 | 3061 | }, |
2980 | 3062 | "type": "object" |
2981 | 3063 | }, |
| 3064 | + "ExplainStats": { |
| 3065 | + "description": "Pipeline explain stats. Depending on the explain options in the original request, this can contain the optimized plan and / or execution stats.", |
| 3066 | + "id": "ExplainStats", |
| 3067 | + "properties": { |
| 3068 | + "data": { |
| 3069 | + "additionalProperties": { |
| 3070 | + "description": "Properties of the object. Contains field @type with type URL.", |
| 3071 | + "type": "any" |
| 3072 | + }, |
| 3073 | + "description": "The format depends on the `output_format` options in the request. Currently there are two supported options: `TEXT` and `JSON`. Both supply a `google.protobuf.StringValue`.", |
| 3074 | + "type": "object" |
| 3075 | + } |
| 3076 | + }, |
| 3077 | + "type": "object" |
| 3078 | + }, |
2982 | 3079 | "FieldFilter": { |
2983 | 3080 | "description": "A filter on a specific field.", |
2984 | 3081 | "id": "FieldFilter", |
|
3142 | 3239 | }, |
3143 | 3240 | "type": "object" |
3144 | 3241 | }, |
| 3242 | + "Function": { |
| 3243 | + "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%\" } ```", |
| 3244 | + "id": "Function", |
| 3245 | + "properties": { |
| 3246 | + "args": { |
| 3247 | + "description": "Optional. Ordered list of arguments the given function expects.", |
| 3248 | + "items": { |
| 3249 | + "$ref": "Value" |
| 3250 | + }, |
| 3251 | + "type": "array" |
| 3252 | + }, |
| 3253 | + "name": { |
| 3254 | + "description": "Required. The name of the function to evaluate. **Requires:** * must be in snake case (lower case with underscore separator).", |
| 3255 | + "type": "string" |
| 3256 | + }, |
| 3257 | + "options": { |
| 3258 | + "additionalProperties": { |
| 3259 | + "$ref": "Value" |
| 3260 | + }, |
| 3261 | + "description": "Optional. Optional named arguments that certain functions may support.", |
| 3262 | + "type": "object" |
| 3263 | + } |
| 3264 | + }, |
| 3265 | + "type": "object" |
| 3266 | + }, |
3145 | 3267 | "GoogleFirestoreAdminV1Backup": { |
3146 | 3268 | "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.", |
3147 | 3269 | "id": "GoogleFirestoreAdminV1Backup", |
|
3479 | 3601 | "description": "Optional. Presence indicates CMEK is enabled for this database." |
3480 | 3602 | }, |
3481 | 3603 | "concurrencyMode": { |
3482 | | - "description": "The concurrency control mode to use for this database.", |
| 3604 | + "description": "The 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.", |
3483 | 3605 | "enum": [ |
3484 | 3606 | "CONCURRENCY_MODE_UNSPECIFIED", |
3485 | 3607 | "OPTIMISTIC", |
|
3488 | 3610 | ], |
3489 | 3611 | "enumDescriptions": [ |
3490 | 3612 | "Not used.", |
3491 | | - "Use optimistic concurrency control by default. This mode is available for Cloud Firestore databases.", |
3492 | | - "Use pessimistic concurrency control by default. This mode is available for Cloud Firestore databases. This is the default setting for Cloud Firestore.", |
3493 | | - "Use optimistic concurrency control with entity groups by default. This is the only available mode for Cloud Datastore. This mode is also available for Cloud Firestore with Datastore Mode but is not recommended." |
| 3613 | + "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.", |
| 3614 | + "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.", |
| 3615 | + "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." |
3494 | 3616 | ], |
3495 | 3617 | "type": "string" |
3496 | 3618 | }, |
|
5012 | 5134 | }, |
5013 | 5135 | "type": "object" |
5014 | 5136 | }, |
| 5137 | + "Pipeline": { |
| 5138 | + "description": "A Firestore query represented as an ordered list of operations / stages.", |
| 5139 | + "id": "Pipeline", |
| 5140 | + "properties": { |
| 5141 | + "stages": { |
| 5142 | + "description": "Required. Ordered list of stages to evaluate.", |
| 5143 | + "items": { |
| 5144 | + "$ref": "Stage" |
| 5145 | + }, |
| 5146 | + "type": "array" |
| 5147 | + } |
| 5148 | + }, |
| 5149 | + "type": "object" |
| 5150 | + }, |
5015 | 5151 | "PlanSummary": { |
5016 | 5152 | "description": "Planning phase information for the query.", |
5017 | 5153 | "id": "PlanSummary", |
|
5228 | 5364 | }, |
5229 | 5365 | "type": "object" |
5230 | 5366 | }, |
| 5367 | + "Stage": { |
| 5368 | + "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.", |
| 5369 | + "id": "Stage", |
| 5370 | + "properties": { |
| 5371 | + "args": { |
| 5372 | + "description": "Optional. Ordered list of arguments the given stage expects.", |
| 5373 | + "items": { |
| 5374 | + "$ref": "Value" |
| 5375 | + }, |
| 5376 | + "type": "array" |
| 5377 | + }, |
| 5378 | + "name": { |
| 5379 | + "description": "Required. The name of the stage to evaluate. **Requires:** * must be in snake case (lower case with underscore separator).", |
| 5380 | + "type": "string" |
| 5381 | + }, |
| 5382 | + "options": { |
| 5383 | + "additionalProperties": { |
| 5384 | + "$ref": "Value" |
| 5385 | + }, |
| 5386 | + "description": "Optional. Optional named arguments that certain functions may support.", |
| 5387 | + "type": "object" |
| 5388 | + } |
| 5389 | + }, |
| 5390 | + "type": "object" |
| 5391 | + }, |
5231 | 5392 | "Status": { |
5232 | 5393 | "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).", |
5233 | 5394 | "id": "Status", |
|
5273 | 5434 | }, |
5274 | 5435 | "type": "object" |
5275 | 5436 | }, |
| 5437 | + "StructuredPipeline": { |
| 5438 | + "description": "A Firestore query represented as an ordered list of operations / stages. This is considered the top-level function which plans and executes a query. It is logically equivalent to `query(stages, options)`, but prevents the client from having to build a function wrapper.", |
| 5439 | + "id": "StructuredPipeline", |
| 5440 | + "properties": { |
| 5441 | + "options": { |
| 5442 | + "additionalProperties": { |
| 5443 | + "$ref": "Value" |
| 5444 | + }, |
| 5445 | + "description": "Optional. Optional query-level arguments. ", |
| 5446 | + "type": "object" |
| 5447 | + }, |
| 5448 | + "pipeline": { |
| 5449 | + "$ref": "Pipeline", |
| 5450 | + "description": "Required. The pipeline query to execute." |
| 5451 | + } |
| 5452 | + }, |
| 5453 | + "type": "object" |
| 5454 | + }, |
5276 | 5455 | "StructuredQuery": { |
5277 | 5456 | "description": "A Firestore query. The query stages are executed in the following order: 1. from 2. where 3. select 4. order_by + start_at + end_at 5. offset 6. limit 7. find_nearest", |
5278 | 5457 | "id": "StructuredQuery", |
|
5487 | 5666 | "format": "double", |
5488 | 5667 | "type": "number" |
5489 | 5668 | }, |
| 5669 | + "fieldReferenceValue": { |
| 5670 | + "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.", |
| 5671 | + "type": "string" |
| 5672 | + }, |
| 5673 | + "functionValue": { |
| 5674 | + "$ref": "Function", |
| 5675 | + "description": "A value that represents an unevaluated expression. **Requires:** * Not allowed to be used when writing documents." |
| 5676 | + }, |
5490 | 5677 | "geoPointValue": { |
5491 | 5678 | "$ref": "LatLng", |
5492 | 5679 | "description": "A geo point value representing a point on the surface of Earth." |
|
5510 | 5697 | ], |
5511 | 5698 | "type": "string" |
5512 | 5699 | }, |
| 5700 | + "pipelineValue": { |
| 5701 | + "$ref": "Pipeline", |
| 5702 | + "description": "A value that represents an unevaluated pipeline. **Requires:** * Not allowed to be used when writing documents." |
| 5703 | + }, |
5513 | 5704 | "referenceValue": { |
5514 | 5705 | "description": "A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.", |
5515 | 5706 | "type": "string" |
|
0 commit comments