google-cloud-bigtable 1.0.1 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -0
  3. data/TROUBLESHOOTING.md +2 -8
  4. data/lib/google/bigtable/admin/v2/bigtable_instance_admin_pb.rb +3 -0
  5. data/lib/google/bigtable/admin/v2/bigtable_instance_admin_services_pb.rb +6 -3
  6. data/lib/google/bigtable/admin/v2/bigtable_table_admin_pb.rb +67 -0
  7. data/lib/google/bigtable/admin/v2/bigtable_table_admin_services_pb.rb +33 -6
  8. data/lib/google/bigtable/admin/v2/common_pb.rb +6 -1
  9. data/lib/google/bigtable/admin/v2/instance_pb.rb +2 -1
  10. data/lib/google/bigtable/admin/v2/table_pb.rb +39 -1
  11. data/lib/google/cloud/bigtable/admin.rb +4 -4
  12. data/lib/google/cloud/bigtable/admin/v2.rb +5 -4
  13. data/lib/google/cloud/bigtable/admin/v2/bigtable_instance_admin_client.rb +61 -51
  14. data/lib/google/cloud/bigtable/admin/v2/bigtable_instance_admin_client_config.json +1 -1
  15. data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb +548 -59
  16. data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client_config.json +31 -1
  17. data/lib/google/cloud/bigtable/admin/v2/credentials.rb +1 -1
  18. data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/bigtable_instance_admin.rb +47 -40
  19. data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/bigtable_table_admin.rb +282 -54
  20. data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/instance.rb +16 -18
  21. data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/table.rb +120 -27
  22. data/lib/google/cloud/bigtable/admin/v2/doc/google/iam/v1/iam_policy.rb +1 -1
  23. data/lib/google/cloud/bigtable/admin/v2/doc/google/iam/v1/options.rb +1 -1
  24. data/lib/google/cloud/bigtable/admin/v2/doc/google/iam/v1/policy.rb +1 -1
  25. data/lib/google/cloud/bigtable/admin/v2/doc/google/longrunning/operations.rb +2 -2
  26. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/any.rb +1 -1
  27. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/duration.rb +1 -1
  28. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/empty.rb +1 -1
  29. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/field_mask.rb +1 -1
  30. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/timestamp.rb +1 -1
  31. data/lib/google/cloud/bigtable/admin/v2/doc/google/rpc/status.rb +7 -55
  32. data/lib/google/cloud/bigtable/admin/v2/doc/google/type/expr.rb +1 -1
  33. data/lib/google/cloud/bigtable/instance.rb +4 -7
  34. data/lib/google/cloud/bigtable/policy.rb +1 -1
  35. data/lib/google/cloud/bigtable/service.rb +52 -0
  36. data/lib/google/cloud/bigtable/table.rb +112 -0
  37. data/lib/google/cloud/bigtable/v2.rb +2 -2
  38. data/lib/google/cloud/bigtable/v2/bigtable_client.rb +4 -1
  39. data/lib/google/cloud/bigtable/v2/bigtable_client_config.json +7 -7
  40. data/lib/google/cloud/bigtable/v2/credentials.rb +1 -1
  41. data/lib/google/cloud/bigtable/v2/doc/google/bigtable/v2/bigtable.rb +1 -1
  42. data/lib/google/cloud/bigtable/v2/doc/google/bigtable/v2/data.rb +1 -1
  43. data/lib/google/cloud/bigtable/v2/doc/google/protobuf/any.rb +1 -1
  44. data/lib/google/cloud/bigtable/v2/doc/google/protobuf/wrappers.rb +1 -1
  45. data/lib/google/cloud/bigtable/v2/doc/google/rpc/status.rb +7 -55
  46. data/lib/google/cloud/bigtable/version.rb +1 -1
  47. metadata +4 -4
@@ -73,7 +73,7 @@
73
73
  "retry_params_name": "non_idempotent_params"
74
74
  },
75
75
  "ModifyColumnFamilies": {
76
- "timeout_millis": 60000,
76
+ "timeout_millis": 300000,
77
77
  "retry_codes_name": "non_idempotent",
78
78
  "retry_params_name": "non_idempotent_heavy_params"
79
79
  },
@@ -126,6 +126,36 @@
126
126
  "timeout_millis": 60000,
127
127
  "retry_codes_name": "non_idempotent",
128
128
  "retry_params_name": "non_idempotent_params"
129
+ },
130
+ "CreateBackup": {
131
+ "timeout_millis": 60000,
132
+ "retry_codes_name": "non_idempotent",
133
+ "retry_params_name": "non_idempotent_params"
134
+ },
135
+ "GetBackup": {
136
+ "timeout_millis": 60000,
137
+ "retry_codes_name": "idempotent",
138
+ "retry_params_name": "idempotent_params"
139
+ },
140
+ "ListBackups": {
141
+ "timeout_millis": 60000,
142
+ "retry_codes_name": "idempotent",
143
+ "retry_params_name": "idempotent_params"
144
+ },
145
+ "UpdateBackup": {
146
+ "timeout_millis": 60000,
147
+ "retry_codes_name": "non_idempotent",
148
+ "retry_params_name": "non_idempotent_params"
149
+ },
150
+ "DeleteBackup": {
151
+ "timeout_millis": 60000,
152
+ "retry_codes_name": "non_idempotent",
153
+ "retry_params_name": "non_idempotent_params"
154
+ },
155
+ "RestoreTable": {
156
+ "timeout_millis": 60000,
157
+ "retry_codes_name": "non_idempotent",
158
+ "retry_params_name": "non_idempotent_params"
129
159
  }
130
160
  }
131
161
  }
@@ -1,4 +1,4 @@
1
- # Copyright 2019 Google LLC
1
+ # Copyright 2020 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2019 Google LLC
1
+ # Copyright 2020 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -20,38 +20,38 @@ module Google
20
20
  # Request message for BigtableInstanceAdmin.CreateInstance.
21
21
  # @!attribute [rw] parent
22
22
  # @return [String]
23
- # The unique name of the project in which to create the new instance.
24
- # Values are of the form `projects/<project>`.
23
+ # Required. The unique name of the project in which to create the new instance.
24
+ # Values are of the form `projects/{project}`.
25
25
  # @!attribute [rw] instance_id
26
26
  # @return [String]
27
- # The ID to be used when referring to the new instance within its project,
27
+ # Required. The ID to be used when referring to the new instance within its project,
28
28
  # e.g., just `myinstance` rather than
29
29
  # `projects/myproject/instances/myinstance`.
30
30
  # @!attribute [rw] instance
31
31
  # @return [Google::Bigtable::Admin::V2::Instance]
32
- # The instance to create.
32
+ # Required. The instance to create.
33
33
  # Fields marked `OutputOnly` must be left blank.
34
34
  # @!attribute [rw] clusters
35
35
  # @return [Hash{String => Google::Bigtable::Admin::V2::Cluster}]
36
- # The clusters to be created within the instance, mapped by desired
36
+ # Required. The clusters to be created within the instance, mapped by desired
37
37
  # cluster ID, e.g., just `mycluster` rather than
38
38
  # `projects/myproject/instances/myinstance/clusters/mycluster`.
39
39
  # Fields marked `OutputOnly` must be left blank.
40
- # Currently, at most two clusters can be specified.
40
+ # Currently, at most four clusters can be specified.
41
41
  class CreateInstanceRequest; end
42
42
 
43
43
  # Request message for BigtableInstanceAdmin.GetInstance.
44
44
  # @!attribute [rw] name
45
45
  # @return [String]
46
- # The unique name of the requested instance. Values are of the form
47
- # `projects/<project>/instances/<instance>`.
46
+ # Required. The unique name of the requested instance. Values are of the form
47
+ # `projects/{project}/instances/{instance}`.
48
48
  class GetInstanceRequest; end
49
49
 
50
50
  # Request message for BigtableInstanceAdmin.ListInstances.
51
51
  # @!attribute [rw] parent
52
52
  # @return [String]
53
- # The unique name of the project for which a list of instances is requested.
54
- # Values are of the form `projects/<project>`.
53
+ # Required. The unique name of the project for which a list of instances is requested.
54
+ # Values are of the form `projects/{project}`.
55
55
  # @!attribute [rw] page_token
56
56
  # @return [String]
57
57
  # DEPRECATED: This field is unused and ignored.
@@ -77,50 +77,50 @@ module Google
77
77
  # Request message for BigtableInstanceAdmin.PartialUpdateInstance.
78
78
  # @!attribute [rw] instance
79
79
  # @return [Google::Bigtable::Admin::V2::Instance]
80
- # The Instance which will (partially) replace the current value.
80
+ # Required. The Instance which will (partially) replace the current value.
81
81
  # @!attribute [rw] update_mask
82
82
  # @return [Google::Protobuf::FieldMask]
83
- # The subset of Instance fields which should be replaced.
83
+ # Required. The subset of Instance fields which should be replaced.
84
84
  # Must be explicitly set.
85
85
  class PartialUpdateInstanceRequest; end
86
86
 
87
87
  # Request message for BigtableInstanceAdmin.DeleteInstance.
88
88
  # @!attribute [rw] name
89
89
  # @return [String]
90
- # The unique name of the instance to be deleted.
91
- # Values are of the form `projects/<project>/instances/<instance>`.
90
+ # Required. The unique name of the instance to be deleted.
91
+ # Values are of the form `projects/{project}/instances/{instance}`.
92
92
  class DeleteInstanceRequest; end
93
93
 
94
94
  # Request message for BigtableInstanceAdmin.CreateCluster.
95
95
  # @!attribute [rw] parent
96
96
  # @return [String]
97
- # The unique name of the instance in which to create the new cluster.
97
+ # Required. The unique name of the instance in which to create the new cluster.
98
98
  # Values are of the form
99
- # `projects/<project>/instances/<instance>`.
99
+ # `projects/{project}/instances/{instance}`.
100
100
  # @!attribute [rw] cluster_id
101
101
  # @return [String]
102
- # The ID to be used when referring to the new cluster within its instance,
102
+ # Required. The ID to be used when referring to the new cluster within its instance,
103
103
  # e.g., just `mycluster` rather than
104
104
  # `projects/myproject/instances/myinstance/clusters/mycluster`.
105
105
  # @!attribute [rw] cluster
106
106
  # @return [Google::Bigtable::Admin::V2::Cluster]
107
- # The cluster to be created.
107
+ # Required. The cluster to be created.
108
108
  # Fields marked `OutputOnly` must be left blank.
109
109
  class CreateClusterRequest; end
110
110
 
111
111
  # Request message for BigtableInstanceAdmin.GetCluster.
112
112
  # @!attribute [rw] name
113
113
  # @return [String]
114
- # The unique name of the requested cluster. Values are of the form
115
- # `projects/<project>/instances/<instance>/clusters/<cluster>`.
114
+ # Required. The unique name of the requested cluster. Values are of the form
115
+ # `projects/{project}/instances/{instance}/clusters/{cluster}`.
116
116
  class GetClusterRequest; end
117
117
 
118
118
  # Request message for BigtableInstanceAdmin.ListClusters.
119
119
  # @!attribute [rw] parent
120
120
  # @return [String]
121
- # The unique name of the instance for which a list of clusters is requested.
122
- # Values are of the form `projects/<project>/instances/<instance>`.
123
- # Use `<instance> = '-'` to list Clusters for all Instances in a project,
121
+ # Required. The unique name of the instance for which a list of clusters is requested.
122
+ # Values are of the form `projects/{project}/instances/{instance}`.
123
+ # Use `{instance} = '-'` to list Clusters for all Instances in a project,
124
124
  # e.g., `projects/myproject/instances/-`.
125
125
  # @!attribute [rw] page_token
126
126
  # @return [String]
@@ -146,8 +146,8 @@ module Google
146
146
  # Request message for BigtableInstanceAdmin.DeleteCluster.
147
147
  # @!attribute [rw] name
148
148
  # @return [String]
149
- # The unique name of the cluster to be deleted. Values are of the form
150
- # `projects/<project>/instances/<instance>/clusters/<cluster>`.
149
+ # Required. The unique name of the cluster to be deleted. Values are of the form
150
+ # `projects/{project}/instances/{instance}/clusters/{cluster}`.
151
151
  class DeleteClusterRequest; end
152
152
 
153
153
  # The metadata for the Operation returned by CreateInstance.
@@ -201,17 +201,17 @@ module Google
201
201
  # Request message for BigtableInstanceAdmin.CreateAppProfile.
202
202
  # @!attribute [rw] parent
203
203
  # @return [String]
204
- # The unique name of the instance in which to create the new app profile.
204
+ # Required. The unique name of the instance in which to create the new app profile.
205
205
  # Values are of the form
206
- # `projects/<project>/instances/<instance>`.
206
+ # `projects/{project}/instances/{instance}`.
207
207
  # @!attribute [rw] app_profile_id
208
208
  # @return [String]
209
- # The ID to be used when referring to the new app profile within its
209
+ # Required. The ID to be used when referring to the new app profile within its
210
210
  # instance, e.g., just `myprofile` rather than
211
211
  # `projects/myproject/instances/myinstance/appProfiles/myprofile`.
212
212
  # @!attribute [rw] app_profile
213
213
  # @return [Google::Bigtable::Admin::V2::AppProfile]
214
- # The app profile to be created.
214
+ # Required. The app profile to be created.
215
215
  # Fields marked `OutputOnly` will be ignored.
216
216
  # @!attribute [rw] ignore_warnings
217
217
  # @return [true, false]
@@ -221,22 +221,29 @@ module Google
221
221
  # Request message for BigtableInstanceAdmin.GetAppProfile.
222
222
  # @!attribute [rw] name
223
223
  # @return [String]
224
- # The unique name of the requested app profile. Values are of the form
225
- # `projects/<project>/instances/<instance>/appProfiles/<app_profile>`.
224
+ # Required. The unique name of the requested app profile. Values are of the form
225
+ # `projects/{project}/instances/{instance}/appProfiles/{app_profile}`.
226
226
  class GetAppProfileRequest; end
227
227
 
228
228
  # Request message for BigtableInstanceAdmin.ListAppProfiles.
229
229
  # @!attribute [rw] parent
230
230
  # @return [String]
231
- # The unique name of the instance for which a list of app profiles is
231
+ # Required. The unique name of the instance for which a list of app profiles is
232
232
  # requested. Values are of the form
233
- # `projects/<project>/instances/<instance>`.
234
- # Use `<instance> = '-'` to list AppProfiles for all Instances in a project,
233
+ # `projects/{project}/instances/{instance}`.
234
+ # Use `{instance} = '-'` to list AppProfiles for all Instances in a project,
235
235
  # e.g., `projects/myproject/instances/-`.
236
236
  # @!attribute [rw] page_size
237
237
  # @return [Integer]
238
238
  # Maximum number of results per page.
239
- # CURRENTLY UNIMPLEMENTED AND IGNORED.
239
+ #
240
+ # A page_size of zero lets the server choose the number of items to return.
241
+ # A page_size which is strictly positive will return at most that many items.
242
+ # A negative page_size will cause an error.
243
+ #
244
+ # Following the first request, subsequent paginated calls are not required
245
+ # to pass a page_size. If a page_size is set in subsequent calls, it must
246
+ # match the page_size given in the first request.
240
247
  # @!attribute [rw] page_token
241
248
  # @return [String]
242
249
  # The value of `next_page_token` returned by a previous call.
@@ -262,10 +269,10 @@ module Google
262
269
  # Request message for BigtableInstanceAdmin.UpdateAppProfile.
263
270
  # @!attribute [rw] app_profile
264
271
  # @return [Google::Bigtable::Admin::V2::AppProfile]
265
- # The app profile which will (partially) replace the current value.
272
+ # Required. The app profile which will (partially) replace the current value.
266
273
  # @!attribute [rw] update_mask
267
274
  # @return [Google::Protobuf::FieldMask]
268
- # The subset of app profile fields which should be replaced.
275
+ # Required. The subset of app profile fields which should be replaced.
269
276
  # If unset, all fields will be replaced.
270
277
  # @!attribute [rw] ignore_warnings
271
278
  # @return [true, false]
@@ -275,8 +282,8 @@ module Google
275
282
  # Request message for BigtableInstanceAdmin.DeleteAppProfile.
276
283
  # @!attribute [rw] name
277
284
  # @return [String]
278
- # The unique name of the app profile to be deleted. Values are of the form
279
- # `projects/<project>/instances/<instance>/appProfiles/<app_profile>`.
285
+ # Required. The unique name of the app profile to be deleted. Values are of the form
286
+ # `projects/{project}/instances/{instance}/appProfiles/{app_profile}`.
280
287
  # @!attribute [rw] ignore_warnings
281
288
  # @return [true, false]
282
289
  # If true, ignore safety checks when deleting the app profile.
@@ -1,4 +1,4 @@
1
- # Copyright 2019 Google LLC
1
+ # Copyright 2020 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -21,15 +21,16 @@ module Google
21
21
  # {Google::Bigtable::Admin::V2::BigtableTableAdmin::CreateTable}
22
22
  # @!attribute [rw] parent
23
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>`.
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
26
  # @!attribute [rw] table_id
27
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`.
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.
30
31
  # @!attribute [rw] table
31
32
  # @return [Google::Bigtable::Admin::V2::Table]
32
- # The Table to create.
33
+ # Required. The Table to create.
33
34
  # @!attribute [rw] initial_splits
34
35
  # @return [Array<Google::Bigtable::Admin::V2::CreateTableRequest::Split>]
35
36
  # The optional list of row keys that will be used to initially split the
@@ -65,27 +66,27 @@ module Google
65
66
  # for production use. It is not subject to any SLA or deprecation policy.
66
67
  # @!attribute [rw] parent
67
68
  # @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>`.
69
+ # Required. The unique name of the instance in which to create the table.
70
+ # Values are of the form `projects/{project}/instances/{instance}`.
70
71
  # @!attribute [rw] table_id
71
72
  # @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`.
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`.
74
75
  # @!attribute [rw] source_snapshot
75
76
  # @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>`.
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}`.
80
81
  class CreateTableFromSnapshotRequest; end
81
82
 
82
83
  # Request message for
83
84
  # {Google::Bigtable::Admin::V2::BigtableTableAdmin::DropRowRange}
84
85
  # @!attribute [rw] name
85
86
  # @return [String]
86
- # The unique name of the table on which to drop a range of rows.
87
+ # Required. The unique name of the table on which to drop a range of rows.
87
88
  # Values are of the form
88
- # `projects/<project>/instances/<instance>/tables/<table>`.
89
+ # `projects/{project}/instances/{instance}/tables/{table}`.
89
90
  # @!attribute [rw] row_key_prefix
90
91
  # @return [String]
91
92
  # Delete all rows that start with this row key prefix. Prefix cannot be
@@ -99,16 +100,23 @@ module Google
99
100
  # {Google::Bigtable::Admin::V2::BigtableTableAdmin::ListTables}
100
101
  # @!attribute [rw] parent
101
102
  # @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>`.
103
+ # Required. The unique name of the instance for which tables should be
104
+ # listed. Values are of the form `projects/{project}/instances/{instance}`.
104
105
  # @!attribute [rw] view
105
106
  # @return [Google::Bigtable::Admin::V2::Table::View]
106
107
  # The view to be applied to the returned tables' fields.
107
- # Defaults to `NAME_ONLY` if unspecified; no others are currently supported.
108
+ # Only NAME_ONLY view (default) and REPLICATION_VIEW are supported.
108
109
  # @!attribute [rw] page_size
109
110
  # @return [Integer]
110
111
  # Maximum number of results per page.
111
- # CURRENTLY UNIMPLEMENTED AND IGNORED.
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.
112
120
  # @!attribute [rw] page_token
113
121
  # @return [String]
114
122
  # The value of `next_page_token` returned by a previous call.
@@ -130,9 +138,9 @@ module Google
130
138
  # {Google::Bigtable::Admin::V2::BigtableTableAdmin::GetTable}
131
139
  # @!attribute [rw] name
132
140
  # @return [String]
133
- # The unique name of the requested table.
141
+ # Required. The unique name of the requested table.
134
142
  # Values are of the form
135
- # `projects/<project>/instances/<instance>/tables/<table>`.
143
+ # `projects/{project}/instances/{instance}/tables/{table}`.
136
144
  # @!attribute [rw] view
137
145
  # @return [Google::Bigtable::Admin::V2::Table::View]
138
146
  # The view to be applied to the returned table's fields.
@@ -143,24 +151,24 @@ module Google
143
151
  # {Google::Bigtable::Admin::V2::BigtableTableAdmin::DeleteTable}
144
152
  # @!attribute [rw] name
145
153
  # @return [String]
146
- # The unique name of the table to be deleted.
154
+ # Required. The unique name of the table to be deleted.
147
155
  # Values are of the form
148
- # `projects/<project>/instances/<instance>/tables/<table>`.
156
+ # `projects/{project}/instances/{instance}/tables/{table}`.
149
157
  class DeleteTableRequest; end
150
158
 
151
159
  # Request message for
152
160
  # {Google::Bigtable::Admin::V2::BigtableTableAdmin::ModifyColumnFamilies}
153
161
  # @!attribute [rw] name
154
162
  # @return [String]
155
- # The unique name of the table whose families should be modified.
163
+ # Required. The unique name of the table whose families should be modified.
156
164
  # Values are of the form
157
- # `projects/<project>/instances/<instance>/tables/<table>`.
165
+ # `projects/{project}/instances/{instance}/tables/{table}`.
158
166
  # @!attribute [rw] modifications
159
167
  # @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).
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).
164
172
  class ModifyColumnFamiliesRequest
165
173
  # A create, update, or delete of a particular column family.
166
174
  # @!attribute [rw] id
@@ -185,9 +193,9 @@ module Google
185
193
  # {Google::Bigtable::Admin::V2::BigtableTableAdmin::GenerateConsistencyToken}
186
194
  # @!attribute [rw] name
187
195
  # @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>`.
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}`.
191
199
  class GenerateConsistencyTokenRequest; end
192
200
 
193
201
  # Response message for
@@ -201,12 +209,12 @@ module Google
201
209
  # {Google::Bigtable::Admin::V2::BigtableTableAdmin::CheckConsistency}
202
210
  # @!attribute [rw] name
203
211
  # @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>`.
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}`.
207
215
  # @!attribute [rw] consistency_token
208
216
  # @return [String]
209
- # The token created using GenerateConsistencyToken for the Table.
217
+ # Required. The token created using GenerateConsistencyToken for the Table.
210
218
  class CheckConsistencyRequest; end
211
219
 
212
220
  # Response message for
@@ -226,20 +234,20 @@ module Google
226
234
  # for production use. It is not subject to any SLA or deprecation policy.
227
235
  # @!attribute [rw] name
228
236
  # @return [String]
229
- # The unique name of the table to have the snapshot taken.
237
+ # Required. The unique name of the table to have the snapshot taken.
230
238
  # Values are of the form
231
- # `projects/<project>/instances/<instance>/tables/<table>`.
239
+ # `projects/{project}/instances/{instance}/tables/{table}`.
232
240
  # @!attribute [rw] cluster
233
241
  # @return [String]
234
- # The name of the cluster where the snapshot will be created in.
242
+ # Required. The name of the cluster where the snapshot will be created in.
235
243
  # Values are of the form
236
- # `projects/<project>/instances/<instance>/clusters/<cluster>`.
244
+ # `projects/{project}/instances/{instance}/clusters/{cluster}`.
237
245
  # @!attribute [rw] snapshot_id
238
246
  # @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`.
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`.
243
251
  # @!attribute [rw] ttl
244
252
  # @return [Google::Protobuf::Duration]
245
253
  # The amount of time that the new snapshot can stay active after it is
@@ -260,9 +268,9 @@ module Google
260
268
  # for production use. It is not subject to any SLA or deprecation policy.
261
269
  # @!attribute [rw] name
262
270
  # @return [String]
263
- # The unique name of the requested snapshot.
271
+ # Required. The unique name of the requested snapshot.
264
272
  # Values are of the form
265
- # `projects/<project>/instances/<instance>/clusters/<cluster>/snapshots/<snapshot>`.
273
+ # `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}`.
266
274
  class GetSnapshotRequest; end
267
275
 
268
276
  # Request message for
@@ -274,11 +282,11 @@ module Google
274
282
  # for production use. It is not subject to any SLA or deprecation policy.
275
283
  # @!attribute [rw] parent
276
284
  # @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/-`.
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/-`.
282
290
  # @!attribute [rw] page_size
283
291
  # @return [Integer]
284
292
  # The maximum number of snapshots to return per page.
@@ -314,9 +322,9 @@ module Google
314
322
  # for production use. It is not subject to any SLA or deprecation policy.
315
323
  # @!attribute [rw] name
316
324
  # @return [String]
317
- # The unique name of the snapshot to be deleted.
325
+ # Required. The unique name of the snapshot to be deleted.
318
326
  # Values are of the form
319
- # `projects/<project>/instances/<instance>/clusters/<cluster>/snapshots/<snapshot>`.
327
+ # `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}`.
320
328
  class DeleteSnapshotRequest; end
321
329
 
322
330
  # The metadata for the Operation returned by SnapshotTable.
@@ -353,6 +361,226 @@ module Google
353
361
  # @return [Google::Protobuf::Timestamp]
354
362
  # The time at which the operation failed or was completed successfully.
355
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
356
584
  end
357
585
  end
358
586
  end