google-cloud-bigtable 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +19 -0
  3. data/AUTHENTICATION.md +177 -0
  4. data/CHANGELOG.md +223 -0
  5. data/CODE_OF_CONDUCT.md +40 -0
  6. data/CONTRIBUTING.md +188 -0
  7. data/EMULATOR.md +30 -0
  8. data/LICENSE +201 -0
  9. data/LOGGING.md +32 -0
  10. data/OVERVIEW.md +400 -0
  11. data/TROUBLESHOOTING.md +31 -0
  12. data/lib/google-cloud-bigtable.rb +171 -0
  13. data/lib/google/bigtable/admin/v2/bigtable_instance_admin_pb.rb +145 -0
  14. data/lib/google/bigtable/admin/v2/bigtable_instance_admin_services_pb.rb +90 -0
  15. data/lib/google/bigtable/admin/v2/bigtable_table_admin_pb.rb +208 -0
  16. data/lib/google/bigtable/admin/v2/bigtable_table_admin_services_pb.rb +154 -0
  17. data/lib/google/bigtable/admin/v2/common_pb.rb +30 -0
  18. data/lib/google/bigtable/admin/v2/instance_pb.rb +74 -0
  19. data/lib/google/bigtable/admin/v2/table_pb.rb +127 -0
  20. data/lib/google/bigtable/v2/bigtable_pb.rb +113 -0
  21. data/lib/google/bigtable/v2/bigtable_services_pb.rb +68 -0
  22. data/lib/google/bigtable/v2/data_pb.rb +156 -0
  23. data/lib/google/cloud/bigtable.rb +184 -0
  24. data/lib/google/cloud/bigtable/admin.rb +202 -0
  25. data/lib/google/cloud/bigtable/admin/credentials.rb +27 -0
  26. data/lib/google/cloud/bigtable/admin/v2.rb +223 -0
  27. data/lib/google/cloud/bigtable/admin/v2/bigtable_instance_admin_client.rb +1451 -0
  28. data/lib/google/cloud/bigtable/admin/v2/bigtable_instance_admin_client_config.json +139 -0
  29. data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb +1734 -0
  30. data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client_config.json +163 -0
  31. data/lib/google/cloud/bigtable/admin/v2/credentials.rb +51 -0
  32. data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/bigtable_instance_admin.rb +297 -0
  33. data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/bigtable_table_admin.rb +587 -0
  34. data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/instance.rb +193 -0
  35. data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/table.rb +303 -0
  36. data/lib/google/cloud/bigtable/admin/v2/doc/google/iam/v1/iam_policy.rb +64 -0
  37. data/lib/google/cloud/bigtable/admin/v2/doc/google/iam/v1/options.rb +33 -0
  38. data/lib/google/cloud/bigtable/admin/v2/doc/google/iam/v1/policy.rb +151 -0
  39. data/lib/google/cloud/bigtable/admin/v2/doc/google/longrunning/operations.rb +51 -0
  40. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/any.rb +131 -0
  41. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/duration.rb +91 -0
  42. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/empty.rb +29 -0
  43. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/field_mask.rb +222 -0
  44. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/timestamp.rb +113 -0
  45. data/lib/google/cloud/bigtable/admin/v2/doc/google/rpc/status.rb +39 -0
  46. data/lib/google/cloud/bigtable/admin/v2/doc/google/type/expr.rb +45 -0
  47. data/lib/google/cloud/bigtable/app_profile.rb +439 -0
  48. data/lib/google/cloud/bigtable/app_profile/job.rb +99 -0
  49. data/lib/google/cloud/bigtable/app_profile/list.rb +165 -0
  50. data/lib/google/cloud/bigtable/backup.rb +324 -0
  51. data/lib/google/cloud/bigtable/backup/job.rb +87 -0
  52. data/lib/google/cloud/bigtable/backup/list.rb +167 -0
  53. data/lib/google/cloud/bigtable/chunk_processor.rb +241 -0
  54. data/lib/google/cloud/bigtable/cluster.rb +390 -0
  55. data/lib/google/cloud/bigtable/cluster/job.rb +88 -0
  56. data/lib/google/cloud/bigtable/cluster/list.rb +171 -0
  57. data/lib/google/cloud/bigtable/column_family.rb +73 -0
  58. data/lib/google/cloud/bigtable/column_family_map.rb +426 -0
  59. data/lib/google/cloud/bigtable/column_range.rb +194 -0
  60. data/lib/google/cloud/bigtable/convert.rb +83 -0
  61. data/lib/google/cloud/bigtable/credentials.rb +25 -0
  62. data/lib/google/cloud/bigtable/errors.rb +38 -0
  63. data/lib/google/cloud/bigtable/gc_rule.rb +334 -0
  64. data/lib/google/cloud/bigtable/instance.rb +935 -0
  65. data/lib/google/cloud/bigtable/instance/cluster_map.rb +74 -0
  66. data/lib/google/cloud/bigtable/instance/job.rb +98 -0
  67. data/lib/google/cloud/bigtable/instance/list.rb +164 -0
  68. data/lib/google/cloud/bigtable/longrunning_job.rb +122 -0
  69. data/lib/google/cloud/bigtable/mutation_entry.rb +256 -0
  70. data/lib/google/cloud/bigtable/mutation_operations.rb +357 -0
  71. data/lib/google/cloud/bigtable/policy.rb +167 -0
  72. data/lib/google/cloud/bigtable/project.rb +471 -0
  73. data/lib/google/cloud/bigtable/read_modify_write_rule.rb +134 -0
  74. data/lib/google/cloud/bigtable/read_operations.rb +328 -0
  75. data/lib/google/cloud/bigtable/routing_policy.rb +172 -0
  76. data/lib/google/cloud/bigtable/row.rb +136 -0
  77. data/lib/google/cloud/bigtable/row_filter.rb +639 -0
  78. data/lib/google/cloud/bigtable/row_filter/chain_filter.rb +590 -0
  79. data/lib/google/cloud/bigtable/row_filter/condition_filter.rb +114 -0
  80. data/lib/google/cloud/bigtable/row_filter/interleave_filter.rb +621 -0
  81. data/lib/google/cloud/bigtable/row_filter/simple_filter.rb +287 -0
  82. data/lib/google/cloud/bigtable/row_range.rb +179 -0
  83. data/lib/google/cloud/bigtable/rows_mutator.rb +113 -0
  84. data/lib/google/cloud/bigtable/rows_reader.rb +200 -0
  85. data/lib/google/cloud/bigtable/sample_row_key.rb +85 -0
  86. data/lib/google/cloud/bigtable/service.rb +913 -0
  87. data/lib/google/cloud/bigtable/status.rb +76 -0
  88. data/lib/google/cloud/bigtable/table.rb +686 -0
  89. data/lib/google/cloud/bigtable/table/cluster_state.rb +125 -0
  90. data/lib/google/cloud/bigtable/table/list.rb +154 -0
  91. data/lib/google/cloud/bigtable/table/restore_job.rb +117 -0
  92. data/lib/google/cloud/bigtable/v2.rb +146 -0
  93. data/lib/google/cloud/bigtable/v2/bigtable_client.rb +591 -0
  94. data/lib/google/cloud/bigtable/v2/bigtable_client_config.json +83 -0
  95. data/lib/google/cloud/bigtable/v2/credentials.rb +46 -0
  96. data/lib/google/cloud/bigtable/v2/doc/google/bigtable/v2/bigtable.rb +290 -0
  97. data/lib/google/cloud/bigtable/v2/doc/google/bigtable/v2/data.rb +493 -0
  98. data/lib/google/cloud/bigtable/v2/doc/google/protobuf/any.rb +131 -0
  99. data/lib/google/cloud/bigtable/v2/doc/google/protobuf/wrappers.rb +34 -0
  100. data/lib/google/cloud/bigtable/v2/doc/google/rpc/status.rb +39 -0
  101. data/lib/google/cloud/bigtable/value_range.rb +181 -0
  102. data/lib/google/cloud/bigtable/version.rb +22 -0
  103. metadata +337 -0
@@ -0,0 +1,587 @@
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
29
+ # parent 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
74
+ # parent 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.
78
+ # The snapshot and the table must be in the same instance. Values are of the
79
+ # 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
104
+ # listed. 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
169
+ # families. Entries are applied in order, meaning that earlier modifications
170
+ # can be masked by later ones (in the case of repeated updates to the same
171
+ # family, 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
197
+ # token. 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
213
+ # consistency. 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
+ # Required. 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
+ # Required. 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
+ # Required. The ID by which the new snapshot should be referred to within the
248
+ # parent cluster, e.g., `mysnapshot` of the form:
249
+ # `[_a-zA-Z0-9][-_.a-zA-Z0-9]*` 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
286
+ # listed. 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
+
365
+ # The request for
366
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::CreateBackup CreateBackup}.
367
+ # @!attribute [rw] parent
368
+ # @return [String]
369
+ # Required. This must be one of the clusters in the instance in which this
370
+ # table is located. The backup will be stored in this cluster. Values are
371
+ # of the form `projects/{project}/instances/{instance}/clusters/{cluster}`.
372
+ # @!attribute [rw] backup_id
373
+ # @return [String]
374
+ # Required. The id of the backup to be created. The `backup_id` along with
375
+ # the parent `parent` are combined as \\{parent}/backups/\\{backup_id} to create
376
+ # the full backup name, of the form:
377
+ # `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup_id}`.
378
+ # This string must be between 1 and 50 characters in length and match the
379
+ # regex [_a-zA-Z0-9][-_.a-zA-Z0-9]*.
380
+ # @!attribute [rw] backup
381
+ # @return [Google::Bigtable::Admin::V2::Backup]
382
+ # Required. The backup to create.
383
+ class CreateBackupRequest; end
384
+
385
+ # Metadata type for the operation returned by
386
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::CreateBackup CreateBackup}.
387
+ # @!attribute [rw] name
388
+ # @return [String]
389
+ # The name of the backup being created.
390
+ # @!attribute [rw] source_table
391
+ # @return [String]
392
+ # The name of the table the backup is created from.
393
+ # @!attribute [rw] start_time
394
+ # @return [Google::Protobuf::Timestamp]
395
+ # The time at which this operation started.
396
+ # @!attribute [rw] end_time
397
+ # @return [Google::Protobuf::Timestamp]
398
+ # If set, the time at which this operation finished or was cancelled.
399
+ class CreateBackupMetadata; end
400
+
401
+ # The request for
402
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::GetBackup GetBackup}.
403
+ # @!attribute [rw] name
404
+ # @return [String]
405
+ # Required. Name of the backup.
406
+ # Values are of the form
407
+ # `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup}`.
408
+ class GetBackupRequest; end
409
+
410
+ # The request for
411
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::UpdateBackup UpdateBackup}.
412
+ # @!attribute [rw] backup
413
+ # @return [Google::Bigtable::Admin::V2::Backup]
414
+ # Required. The backup to update. `backup.name`, and the fields to be updated
415
+ # as specified by `update_mask` are required. Other fields are ignored.
416
+ # Update is only supported for the following fields:
417
+ # * `backup.expire_time`.
418
+ # @!attribute [rw] update_mask
419
+ # @return [Google::Protobuf::FieldMask]
420
+ # Required. A mask specifying which fields (e.g. `expire_time`) in the
421
+ # Backup resource should be updated. This mask is relative to the Backup
422
+ # resource, not to the request message. The field mask must always be
423
+ # specified; this prevents any future fields from being erased accidentally
424
+ # by clients that do not know about them.
425
+ class UpdateBackupRequest; end
426
+
427
+ # The request for
428
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::DeleteBackup DeleteBackup}.
429
+ # @!attribute [rw] name
430
+ # @return [String]
431
+ # Required. Name of the backup to delete.
432
+ # Values are of the form
433
+ # `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup}`.
434
+ class DeleteBackupRequest; end
435
+
436
+ # The request for
437
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::ListBackups ListBackups}.
438
+ # @!attribute [rw] parent
439
+ # @return [String]
440
+ # Required. The cluster to list backups from. Values are of the
441
+ # form `projects/{project}/instances/{instance}/clusters/{cluster}`.
442
+ # Use `{cluster} = '-'` to list backups for all clusters in an instance,
443
+ # e.g., `projects/{project}/instances/{instance}/clusters/-`.
444
+ # @!attribute [rw] filter
445
+ # @return [String]
446
+ # A filter expression that filters backups listed in the response.
447
+ # The expression must specify the field name, a comparison operator,
448
+ # and the value that you want to use for filtering. The value must be a
449
+ # string, a number, or a boolean. The comparison operator must be
450
+ # <, >, <=, >=, !=, =, or :. Colon ‘:’ represents a HAS operator which is
451
+ # roughly synonymous with equality. Filter rules are case insensitive.
452
+ #
453
+ # The fields eligible for filtering are:
454
+ # * `name`
455
+ # * `source_table`
456
+ # * `state`
457
+ # * `start_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
458
+ # * `end_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
459
+ # * `expire_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
460
+ # * `size_bytes`
461
+ #
462
+ # To filter on multiple expressions, provide each separate expression within
463
+ # parentheses. By default, each expression is an AND expression. However,
464
+ # you can include AND, OR, and NOT expressions explicitly.
465
+ #
466
+ # Some examples of using filters are:
467
+ #
468
+ # * `name:"exact"` --> The backup's name is the string "exact".
469
+ # * `name:howl` --> The backup's name contains the string "howl".
470
+ # * `source_table:prod`
471
+ # --> The source_table's name contains the string "prod".
472
+ # * `state:CREATING` --> The backup is pending creation.
473
+ # * `state:READY` --> The backup is fully created and ready for use.
474
+ # * `(name:howl) AND (start_time < \"2018-03-28T14:50:00Z\")`
475
+ # --> The backup name contains the string "howl" and start_time
476
+ # of the backup is before 2018-03-28T14:50:00Z.
477
+ # * `size_bytes > 10000000000` --> The backup's size is greater than 10GB
478
+ # @!attribute [rw] order_by
479
+ # @return [String]
480
+ # An expression for specifying the sort order of the results of the request.
481
+ # The string value should specify one or more fields in
482
+ # {Google::Bigtable::Admin::V2::Backup Backup}. The full syntax is described at
483
+ # https://aip.dev/132#ordering.
484
+ #
485
+ # Fields supported are:
486
+ # * name
487
+ # * source_table
488
+ # * expire_time
489
+ # * start_time
490
+ # * end_time
491
+ # * size_bytes
492
+ # * state
493
+ #
494
+ # For example, "start_time". The default sorting order is ascending.
495
+ # To specify descending order for the field, a suffix " desc" should
496
+ # be appended to the field name. For example, "start_time desc".
497
+ # Redundant space characters in the syntax are insigificant.
498
+ #
499
+ # If order_by is empty, results will be sorted by `start_time` in descending
500
+ # order starting from the most recently created backup.
501
+ # @!attribute [rw] page_size
502
+ # @return [Integer]
503
+ # Number of backups to be returned in the response. If 0 or
504
+ # less, defaults to the server's maximum allowed page size.
505
+ # @!attribute [rw] page_token
506
+ # @return [String]
507
+ # If non-empty, `page_token` should contain a
508
+ # {Google::Bigtable::Admin::V2::ListBackupsResponse#next_page_token next_page_token}
509
+ # from a previous
510
+ # {Google::Bigtable::Admin::V2::ListBackupsResponse ListBackupsResponse} to the
511
+ # same `parent` and with the same `filter`.
512
+ class ListBackupsRequest; end
513
+
514
+ # The response for
515
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::ListBackups ListBackups}.
516
+ # @!attribute [rw] backups
517
+ # @return [Array<Google::Bigtable::Admin::V2::Backup>]
518
+ # The list of matching backups.
519
+ # @!attribute [rw] next_page_token
520
+ # @return [String]
521
+ # `next_page_token` can be sent in a subsequent
522
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::ListBackups ListBackups} call
523
+ # to fetch more of the matching backups.
524
+ class ListBackupsResponse; end
525
+
526
+ # The request for
527
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::RestoreTable RestoreTable}.
528
+ # @!attribute [rw] parent
529
+ # @return [String]
530
+ # Required. The name of the instance in which to create the restored
531
+ # table. This instance must be the parent of the source backup. Values are
532
+ # of the form `projects/<project>/instances/<instance>`.
533
+ # @!attribute [rw] table_id
534
+ # @return [String]
535
+ # Required. The id of the table to create and restore to. This
536
+ # table must not already exist. The `table_id` appended to
537
+ # `parent` forms the full table name of the form
538
+ # `projects/<project>/instances/<instance>/tables/<table_id>`.
539
+ # @!attribute [rw] backup
540
+ # @return [String]
541
+ # Name of the backup from which to restore. Values are of the form
542
+ # `projects/<project>/instances/<instance>/clusters/<cluster>/backups/<backup>`.
543
+ class RestoreTableRequest; end
544
+
545
+ # Metadata type for the long-running operation returned by
546
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::RestoreTable RestoreTable}.
547
+ # @!attribute [rw] name
548
+ # @return [String]
549
+ # Name of the table being created and restored to.
550
+ # @!attribute [rw] source_type
551
+ # @return [Google::Bigtable::Admin::V2::RestoreSourceType]
552
+ # The type of the restore source.
553
+ # @!attribute [rw] backup_info
554
+ # @return [Google::Bigtable::Admin::V2::BackupInfo]
555
+ # @!attribute [rw] optimize_table_operation_name
556
+ # @return [String]
557
+ # If exists, the name of the long-running operation that will be used to
558
+ # track the post-restore optimization process to optimize the performance of
559
+ # the restored table. The metadata type of the long-running operation is
560
+ # \\{OptimizeRestoreTableMetadata}. The response type is
561
+ # {Google::Protobuf::Empty Empty}. This long-running operation may be
562
+ # automatically created by the system if applicable after the
563
+ # RestoreTable long-running operation completes successfully. This operation
564
+ # may not be created if the table is already optimized or the restore was
565
+ # not successful.
566
+ # @!attribute [rw] progress
567
+ # @return [Google::Bigtable::Admin::V2::OperationProgress]
568
+ # The progress of the
569
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::RestoreTable RestoreTable}
570
+ # operation.
571
+ class RestoreTableMetadata; end
572
+
573
+ # Metadata type for the long-running operation used to track the progress
574
+ # of optimizations performed on a newly restored table. This long-running
575
+ # operation is automatically created by the system after the successful
576
+ # completion of a table restore, and cannot be cancelled.
577
+ # @!attribute [rw] name
578
+ # @return [String]
579
+ # Name of the restored table being optimized.
580
+ # @!attribute [rw] progress
581
+ # @return [Google::Bigtable::Admin::V2::OperationProgress]
582
+ # The progress of the post-restore optimizations.
583
+ class OptimizeRestoredTableMetadata; end
584
+ end
585
+ end
586
+ end
587
+ end