google-cloud-bigtable 1.2.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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