google-cloud-bigtable 2.30.0__py3-none-any.whl

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 (115) hide show
  1. google/cloud/bigtable/__init__.py +25 -0
  2. google/cloud/bigtable/app_profile.py +377 -0
  3. google/cloud/bigtable/backup.py +490 -0
  4. google/cloud/bigtable/batcher.py +414 -0
  5. google/cloud/bigtable/client.py +475 -0
  6. google/cloud/bigtable/cluster.py +541 -0
  7. google/cloud/bigtable/column_family.py +362 -0
  8. google/cloud/bigtable/data/__init__.py +103 -0
  9. google/cloud/bigtable/data/_async/__init__.py +25 -0
  10. google/cloud/bigtable/data/_async/_mutate_rows.py +226 -0
  11. google/cloud/bigtable/data/_async/_read_rows.py +363 -0
  12. google/cloud/bigtable/data/_async/client.py +1522 -0
  13. google/cloud/bigtable/data/_async/mutations_batcher.py +534 -0
  14. google/cloud/bigtable/data/_cross_sync/__init__.py +20 -0
  15. google/cloud/bigtable/data/_cross_sync/_decorators.py +441 -0
  16. google/cloud/bigtable/data/_cross_sync/_mapping_meta.py +64 -0
  17. google/cloud/bigtable/data/_cross_sync/cross_sync.py +334 -0
  18. google/cloud/bigtable/data/_helpers.py +249 -0
  19. google/cloud/bigtable/data/_sync_autogen/_mutate_rows.py +182 -0
  20. google/cloud/bigtable/data/_sync_autogen/_read_rows.py +304 -0
  21. google/cloud/bigtable/data/_sync_autogen/client.py +1293 -0
  22. google/cloud/bigtable/data/_sync_autogen/mutations_batcher.py +449 -0
  23. google/cloud/bigtable/data/exceptions.py +340 -0
  24. google/cloud/bigtable/data/execute_query/__init__.py +43 -0
  25. google/cloud/bigtable/data/execute_query/_async/__init__.py +13 -0
  26. google/cloud/bigtable/data/execute_query/_async/execute_query_iterator.py +291 -0
  27. google/cloud/bigtable/data/execute_query/_byte_cursor.py +123 -0
  28. google/cloud/bigtable/data/execute_query/_checksum.py +43 -0
  29. google/cloud/bigtable/data/execute_query/_parameters_formatting.py +155 -0
  30. google/cloud/bigtable/data/execute_query/_query_result_parsing_utils.py +134 -0
  31. google/cloud/bigtable/data/execute_query/_reader.py +122 -0
  32. google/cloud/bigtable/data/execute_query/_sync_autogen/execute_query_iterator.py +239 -0
  33. google/cloud/bigtable/data/execute_query/metadata.py +399 -0
  34. google/cloud/bigtable/data/execute_query/values.py +123 -0
  35. google/cloud/bigtable/data/mutations.py +380 -0
  36. google/cloud/bigtable/data/read_modify_write_rules.py +112 -0
  37. google/cloud/bigtable/data/read_rows_query.py +536 -0
  38. google/cloud/bigtable/data/row.py +535 -0
  39. google/cloud/bigtable/data/row_filters.py +968 -0
  40. google/cloud/bigtable/encryption_info.py +64 -0
  41. google/cloud/bigtable/enums.py +223 -0
  42. google/cloud/bigtable/error.py +64 -0
  43. google/cloud/bigtable/gapic_version.py +16 -0
  44. google/cloud/bigtable/helpers.py +31 -0
  45. google/cloud/bigtable/instance.py +789 -0
  46. google/cloud/bigtable/policy.py +255 -0
  47. google/cloud/bigtable/row.py +1267 -0
  48. google/cloud/bigtable/row_data.py +380 -0
  49. google/cloud/bigtable/row_filters.py +838 -0
  50. google/cloud/bigtable/row_merger.py +250 -0
  51. google/cloud/bigtable/row_set.py +213 -0
  52. google/cloud/bigtable/table.py +1409 -0
  53. google/cloud/bigtable_admin/__init__.py +410 -0
  54. google/cloud/bigtable_admin/gapic_version.py +16 -0
  55. google/cloud/bigtable_admin/py.typed +2 -0
  56. google/cloud/bigtable_admin_v2/__init__.py +250 -0
  57. google/cloud/bigtable_admin_v2/gapic_metadata.json +962 -0
  58. google/cloud/bigtable_admin_v2/gapic_version.py +16 -0
  59. google/cloud/bigtable_admin_v2/py.typed +2 -0
  60. google/cloud/bigtable_admin_v2/services/__init__.py +15 -0
  61. google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/__init__.py +22 -0
  62. google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/async_client.py +3465 -0
  63. google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/client.py +3944 -0
  64. google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/pagers.py +681 -0
  65. google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/__init__.py +40 -0
  66. google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/base.py +751 -0
  67. google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/grpc.py +1249 -0
  68. google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/grpc_asyncio.py +1579 -0
  69. google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/rest.py +6820 -0
  70. google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/rest_base.py +1746 -0
  71. google/cloud/bigtable_admin_v2/services/bigtable_table_admin/__init__.py +22 -0
  72. google/cloud/bigtable_admin_v2/services/bigtable_table_admin/async_client.py +3472 -0
  73. google/cloud/bigtable_admin_v2/services/bigtable_table_admin/client.py +3949 -0
  74. google/cloud/bigtable_admin_v2/services/bigtable_table_admin/pagers.py +669 -0
  75. google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/__init__.py +40 -0
  76. google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/base.py +708 -0
  77. google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/grpc.py +1257 -0
  78. google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/grpc_asyncio.py +1549 -0
  79. google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/rest.py +6609 -0
  80. google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/rest_base.py +1714 -0
  81. google/cloud/bigtable_admin_v2/types/__init__.py +248 -0
  82. google/cloud/bigtable_admin_v2/types/bigtable_instance_admin.py +1364 -0
  83. google/cloud/bigtable_admin_v2/types/bigtable_table_admin.py +1715 -0
  84. google/cloud/bigtable_admin_v2/types/common.py +81 -0
  85. google/cloud/bigtable_admin_v2/types/instance.py +819 -0
  86. google/cloud/bigtable_admin_v2/types/table.py +1028 -0
  87. google/cloud/bigtable_admin_v2/types/types.py +776 -0
  88. google/cloud/bigtable_v2/__init__.py +136 -0
  89. google/cloud/bigtable_v2/gapic_metadata.json +193 -0
  90. google/cloud/bigtable_v2/gapic_version.py +16 -0
  91. google/cloud/bigtable_v2/py.typed +2 -0
  92. google/cloud/bigtable_v2/services/__init__.py +15 -0
  93. google/cloud/bigtable_v2/services/bigtable/__init__.py +22 -0
  94. google/cloud/bigtable_v2/services/bigtable/async_client.py +1741 -0
  95. google/cloud/bigtable_v2/services/bigtable/client.py +2194 -0
  96. google/cloud/bigtable_v2/services/bigtable/transports/__init__.py +38 -0
  97. google/cloud/bigtable_v2/services/bigtable/transports/base.py +343 -0
  98. google/cloud/bigtable_v2/services/bigtable/transports/grpc.py +660 -0
  99. google/cloud/bigtable_v2/services/bigtable/transports/grpc_asyncio.py +762 -0
  100. google/cloud/bigtable_v2/services/bigtable/transports/rest.py +2489 -0
  101. google/cloud/bigtable_v2/services/bigtable/transports/rest_base.py +711 -0
  102. google/cloud/bigtable_v2/types/__init__.py +138 -0
  103. google/cloud/bigtable_v2/types/bigtable.py +1531 -0
  104. google/cloud/bigtable_v2/types/data.py +1612 -0
  105. google/cloud/bigtable_v2/types/feature_flags.py +119 -0
  106. google/cloud/bigtable_v2/types/request_stats.py +171 -0
  107. google/cloud/bigtable_v2/types/response_params.py +64 -0
  108. google/cloud/bigtable_v2/types/types.py +579 -0
  109. google_cloud_bigtable-2.30.0.data/scripts/fixup_bigtable_admin_v2_keywords.py +233 -0
  110. google_cloud_bigtable-2.30.0.data/scripts/fixup_bigtable_v2_keywords.py +186 -0
  111. google_cloud_bigtable-2.30.0.dist-info/LICENSE +202 -0
  112. google_cloud_bigtable-2.30.0.dist-info/METADATA +154 -0
  113. google_cloud_bigtable-2.30.0.dist-info/RECORD +115 -0
  114. google_cloud_bigtable-2.30.0.dist-info/WHEEL +5 -0
  115. google_cloud_bigtable-2.30.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,579 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Copyright 2024 Google LLC
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ from __future__ import annotations
17
+
18
+ from typing import MutableMapping, MutableSequence
19
+
20
+ import proto # type: ignore
21
+
22
+
23
+ __protobuf__ = proto.module(
24
+ package="google.bigtable.v2",
25
+ manifest={
26
+ "Type",
27
+ },
28
+ )
29
+
30
+
31
+ class Type(proto.Message):
32
+ r"""``Type`` represents the type of data that is written to, read from,
33
+ or stored in Bigtable. It is heavily based on the GoogleSQL standard
34
+ to help maintain familiarity and consistency across products and
35
+ features.
36
+
37
+ For compatibility with Bigtable's existing untyped APIs, each
38
+ ``Type`` includes an ``Encoding`` which describes how to convert
39
+ to/from the underlying data.
40
+
41
+ Each encoding also defines the following properties:
42
+
43
+ - Order-preserving: Does the encoded value sort consistently with
44
+ the original typed value? Note that Bigtable will always sort
45
+ data based on the raw encoded value, *not* the decoded type.
46
+
47
+ - Example: BYTES values sort in the same order as their raw
48
+ encodings.
49
+ - Counterexample: Encoding INT64 as a fixed-width decimal string
50
+ does *not* preserve sort order when dealing with negative
51
+ numbers. ``INT64(1) > INT64(-1)``, but
52
+ ``STRING("-00001") > STRING("00001)``.
53
+
54
+ - Self-delimiting: If we concatenate two encoded values, can we
55
+ always tell where the first one ends and the second one begins?
56
+
57
+ - Example: If we encode INT64s to fixed-width STRINGs, the first
58
+ value will always contain exactly N digits, possibly preceded
59
+ by a sign.
60
+ - Counterexample: If we concatenate two UTF-8 encoded STRINGs,
61
+ we have no way to tell where the first one ends.
62
+
63
+ - Compatibility: Which other systems have matching encoding
64
+ schemes? For example, does this encoding have a GoogleSQL
65
+ equivalent? HBase? Java?
66
+
67
+ This message has `oneof`_ fields (mutually exclusive fields).
68
+ For each oneof, at most one member field can be set at the same time.
69
+ Setting any member of the oneof automatically clears all other
70
+ members.
71
+
72
+ .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
73
+
74
+ Attributes:
75
+ bytes_type (google.cloud.bigtable_v2.types.Type.Bytes):
76
+ Bytes
77
+
78
+ This field is a member of `oneof`_ ``kind``.
79
+ string_type (google.cloud.bigtable_v2.types.Type.String):
80
+ String
81
+
82
+ This field is a member of `oneof`_ ``kind``.
83
+ int64_type (google.cloud.bigtable_v2.types.Type.Int64):
84
+ Int64
85
+
86
+ This field is a member of `oneof`_ ``kind``.
87
+ float32_type (google.cloud.bigtable_v2.types.Type.Float32):
88
+ Float32
89
+
90
+ This field is a member of `oneof`_ ``kind``.
91
+ float64_type (google.cloud.bigtable_v2.types.Type.Float64):
92
+ Float64
93
+
94
+ This field is a member of `oneof`_ ``kind``.
95
+ bool_type (google.cloud.bigtable_v2.types.Type.Bool):
96
+ Bool
97
+
98
+ This field is a member of `oneof`_ ``kind``.
99
+ timestamp_type (google.cloud.bigtable_v2.types.Type.Timestamp):
100
+ Timestamp
101
+
102
+ This field is a member of `oneof`_ ``kind``.
103
+ date_type (google.cloud.bigtable_v2.types.Type.Date):
104
+ Date
105
+
106
+ This field is a member of `oneof`_ ``kind``.
107
+ aggregate_type (google.cloud.bigtable_v2.types.Type.Aggregate):
108
+ Aggregate
109
+
110
+ This field is a member of `oneof`_ ``kind``.
111
+ struct_type (google.cloud.bigtable_v2.types.Type.Struct):
112
+ Struct
113
+
114
+ This field is a member of `oneof`_ ``kind``.
115
+ array_type (google.cloud.bigtable_v2.types.Type.Array):
116
+ Array
117
+
118
+ This field is a member of `oneof`_ ``kind``.
119
+ map_type (google.cloud.bigtable_v2.types.Type.Map):
120
+ Map
121
+
122
+ This field is a member of `oneof`_ ``kind``.
123
+ """
124
+
125
+ class Bytes(proto.Message):
126
+ r"""Bytes Values of type ``Bytes`` are stored in ``Value.bytes_value``.
127
+
128
+ Attributes:
129
+ encoding (google.cloud.bigtable_v2.types.Type.Bytes.Encoding):
130
+ The encoding to use when converting to/from
131
+ lower level types.
132
+ """
133
+
134
+ class Encoding(proto.Message):
135
+ r"""Rules used to convert to/from lower level types.
136
+
137
+ .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
138
+
139
+ Attributes:
140
+ raw (google.cloud.bigtable_v2.types.Type.Bytes.Encoding.Raw):
141
+ Use ``Raw`` encoding.
142
+
143
+ This field is a member of `oneof`_ ``encoding``.
144
+ """
145
+
146
+ class Raw(proto.Message):
147
+ r"""Leaves the value "as-is"
148
+
149
+ - Order-preserving? Yes
150
+ - Self-delimiting? No
151
+ - Compatibility? N/A
152
+
153
+ """
154
+
155
+ raw: "Type.Bytes.Encoding.Raw" = proto.Field(
156
+ proto.MESSAGE,
157
+ number=1,
158
+ oneof="encoding",
159
+ message="Type.Bytes.Encoding.Raw",
160
+ )
161
+
162
+ encoding: "Type.Bytes.Encoding" = proto.Field(
163
+ proto.MESSAGE,
164
+ number=1,
165
+ message="Type.Bytes.Encoding",
166
+ )
167
+
168
+ class String(proto.Message):
169
+ r"""String Values of type ``String`` are stored in
170
+ ``Value.string_value``.
171
+
172
+ Attributes:
173
+ encoding (google.cloud.bigtable_v2.types.Type.String.Encoding):
174
+ The encoding to use when converting to/from
175
+ lower level types.
176
+ """
177
+
178
+ class Encoding(proto.Message):
179
+ r"""Rules used to convert to/from lower level types.
180
+
181
+ This message has `oneof`_ fields (mutually exclusive fields).
182
+ For each oneof, at most one member field can be set at the same time.
183
+ Setting any member of the oneof automatically clears all other
184
+ members.
185
+
186
+ .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
187
+
188
+ Attributes:
189
+ utf8_raw (google.cloud.bigtable_v2.types.Type.String.Encoding.Utf8Raw):
190
+ Deprecated: if set, converts to an empty ``utf8_bytes``.
191
+
192
+ This field is a member of `oneof`_ ``encoding``.
193
+ utf8_bytes (google.cloud.bigtable_v2.types.Type.String.Encoding.Utf8Bytes):
194
+ Use ``Utf8Bytes`` encoding.
195
+
196
+ This field is a member of `oneof`_ ``encoding``.
197
+ """
198
+
199
+ class Utf8Raw(proto.Message):
200
+ r"""Deprecated: prefer the equivalent ``Utf8Bytes``."""
201
+
202
+ class Utf8Bytes(proto.Message):
203
+ r"""UTF-8 encoding
204
+
205
+ - Order-preserving? Yes (code point order)
206
+ - Self-delimiting? No
207
+ - Compatibility?
208
+
209
+ - BigQuery Federation ``TEXT`` encoding
210
+ - HBase ``Bytes.toBytes``
211
+ - Java ``String#getBytes(StandardCharsets.UTF_8)``
212
+
213
+ """
214
+
215
+ utf8_raw: "Type.String.Encoding.Utf8Raw" = proto.Field(
216
+ proto.MESSAGE,
217
+ number=1,
218
+ oneof="encoding",
219
+ message="Type.String.Encoding.Utf8Raw",
220
+ )
221
+ utf8_bytes: "Type.String.Encoding.Utf8Bytes" = proto.Field(
222
+ proto.MESSAGE,
223
+ number=2,
224
+ oneof="encoding",
225
+ message="Type.String.Encoding.Utf8Bytes",
226
+ )
227
+
228
+ encoding: "Type.String.Encoding" = proto.Field(
229
+ proto.MESSAGE,
230
+ number=1,
231
+ message="Type.String.Encoding",
232
+ )
233
+
234
+ class Int64(proto.Message):
235
+ r"""Int64 Values of type ``Int64`` are stored in ``Value.int_value``.
236
+
237
+ Attributes:
238
+ encoding (google.cloud.bigtable_v2.types.Type.Int64.Encoding):
239
+ The encoding to use when converting to/from
240
+ lower level types.
241
+ """
242
+
243
+ class Encoding(proto.Message):
244
+ r"""Rules used to convert to/from lower level types.
245
+
246
+ .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
247
+
248
+ Attributes:
249
+ big_endian_bytes (google.cloud.bigtable_v2.types.Type.Int64.Encoding.BigEndianBytes):
250
+ Use ``BigEndianBytes`` encoding.
251
+
252
+ This field is a member of `oneof`_ ``encoding``.
253
+ """
254
+
255
+ class BigEndianBytes(proto.Message):
256
+ r"""Encodes the value as an 8-byte big endian twos complement ``Bytes``
257
+ value.
258
+
259
+ - Order-preserving? No (positive values only)
260
+ - Self-delimiting? Yes
261
+ - Compatibility?
262
+
263
+ - BigQuery Federation ``BINARY`` encoding
264
+ - HBase ``Bytes.toBytes``
265
+ - Java ``ByteBuffer.putLong()`` with ``ByteOrder.BIG_ENDIAN``
266
+
267
+ Attributes:
268
+ bytes_type (google.cloud.bigtable_v2.types.Type.Bytes):
269
+ Deprecated: ignored if set.
270
+ """
271
+
272
+ bytes_type: "Type.Bytes" = proto.Field(
273
+ proto.MESSAGE,
274
+ number=1,
275
+ message="Type.Bytes",
276
+ )
277
+
278
+ big_endian_bytes: "Type.Int64.Encoding.BigEndianBytes" = proto.Field(
279
+ proto.MESSAGE,
280
+ number=1,
281
+ oneof="encoding",
282
+ message="Type.Int64.Encoding.BigEndianBytes",
283
+ )
284
+
285
+ encoding: "Type.Int64.Encoding" = proto.Field(
286
+ proto.MESSAGE,
287
+ number=1,
288
+ message="Type.Int64.Encoding",
289
+ )
290
+
291
+ class Bool(proto.Message):
292
+ r"""bool Values of type ``Bool`` are stored in ``Value.bool_value``."""
293
+
294
+ class Float32(proto.Message):
295
+ r"""Float32 Values of type ``Float32`` are stored in
296
+ ``Value.float_value``.
297
+
298
+ """
299
+
300
+ class Float64(proto.Message):
301
+ r"""Float64 Values of type ``Float64`` are stored in
302
+ ``Value.float_value``.
303
+
304
+ """
305
+
306
+ class Timestamp(proto.Message):
307
+ r"""Timestamp Values of type ``Timestamp`` are stored in
308
+ ``Value.timestamp_value``.
309
+
310
+ """
311
+
312
+ class Date(proto.Message):
313
+ r"""Date Values of type ``Date`` are stored in ``Value.date_value``."""
314
+
315
+ class Struct(proto.Message):
316
+ r"""A structured data value, consisting of fields which map to
317
+ dynamically typed values. Values of type ``Struct`` are stored in
318
+ ``Value.array_value`` where entries are in the same order and number
319
+ as ``field_types``.
320
+
321
+ Attributes:
322
+ fields (MutableSequence[google.cloud.bigtable_v2.types.Type.Struct.Field]):
323
+ The names and types of the fields in this
324
+ struct.
325
+ """
326
+
327
+ class Field(proto.Message):
328
+ r"""A struct field and its type.
329
+
330
+ Attributes:
331
+ field_name (str):
332
+ The field name (optional). Fields without a ``field_name``
333
+ are considered anonymous and cannot be referenced by name.
334
+ type_ (google.cloud.bigtable_v2.types.Type):
335
+ The type of values in this field.
336
+ """
337
+
338
+ field_name: str = proto.Field(
339
+ proto.STRING,
340
+ number=1,
341
+ )
342
+ type_: "Type" = proto.Field(
343
+ proto.MESSAGE,
344
+ number=2,
345
+ message="Type",
346
+ )
347
+
348
+ fields: MutableSequence["Type.Struct.Field"] = proto.RepeatedField(
349
+ proto.MESSAGE,
350
+ number=1,
351
+ message="Type.Struct.Field",
352
+ )
353
+
354
+ class Array(proto.Message):
355
+ r"""An ordered list of elements of a given type. Values of type
356
+ ``Array`` are stored in ``Value.array_value``.
357
+
358
+ Attributes:
359
+ element_type (google.cloud.bigtable_v2.types.Type):
360
+ The type of the elements in the array. This must not be
361
+ ``Array``.
362
+ """
363
+
364
+ element_type: "Type" = proto.Field(
365
+ proto.MESSAGE,
366
+ number=1,
367
+ message="Type",
368
+ )
369
+
370
+ class Map(proto.Message):
371
+ r"""A mapping of keys to values of a given type. Values of type ``Map``
372
+ are stored in a ``Value.array_value`` where each entry is another
373
+ ``Value.array_value`` with two elements (the key and the value, in
374
+ that order). Normally encoded Map values won't have repeated keys,
375
+ however, clients are expected to handle the case in which they do.
376
+ If the same key appears multiple times, the *last* value takes
377
+ precedence.
378
+
379
+ Attributes:
380
+ key_type (google.cloud.bigtable_v2.types.Type):
381
+ The type of a map key. Only ``Bytes``, ``String``, and
382
+ ``Int64`` are allowed as key types.
383
+ value_type (google.cloud.bigtable_v2.types.Type):
384
+ The type of the values in a map.
385
+ """
386
+
387
+ key_type: "Type" = proto.Field(
388
+ proto.MESSAGE,
389
+ number=1,
390
+ message="Type",
391
+ )
392
+ value_type: "Type" = proto.Field(
393
+ proto.MESSAGE,
394
+ number=2,
395
+ message="Type",
396
+ )
397
+
398
+ class Aggregate(proto.Message):
399
+ r"""A value that combines incremental updates into a summarized value.
400
+
401
+ Data is never directly written or read using type ``Aggregate``.
402
+ Writes will provide either the ``input_type`` or ``state_type``, and
403
+ reads will always return the ``state_type`` .
404
+
405
+ This message has `oneof`_ fields (mutually exclusive fields).
406
+ For each oneof, at most one member field can be set at the same time.
407
+ Setting any member of the oneof automatically clears all other
408
+ members.
409
+
410
+ .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
411
+
412
+ Attributes:
413
+ input_type (google.cloud.bigtable_v2.types.Type):
414
+ Type of the inputs that are accumulated by this
415
+ ``Aggregate``, which must specify a full encoding. Use
416
+ ``AddInput`` mutations to accumulate new inputs.
417
+ state_type (google.cloud.bigtable_v2.types.Type):
418
+ Output only. Type that holds the internal accumulator state
419
+ for the ``Aggregate``. This is a function of the
420
+ ``input_type`` and ``aggregator`` chosen, and will always
421
+ specify a full encoding.
422
+ sum (google.cloud.bigtable_v2.types.Type.Aggregate.Sum):
423
+ Sum aggregator.
424
+
425
+ This field is a member of `oneof`_ ``aggregator``.
426
+ hllpp_unique_count (google.cloud.bigtable_v2.types.Type.Aggregate.HyperLogLogPlusPlusUniqueCount):
427
+ HyperLogLogPlusPlusUniqueCount aggregator.
428
+
429
+ This field is a member of `oneof`_ ``aggregator``.
430
+ max_ (google.cloud.bigtable_v2.types.Type.Aggregate.Max):
431
+ Max aggregator.
432
+
433
+ This field is a member of `oneof`_ ``aggregator``.
434
+ min_ (google.cloud.bigtable_v2.types.Type.Aggregate.Min):
435
+ Min aggregator.
436
+
437
+ This field is a member of `oneof`_ ``aggregator``.
438
+ """
439
+
440
+ class Sum(proto.Message):
441
+ r"""Computes the sum of the input values. Allowed input: ``Int64``
442
+ State: same as input
443
+
444
+ """
445
+
446
+ class Max(proto.Message):
447
+ r"""Computes the max of the input values. Allowed input: ``Int64``
448
+ State: same as input
449
+
450
+ """
451
+
452
+ class Min(proto.Message):
453
+ r"""Computes the min of the input values. Allowed input: ``Int64``
454
+ State: same as input
455
+
456
+ """
457
+
458
+ class HyperLogLogPlusPlusUniqueCount(proto.Message):
459
+ r"""Computes an approximate unique count over the input values. When
460
+ using raw data as input, be careful to use a consistent encoding.
461
+ Otherwise the same value encoded differently could count more than
462
+ once, or two distinct values could count as identical. Input: Any,
463
+ or omit for Raw State: TBD Special state conversions: ``Int64`` (the
464
+ unique count estimate)
465
+
466
+ """
467
+
468
+ input_type: "Type" = proto.Field(
469
+ proto.MESSAGE,
470
+ number=1,
471
+ message="Type",
472
+ )
473
+ state_type: "Type" = proto.Field(
474
+ proto.MESSAGE,
475
+ number=2,
476
+ message="Type",
477
+ )
478
+ sum: "Type.Aggregate.Sum" = proto.Field(
479
+ proto.MESSAGE,
480
+ number=4,
481
+ oneof="aggregator",
482
+ message="Type.Aggregate.Sum",
483
+ )
484
+ hllpp_unique_count: "Type.Aggregate.HyperLogLogPlusPlusUniqueCount" = (
485
+ proto.Field(
486
+ proto.MESSAGE,
487
+ number=5,
488
+ oneof="aggregator",
489
+ message="Type.Aggregate.HyperLogLogPlusPlusUniqueCount",
490
+ )
491
+ )
492
+ max_: "Type.Aggregate.Max" = proto.Field(
493
+ proto.MESSAGE,
494
+ number=6,
495
+ oneof="aggregator",
496
+ message="Type.Aggregate.Max",
497
+ )
498
+ min_: "Type.Aggregate.Min" = proto.Field(
499
+ proto.MESSAGE,
500
+ number=7,
501
+ oneof="aggregator",
502
+ message="Type.Aggregate.Min",
503
+ )
504
+
505
+ bytes_type: Bytes = proto.Field(
506
+ proto.MESSAGE,
507
+ number=1,
508
+ oneof="kind",
509
+ message=Bytes,
510
+ )
511
+ string_type: String = proto.Field(
512
+ proto.MESSAGE,
513
+ number=2,
514
+ oneof="kind",
515
+ message=String,
516
+ )
517
+ int64_type: Int64 = proto.Field(
518
+ proto.MESSAGE,
519
+ number=5,
520
+ oneof="kind",
521
+ message=Int64,
522
+ )
523
+ float32_type: Float32 = proto.Field(
524
+ proto.MESSAGE,
525
+ number=12,
526
+ oneof="kind",
527
+ message=Float32,
528
+ )
529
+ float64_type: Float64 = proto.Field(
530
+ proto.MESSAGE,
531
+ number=9,
532
+ oneof="kind",
533
+ message=Float64,
534
+ )
535
+ bool_type: Bool = proto.Field(
536
+ proto.MESSAGE,
537
+ number=8,
538
+ oneof="kind",
539
+ message=Bool,
540
+ )
541
+ timestamp_type: Timestamp = proto.Field(
542
+ proto.MESSAGE,
543
+ number=10,
544
+ oneof="kind",
545
+ message=Timestamp,
546
+ )
547
+ date_type: Date = proto.Field(
548
+ proto.MESSAGE,
549
+ number=11,
550
+ oneof="kind",
551
+ message=Date,
552
+ )
553
+ aggregate_type: Aggregate = proto.Field(
554
+ proto.MESSAGE,
555
+ number=6,
556
+ oneof="kind",
557
+ message=Aggregate,
558
+ )
559
+ struct_type: Struct = proto.Field(
560
+ proto.MESSAGE,
561
+ number=7,
562
+ oneof="kind",
563
+ message=Struct,
564
+ )
565
+ array_type: Array = proto.Field(
566
+ proto.MESSAGE,
567
+ number=3,
568
+ oneof="kind",
569
+ message=Array,
570
+ )
571
+ map_type: Map = proto.Field(
572
+ proto.MESSAGE,
573
+ number=4,
574
+ oneof="kind",
575
+ message=Map,
576
+ )
577
+
578
+
579
+ __all__ = tuple(sorted(__protobuf__.manifest))