google-cloud-bigtable-admin-v2 0.1.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.md +188 -190
  3. data/README.md +64 -0
  4. data/lib/google/bigtable/admin/v2/bigtable_instance_admin_services_pb.rb +20 -21
  5. data/lib/google/bigtable/admin/v2/bigtable_table_admin_pb.rb +27 -27
  6. data/lib/google/bigtable/admin/v2/bigtable_table_admin_services_pb.rb +30 -30
  7. data/lib/google/bigtable/admin/v2/instance_pb.rb +5 -0
  8. data/lib/google/bigtable/admin/v2/table_pb.rb +16 -0
  9. data/lib/google/cloud/bigtable/admin/v2.rb +3 -0
  10. data/lib/google/cloud/bigtable/admin/v2/bigtable_instance_admin/client.rb +13 -5
  11. data/lib/google/cloud/bigtable/admin/v2/bigtable_instance_admin/operations.rb +90 -5
  12. data/lib/google/cloud/bigtable/admin/v2/bigtable_instance_admin/paths.rb +21 -0
  13. data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin/client.rb +67 -47
  14. data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin/operations.rb +90 -5
  15. data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin/paths.rb +23 -0
  16. data/lib/google/cloud/bigtable/admin/v2/version.rb +1 -1
  17. data/proto_docs/google/api/field_behavior.rb +6 -0
  18. data/proto_docs/google/api/resource.rb +50 -14
  19. data/proto_docs/google/bigtable/admin/v2/bigtable_instance_admin.rb +1 -1
  20. data/proto_docs/google/bigtable/admin/v2/bigtable_table_admin.rb +114 -123
  21. data/proto_docs/google/bigtable/admin/v2/instance.rb +21 -1
  22. data/proto_docs/google/bigtable/admin/v2/table.rb +58 -4
  23. data/proto_docs/google/longrunning/operations.rb +17 -3
  24. data/proto_docs/google/protobuf/any.rb +5 -2
  25. data/proto_docs/google/protobuf/timestamp.rb +10 -1
  26. metadata +7 -4
@@ -130,10 +130,30 @@ module Google
130
130
  # (`CreationOnly`)
131
131
  # The type of storage used by this cluster to serve its
132
132
  # parent instance's tables, unless explicitly overridden.
133
+ # @!attribute [rw] encryption_config
134
+ # @return [::Google::Cloud::Bigtable::Admin::V2::Cluster::EncryptionConfig]
135
+ # Immutable. The encryption configuration for CMEK-protected clusters.
133
136
  class Cluster
134
137
  include ::Google::Protobuf::MessageExts
135
138
  extend ::Google::Protobuf::MessageExts::ClassMethods
136
139
 
140
+ # Cloud Key Management Service (Cloud KMS) settings for a CMEK-protected
141
+ # cluster.
142
+ # @!attribute [rw] kms_key_name
143
+ # @return [::String]
144
+ # Describes the Cloud KMS encryption key that will be used to protect the
145
+ # destination Bigtable cluster. The requirements for this key are:
146
+ # 1) The Cloud Bigtable service account associated with the project that
147
+ # contains this cluster must be granted the
148
+ # `cloudkms.cryptoKeyEncrypterDecrypter` role on the CMEK key.
149
+ # 2) Only regional keys can be used and the region of the CMEK key must
150
+ # match the region of the cluster.
151
+ # 3) All clusters within an instance must use the same CMEK key.
152
+ class EncryptionConfig
153
+ include ::Google::Protobuf::MessageExts
154
+ extend ::Google::Protobuf::MessageExts::ClassMethods
155
+ end
156
+
137
157
  # Possible states of a cluster.
138
158
  module State
139
159
  # The state of the cluster could not be determined.
@@ -166,7 +186,7 @@ module Google
166
186
  # @return [::String]
167
187
  # (`OutputOnly`)
168
188
  # The unique name of the app profile. Values are of the form
169
- # `projects/<project>/instances/<instance>/appProfiles/[_a-zA-Z0-9][-_.a-zA-Z0-9]*`.
189
+ # `projects/{project}/instances/{instance}/appProfiles/[_a-zA-Z0-9][-_.a-zA-Z0-9]*`.
170
190
  # @!attribute [rw] etag
171
191
  # @return [::String]
172
192
  # Strongly validated etag for optimistic concurrency control. Preserve the
@@ -39,8 +39,8 @@ module Google
39
39
  # Each table is served using the resources of its parent cluster.
40
40
  # @!attribute [rw] name
41
41
  # @return [::String]
42
- # Output only. The unique name of the table. Values are of the form
43
- # `projects/<project>/instances/<instance>/tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]*`.
42
+ # The unique name of the table. Values are of the form
43
+ # `projects/{project}/instances/{instance}/tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]*`.
44
44
  # Views: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `FULL`
45
45
  # @!attribute [rw] cluster_states
46
46
  # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState}]
@@ -48,7 +48,7 @@ module Google
48
48
  # If it could not be determined whether or not the table has data in a
49
49
  # particular cluster (for example, if its zone is unavailable), then
50
50
  # there will be an entry for the cluster with UNKNOWN `replication_status`.
51
- # Views: `REPLICATION_VIEW`, `FULL`
51
+ # Views: `REPLICATION_VIEW`, `ENCRYPTION_VIEW`, `FULL`
52
52
  # @!attribute [rw] column_families
53
53
  # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Bigtable::Admin::V2::ColumnFamily}]
54
54
  # (`CreationOnly`)
@@ -73,6 +73,13 @@ module Google
73
73
  # @!attribute [rw] replication_state
74
74
  # @return [::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState::ReplicationState]
75
75
  # Output only. The state of replication for the table in this cluster.
76
+ # @!attribute [r] encryption_info
77
+ # @return [::Array<::Google::Cloud::Bigtable::Admin::V2::EncryptionInfo>]
78
+ # Output only. The encryption information for the table in this cluster.
79
+ # If the encryption key protecting this resource is customer managed, then
80
+ # its version can be rotated in Cloud Key Management Service (Cloud KMS).
81
+ # The primary version of the key and its status will be reflected here when
82
+ # changes propagate from Cloud KMS.
76
83
  class ClusterState
77
84
  include ::Google::Protobuf::MessageExts
78
85
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -151,6 +158,9 @@ module Google
151
158
  # state.
152
159
  REPLICATION_VIEW = 3
153
160
 
161
+ # Only populates 'name' and fields related to the table's encryption state.
162
+ ENCRYPTION_VIEW = 5
163
+
154
164
  # Populates all fields.
155
165
  FULL = 4
156
166
  end
@@ -208,6 +218,47 @@ module Google
208
218
  end
209
219
  end
210
220
 
221
+ # Encryption information for a given resource.
222
+ # If this resource is protected with customer managed encryption, the in-use
223
+ # Cloud Key Management Service (Cloud KMS) key version is specified along with
224
+ # its status.
225
+ # @!attribute [r] encryption_type
226
+ # @return [::Google::Cloud::Bigtable::Admin::V2::EncryptionInfo::EncryptionType]
227
+ # Output only. The type of encryption used to protect this resource.
228
+ # @!attribute [r] encryption_status
229
+ # @return [::Google::Rpc::Status]
230
+ # Output only. The status of encrypt/decrypt calls on underlying data for
231
+ # this resource. Regardless of status, the existing data is always encrypted
232
+ # at rest.
233
+ # @!attribute [r] kms_key_version
234
+ # @return [::String]
235
+ # Output only. The version of the Cloud KMS key specified in the parent
236
+ # cluster that is in use for the data underlying this table.
237
+ class EncryptionInfo
238
+ include ::Google::Protobuf::MessageExts
239
+ extend ::Google::Protobuf::MessageExts::ClassMethods
240
+
241
+ # Possible encryption types for a resource.
242
+ module EncryptionType
243
+ # Encryption type was not specified, though data at rest remains encrypted.
244
+ ENCRYPTION_TYPE_UNSPECIFIED = 0
245
+
246
+ # The data backing this resource is encrypted at rest with a key that is
247
+ # fully managed by Google. No key version or status will be populated.
248
+ # This is the default state.
249
+ GOOGLE_DEFAULT_ENCRYPTION = 1
250
+
251
+ # The data backing this resource is encrypted at rest with a key that is
252
+ # managed by the customer.
253
+ # The in-use version of the key and its status are populated for
254
+ # CMEK-protected tables.
255
+ # CMEK-protected backups are pinned to the key version that was in use at
256
+ # the time the backup was taken. This key version is populated but its
257
+ # status is not tracked and is reported as `UNKNOWN`.
258
+ CUSTOMER_MANAGED_ENCRYPTION = 2
259
+ end
260
+ end
261
+
211
262
  # A snapshot of a table at a particular time. A snapshot can be used as a
212
263
  # checkpoint for data restoration or a data source for a new table.
213
264
  #
@@ -219,7 +270,7 @@ module Google
219
270
  # @return [::String]
220
271
  # Output only. The unique name of the snapshot.
221
272
  # Values are of the form
222
- # `projects/<project>/instances/<instance>/clusters/<cluster>/snapshots/<snapshot>`.
273
+ # `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}`.
223
274
  # @!attribute [rw] source_table
224
275
  # @return [::Google::Cloud::Bigtable::Admin::V2::Table]
225
276
  # Output only. The source table at the time the snapshot was taken.
@@ -304,6 +355,9 @@ module Google
304
355
  # @!attribute [r] state
305
356
  # @return [::Google::Cloud::Bigtable::Admin::V2::Backup::State]
306
357
  # Output only. The current state of the backup.
358
+ # @!attribute [r] encryption_info
359
+ # @return [::Google::Cloud::Bigtable::Admin::V2::EncryptionInfo]
360
+ # Output only. The encryption information for the backup.
307
361
  class Backup
308
362
  include ::Google::Protobuf::MessageExts
309
363
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -25,7 +25,7 @@ module Google
25
25
  # @return [::String]
26
26
  # The server-assigned name, which is only unique within the same service that
27
27
  # originally returns it. If you use the default HTTP mapping, the
28
- # `name` should have the format of `operations/some/unique/name`.
28
+ # `name` should be a resource name ending with `operations/{unique_id}`.
29
29
  # @!attribute [rw] metadata
30
30
  # @return [::Google::Protobuf::Any]
31
31
  # Service-specific metadata associated with the operation. It typically
@@ -35,7 +35,7 @@ module Google
35
35
  # @!attribute [rw] done
36
36
  # @return [::Boolean]
37
37
  # If the value is `false`, it means the operation is still in progress.
38
- # If true, the operation is completed, and either `error` or `response` is
38
+ # If `true`, the operation is completed, and either `error` or `response` is
39
39
  # available.
40
40
  # @!attribute [rw] error
41
41
  # @return [::Google::Rpc::Status]
@@ -67,7 +67,7 @@ module Google
67
67
  # The request message for Operations.ListOperations.
68
68
  # @!attribute [rw] name
69
69
  # @return [::String]
70
- # The name of the operation collection.
70
+ # The name of the operation's parent resource.
71
71
  # @!attribute [rw] filter
72
72
  # @return [::String]
73
73
  # The standard list filter.
@@ -112,6 +112,20 @@ module Google
112
112
  extend ::Google::Protobuf::MessageExts::ClassMethods
113
113
  end
114
114
 
115
+ # The request message for Operations.WaitOperation.
116
+ # @!attribute [rw] name
117
+ # @return [::String]
118
+ # The name of the operation resource to wait on.
119
+ # @!attribute [rw] timeout
120
+ # @return [::Google::Protobuf::Duration]
121
+ # The maximum duration to wait before timing out. If left blank, the wait
122
+ # will be at most the time permitted by the underlying HTTP/RPC protocol.
123
+ # If RPC context deadline is also specified, the shorter one will be used.
124
+ class WaitOperationRequest
125
+ include ::Google::Protobuf::MessageExts
126
+ extend ::Google::Protobuf::MessageExts::ClassMethods
127
+ end
128
+
115
129
  # A message representing the message types used by a long-running operation.
116
130
  #
117
131
  # Example:
@@ -57,10 +57,13 @@ module Google
57
57
  # Example 4: Pack and unpack a message in Go
58
58
  #
59
59
  # foo := &pb.Foo{...}
60
- # any, err := ptypes.MarshalAny(foo)
60
+ # any, err := anypb.New(foo)
61
+ # if err != nil {
62
+ # ...
63
+ # }
61
64
  # ...
62
65
  # foo := &pb.Foo{}
63
- # if err := ptypes.UnmarshalAny(any, foo); err != nil {
66
+ # if err := any.UnmarshalTo(foo); err != nil {
64
67
  # ...
65
68
  # }
66
69
  #
@@ -70,7 +70,16 @@ module Google
70
70
  # .setNanos((int) ((millis % 1000) * 1000000)).build();
71
71
  #
72
72
  #
73
- # Example 5: Compute Timestamp from current time in Python.
73
+ # Example 5: Compute Timestamp from Java `Instant.now()`.
74
+ #
75
+ # Instant now = Instant.now();
76
+ #
77
+ # Timestamp timestamp =
78
+ # Timestamp.newBuilder().setSeconds(now.getEpochSecond())
79
+ # .setNanos(now.getNano()).build();
80
+ #
81
+ #
82
+ # Example 6: Compute Timestamp from current time in Python.
74
83
  #
75
84
  # timestamp = Timestamp()
76
85
  # timestamp.GetCurrentTime()
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-bigtable-admin-v2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-06 00:00:00.000000000 Z
11
+ date: 2021-02-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -171,7 +171,10 @@ dependencies:
171
171
  - !ruby/object:Gem::Version
172
172
  version: '0.9'
173
173
  description: Cloud Bigtable is a fully managed, scalable NoSQL database service for
174
- large analytical and operational workloads.
174
+ large analytical and operational workloads. Note that google-cloud-bigtable-admin-v2
175
+ is a version-specific client library. For most uses, we recommend installing the
176
+ main client library google-cloud-bigtable-admin instead. See the readme for more
177
+ details.
175
178
  email: googleapis-packages@google.com
176
179
  executables: []
177
180
  extensions: []
@@ -239,7 +242,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
239
242
  - !ruby/object:Gem::Version
240
243
  version: '0'
241
244
  requirements: []
242
- rubygems_version: 3.1.3
245
+ rubygems_version: 3.2.11
243
246
  signing_key:
244
247
  specification_version: 4
245
248
  summary: API Client library for the Cloud Bigtable Admin V2 API