google-cloud-firestore-v1 2.3.0 → 2.6.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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -5
  3. data/lib/google/cloud/firestore/v1/firestore/client.rb +62 -23
  4. data/lib/google/cloud/firestore/v1/firestore/credentials.rb +1 -1
  5. data/lib/google/cloud/firestore/v1/firestore/rest/client.rb +60 -21
  6. data/lib/google/cloud/firestore/v1/firestore/rest/service_stub.rb +10 -10
  7. data/lib/google/cloud/firestore/v1/firestore/rest.rb +1 -1
  8. data/lib/google/cloud/firestore/v1/firestore.rb +1 -1
  9. data/lib/google/cloud/firestore/v1/rest.rb +1 -1
  10. data/lib/google/cloud/firestore/v1/version.rb +1 -1
  11. data/lib/google/cloud/firestore/v1.rb +1 -1
  12. data/lib/google/firestore/v1/aggregation_result_pb.rb +2 -24
  13. data/lib/google/firestore/v1/bloom_filter_pb.rb +2 -23
  14. data/lib/google/firestore/v1/common_pb.rb +6 -25
  15. data/lib/google/firestore/v1/document_pb.rb +3 -26
  16. data/lib/google/firestore/v1/explain_stats_pb.rb +2 -24
  17. data/lib/google/firestore/v1/firestore_pb.rb +3 -35
  18. data/lib/google/firestore/v1/firestore_services_pb.rb +1 -1
  19. data/lib/google/firestore/v1/pipeline_pb.rb +3 -25
  20. data/lib/google/firestore/v1/query_pb.rb +3 -26
  21. data/lib/google/firestore/v1/query_profile_pb.rb +3 -26
  22. data/lib/google/firestore/v1/write_pb.rb +2 -27
  23. data/lib/google-cloud-firestore-v1.rb +1 -1
  24. data/proto_docs/google/api/client.rb +150 -30
  25. data/proto_docs/google/api/field_behavior.rb +1 -1
  26. data/proto_docs/google/api/launch_stage.rb +1 -1
  27. data/proto_docs/google/api/resource.rb +1 -1
  28. data/proto_docs/google/api/routing.rb +8 -4
  29. data/proto_docs/google/firestore/v1/aggregation_result.rb +1 -1
  30. data/proto_docs/google/firestore/v1/bloom_filter.rb +1 -1
  31. data/proto_docs/google/firestore/v1/common.rb +32 -4
  32. data/proto_docs/google/firestore/v1/document.rb +24 -15
  33. data/proto_docs/google/firestore/v1/explain_stats.rb +1 -1
  34. data/proto_docs/google/firestore/v1/firestore.rb +60 -1
  35. data/proto_docs/google/firestore/v1/pipeline.rb +1 -1
  36. data/proto_docs/google/firestore/v1/query.rb +14 -4
  37. data/proto_docs/google/firestore/v1/query_profile.rb +1 -1
  38. data/proto_docs/google/firestore/v1/write.rb +1 -1
  39. data/proto_docs/google/protobuf/any.rb +1 -1
  40. data/proto_docs/google/protobuf/duration.rb +1 -1
  41. data/proto_docs/google/protobuf/empty.rb +1 -1
  42. data/proto_docs/google/protobuf/struct.rb +1 -1
  43. data/proto_docs/google/protobuf/timestamp.rb +8 -7
  44. data/proto_docs/google/protobuf/wrappers.rb +28 -1
  45. data/proto_docs/google/rpc/status.rb +1 -1
  46. data/proto_docs/google/type/latlng.rb +4 -4
  47. metadata +6 -6
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2022 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -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
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2020 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2022 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2020 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2025 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -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
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2022 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2023 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2020 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -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,27 @@ 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
116
+ end
117
+
118
+ # Options for a server request.
119
+ # @!attribute [rw] request_tags
120
+ # @return [::Array<::String>]
121
+ # The request tags for the request.
122
+ class RequestOptions
123
+ include ::Google::Protobuf::MessageExts
124
+ extend ::Google::Protobuf::MessageExts::ClassMethods
97
125
  end
98
126
  end
99
127
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2020 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -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
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2025 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.