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

Sign up to get free protection for your applications and to get access to all the features.
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