google-cloud-kms 0.3.0 → 1.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ec163d046bca9e1cd304f37b5b1d412017ebafbc777cf35b9b51b1b66219a223
4
- data.tar.gz: 5c309df7134b5d315326087c4dc4b9587b2d2583f4f4b4a1b83169d41787b926
3
+ metadata.gz: 91e18b340eb2c241dc87e554d0bbf7864f36dbce382fd523d8030823d23090cf
4
+ data.tar.gz: a41d0f6437e9569bdcc767da7963980719b239e3b8028e5f3f20f09e769133c0
5
5
  SHA512:
6
- metadata.gz: feb4407b2af7d2d1a5f68059668414122ddaf1555163cda0687f11b0298c3a96351e7bee266893d0ff66bc17ed5f6384c957d3d2a2172c7319450582ee3490dd
7
- data.tar.gz: be09802523463180a1c69b1beeb9ebc1c4c8ffa2c934af957ae0e803b1e6da2b422ee7c7216cd62d5a9d5ebe787938c117eb116cc9216a7f656bb43f2fc822d2
6
+ metadata.gz: c36f619de556ad2bf18cbeeedc8a27769cba04d44d57a1819ae6a7f26dc1b508e6015fc6e879ce3f0d965d1a64659875c6f67bdf10ae856efa8c21b76034fd65
7
+ data.tar.gz: f57cde3b29bc990751f05e03a3e04d6175f5e3871d8e9891eae49d1c51d2f7d123f59573493c128d6ac62881191b2424846d227d2717842ca5fa4e50ff8cf5dc
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Ruby Client for Cloud Key Management Service (KMS) API ([Beta](https://github.com/googleapis/google-cloud-ruby#versioning))
1
+ # Ruby Client for Cloud Key Management Service (KMS) API ([GA](https://github.com/googleapis/google-cloud-ruby#versioning))
2
2
 
3
3
  [Cloud Key Management Service (KMS) API][Product Documentation]:
4
4
  Manages keys and performs cryptographic operations in a central cloud
@@ -20,6 +20,27 @@ steps:
20
20
  $ gem install google-cloud-kms
21
21
  ```
22
22
 
23
+ ### Example
24
+
25
+ ```ruby
26
+ require "google/cloud/kms"
27
+
28
+ # Create a client for a project and given credentials
29
+ kms = Google::Cloud::Kms.new credentials: "/path/to/keyfile.json"
30
+
31
+ # Where to create key rings
32
+ key_ring_parent = kms.class.location_path "my-project", "us-central1"
33
+
34
+ # Create a new key ring
35
+ key_ring = kms.create_key_ring key_ring_parent, "my-ring", {}
36
+ puts "Created at #{Time.new key_ring.create_time.seconds}"
37
+
38
+ # Iterate over created key rings
39
+ kms.list_key_rings(key_ring_parent).each do |key_ring|
40
+ puts "Found ring called #{key_ring.name}"
41
+ end
42
+ ```
43
+
23
44
  ### Next Steps
24
45
  - Read the [Client Library Documentation][] for Cloud Key Management Service (KMS) API
25
46
  to see other available methods on the client.
@@ -21,7 +21,7 @@ module Google
21
21
  # rubocop:disable LineLength
22
22
 
23
23
  ##
24
- # # Ruby Client for Cloud Key Management Service (KMS) API ([Beta](https://github.com/googleapis/google-cloud-ruby#versioning))
24
+ # # Ruby Client for Cloud Key Management Service (KMS) API ([GA](https://github.com/googleapis/google-cloud-ruby#versioning))
25
25
  #
26
26
  # [Cloud Key Management Service (KMS) API][Product Documentation]:
27
27
  # Manages keys and performs cryptographic operations in a central cloud
@@ -23,7 +23,7 @@ module Google
23
23
  # rubocop:disable LineLength
24
24
 
25
25
  ##
26
- # # Ruby Client for Cloud Key Management Service (KMS) API ([Beta](https://github.com/googleapis/google-cloud-ruby#versioning))
26
+ # # Ruby Client for Cloud Key Management Service (KMS) API ([GA](https://github.com/googleapis/google-cloud-ruby#versioning))
27
27
  #
28
28
  # [Cloud Key Management Service (KMS) API][Product Documentation]:
29
29
  # Manages keys and performs cryptographic operations in a central cloud
@@ -17,118 +17,149 @@ module Google
17
17
  module Cloud
18
18
  module Kms
19
19
  module V1
20
- # A {Google::Cloud::Kms::V1::KeyRing KeyRing} is a toplevel logical grouping of {Google::Cloud::Kms::V1::CryptoKey CryptoKeys}.
20
+ # A {Google::Cloud::Kms::V1::KeyRing KeyRing} is a toplevel logical grouping of
21
+ # {Google::Cloud::Kms::V1::CryptoKey CryptoKeys}.
21
22
  # @!attribute [rw] name
22
23
  # @return [String]
23
- # Output only. The resource name for the {Google::Cloud::Kms::V1::KeyRing KeyRing} in the format
24
+ # Output only. The resource name for the
25
+ # {Google::Cloud::Kms::V1::KeyRing KeyRing} in the format
24
26
  # `projects/*/locations/*/keyRings/*`.
25
27
  # @!attribute [rw] create_time
26
28
  # @return [Google::Protobuf::Timestamp]
27
- # Output only. The time at which this {Google::Cloud::Kms::V1::KeyRing KeyRing} was created.
29
+ # Output only. The time at which this {Google::Cloud::Kms::V1::KeyRing KeyRing}
30
+ # was created.
28
31
  class KeyRing; end
29
32
 
30
- # A {Google::Cloud::Kms::V1::CryptoKey CryptoKey} represents a logical key that can be used for cryptographic
31
- # operations.
33
+ # A {Google::Cloud::Kms::V1::CryptoKey CryptoKey} represents a logical key that
34
+ # can be used for cryptographic operations.
32
35
  #
33
- # A {Google::Cloud::Kms::V1::CryptoKey CryptoKey} is made up of one or more {Google::Cloud::Kms::V1::CryptoKeyVersion versions}, which
34
- # represent the actual key material used in cryptographic operations.
36
+ # A {Google::Cloud::Kms::V1::CryptoKey CryptoKey} is made up of one or more
37
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion versions}, which represent the actual
38
+ # key material used in cryptographic operations.
35
39
  # @!attribute [rw] name
36
40
  # @return [String]
37
- # Output only. The resource name for this {Google::Cloud::Kms::V1::CryptoKey CryptoKey} in the format
41
+ # Output only. The resource name for this
42
+ # {Google::Cloud::Kms::V1::CryptoKey CryptoKey} in the format
38
43
  # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
39
44
  # @!attribute [rw] primary
40
45
  # @return [Google::Cloud::Kms::V1::CryptoKeyVersion]
41
- # Output only. A copy of the "primary" {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} that will be used
42
- # by {Google::Cloud::Kms::V1::KeyManagementService::Encrypt Encrypt} when this {Google::Cloud::Kms::V1::CryptoKey CryptoKey} is given
43
- # in {Google::Cloud::Kms::V1::EncryptRequest#name EncryptRequest#name}.
46
+ # Output only. A copy of the "primary"
47
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} that will be used
48
+ # by {Google::Cloud::Kms::V1::KeyManagementService::Encrypt Encrypt} when this
49
+ # {Google::Cloud::Kms::V1::CryptoKey CryptoKey} is given in
50
+ # {Google::Cloud::Kms::V1::EncryptRequest#name EncryptRequest#name}.
44
51
  #
45
- # The {Google::Cloud::Kms::V1::CryptoKey CryptoKey}'s primary version can be updated via
52
+ # The {Google::Cloud::Kms::V1::CryptoKey CryptoKey}'s primary version can be
53
+ # updated via
46
54
  # {Google::Cloud::Kms::V1::KeyManagementService::UpdateCryptoKeyPrimaryVersion UpdateCryptoKeyPrimaryVersion}.
47
55
  #
48
56
  # All keys with {Google::Cloud::Kms::V1::CryptoKey#purpose purpose}
49
- # {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ENCRYPT_DECRYPT ENCRYPT_DECRYPT} have a
50
- # primary. For other keys, this field will be omitted.
57
+ # {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ENCRYPT_DECRYPT ENCRYPT_DECRYPT}
58
+ # have a primary. For other keys, this field will be omitted.
51
59
  # @!attribute [rw] purpose
52
60
  # @return [Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose]
53
61
  # The immutable purpose of this {Google::Cloud::Kms::V1::CryptoKey CryptoKey}.
54
62
  # @!attribute [rw] create_time
55
63
  # @return [Google::Protobuf::Timestamp]
56
- # Output only. The time at which this {Google::Cloud::Kms::V1::CryptoKey CryptoKey} was created.
64
+ # Output only. The time at which this
65
+ # {Google::Cloud::Kms::V1::CryptoKey CryptoKey} was created.
57
66
  # @!attribute [rw] next_rotation_time
58
67
  # @return [Google::Protobuf::Timestamp]
59
- # At {Google::Cloud::Kms::V1::CryptoKey#next_rotation_time next_rotation_time}, the Key Management Service will automatically:
68
+ # At {Google::Cloud::Kms::V1::CryptoKey#next_rotation_time next_rotation_time},
69
+ # the Key Management Service will automatically:
60
70
  #
61
71
  # 1. Create a new version of this {Google::Cloud::Kms::V1::CryptoKey CryptoKey}.
62
72
  # 2. Mark the new version as primary.
63
73
  #
64
74
  # Key rotations performed manually via
65
- # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKeyVersion CreateCryptoKeyVersion} and
75
+ # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKeyVersion CreateCryptoKeyVersion}
76
+ # and
66
77
  # {Google::Cloud::Kms::V1::KeyManagementService::UpdateCryptoKeyPrimaryVersion UpdateCryptoKeyPrimaryVersion}
67
- # do not affect {Google::Cloud::Kms::V1::CryptoKey#next_rotation_time next_rotation_time}.
78
+ # do not affect
79
+ # {Google::Cloud::Kms::V1::CryptoKey#next_rotation_time next_rotation_time}.
68
80
  #
69
81
  # Keys with {Google::Cloud::Kms::V1::CryptoKey#purpose purpose}
70
- # {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ENCRYPT_DECRYPT ENCRYPT_DECRYPT} support
71
- # automatic rotation. For other keys, this field must be omitted.
82
+ # {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ENCRYPT_DECRYPT ENCRYPT_DECRYPT}
83
+ # support automatic rotation. For other keys, this field must be omitted.
72
84
  # @!attribute [rw] rotation_period
73
85
  # @return [Google::Protobuf::Duration]
74
- # {Google::Cloud::Kms::V1::CryptoKey#next_rotation_time next_rotation_time} will be advanced by this period when the service
75
- # automatically rotates a key. Must be at least one day.
86
+ # {Google::Cloud::Kms::V1::CryptoKey#next_rotation_time next_rotation_time}
87
+ # will be advanced by this period when the service automatically rotates a
88
+ # key. Must be at least one day.
76
89
  #
77
- # If {Google::Cloud::Kms::V1::CryptoKey#rotation_period rotation_period} is set, {Google::Cloud::Kms::V1::CryptoKey#next_rotation_time next_rotation_time} must also be set.
90
+ # If {Google::Cloud::Kms::V1::CryptoKey#rotation_period rotation_period} is
91
+ # set,
92
+ # {Google::Cloud::Kms::V1::CryptoKey#next_rotation_time next_rotation_time}
93
+ # must also be set.
78
94
  #
79
95
  # Keys with {Google::Cloud::Kms::V1::CryptoKey#purpose purpose}
80
- # {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ENCRYPT_DECRYPT ENCRYPT_DECRYPT} support
81
- # automatic rotation. For other keys, this field must be omitted.
96
+ # {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ENCRYPT_DECRYPT ENCRYPT_DECRYPT}
97
+ # support automatic rotation. For other keys, this field must be omitted.
82
98
  # @!attribute [rw] version_template
83
99
  # @return [Google::Cloud::Kms::V1::CryptoKeyVersionTemplate]
84
- # A template describing settings for new {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} instances.
85
- # The properties of new {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} instances created by either
86
- # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKeyVersion CreateCryptoKeyVersion} or
87
- # auto-rotation are controlled by this template.
100
+ # A template describing settings for new
101
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} instances. The
102
+ # properties of new {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}
103
+ # instances created by either
104
+ # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKeyVersion CreateCryptoKeyVersion}
105
+ # or auto-rotation are controlled by this template.
88
106
  # @!attribute [rw] labels
89
107
  # @return [Hash{String => String}]
90
108
  # Labels with user-defined metadata. For more information, see
91
109
  # [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys).
92
110
  class CryptoKey
93
- # {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose CryptoKeyPurpose} describes the cryptographic capabilities of a
94
- # {Google::Cloud::Kms::V1::CryptoKey CryptoKey}. A given key can only be used for the operations allowed by
95
- # its purpose.
111
+ # {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose CryptoKeyPurpose}
112
+ # describes the cryptographic capabilities of a
113
+ # {Google::Cloud::Kms::V1::CryptoKey CryptoKey}. A given key can only be used
114
+ # for the operations allowed by its purpose.
96
115
  module CryptoKeyPurpose
97
116
  # Not specified.
98
117
  CRYPTO_KEY_PURPOSE_UNSPECIFIED = 0
99
118
 
100
- # {Google::Cloud::Kms::V1::CryptoKey CryptoKeys} with this purpose may be used with
101
- # {Google::Cloud::Kms::V1::KeyManagementService::Encrypt Encrypt} and
119
+ # {Google::Cloud::Kms::V1::CryptoKey CryptoKeys} with this purpose may be used
120
+ # with {Google::Cloud::Kms::V1::KeyManagementService::Encrypt Encrypt} and
102
121
  # {Google::Cloud::Kms::V1::KeyManagementService::Decrypt Decrypt}.
103
122
  ENCRYPT_DECRYPT = 1
104
123
 
105
- # {Google::Cloud::Kms::V1::CryptoKey CryptoKeys} with this purpose may be used with
106
- # {Google::Cloud::Kms::V1::KeyManagementService::AsymmetricSign AsymmetricSign} and
124
+ # {Google::Cloud::Kms::V1::CryptoKey CryptoKeys} with this purpose may be used
125
+ # with
126
+ # {Google::Cloud::Kms::V1::KeyManagementService::AsymmetricSign AsymmetricSign}
127
+ # and
107
128
  # {Google::Cloud::Kms::V1::KeyManagementService::GetPublicKey GetPublicKey}.
108
129
  ASYMMETRIC_SIGN = 5
109
130
 
110
- # {Google::Cloud::Kms::V1::CryptoKey CryptoKeys} with this purpose may be used with
111
- # {Google::Cloud::Kms::V1::KeyManagementService::AsymmetricDecrypt AsymmetricDecrypt} and
131
+ # {Google::Cloud::Kms::V1::CryptoKey CryptoKeys} with this purpose may be used
132
+ # with
133
+ # {Google::Cloud::Kms::V1::KeyManagementService::AsymmetricDecrypt AsymmetricDecrypt}
134
+ # and
112
135
  # {Google::Cloud::Kms::V1::KeyManagementService::GetPublicKey GetPublicKey}.
113
136
  ASYMMETRIC_DECRYPT = 6
114
137
  end
115
138
  end
116
139
 
117
- # A {Google::Cloud::Kms::V1::CryptoKeyVersionTemplate CryptoKeyVersionTemplate} specifies the properties to use when creating
118
- # a new {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}, either manually with
119
- # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKeyVersion CreateCryptoKeyVersion} or
120
- # automatically as a result of auto-rotation.
140
+ # A {Google::Cloud::Kms::V1::CryptoKeyVersionTemplate CryptoKeyVersionTemplate}
141
+ # specifies the properties to use when creating a new
142
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}, either manually
143
+ # with
144
+ # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKeyVersion CreateCryptoKeyVersion}
145
+ # or automatically as a result of auto-rotation.
121
146
  # @!attribute [rw] protection_level
122
147
  # @return [Google::Cloud::Kms::V1::ProtectionLevel]
123
- # {Google::Cloud::Kms::V1::ProtectionLevel ProtectionLevel} to use when creating a {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} based on
124
- # this template. Immutable. Defaults to {Google::Cloud::Kms::V1::ProtectionLevel::SOFTWARE SOFTWARE}.
148
+ # {Google::Cloud::Kms::V1::ProtectionLevel ProtectionLevel} to use when creating
149
+ # a {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} based on this
150
+ # template. Immutable. Defaults to
151
+ # {Google::Cloud::Kms::V1::ProtectionLevel::SOFTWARE SOFTWARE}.
125
152
  # @!attribute [rw] algorithm
126
153
  # @return [Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionAlgorithm]
127
- # Required. {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionAlgorithm Algorithm} to use
128
- # when creating a {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} based on this template.
154
+ # Required.
155
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionAlgorithm Algorithm}
156
+ # to use when creating a
157
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} based on this
158
+ # template.
129
159
  #
130
160
  # For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both
131
- # this field is omitted and {Google::Cloud::Kms::V1::CryptoKey#purpose CryptoKey#purpose} is
161
+ # this field is omitted and
162
+ # {Google::Cloud::Kms::V1::CryptoKey#purpose CryptoKey#purpose} is
132
163
  # {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ENCRYPT_DECRYPT ENCRYPT_DECRYPT}.
133
164
  class CryptoKeyVersionTemplate; end
134
165
 
@@ -148,67 +179,86 @@ module Google
148
179
  # Cavium HSM attestation compressed with gzip. Note that this format is
149
180
  # defined by Cavium and subject to change at any time.
150
181
  CAVIUM_V1_COMPRESSED = 3
182
+
183
+ # Cavium HSM attestation V2 compressed with gzip. This is a new format
184
+ # Introduced in Cavium's version 3.2-08
185
+ CAVIUM_V2_COMPRESSED = 4
151
186
  end
152
187
  end
153
188
 
154
- # A {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} represents an individual cryptographic key, and the
155
- # associated key material.
189
+ # A {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} represents an
190
+ # individual cryptographic key, and the associated key material.
156
191
  #
157
- # An {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::ENABLED ENABLED} version can be
158
- # used for cryptographic operations.
192
+ # An
193
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::ENABLED ENABLED}
194
+ # version can be used for cryptographic operations.
159
195
  #
160
196
  # For security reasons, the raw cryptographic key material represented by a
161
- # {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} can never be viewed or exported. It can only be used to
162
- # encrypt, decrypt, or sign data when an authorized user or application invokes
163
- # Cloud KMS.
197
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} can never be viewed
198
+ # or exported. It can only be used to encrypt, decrypt, or sign data when an
199
+ # authorized user or application invokes Cloud KMS.
164
200
  # @!attribute [rw] name
165
201
  # @return [String]
166
- # Output only. The resource name for this {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} in the format
202
+ # Output only. The resource name for this
203
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} in the format
167
204
  # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
168
205
  # @!attribute [rw] state
169
206
  # @return [Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState]
170
- # The current state of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}.
207
+ # The current state of the
208
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}.
171
209
  # @!attribute [rw] protection_level
172
210
  # @return [Google::Cloud::Kms::V1::ProtectionLevel]
173
- # Output only. The {Google::Cloud::Kms::V1::ProtectionLevel ProtectionLevel} describing how crypto operations are
174
- # performed with this {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}.
211
+ # Output only. The {Google::Cloud::Kms::V1::ProtectionLevel ProtectionLevel}
212
+ # describing how crypto operations are performed with this
213
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}.
175
214
  # @!attribute [rw] algorithm
176
215
  # @return [Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionAlgorithm]
177
- # Output only. The {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionAlgorithm CryptoKeyVersionAlgorithm} that this
178
- # {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} supports.
216
+ # Output only. The
217
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionAlgorithm CryptoKeyVersionAlgorithm}
218
+ # that this {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}
219
+ # supports.
179
220
  # @!attribute [rw] attestation
180
221
  # @return [Google::Cloud::Kms::V1::KeyOperationAttestation]
181
222
  # Output only. Statement that was generated and signed by the HSM at key
182
223
  # creation time. Use this statement to verify attributes of the key as stored
183
224
  # on the HSM, independently of Google. Only provided for key versions with
184
- # {Google::Cloud::Kms::V1::CryptoKeyVersion#protection_level protection_level} {Google::Cloud::Kms::V1::ProtectionLevel::HSM HSM}.
225
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion#protection_level protection_level}
226
+ # {Google::Cloud::Kms::V1::ProtectionLevel::HSM HSM}.
185
227
  # @!attribute [rw] create_time
186
228
  # @return [Google::Protobuf::Timestamp]
187
- # Output only. The time at which this {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} was created.
229
+ # Output only. The time at which this
230
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} was created.
188
231
  # @!attribute [rw] generate_time
189
232
  # @return [Google::Protobuf::Timestamp]
190
- # Output only. The time this {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}'s key material was
233
+ # Output only. The time this
234
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}'s key material was
191
235
  # generated.
192
236
  # @!attribute [rw] destroy_time
193
237
  # @return [Google::Protobuf::Timestamp]
194
- # Output only. The time this {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}'s key material is scheduled
195
- # for destruction. Only present if {Google::Cloud::Kms::V1::CryptoKeyVersion#state state} is
238
+ # Output only. The time this
239
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}'s key material is
240
+ # scheduled for destruction. Only present if
241
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion#state state} is
196
242
  # {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::DESTROY_SCHEDULED DESTROY_SCHEDULED}.
197
243
  # @!attribute [rw] destroy_event_time
198
244
  # @return [Google::Protobuf::Timestamp]
199
245
  # Output only. The time this CryptoKeyVersion's key material was
200
- # destroyed. Only present if {Google::Cloud::Kms::V1::CryptoKeyVersion#state state} is
246
+ # destroyed. Only present if
247
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion#state state} is
201
248
  # {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::DESTROYED DESTROYED}.
202
249
  class CryptoKeyVersion
203
- # The algorithm of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}, indicating what
250
+ # The algorithm of the
251
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}, indicating what
204
252
  # parameters must be used for each cryptographic operation.
205
253
  #
206
254
  # The
207
255
  # {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionAlgorithm::GOOGLE_SYMMETRIC_ENCRYPTION GOOGLE_SYMMETRIC_ENCRYPTION}
208
- # algorithm is usable with {Google::Cloud::Kms::V1::CryptoKey#purpose CryptoKey#purpose}
256
+ # algorithm is usable with
257
+ # {Google::Cloud::Kms::V1::CryptoKey#purpose CryptoKey#purpose}
209
258
  # {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ENCRYPT_DECRYPT ENCRYPT_DECRYPT}.
210
259
  #
211
- # Algorithms beginning with "RSA_SIGN_" are usable with {Google::Cloud::Kms::V1::CryptoKey#purpose CryptoKey#purpose}
260
+ # Algorithms beginning with "RSA_SIGN_" are usable with
261
+ # {Google::Cloud::Kms::V1::CryptoKey#purpose CryptoKey#purpose}
212
262
  # {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ASYMMETRIC_SIGN ASYMMETRIC_SIGN}.
213
263
  #
214
264
  # The fields in the name after "RSA_SIGN_" correspond to the following
@@ -226,7 +276,8 @@ module Google
226
276
  # The fields in the name after "RSA_DECRYPT_" correspond to the following
227
277
  # parameters: padding algorithm, modulus bit length, and digest algorithm.
228
278
  #
229
- # Algorithms beginning with "EC_SIGN_" are usable with {Google::Cloud::Kms::V1::CryptoKey#purpose CryptoKey#purpose}
279
+ # Algorithms beginning with "EC_SIGN_" are usable with
280
+ # {Google::Cloud::Kms::V1::CryptoKey#purpose CryptoKey#purpose}
230
281
  # {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ASYMMETRIC_SIGN ASYMMETRIC_SIGN}.
231
282
  #
232
283
  # The fields in the name after "EC_SIGN_" correspond to the following
@@ -272,21 +323,26 @@ module Google
272
323
  EC_SIGN_P384_SHA384 = 13
273
324
  end
274
325
 
275
- # The state of a {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}, indicating if it can be used.
326
+ # The state of a {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion},
327
+ # indicating if it can be used.
276
328
  module CryptoKeyVersionState
277
329
  # Not specified.
278
330
  CRYPTO_KEY_VERSION_STATE_UNSPECIFIED = 0
279
331
 
280
332
  # This version is still being generated. It may not be used, enabled,
281
333
  # disabled, or destroyed yet. Cloud KMS will automatically mark this
282
- # version {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::ENABLED ENABLED} as soon as the version is ready.
334
+ # version
335
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::ENABLED ENABLED}
336
+ # as soon as the version is ready.
283
337
  PENDING_GENERATION = 5
284
338
 
285
339
  # This version may be used for cryptographic operations.
286
340
  ENABLED = 1
287
341
 
288
342
  # This version may not be used, but the key material is still available,
289
- # and the version can be placed back into the {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::ENABLED ENABLED} state.
343
+ # and the version can be placed back into the
344
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::ENABLED ENABLED}
345
+ # state.
290
346
  DISABLED = 2
291
347
 
292
348
  # This version is destroyed, and the key material is no longer stored.
@@ -296,26 +352,34 @@ module Google
296
352
  # This version is scheduled for destruction, and will be destroyed soon.
297
353
  # Call
298
354
  # {Google::Cloud::Kms::V1::KeyManagementService::RestoreCryptoKeyVersion RestoreCryptoKeyVersion}
299
- # to put it back into the {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::DISABLED DISABLED} state.
355
+ # to put it back into the
356
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::DISABLED DISABLED}
357
+ # state.
300
358
  DESTROY_SCHEDULED = 4
301
359
  end
302
360
 
303
- # A view for {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}s. Controls the level of detail returned
304
- # for {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersions} in
305
- # {Google::Cloud::Kms::V1::KeyManagementService::ListCryptoKeyVersions KeyManagementService::ListCryptoKeyVersions} and
361
+ # A view for {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}s.
362
+ # Controls the level of detail returned for
363
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersions} in
364
+ # {Google::Cloud::Kms::V1::KeyManagementService::ListCryptoKeyVersions KeyManagementService::ListCryptoKeyVersions}
365
+ # and
306
366
  # {Google::Cloud::Kms::V1::KeyManagementService::ListCryptoKeys KeyManagementService::ListCryptoKeys}.
307
367
  module CryptoKeyVersionView
308
- # Default view for each {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}. Does not include
309
- # the {Google::Cloud::Kms::V1::CryptoKeyVersion#attestation attestation} field.
368
+ # Default view for each
369
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}. Does not
370
+ # include the
371
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion#attestation attestation} field.
310
372
  CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED = 0
311
373
 
312
- # Provides all fields in each {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}, including the
374
+ # Provides all fields in each
375
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}, including the
313
376
  # {Google::Cloud::Kms::V1::CryptoKeyVersion#attestation attestation}.
314
377
  FULL = 1
315
378
  end
316
379
  end
317
380
 
318
- # The public key for a given {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}. Obtained via
381
+ # The public key for a given
382
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}. Obtained via
319
383
  # {Google::Cloud::Kms::V1::KeyManagementService::GetPublicKey GetPublicKey}.
320
384
  # @!attribute [rw] pem
321
385
  # @return [String]
@@ -326,11 +390,13 @@ module Google
326
390
  # (https://tools.ietf.org/html/rfc7468#section-13).
327
391
  # @!attribute [rw] algorithm
328
392
  # @return [Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionAlgorithm]
329
- # The {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionAlgorithm Algorithm} associated
330
- # with this key.
393
+ # The
394
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionAlgorithm Algorithm}
395
+ # associated with this key.
331
396
  class PublicKey; end
332
397
 
333
- # {Google::Cloud::Kms::V1::ProtectionLevel ProtectionLevel} specifies how cryptographic operations are performed.
398
+ # {Google::Cloud::Kms::V1::ProtectionLevel ProtectionLevel} specifies how
399
+ # cryptographic operations are performed.
334
400
  module ProtectionLevel
335
401
  # Not specified.
336
402
  PROTECTION_LEVEL_UNSPECIFIED = 0