google-cloud-bigtable 1.0.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -0
  3. data/lib/google/bigtable/admin/v2/bigtable_instance_admin_pb.rb +3 -0
  4. data/lib/google/bigtable/admin/v2/bigtable_instance_admin_services_pb.rb +6 -3
  5. data/lib/google/bigtable/admin/v2/bigtable_table_admin_pb.rb +67 -0
  6. data/lib/google/bigtable/admin/v2/bigtable_table_admin_services_pb.rb +33 -6
  7. data/lib/google/bigtable/admin/v2/common_pb.rb +6 -1
  8. data/lib/google/bigtable/admin/v2/instance_pb.rb +2 -1
  9. data/lib/google/bigtable/admin/v2/table_pb.rb +39 -1
  10. data/lib/google/cloud/bigtable/admin.rb +3 -3
  11. data/lib/google/cloud/bigtable/admin/v2.rb +4 -3
  12. data/lib/google/cloud/bigtable/admin/v2/bigtable_instance_admin_client.rb +61 -51
  13. data/lib/google/cloud/bigtable/admin/v2/bigtable_instance_admin_client_config.json +1 -1
  14. data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb +548 -59
  15. data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client_config.json +31 -1
  16. data/lib/google/cloud/bigtable/admin/v2/credentials.rb +1 -1
  17. data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/bigtable_instance_admin.rb +47 -40
  18. data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/bigtable_table_admin.rb +282 -54
  19. data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/instance.rb +16 -18
  20. data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/table.rb +120 -27
  21. data/lib/google/cloud/bigtable/admin/v2/doc/google/iam/v1/iam_policy.rb +1 -1
  22. data/lib/google/cloud/bigtable/admin/v2/doc/google/iam/v1/options.rb +1 -1
  23. data/lib/google/cloud/bigtable/admin/v2/doc/google/iam/v1/policy.rb +1 -1
  24. data/lib/google/cloud/bigtable/admin/v2/doc/google/longrunning/operations.rb +2 -2
  25. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/any.rb +1 -1
  26. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/duration.rb +1 -1
  27. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/empty.rb +1 -1
  28. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/field_mask.rb +1 -1
  29. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/timestamp.rb +1 -1
  30. data/lib/google/cloud/bigtable/admin/v2/doc/google/rpc/status.rb +7 -55
  31. data/lib/google/cloud/bigtable/admin/v2/doc/google/type/expr.rb +1 -1
  32. data/lib/google/cloud/bigtable/instance.rb +4 -7
  33. data/lib/google/cloud/bigtable/policy.rb +1 -1
  34. data/lib/google/cloud/bigtable/service.rb +52 -0
  35. data/lib/google/cloud/bigtable/table.rb +112 -0
  36. data/lib/google/cloud/bigtable/v2.rb +2 -2
  37. data/lib/google/cloud/bigtable/v2/bigtable_client.rb +4 -10
  38. data/lib/google/cloud/bigtable/v2/bigtable_client_config.json +7 -7
  39. data/lib/google/cloud/bigtable/v2/credentials.rb +1 -1
  40. data/lib/google/cloud/bigtable/v2/doc/google/bigtable/v2/bigtable.rb +1 -19
  41. data/lib/google/cloud/bigtable/v2/doc/google/bigtable/v2/data.rb +1 -1
  42. data/lib/google/cloud/bigtable/v2/doc/google/protobuf/any.rb +1 -1
  43. data/lib/google/cloud/bigtable/v2/doc/google/protobuf/wrappers.rb +1 -1
  44. data/lib/google/cloud/bigtable/v2/doc/google/rpc/status.rb +7 -55
  45. data/lib/google/cloud/bigtable/version.rb +1 -1
  46. 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