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