mirror of
https://github.com/googleapis/googleapis.git
synced 2026-08-17 13:06:47 +02:00
chore: Firestore.executePipeline to not retry on `RESOURCE_EXHAUSTED` PiperOrigin-RevId: 877535984
90 lines
3.2 KiB
Protocol Buffer
90 lines
3.2 KiB
Protocol Buffer
// Copyright 2026 Google LLC
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
syntax = "proto3";
|
|
|
|
package google.firestore.v1;
|
|
|
|
import "google/protobuf/timestamp.proto";
|
|
|
|
option csharp_namespace = "Google.Cloud.Firestore.V1";
|
|
option go_package = "cloud.google.com/go/firestore/apiv1/firestorepb;firestorepb";
|
|
option java_multiple_files = true;
|
|
option java_outer_classname = "CommonProto";
|
|
option java_package = "com.google.firestore.v1";
|
|
option objc_class_prefix = "GCFS";
|
|
option php_namespace = "Google\\Cloud\\Firestore\\V1";
|
|
option ruby_package = "Google::Cloud::Firestore::V1";
|
|
|
|
// 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][google.firestore.v1.Document], and takes in account the dynamic
|
|
// nature of [Value][google.firestore.v1.Value].
|
|
message DocumentMask {
|
|
// The list of field paths in the mask. See
|
|
// [Document.fields][google.firestore.v1.Document.fields] for a field path
|
|
// syntax reference.
|
|
repeated string field_paths = 1;
|
|
}
|
|
|
|
// A precondition on a document, used for conditional operations.
|
|
message Precondition {
|
|
// The type of precondition.
|
|
oneof condition_type {
|
|
// When set to `true`, the target document must exist.
|
|
// When set to `false`, the target document must not exist.
|
|
bool exists = 1;
|
|
|
|
// When set, the target document must exist and have been last updated at
|
|
// that time. Timestamp must be microsecond aligned.
|
|
google.protobuf.Timestamp update_time = 2;
|
|
}
|
|
}
|
|
|
|
// Options for creating a new transaction.
|
|
message TransactionOptions {
|
|
// Options for a transaction that can be used to read and write documents.
|
|
//
|
|
// Firestore does not allow 3rd party auth requests to create read-write.
|
|
// transactions.
|
|
message ReadWrite {
|
|
// An optional transaction to retry.
|
|
bytes retry_transaction = 1;
|
|
}
|
|
|
|
// Options for a transaction that can only be used to read documents.
|
|
message ReadOnly {
|
|
// The consistency mode for this transaction. If not set, defaults to strong
|
|
// consistency.
|
|
oneof consistency_selector {
|
|
// Reads documents 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.
|
|
google.protobuf.Timestamp read_time = 2;
|
|
}
|
|
}
|
|
|
|
// The mode of the transaction.
|
|
oneof mode {
|
|
// The transaction can only be used for read operations.
|
|
ReadOnly read_only = 2;
|
|
|
|
// The transaction can be used for both read and write operations.
|
|
ReadWrite read_write = 3;
|
|
}
|
|
}
|