google-cloud-bigtable 1.1.0 → 2.0.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 +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