google-cloud-bigtable-v2 0.7.0 → 0.8.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.
@@ -0,0 +1,318 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # Required information for every language.
23
+ # @!attribute [rw] reference_docs_uri
24
+ # @return [::String]
25
+ # Link to automatically generated reference documentation. Example:
26
+ # https://cloud.google.com/nodejs/docs/reference/asset/latest
27
+ # @!attribute [rw] destinations
28
+ # @return [::Array<::Google::Api::ClientLibraryDestination>]
29
+ # The destination where API teams want this client library to be published.
30
+ class CommonLanguageSettings
31
+ include ::Google::Protobuf::MessageExts
32
+ extend ::Google::Protobuf::MessageExts::ClassMethods
33
+ end
34
+
35
+ # Details about how and where to publish client libraries.
36
+ # @!attribute [rw] version
37
+ # @return [::String]
38
+ # Version of the API to apply these settings to.
39
+ # @!attribute [rw] launch_stage
40
+ # @return [::Google::Api::LaunchStage]
41
+ # Launch stage of this version of the API.
42
+ # @!attribute [rw] rest_numeric_enums
43
+ # @return [::Boolean]
44
+ # When using transport=rest, the client request will encode enums as
45
+ # numbers rather than strings.
46
+ # @!attribute [rw] java_settings
47
+ # @return [::Google::Api::JavaSettings]
48
+ # Settings for legacy Java features, supported in the Service YAML.
49
+ # @!attribute [rw] cpp_settings
50
+ # @return [::Google::Api::CppSettings]
51
+ # Settings for C++ client libraries.
52
+ # @!attribute [rw] php_settings
53
+ # @return [::Google::Api::PhpSettings]
54
+ # Settings for PHP client libraries.
55
+ # @!attribute [rw] python_settings
56
+ # @return [::Google::Api::PythonSettings]
57
+ # Settings for Python client libraries.
58
+ # @!attribute [rw] node_settings
59
+ # @return [::Google::Api::NodeSettings]
60
+ # Settings for Node client libraries.
61
+ # @!attribute [rw] dotnet_settings
62
+ # @return [::Google::Api::DotnetSettings]
63
+ # Settings for .NET client libraries.
64
+ # @!attribute [rw] ruby_settings
65
+ # @return [::Google::Api::RubySettings]
66
+ # Settings for Ruby client libraries.
67
+ # @!attribute [rw] go_settings
68
+ # @return [::Google::Api::GoSettings]
69
+ # Settings for Go client libraries.
70
+ class ClientLibrarySettings
71
+ include ::Google::Protobuf::MessageExts
72
+ extend ::Google::Protobuf::MessageExts::ClassMethods
73
+ end
74
+
75
+ # This message configures the settings for publishing [Google Cloud Client
76
+ # libraries](https://cloud.google.com/apis/docs/cloud-client-libraries)
77
+ # generated from the service config.
78
+ # @!attribute [rw] method_settings
79
+ # @return [::Array<::Google::Api::MethodSettings>]
80
+ # A list of API method settings, e.g. the behavior for methods that use the
81
+ # long-running operation pattern.
82
+ # @!attribute [rw] new_issue_uri
83
+ # @return [::String]
84
+ # Link to a place that API users can report issues. Example:
85
+ # https://issuetracker.google.com/issues/new?component=190865&template=1161103
86
+ # @!attribute [rw] documentation_uri
87
+ # @return [::String]
88
+ # Link to product home page. Example:
89
+ # https://cloud.google.com/asset-inventory/docs/overview
90
+ # @!attribute [rw] api_short_name
91
+ # @return [::String]
92
+ # Used as a tracking tag when collecting data about the APIs developer
93
+ # relations artifacts like docs, packages delivered to package managers,
94
+ # etc. Example: "speech".
95
+ # @!attribute [rw] github_label
96
+ # @return [::String]
97
+ # GitHub label to apply to issues and pull requests opened for this API.
98
+ # @!attribute [rw] codeowner_github_teams
99
+ # @return [::Array<::String>]
100
+ # GitHub teams to be added to CODEOWNERS in the directory in GitHub
101
+ # containing source code for the client libraries for this API.
102
+ # @!attribute [rw] doc_tag_prefix
103
+ # @return [::String]
104
+ # A prefix used in sample code when demarking regions to be included in
105
+ # documentation.
106
+ # @!attribute [rw] organization
107
+ # @return [::Google::Api::ClientLibraryOrganization]
108
+ # For whom the client library is being published.
109
+ # @!attribute [rw] library_settings
110
+ # @return [::Array<::Google::Api::ClientLibrarySettings>]
111
+ # Client library settings. If the same version string appears multiple
112
+ # times in this list, then the last one wins. Settings from earlier
113
+ # settings with the same version string are discarded.
114
+ class Publishing
115
+ include ::Google::Protobuf::MessageExts
116
+ extend ::Google::Protobuf::MessageExts::ClassMethods
117
+ end
118
+
119
+ # Settings for Java client libraries.
120
+ # @!attribute [rw] library_package
121
+ # @return [::String]
122
+ # The package name to use in Java. Clobbers the java_package option
123
+ # set in the protobuf. This should be used **only** by APIs
124
+ # who have already set the language_settings.java.package_name" field
125
+ # in gapic.yaml. API teams should use the protobuf java_package option
126
+ # where possible.
127
+ #
128
+ # Example of a YAML configuration::
129
+ #
130
+ # publishing:
131
+ # java_settings:
132
+ # library_package: com.google.cloud.pubsub.v1
133
+ # @!attribute [rw] service_class_names
134
+ # @return [::Google::Protobuf::Map{::String => ::String}]
135
+ # Configure the Java class name to use instead of the service's for its
136
+ # corresponding generated GAPIC client. Keys are fully-qualified
137
+ # service names as they appear in the protobuf (including the full
138
+ # the language_settings.java.interface_names" field in gapic.yaml. API
139
+ # teams should otherwise use the service name as it appears in the
140
+ # protobuf.
141
+ #
142
+ # Example of a YAML configuration::
143
+ #
144
+ # publishing:
145
+ # java_settings:
146
+ # service_class_names:
147
+ # - google.pubsub.v1.Publisher: TopicAdmin
148
+ # - google.pubsub.v1.Subscriber: SubscriptionAdmin
149
+ # @!attribute [rw] common
150
+ # @return [::Google::Api::CommonLanguageSettings]
151
+ # Some settings.
152
+ class JavaSettings
153
+ include ::Google::Protobuf::MessageExts
154
+ extend ::Google::Protobuf::MessageExts::ClassMethods
155
+
156
+ # @!attribute [rw] key
157
+ # @return [::String]
158
+ # @!attribute [rw] value
159
+ # @return [::String]
160
+ class ServiceClassNamesEntry
161
+ include ::Google::Protobuf::MessageExts
162
+ extend ::Google::Protobuf::MessageExts::ClassMethods
163
+ end
164
+ end
165
+
166
+ # Settings for C++ client libraries.
167
+ # @!attribute [rw] common
168
+ # @return [::Google::Api::CommonLanguageSettings]
169
+ # Some settings.
170
+ class CppSettings
171
+ include ::Google::Protobuf::MessageExts
172
+ extend ::Google::Protobuf::MessageExts::ClassMethods
173
+ end
174
+
175
+ # Settings for Php client libraries.
176
+ # @!attribute [rw] common
177
+ # @return [::Google::Api::CommonLanguageSettings]
178
+ # Some settings.
179
+ class PhpSettings
180
+ include ::Google::Protobuf::MessageExts
181
+ extend ::Google::Protobuf::MessageExts::ClassMethods
182
+ end
183
+
184
+ # Settings for Python client libraries.
185
+ # @!attribute [rw] common
186
+ # @return [::Google::Api::CommonLanguageSettings]
187
+ # Some settings.
188
+ class PythonSettings
189
+ include ::Google::Protobuf::MessageExts
190
+ extend ::Google::Protobuf::MessageExts::ClassMethods
191
+ end
192
+
193
+ # Settings for Node client libraries.
194
+ # @!attribute [rw] common
195
+ # @return [::Google::Api::CommonLanguageSettings]
196
+ # Some settings.
197
+ class NodeSettings
198
+ include ::Google::Protobuf::MessageExts
199
+ extend ::Google::Protobuf::MessageExts::ClassMethods
200
+ end
201
+
202
+ # Settings for Dotnet client libraries.
203
+ # @!attribute [rw] common
204
+ # @return [::Google::Api::CommonLanguageSettings]
205
+ # Some settings.
206
+ class DotnetSettings
207
+ include ::Google::Protobuf::MessageExts
208
+ extend ::Google::Protobuf::MessageExts::ClassMethods
209
+ end
210
+
211
+ # Settings for Ruby client libraries.
212
+ # @!attribute [rw] common
213
+ # @return [::Google::Api::CommonLanguageSettings]
214
+ # Some settings.
215
+ class RubySettings
216
+ include ::Google::Protobuf::MessageExts
217
+ extend ::Google::Protobuf::MessageExts::ClassMethods
218
+ end
219
+
220
+ # Settings for Go client libraries.
221
+ # @!attribute [rw] common
222
+ # @return [::Google::Api::CommonLanguageSettings]
223
+ # Some settings.
224
+ class GoSettings
225
+ include ::Google::Protobuf::MessageExts
226
+ extend ::Google::Protobuf::MessageExts::ClassMethods
227
+ end
228
+
229
+ # Describes the generator configuration for a method.
230
+ # @!attribute [rw] selector
231
+ # @return [::String]
232
+ # The fully qualified name of the method, for which the options below apply.
233
+ # This is used to find the method to apply the options.
234
+ # @!attribute [rw] long_running
235
+ # @return [::Google::Api::MethodSettings::LongRunning]
236
+ # Describes settings to use for long-running operations when generating
237
+ # API methods for RPCs. Complements RPCs that use the annotations in
238
+ # google/longrunning/operations.proto.
239
+ #
240
+ # Example of a YAML configuration::
241
+ #
242
+ # publishing:
243
+ # method_behavior:
244
+ # - selector: CreateAdDomain
245
+ # long_running:
246
+ # initial_poll_delay:
247
+ # seconds: 60 # 1 minute
248
+ # poll_delay_multiplier: 1.5
249
+ # max_poll_delay:
250
+ # seconds: 360 # 6 minutes
251
+ # total_poll_timeout:
252
+ # seconds: 54000 # 90 minutes
253
+ class MethodSettings
254
+ include ::Google::Protobuf::MessageExts
255
+ extend ::Google::Protobuf::MessageExts::ClassMethods
256
+
257
+ # Describes settings to use when generating API methods that use the
258
+ # long-running operation pattern.
259
+ # All default values below are from those used in the client library
260
+ # generators (e.g.
261
+ # [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)).
262
+ # @!attribute [rw] initial_poll_delay
263
+ # @return [::Google::Protobuf::Duration]
264
+ # Initial delay after which the first poll request will be made.
265
+ # Default value: 5 seconds.
266
+ # @!attribute [rw] poll_delay_multiplier
267
+ # @return [::Float]
268
+ # Multiplier to gradually increase delay between subsequent polls until it
269
+ # reaches max_poll_delay.
270
+ # Default value: 1.5.
271
+ # @!attribute [rw] max_poll_delay
272
+ # @return [::Google::Protobuf::Duration]
273
+ # Maximum time between two subsequent poll requests.
274
+ # Default value: 45 seconds.
275
+ # @!attribute [rw] total_poll_timeout
276
+ # @return [::Google::Protobuf::Duration]
277
+ # Total polling timeout.
278
+ # Default value: 5 minutes.
279
+ class LongRunning
280
+ include ::Google::Protobuf::MessageExts
281
+ extend ::Google::Protobuf::MessageExts::ClassMethods
282
+ end
283
+ end
284
+
285
+ # The organization for which the client libraries are being published.
286
+ # Affects the url where generated docs are published, etc.
287
+ module ClientLibraryOrganization
288
+ # Not useful.
289
+ CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0
290
+
291
+ # Google Cloud Platform Org.
292
+ CLOUD = 1
293
+
294
+ # Ads (Advertising) Org.
295
+ ADS = 2
296
+
297
+ # Photos Org.
298
+ PHOTOS = 3
299
+
300
+ # Street View Org.
301
+ STREET_VIEW = 4
302
+ end
303
+
304
+ # To where should client libraries be published?
305
+ module ClientLibraryDestination
306
+ # Client libraries will neither be generated nor published to package
307
+ # managers.
308
+ CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0
309
+
310
+ # Generate the client library in a repo under github.com/googleapis,
311
+ # but don't publish it to package managers.
312
+ GITHUB = 10
313
+
314
+ # Publish the library to package managers like nuget.org and npmjs.com.
315
+ PACKAGE_MANAGER = 20
316
+ end
317
+ end
318
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # The launch stage as defined by [Google Cloud Platform
23
+ # Launch Stages](https://cloud.google.com/terms/launch-stages).
24
+ module LaunchStage
25
+ # Do not use this default value.
26
+ LAUNCH_STAGE_UNSPECIFIED = 0
27
+
28
+ # The feature is not yet implemented. Users can not use it.
29
+ UNIMPLEMENTED = 6
30
+
31
+ # Prelaunch features are hidden from users and are only visible internally.
32
+ PRELAUNCH = 7
33
+
34
+ # Early Access features are limited to a closed group of testers. To use
35
+ # these features, you must sign up in advance and sign a Trusted Tester
36
+ # agreement (which includes confidentiality provisions). These features may
37
+ # be unstable, changed in backward-incompatible ways, and are not
38
+ # guaranteed to be released.
39
+ EARLY_ACCESS = 1
40
+
41
+ # Alpha is a limited availability test for releases before they are cleared
42
+ # for widespread use. By Alpha, all significant design issues are resolved
43
+ # and we are in the process of verifying functionality. Alpha customers
44
+ # need to apply for access, agree to applicable terms, and have their
45
+ # projects allowlisted. Alpha releases don't have to be feature complete,
46
+ # no SLAs are provided, and there are no technical support obligations, but
47
+ # they will be far enough along that customers can actually use them in
48
+ # test environments or for limited-use tests -- just like they would in
49
+ # normal production cases.
50
+ ALPHA = 2
51
+
52
+ # Beta is the point at which we are ready to open a release for any
53
+ # customer to use. There are no SLA or technical support obligations in a
54
+ # Beta release. Products will be complete from a feature perspective, but
55
+ # may have some open outstanding issues. Beta releases are suitable for
56
+ # limited production use cases.
57
+ BETA = 3
58
+
59
+ # GA features are open to all developers and are considered stable and
60
+ # fully qualified for production use.
61
+ GA = 4
62
+
63
+ # Deprecated features are scheduled to be shut down and removed. For more
64
+ # information, see the "Deprecation Policy" section of our [Terms of
65
+ # Service](https://cloud.google.com/terms/)
66
+ # and the [Google Cloud Platform Subject to the Deprecation
67
+ # Policy](https://cloud.google.com/terms/deprecation) documentation.
68
+ DEPRECATED = 5
69
+ end
70
+ end
71
+ end
@@ -61,12 +61,9 @@ module Google
61
61
  # RequestStats embedded message unset in the response.
62
62
  REQUEST_STATS_NONE = 1
63
63
 
64
- # Include stats related to the efficiency of the read.
65
- REQUEST_STATS_EFFICIENCY = 2
66
-
67
64
  # Include the full set of available RequestStats in the response,
68
65
  # applicable to this read.
69
- REQUEST_STATS_FULL = 3
66
+ REQUEST_STATS_FULL = 2
70
67
  end
71
68
  end
72
69
 
@@ -400,6 +397,239 @@ module Google
400
397
  include ::Google::Protobuf::MessageExts
401
398
  extend ::Google::Protobuf::MessageExts::ClassMethods
402
399
  end
400
+
401
+ # NOTE: This API is intended to be used by Apache Beam BigtableIO.
402
+ # Request message for Bigtable.GenerateInitialChangeStreamPartitions.
403
+ # @!attribute [rw] table_name
404
+ # @return [::String]
405
+ # Required. The unique name of the table from which to get change stream
406
+ # partitions. Values are of the form
407
+ # `projects/<project>/instances/<instance>/tables/<table>`.
408
+ # Change streaming must be enabled on the table.
409
+ # @!attribute [rw] app_profile_id
410
+ # @return [::String]
411
+ # This value specifies routing for replication. If not specified, the
412
+ # "default" application profile will be used.
413
+ # Single cluster routing must be configured on the profile.
414
+ class GenerateInitialChangeStreamPartitionsRequest
415
+ include ::Google::Protobuf::MessageExts
416
+ extend ::Google::Protobuf::MessageExts::ClassMethods
417
+ end
418
+
419
+ # NOTE: This API is intended to be used by Apache Beam BigtableIO.
420
+ # Response message for Bigtable.GenerateInitialChangeStreamPartitions.
421
+ # @!attribute [rw] partition
422
+ # @return [::Google::Cloud::Bigtable::V2::StreamPartition]
423
+ # A partition of the change stream.
424
+ class GenerateInitialChangeStreamPartitionsResponse
425
+ include ::Google::Protobuf::MessageExts
426
+ extend ::Google::Protobuf::MessageExts::ClassMethods
427
+ end
428
+
429
+ # NOTE: This API is intended to be used by Apache Beam BigtableIO.
430
+ # Request message for Bigtable.ReadChangeStream.
431
+ # @!attribute [rw] table_name
432
+ # @return [::String]
433
+ # Required. The unique name of the table from which to read a change stream.
434
+ # Values are of the form
435
+ # `projects/<project>/instances/<instance>/tables/<table>`.
436
+ # Change streaming must be enabled on the table.
437
+ # @!attribute [rw] app_profile_id
438
+ # @return [::String]
439
+ # This value specifies routing for replication. If not specified, the
440
+ # "default" application profile will be used.
441
+ # Single cluster routing must be configured on the profile.
442
+ # @!attribute [rw] partition
443
+ # @return [::Google::Cloud::Bigtable::V2::StreamPartition]
444
+ # The partition to read changes from.
445
+ # @!attribute [rw] start_time
446
+ # @return [::Google::Protobuf::Timestamp]
447
+ # Start reading the stream at the specified timestamp. This timestamp must
448
+ # be within the change stream retention period, less than or equal to the
449
+ # current time, and after change stream creation, whichever is greater.
450
+ # This value is inclusive and will be truncated to microsecond granularity.
451
+ # @!attribute [rw] continuation_tokens
452
+ # @return [::Google::Cloud::Bigtable::V2::StreamContinuationTokens]
453
+ # Tokens that describe how to resume reading a stream where reading
454
+ # previously left off. If specified, changes will be read starting at the
455
+ # the position. Tokens are delivered on the stream as part of `Heartbeat`
456
+ # and `CloseStream` messages.
457
+ #
458
+ # If a single token is provided, the token’s partition must exactly match
459
+ # the request’s partition. If multiple tokens are provided, as in the case
460
+ # of a partition merge, the union of the token partitions must exactly
461
+ # cover the request’s partition. Otherwise, INVALID_ARGUMENT will be
462
+ # returned.
463
+ # @!attribute [rw] end_time
464
+ # @return [::Google::Protobuf::Timestamp]
465
+ # If specified, OK will be returned when the stream advances beyond
466
+ # this time. Otherwise, changes will be continuously delivered on the stream.
467
+ # This value is inclusive and will be truncated to microsecond granularity.
468
+ # @!attribute [rw] heartbeat_duration
469
+ # @return [::Google::Protobuf::Duration]
470
+ # If specified, the duration between `Heartbeat` messages on the stream.
471
+ # Otherwise, defaults to 5 seconds.
472
+ class ReadChangeStreamRequest
473
+ include ::Google::Protobuf::MessageExts
474
+ extend ::Google::Protobuf::MessageExts::ClassMethods
475
+ end
476
+
477
+ # NOTE: This API is intended to be used by Apache Beam BigtableIO.
478
+ # Response message for Bigtable.ReadChangeStream.
479
+ # @!attribute [rw] data_change
480
+ # @return [::Google::Cloud::Bigtable::V2::ReadChangeStreamResponse::DataChange]
481
+ # A mutation to the partition.
482
+ # @!attribute [rw] heartbeat
483
+ # @return [::Google::Cloud::Bigtable::V2::ReadChangeStreamResponse::Heartbeat]
484
+ # A periodic heartbeat message.
485
+ # @!attribute [rw] close_stream
486
+ # @return [::Google::Cloud::Bigtable::V2::ReadChangeStreamResponse::CloseStream]
487
+ # An indication that the stream should be closed.
488
+ class ReadChangeStreamResponse
489
+ include ::Google::Protobuf::MessageExts
490
+ extend ::Google::Protobuf::MessageExts::ClassMethods
491
+
492
+ # A partial or complete mutation.
493
+ # @!attribute [rw] chunk_info
494
+ # @return [::Google::Cloud::Bigtable::V2::ReadChangeStreamResponse::MutationChunk::ChunkInfo]
495
+ # If set, then the mutation is a `SetCell` with a chunked value across
496
+ # multiple messages.
497
+ # @!attribute [rw] mutation
498
+ # @return [::Google::Cloud::Bigtable::V2::Mutation]
499
+ # If this is a continuation of a chunked message (`chunked_value_offset` >
500
+ # 0), ignore all fields except the `SetCell`'s value and merge it with
501
+ # the previous message by concatenating the value fields.
502
+ class MutationChunk
503
+ include ::Google::Protobuf::MessageExts
504
+ extend ::Google::Protobuf::MessageExts::ClassMethods
505
+
506
+ # Information about the chunking of this mutation.
507
+ # Only `SetCell` mutations can be chunked, and all chunks for a `SetCell`
508
+ # will be delivered contiguously with no other mutation types interleaved.
509
+ # @!attribute [rw] chunked_value_size
510
+ # @return [::Integer]
511
+ # The total value size of all the chunks that make up the `SetCell`.
512
+ # @!attribute [rw] chunked_value_offset
513
+ # @return [::Integer]
514
+ # The byte offset of this chunk into the total value size of the
515
+ # mutation.
516
+ # @!attribute [rw] last_chunk
517
+ # @return [::Boolean]
518
+ # When true, this is the last chunk of a chunked `SetCell`.
519
+ class ChunkInfo
520
+ include ::Google::Protobuf::MessageExts
521
+ extend ::Google::Protobuf::MessageExts::ClassMethods
522
+ end
523
+ end
524
+
525
+ # A message corresponding to one or more mutations to the partition
526
+ # being streamed. A single logical `DataChange` message may also be split
527
+ # across a sequence of multiple individual messages. Messages other than
528
+ # the first in a sequence will only have the `type` and `chunks` fields
529
+ # populated, with the final message in the sequence also containing `done`
530
+ # set to true.
531
+ # @!attribute [rw] type
532
+ # @return [::Google::Cloud::Bigtable::V2::ReadChangeStreamResponse::DataChange::Type]
533
+ # The type of the mutation.
534
+ # @!attribute [rw] source_cluster_id
535
+ # @return [::String]
536
+ # The cluster where the mutation was applied.
537
+ # Not set when `type` is `GARBAGE_COLLECTION`.
538
+ # @!attribute [rw] row_key
539
+ # @return [::String]
540
+ # The row key for all mutations that are part of this `DataChange`.
541
+ # If the `DataChange` is chunked across multiple messages, then this field
542
+ # will only be set for the first message.
543
+ # @!attribute [rw] commit_timestamp
544
+ # @return [::Google::Protobuf::Timestamp]
545
+ # The timestamp at which the mutation was applied on the Bigtable server.
546
+ # @!attribute [rw] tiebreaker
547
+ # @return [::Integer]
548
+ # A value that lets stream consumers reconstruct Bigtable's
549
+ # conflict resolution semantics.
550
+ # https://cloud.google.com/bigtable/docs/writes#conflict-resolution
551
+ # In the event that the same row key, column family, column qualifier,
552
+ # timestamp are modified on different clusters at the same
553
+ # `commit_timestamp`, the mutation with the larger `tiebreaker` will be the
554
+ # one chosen for the eventually consistent state of the system.
555
+ # @!attribute [rw] chunks
556
+ # @return [::Array<::Google::Cloud::Bigtable::V2::ReadChangeStreamResponse::MutationChunk>]
557
+ # The mutations associated with this change to the partition.
558
+ # May contain complete mutations or chunks of a multi-message chunked
559
+ # `DataChange` record.
560
+ # @!attribute [rw] done
561
+ # @return [::Boolean]
562
+ # When true, indicates that the entire `DataChange` has been read
563
+ # and the client can safely process the message.
564
+ # @!attribute [rw] token
565
+ # @return [::String]
566
+ # An encoded position for this stream's partition to restart reading from.
567
+ # This token is for the StreamPartition from the request.
568
+ # @!attribute [rw] estimated_low_watermark
569
+ # @return [::Google::Protobuf::Timestamp]
570
+ # An estimate of the commit timestamp that is usually lower than or equal
571
+ # to any timestamp for a record that will be delivered in the future on the
572
+ # stream. It is possible that, under particular circumstances that a future
573
+ # record has a timestamp is is lower than a previously seen timestamp. For
574
+ # an example usage see
575
+ # https://beam.apache.org/documentation/basics/#watermarks
576
+ class DataChange
577
+ include ::Google::Protobuf::MessageExts
578
+ extend ::Google::Protobuf::MessageExts::ClassMethods
579
+
580
+ # The type of mutation.
581
+ module Type
582
+ # The type is unspecified.
583
+ TYPE_UNSPECIFIED = 0
584
+
585
+ # A user-initiated mutation.
586
+ USER = 1
587
+
588
+ # A system-initiated mutation as part of garbage collection.
589
+ # https://cloud.google.com/bigtable/docs/garbage-collection
590
+ GARBAGE_COLLECTION = 2
591
+
592
+ # This is a continuation of a multi-message change.
593
+ CONTINUATION = 3
594
+ end
595
+ end
596
+
597
+ # A periodic message with information that can be used to checkpoint
598
+ # the state of a stream.
599
+ # @!attribute [rw] continuation_token
600
+ # @return [::Google::Cloud::Bigtable::V2::StreamContinuationToken]
601
+ # A token that can be provided to a subsequent `ReadChangeStream` call
602
+ # to pick up reading at the current stream position.
603
+ # @!attribute [rw] estimated_low_watermark
604
+ # @return [::Google::Protobuf::Timestamp]
605
+ # An estimate of the commit timestamp that is usually lower than or equal
606
+ # to any timestamp for a record that will be delivered in the future on the
607
+ # stream. It is possible that, under particular circumstances that a future
608
+ # record has a timestamp is is lower than a previously seen timestamp. For
609
+ # an example usage see
610
+ # https://beam.apache.org/documentation/basics/#watermarks
611
+ class Heartbeat
612
+ include ::Google::Protobuf::MessageExts
613
+ extend ::Google::Protobuf::MessageExts::ClassMethods
614
+ end
615
+
616
+ # A message indicating that the client should stop reading from the stream.
617
+ # If status is OK and `continuation_tokens` is empty, the stream has finished
618
+ # (for example if there was an `end_time` specified).
619
+ # If `continuation_tokens` is present, then a change in partitioning requires
620
+ # the client to open a new stream for each token to resume reading.
621
+ # @!attribute [rw] status
622
+ # @return [::Google::Rpc::Status]
623
+ # The status of the stream.
624
+ # @!attribute [rw] continuation_tokens
625
+ # @return [::Array<::Google::Cloud::Bigtable::V2::StreamContinuationToken>]
626
+ # If non-empty, contains the information needed to start reading the new
627
+ # partition(s) that contain segments of this partition's row range.
628
+ class CloseStream
629
+ include ::Google::Protobuf::MessageExts
630
+ extend ::Google::Protobuf::MessageExts::ClassMethods
631
+ end
632
+ end
403
633
  end
404
634
  end
405
635
  end
@@ -550,6 +550,42 @@ module Google
550
550
  include ::Google::Protobuf::MessageExts
551
551
  extend ::Google::Protobuf::MessageExts::ClassMethods
552
552
  end
553
+
554
+ # NOTE: This API is intended to be used by Apache Beam BigtableIO.
555
+ # A partition of a change stream.
556
+ # @!attribute [rw] row_range
557
+ # @return [::Google::Cloud::Bigtable::V2::RowRange]
558
+ # The row range covered by this partition and is specified by
559
+ # [`start_key_closed`, `end_key_open`).
560
+ class StreamPartition
561
+ include ::Google::Protobuf::MessageExts
562
+ extend ::Google::Protobuf::MessageExts::ClassMethods
563
+ end
564
+
565
+ # NOTE: This API is intended to be used by Apache Beam BigtableIO.
566
+ # The information required to continue reading the data from multiple
567
+ # `StreamPartitions` from where a previous read left off.
568
+ # @!attribute [rw] tokens
569
+ # @return [::Array<::Google::Cloud::Bigtable::V2::StreamContinuationToken>]
570
+ # List of continuation tokens.
571
+ class StreamContinuationTokens
572
+ include ::Google::Protobuf::MessageExts
573
+ extend ::Google::Protobuf::MessageExts::ClassMethods
574
+ end
575
+
576
+ # NOTE: This API is intended to be used by Apache Beam BigtableIO.
577
+ # The information required to continue reading the data from a
578
+ # `StreamPartition` from where a previous read left off.
579
+ # @!attribute [rw] partition
580
+ # @return [::Google::Cloud::Bigtable::V2::StreamPartition]
581
+ # The partition that this token applies to.
582
+ # @!attribute [rw] token
583
+ # @return [::String]
584
+ # An encoded position in the stream to restart reading from.
585
+ class StreamContinuationToken
586
+ include ::Google::Protobuf::MessageExts
587
+ extend ::Google::Protobuf::MessageExts::ClassMethods
588
+ end
553
589
  end
554
590
  end
555
591
  end