|
836 | 836 | "https://www.googleapis.com/auth/datastore" |
837 | 837 | ] |
838 | 838 | }, |
| 839 | + "executePipeline": { |
| 840 | + "description": "Executes a pipeline query.", |
| 841 | + "flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents:executePipeline", |
| 842 | + "httpMethod": "POST", |
| 843 | + "id": "firestore.projects.databases.documents.executePipeline", |
| 844 | + "parameterOrder": [ |
| 845 | + "database" |
| 846 | + ], |
| 847 | + "parameters": { |
| 848 | + "database": { |
| 849 | + "description": "Required. Database identifier, in the form `projects/{project}/databases/{database}`.", |
| 850 | + "location": "path", |
| 851 | + "pattern": "^projects/[^/]+/databases/[^/]+$", |
| 852 | + "required": true, |
| 853 | + "type": "string" |
| 854 | + } |
| 855 | + }, |
| 856 | + "path": "v1beta1/{+database}/documents:executePipeline", |
| 857 | + "request": { |
| 858 | + "$ref": "ExecutePipelineRequest" |
| 859 | + }, |
| 860 | + "response": { |
| 861 | + "$ref": "ExecutePipelineResponse" |
| 862 | + }, |
| 863 | + "scopes": [ |
| 864 | + "https://www.googleapis.com/auth/cloud-platform", |
| 865 | + "https://www.googleapis.com/auth/datastore" |
| 866 | + ] |
| 867 | + }, |
839 | 868 | "get": { |
840 | 869 | "description": "Gets a single document.", |
841 | 870 | "flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents/{documentsId}/{documentsId1}", |
|
1412 | 1441 | } |
1413 | 1442 | } |
1414 | 1443 | }, |
1415 | | - "revision": "20251014", |
| 1444 | + "revision": "20251216", |
1416 | 1445 | "rootUrl": "https://firestore.googleapis.com/", |
1417 | 1446 | "schemas": { |
1418 | 1447 | "Aggregation": { |
|
1898 | 1927 | "properties": {}, |
1899 | 1928 | "type": "object" |
1900 | 1929 | }, |
| 1930 | + "ExecutePipelineRequest": { |
| 1931 | + "description": "The request for Firestore.ExecutePipeline.", |
| 1932 | + "id": "ExecutePipelineRequest", |
| 1933 | + "properties": { |
| 1934 | + "newTransaction": { |
| 1935 | + "$ref": "TransactionOptions", |
| 1936 | + "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." |
| 1937 | + }, |
| 1938 | + "readTime": { |
| 1939 | + "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.", |
| 1940 | + "format": "google-datetime", |
| 1941 | + "type": "string" |
| 1942 | + }, |
| 1943 | + "structuredPipeline": { |
| 1944 | + "$ref": "StructuredPipeline", |
| 1945 | + "description": "A pipelined operation." |
| 1946 | + }, |
| 1947 | + "transaction": { |
| 1948 | + "description": "Run the query within an already active transaction. The value here is the opaque transaction ID to execute the query in.", |
| 1949 | + "format": "byte", |
| 1950 | + "type": "string" |
| 1951 | + } |
| 1952 | + }, |
| 1953 | + "type": "object" |
| 1954 | + }, |
| 1955 | + "ExecutePipelineResponse": { |
| 1956 | + "description": "The response for Firestore.Execute.", |
| 1957 | + "id": "ExecutePipelineResponse", |
| 1958 | + "properties": { |
| 1959 | + "executionTime": { |
| 1960 | + "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.", |
| 1961 | + "format": "google-datetime", |
| 1962 | + "type": "string" |
| 1963 | + }, |
| 1964 | + "explainStats": { |
| 1965 | + "$ref": "ExplainStats", |
| 1966 | + "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." |
| 1967 | + }, |
| 1968 | + "results": { |
| 1969 | + "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`.", |
| 1970 | + "items": { |
| 1971 | + "$ref": "Document" |
| 1972 | + }, |
| 1973 | + "type": "array" |
| 1974 | + }, |
| 1975 | + "transaction": { |
| 1976 | + "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.", |
| 1977 | + "format": "byte", |
| 1978 | + "type": "string" |
| 1979 | + } |
| 1980 | + }, |
| 1981 | + "type": "object" |
| 1982 | + }, |
1901 | 1983 | "ExecutionStats": { |
1902 | 1984 | "description": "Execution statistics for the query.", |
1903 | 1985 | "id": "ExecutionStats", |
|
1975 | 2057 | }, |
1976 | 2058 | "type": "object" |
1977 | 2059 | }, |
| 2060 | + "ExplainStats": { |
| 2061 | + "description": "Pipeline explain stats. Depending on the explain options in the original request, this can contain the optimized plan and / or execution stats.", |
| 2062 | + "id": "ExplainStats", |
| 2063 | + "properties": { |
| 2064 | + "data": { |
| 2065 | + "additionalProperties": { |
| 2066 | + "description": "Properties of the object. Contains field @type with type URL.", |
| 2067 | + "type": "any" |
| 2068 | + }, |
| 2069 | + "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`.", |
| 2070 | + "type": "object" |
| 2071 | + } |
| 2072 | + }, |
| 2073 | + "type": "object" |
| 2074 | + }, |
1978 | 2075 | "FieldFilter": { |
1979 | 2076 | "description": "A filter on a specific field.", |
1980 | 2077 | "id": "FieldFilter", |
|
2138 | 2235 | }, |
2139 | 2236 | "type": "object" |
2140 | 2237 | }, |
| 2238 | + "Function": { |
| 2239 | + "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%\" } ```", |
| 2240 | + "id": "Function", |
| 2241 | + "properties": { |
| 2242 | + "args": { |
| 2243 | + "description": "Optional. Ordered list of arguments the given function expects.", |
| 2244 | + "items": { |
| 2245 | + "$ref": "Value" |
| 2246 | + }, |
| 2247 | + "type": "array" |
| 2248 | + }, |
| 2249 | + "name": { |
| 2250 | + "description": "Required. The name of the function to evaluate. **Requires:** * must be in snake case (lower case with underscore separator).", |
| 2251 | + "type": "string" |
| 2252 | + }, |
| 2253 | + "options": { |
| 2254 | + "additionalProperties": { |
| 2255 | + "$ref": "Value" |
| 2256 | + }, |
| 2257 | + "description": "Optional. Optional named arguments that certain functions may support.", |
| 2258 | + "type": "object" |
| 2259 | + } |
| 2260 | + }, |
| 2261 | + "type": "object" |
| 2262 | + }, |
2141 | 2263 | "GoogleFirestoreAdminV1BulkDeleteDocumentsMetadata": { |
2142 | 2264 | "description": "Metadata for google.longrunning.Operation results from FirestoreAdmin.BulkDeleteDocuments.", |
2143 | 2265 | "id": "GoogleFirestoreAdminV1BulkDeleteDocumentsMetadata", |
|
2929 | 3051 | }, |
2930 | 3052 | "type": "object" |
2931 | 3053 | }, |
| 3054 | + "Pipeline": { |
| 3055 | + "description": "A Firestore query represented as an ordered list of operations / stages.", |
| 3056 | + "id": "Pipeline", |
| 3057 | + "properties": { |
| 3058 | + "stages": { |
| 3059 | + "description": "Required. Ordered list of stages to evaluate.", |
| 3060 | + "items": { |
| 3061 | + "$ref": "Stage" |
| 3062 | + }, |
| 3063 | + "type": "array" |
| 3064 | + } |
| 3065 | + }, |
| 3066 | + "type": "object" |
| 3067 | + }, |
2932 | 3068 | "PlanSummary": { |
2933 | 3069 | "description": "Planning phase information for the query.", |
2934 | 3070 | "id": "PlanSummary", |
|
3145 | 3281 | }, |
3146 | 3282 | "type": "object" |
3147 | 3283 | }, |
| 3284 | + "Stage": { |
| 3285 | + "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.", |
| 3286 | + "id": "Stage", |
| 3287 | + "properties": { |
| 3288 | + "args": { |
| 3289 | + "description": "Optional. Ordered list of arguments the given stage expects.", |
| 3290 | + "items": { |
| 3291 | + "$ref": "Value" |
| 3292 | + }, |
| 3293 | + "type": "array" |
| 3294 | + }, |
| 3295 | + "name": { |
| 3296 | + "description": "Required. The name of the stage to evaluate. **Requires:** * must be in snake case (lower case with underscore separator).", |
| 3297 | + "type": "string" |
| 3298 | + }, |
| 3299 | + "options": { |
| 3300 | + "additionalProperties": { |
| 3301 | + "$ref": "Value" |
| 3302 | + }, |
| 3303 | + "description": "Optional. Optional named arguments that certain functions may support.", |
| 3304 | + "type": "object" |
| 3305 | + } |
| 3306 | + }, |
| 3307 | + "type": "object" |
| 3308 | + }, |
3148 | 3309 | "Status": { |
3149 | 3310 | "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).", |
3150 | 3311 | "id": "Status", |
|
3190 | 3351 | }, |
3191 | 3352 | "type": "object" |
3192 | 3353 | }, |
| 3354 | + "StructuredPipeline": { |
| 3355 | + "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.", |
| 3356 | + "id": "StructuredPipeline", |
| 3357 | + "properties": { |
| 3358 | + "options": { |
| 3359 | + "additionalProperties": { |
| 3360 | + "$ref": "Value" |
| 3361 | + }, |
| 3362 | + "description": "Optional. Optional query-level arguments. ", |
| 3363 | + "type": "object" |
| 3364 | + }, |
| 3365 | + "pipeline": { |
| 3366 | + "$ref": "Pipeline", |
| 3367 | + "description": "Required. The pipeline query to execute." |
| 3368 | + } |
| 3369 | + }, |
| 3370 | + "type": "object" |
| 3371 | + }, |
3193 | 3372 | "StructuredQuery": { |
3194 | 3373 | "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", |
3195 | 3374 | "id": "StructuredQuery", |
|
3404 | 3583 | "format": "double", |
3405 | 3584 | "type": "number" |
3406 | 3585 | }, |
| 3586 | + "fieldReferenceValue": { |
| 3587 | + "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.", |
| 3588 | + "type": "string" |
| 3589 | + }, |
| 3590 | + "functionValue": { |
| 3591 | + "$ref": "Function", |
| 3592 | + "description": "A value that represents an unevaluated expression. **Requires:** * Not allowed to be used when writing documents." |
| 3593 | + }, |
3407 | 3594 | "geoPointValue": { |
3408 | 3595 | "$ref": "LatLng", |
3409 | 3596 | "description": "A geo point value representing a point on the surface of Earth." |
|
3427 | 3614 | ], |
3428 | 3615 | "type": "string" |
3429 | 3616 | }, |
| 3617 | + "pipelineValue": { |
| 3618 | + "$ref": "Pipeline", |
| 3619 | + "description": "A value that represents an unevaluated pipeline. **Requires:** * Not allowed to be used when writing documents." |
| 3620 | + }, |
3430 | 3621 | "referenceValue": { |
3431 | 3622 | "description": "A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.", |
3432 | 3623 | "type": "string" |
|
0 commit comments