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.
- google/cloud/bigtable/__init__.py +25 -0
- google/cloud/bigtable/app_profile.py +377 -0
- google/cloud/bigtable/backup.py +490 -0
- google/cloud/bigtable/batcher.py +414 -0
- google/cloud/bigtable/client.py +475 -0
- google/cloud/bigtable/cluster.py +541 -0
- google/cloud/bigtable/column_family.py +362 -0
- google/cloud/bigtable/data/__init__.py +103 -0
- google/cloud/bigtable/data/_async/__init__.py +25 -0
- google/cloud/bigtable/data/_async/_mutate_rows.py +226 -0
- google/cloud/bigtable/data/_async/_read_rows.py +363 -0
- google/cloud/bigtable/data/_async/client.py +1522 -0
- google/cloud/bigtable/data/_async/mutations_batcher.py +534 -0
- google/cloud/bigtable/data/_cross_sync/__init__.py +20 -0
- google/cloud/bigtable/data/_cross_sync/_decorators.py +441 -0
- google/cloud/bigtable/data/_cross_sync/_mapping_meta.py +64 -0
- google/cloud/bigtable/data/_cross_sync/cross_sync.py +334 -0
- google/cloud/bigtable/data/_helpers.py +249 -0
- google/cloud/bigtable/data/_sync_autogen/_mutate_rows.py +182 -0
- google/cloud/bigtable/data/_sync_autogen/_read_rows.py +304 -0
- google/cloud/bigtable/data/_sync_autogen/client.py +1293 -0
- google/cloud/bigtable/data/_sync_autogen/mutations_batcher.py +449 -0
- google/cloud/bigtable/data/exceptions.py +340 -0
- google/cloud/bigtable/data/execute_query/__init__.py +43 -0
- google/cloud/bigtable/data/execute_query/_async/__init__.py +13 -0
- google/cloud/bigtable/data/execute_query/_async/execute_query_iterator.py +291 -0
- google/cloud/bigtable/data/execute_query/_byte_cursor.py +123 -0
- google/cloud/bigtable/data/execute_query/_checksum.py +43 -0
- google/cloud/bigtable/data/execute_query/_parameters_formatting.py +155 -0
- google/cloud/bigtable/data/execute_query/_query_result_parsing_utils.py +134 -0
- google/cloud/bigtable/data/execute_query/_reader.py +122 -0
- google/cloud/bigtable/data/execute_query/_sync_autogen/execute_query_iterator.py +239 -0
- google/cloud/bigtable/data/execute_query/metadata.py +399 -0
- google/cloud/bigtable/data/execute_query/values.py +123 -0
- google/cloud/bigtable/data/mutations.py +380 -0
- google/cloud/bigtable/data/read_modify_write_rules.py +112 -0
- google/cloud/bigtable/data/read_rows_query.py +536 -0
- google/cloud/bigtable/data/row.py +535 -0
- google/cloud/bigtable/data/row_filters.py +968 -0
- google/cloud/bigtable/encryption_info.py +64 -0
- google/cloud/bigtable/enums.py +223 -0
- google/cloud/bigtable/error.py +64 -0
- google/cloud/bigtable/gapic_version.py +16 -0
- google/cloud/bigtable/helpers.py +31 -0
- google/cloud/bigtable/instance.py +789 -0
- google/cloud/bigtable/policy.py +255 -0
- google/cloud/bigtable/row.py +1267 -0
- google/cloud/bigtable/row_data.py +380 -0
- google/cloud/bigtable/row_filters.py +838 -0
- google/cloud/bigtable/row_merger.py +250 -0
- google/cloud/bigtable/row_set.py +213 -0
- google/cloud/bigtable/table.py +1409 -0
- google/cloud/bigtable_admin/__init__.py +410 -0
- google/cloud/bigtable_admin/gapic_version.py +16 -0
- google/cloud/bigtable_admin/py.typed +2 -0
- google/cloud/bigtable_admin_v2/__init__.py +250 -0
- google/cloud/bigtable_admin_v2/gapic_metadata.json +962 -0
- google/cloud/bigtable_admin_v2/gapic_version.py +16 -0
- google/cloud/bigtable_admin_v2/py.typed +2 -0
- google/cloud/bigtable_admin_v2/services/__init__.py +15 -0
- google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/__init__.py +22 -0
- google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/async_client.py +3465 -0
- google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/client.py +3944 -0
- google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/pagers.py +681 -0
- google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/__init__.py +40 -0
- google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/base.py +751 -0
- google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/grpc.py +1249 -0
- google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/grpc_asyncio.py +1579 -0
- google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/rest.py +6820 -0
- google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/rest_base.py +1746 -0
- google/cloud/bigtable_admin_v2/services/bigtable_table_admin/__init__.py +22 -0
- google/cloud/bigtable_admin_v2/services/bigtable_table_admin/async_client.py +3472 -0
- google/cloud/bigtable_admin_v2/services/bigtable_table_admin/client.py +3949 -0
- google/cloud/bigtable_admin_v2/services/bigtable_table_admin/pagers.py +669 -0
- google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/__init__.py +40 -0
- google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/base.py +708 -0
- google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/grpc.py +1257 -0
- google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/grpc_asyncio.py +1549 -0
- google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/rest.py +6609 -0
- google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/rest_base.py +1714 -0
- google/cloud/bigtable_admin_v2/types/__init__.py +248 -0
- google/cloud/bigtable_admin_v2/types/bigtable_instance_admin.py +1364 -0
- google/cloud/bigtable_admin_v2/types/bigtable_table_admin.py +1715 -0
- google/cloud/bigtable_admin_v2/types/common.py +81 -0
- google/cloud/bigtable_admin_v2/types/instance.py +819 -0
- google/cloud/bigtable_admin_v2/types/table.py +1028 -0
- google/cloud/bigtable_admin_v2/types/types.py +776 -0
- google/cloud/bigtable_v2/__init__.py +136 -0
- google/cloud/bigtable_v2/gapic_metadata.json +193 -0
- google/cloud/bigtable_v2/gapic_version.py +16 -0
- google/cloud/bigtable_v2/py.typed +2 -0
- google/cloud/bigtable_v2/services/__init__.py +15 -0
- google/cloud/bigtable_v2/services/bigtable/__init__.py +22 -0
- google/cloud/bigtable_v2/services/bigtable/async_client.py +1741 -0
- google/cloud/bigtable_v2/services/bigtable/client.py +2194 -0
- google/cloud/bigtable_v2/services/bigtable/transports/__init__.py +38 -0
- google/cloud/bigtable_v2/services/bigtable/transports/base.py +343 -0
- google/cloud/bigtable_v2/services/bigtable/transports/grpc.py +660 -0
- google/cloud/bigtable_v2/services/bigtable/transports/grpc_asyncio.py +762 -0
- google/cloud/bigtable_v2/services/bigtable/transports/rest.py +2489 -0
- google/cloud/bigtable_v2/services/bigtable/transports/rest_base.py +711 -0
- google/cloud/bigtable_v2/types/__init__.py +138 -0
- google/cloud/bigtable_v2/types/bigtable.py +1531 -0
- google/cloud/bigtable_v2/types/data.py +1612 -0
- google/cloud/bigtable_v2/types/feature_flags.py +119 -0
- google/cloud/bigtable_v2/types/request_stats.py +171 -0
- google/cloud/bigtable_v2/types/response_params.py +64 -0
- google/cloud/bigtable_v2/types/types.py +579 -0
- google_cloud_bigtable-2.30.0.data/scripts/fixup_bigtable_admin_v2_keywords.py +233 -0
- google_cloud_bigtable-2.30.0.data/scripts/fixup_bigtable_v2_keywords.py +186 -0
- google_cloud_bigtable-2.30.0.dist-info/LICENSE +202 -0
- google_cloud_bigtable-2.30.0.dist-info/METADATA +154 -0
- google_cloud_bigtable-2.30.0.dist-info/RECORD +115 -0
- google_cloud_bigtable-2.30.0.dist-info/WHEEL +5 -0
- google_cloud_bigtable-2.30.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,819 @@
|
|
|
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
|
+
from google.cloud.bigtable_admin_v2.types import common
|
|
23
|
+
from google.protobuf import timestamp_pb2 # type: ignore
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
__protobuf__ = proto.module(
|
|
27
|
+
package="google.bigtable.admin.v2",
|
|
28
|
+
manifest={
|
|
29
|
+
"Instance",
|
|
30
|
+
"AutoscalingTargets",
|
|
31
|
+
"AutoscalingLimits",
|
|
32
|
+
"Cluster",
|
|
33
|
+
"AppProfile",
|
|
34
|
+
"HotTablet",
|
|
35
|
+
"LogicalView",
|
|
36
|
+
"MaterializedView",
|
|
37
|
+
},
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class Instance(proto.Message):
|
|
42
|
+
r"""A collection of Bigtable [Tables][google.bigtable.admin.v2.Table]
|
|
43
|
+
and the resources that serve them. All tables in an instance are
|
|
44
|
+
served from all [Clusters][google.bigtable.admin.v2.Cluster] in the
|
|
45
|
+
instance.
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
|
|
49
|
+
|
|
50
|
+
Attributes:
|
|
51
|
+
name (str):
|
|
52
|
+
The unique name of the instance. Values are of the form
|
|
53
|
+
``projects/{project}/instances/[a-z][a-z0-9\\-]+[a-z0-9]``.
|
|
54
|
+
display_name (str):
|
|
55
|
+
Required. The descriptive name for this
|
|
56
|
+
instance as it appears in UIs. Can be changed at
|
|
57
|
+
any time, but should be kept globally unique to
|
|
58
|
+
avoid confusion.
|
|
59
|
+
state (google.cloud.bigtable_admin_v2.types.Instance.State):
|
|
60
|
+
Output only. The current state of the
|
|
61
|
+
instance.
|
|
62
|
+
type_ (google.cloud.bigtable_admin_v2.types.Instance.Type):
|
|
63
|
+
The type of the instance. Defaults to ``PRODUCTION``.
|
|
64
|
+
labels (MutableMapping[str, str]):
|
|
65
|
+
Labels are a flexible and lightweight mechanism for
|
|
66
|
+
organizing cloud resources into groups that reflect a
|
|
67
|
+
customer's organizational needs and deployment strategies.
|
|
68
|
+
They can be used to filter resources and aggregate metrics.
|
|
69
|
+
|
|
70
|
+
- Label keys must be between 1 and 63 characters long and
|
|
71
|
+
must conform to the regular expression:
|
|
72
|
+
``[\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}``.
|
|
73
|
+
- Label values must be between 0 and 63 characters long and
|
|
74
|
+
must conform to the regular expression:
|
|
75
|
+
``[\p{Ll}\p{Lo}\p{N}_-]{0,63}``.
|
|
76
|
+
- No more than 64 labels can be associated with a given
|
|
77
|
+
resource.
|
|
78
|
+
- Keys and values must both be under 128 bytes.
|
|
79
|
+
create_time (google.protobuf.timestamp_pb2.Timestamp):
|
|
80
|
+
Output only. A commit timestamp representing when this
|
|
81
|
+
Instance was created. For instances created before this
|
|
82
|
+
field was added (August 2021), this value is
|
|
83
|
+
``seconds: 0, nanos: 1``.
|
|
84
|
+
satisfies_pzs (bool):
|
|
85
|
+
Output only. Reserved for future use.
|
|
86
|
+
|
|
87
|
+
This field is a member of `oneof`_ ``_satisfies_pzs``.
|
|
88
|
+
satisfies_pzi (bool):
|
|
89
|
+
Output only. Reserved for future use.
|
|
90
|
+
|
|
91
|
+
This field is a member of `oneof`_ ``_satisfies_pzi``.
|
|
92
|
+
"""
|
|
93
|
+
|
|
94
|
+
class State(proto.Enum):
|
|
95
|
+
r"""Possible states of an instance.
|
|
96
|
+
|
|
97
|
+
Values:
|
|
98
|
+
STATE_NOT_KNOWN (0):
|
|
99
|
+
The state of the instance could not be
|
|
100
|
+
determined.
|
|
101
|
+
READY (1):
|
|
102
|
+
The instance has been successfully created
|
|
103
|
+
and can serve requests to its tables.
|
|
104
|
+
CREATING (2):
|
|
105
|
+
The instance is currently being created, and
|
|
106
|
+
may be destroyed if the creation process
|
|
107
|
+
encounters an error.
|
|
108
|
+
"""
|
|
109
|
+
STATE_NOT_KNOWN = 0
|
|
110
|
+
READY = 1
|
|
111
|
+
CREATING = 2
|
|
112
|
+
|
|
113
|
+
class Type(proto.Enum):
|
|
114
|
+
r"""The type of the instance.
|
|
115
|
+
|
|
116
|
+
Values:
|
|
117
|
+
TYPE_UNSPECIFIED (0):
|
|
118
|
+
The type of the instance is unspecified. If set when
|
|
119
|
+
creating an instance, a ``PRODUCTION`` instance will be
|
|
120
|
+
created. If set when updating an instance, the type will be
|
|
121
|
+
left unchanged.
|
|
122
|
+
PRODUCTION (1):
|
|
123
|
+
An instance meant for production use. ``serve_nodes`` must
|
|
124
|
+
be set on the cluster.
|
|
125
|
+
DEVELOPMENT (2):
|
|
126
|
+
DEPRECATED: Prefer PRODUCTION for all use
|
|
127
|
+
cases, as it no longer enforces a higher minimum
|
|
128
|
+
node count than DEVELOPMENT.
|
|
129
|
+
"""
|
|
130
|
+
TYPE_UNSPECIFIED = 0
|
|
131
|
+
PRODUCTION = 1
|
|
132
|
+
DEVELOPMENT = 2
|
|
133
|
+
|
|
134
|
+
name: str = proto.Field(
|
|
135
|
+
proto.STRING,
|
|
136
|
+
number=1,
|
|
137
|
+
)
|
|
138
|
+
display_name: str = proto.Field(
|
|
139
|
+
proto.STRING,
|
|
140
|
+
number=2,
|
|
141
|
+
)
|
|
142
|
+
state: State = proto.Field(
|
|
143
|
+
proto.ENUM,
|
|
144
|
+
number=3,
|
|
145
|
+
enum=State,
|
|
146
|
+
)
|
|
147
|
+
type_: Type = proto.Field(
|
|
148
|
+
proto.ENUM,
|
|
149
|
+
number=4,
|
|
150
|
+
enum=Type,
|
|
151
|
+
)
|
|
152
|
+
labels: MutableMapping[str, str] = proto.MapField(
|
|
153
|
+
proto.STRING,
|
|
154
|
+
proto.STRING,
|
|
155
|
+
number=5,
|
|
156
|
+
)
|
|
157
|
+
create_time: timestamp_pb2.Timestamp = proto.Field(
|
|
158
|
+
proto.MESSAGE,
|
|
159
|
+
number=7,
|
|
160
|
+
message=timestamp_pb2.Timestamp,
|
|
161
|
+
)
|
|
162
|
+
satisfies_pzs: bool = proto.Field(
|
|
163
|
+
proto.BOOL,
|
|
164
|
+
number=8,
|
|
165
|
+
optional=True,
|
|
166
|
+
)
|
|
167
|
+
satisfies_pzi: bool = proto.Field(
|
|
168
|
+
proto.BOOL,
|
|
169
|
+
number=11,
|
|
170
|
+
optional=True,
|
|
171
|
+
)
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
class AutoscalingTargets(proto.Message):
|
|
175
|
+
r"""The Autoscaling targets for a Cluster. These determine the
|
|
176
|
+
recommended nodes.
|
|
177
|
+
|
|
178
|
+
Attributes:
|
|
179
|
+
cpu_utilization_percent (int):
|
|
180
|
+
The cpu utilization that the Autoscaler should be trying to
|
|
181
|
+
achieve. This number is on a scale from 0 (no utilization)
|
|
182
|
+
to 100 (total utilization), and is limited between 10 and
|
|
183
|
+
80, otherwise it will return INVALID_ARGUMENT error.
|
|
184
|
+
storage_utilization_gib_per_node (int):
|
|
185
|
+
The storage utilization that the Autoscaler should be trying
|
|
186
|
+
to achieve. This number is limited between 2560 (2.5TiB) and
|
|
187
|
+
5120 (5TiB) for a SSD cluster and between 8192 (8TiB) and
|
|
188
|
+
16384 (16TiB) for an HDD cluster, otherwise it will return
|
|
189
|
+
INVALID_ARGUMENT error. If this value is set to 0, it will
|
|
190
|
+
be treated as if it were set to the default value: 2560 for
|
|
191
|
+
SSD, 8192 for HDD.
|
|
192
|
+
"""
|
|
193
|
+
|
|
194
|
+
cpu_utilization_percent: int = proto.Field(
|
|
195
|
+
proto.INT32,
|
|
196
|
+
number=2,
|
|
197
|
+
)
|
|
198
|
+
storage_utilization_gib_per_node: int = proto.Field(
|
|
199
|
+
proto.INT32,
|
|
200
|
+
number=3,
|
|
201
|
+
)
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
class AutoscalingLimits(proto.Message):
|
|
205
|
+
r"""Limits for the number of nodes a Cluster can autoscale
|
|
206
|
+
up/down to.
|
|
207
|
+
|
|
208
|
+
Attributes:
|
|
209
|
+
min_serve_nodes (int):
|
|
210
|
+
Required. Minimum number of nodes to scale
|
|
211
|
+
down to.
|
|
212
|
+
max_serve_nodes (int):
|
|
213
|
+
Required. Maximum number of nodes to scale up
|
|
214
|
+
to.
|
|
215
|
+
"""
|
|
216
|
+
|
|
217
|
+
min_serve_nodes: int = proto.Field(
|
|
218
|
+
proto.INT32,
|
|
219
|
+
number=1,
|
|
220
|
+
)
|
|
221
|
+
max_serve_nodes: int = proto.Field(
|
|
222
|
+
proto.INT32,
|
|
223
|
+
number=2,
|
|
224
|
+
)
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
class Cluster(proto.Message):
|
|
228
|
+
r"""A resizable group of nodes in a particular cloud location, capable
|
|
229
|
+
of serving all [Tables][google.bigtable.admin.v2.Table] in the
|
|
230
|
+
parent [Instance][google.bigtable.admin.v2.Instance].
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
|
|
234
|
+
|
|
235
|
+
Attributes:
|
|
236
|
+
name (str):
|
|
237
|
+
The unique name of the cluster. Values are of the form
|
|
238
|
+
``projects/{project}/instances/{instance}/clusters/[a-z][-a-z0-9]*``.
|
|
239
|
+
location (str):
|
|
240
|
+
Immutable. The location where this cluster's nodes and
|
|
241
|
+
storage reside. For best performance, clients should be
|
|
242
|
+
located as close as possible to this cluster. Currently only
|
|
243
|
+
zones are supported, so values should be of the form
|
|
244
|
+
``projects/{project}/locations/{zone}``.
|
|
245
|
+
state (google.cloud.bigtable_admin_v2.types.Cluster.State):
|
|
246
|
+
Output only. The current state of the
|
|
247
|
+
cluster.
|
|
248
|
+
serve_nodes (int):
|
|
249
|
+
The number of nodes in the cluster. If no
|
|
250
|
+
value is set, Cloud Bigtable automatically
|
|
251
|
+
allocates nodes based on your data footprint and
|
|
252
|
+
optimized for 50% storage utilization.
|
|
253
|
+
node_scaling_factor (google.cloud.bigtable_admin_v2.types.Cluster.NodeScalingFactor):
|
|
254
|
+
Immutable. The node scaling factor of this
|
|
255
|
+
cluster.
|
|
256
|
+
cluster_config (google.cloud.bigtable_admin_v2.types.Cluster.ClusterConfig):
|
|
257
|
+
Configuration for this cluster.
|
|
258
|
+
|
|
259
|
+
This field is a member of `oneof`_ ``config``.
|
|
260
|
+
default_storage_type (google.cloud.bigtable_admin_v2.types.StorageType):
|
|
261
|
+
Immutable. The type of storage used by this
|
|
262
|
+
cluster to serve its parent instance's tables,
|
|
263
|
+
unless explicitly overridden.
|
|
264
|
+
encryption_config (google.cloud.bigtable_admin_v2.types.Cluster.EncryptionConfig):
|
|
265
|
+
Immutable. The encryption configuration for
|
|
266
|
+
CMEK-protected clusters.
|
|
267
|
+
"""
|
|
268
|
+
|
|
269
|
+
class State(proto.Enum):
|
|
270
|
+
r"""Possible states of a cluster.
|
|
271
|
+
|
|
272
|
+
Values:
|
|
273
|
+
STATE_NOT_KNOWN (0):
|
|
274
|
+
The state of the cluster could not be
|
|
275
|
+
determined.
|
|
276
|
+
READY (1):
|
|
277
|
+
The cluster has been successfully created and
|
|
278
|
+
is ready to serve requests.
|
|
279
|
+
CREATING (2):
|
|
280
|
+
The cluster is currently being created, and
|
|
281
|
+
may be destroyed if the creation process
|
|
282
|
+
encounters an error. A cluster may not be able
|
|
283
|
+
to serve requests while being created.
|
|
284
|
+
RESIZING (3):
|
|
285
|
+
The cluster is currently being resized, and
|
|
286
|
+
may revert to its previous node count if the
|
|
287
|
+
process encounters an error. A cluster is still
|
|
288
|
+
capable of serving requests while being resized,
|
|
289
|
+
but may exhibit performance as if its number of
|
|
290
|
+
allocated nodes is between the starting and
|
|
291
|
+
requested states.
|
|
292
|
+
DISABLED (4):
|
|
293
|
+
The cluster has no backing nodes. The data
|
|
294
|
+
(tables) still exist, but no operations can be
|
|
295
|
+
performed on the cluster.
|
|
296
|
+
"""
|
|
297
|
+
STATE_NOT_KNOWN = 0
|
|
298
|
+
READY = 1
|
|
299
|
+
CREATING = 2
|
|
300
|
+
RESIZING = 3
|
|
301
|
+
DISABLED = 4
|
|
302
|
+
|
|
303
|
+
class NodeScalingFactor(proto.Enum):
|
|
304
|
+
r"""Possible node scaling factors of the clusters. Node scaling
|
|
305
|
+
delivers better latency and more throughput by removing node
|
|
306
|
+
boundaries.
|
|
307
|
+
|
|
308
|
+
Values:
|
|
309
|
+
NODE_SCALING_FACTOR_UNSPECIFIED (0):
|
|
310
|
+
No node scaling specified. Defaults to
|
|
311
|
+
NODE_SCALING_FACTOR_1X.
|
|
312
|
+
NODE_SCALING_FACTOR_1X (1):
|
|
313
|
+
The cluster is running with a scaling factor
|
|
314
|
+
of 1.
|
|
315
|
+
NODE_SCALING_FACTOR_2X (2):
|
|
316
|
+
The cluster is running with a scaling factor of 2. All node
|
|
317
|
+
count values must be in increments of 2 with this scaling
|
|
318
|
+
factor enabled, otherwise an INVALID_ARGUMENT error will be
|
|
319
|
+
returned.
|
|
320
|
+
"""
|
|
321
|
+
NODE_SCALING_FACTOR_UNSPECIFIED = 0
|
|
322
|
+
NODE_SCALING_FACTOR_1X = 1
|
|
323
|
+
NODE_SCALING_FACTOR_2X = 2
|
|
324
|
+
|
|
325
|
+
class ClusterAutoscalingConfig(proto.Message):
|
|
326
|
+
r"""Autoscaling config for a cluster.
|
|
327
|
+
|
|
328
|
+
Attributes:
|
|
329
|
+
autoscaling_limits (google.cloud.bigtable_admin_v2.types.AutoscalingLimits):
|
|
330
|
+
Required. Autoscaling limits for this
|
|
331
|
+
cluster.
|
|
332
|
+
autoscaling_targets (google.cloud.bigtable_admin_v2.types.AutoscalingTargets):
|
|
333
|
+
Required. Autoscaling targets for this
|
|
334
|
+
cluster.
|
|
335
|
+
"""
|
|
336
|
+
|
|
337
|
+
autoscaling_limits: "AutoscalingLimits" = proto.Field(
|
|
338
|
+
proto.MESSAGE,
|
|
339
|
+
number=1,
|
|
340
|
+
message="AutoscalingLimits",
|
|
341
|
+
)
|
|
342
|
+
autoscaling_targets: "AutoscalingTargets" = proto.Field(
|
|
343
|
+
proto.MESSAGE,
|
|
344
|
+
number=2,
|
|
345
|
+
message="AutoscalingTargets",
|
|
346
|
+
)
|
|
347
|
+
|
|
348
|
+
class ClusterConfig(proto.Message):
|
|
349
|
+
r"""Configuration for a cluster.
|
|
350
|
+
|
|
351
|
+
Attributes:
|
|
352
|
+
cluster_autoscaling_config (google.cloud.bigtable_admin_v2.types.Cluster.ClusterAutoscalingConfig):
|
|
353
|
+
Autoscaling configuration for this cluster.
|
|
354
|
+
"""
|
|
355
|
+
|
|
356
|
+
cluster_autoscaling_config: "Cluster.ClusterAutoscalingConfig" = proto.Field(
|
|
357
|
+
proto.MESSAGE,
|
|
358
|
+
number=1,
|
|
359
|
+
message="Cluster.ClusterAutoscalingConfig",
|
|
360
|
+
)
|
|
361
|
+
|
|
362
|
+
class EncryptionConfig(proto.Message):
|
|
363
|
+
r"""Cloud Key Management Service (Cloud KMS) settings for a
|
|
364
|
+
CMEK-protected cluster.
|
|
365
|
+
|
|
366
|
+
Attributes:
|
|
367
|
+
kms_key_name (str):
|
|
368
|
+
Describes the Cloud KMS encryption key that will be used to
|
|
369
|
+
protect the destination Bigtable cluster. The requirements
|
|
370
|
+
for this key are:
|
|
371
|
+
|
|
372
|
+
1) The Cloud Bigtable service account associated with the
|
|
373
|
+
project that contains this cluster must be granted the
|
|
374
|
+
``cloudkms.cryptoKeyEncrypterDecrypter`` role on the CMEK
|
|
375
|
+
key.
|
|
376
|
+
2) Only regional keys can be used and the region of the CMEK
|
|
377
|
+
key must match the region of the cluster. Values are of
|
|
378
|
+
the form
|
|
379
|
+
``projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}``
|
|
380
|
+
"""
|
|
381
|
+
|
|
382
|
+
kms_key_name: str = proto.Field(
|
|
383
|
+
proto.STRING,
|
|
384
|
+
number=1,
|
|
385
|
+
)
|
|
386
|
+
|
|
387
|
+
name: str = proto.Field(
|
|
388
|
+
proto.STRING,
|
|
389
|
+
number=1,
|
|
390
|
+
)
|
|
391
|
+
location: str = proto.Field(
|
|
392
|
+
proto.STRING,
|
|
393
|
+
number=2,
|
|
394
|
+
)
|
|
395
|
+
state: State = proto.Field(
|
|
396
|
+
proto.ENUM,
|
|
397
|
+
number=3,
|
|
398
|
+
enum=State,
|
|
399
|
+
)
|
|
400
|
+
serve_nodes: int = proto.Field(
|
|
401
|
+
proto.INT32,
|
|
402
|
+
number=4,
|
|
403
|
+
)
|
|
404
|
+
node_scaling_factor: NodeScalingFactor = proto.Field(
|
|
405
|
+
proto.ENUM,
|
|
406
|
+
number=9,
|
|
407
|
+
enum=NodeScalingFactor,
|
|
408
|
+
)
|
|
409
|
+
cluster_config: ClusterConfig = proto.Field(
|
|
410
|
+
proto.MESSAGE,
|
|
411
|
+
number=7,
|
|
412
|
+
oneof="config",
|
|
413
|
+
message=ClusterConfig,
|
|
414
|
+
)
|
|
415
|
+
default_storage_type: common.StorageType = proto.Field(
|
|
416
|
+
proto.ENUM,
|
|
417
|
+
number=5,
|
|
418
|
+
enum=common.StorageType,
|
|
419
|
+
)
|
|
420
|
+
encryption_config: EncryptionConfig = proto.Field(
|
|
421
|
+
proto.MESSAGE,
|
|
422
|
+
number=6,
|
|
423
|
+
message=EncryptionConfig,
|
|
424
|
+
)
|
|
425
|
+
|
|
426
|
+
|
|
427
|
+
class AppProfile(proto.Message):
|
|
428
|
+
r"""A configuration object describing how Cloud Bigtable should
|
|
429
|
+
treat traffic from a particular end user application.
|
|
430
|
+
|
|
431
|
+
This message has `oneof`_ fields (mutually exclusive fields).
|
|
432
|
+
For each oneof, at most one member field can be set at the same time.
|
|
433
|
+
Setting any member of the oneof automatically clears all other
|
|
434
|
+
members.
|
|
435
|
+
|
|
436
|
+
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
|
|
437
|
+
|
|
438
|
+
Attributes:
|
|
439
|
+
name (str):
|
|
440
|
+
The unique name of the app profile. Values are of the form
|
|
441
|
+
``projects/{project}/instances/{instance}/appProfiles/[_a-zA-Z0-9][-_.a-zA-Z0-9]*``.
|
|
442
|
+
etag (str):
|
|
443
|
+
Strongly validated etag for optimistic concurrency control.
|
|
444
|
+
Preserve the value returned from ``GetAppProfile`` when
|
|
445
|
+
calling ``UpdateAppProfile`` to fail the request if there
|
|
446
|
+
has been a modification in the mean time. The
|
|
447
|
+
``update_mask`` of the request need not include ``etag`` for
|
|
448
|
+
this protection to apply. See
|
|
449
|
+
`Wikipedia <https://en.wikipedia.org/wiki/HTTP_ETag>`__ and
|
|
450
|
+
`RFC
|
|
451
|
+
7232 <https://tools.ietf.org/html/rfc7232#section-2.3>`__
|
|
452
|
+
for more details.
|
|
453
|
+
description (str):
|
|
454
|
+
Long form description of the use case for
|
|
455
|
+
this AppProfile.
|
|
456
|
+
multi_cluster_routing_use_any (google.cloud.bigtable_admin_v2.types.AppProfile.MultiClusterRoutingUseAny):
|
|
457
|
+
Use a multi-cluster routing policy.
|
|
458
|
+
|
|
459
|
+
This field is a member of `oneof`_ ``routing_policy``.
|
|
460
|
+
single_cluster_routing (google.cloud.bigtable_admin_v2.types.AppProfile.SingleClusterRouting):
|
|
461
|
+
Use a single-cluster routing policy.
|
|
462
|
+
|
|
463
|
+
This field is a member of `oneof`_ ``routing_policy``.
|
|
464
|
+
priority (google.cloud.bigtable_admin_v2.types.AppProfile.Priority):
|
|
465
|
+
This field has been deprecated in favor of
|
|
466
|
+
``standard_isolation.priority``. If you set this field,
|
|
467
|
+
``standard_isolation.priority`` will be set instead.
|
|
468
|
+
|
|
469
|
+
The priority of requests sent using this app profile.
|
|
470
|
+
|
|
471
|
+
This field is a member of `oneof`_ ``isolation``.
|
|
472
|
+
standard_isolation (google.cloud.bigtable_admin_v2.types.AppProfile.StandardIsolation):
|
|
473
|
+
The standard options used for isolating this
|
|
474
|
+
app profile's traffic from other use cases.
|
|
475
|
+
|
|
476
|
+
This field is a member of `oneof`_ ``isolation``.
|
|
477
|
+
data_boost_isolation_read_only (google.cloud.bigtable_admin_v2.types.AppProfile.DataBoostIsolationReadOnly):
|
|
478
|
+
Specifies that this app profile is intended
|
|
479
|
+
for read-only usage via the Data Boost feature.
|
|
480
|
+
|
|
481
|
+
This field is a member of `oneof`_ ``isolation``.
|
|
482
|
+
"""
|
|
483
|
+
|
|
484
|
+
class Priority(proto.Enum):
|
|
485
|
+
r"""Possible priorities for an app profile. Note that higher
|
|
486
|
+
priority writes can sometimes queue behind lower priority writes
|
|
487
|
+
to the same tablet, as writes must be strictly sequenced in the
|
|
488
|
+
durability log.
|
|
489
|
+
|
|
490
|
+
Values:
|
|
491
|
+
PRIORITY_UNSPECIFIED (0):
|
|
492
|
+
Default value. Mapped to PRIORITY_HIGH (the legacy behavior)
|
|
493
|
+
on creation.
|
|
494
|
+
PRIORITY_LOW (1):
|
|
495
|
+
No description available.
|
|
496
|
+
PRIORITY_MEDIUM (2):
|
|
497
|
+
No description available.
|
|
498
|
+
PRIORITY_HIGH (3):
|
|
499
|
+
No description available.
|
|
500
|
+
"""
|
|
501
|
+
PRIORITY_UNSPECIFIED = 0
|
|
502
|
+
PRIORITY_LOW = 1
|
|
503
|
+
PRIORITY_MEDIUM = 2
|
|
504
|
+
PRIORITY_HIGH = 3
|
|
505
|
+
|
|
506
|
+
class MultiClusterRoutingUseAny(proto.Message):
|
|
507
|
+
r"""Read/write requests are routed to the nearest cluster in the
|
|
508
|
+
instance, and will fail over to the nearest cluster that is
|
|
509
|
+
available in the event of transient errors or delays. Clusters
|
|
510
|
+
in a region are considered equidistant. Choosing this option
|
|
511
|
+
sacrifices read-your-writes consistency to improve availability.
|
|
512
|
+
|
|
513
|
+
|
|
514
|
+
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
|
|
515
|
+
|
|
516
|
+
Attributes:
|
|
517
|
+
cluster_ids (MutableSequence[str]):
|
|
518
|
+
The set of clusters to route to. The order is
|
|
519
|
+
ignored; clusters will be tried in order of
|
|
520
|
+
distance. If left empty, all clusters are
|
|
521
|
+
eligible.
|
|
522
|
+
row_affinity (google.cloud.bigtable_admin_v2.types.AppProfile.MultiClusterRoutingUseAny.RowAffinity):
|
|
523
|
+
Row affinity sticky routing based on the row
|
|
524
|
+
key of the request. Requests that span multiple
|
|
525
|
+
rows are routed non-deterministically.
|
|
526
|
+
|
|
527
|
+
This field is a member of `oneof`_ ``affinity``.
|
|
528
|
+
"""
|
|
529
|
+
|
|
530
|
+
class RowAffinity(proto.Message):
|
|
531
|
+
r"""If enabled, Bigtable will route the request based on the row
|
|
532
|
+
key of the request, rather than randomly. Instead, each row key
|
|
533
|
+
will be assigned to a cluster, and will stick to that cluster.
|
|
534
|
+
If clusters are added or removed, then this may affect which row
|
|
535
|
+
keys stick to which clusters. To avoid this, users can use a
|
|
536
|
+
cluster group to specify which clusters are to be used. In this
|
|
537
|
+
case, new clusters that are not a part of the cluster group will
|
|
538
|
+
not be routed to, and routing will be unaffected by the new
|
|
539
|
+
cluster. Moreover, clusters specified in the cluster group
|
|
540
|
+
cannot be deleted unless removed from the cluster group.
|
|
541
|
+
|
|
542
|
+
"""
|
|
543
|
+
|
|
544
|
+
cluster_ids: MutableSequence[str] = proto.RepeatedField(
|
|
545
|
+
proto.STRING,
|
|
546
|
+
number=1,
|
|
547
|
+
)
|
|
548
|
+
row_affinity: "AppProfile.MultiClusterRoutingUseAny.RowAffinity" = proto.Field(
|
|
549
|
+
proto.MESSAGE,
|
|
550
|
+
number=3,
|
|
551
|
+
oneof="affinity",
|
|
552
|
+
message="AppProfile.MultiClusterRoutingUseAny.RowAffinity",
|
|
553
|
+
)
|
|
554
|
+
|
|
555
|
+
class SingleClusterRouting(proto.Message):
|
|
556
|
+
r"""Unconditionally routes all read/write requests to a specific
|
|
557
|
+
cluster. This option preserves read-your-writes consistency but
|
|
558
|
+
does not improve availability.
|
|
559
|
+
|
|
560
|
+
Attributes:
|
|
561
|
+
cluster_id (str):
|
|
562
|
+
The cluster to which read/write requests
|
|
563
|
+
should be routed.
|
|
564
|
+
allow_transactional_writes (bool):
|
|
565
|
+
Whether or not ``CheckAndMutateRow`` and
|
|
566
|
+
``ReadModifyWriteRow`` requests are allowed by this app
|
|
567
|
+
profile. It is unsafe to send these requests to the same
|
|
568
|
+
table/row/column in multiple clusters.
|
|
569
|
+
"""
|
|
570
|
+
|
|
571
|
+
cluster_id: str = proto.Field(
|
|
572
|
+
proto.STRING,
|
|
573
|
+
number=1,
|
|
574
|
+
)
|
|
575
|
+
allow_transactional_writes: bool = proto.Field(
|
|
576
|
+
proto.BOOL,
|
|
577
|
+
number=2,
|
|
578
|
+
)
|
|
579
|
+
|
|
580
|
+
class StandardIsolation(proto.Message):
|
|
581
|
+
r"""Standard options for isolating this app profile's traffic
|
|
582
|
+
from other use cases.
|
|
583
|
+
|
|
584
|
+
Attributes:
|
|
585
|
+
priority (google.cloud.bigtable_admin_v2.types.AppProfile.Priority):
|
|
586
|
+
The priority of requests sent using this app
|
|
587
|
+
profile.
|
|
588
|
+
"""
|
|
589
|
+
|
|
590
|
+
priority: "AppProfile.Priority" = proto.Field(
|
|
591
|
+
proto.ENUM,
|
|
592
|
+
number=1,
|
|
593
|
+
enum="AppProfile.Priority",
|
|
594
|
+
)
|
|
595
|
+
|
|
596
|
+
class DataBoostIsolationReadOnly(proto.Message):
|
|
597
|
+
r"""Data Boost is a serverless compute capability that lets you
|
|
598
|
+
run high-throughput read jobs and queries on your Bigtable data,
|
|
599
|
+
without impacting the performance of the clusters that handle
|
|
600
|
+
your application traffic. Data Boost supports read-only use
|
|
601
|
+
cases with single-cluster routing.
|
|
602
|
+
|
|
603
|
+
|
|
604
|
+
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
|
|
605
|
+
|
|
606
|
+
Attributes:
|
|
607
|
+
compute_billing_owner (google.cloud.bigtable_admin_v2.types.AppProfile.DataBoostIsolationReadOnly.ComputeBillingOwner):
|
|
608
|
+
The Compute Billing Owner for this Data Boost
|
|
609
|
+
App Profile.
|
|
610
|
+
|
|
611
|
+
This field is a member of `oneof`_ ``_compute_billing_owner``.
|
|
612
|
+
"""
|
|
613
|
+
|
|
614
|
+
class ComputeBillingOwner(proto.Enum):
|
|
615
|
+
r"""Compute Billing Owner specifies how usage should be accounted
|
|
616
|
+
when using Data Boost. Compute Billing Owner also configures
|
|
617
|
+
which Cloud Project is charged for relevant quota.
|
|
618
|
+
|
|
619
|
+
Values:
|
|
620
|
+
COMPUTE_BILLING_OWNER_UNSPECIFIED (0):
|
|
621
|
+
Unspecified value.
|
|
622
|
+
HOST_PAYS (1):
|
|
623
|
+
The host Cloud Project containing the
|
|
624
|
+
targeted Bigtable Instance / Table pays for
|
|
625
|
+
compute.
|
|
626
|
+
"""
|
|
627
|
+
COMPUTE_BILLING_OWNER_UNSPECIFIED = 0
|
|
628
|
+
HOST_PAYS = 1
|
|
629
|
+
|
|
630
|
+
compute_billing_owner: "AppProfile.DataBoostIsolationReadOnly.ComputeBillingOwner" = proto.Field(
|
|
631
|
+
proto.ENUM,
|
|
632
|
+
number=1,
|
|
633
|
+
optional=True,
|
|
634
|
+
enum="AppProfile.DataBoostIsolationReadOnly.ComputeBillingOwner",
|
|
635
|
+
)
|
|
636
|
+
|
|
637
|
+
name: str = proto.Field(
|
|
638
|
+
proto.STRING,
|
|
639
|
+
number=1,
|
|
640
|
+
)
|
|
641
|
+
etag: str = proto.Field(
|
|
642
|
+
proto.STRING,
|
|
643
|
+
number=2,
|
|
644
|
+
)
|
|
645
|
+
description: str = proto.Field(
|
|
646
|
+
proto.STRING,
|
|
647
|
+
number=3,
|
|
648
|
+
)
|
|
649
|
+
multi_cluster_routing_use_any: MultiClusterRoutingUseAny = proto.Field(
|
|
650
|
+
proto.MESSAGE,
|
|
651
|
+
number=5,
|
|
652
|
+
oneof="routing_policy",
|
|
653
|
+
message=MultiClusterRoutingUseAny,
|
|
654
|
+
)
|
|
655
|
+
single_cluster_routing: SingleClusterRouting = proto.Field(
|
|
656
|
+
proto.MESSAGE,
|
|
657
|
+
number=6,
|
|
658
|
+
oneof="routing_policy",
|
|
659
|
+
message=SingleClusterRouting,
|
|
660
|
+
)
|
|
661
|
+
priority: Priority = proto.Field(
|
|
662
|
+
proto.ENUM,
|
|
663
|
+
number=7,
|
|
664
|
+
oneof="isolation",
|
|
665
|
+
enum=Priority,
|
|
666
|
+
)
|
|
667
|
+
standard_isolation: StandardIsolation = proto.Field(
|
|
668
|
+
proto.MESSAGE,
|
|
669
|
+
number=11,
|
|
670
|
+
oneof="isolation",
|
|
671
|
+
message=StandardIsolation,
|
|
672
|
+
)
|
|
673
|
+
data_boost_isolation_read_only: DataBoostIsolationReadOnly = proto.Field(
|
|
674
|
+
proto.MESSAGE,
|
|
675
|
+
number=10,
|
|
676
|
+
oneof="isolation",
|
|
677
|
+
message=DataBoostIsolationReadOnly,
|
|
678
|
+
)
|
|
679
|
+
|
|
680
|
+
|
|
681
|
+
class HotTablet(proto.Message):
|
|
682
|
+
r"""A tablet is a defined by a start and end key and is explained
|
|
683
|
+
in https://cloud.google.com/bigtable/docs/overview#architecture
|
|
684
|
+
and
|
|
685
|
+
https://cloud.google.com/bigtable/docs/performance#optimization.
|
|
686
|
+
A Hot tablet is a tablet that exhibits high average cpu usage
|
|
687
|
+
during the time interval from start time to end time.
|
|
688
|
+
|
|
689
|
+
Attributes:
|
|
690
|
+
name (str):
|
|
691
|
+
The unique name of the hot tablet. Values are of the form
|
|
692
|
+
``projects/{project}/instances/{instance}/clusters/{cluster}/hotTablets/[a-zA-Z0-9_-]*``.
|
|
693
|
+
table_name (str):
|
|
694
|
+
Name of the table that contains the tablet. Values are of
|
|
695
|
+
the form
|
|
696
|
+
``projects/{project}/instances/{instance}/tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]*``.
|
|
697
|
+
start_time (google.protobuf.timestamp_pb2.Timestamp):
|
|
698
|
+
Output only. The start time of the hot
|
|
699
|
+
tablet.
|
|
700
|
+
end_time (google.protobuf.timestamp_pb2.Timestamp):
|
|
701
|
+
Output only. The end time of the hot tablet.
|
|
702
|
+
start_key (str):
|
|
703
|
+
Tablet Start Key (inclusive).
|
|
704
|
+
end_key (str):
|
|
705
|
+
Tablet End Key (inclusive).
|
|
706
|
+
node_cpu_usage_percent (float):
|
|
707
|
+
Output only. The average CPU usage spent by a node on this
|
|
708
|
+
tablet over the start_time to end_time time range. The
|
|
709
|
+
percentage is the amount of CPU used by the node to serve
|
|
710
|
+
the tablet, from 0% (tablet was not interacted with) to 100%
|
|
711
|
+
(the node spent all cycles serving the hot tablet).
|
|
712
|
+
"""
|
|
713
|
+
|
|
714
|
+
name: str = proto.Field(
|
|
715
|
+
proto.STRING,
|
|
716
|
+
number=1,
|
|
717
|
+
)
|
|
718
|
+
table_name: str = proto.Field(
|
|
719
|
+
proto.STRING,
|
|
720
|
+
number=2,
|
|
721
|
+
)
|
|
722
|
+
start_time: timestamp_pb2.Timestamp = proto.Field(
|
|
723
|
+
proto.MESSAGE,
|
|
724
|
+
number=3,
|
|
725
|
+
message=timestamp_pb2.Timestamp,
|
|
726
|
+
)
|
|
727
|
+
end_time: timestamp_pb2.Timestamp = proto.Field(
|
|
728
|
+
proto.MESSAGE,
|
|
729
|
+
number=4,
|
|
730
|
+
message=timestamp_pb2.Timestamp,
|
|
731
|
+
)
|
|
732
|
+
start_key: str = proto.Field(
|
|
733
|
+
proto.STRING,
|
|
734
|
+
number=5,
|
|
735
|
+
)
|
|
736
|
+
end_key: str = proto.Field(
|
|
737
|
+
proto.STRING,
|
|
738
|
+
number=6,
|
|
739
|
+
)
|
|
740
|
+
node_cpu_usage_percent: float = proto.Field(
|
|
741
|
+
proto.FLOAT,
|
|
742
|
+
number=7,
|
|
743
|
+
)
|
|
744
|
+
|
|
745
|
+
|
|
746
|
+
class LogicalView(proto.Message):
|
|
747
|
+
r"""A SQL logical view object that can be referenced in SQL
|
|
748
|
+
queries.
|
|
749
|
+
|
|
750
|
+
Attributes:
|
|
751
|
+
name (str):
|
|
752
|
+
Identifier. The unique name of the logical view. Format:
|
|
753
|
+
``projects/{project}/instances/{instance}/logicalViews/{logical_view}``
|
|
754
|
+
query (str):
|
|
755
|
+
Required. The logical view's select query.
|
|
756
|
+
etag (str):
|
|
757
|
+
Optional. The etag for this logical view.
|
|
758
|
+
This may be sent on update requests to ensure
|
|
759
|
+
that the client has an up-to-date value before
|
|
760
|
+
proceeding. The server returns an ABORTED error
|
|
761
|
+
on a mismatched etag.
|
|
762
|
+
"""
|
|
763
|
+
|
|
764
|
+
name: str = proto.Field(
|
|
765
|
+
proto.STRING,
|
|
766
|
+
number=1,
|
|
767
|
+
)
|
|
768
|
+
query: str = proto.Field(
|
|
769
|
+
proto.STRING,
|
|
770
|
+
number=2,
|
|
771
|
+
)
|
|
772
|
+
etag: str = proto.Field(
|
|
773
|
+
proto.STRING,
|
|
774
|
+
number=3,
|
|
775
|
+
)
|
|
776
|
+
|
|
777
|
+
|
|
778
|
+
class MaterializedView(proto.Message):
|
|
779
|
+
r"""A materialized view object that can be referenced in SQL
|
|
780
|
+
queries.
|
|
781
|
+
|
|
782
|
+
Attributes:
|
|
783
|
+
name (str):
|
|
784
|
+
Identifier. The unique name of the materialized view.
|
|
785
|
+
Format:
|
|
786
|
+
``projects/{project}/instances/{instance}/materializedViews/{materialized_view}``
|
|
787
|
+
query (str):
|
|
788
|
+
Required. Immutable. The materialized view's
|
|
789
|
+
select query.
|
|
790
|
+
etag (str):
|
|
791
|
+
Optional. The etag for this materialized
|
|
792
|
+
view. This may be sent on update requests to
|
|
793
|
+
ensure that the client has an up-to-date value
|
|
794
|
+
before proceeding. The server returns an ABORTED
|
|
795
|
+
error on a mismatched etag.
|
|
796
|
+
deletion_protection (bool):
|
|
797
|
+
Set to true to make the MaterializedView
|
|
798
|
+
protected against deletion.
|
|
799
|
+
"""
|
|
800
|
+
|
|
801
|
+
name: str = proto.Field(
|
|
802
|
+
proto.STRING,
|
|
803
|
+
number=1,
|
|
804
|
+
)
|
|
805
|
+
query: str = proto.Field(
|
|
806
|
+
proto.STRING,
|
|
807
|
+
number=2,
|
|
808
|
+
)
|
|
809
|
+
etag: str = proto.Field(
|
|
810
|
+
proto.STRING,
|
|
811
|
+
number=3,
|
|
812
|
+
)
|
|
813
|
+
deletion_protection: bool = proto.Field(
|
|
814
|
+
proto.BOOL,
|
|
815
|
+
number=6,
|
|
816
|
+
)
|
|
817
|
+
|
|
818
|
+
|
|
819
|
+
__all__ = tuple(sorted(__protobuf__.manifest))
|