google-cloud-bigtable 1.2.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +1 -1
  3. data/CHANGELOG.md +54 -0
  4. data/TROUBLESHOOTING.md +2 -8
  5. data/lib/google-cloud-bigtable.rb +30 -27
  6. data/lib/google/cloud/bigtable.rb +18 -26
  7. data/lib/google/cloud/bigtable/app_profile.rb +3 -3
  8. data/lib/google/cloud/bigtable/app_profile/list.rb +6 -4
  9. data/lib/google/cloud/bigtable/backup.rb +324 -0
  10. data/lib/google/cloud/bigtable/backup/job.rb +87 -0
  11. data/lib/google/cloud/bigtable/backup/list.rb +167 -0
  12. data/lib/google/cloud/bigtable/chunk_processor.rb +1 -1
  13. data/lib/google/cloud/bigtable/cluster.rb +101 -2
  14. data/lib/google/cloud/bigtable/cluster/list.rb +2 -2
  15. data/lib/google/cloud/bigtable/column_family.rb +2 -2
  16. data/lib/google/cloud/bigtable/column_family_map.rb +11 -11
  17. data/lib/google/cloud/bigtable/column_range.rb +2 -2
  18. data/lib/google/cloud/bigtable/credentials.rb +36 -2
  19. data/lib/google/cloud/bigtable/gc_rule.rb +7 -7
  20. data/lib/google/cloud/bigtable/instance.rb +6 -6
  21. data/lib/google/cloud/bigtable/instance/cluster_map.rb +1 -1
  22. data/lib/google/cloud/bigtable/instance/list.rb +2 -2
  23. data/lib/google/cloud/bigtable/longrunning_job.rb +13 -2
  24. data/lib/google/cloud/bigtable/mutation_entry.rb +10 -9
  25. data/lib/google/cloud/bigtable/mutation_operations.rb +2 -2
  26. data/lib/google/cloud/bigtable/project.rb +1 -1
  27. data/lib/google/cloud/bigtable/read_modify_write_rule.rb +2 -2
  28. data/lib/google/cloud/bigtable/read_operations.rb +2 -2
  29. data/lib/google/cloud/bigtable/routing_policy.rb +2 -2
  30. data/lib/google/cloud/bigtable/row_filter/chain_filter.rb +3 -3
  31. data/lib/google/cloud/bigtable/row_filter/condition_filter.rb +3 -3
  32. data/lib/google/cloud/bigtable/row_filter/interleave_filter.rb +3 -3
  33. data/lib/google/cloud/bigtable/row_filter/simple_filter.rb +3 -3
  34. data/lib/google/cloud/bigtable/row_range.rb +2 -2
  35. data/lib/google/cloud/bigtable/rows_mutator.rb +3 -3
  36. data/lib/google/cloud/bigtable/rows_reader.rb +10 -10
  37. data/lib/google/cloud/bigtable/sample_row_key.rb +2 -2
  38. data/lib/google/cloud/bigtable/service.rb +241 -245
  39. data/lib/google/cloud/bigtable/table.rb +5 -4
  40. data/lib/google/cloud/bigtable/table/cluster_state.rb +27 -6
  41. data/lib/google/cloud/bigtable/table/list.rb +2 -2
  42. data/lib/google/cloud/bigtable/table/restore_job.rb +117 -0
  43. data/lib/google/cloud/bigtable/value_range.rb +2 -2
  44. data/lib/google/cloud/bigtable/version.rb +1 -1
  45. metadata +18 -96
  46. data/lib/google/bigtable/admin/v2/bigtable_instance_admin_pb.rb +0 -145
  47. data/lib/google/bigtable/admin/v2/bigtable_instance_admin_services_pb.rb +0 -90
  48. data/lib/google/bigtable/admin/v2/bigtable_table_admin_pb.rb +0 -144
  49. data/lib/google/bigtable/admin/v2/bigtable_table_admin_services_pb.rb +0 -128
  50. data/lib/google/bigtable/admin/v2/common_pb.rb +0 -25
  51. data/lib/google/bigtable/admin/v2/instance_pb.rb +0 -75
  52. data/lib/google/bigtable/admin/v2/table_pb.rb +0 -91
  53. data/lib/google/bigtable/v2/bigtable_pb.rb +0 -113
  54. data/lib/google/bigtable/v2/bigtable_services_pb.rb +0 -68
  55. data/lib/google/bigtable/v2/data_pb.rb +0 -156
  56. data/lib/google/cloud/bigtable/admin.rb +0 -202
  57. data/lib/google/cloud/bigtable/admin/credentials.rb +0 -27
  58. data/lib/google/cloud/bigtable/admin/v2.rb +0 -222
  59. data/lib/google/cloud/bigtable/admin/v2/bigtable_instance_admin_client.rb +0 -1451
  60. data/lib/google/cloud/bigtable/admin/v2/bigtable_instance_admin_client_config.json +0 -139
  61. data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb +0 -1257
  62. data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client_config.json +0 -133
  63. data/lib/google/cloud/bigtable/admin/v2/credentials.rb +0 -51
  64. data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/bigtable_instance_admin.rb +0 -297
  65. data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/bigtable_table_admin.rb +0 -367
  66. data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/instance.rb +0 -193
  67. data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/table.rb +0 -200
  68. data/lib/google/cloud/bigtable/admin/v2/doc/google/iam/v1/iam_policy.rb +0 -64
  69. data/lib/google/cloud/bigtable/admin/v2/doc/google/iam/v1/options.rb +0 -33
  70. data/lib/google/cloud/bigtable/admin/v2/doc/google/iam/v1/policy.rb +0 -151
  71. data/lib/google/cloud/bigtable/admin/v2/doc/google/longrunning/operations.rb +0 -51
  72. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/any.rb +0 -131
  73. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/duration.rb +0 -91
  74. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/empty.rb +0 -29
  75. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/field_mask.rb +0 -222
  76. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/timestamp.rb +0 -113
  77. data/lib/google/cloud/bigtable/admin/v2/doc/google/rpc/status.rb +0 -39
  78. data/lib/google/cloud/bigtable/admin/v2/doc/google/type/expr.rb +0 -45
  79. data/lib/google/cloud/bigtable/v2.rb +0 -146
  80. data/lib/google/cloud/bigtable/v2/bigtable_client.rb +0 -591
  81. data/lib/google/cloud/bigtable/v2/bigtable_client_config.json +0 -83
  82. data/lib/google/cloud/bigtable/v2/credentials.rb +0 -46
  83. data/lib/google/cloud/bigtable/v2/doc/google/bigtable/v2/bigtable.rb +0 -290
  84. data/lib/google/cloud/bigtable/v2/doc/google/bigtable/v2/data.rb +0 -493
  85. data/lib/google/cloud/bigtable/v2/doc/google/protobuf/any.rb +0 -131
  86. data/lib/google/cloud/bigtable/v2/doc/google/protobuf/wrappers.rb +0 -34
  87. data/lib/google/cloud/bigtable/v2/doc/google/rpc/status.rb +0 -39
@@ -1,367 +0,0 @@
1
- # Copyright 2020 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # https://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- module Google
17
- module Bigtable
18
- module Admin
19
- module V2
20
- # Request message for
21
- # {Google::Bigtable::Admin::V2::BigtableTableAdmin::CreateTable}
22
- # @!attribute [rw] parent
23
- # @return [String]
24
- # Required. The unique name of the instance in which to create the table.
25
- # Values are of the form `projects/{project}/instances/{instance}`.
26
- # @!attribute [rw] table_id
27
- # @return [String]
28
- # Required. The name by which the new table should be referred to within the parent
29
- # instance, e.g., `foobar` rather than `{parent}/tables/foobar`.
30
- # Maximum 50 characters.
31
- # @!attribute [rw] table
32
- # @return [Google::Bigtable::Admin::V2::Table]
33
- # Required. The Table to create.
34
- # @!attribute [rw] initial_splits
35
- # @return [Array<Google::Bigtable::Admin::V2::CreateTableRequest::Split>]
36
- # The optional list of row keys that will be used to initially split the
37
- # table into several tablets (tablets are similar to HBase regions).
38
- # Given two split keys, `s1` and `s2`, three tablets will be created,
39
- # spanning the key ranges: `[, s1), [s1, s2), [s2, )`.
40
- #
41
- # Example:
42
- #
43
- # * Row keys := `["a", "apple", "custom", "customer_1", "customer_2",`
44
- # `"other", "zz"]`
45
- # * initial_split_keys := `["apple", "customer_1", "customer_2", "other"]`
46
- # * Key assignment:
47
- # * Tablet 1 `[, apple) => {"a"}.`
48
- # * Tablet 2 `[apple, customer_1) => {"apple", "custom"}.`
49
- # * Tablet 3 `[customer_1, customer_2) => {"customer_1"}.`
50
- # * Tablet 4 `[customer_2, other) => {"customer_2"}.`
51
- # * Tablet 5 `[other, ) => {"other", "zz"}.`
52
- class CreateTableRequest
53
- # An initial split point for a newly created table.
54
- # @!attribute [rw] key
55
- # @return [String]
56
- # Row key to use as an initial tablet boundary.
57
- class Split; end
58
- end
59
-
60
- # Request message for
61
- # {Google::Bigtable::Admin::V2::BigtableTableAdmin::CreateTableFromSnapshot}
62
- #
63
- # Note: This is a private alpha release of Cloud Bigtable snapshots. This
64
- # feature is not currently available to most Cloud Bigtable customers. This
65
- # feature might be changed in backward-incompatible ways and is not recommended
66
- # for production use. It is not subject to any SLA or deprecation policy.
67
- # @!attribute [rw] parent
68
- # @return [String]
69
- # Required. The unique name of the instance in which to create the table.
70
- # Values are of the form `projects/{project}/instances/{instance}`.
71
- # @!attribute [rw] table_id
72
- # @return [String]
73
- # Required. The name by which the new table should be referred to within the parent
74
- # instance, e.g., `foobar` rather than `{parent}/tables/foobar`.
75
- # @!attribute [rw] source_snapshot
76
- # @return [String]
77
- # Required. The unique name of the snapshot from which to restore the table. The
78
- # snapshot and the table must be in the same instance.
79
- # Values are of the form
80
- # `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}`.
81
- class CreateTableFromSnapshotRequest; end
82
-
83
- # Request message for
84
- # {Google::Bigtable::Admin::V2::BigtableTableAdmin::DropRowRange}
85
- # @!attribute [rw] name
86
- # @return [String]
87
- # Required. The unique name of the table on which to drop a range of rows.
88
- # Values are of the form
89
- # `projects/{project}/instances/{instance}/tables/{table}`.
90
- # @!attribute [rw] row_key_prefix
91
- # @return [String]
92
- # Delete all rows that start with this row key prefix. Prefix cannot be
93
- # zero length.
94
- # @!attribute [rw] delete_all_data_from_table
95
- # @return [true, false]
96
- # Delete all rows in the table. Setting this to false is a no-op.
97
- class DropRowRangeRequest; end
98
-
99
- # Request message for
100
- # {Google::Bigtable::Admin::V2::BigtableTableAdmin::ListTables}
101
- # @!attribute [rw] parent
102
- # @return [String]
103
- # Required. The unique name of the instance for which tables should be listed.
104
- # Values are of the form `projects/{project}/instances/{instance}`.
105
- # @!attribute [rw] view
106
- # @return [Google::Bigtable::Admin::V2::Table::View]
107
- # The view to be applied to the returned tables' fields.
108
- # Only NAME_ONLY view (default) and REPLICATION_VIEW are supported.
109
- # @!attribute [rw] page_size
110
- # @return [Integer]
111
- # Maximum number of results per page.
112
- #
113
- # A page_size of zero lets the server choose the number of items to return.
114
- # A page_size which is strictly positive will return at most that many items.
115
- # A negative page_size will cause an error.
116
- #
117
- # Following the first request, subsequent paginated calls are not required
118
- # to pass a page_size. If a page_size is set in subsequent calls, it must
119
- # match the page_size given in the first request.
120
- # @!attribute [rw] page_token
121
- # @return [String]
122
- # The value of `next_page_token` returned by a previous call.
123
- class ListTablesRequest; end
124
-
125
- # Response message for
126
- # {Google::Bigtable::Admin::V2::BigtableTableAdmin::ListTables}
127
- # @!attribute [rw] tables
128
- # @return [Array<Google::Bigtable::Admin::V2::Table>]
129
- # The tables present in the requested instance.
130
- # @!attribute [rw] next_page_token
131
- # @return [String]
132
- # Set if not all tables could be returned in a single response.
133
- # Pass this value to `page_token` in another request to get the next
134
- # page of results.
135
- class ListTablesResponse; end
136
-
137
- # Request message for
138
- # {Google::Bigtable::Admin::V2::BigtableTableAdmin::GetTable}
139
- # @!attribute [rw] name
140
- # @return [String]
141
- # Required. The unique name of the requested table.
142
- # Values are of the form
143
- # `projects/{project}/instances/{instance}/tables/{table}`.
144
- # @!attribute [rw] view
145
- # @return [Google::Bigtable::Admin::V2::Table::View]
146
- # The view to be applied to the returned table's fields.
147
- # Defaults to `SCHEMA_VIEW` if unspecified.
148
- class GetTableRequest; end
149
-
150
- # Request message for
151
- # {Google::Bigtable::Admin::V2::BigtableTableAdmin::DeleteTable}
152
- # @!attribute [rw] name
153
- # @return [String]
154
- # Required. The unique name of the table to be deleted.
155
- # Values are of the form
156
- # `projects/{project}/instances/{instance}/tables/{table}`.
157
- class DeleteTableRequest; end
158
-
159
- # Request message for
160
- # {Google::Bigtable::Admin::V2::BigtableTableAdmin::ModifyColumnFamilies}
161
- # @!attribute [rw] name
162
- # @return [String]
163
- # Required. The unique name of the table whose families should be modified.
164
- # Values are of the form
165
- # `projects/{project}/instances/{instance}/tables/{table}`.
166
- # @!attribute [rw] modifications
167
- # @return [Array<Google::Bigtable::Admin::V2::ModifyColumnFamiliesRequest::Modification>]
168
- # Required. Modifications to be atomically applied to the specified table's families.
169
- # Entries are applied in order, meaning that earlier modifications can be
170
- # masked by later ones (in the case of repeated updates to the same family,
171
- # for example).
172
- class ModifyColumnFamiliesRequest
173
- # A create, update, or delete of a particular column family.
174
- # @!attribute [rw] id
175
- # @return [String]
176
- # The ID of the column family to be modified.
177
- # @!attribute [rw] create
178
- # @return [Google::Bigtable::Admin::V2::ColumnFamily]
179
- # Create a new column family with the specified schema, or fail if
180
- # one already exists with the given ID.
181
- # @!attribute [rw] update
182
- # @return [Google::Bigtable::Admin::V2::ColumnFamily]
183
- # Update an existing column family to the specified schema, or fail
184
- # if no column family exists with the given ID.
185
- # @!attribute [rw] drop
186
- # @return [true, false]
187
- # Drop (delete) the column family with the given ID, or fail if no such
188
- # family exists.
189
- class Modification; end
190
- end
191
-
192
- # Request message for
193
- # {Google::Bigtable::Admin::V2::BigtableTableAdmin::GenerateConsistencyToken}
194
- # @!attribute [rw] name
195
- # @return [String]
196
- # Required. The unique name of the Table for which to create a consistency token.
197
- # Values are of the form
198
- # `projects/{project}/instances/{instance}/tables/{table}`.
199
- class GenerateConsistencyTokenRequest; end
200
-
201
- # Response message for
202
- # {Google::Bigtable::Admin::V2::BigtableTableAdmin::GenerateConsistencyToken}
203
- # @!attribute [rw] consistency_token
204
- # @return [String]
205
- # The generated consistency token.
206
- class GenerateConsistencyTokenResponse; end
207
-
208
- # Request message for
209
- # {Google::Bigtable::Admin::V2::BigtableTableAdmin::CheckConsistency}
210
- # @!attribute [rw] name
211
- # @return [String]
212
- # Required. The unique name of the Table for which to check replication consistency.
213
- # Values are of the form
214
- # `projects/{project}/instances/{instance}/tables/{table}`.
215
- # @!attribute [rw] consistency_token
216
- # @return [String]
217
- # Required. The token created using GenerateConsistencyToken for the Table.
218
- class CheckConsistencyRequest; end
219
-
220
- # Response message for
221
- # {Google::Bigtable::Admin::V2::BigtableTableAdmin::CheckConsistency}
222
- # @!attribute [rw] consistent
223
- # @return [true, false]
224
- # True only if the token is consistent. A token is consistent if replication
225
- # has caught up with the restrictions specified in the request.
226
- class CheckConsistencyResponse; end
227
-
228
- # Request message for
229
- # {Google::Bigtable::Admin::V2::BigtableTableAdmin::SnapshotTable}
230
- #
231
- # Note: This is a private alpha release of Cloud Bigtable snapshots. This
232
- # feature is not currently available to most Cloud Bigtable customers. This
233
- # feature might be changed in backward-incompatible ways and is not recommended
234
- # for production use. It is not subject to any SLA or deprecation policy.
235
- # @!attribute [rw] name
236
- # @return [String]
237
- # The unique name of the table to have the snapshot taken.
238
- # Values are of the form
239
- # `projects/{project}/instances/{instance}/tables/{table}`.
240
- # @!attribute [rw] cluster
241
- # @return [String]
242
- # The name of the cluster where the snapshot will be created in.
243
- # Values are of the form
244
- # `projects/{project}/instances/{instance}/clusters/{cluster}`.
245
- # @!attribute [rw] snapshot_id
246
- # @return [String]
247
- # The ID by which the new snapshot should be referred to within the parent
248
- # cluster, e.g., `mysnapshot` of the form: `[_a-zA-Z0-9][-_.a-zA-Z0-9]*`
249
- # rather than
250
- # `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/mysnapshot`.
251
- # @!attribute [rw] ttl
252
- # @return [Google::Protobuf::Duration]
253
- # The amount of time that the new snapshot can stay active after it is
254
- # created. Once 'ttl' expires, the snapshot will get deleted. The maximum
255
- # amount of time a snapshot can stay active is 7 days. If 'ttl' is not
256
- # specified, the default value of 24 hours will be used.
257
- # @!attribute [rw] description
258
- # @return [String]
259
- # Description of the snapshot.
260
- class SnapshotTableRequest; end
261
-
262
- # Request message for
263
- # {Google::Bigtable::Admin::V2::BigtableTableAdmin::GetSnapshot}
264
- #
265
- # Note: This is a private alpha release of Cloud Bigtable snapshots. This
266
- # feature is not currently available to most Cloud Bigtable customers. This
267
- # feature might be changed in backward-incompatible ways and is not recommended
268
- # for production use. It is not subject to any SLA or deprecation policy.
269
- # @!attribute [rw] name
270
- # @return [String]
271
- # Required. The unique name of the requested snapshot.
272
- # Values are of the form
273
- # `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}`.
274
- class GetSnapshotRequest; end
275
-
276
- # Request message for
277
- # {Google::Bigtable::Admin::V2::BigtableTableAdmin::ListSnapshots}
278
- #
279
- # Note: This is a private alpha release of Cloud Bigtable snapshots. This
280
- # feature is not currently available to most Cloud Bigtable customers. This
281
- # feature might be changed in backward-incompatible ways and is not recommended
282
- # for production use. It is not subject to any SLA or deprecation policy.
283
- # @!attribute [rw] parent
284
- # @return [String]
285
- # Required. The unique name of the cluster for which snapshots should be listed.
286
- # Values are of the form
287
- # `projects/{project}/instances/{instance}/clusters/{cluster}`.
288
- # Use `{cluster} = '-'` to list snapshots for all clusters in an instance,
289
- # e.g., `projects/{project}/instances/{instance}/clusters/-`.
290
- # @!attribute [rw] page_size
291
- # @return [Integer]
292
- # The maximum number of snapshots to return per page.
293
- # CURRENTLY UNIMPLEMENTED AND IGNORED.
294
- # @!attribute [rw] page_token
295
- # @return [String]
296
- # The value of `next_page_token` returned by a previous call.
297
- class ListSnapshotsRequest; end
298
-
299
- # Response message for
300
- # {Google::Bigtable::Admin::V2::BigtableTableAdmin::ListSnapshots}
301
- #
302
- # Note: This is a private alpha release of Cloud Bigtable snapshots. This
303
- # feature is not currently available to most Cloud Bigtable customers. This
304
- # feature might be changed in backward-incompatible ways and is not recommended
305
- # for production use. It is not subject to any SLA or deprecation policy.
306
- # @!attribute [rw] snapshots
307
- # @return [Array<Google::Bigtable::Admin::V2::Snapshot>]
308
- # The snapshots present in the requested cluster.
309
- # @!attribute [rw] next_page_token
310
- # @return [String]
311
- # Set if not all snapshots could be returned in a single response.
312
- # Pass this value to `page_token` in another request to get the next
313
- # page of results.
314
- class ListSnapshotsResponse; end
315
-
316
- # Request message for
317
- # {Google::Bigtable::Admin::V2::BigtableTableAdmin::DeleteSnapshot}
318
- #
319
- # Note: This is a private alpha release of Cloud Bigtable snapshots. This
320
- # feature is not currently available to most Cloud Bigtable customers. This
321
- # feature might be changed in backward-incompatible ways and is not recommended
322
- # for production use. It is not subject to any SLA or deprecation policy.
323
- # @!attribute [rw] name
324
- # @return [String]
325
- # Required. The unique name of the snapshot to be deleted.
326
- # Values are of the form
327
- # `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}`.
328
- class DeleteSnapshotRequest; end
329
-
330
- # The metadata for the Operation returned by SnapshotTable.
331
- #
332
- # Note: This is a private alpha release of Cloud Bigtable snapshots. This
333
- # feature is not currently available to most Cloud Bigtable customers. This
334
- # feature might be changed in backward-incompatible ways and is not recommended
335
- # for production use. It is not subject to any SLA or deprecation policy.
336
- # @!attribute [rw] original_request
337
- # @return [Google::Bigtable::Admin::V2::SnapshotTableRequest]
338
- # The request that prompted the initiation of this SnapshotTable operation.
339
- # @!attribute [rw] request_time
340
- # @return [Google::Protobuf::Timestamp]
341
- # The time at which the original request was received.
342
- # @!attribute [rw] finish_time
343
- # @return [Google::Protobuf::Timestamp]
344
- # The time at which the operation failed or was completed successfully.
345
- class SnapshotTableMetadata; end
346
-
347
- # The metadata for the Operation returned by CreateTableFromSnapshot.
348
- #
349
- # Note: This is a private alpha release of Cloud Bigtable snapshots. This
350
- # feature is not currently available to most Cloud Bigtable customers. This
351
- # feature might be changed in backward-incompatible ways and is not recommended
352
- # for production use. It is not subject to any SLA or deprecation policy.
353
- # @!attribute [rw] original_request
354
- # @return [Google::Bigtable::Admin::V2::CreateTableFromSnapshotRequest]
355
- # The request that prompted the initiation of this CreateTableFromSnapshot
356
- # operation.
357
- # @!attribute [rw] request_time
358
- # @return [Google::Protobuf::Timestamp]
359
- # The time at which the original request was received.
360
- # @!attribute [rw] finish_time
361
- # @return [Google::Protobuf::Timestamp]
362
- # The time at which the operation failed or was completed successfully.
363
- class CreateTableFromSnapshotMetadata; end
364
- end
365
- end
366
- end
367
- end
@@ -1,193 +0,0 @@
1
- # Copyright 2020 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # https://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- module Google
17
- module Bigtable
18
- module Admin
19
- module V2
20
- # A collection of Bigtable {Google::Bigtable::Admin::V2::Table Tables} and
21
- # the resources that serve them.
22
- # All tables in an instance are served from all
23
- # {Google::Bigtable::Admin::V2::Cluster Clusters} in the instance.
24
- # @!attribute [rw] name
25
- # @return [String]
26
- # The unique name of the instance. Values are of the form
27
- # `projects/{project}/instances/[a-z][a-z0-9\\-]+[a-z0-9]`.
28
- # @!attribute [rw] display_name
29
- # @return [String]
30
- # Required. The descriptive name for this instance as it appears in UIs.
31
- # Can be changed at any time, but should be kept globally unique
32
- # to avoid confusion.
33
- # @!attribute [rw] state
34
- # @return [Google::Bigtable::Admin::V2::Instance::State]
35
- # (`OutputOnly`)
36
- # The current state of the instance.
37
- # @!attribute [rw] type
38
- # @return [Google::Bigtable::Admin::V2::Instance::Type]
39
- # The type of the instance. Defaults to `PRODUCTION`.
40
- # @!attribute [rw] labels
41
- # @return [Hash{String => String}]
42
- # Labels are a flexible and lightweight mechanism for organizing cloud
43
- # resources into groups that reflect a customer's organizational needs and
44
- # deployment strategies. They can be used to filter resources and aggregate
45
- # metrics.
46
- #
47
- # * Label keys must be between 1 and 63 characters long and must conform to
48
- # the regular expression: `[\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}`.
49
- # * Label values must be between 0 and 63 characters long and must conform to
50
- # the regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`.
51
- # * No more than 64 labels can be associated with a given resource.
52
- # * Keys and values must both be under 128 bytes.
53
- class Instance
54
- # Possible states of an instance.
55
- module State
56
- # The state of the instance could not be determined.
57
- STATE_NOT_KNOWN = 0
58
-
59
- # The instance has been successfully created and can serve requests
60
- # to its tables.
61
- READY = 1
62
-
63
- # The instance is currently being created, and may be destroyed
64
- # if the creation process encounters an error.
65
- CREATING = 2
66
- end
67
-
68
- # The type of the instance.
69
- module Type
70
- # The type of the instance is unspecified. If set when creating an
71
- # instance, a `PRODUCTION` instance will be created. If set when updating
72
- # an instance, the type will be left unchanged.
73
- TYPE_UNSPECIFIED = 0
74
-
75
- # An instance meant for production use. `serve_nodes` must be set
76
- # on the cluster.
77
- PRODUCTION = 1
78
-
79
- # The instance is meant for development and testing purposes only; it has
80
- # no performance or uptime guarantees and is not covered by SLA.
81
- # After a development instance is created, it can be upgraded by
82
- # updating the instance to type `PRODUCTION`. An instance created
83
- # as a production instance cannot be changed to a development instance.
84
- # When creating a development instance, `serve_nodes` on the cluster must
85
- # not be set.
86
- DEVELOPMENT = 2
87
- end
88
- end
89
-
90
- # A resizable group of nodes in a particular cloud location, capable
91
- # of serving all {Google::Bigtable::Admin::V2::Table Tables} in the parent
92
- # {Google::Bigtable::Admin::V2::Instance Instance}.
93
- # @!attribute [rw] name
94
- # @return [String]
95
- # The unique name of the cluster. Values are of the form
96
- # `projects/{project}/instances/{instance}/clusters/[a-z][-a-z0-9]*`.
97
- # @!attribute [rw] location
98
- # @return [String]
99
- # (`CreationOnly`)
100
- # The location where this cluster's nodes and storage reside. For best
101
- # performance, clients should be located as close as possible to this
102
- # cluster. Currently only zones are supported, so values should be of the
103
- # form `projects/{project}/locations/{zone}`.
104
- # @!attribute [rw] state
105
- # @return [Google::Bigtable::Admin::V2::Cluster::State]
106
- # The current state of the cluster.
107
- # @!attribute [rw] serve_nodes
108
- # @return [Integer]
109
- # Required. The number of nodes allocated to this cluster. More nodes enable higher
110
- # throughput and more consistent performance.
111
- # @!attribute [rw] default_storage_type
112
- # @return [Google::Bigtable::Admin::V2::StorageType]
113
- # (`CreationOnly`)
114
- # The type of storage used by this cluster to serve its
115
- # parent instance's tables, unless explicitly overridden.
116
- class Cluster
117
- # Possible states of a cluster.
118
- module State
119
- # The state of the cluster could not be determined.
120
- STATE_NOT_KNOWN = 0
121
-
122
- # The cluster has been successfully created and is ready to serve requests.
123
- READY = 1
124
-
125
- # The cluster is currently being created, and may be destroyed
126
- # if the creation process encounters an error.
127
- # A cluster may not be able to serve requests while being created.
128
- CREATING = 2
129
-
130
- # The cluster is currently being resized, and may revert to its previous
131
- # node count if the process encounters an error.
132
- # A cluster is still capable of serving requests while being resized,
133
- # but may exhibit performance as if its number of allocated nodes is
134
- # between the starting and requested states.
135
- RESIZING = 3
136
-
137
- # The cluster has no backing nodes. The data (tables) still
138
- # exist, but no operations can be performed on the cluster.
139
- DISABLED = 4
140
- end
141
- end
142
-
143
- # A configuration object describing how Cloud Bigtable should treat traffic
144
- # from a particular end user application.
145
- # @!attribute [rw] name
146
- # @return [String]
147
- # (`OutputOnly`)
148
- # The unique name of the app profile. Values are of the form
149
- # `projects/<project>/instances/<instance>/appProfiles/[_a-zA-Z0-9][-_.a-zA-Z0-9]*`.
150
- # @!attribute [rw] etag
151
- # @return [String]
152
- # Strongly validated etag for optimistic concurrency control. Preserve the
153
- # value returned from `GetAppProfile` when calling `UpdateAppProfile` to
154
- # fail the request if there has been a modification in the mean time. The
155
- # `update_mask` of the request need not include `etag` for this protection
156
- # to apply.
157
- # See [Wikipedia](https://en.wikipedia.org/wiki/HTTP_ETag) and
158
- # [RFC 7232](https://tools.ietf.org/html/rfc7232#section-2.3) for more
159
- # details.
160
- # @!attribute [rw] description
161
- # @return [String]
162
- # Optional long form description of the use case for this AppProfile.
163
- # @!attribute [rw] multi_cluster_routing_use_any
164
- # @return [Google::Bigtable::Admin::V2::AppProfile::MultiClusterRoutingUseAny]
165
- # Use a multi-cluster routing policy.
166
- # @!attribute [rw] single_cluster_routing
167
- # @return [Google::Bigtable::Admin::V2::AppProfile::SingleClusterRouting]
168
- # Use a single-cluster routing policy.
169
- class AppProfile
170
- # Read/write requests are routed to the nearest cluster in the instance, and
171
- # will fail over to the nearest cluster that is available in the event of
172
- # transient errors or delays. Clusters in a region are considered
173
- # equidistant. Choosing this option sacrifices read-your-writes consistency
174
- # to improve availability.
175
- class MultiClusterRoutingUseAny; end
176
-
177
- # Unconditionally routes all read/write requests to a specific cluster.
178
- # This option preserves read-your-writes consistency but does not improve
179
- # availability.
180
- # @!attribute [rw] cluster_id
181
- # @return [String]
182
- # The cluster to which read/write requests should be routed.
183
- # @!attribute [rw] allow_transactional_writes
184
- # @return [true, false]
185
- # Whether or not `CheckAndMutateRow` and `ReadModifyWriteRow` requests are
186
- # allowed by this app profile. It is unsafe to send these requests to
187
- # the same table/row/column in multiple clusters.
188
- class SingleClusterRouting; end
189
- end
190
- end
191
- end
192
- end
193
- end