generated/google/apis/secretmanager_v1/classes.rb in google-api-client-0.44.1 vs generated/google/apis/secretmanager_v1/classes.rb in google-api-client-0.44.2

- old
+ new

@@ -143,23 +143,56 @@ # A replication policy that replicates the Secret payload without any # restrictions. class Automatic include Google::Apis::Core::Hashable + # Configuration for encrypting secret payloads using customer-managed encryption + # keys (CMEK). + # Corresponds to the JSON property `customerManagedEncryption` + # @return [Google::Apis::SecretmanagerV1::CustomerManagedEncryption] + attr_accessor :customer_managed_encryption + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) + @customer_managed_encryption = args[:customer_managed_encryption] if args.key?(:customer_managed_encryption) end end + # The replication status of a SecretVersion using automatic replication. Only + # populated if the parent Secret has an automatic replication policy. + class AutomaticStatus + include Google::Apis::Core::Hashable + + # Describes the status of customer-managed encryption. + # Corresponds to the JSON property `customerManagedEncryption` + # @return [Google::Apis::SecretmanagerV1::CustomerManagedEncryptionStatus] + attr_accessor :customer_managed_encryption + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @customer_managed_encryption = args[:customer_managed_encryption] if args.key?(:customer_managed_encryption) + end + end + # Associates `members` with a `role`. class Binding include Google::Apis::Core::Hashable + # A client-specified ID for this binding. Expected to be globally unique to + # support the internal bindings-by-ID API. + # Corresponds to the JSON property `bindingId` + # @return [String] + attr_accessor :binding_id + # Represents a textual expression in the Common Expression Language (CEL) syntax. # CEL is a C-like expression language. The syntax and semantics of CEL are # documented at https://github.com/google/cel-spec. Example (Comparison): title: # "Summary size limit" description: "Determines if a summary is less than 100 # chars" expression: "document.summary.size() < 100" Example (Equality): title: " @@ -217,16 +250,63 @@ update!(**args) end # Update properties of this object def update!(**args) + @binding_id = args[:binding_id] if args.key?(:binding_id) @condition = args[:condition] if args.key?(:condition) @members = args[:members] if args.key?(:members) @role = args[:role] if args.key?(:role) end end + # Configuration for encrypting secret payloads using customer-managed encryption + # keys (CMEK). + class CustomerManagedEncryption + include Google::Apis::Core::Hashable + + # Required. The resource name of the Cloud KMS CryptoKey used to encrypt secret + # payloads. For secrets using the UserManaged replication policy type, Cloud KMS + # CryptoKeys must reside in the same location as the replica location. For + # secrets using the Automatic replication policy type, Cloud KMS CryptoKeys must + # reside in `global`. The expected format is `projects/*/locations/*/keyRings/*/ + # cryptoKeys/*`. + # Corresponds to the JSON property `kmsKeyName` + # @return [String] + attr_accessor :kms_key_name + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name) + end + end + + # Describes the status of customer-managed encryption. + class CustomerManagedEncryptionStatus + include Google::Apis::Core::Hashable + + # Required. The resource name of the Cloud KMS CryptoKeyVersion used to encrypt + # the secret payload, in the following format: `projects/*/locations/*/keyRings/* + # /cryptoKeys/*/versions/*`. + # Corresponds to the JSON property `kmsKeyVersionName` + # @return [String] + attr_accessor :kms_key_version_name + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @kms_key_version_name = args[:kms_key_version_name] if args.key?(:kms_key_version_name) + end + end + # Request message for SecretManagerService.DestroySecretVersion. class DestroySecretVersionRequest include Google::Apis::Core::Hashable def initialize(**args) @@ -563,10 +643,16 @@ # Represents a Replica for this Secret. class Replica include Google::Apis::Core::Hashable + # Configuration for encrypting secret payloads using customer-managed encryption + # keys (CMEK). + # Corresponds to the JSON property `customerManagedEncryption` + # @return [Google::Apis::SecretmanagerV1::CustomerManagedEncryption] + attr_accessor :customer_managed_encryption + # The canonical IDs of the location to replicate data. For example: `"us-east1"`. # Corresponds to the JSON property `location` # @return [String] attr_accessor :location @@ -574,15 +660,42 @@ update!(**args) end # Update properties of this object def update!(**args) + @customer_managed_encryption = args[:customer_managed_encryption] if args.key?(:customer_managed_encryption) @location = args[:location] if args.key?(:location) end end - # A policy that defines the replication configuration of data. + # Describes the status of a user-managed replica for the SecretVersion. + class ReplicaStatus + include Google::Apis::Core::Hashable + + # Describes the status of customer-managed encryption. + # Corresponds to the JSON property `customerManagedEncryption` + # @return [Google::Apis::SecretmanagerV1::CustomerManagedEncryptionStatus] + attr_accessor :customer_managed_encryption + + # Output only. The canonical ID of the replica location. For example: `"us-east1" + # `. + # Corresponds to the JSON property `location` + # @return [String] + attr_accessor :location + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @customer_managed_encryption = args[:customer_managed_encryption] if args.key?(:customer_managed_encryption) + @location = args[:location] if args.key?(:location) + end + end + + # A policy that defines the replication and encryption configuration of data. class Replication include Google::Apis::Core::Hashable # A replication policy that replicates the Secret payload without any # restrictions. @@ -605,10 +718,37 @@ @automatic = args[:automatic] if args.key?(:automatic) @user_managed = args[:user_managed] if args.key?(:user_managed) end end + # The replication status of a SecretVersion. + class ReplicationStatus + include Google::Apis::Core::Hashable + + # The replication status of a SecretVersion using automatic replication. Only + # populated if the parent Secret has an automatic replication policy. + # Corresponds to the JSON property `automatic` + # @return [Google::Apis::SecretmanagerV1::AutomaticStatus] + attr_accessor :automatic + + # The replication status of a SecretVersion using user-managed replication. Only + # populated if the parent Secret has a user-managed replication policy. + # Corresponds to the JSON property `userManaged` + # @return [Google::Apis::SecretmanagerV1::UserManagedStatus] + attr_accessor :user_managed + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @automatic = args[:automatic] if args.key?(:automatic) + @user_managed = args[:user_managed] if args.key?(:user_managed) + end + end + # A Secret is a logical secret whose value and versions can be accessed. A # Secret is made up of zero or more SecretVersions that represent the secret # data. class Secret include Google::Apis::Core::Hashable @@ -632,11 +772,11 @@ # *`. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name - # A policy that defines the replication configuration of data. + # A policy that defines the replication and encryption configuration of data. # Corresponds to the JSON property `replication` # @return [Google::Apis::SecretmanagerV1::Replication] attr_accessor :replication def initialize(**args) @@ -693,10 +833,15 @@ # incremented for each subsequent version of the secret. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name + # The replication status of a SecretVersion. + # Corresponds to the JSON property `replicationStatus` + # @return [Google::Apis::SecretmanagerV1::ReplicationStatus] + attr_accessor :replication_status + # Output only. The current state of the SecretVersion. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state @@ -707,10 +852,11 @@ # Update properties of this object def update!(**args) @create_time = args[:create_time] if args.key?(:create_time) @destroy_time = args[:destroy_time] if args.key?(:destroy_time) @name = args[:name] if args.key?(:name) + @replication_status = args[:replication_status] if args.key?(:replication_status) @state = args[:state] if args.key?(:state) end end # Request message for `SetIamPolicy` method. @@ -812,9 +958,29 @@ include Google::Apis::Core::Hashable # Required. The list of Replicas for this Secret. Cannot be empty. # Corresponds to the JSON property `replicas` # @return [Array<Google::Apis::SecretmanagerV1::Replica>] + attr_accessor :replicas + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @replicas = args[:replicas] if args.key?(:replicas) + end + end + + # The replication status of a SecretVersion using user-managed replication. Only + # populated if the parent Secret has a user-managed replication policy. + class UserManagedStatus + include Google::Apis::Core::Hashable + + # Output only. The list of replica statuses for the SecretVersion. + # Corresponds to the JSON property `replicas` + # @return [Array<Google::Apis::SecretmanagerV1::ReplicaStatus>] attr_accessor :replicas def initialize(**args) update!(**args) end