google-cloud-secret_manager-v1beta2 0.a → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +144 -8
  5. data/lib/google/cloud/secret_manager/v1beta2/bindings_override.rb +102 -0
  6. data/lib/google/cloud/secret_manager/v1beta2/rest.rb +38 -0
  7. data/lib/google/cloud/secret_manager/v1beta2/secret_manager_service/client.rb +1940 -0
  8. data/lib/google/cloud/secret_manager/v1beta2/secret_manager_service/credentials.rb +51 -0
  9. data/lib/google/cloud/secret_manager/v1beta2/secret_manager_service/paths.rb +167 -0
  10. data/lib/google/cloud/secret_manager/v1beta2/secret_manager_service/rest/client.rb +1817 -0
  11. data/lib/google/cloud/secret_manager/v1beta2/secret_manager_service/rest/service_stub.rb +1075 -0
  12. data/lib/google/cloud/secret_manager/v1beta2/secret_manager_service/rest.rb +59 -0
  13. data/lib/google/cloud/secret_manager/v1beta2/secret_manager_service.rb +61 -0
  14. data/lib/google/cloud/secret_manager/v1beta2/version.rb +7 -2
  15. data/lib/google/cloud/secret_manager/v1beta2.rb +45 -0
  16. data/lib/google/cloud/secretmanager/v1beta2/resources_pb.rb +64 -0
  17. data/lib/google/cloud/secretmanager/v1beta2/service_pb.rb +68 -0
  18. data/lib/google/cloud/secretmanager/v1beta2/service_services_pb.rb +125 -0
  19. data/lib/google-cloud-secret_manager-v1beta2.rb +21 -0
  20. data/proto_docs/README.md +4 -0
  21. data/proto_docs/google/api/client.rb +399 -0
  22. data/proto_docs/google/api/field_behavior.rb +85 -0
  23. data/proto_docs/google/api/launch_stage.rb +71 -0
  24. data/proto_docs/google/api/resource.rb +222 -0
  25. data/proto_docs/google/cloud/secretmanager/v1beta2/resources.rb +499 -0
  26. data/proto_docs/google/cloud/secretmanager/v1beta2/service.rb +321 -0
  27. data/proto_docs/google/iam/v1/iam_policy.rb +87 -0
  28. data/proto_docs/google/iam/v1/options.rb +50 -0
  29. data/proto_docs/google/iam/v1/policy.rb +426 -0
  30. data/proto_docs/google/protobuf/any.rb +145 -0
  31. data/proto_docs/google/protobuf/duration.rb +98 -0
  32. data/proto_docs/google/protobuf/empty.rb +34 -0
  33. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  34. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  35. data/proto_docs/google/type/expr.rb +75 -0
  36. metadata +110 -10
@@ -0,0 +1,499 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module SecretManager
23
+ module V1beta2
24
+ # A {::Google::Cloud::SecretManager::V1beta2::Secret Secret} is a logical secret
25
+ # whose value and versions can be accessed.
26
+ #
27
+ # A {::Google::Cloud::SecretManager::V1beta2::Secret Secret} is made up of zero or
28
+ # more {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersions} that
29
+ # represent the secret data.
30
+ # @!attribute [r] name
31
+ # @return [::String]
32
+ # Output only. The resource name of the
33
+ # {::Google::Cloud::SecretManager::V1beta2::Secret Secret} in the format
34
+ # `projects/*/secrets/*`.
35
+ # @!attribute [rw] replication
36
+ # @return [::Google::Cloud::SecretManager::V1beta2::Replication]
37
+ # Optional. Immutable. The replication policy of the secret data attached to
38
+ # the {::Google::Cloud::SecretManager::V1beta2::Secret Secret}.
39
+ #
40
+ # The replication policy cannot be changed after the Secret has been created.
41
+ # @!attribute [r] create_time
42
+ # @return [::Google::Protobuf::Timestamp]
43
+ # Output only. The time at which the
44
+ # {::Google::Cloud::SecretManager::V1beta2::Secret Secret} was created.
45
+ # @!attribute [rw] labels
46
+ # @return [::Google::Protobuf::Map{::String => ::String}]
47
+ # The labels assigned to this Secret.
48
+ #
49
+ # Label keys must be between 1 and 63 characters long, have a UTF-8 encoding
50
+ # of maximum 128 bytes, and must conform to the following PCRE regular
51
+ # expression: `[\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}`
52
+ #
53
+ # Label values must be between 0 and 63 characters long, have a UTF-8
54
+ # encoding of maximum 128 bytes, and must conform to the following PCRE
55
+ # regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`
56
+ #
57
+ # No more than 64 labels can be assigned to a given resource.
58
+ # @!attribute [rw] topics
59
+ # @return [::Array<::Google::Cloud::SecretManager::V1beta2::Topic>]
60
+ # Optional. A list of up to 10 Pub/Sub topics to which messages are published
61
+ # when control plane operations are called on the secret or its versions.
62
+ # @!attribute [rw] expire_time
63
+ # @return [::Google::Protobuf::Timestamp]
64
+ # Optional. Timestamp in UTC when the
65
+ # {::Google::Cloud::SecretManager::V1beta2::Secret Secret} is scheduled to
66
+ # expire. This is always provided on output, regardless of what was sent on
67
+ # input.
68
+ # @!attribute [rw] ttl
69
+ # @return [::Google::Protobuf::Duration]
70
+ # Input only. The TTL for the
71
+ # {::Google::Cloud::SecretManager::V1beta2::Secret Secret}.
72
+ # @!attribute [rw] etag
73
+ # @return [::String]
74
+ # Optional. Etag of the currently stored
75
+ # {::Google::Cloud::SecretManager::V1beta2::Secret Secret}.
76
+ # @!attribute [rw] rotation
77
+ # @return [::Google::Cloud::SecretManager::V1beta2::Rotation]
78
+ # Optional. Rotation policy attached to the
79
+ # {::Google::Cloud::SecretManager::V1beta2::Secret Secret}. May be excluded if
80
+ # there is no rotation policy.
81
+ # @!attribute [rw] version_aliases
82
+ # @return [::Google::Protobuf::Map{::String => ::Integer}]
83
+ # Optional. Mapping from version alias to version name.
84
+ #
85
+ # A version alias is a string with a maximum length of 63 characters and can
86
+ # contain uppercase and lowercase letters, numerals, and the hyphen (`-`)
87
+ # and underscore ('_') characters. An alias string must start with a
88
+ # letter and cannot be the string 'latest' or 'NEW'.
89
+ # No more than 50 aliases can be assigned to a given secret.
90
+ #
91
+ # Version-Alias pairs will be viewable via GetSecret and modifiable via
92
+ # UpdateSecret. Access by alias is only supported for
93
+ # GetSecretVersion and AccessSecretVersion.
94
+ # @!attribute [rw] annotations
95
+ # @return [::Google::Protobuf::Map{::String => ::String}]
96
+ # Optional. Custom metadata about the secret.
97
+ #
98
+ # Annotations are distinct from various forms of labels.
99
+ # Annotations exist to allow client tools to store their own state
100
+ # information without requiring a database.
101
+ #
102
+ # Annotation keys must be between 1 and 63 characters long, have a UTF-8
103
+ # encoding of maximum 128 bytes, begin and end with an alphanumeric character
104
+ # ([a-z0-9A-Z]), and may have dashes (-), underscores (_), dots (.), and
105
+ # alphanumerics in between these symbols.
106
+ #
107
+ # The total size of annotation keys and values must be less than 16KiB.
108
+ # @!attribute [rw] version_destroy_ttl
109
+ # @return [::Google::Protobuf::Duration]
110
+ # Optional. Secret Version TTL after destruction request
111
+ #
112
+ # This is a part of the Delayed secret version destroy feature.
113
+ # For secret with TTL>0, version destruction doesn't happen immediately
114
+ # on calling destroy instead the version goes to a disabled state and
115
+ # destruction happens after the TTL expires.
116
+ # @!attribute [rw] customer_managed_encryption
117
+ # @return [::Google::Cloud::SecretManager::V1beta2::CustomerManagedEncryption]
118
+ # Optional. The customer-managed encryption configuration of the Regionalised
119
+ # Secrets. If no configuration is provided, Google-managed default encryption
120
+ # is used.
121
+ #
122
+ # Updates to the {::Google::Cloud::SecretManager::V1beta2::Secret Secret}
123
+ # encryption configuration only apply to
124
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersions} added
125
+ # afterwards. They do not apply retroactively to existing
126
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersions}.
127
+ class Secret
128
+ include ::Google::Protobuf::MessageExts
129
+ extend ::Google::Protobuf::MessageExts::ClassMethods
130
+
131
+ # @!attribute [rw] key
132
+ # @return [::String]
133
+ # @!attribute [rw] value
134
+ # @return [::String]
135
+ class LabelsEntry
136
+ include ::Google::Protobuf::MessageExts
137
+ extend ::Google::Protobuf::MessageExts::ClassMethods
138
+ end
139
+
140
+ # @!attribute [rw] key
141
+ # @return [::String]
142
+ # @!attribute [rw] value
143
+ # @return [::Integer]
144
+ class VersionAliasesEntry
145
+ include ::Google::Protobuf::MessageExts
146
+ extend ::Google::Protobuf::MessageExts::ClassMethods
147
+ end
148
+
149
+ # @!attribute [rw] key
150
+ # @return [::String]
151
+ # @!attribute [rw] value
152
+ # @return [::String]
153
+ class AnnotationsEntry
154
+ include ::Google::Protobuf::MessageExts
155
+ extend ::Google::Protobuf::MessageExts::ClassMethods
156
+ end
157
+ end
158
+
159
+ # A secret version resource in the Secret Manager API.
160
+ # @!attribute [r] name
161
+ # @return [::String]
162
+ # Output only. The resource name of the
163
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersion} in the
164
+ # format `projects/*/secrets/*/versions/*`.
165
+ #
166
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersion} IDs in a
167
+ # {::Google::Cloud::SecretManager::V1beta2::Secret Secret} start at 1 and are
168
+ # incremented for each subsequent version of the secret.
169
+ # @!attribute [r] create_time
170
+ # @return [::Google::Protobuf::Timestamp]
171
+ # Output only. The time at which the
172
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersion} was
173
+ # created.
174
+ # @!attribute [r] destroy_time
175
+ # @return [::Google::Protobuf::Timestamp]
176
+ # Output only. The time this
177
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersion} was
178
+ # destroyed. Only present if
179
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion#state state} is
180
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion::State::DESTROYED DESTROYED}.
181
+ # @!attribute [r] state
182
+ # @return [::Google::Cloud::SecretManager::V1beta2::SecretVersion::State]
183
+ # Output only. The current state of the
184
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersion}.
185
+ # @!attribute [rw] replication_status
186
+ # @return [::Google::Cloud::SecretManager::V1beta2::ReplicationStatus]
187
+ # The replication status of the
188
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersion}.
189
+ # @!attribute [r] etag
190
+ # @return [::String]
191
+ # Output only. Etag of the currently stored
192
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersion}.
193
+ # @!attribute [r] client_specified_payload_checksum
194
+ # @return [::Boolean]
195
+ # Output only. True if payload checksum specified in
196
+ # {::Google::Cloud::SecretManager::V1beta2::SecretPayload SecretPayload} object
197
+ # has been received by
198
+ # {::Google::Cloud::SecretManager::V1beta2::SecretManagerService::Client SecretManagerService}
199
+ # on
200
+ # {::Google::Cloud::SecretManager::V1beta2::SecretManagerService::Client#add_secret_version SecretManagerService.AddSecretVersion}.
201
+ # @!attribute [r] scheduled_destroy_time
202
+ # @return [::Google::Protobuf::Timestamp]
203
+ # Optional. Output only. Scheduled destroy time for secret version.
204
+ # This is a part of the Delayed secret version destroy feature. For a
205
+ # Secret with a valid version destroy TTL, when a secert version is
206
+ # destroyed, version is moved to disabled state and it is scheduled for
207
+ # destruction Version is destroyed only after the scheduled_destroy_time.
208
+ # @!attribute [r] customer_managed_encryption
209
+ # @return [::Google::Cloud::SecretManager::V1beta2::CustomerManagedEncryptionStatus]
210
+ # Output only. The customer-managed encryption status of the
211
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersion}. Only
212
+ # populated if customer-managed encryption is used and
213
+ # {::Google::Cloud::SecretManager::V1beta2::Secret Secret} is a Regionalised
214
+ # Secret.
215
+ class SecretVersion
216
+ include ::Google::Protobuf::MessageExts
217
+ extend ::Google::Protobuf::MessageExts::ClassMethods
218
+
219
+ # The state of a
220
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersion},
221
+ # indicating if it can be accessed.
222
+ module State
223
+ # Not specified. This value is unused and invalid.
224
+ STATE_UNSPECIFIED = 0
225
+
226
+ # The {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersion} may
227
+ # be accessed.
228
+ ENABLED = 1
229
+
230
+ # The {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersion} may
231
+ # not be accessed, but the secret data is still available and can be placed
232
+ # back into the
233
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion::State::ENABLED ENABLED}
234
+ # state.
235
+ DISABLED = 2
236
+
237
+ # The {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersion} is
238
+ # destroyed and the secret data is no longer stored. A version may not
239
+ # leave this state once entered.
240
+ DESTROYED = 3
241
+ end
242
+ end
243
+
244
+ # A policy that defines the replication and encryption configuration of data.
245
+ # @!attribute [rw] automatic
246
+ # @return [::Google::Cloud::SecretManager::V1beta2::Replication::Automatic]
247
+ # The {::Google::Cloud::SecretManager::V1beta2::Secret Secret} will
248
+ # automatically be replicated without any restrictions.
249
+ # @!attribute [rw] user_managed
250
+ # @return [::Google::Cloud::SecretManager::V1beta2::Replication::UserManaged]
251
+ # The {::Google::Cloud::SecretManager::V1beta2::Secret Secret} will only be
252
+ # replicated into the locations specified.
253
+ class Replication
254
+ include ::Google::Protobuf::MessageExts
255
+ extend ::Google::Protobuf::MessageExts::ClassMethods
256
+
257
+ # A replication policy that replicates the
258
+ # {::Google::Cloud::SecretManager::V1beta2::Secret Secret} payload without any
259
+ # restrictions.
260
+ # @!attribute [rw] customer_managed_encryption
261
+ # @return [::Google::Cloud::SecretManager::V1beta2::CustomerManagedEncryption]
262
+ # Optional. The customer-managed encryption configuration of the
263
+ # {::Google::Cloud::SecretManager::V1beta2::Secret Secret}. If no configuration
264
+ # is provided, Google-managed default encryption is used.
265
+ #
266
+ # Updates to the {::Google::Cloud::SecretManager::V1beta2::Secret Secret}
267
+ # encryption configuration only apply to
268
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersions} added
269
+ # afterwards. They do not apply retroactively to existing
270
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersions}.
271
+ class Automatic
272
+ include ::Google::Protobuf::MessageExts
273
+ extend ::Google::Protobuf::MessageExts::ClassMethods
274
+ end
275
+
276
+ # A replication policy that replicates the
277
+ # {::Google::Cloud::SecretManager::V1beta2::Secret Secret} payload into the
278
+ # locations specified in [Secret.replication.user_managed.replicas][]
279
+ # @!attribute [rw] replicas
280
+ # @return [::Array<::Google::Cloud::SecretManager::V1beta2::Replication::UserManaged::Replica>]
281
+ # Required. The list of Replicas for this
282
+ # {::Google::Cloud::SecretManager::V1beta2::Secret Secret}.
283
+ #
284
+ # Cannot be empty.
285
+ class UserManaged
286
+ include ::Google::Protobuf::MessageExts
287
+ extend ::Google::Protobuf::MessageExts::ClassMethods
288
+
289
+ # Represents a Replica for this
290
+ # {::Google::Cloud::SecretManager::V1beta2::Secret Secret}.
291
+ # @!attribute [rw] location
292
+ # @return [::String]
293
+ # The canonical IDs of the location to replicate data.
294
+ # For example: `"us-east1"`.
295
+ # @!attribute [rw] customer_managed_encryption
296
+ # @return [::Google::Cloud::SecretManager::V1beta2::CustomerManagedEncryption]
297
+ # Optional. The customer-managed encryption configuration of the
298
+ # [User-Managed Replica][Replication.UserManaged.Replica]. If no
299
+ # configuration is provided, Google-managed default encryption is used.
300
+ #
301
+ # Updates to the {::Google::Cloud::SecretManager::V1beta2::Secret Secret}
302
+ # encryption configuration only apply to
303
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersions}
304
+ # added afterwards. They do not apply retroactively to existing
305
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersions}.
306
+ class Replica
307
+ include ::Google::Protobuf::MessageExts
308
+ extend ::Google::Protobuf::MessageExts::ClassMethods
309
+ end
310
+ end
311
+ end
312
+
313
+ # Configuration for encrypting secret payloads using customer-managed
314
+ # encryption keys (CMEK).
315
+ # @!attribute [rw] kms_key_name
316
+ # @return [::String]
317
+ # Required. The resource name of the Cloud KMS CryptoKey used to encrypt
318
+ # secret payloads.
319
+ #
320
+ # For secrets using the
321
+ # {::Google::Cloud::SecretManager::V1beta2::Replication::UserManaged UserManaged}
322
+ # replication policy type, Cloud KMS CryptoKeys must reside in the same
323
+ # location as the [replica location][Secret.UserManaged.Replica.location].
324
+ #
325
+ # For secrets using the
326
+ # {::Google::Cloud::SecretManager::V1beta2::Replication::Automatic Automatic}
327
+ # replication policy type, Cloud KMS CryptoKeys must reside in `global`.
328
+ #
329
+ # The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
330
+ class CustomerManagedEncryption
331
+ include ::Google::Protobuf::MessageExts
332
+ extend ::Google::Protobuf::MessageExts::ClassMethods
333
+ end
334
+
335
+ # The replication status of a
336
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersion}.
337
+ # @!attribute [rw] automatic
338
+ # @return [::Google::Cloud::SecretManager::V1beta2::ReplicationStatus::AutomaticStatus]
339
+ # Describes the replication status of a
340
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersion} with
341
+ # automatic replication.
342
+ #
343
+ # Only populated if the parent
344
+ # {::Google::Cloud::SecretManager::V1beta2::Secret Secret} has an automatic
345
+ # replication policy.
346
+ # @!attribute [rw] user_managed
347
+ # @return [::Google::Cloud::SecretManager::V1beta2::ReplicationStatus::UserManagedStatus]
348
+ # Describes the replication status of a
349
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersion} with
350
+ # user-managed replication.
351
+ #
352
+ # Only populated if the parent
353
+ # {::Google::Cloud::SecretManager::V1beta2::Secret Secret} has a user-managed
354
+ # replication policy.
355
+ class ReplicationStatus
356
+ include ::Google::Protobuf::MessageExts
357
+ extend ::Google::Protobuf::MessageExts::ClassMethods
358
+
359
+ # The replication status of a
360
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersion} using
361
+ # automatic replication.
362
+ #
363
+ # Only populated if the parent
364
+ # {::Google::Cloud::SecretManager::V1beta2::Secret Secret} has an automatic
365
+ # replication policy.
366
+ # @!attribute [r] customer_managed_encryption
367
+ # @return [::Google::Cloud::SecretManager::V1beta2::CustomerManagedEncryptionStatus]
368
+ # Output only. The customer-managed encryption status of the
369
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersion}. Only
370
+ # populated if customer-managed encryption is used.
371
+ class AutomaticStatus
372
+ include ::Google::Protobuf::MessageExts
373
+ extend ::Google::Protobuf::MessageExts::ClassMethods
374
+ end
375
+
376
+ # The replication status of a
377
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersion} using
378
+ # user-managed replication.
379
+ #
380
+ # Only populated if the parent
381
+ # {::Google::Cloud::SecretManager::V1beta2::Secret Secret} has a user-managed
382
+ # replication policy.
383
+ # @!attribute [r] replicas
384
+ # @return [::Array<::Google::Cloud::SecretManager::V1beta2::ReplicationStatus::UserManagedStatus::ReplicaStatus>]
385
+ # Output only. The list of replica statuses for the
386
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersion}.
387
+ class UserManagedStatus
388
+ include ::Google::Protobuf::MessageExts
389
+ extend ::Google::Protobuf::MessageExts::ClassMethods
390
+
391
+ # Describes the status of a user-managed replica for the
392
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersion}.
393
+ # @!attribute [r] location
394
+ # @return [::String]
395
+ # Output only. The canonical ID of the replica location.
396
+ # For example: `"us-east1"`.
397
+ # @!attribute [r] customer_managed_encryption
398
+ # @return [::Google::Cloud::SecretManager::V1beta2::CustomerManagedEncryptionStatus]
399
+ # Output only. The customer-managed encryption status of the
400
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersion}. Only
401
+ # populated if customer-managed encryption is used.
402
+ class ReplicaStatus
403
+ include ::Google::Protobuf::MessageExts
404
+ extend ::Google::Protobuf::MessageExts::ClassMethods
405
+ end
406
+ end
407
+ end
408
+
409
+ # Describes the status of customer-managed encryption.
410
+ # @!attribute [rw] kms_key_version_name
411
+ # @return [::String]
412
+ # Required. The resource name of the Cloud KMS CryptoKeyVersion used to
413
+ # encrypt the secret payload, in the following format:
414
+ # `projects/*/locations/*/keyRings/*/cryptoKeys/*/versions/*`.
415
+ class CustomerManagedEncryptionStatus
416
+ include ::Google::Protobuf::MessageExts
417
+ extend ::Google::Protobuf::MessageExts::ClassMethods
418
+ end
419
+
420
+ # A Pub/Sub topic which Secret Manager will publish to when control plane
421
+ # events occur on this secret.
422
+ # @!attribute [rw] name
423
+ # @return [::String]
424
+ # Required. The resource name of the Pub/Sub topic that will be published to,
425
+ # in the following format: `projects/*/topics/*`. For publication to succeed,
426
+ # the Secret Manager service agent must have the `pubsub.topic.publish`
427
+ # permission on the topic. The Pub/Sub Publisher role
428
+ # (`roles/pubsub.publisher`) includes this permission.
429
+ class Topic
430
+ include ::Google::Protobuf::MessageExts
431
+ extend ::Google::Protobuf::MessageExts::ClassMethods
432
+ end
433
+
434
+ # The rotation time and period for a
435
+ # {::Google::Cloud::SecretManager::V1beta2::Secret Secret}. At next_rotation_time,
436
+ # Secret Manager will send a Pub/Sub notification to the topics configured on
437
+ # the Secret. {::Google::Cloud::SecretManager::V1beta2::Secret#topics Secret.topics}
438
+ # must be set to configure rotation.
439
+ # @!attribute [rw] next_rotation_time
440
+ # @return [::Google::Protobuf::Timestamp]
441
+ # Optional. Timestamp in UTC at which the
442
+ # {::Google::Cloud::SecretManager::V1beta2::Secret Secret} is scheduled to rotate.
443
+ # Cannot be set to less than 300s (5 min) in the future and at most
444
+ # 3153600000s (100 years).
445
+ #
446
+ # {::Google::Cloud::SecretManager::V1beta2::Rotation#next_rotation_time next_rotation_time}
447
+ # MUST be set if
448
+ # {::Google::Cloud::SecretManager::V1beta2::Rotation#rotation_period rotation_period}
449
+ # is set.
450
+ # @!attribute [rw] rotation_period
451
+ # @return [::Google::Protobuf::Duration]
452
+ # Input only. The Duration between rotation notifications. Must be in seconds
453
+ # and at least 3600s (1h) and at most 3153600000s (100 years).
454
+ #
455
+ # If
456
+ # {::Google::Cloud::SecretManager::V1beta2::Rotation#rotation_period rotation_period}
457
+ # is set,
458
+ # {::Google::Cloud::SecretManager::V1beta2::Rotation#next_rotation_time next_rotation_time}
459
+ # must be set.
460
+ # {::Google::Cloud::SecretManager::V1beta2::Rotation#next_rotation_time next_rotation_time}
461
+ # will be advanced by this period when the service automatically sends
462
+ # rotation notifications.
463
+ class Rotation
464
+ include ::Google::Protobuf::MessageExts
465
+ extend ::Google::Protobuf::MessageExts::ClassMethods
466
+ end
467
+
468
+ # A secret payload resource in the Secret Manager API. This contains the
469
+ # sensitive secret payload that is associated with a
470
+ # {::Google::Cloud::SecretManager::V1beta2::SecretVersion SecretVersion}.
471
+ # @!attribute [rw] data
472
+ # @return [::String]
473
+ # The secret data. Must be no larger than 64KiB.
474
+ # @!attribute [rw] data_crc32c
475
+ # @return [::Integer]
476
+ # Optional. If specified,
477
+ # {::Google::Cloud::SecretManager::V1beta2::SecretManagerService::Client SecretManagerService}
478
+ # will verify the integrity of the received
479
+ # {::Google::Cloud::SecretManager::V1beta2::SecretPayload#data data} on
480
+ # {::Google::Cloud::SecretManager::V1beta2::SecretManagerService::Client#add_secret_version SecretManagerService.AddSecretVersion}
481
+ # calls using the crc32c checksum and store it to include in future
482
+ # {::Google::Cloud::SecretManager::V1beta2::SecretManagerService::Client#access_secret_version SecretManagerService.AccessSecretVersion}
483
+ # responses. If a checksum is not provided in the
484
+ # {::Google::Cloud::SecretManager::V1beta2::SecretManagerService::Client#add_secret_version SecretManagerService.AddSecretVersion}
485
+ # request, the
486
+ # {::Google::Cloud::SecretManager::V1beta2::SecretManagerService::Client SecretManagerService}
487
+ # will generate and store one for you.
488
+ #
489
+ # The CRC32C value is encoded as a Int64 for compatibility, and can be
490
+ # safely downconverted to uint32 in languages that support this type.
491
+ # https://cloud.google.com/apis/design/design_patterns#integer_types
492
+ class SecretPayload
493
+ include ::Google::Protobuf::MessageExts
494
+ extend ::Google::Protobuf::MessageExts::ClassMethods
495
+ end
496
+ end
497
+ end
498
+ end
499
+ end