google-cloud-firestore-v1 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,31 +11,8 @@ require 'google/protobuf/struct_pb'
11
11
 
12
12
  descriptor_data = "\n\'google/firestore/v1/query_profile.proto\x12\x13google.firestore.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\"&\n\x0e\x45xplainOptions\x12\x14\n\x07\x61nalyze\x18\x01 \x01(\x08\x42\x03\xe0\x41\x01\"\x86\x01\n\x0e\x45xplainMetrics\x12\x36\n\x0cplan_summary\x18\x01 \x01(\x0b\x32 .google.firestore.v1.PlanSummary\x12<\n\x0f\x65xecution_stats\x18\x02 \x01(\x0b\x32#.google.firestore.v1.ExecutionStats\"<\n\x0bPlanSummary\x12-\n\x0cindexes_used\x18\x01 \x03(\x0b\x32\x17.google.protobuf.Struct\"\xa8\x01\n\x0e\x45xecutionStats\x12\x18\n\x10results_returned\x18\x01 \x01(\x03\x12\x35\n\x12\x65xecution_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x17\n\x0fread_operations\x18\x04 \x01(\x03\x12,\n\x0b\x64\x65\x62ug_stats\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructB\xc9\x01\n\x17\x63om.google.firestore.v1B\x11QueryProfileProtoP\x01Z;cloud.google.com/go/firestore/apiv1/firestorepb;firestorepb\xa2\x02\x04GCFS\xaa\x02\x19Google.Cloud.Firestore.V1\xca\x02\x19Google\\Cloud\\Firestore\\V1\xea\x02\x1cGoogle::Cloud::Firestore::V1b\x06proto3"
13
13
 
14
- pool = Google::Protobuf::DescriptorPool.generated_pool
15
-
16
- begin
17
- pool.add_serialized_file(descriptor_data)
18
- rescue TypeError
19
- # Compatibility code: will be removed in the next major version.
20
- require 'google/protobuf/descriptor_pb'
21
- parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
22
- parsed.clear_dependency
23
- serialized = parsed.class.encode(parsed)
24
- file = pool.add_serialized_file(serialized)
25
- warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
26
- imports = [
27
- ["google.protobuf.Struct", "google/protobuf/struct.proto"],
28
- ["google.protobuf.Duration", "google/protobuf/duration.proto"],
29
- ]
30
- imports.each do |type_name, expected_filename|
31
- import_file = pool.lookup(type_name).file_descriptor
32
- if import_file.name != expected_filename
33
- warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
34
- end
35
- end
36
- warn "Each proto file must use a consistent fully-qualified name."
37
- warn "This will become an error in the next major version."
38
- end
14
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
15
+ pool.add_serialized_file(descriptor_data)
39
16
 
40
17
  module Google
41
18
  module Cloud
@@ -12,33 +12,8 @@ require 'google/protobuf/timestamp_pb'
12
12
 
13
13
  descriptor_data = "\n\x1fgoogle/firestore/v1/write.proto\x12\x13google.firestore.v1\x1a&google/firestore/v1/bloom_filter.proto\x1a google/firestore/v1/common.proto\x1a\"google/firestore/v1/document.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xdb\x02\n\x05Write\x12/\n\x06update\x18\x01 \x01(\x0b\x32\x1d.google.firestore.v1.DocumentH\x00\x12\x10\n\x06\x64\x65lete\x18\x02 \x01(\tH\x00\x12;\n\ttransform\x18\x06 \x01(\x0b\x32&.google.firestore.v1.DocumentTransformH\x00\x12\x36\n\x0bupdate_mask\x18\x03 \x01(\x0b\x32!.google.firestore.v1.DocumentMask\x12P\n\x11update_transforms\x18\x07 \x03(\x0b\x32\x35.google.firestore.v1.DocumentTransform.FieldTransform\x12;\n\x10\x63urrent_document\x18\x04 \x01(\x0b\x32!.google.firestore.v1.PreconditionB\x0b\n\toperation\"\xe5\x04\n\x11\x44ocumentTransform\x12\x10\n\x08\x64ocument\x18\x01 \x01(\t\x12O\n\x10\x66ield_transforms\x18\x02 \x03(\x0b\x32\x35.google.firestore.v1.DocumentTransform.FieldTransform\x1a\xec\x03\n\x0e\x46ieldTransform\x12\x12\n\nfield_path\x18\x01 \x01(\t\x12`\n\x13set_to_server_value\x18\x02 \x01(\x0e\x32\x41.google.firestore.v1.DocumentTransform.FieldTransform.ServerValueH\x00\x12/\n\tincrement\x18\x03 \x01(\x0b\x32\x1a.google.firestore.v1.ValueH\x00\x12-\n\x07maximum\x18\x04 \x01(\x0b\x32\x1a.google.firestore.v1.ValueH\x00\x12-\n\x07minimum\x18\x05 \x01(\x0b\x32\x1a.google.firestore.v1.ValueH\x00\x12\x42\n\x17\x61ppend_missing_elements\x18\x06 \x01(\x0b\x32\x1f.google.firestore.v1.ArrayValueH\x00\x12@\n\x15remove_all_from_array\x18\x07 \x01(\x0b\x32\x1f.google.firestore.v1.ArrayValueH\x00\"=\n\x0bServerValue\x12\x1c\n\x18SERVER_VALUE_UNSPECIFIED\x10\x00\x12\x10\n\x0cREQUEST_TIME\x10\x01\x42\x10\n\x0etransform_type\"u\n\x0bWriteResult\x12/\n\x0bupdate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x11transform_results\x18\x02 \x03(\x0b\x32\x1a.google.firestore.v1.Value\"q\n\x0e\x44ocumentChange\x12/\n\x08\x64ocument\x18\x01 \x01(\x0b\x32\x1d.google.firestore.v1.Document\x12\x12\n\ntarget_ids\x18\x05 \x03(\x05\x12\x1a\n\x12removed_target_ids\x18\x06 \x03(\x05\"m\n\x0e\x44ocumentDelete\x12\x10\n\x08\x64ocument\x18\x01 \x01(\t\x12\x1a\n\x12removed_target_ids\x18\x06 \x03(\x05\x12-\n\tread_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"m\n\x0e\x44ocumentRemove\x12\x10\n\x08\x64ocument\x18\x01 \x01(\t\x12\x1a\n\x12removed_target_ids\x18\x02 \x03(\x05\x12-\n\tread_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"n\n\x0f\x45xistenceFilter\x12\x11\n\ttarget_id\x18\x01 \x01(\x05\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\x12\x39\n\x0funchanged_names\x18\x03 \x01(\x0b\x32 .google.firestore.v1.BloomFilterB\xc2\x01\n\x17\x63om.google.firestore.v1B\nWriteProtoP\x01Z;cloud.google.com/go/firestore/apiv1/firestorepb;firestorepb\xa2\x02\x04GCFS\xaa\x02\x19Google.Cloud.Firestore.V1\xca\x02\x19Google\\Cloud\\Firestore\\V1\xea\x02\x1cGoogle::Cloud::Firestore::V1b\x06proto3"
14
14
 
15
- pool = Google::Protobuf::DescriptorPool.generated_pool
16
-
17
- begin
18
- pool.add_serialized_file(descriptor_data)
19
- rescue TypeError
20
- # Compatibility code: will be removed in the next major version.
21
- require 'google/protobuf/descriptor_pb'
22
- parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
23
- parsed.clear_dependency
24
- serialized = parsed.class.encode(parsed)
25
- file = pool.add_serialized_file(serialized)
26
- warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
27
- imports = [
28
- ["google.firestore.v1.Document", "google/firestore/v1/document.proto"],
29
- ["google.firestore.v1.DocumentMask", "google/firestore/v1/common.proto"],
30
- ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"],
31
- ["google.firestore.v1.BloomFilter", "google/firestore/v1/bloom_filter.proto"],
32
- ]
33
- imports.each do |type_name, expected_filename|
34
- import_file = pool.lookup(type_name).file_descriptor
35
- if import_file.name != expected_filename
36
- warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
37
- end
38
- end
39
- warn "Each proto file must use a consistent fully-qualified name."
40
- warn "This will become an error in the next major version."
41
- end
15
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
16
+ pool.add_serialized_file(descriptor_data)
42
17
 
43
18
  module Google
44
19
  module Cloud
@@ -31,6 +31,8 @@ module Google
31
31
  # @!attribute [rw] selective_gapic_generation
32
32
  # @return [::Google::Api::SelectiveGapicGeneration]
33
33
  # Configuration for which RPCs should be generated in the GAPIC client.
34
+ #
35
+ # Note: This field should not be used in most cases.
34
36
  class CommonLanguageSettings
35
37
  include ::Google::Protobuf::MessageExts
36
38
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -141,9 +143,10 @@ module Google
141
143
  #
142
144
  # Example of a YAML configuration::
143
145
  #
144
- # publishing:
145
- # java_settings:
146
- # library_package: com.google.cloud.pubsub.v1
146
+ # publishing:
147
+ # library_settings:
148
+ # java_settings:
149
+ # library_package: com.google.cloud.pubsub.v1
147
150
  # @!attribute [rw] service_class_names
148
151
  # @return [::Google::Protobuf::Map{::String => ::String}]
149
152
  # Configure the Java class name to use instead of the service's for its
@@ -155,11 +158,11 @@ module Google
155
158
  #
156
159
  # Example of a YAML configuration::
157
160
  #
158
- # publishing:
159
- # java_settings:
160
- # service_class_names:
161
- # - google.pubsub.v1.Publisher: TopicAdmin
162
- # - google.pubsub.v1.Subscriber: SubscriptionAdmin
161
+ # publishing:
162
+ # java_settings:
163
+ # service_class_names:
164
+ # - google.pubsub.v1.Publisher: TopicAdmin
165
+ # - google.pubsub.v1.Subscriber: SubscriptionAdmin
163
166
  # @!attribute [rw] common
164
167
  # @return [::Google::Api::CommonLanguageSettings]
165
168
  # Some settings.
@@ -190,6 +193,20 @@ module Google
190
193
  # @!attribute [rw] common
191
194
  # @return [::Google::Api::CommonLanguageSettings]
192
195
  # Some settings.
196
+ # @!attribute [rw] library_package
197
+ # @return [::String]
198
+ # The package name to use in Php. Clobbers the php_namespace option
199
+ # set in the protobuf. This should be used **only** by APIs
200
+ # who have already set the language_settings.php.package_name" field
201
+ # in gapic.yaml. API teams should use the protobuf php_namespace option
202
+ # where possible.
203
+ #
204
+ # Example of a YAML configuration::
205
+ #
206
+ # publishing:
207
+ # library_settings:
208
+ # php_settings:
209
+ # library_package: Google\Cloud\PubSub\V1
193
210
  class PhpSettings
194
211
  include ::Google::Protobuf::MessageExts
195
212
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -318,10 +335,12 @@ module Google
318
335
  # service names and values are the name to be used for the service client
319
336
  # and call options.
320
337
  #
321
- # publishing:
322
- # go_settings:
323
- # renamed_services:
324
- # Publisher: TopicAdmin
338
+ # Example:
339
+ #
340
+ # publishing:
341
+ # go_settings:
342
+ # renamed_services:
343
+ # Publisher: TopicAdmin
325
344
  class GoSettings
326
345
  include ::Google::Protobuf::MessageExts
327
346
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -344,10 +363,10 @@ module Google
344
363
  #
345
364
  # Example:
346
365
  #
347
- # publishing:
348
- # method_settings:
349
- # - selector: google.storage.control.v2.StorageControl.CreateFolder
350
- # # method settings for CreateFolder...
366
+ # publishing:
367
+ # method_settings:
368
+ # - selector: google.storage.control.v2.StorageControl.CreateFolder
369
+ # # method settings for CreateFolder...
351
370
  # @!attribute [rw] long_running
352
371
  # @return [::Google::Api::MethodSettings::LongRunning]
353
372
  # Describes settings to use for long-running operations when generating
@@ -356,14 +375,14 @@ module Google
356
375
  #
357
376
  # Example of a YAML configuration::
358
377
  #
359
- # publishing:
360
- # method_settings:
361
- # - selector: google.cloud.speech.v2.Speech.BatchRecognize
362
- # long_running:
363
- # initial_poll_delay: 60s # 1 minute
364
- # poll_delay_multiplier: 1.5
365
- # max_poll_delay: 360s # 6 minutes
366
- # total_poll_timeout: 54000s # 90 minutes
378
+ # publishing:
379
+ # method_settings:
380
+ # - selector: google.cloud.speech.v2.Speech.BatchRecognize
381
+ # long_running:
382
+ # initial_poll_delay: 60s # 1 minute
383
+ # poll_delay_multiplier: 1.5
384
+ # max_poll_delay: 360s # 6 minutes
385
+ # total_poll_timeout: 54000s # 90 minutes
367
386
  # @!attribute [rw] auto_populated_fields
368
387
  # @return [::Array<::String>]
369
388
  # List of top-level fields of the request message, that should be
@@ -372,11 +391,24 @@ module Google
372
391
  #
373
392
  # Example of a YAML configuration:
374
393
  #
375
- # publishing:
376
- # method_settings:
377
- # - selector: google.example.v1.ExampleService.CreateExample
378
- # auto_populated_fields:
379
- # - request_id
394
+ # publishing:
395
+ # method_settings:
396
+ # - selector: google.example.v1.ExampleService.CreateExample
397
+ # auto_populated_fields:
398
+ # - request_id
399
+ # @!attribute [rw] batching
400
+ # @return [::Google::Api::BatchingConfigProto]
401
+ # Batching configuration for an API method in client libraries.
402
+ #
403
+ # Example of a YAML configuration:
404
+ #
405
+ # publishing:
406
+ # method_settings:
407
+ # - selector: google.example.v1.ExampleService.BatchCreateExample
408
+ # batching:
409
+ # element_count_threshold: 1000
410
+ # request_byte_threshold: 100000000
411
+ # delay_threshold_millis: 10
380
412
  class MethodSettings
381
413
  include ::Google::Protobuf::MessageExts
382
414
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -411,6 +443,8 @@ module Google
411
443
 
412
444
  # This message is used to configure the generation of a subset of the RPCs in
413
445
  # a service for client libraries.
446
+ #
447
+ # Note: This feature should not be used in most cases.
414
448
  # @!attribute [rw] methods
415
449
  # @return [::Array<::String>]
416
450
  # An allowlist of the fully qualified names of RPCs that should be included
@@ -428,6 +462,77 @@ module Google
428
462
  extend ::Google::Protobuf::MessageExts::ClassMethods
429
463
  end
430
464
 
465
+ # `BatchingConfigProto` defines the batching configuration for an API method.
466
+ # @!attribute [rw] thresholds
467
+ # @return [::Google::Api::BatchingSettingsProto]
468
+ # The thresholds which trigger a batched request to be sent.
469
+ # @!attribute [rw] batch_descriptor
470
+ # @return [::Google::Api::BatchingDescriptorProto]
471
+ # The request and response fields used in batching.
472
+ class BatchingConfigProto
473
+ include ::Google::Protobuf::MessageExts
474
+ extend ::Google::Protobuf::MessageExts::ClassMethods
475
+ end
476
+
477
+ # `BatchingSettingsProto` specifies a set of batching thresholds, each of
478
+ # which acts as a trigger to send a batch of messages as a request. At least
479
+ # one threshold must be positive nonzero.
480
+ # @!attribute [rw] element_count_threshold
481
+ # @return [::Integer]
482
+ # The number of elements of a field collected into a batch which, if
483
+ # exceeded, causes the batch to be sent.
484
+ # @!attribute [rw] request_byte_threshold
485
+ # @return [::Integer]
486
+ # The aggregated size of the batched field which, if exceeded, causes the
487
+ # batch to be sent. This size is computed by aggregating the sizes of the
488
+ # request field to be batched, not of the entire request message.
489
+ # @!attribute [rw] delay_threshold
490
+ # @return [::Google::Protobuf::Duration]
491
+ # The duration after which a batch should be sent, starting from the addition
492
+ # of the first message to that batch.
493
+ # @!attribute [rw] element_count_limit
494
+ # @return [::Integer]
495
+ # The maximum number of elements collected in a batch that could be accepted
496
+ # by server.
497
+ # @!attribute [rw] request_byte_limit
498
+ # @return [::Integer]
499
+ # The maximum size of the request that could be accepted by server.
500
+ # @!attribute [rw] flow_control_element_limit
501
+ # @return [::Integer]
502
+ # The maximum number of elements allowed by flow control.
503
+ # @!attribute [rw] flow_control_byte_limit
504
+ # @return [::Integer]
505
+ # The maximum size of data allowed by flow control.
506
+ # @!attribute [rw] flow_control_limit_exceeded_behavior
507
+ # @return [::Google::Api::FlowControlLimitExceededBehaviorProto]
508
+ # The behavior to take when the flow control limit is exceeded.
509
+ class BatchingSettingsProto
510
+ include ::Google::Protobuf::MessageExts
511
+ extend ::Google::Protobuf::MessageExts::ClassMethods
512
+ end
513
+
514
+ # `BatchingDescriptorProto` specifies the fields of the request message to be
515
+ # used for batching, and, optionally, the fields of the response message to be
516
+ # used for demultiplexing.
517
+ # @!attribute [rw] batched_field
518
+ # @return [::String]
519
+ # The repeated field in the request message to be aggregated by batching.
520
+ # @!attribute [rw] discriminator_fields
521
+ # @return [::Array<::String>]
522
+ # A list of the fields in the request message. Two requests will be batched
523
+ # together only if the values of every field specified in
524
+ # `request_discriminator_fields` is equal between the two requests.
525
+ # @!attribute [rw] subresponse_field
526
+ # @return [::String]
527
+ # Optional. When present, indicates the field in the response message to be
528
+ # used to demultiplex the response into multiple response messages, in
529
+ # correspondence with the multiple request messages originally batched
530
+ # together.
531
+ class BatchingDescriptorProto
532
+ include ::Google::Protobuf::MessageExts
533
+ extend ::Google::Protobuf::MessageExts::ClassMethods
534
+ end
535
+
431
536
  # The organization for which the client libraries are being published.
432
537
  # Affects the url where generated docs are published, etc.
433
538
  module ClientLibraryOrganization
@@ -469,5 +574,20 @@ module Google
469
574
  # Publish the library to package managers like nuget.org and npmjs.com.
470
575
  PACKAGE_MANAGER = 20
471
576
  end
577
+
578
+ # The behavior to take when the flow control limit is exceeded.
579
+ module FlowControlLimitExceededBehaviorProto
580
+ # Default behavior, system-defined.
581
+ UNSET_BEHAVIOR = 0
582
+
583
+ # Stop operation, raise error.
584
+ THROW_EXCEPTION = 1
585
+
586
+ # Pause operation until limit clears.
587
+ BLOCK = 2
588
+
589
+ # Continue operation, disregard limit.
590
+ IGNORE = 3
591
+ end
472
592
  end
473
593
  end
@@ -49,9 +49,13 @@ module Google
49
49
  # app_profile_id: profiles/prof_qux
50
50
  # }
51
51
  #
52
- # The routing header consists of one or multiple key-value pairs. Every key
53
- # and value must be percent-encoded, and joined together in the format of
54
- # `key1=value1&key2=value2`.
52
+ # The routing header consists of one or multiple key-value pairs. The order of
53
+ # the key-value pairs is undefined, the order of the `routing_parameters` in
54
+ # the `RoutingRule` only matters for the evaluation order of the path
55
+ # templates when `field` is the same. See the examples below for more details.
56
+ #
57
+ # Every key and value in the routing header must be percent-encoded,
58
+ # and joined together in the following format: `key1=value1&key2=value2`.
55
59
  # The examples below skip the percent-encoding for readability.
56
60
  #
57
61
  # Example 1
@@ -71,12 +71,19 @@ module Google
71
71
  extend ::Google::Protobuf::MessageExts::ClassMethods
72
72
 
73
73
  # Options for a transaction that can be used to read and write documents.
74
- #
75
- # Firestore does not allow 3rd party auth requests to create read-write.
76
- # transactions.
77
74
  # @!attribute [rw] retry_transaction
78
75
  # @return [::String]
79
76
  # An optional transaction to retry.
77
+ # @!attribute [rw] concurrency_mode
78
+ # @return [::Google::Cloud::Firestore::V1::TransactionOptions::ConcurrencyMode]
79
+ # Optional. The concurrency control mode to use for this transaction.
80
+ #
81
+ # A database is able to use different concurrency modes for different
82
+ # transactions simultaneously.
83
+ #
84
+ # 3rd party auth requests are only allowed to create optimistic
85
+ # read-write transactions and must specify that here even if the
86
+ # database-level setting is already configured to optimistic.
80
87
  class ReadWrite
81
88
  include ::Google::Protobuf::MessageExts
82
89
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -94,6 +101,18 @@ module Google
94
101
  include ::Google::Protobuf::MessageExts
95
102
  extend ::Google::Protobuf::MessageExts::ClassMethods
96
103
  end
104
+
105
+ # The type of concurrency control mode for transactions.
106
+ module ConcurrencyMode
107
+ # Start the transaction with the database-level default concurrency mode.
108
+ CONCURRENCY_MODE_UNSPECIFIED = 0
109
+
110
+ # Use optimistic concurrency control for the new transaction.
111
+ OPTIMISTIC = 1
112
+
113
+ # Use pessimistic concurrency control for the new transaction.
114
+ PESSIMISTIC = 2
115
+ end
97
116
  end
98
117
  end
99
118
  end
@@ -87,22 +87,22 @@ module Google
87
87
  # @return [::Google::Protobuf::NullValue]
88
88
  # A null value.
89
89
  #
90
- # Note: The following fields are mutually exclusive: `null_value`, `boolean_value`, `integer_value`, `double_value`, `timestamp_value`, `string_value`, `bytes_value`, `reference_value`, `geo_point_value`, `array_value`, `map_value`, `field_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
90
+ # Note: The following fields are mutually exclusive: `null_value`, `boolean_value`, `integer_value`, `double_value`, `timestamp_value`, `string_value`, `bytes_value`, `reference_value`, `geo_point_value`, `array_value`, `map_value`, `field_reference_value`, `variable_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
91
91
  # @!attribute [rw] boolean_value
92
92
  # @return [::Boolean]
93
93
  # A boolean value.
94
94
  #
95
- # Note: The following fields are mutually exclusive: `boolean_value`, `null_value`, `integer_value`, `double_value`, `timestamp_value`, `string_value`, `bytes_value`, `reference_value`, `geo_point_value`, `array_value`, `map_value`, `field_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
95
+ # Note: The following fields are mutually exclusive: `boolean_value`, `null_value`, `integer_value`, `double_value`, `timestamp_value`, `string_value`, `bytes_value`, `reference_value`, `geo_point_value`, `array_value`, `map_value`, `field_reference_value`, `variable_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
96
96
  # @!attribute [rw] integer_value
97
97
  # @return [::Integer]
98
98
  # An integer value.
99
99
  #
100
- # Note: The following fields are mutually exclusive: `integer_value`, `null_value`, `boolean_value`, `double_value`, `timestamp_value`, `string_value`, `bytes_value`, `reference_value`, `geo_point_value`, `array_value`, `map_value`, `field_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
100
+ # Note: The following fields are mutually exclusive: `integer_value`, `null_value`, `boolean_value`, `double_value`, `timestamp_value`, `string_value`, `bytes_value`, `reference_value`, `geo_point_value`, `array_value`, `map_value`, `field_reference_value`, `variable_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
101
101
  # @!attribute [rw] double_value
102
102
  # @return [::Float]
103
103
  # A double value.
104
104
  #
105
- # Note: The following fields are mutually exclusive: `double_value`, `null_value`, `boolean_value`, `integer_value`, `timestamp_value`, `string_value`, `bytes_value`, `reference_value`, `geo_point_value`, `array_value`, `map_value`, `field_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
105
+ # Note: The following fields are mutually exclusive: `double_value`, `null_value`, `boolean_value`, `integer_value`, `timestamp_value`, `string_value`, `bytes_value`, `reference_value`, `geo_point_value`, `array_value`, `map_value`, `field_reference_value`, `variable_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
106
106
  # @!attribute [rw] timestamp_value
107
107
  # @return [::Google::Protobuf::Timestamp]
108
108
  # A timestamp value.
@@ -110,7 +110,7 @@ module Google
110
110
  # Precise only to microseconds. When stored, any additional precision is
111
111
  # rounded down.
112
112
  #
113
- # Note: The following fields are mutually exclusive: `timestamp_value`, `null_value`, `boolean_value`, `integer_value`, `double_value`, `string_value`, `bytes_value`, `reference_value`, `geo_point_value`, `array_value`, `map_value`, `field_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
113
+ # Note: The following fields are mutually exclusive: `timestamp_value`, `null_value`, `boolean_value`, `integer_value`, `double_value`, `string_value`, `bytes_value`, `reference_value`, `geo_point_value`, `array_value`, `map_value`, `field_reference_value`, `variable_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
114
114
  # @!attribute [rw] string_value
115
115
  # @return [::String]
116
116
  # A string value.
@@ -119,7 +119,7 @@ module Google
119
119
  # Only the first 1,500 bytes of the UTF-8 representation are considered by
120
120
  # queries.
121
121
  #
122
- # Note: The following fields are mutually exclusive: `string_value`, `null_value`, `boolean_value`, `integer_value`, `double_value`, `timestamp_value`, `bytes_value`, `reference_value`, `geo_point_value`, `array_value`, `map_value`, `field_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
122
+ # Note: The following fields are mutually exclusive: `string_value`, `null_value`, `boolean_value`, `integer_value`, `double_value`, `timestamp_value`, `bytes_value`, `reference_value`, `geo_point_value`, `array_value`, `map_value`, `field_reference_value`, `variable_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
123
123
  # @!attribute [rw] bytes_value
124
124
  # @return [::String]
125
125
  # A bytes value.
@@ -127,18 +127,18 @@ module Google
127
127
  # Must not exceed 1 MiB - 89 bytes.
128
128
  # Only the first 1,500 bytes are considered by queries.
129
129
  #
130
- # Note: The following fields are mutually exclusive: `bytes_value`, `null_value`, `boolean_value`, `integer_value`, `double_value`, `timestamp_value`, `string_value`, `reference_value`, `geo_point_value`, `array_value`, `map_value`, `field_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
130
+ # Note: The following fields are mutually exclusive: `bytes_value`, `null_value`, `boolean_value`, `integer_value`, `double_value`, `timestamp_value`, `string_value`, `reference_value`, `geo_point_value`, `array_value`, `map_value`, `field_reference_value`, `variable_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
131
131
  # @!attribute [rw] reference_value
132
132
  # @return [::String]
133
133
  # A reference to a document. For example:
134
134
  # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
135
135
  #
136
- # Note: The following fields are mutually exclusive: `reference_value`, `null_value`, `boolean_value`, `integer_value`, `double_value`, `timestamp_value`, `string_value`, `bytes_value`, `geo_point_value`, `array_value`, `map_value`, `field_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
136
+ # Note: The following fields are mutually exclusive: `reference_value`, `null_value`, `boolean_value`, `integer_value`, `double_value`, `timestamp_value`, `string_value`, `bytes_value`, `geo_point_value`, `array_value`, `map_value`, `field_reference_value`, `variable_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
137
137
  # @!attribute [rw] geo_point_value
138
138
  # @return [::Google::Type::LatLng]
139
139
  # A geo point value representing a point on the surface of Earth.
140
140
  #
141
- # Note: The following fields are mutually exclusive: `geo_point_value`, `null_value`, `boolean_value`, `integer_value`, `double_value`, `timestamp_value`, `string_value`, `bytes_value`, `reference_value`, `array_value`, `map_value`, `field_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
141
+ # Note: The following fields are mutually exclusive: `geo_point_value`, `null_value`, `boolean_value`, `integer_value`, `double_value`, `timestamp_value`, `string_value`, `bytes_value`, `reference_value`, `array_value`, `map_value`, `field_reference_value`, `variable_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
142
142
  # @!attribute [rw] array_value
143
143
  # @return [::Google::Cloud::Firestore::V1::ArrayValue]
144
144
  # An array value.
@@ -146,12 +146,12 @@ module Google
146
146
  # Cannot directly contain another array value, though can contain a
147
147
  # map which contains another array.
148
148
  #
149
- # Note: The following fields are mutually exclusive: `array_value`, `null_value`, `boolean_value`, `integer_value`, `double_value`, `timestamp_value`, `string_value`, `bytes_value`, `reference_value`, `geo_point_value`, `map_value`, `field_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
149
+ # Note: The following fields are mutually exclusive: `array_value`, `null_value`, `boolean_value`, `integer_value`, `double_value`, `timestamp_value`, `string_value`, `bytes_value`, `reference_value`, `geo_point_value`, `map_value`, `field_reference_value`, `variable_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
150
150
  # @!attribute [rw] map_value
151
151
  # @return [::Google::Cloud::Firestore::V1::MapValue]
152
152
  # A map value.
153
153
  #
154
- # Note: The following fields are mutually exclusive: `map_value`, `null_value`, `boolean_value`, `integer_value`, `double_value`, `timestamp_value`, `string_value`, `bytes_value`, `reference_value`, `geo_point_value`, `array_value`, `field_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
154
+ # Note: The following fields are mutually exclusive: `map_value`, `null_value`, `boolean_value`, `integer_value`, `double_value`, `timestamp_value`, `string_value`, `bytes_value`, `reference_value`, `geo_point_value`, `array_value`, `field_reference_value`, `variable_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
155
155
  # @!attribute [rw] field_reference_value
156
156
  # @return [::String]
157
157
  # Value which references a field.
@@ -165,7 +165,16 @@ module Google
165
165
  #
166
166
  # * Not allowed to be used when writing documents.
167
167
  #
168
- # Note: The following fields are mutually exclusive: `field_reference_value`, `null_value`, `boolean_value`, `integer_value`, `double_value`, `timestamp_value`, `string_value`, `bytes_value`, `reference_value`, `geo_point_value`, `array_value`, `map_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
168
+ # Note: The following fields are mutually exclusive: `field_reference_value`, `null_value`, `boolean_value`, `integer_value`, `double_value`, `timestamp_value`, `string_value`, `bytes_value`, `reference_value`, `geo_point_value`, `array_value`, `map_value`, `variable_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
169
+ # @!attribute [rw] variable_reference_value
170
+ # @return [::String]
171
+ # Pointer to a variable defined elsewhere in a pipeline.
172
+ #
173
+ # Unlike `field_reference_value` which references a field within a
174
+ # document, this refers to a variable, defined in a separate namespace than
175
+ # the fields of a document.
176
+ #
177
+ # Note: The following fields are mutually exclusive: `variable_reference_value`, `null_value`, `boolean_value`, `integer_value`, `double_value`, `timestamp_value`, `string_value`, `bytes_value`, `reference_value`, `geo_point_value`, `array_value`, `map_value`, `field_reference_value`, `function_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
169
178
  # @!attribute [rw] function_value
170
179
  # @return [::Google::Cloud::Firestore::V1::Function]
171
180
  # A value that represents an unevaluated expression.
@@ -174,7 +183,7 @@ module Google
174
183
  #
175
184
  # * Not allowed to be used when writing documents.
176
185
  #
177
- # Note: The following fields are mutually exclusive: `function_value`, `null_value`, `boolean_value`, `integer_value`, `double_value`, `timestamp_value`, `string_value`, `bytes_value`, `reference_value`, `geo_point_value`, `array_value`, `map_value`, `field_reference_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
186
+ # Note: The following fields are mutually exclusive: `function_value`, `null_value`, `boolean_value`, `integer_value`, `double_value`, `timestamp_value`, `string_value`, `bytes_value`, `reference_value`, `geo_point_value`, `array_value`, `map_value`, `field_reference_value`, `variable_reference_value`, `pipeline_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
178
187
  # @!attribute [rw] pipeline_value
179
188
  # @return [::Google::Cloud::Firestore::V1::Pipeline]
180
189
  # A value that represents an unevaluated pipeline.
@@ -183,7 +192,7 @@ module Google
183
192
  #
184
193
  # * Not allowed to be used when writing documents.
185
194
  #
186
- # Note: The following fields are mutually exclusive: `pipeline_value`, `null_value`, `boolean_value`, `integer_value`, `double_value`, `timestamp_value`, `string_value`, `bytes_value`, `reference_value`, `geo_point_value`, `array_value`, `map_value`, `field_reference_value`, `function_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
195
+ # Note: The following fields are mutually exclusive: `pipeline_value`, `null_value`, `boolean_value`, `integer_value`, `double_value`, `timestamp_value`, `string_value`, `bytes_value`, `reference_value`, `geo_point_value`, `array_value`, `map_value`, `field_reference_value`, `variable_reference_value`, `function_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
187
196
  class Value
188
197
  include ::Google::Protobuf::MessageExts
189
198
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -482,6 +482,11 @@ module Google
482
482
  # minute timestamp within the past 7 days.
483
483
  #
484
484
  # Note: The following fields are mutually exclusive: `read_time`, `transaction`, `new_transaction`. If a field in that set is populated, all other fields in the set will automatically be cleared.
485
+ # @!attribute [rw] auto_commit_transaction
486
+ # @return [::Boolean]
487
+ # Optional. Automatically commits the transaction after the pipeline has been
488
+ # executed. Only permitted in combination with `transaction` or
489
+ # `new_transaction`.
485
490
  class ExecutePipelineRequest
486
491
  include ::Google::Protobuf::MessageExts
487
492
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1024,6 +1029,9 @@ module Google
1024
1029
  # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
1025
1030
  # For example:
1026
1031
  # `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`
1032
+ #
1033
+ # Use `projects/{project_id}/databases/{database_id}/documents` to list
1034
+ # top-level collections.
1027
1035
  # @!attribute [rw] page_size
1028
1036
  # @return [::Integer]
1029
1037
  # The maximum number of results to return.
@@ -48,9 +48,12 @@ module Google
48
48
  # @return [::Array<::Google::Cloud::Firestore::V1::StructuredQuery::Order>]
49
49
  # The order to apply to the query results.
50
50
  #
51
- # Firestore allows callers to provide a full ordering, a partial ordering, or
52
- # no ordering at all. In all cases, Firestore guarantees a stable ordering
53
- # through the following rules:
51
+ # Callers can provide a full ordering, a partial ordering, or no ordering at
52
+ # all. While Firestore will always respect the provided order, the behavior
53
+ # for queries without a full ordering is different per database edition:
54
+ #
55
+ # In Standard edition, Firestore guarantees a stable ordering through the
56
+ # following rules:
54
57
  #
55
58
  # * The `order_by` is required to reference all fields used with an
56
59
  # inequality filter.
@@ -66,6 +69,13 @@ module Google
66
69
  # * `WHERE a > 1` becomes `WHERE a > 1 ORDER BY a ASC, __name__ ASC`
67
70
  # * `WHERE __name__ > ... AND a > 1` becomes
68
71
  # `WHERE __name__ > ... AND a > 1 ORDER BY a ASC, __name__ ASC`
72
+ #
73
+ # In Enterprise edition, Firestore does not guarantee a stable ordering.
74
+ # Instead it will pick the most efficient ordering based on the indexes
75
+ # available at the time of query execution. This will result in a different
76
+ # ordering for queries that are otherwise identical. To ensure a stable
77
+ # ordering, always include a unique field in the `order_by` clause, such as
78
+ # `__name__`.
69
79
  # @!attribute [rw] start_at
70
80
  # @return [::Google::Cloud::Firestore::V1::Cursor]
71
81
  # A potential prefix of a position in the result set to start the query at.
@@ -22,6 +22,9 @@ module Google
22
22
  # Wrapper message for `double`.
23
23
  #
24
24
  # The JSON representation for `DoubleValue` is JSON number.
25
+ #
26
+ # Not recommended for use in new APIs, but still useful for legacy APIs and
27
+ # has no plan to be removed.
25
28
  # @!attribute [rw] value
26
29
  # @return [::Float]
27
30
  # The double value.
@@ -33,6 +36,9 @@ module Google
33
36
  # Wrapper message for `float`.
34
37
  #
35
38
  # The JSON representation for `FloatValue` is JSON number.
39
+ #
40
+ # Not recommended for use in new APIs, but still useful for legacy APIs and
41
+ # has no plan to be removed.
36
42
  # @!attribute [rw] value
37
43
  # @return [::Float]
38
44
  # The float value.
@@ -44,6 +50,9 @@ module Google
44
50
  # Wrapper message for `int64`.
45
51
  #
46
52
  # The JSON representation for `Int64Value` is JSON string.
53
+ #
54
+ # Not recommended for use in new APIs, but still useful for legacy APIs and
55
+ # has no plan to be removed.
47
56
  # @!attribute [rw] value
48
57
  # @return [::Integer]
49
58
  # The int64 value.
@@ -55,6 +64,9 @@ module Google
55
64
  # Wrapper message for `uint64`.
56
65
  #
57
66
  # The JSON representation for `UInt64Value` is JSON string.
67
+ #
68
+ # Not recommended for use in new APIs, but still useful for legacy APIs and
69
+ # has no plan to be removed.
58
70
  # @!attribute [rw] value
59
71
  # @return [::Integer]
60
72
  # The uint64 value.
@@ -66,6 +78,9 @@ module Google
66
78
  # Wrapper message for `int32`.
67
79
  #
68
80
  # The JSON representation for `Int32Value` is JSON number.
81
+ #
82
+ # Not recommended for use in new APIs, but still useful for legacy APIs and
83
+ # has no plan to be removed.
69
84
  # @!attribute [rw] value
70
85
  # @return [::Integer]
71
86
  # The int32 value.
@@ -77,6 +92,9 @@ module Google
77
92
  # Wrapper message for `uint32`.
78
93
  #
79
94
  # The JSON representation for `UInt32Value` is JSON number.
95
+ #
96
+ # Not recommended for use in new APIs, but still useful for legacy APIs and
97
+ # has no plan to be removed.
80
98
  # @!attribute [rw] value
81
99
  # @return [::Integer]
82
100
  # The uint32 value.
@@ -88,6 +106,9 @@ module Google
88
106
  # Wrapper message for `bool`.
89
107
  #
90
108
  # The JSON representation for `BoolValue` is JSON `true` and `false`.
109
+ #
110
+ # Not recommended for use in new APIs, but still useful for legacy APIs and
111
+ # has no plan to be removed.
91
112
  # @!attribute [rw] value
92
113
  # @return [::Boolean]
93
114
  # The bool value.
@@ -99,6 +120,9 @@ module Google
99
120
  # Wrapper message for `string`.
100
121
  #
101
122
  # The JSON representation for `StringValue` is JSON string.
123
+ #
124
+ # Not recommended for use in new APIs, but still useful for legacy APIs and
125
+ # has no plan to be removed.
102
126
  # @!attribute [rw] value
103
127
  # @return [::String]
104
128
  # The string value.
@@ -110,6 +134,9 @@ module Google
110
134
  # Wrapper message for `bytes`.
111
135
  #
112
136
  # The JSON representation for `BytesValue` is JSON string.
137
+ #
138
+ # Not recommended for use in new APIs, but still useful for legacy APIs and
139
+ # has no plan to be removed.
113
140
  # @!attribute [rw] value
114
141
  # @return [::String]
115
142
  # The bytes value.