google-cloud-kms 0.2.2 → 0.2.3

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: fd3abb269ec04fc114467064d0c5eb206a471a379b7be28a084c5d39da9abb86
4
- data.tar.gz: 770f440cb19a642e11d3238fcf50c2bc6be99e4684b817c158cbfe9447ce647b
3
+ metadata.gz: 443cec7ba32064b6cfc2b3715a78f0563932d642d9ddc224fbce3821a532ea87
4
+ data.tar.gz: e727cb3923b6cf46da6b7c93cd5dd7e8cd983942567e8d15202174d9948a6a1e
5
5
  SHA512:
6
- metadata.gz: f5b8d2864052c66b6e6c9d529ddc2d537e2880b315d920080662412b75b947cbffcd2fde915cdd4b8c5836bcb7fbf0010f585044de8931b80d3f49d64ee06820
7
- data.tar.gz: 1b9c2c96d27cb7c6d35b0fc8dd553e0cf19a2f54d40f18fb4e2024e4899ddf6bd87d1907711bdc1480afa9ce7e51c05abb8119a47c6b1ba196e2058523df8f05
6
+ metadata.gz: 437b87442fb5b3c80bb4ec2b03da2d2c1392290276abe9c726c545053e38a010fd099a91f024f6e57edb683b87ee3d503a15a6cebdc2d97ec640a69df1030865
7
+ data.tar.gz: 78f133c40894e362eaa47771480fed870f3fe7b6518272d25dee959ac65bbae8a0e7e9084c2c9b189d5bfc589fdccffe2507da28892a131da44e3366c0aca9f7
data/.yardopts CHANGED
@@ -1,5 +1,5 @@
1
1
  --no-private
2
- --title=Google Cloud Key Management Service (KMS) API
2
+ --title=Cloud Key Management Service (KMS) API
3
3
  --exclude _pb\.rb$
4
4
  --markup markdown
5
5
  --markup-provider redcarpet
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
- # Ruby Client for Google Cloud Key Management Service (KMS) API ([Alpha](https://github.com/GoogleCloudPlatform/google-cloud-ruby#versioning))
1
+ # Ruby Client for Cloud Key Management Service (KMS) API ([Alpha](https://github.com/GoogleCloudPlatform/google-cloud-ruby#versioning))
2
2
 
3
- [Google Cloud Key Management Service (KMS) API][Product Documentation]:
4
- Manages encryption for your cloud services the same way you do on-premises.
5
- You can generate, use, rotate, and destroy AES256 encryption keys.
3
+ [Cloud Key Management Service (KMS) API][Product Documentation]:
4
+ Manages keys and performs cryptographic operations in a central cloud
5
+ service, for direct use by other cloud resources and applications.
6
6
  - [Client Library Documentation][]
7
7
  - [Product Documentation][]
8
8
 
@@ -12,7 +12,7 @@ steps:
12
12
 
13
13
  1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
14
14
  2. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
15
- 3. [Enable the Google Cloud Key Management Service (KMS) API.](https://console.cloud.google.com/apis/library/cloudkms.googleapis.com)
15
+ 3. [Enable the Cloud Key Management Service (KMS) API.](https://console.cloud.google.com/apis/library/cloudkms.googleapis.com)
16
16
  4. [Setup Authentication.](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud/master/guides/authentication)
17
17
 
18
18
  ### Installation
@@ -21,9 +21,9 @@ $ gem install google-cloud-kms
21
21
  ```
22
22
 
23
23
  ### Next Steps
24
- - Read the [Client Library Documentation][] for Google Cloud Key Management Service (KMS) API
24
+ - Read the [Client Library Documentation][] for Cloud Key Management Service (KMS) API
25
25
  to see other available methods on the client.
26
- - Read the [Google Cloud Key Management Service (KMS) API Product documentation][Product Documentation]
26
+ - Read the [Cloud Key Management Service (KMS) API Product documentation][Product Documentation]
27
27
  to learn more about the product and see How-to Guides.
28
28
  - View this [repository's main README](https://github.com/GoogleCloudPlatform/google-cloud-ruby/blob/master/README.md)
29
29
  to see the full list of Cloud APIs that we cover.
@@ -21,11 +21,11 @@ module Google
21
21
  # rubocop:disable LineLength
22
22
 
23
23
  ##
24
- # # Ruby Client for Google Cloud Key Management Service (KMS) API ([Alpha](https://github.com/GoogleCloudPlatform/google-cloud-ruby#versioning))
24
+ # # Ruby Client for Cloud Key Management Service (KMS) API ([Alpha](https://github.com/GoogleCloudPlatform/google-cloud-ruby#versioning))
25
25
  #
26
- # [Google Cloud Key Management Service (KMS) API][Product Documentation]:
27
- # Manages encryption for your cloud services the same way you do on-premises.
28
- # You can generate, use, rotate, and destroy AES256 encryption keys.
26
+ # [Cloud Key Management Service (KMS) API][Product Documentation]:
27
+ # Manages keys and performs cryptographic operations in a central cloud
28
+ # service, for direct use by other cloud resources and applications.
29
29
  # - [Product Documentation][]
30
30
  #
31
31
  # ## Quick Start
@@ -34,7 +34,7 @@ module Google
34
34
  #
35
35
  # 1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
36
36
  # 2. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
37
- # 3. [Enable the Google Cloud Key Management Service (KMS) API.](https://console.cloud.google.com/apis/library/cloudkms.googleapis.com)
37
+ # 3. [Enable the Cloud Key Management Service (KMS) API.](https://console.cloud.google.com/apis/library/cloudkms.googleapis.com)
38
38
  # 4. [Setup Authentication.](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud/master/guides/authentication)
39
39
  #
40
40
  # ### Installation
@@ -43,7 +43,7 @@ module Google
43
43
  # ```
44
44
  #
45
45
  # ### Next Steps
46
- # - Read the [Google Cloud Key Management Service (KMS) API Product documentation][Product Documentation]
46
+ # - Read the [Cloud Key Management Service (KMS) API Product documentation][Product Documentation]
47
47
  # to learn more about the product and see How-to Guides.
48
48
  # - View this [repository's main README](https://github.com/GoogleCloudPlatform/google-cloud-ruby/blob/master/README.md)
49
49
  # to see the full list of Cloud APIs that we cover.
@@ -97,6 +97,9 @@ module Google
97
97
  # * {Google::Cloud::Kms::V1::CryptoKey CryptoKey}
98
98
  # * {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}
99
99
  #
100
+ # If you are using manual gRPC libraries, see
101
+ # [Using gRPC with Cloud KMS](https://cloud.google.com/kms/docs/grpc).
102
+ #
100
103
  # @param version [Symbol, String]
101
104
  # The major version of the service to be used. By default :v1
102
105
  # is used.
@@ -14,6 +14,7 @@
14
14
 
15
15
 
16
16
  require "google/cloud/kms/v1/key_management_service_client"
17
+ require "google/cloud/kms/v1/service_pb"
17
18
 
18
19
  module Google
19
20
  module Cloud
@@ -21,11 +22,11 @@ module Google
21
22
  # rubocop:disable LineLength
22
23
 
23
24
  ##
24
- # # Ruby Client for Google Cloud Key Management Service (KMS) API ([Alpha](https://github.com/GoogleCloudPlatform/google-cloud-ruby#versioning))
25
+ # # Ruby Client for Cloud Key Management Service (KMS) API ([Alpha](https://github.com/GoogleCloudPlatform/google-cloud-ruby#versioning))
25
26
  #
26
- # [Google Cloud Key Management Service (KMS) API][Product Documentation]:
27
- # Manages encryption for your cloud services the same way you do on-premises.
28
- # You can generate, use, rotate, and destroy AES256 encryption keys.
27
+ # [Cloud Key Management Service (KMS) API][Product Documentation]:
28
+ # Manages keys and performs cryptographic operations in a central cloud
29
+ # service, for direct use by other cloud resources and applications.
29
30
  # - [Product Documentation][]
30
31
  #
31
32
  # ## Quick Start
@@ -34,7 +35,7 @@ module Google
34
35
  #
35
36
  # 1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
36
37
  # 2. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
37
- # 3. [Enable the Google Cloud Key Management Service (KMS) API.](https://console.cloud.google.com/apis/library/cloudkms.googleapis.com)
38
+ # 3. [Enable the Cloud Key Management Service (KMS) API.](https://console.cloud.google.com/apis/library/cloudkms.googleapis.com)
38
39
  # 4. [Setup Authentication.](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud/master/guides/authentication)
39
40
  #
40
41
  # ### Installation
@@ -43,7 +44,7 @@ module Google
43
44
  # ```
44
45
  #
45
46
  # ### Next Steps
46
- # - Read the [Google Cloud Key Management Service (KMS) API Product documentation][Product Documentation]
47
+ # - Read the [Cloud Key Management Service (KMS) API Product documentation][Product Documentation]
47
48
  # to learn more about the product and see How-to Guides.
48
49
  # - View this [repository's main README](https://github.com/GoogleCloudPlatform/google-cloud-ruby/blob/master/README.md)
49
50
  # to see the full list of Cloud APIs that we cover.
@@ -89,6 +90,9 @@ module Google
89
90
  # * {Google::Cloud::Kms::V1::CryptoKey CryptoKey}
90
91
  # * {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}
91
92
  #
93
+ # If you are using manual gRPC libraries, see
94
+ # [Using gRPC with Cloud KMS](https://cloud.google.com/kms/docs/grpc).
95
+ #
92
96
  # @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc]
93
97
  # Provides the means for authenticating requests made by the client. This parameter can
94
98
  # be many types.
@@ -44,10 +44,13 @@ module Google
44
44
  #
45
45
  # The {Google::Cloud::Kms::V1::CryptoKey CryptoKey}'s primary version can be updated via
46
46
  # {Google::Cloud::Kms::V1::KeyManagementService::UpdateCryptoKeyPrimaryVersion UpdateCryptoKeyPrimaryVersion}.
47
+ #
48
+ # 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.
47
51
  # @!attribute [rw] purpose
48
52
  # @return [Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose]
49
- # The immutable purpose of this {Google::Cloud::Kms::V1::CryptoKey CryptoKey}. Currently, the only acceptable
50
- # purpose is {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ENCRYPT_DECRYPT ENCRYPT_DECRYPT}.
53
+ # The immutable purpose of this {Google::Cloud::Kms::V1::CryptoKey CryptoKey}.
51
54
  # @!attribute [rw] create_time
52
55
  # @return [Google::Protobuf::Timestamp]
53
56
  # Output only. The time at which this {Google::Cloud::Kms::V1::CryptoKey CryptoKey} was created.
@@ -62,20 +65,34 @@ module Google
62
65
  # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKeyVersion CreateCryptoKeyVersion} and
63
66
  # {Google::Cloud::Kms::V1::KeyManagementService::UpdateCryptoKeyPrimaryVersion UpdateCryptoKeyPrimaryVersion}
64
67
  # do not affect {Google::Cloud::Kms::V1::CryptoKey#next_rotation_time next_rotation_time}.
68
+ #
69
+ # 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.
65
72
  # @!attribute [rw] rotation_period
66
73
  # @return [Google::Protobuf::Duration]
67
74
  # {Google::Cloud::Kms::V1::CryptoKey#next_rotation_time next_rotation_time} will be advanced by this period when the service
68
75
  # automatically rotates a key. Must be at least one day.
69
76
  #
70
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.
78
+ #
79
+ # 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.
82
+ # @!attribute [rw] version_template
83
+ # @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.
71
88
  # @!attribute [rw] labels
72
89
  # @return [Hash{String => String}]
73
90
  # Labels with user-defined metadata. For more information, see
74
91
  # [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys).
75
92
  class CryptoKey
76
- # {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose CryptoKeyPurpose} describes the capabilities of a {Google::Cloud::Kms::V1::CryptoKey CryptoKey}. Two
77
- # keys with the same purpose may use different underlying algorithms, but
78
- # must support the same set of operations.
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.
79
96
  module CryptoKeyPurpose
80
97
  # Not specified.
81
98
  CRYPTO_KEY_PURPOSE_UNSPECIFIED = 0
@@ -84,20 +101,66 @@ module Google
84
101
  # {Google::Cloud::Kms::V1::KeyManagementService::Encrypt Encrypt} and
85
102
  # {Google::Cloud::Kms::V1::KeyManagementService::Decrypt Decrypt}.
86
103
  ENCRYPT_DECRYPT = 1
104
+
105
+ # {Google::Cloud::Kms::V1::CryptoKey CryptoKeys} with this purpose may be used with
106
+ # {Google::Cloud::Kms::V1::KeyManagementService::AsymmetricSign AsymmetricSign} and
107
+ # {Google::Cloud::Kms::V1::KeyManagementService::GetPublicKey GetPublicKey}.
108
+ ASYMMETRIC_SIGN = 5
109
+
110
+ # {Google::Cloud::Kms::V1::CryptoKey CryptoKeys} with this purpose may be used with
111
+ # {Google::Cloud::Kms::V1::KeyManagementService::AsymmetricDecrypt AsymmetricDecrypt} and
112
+ # {Google::Cloud::Kms::V1::KeyManagementService::GetPublicKey GetPublicKey}.
113
+ ASYMMETRIC_DECRYPT = 6
114
+ end
115
+ end
116
+
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.
121
+ # @!attribute [rw] protection_level
122
+ # @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}.
125
+ # @!attribute [rw] algorithm
126
+ # @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.
129
+ #
130
+ # 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
132
+ # {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ENCRYPT_DECRYPT ENCRYPT_DECRYPT}.
133
+ class CryptoKeyVersionTemplate; end
134
+
135
+ # Contains an HSM-generated attestation about a key operation.
136
+ # @!attribute [rw] format
137
+ # @return [Google::Cloud::Kms::V1::KeyOperationAttestation::AttestationFormat]
138
+ # Output only. The format of the attestation data.
139
+ # @!attribute [rw] content
140
+ # @return [String]
141
+ # Output only. The attestation data provided by the HSM when the key
142
+ # operation was performed.
143
+ class KeyOperationAttestation
144
+ # Attestion formats provided by the HSM.
145
+ module AttestationFormat
146
+ ATTESTATION_FORMAT_UNSPECIFIED = 0
147
+
148
+ # Cavium HSM attestation compressed with gzip. Note that this format is
149
+ # defined by Cavium and subject to change at any time.
150
+ CAVIUM_V1_COMPRESSED = 3
87
151
  end
88
152
  end
89
153
 
90
154
  # A {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} represents an individual cryptographic key, and the
91
155
  # associated key material.
92
156
  #
93
- # It can be used for cryptographic operations either directly, or via its
94
- # parent {Google::Cloud::Kms::V1::CryptoKey CryptoKey}, in which case the server will choose the appropriate
95
- # version for the operation.
157
+ # An {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::ENABLED ENABLED} version can be
158
+ # used for cryptographic operations.
96
159
  #
97
160
  # For security reasons, the raw cryptographic key material represented by a
98
161
  # {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} can never be viewed or exported. It can only be used to
99
- # encrypt or decrypt data when an authorized user or application invokes Cloud
100
- # KMS.
162
+ # encrypt, decrypt, or sign data when an authorized user or application invokes
163
+ # Cloud KMS.
101
164
  # @!attribute [rw] name
102
165
  # @return [String]
103
166
  # Output only. The resource name for this {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} in the format
@@ -105,9 +168,27 @@ module Google
105
168
  # @!attribute [rw] state
106
169
  # @return [Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState]
107
170
  # The current state of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}.
171
+ # @!attribute [rw] protection_level
172
+ # @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}.
175
+ # @!attribute [rw] algorithm
176
+ # @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.
179
+ # @!attribute [rw] attestation
180
+ # @return [Google::Cloud::Kms::V1::KeyOperationAttestation]
181
+ # Output only. Statement that was generated and signed by the HSM at key
182
+ # creation time. Use this statement to verify attributes of the key as stored
183
+ # 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}.
108
185
  # @!attribute [rw] create_time
109
186
  # @return [Google::Protobuf::Timestamp]
110
187
  # Output only. The time at which this {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} was created.
188
+ # @!attribute [rw] generate_time
189
+ # @return [Google::Protobuf::Timestamp]
190
+ # Output only. The time this {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}'s key material was
191
+ # generated.
111
192
  # @!attribute [rw] destroy_time
112
193
  # @return [Google::Protobuf::Timestamp]
113
194
  # Output only. The time this {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}'s key material is scheduled
@@ -119,13 +200,89 @@ module Google
119
200
  # destroyed. Only present if {Google::Cloud::Kms::V1::CryptoKeyVersion#state state} is
120
201
  # {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::DESTROYED DESTROYED}.
121
202
  class CryptoKeyVersion
203
+ # The algorithm of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}, indicating what
204
+ # parameters must be used for each cryptographic operation.
205
+ #
206
+ # The
207
+ # {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}
209
+ # {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ENCRYPT_DECRYPT ENCRYPT_DECRYPT}.
210
+ #
211
+ # Algorithms beginning with "RSA_SIGN_" are usable with {Google::Cloud::Kms::V1::CryptoKey#purpose CryptoKey#purpose}
212
+ # {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ASYMMETRIC_SIGN ASYMMETRIC_SIGN}.
213
+ #
214
+ # The fields in the name after "RSA_SIGN_" correspond to the following
215
+ # parameters: padding algorithm, modulus bit length, and digest algorithm.
216
+ #
217
+ # For PSS, the salt length used is equal to the length of digest
218
+ # algorithm. For example,
219
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionAlgorithm::RSA_SIGN_PSS_2048_SHA256 RSA_SIGN_PSS_2048_SHA256}
220
+ # will use PSS with a salt length of 256 bits or 32 bytes.
221
+ #
222
+ # Algorithms beginning with "RSA_DECRYPT_" are usable with
223
+ # {Google::Cloud::Kms::V1::CryptoKey#purpose CryptoKey#purpose}
224
+ # {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ASYMMETRIC_DECRYPT ASYMMETRIC_DECRYPT}.
225
+ #
226
+ # The fields in the name after "RSA_DECRYPT_" correspond to the following
227
+ # parameters: padding algorithm, modulus bit length, and digest algorithm.
228
+ #
229
+ # Algorithms beginning with "EC_SIGN_" are usable with {Google::Cloud::Kms::V1::CryptoKey#purpose CryptoKey#purpose}
230
+ # {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ASYMMETRIC_SIGN ASYMMETRIC_SIGN}.
231
+ #
232
+ # The fields in the name after "EC_SIGN_" correspond to the following
233
+ # parameters: elliptic curve, digest algorithm.
234
+ module CryptoKeyVersionAlgorithm
235
+ # Not specified.
236
+ CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED = 0
237
+
238
+ # Creates symmetric encryption keys.
239
+ GOOGLE_SYMMETRIC_ENCRYPTION = 1
240
+
241
+ # RSASSA-PSS 2048 bit key with a SHA256 digest.
242
+ RSA_SIGN_PSS_2048_SHA256 = 2
243
+
244
+ # RSASSA-PSS 3072 bit key with a SHA256 digest.
245
+ RSA_SIGN_PSS_3072_SHA256 = 3
246
+
247
+ # RSASSA-PSS 4096 bit key with a SHA256 digest.
248
+ RSA_SIGN_PSS_4096_SHA256 = 4
249
+
250
+ # RSASSA-PKCS1-v1_5 with a 2048 bit key and a SHA256 digest.
251
+ RSA_SIGN_PKCS1_2048_SHA256 = 5
252
+
253
+ # RSASSA-PKCS1-v1_5 with a 3072 bit key and a SHA256 digest.
254
+ RSA_SIGN_PKCS1_3072_SHA256 = 6
255
+
256
+ # RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA256 digest.
257
+ RSA_SIGN_PKCS1_4096_SHA256 = 7
258
+
259
+ # RSAES-OAEP 2048 bit key with a SHA256 digest.
260
+ RSA_DECRYPT_OAEP_2048_SHA256 = 8
261
+
262
+ # RSAES-OAEP 3072 bit key with a SHA256 digest.
263
+ RSA_DECRYPT_OAEP_3072_SHA256 = 9
264
+
265
+ # RSAES-OAEP 4096 bit key with a SHA256 digest.
266
+ RSA_DECRYPT_OAEP_4096_SHA256 = 10
267
+
268
+ # ECDSA on the NIST P-256 curve with a SHA256 digest.
269
+ EC_SIGN_P256_SHA256 = 12
270
+
271
+ # ECDSA on the NIST P-384 curve with a SHA384 digest.
272
+ EC_SIGN_P384_SHA384 = 13
273
+ end
274
+
122
275
  # The state of a {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}, indicating if it can be used.
123
276
  module CryptoKeyVersionState
124
277
  # Not specified.
125
278
  CRYPTO_KEY_VERSION_STATE_UNSPECIFIED = 0
126
279
 
127
- # This version may be used in {Google::Cloud::Kms::V1::KeyManagementService::Encrypt Encrypt} and
128
- # {Google::Cloud::Kms::V1::KeyManagementService::Decrypt Decrypt} requests.
280
+ # This version is still being generated. It may not be used, enabled,
281
+ # 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.
283
+ PENDING_GENERATION = 5
284
+
285
+ # This version may be used for cryptographic operations.
129
286
  ENABLED = 1
130
287
 
131
288
  # This version may not be used, but the key material is still available,
@@ -142,6 +299,47 @@ module Google
142
299
  # to put it back into the {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::DISABLED DISABLED} state.
143
300
  DESTROY_SCHEDULED = 4
144
301
  end
302
+
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
306
+ # {Google::Cloud::Kms::V1::KeyManagementService::ListCryptoKeys KeyManagementService::ListCryptoKeys}.
307
+ 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.
310
+ CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED = 0
311
+
312
+ # Provides all fields in each {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}, including the
313
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion#attestation attestation}.
314
+ FULL = 1
315
+ end
316
+ end
317
+
318
+ # The public key for a given {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}. Obtained via
319
+ # {Google::Cloud::Kms::V1::KeyManagementService::GetPublicKey GetPublicKey}.
320
+ # @!attribute [rw] pem
321
+ # @return [String]
322
+ # The public key, encoded in PEM format. For more information, see the
323
+ # [RFC 7468](https://tools.ietf.org/html/rfc7468) sections for
324
+ # [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
325
+ # [Textual Encoding of Subject Public Key Info]
326
+ # (https://tools.ietf.org/html/rfc7468#section-13).
327
+ # @!attribute [rw] algorithm
328
+ # @return [Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionAlgorithm]
329
+ # The {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionAlgorithm Algorithm} associated
330
+ # with this key.
331
+ class PublicKey; end
332
+
333
+ # {Google::Cloud::Kms::V1::ProtectionLevel ProtectionLevel} specifies how cryptographic operations are performed.
334
+ module ProtectionLevel
335
+ # Not specified.
336
+ PROTECTION_LEVEL_UNSPECIFIED = 0
337
+
338
+ # Crypto operations are performed in software.
339
+ SOFTWARE = 1
340
+
341
+ # Crypto operations are performed in a Hardware Security Module.
342
+ HSM = 2
145
343
  end
146
344
  end
147
345
  end
@@ -49,6 +49,9 @@ module Google
49
49
  # @return [String]
50
50
  # Optional pagination token, returned earlier via
51
51
  # {Google::Cloud::Kms::V1::ListCryptoKeysResponse#next_page_token ListCryptoKeysResponse#next_page_token}.
52
+ # @!attribute [rw] version_view
53
+ # @return [Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionView]
54
+ # The fields of the primary version to include in the response.
52
55
  class ListCryptoKeysRequest; end
53
56
 
54
57
  # Request message for {Google::Cloud::Kms::V1::KeyManagementService::ListCryptoKeyVersions KeyManagementService::ListCryptoKeyVersions}.
@@ -67,6 +70,9 @@ module Google
67
70
  # @return [String]
68
71
  # Optional pagination token, returned earlier via
69
72
  # {Google::Cloud::Kms::V1::ListCryptoKeyVersionsResponse#next_page_token ListCryptoKeyVersionsResponse#next_page_token}.
73
+ # @!attribute [rw] view
74
+ # @return [Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionView]
75
+ # The fields to include in the response.
70
76
  class ListCryptoKeyVersionsRequest; end
71
77
 
72
78
  # Response message for {Google::Cloud::Kms::V1::KeyManagementService::ListKeyRings KeyManagementService::ListKeyRings}.
@@ -128,6 +134,13 @@ module Google
128
134
  # The {Google::Cloud::Kms::V1::CryptoKeyVersion#name name} of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to get.
129
135
  class GetCryptoKeyVersionRequest; end
130
136
 
137
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::GetPublicKey KeyManagementService::GetPublicKey}.
138
+ # @!attribute [rw] name
139
+ # @return [String]
140
+ # The {Google::Cloud::Kms::V1::CryptoKeyVersion#name name} of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} public key to
141
+ # get.
142
+ class GetPublicKeyRequest; end
143
+
131
144
  # Request message for {Google::Cloud::Kms::V1::KeyManagementService::CreateKeyRing KeyManagementService::CreateKeyRing}.
132
145
  # @!attribute [rw] parent
133
146
  # @return [String]
@@ -195,11 +208,24 @@ module Google
195
208
  # @!attribute [rw] plaintext
196
209
  # @return [String]
197
210
  # Required. The data to encrypt. Must be no larger than 64KiB.
211
+ #
212
+ # The maximum size depends on the key version's
213
+ # {Google::Cloud::Kms::V1::CryptoKeyVersionTemplate#protection_level protection_level}. For
214
+ # {Google::Cloud::Kms::V1::ProtectionLevel::SOFTWARE SOFTWARE} keys, the plaintext must be no larger
215
+ # than 64KiB. For {Google::Cloud::Kms::V1::ProtectionLevel::HSM HSM} keys, the combined length of the
216
+ # plaintext and additional_authenticated_data fields must be no larger than
217
+ # 8KiB.
198
218
  # @!attribute [rw] additional_authenticated_data
199
219
  # @return [String]
200
220
  # Optional data that, if specified, must also be provided during decryption
201
- # through {Google::Cloud::Kms::V1::DecryptRequest#additional_authenticated_data DecryptRequest#additional_authenticated_data}. Must be no
202
- # larger than 64KiB.
221
+ # through {Google::Cloud::Kms::V1::DecryptRequest#additional_authenticated_data DecryptRequest#additional_authenticated_data}.
222
+ #
223
+ # The maximum size depends on the key version's
224
+ # {Google::Cloud::Kms::V1::CryptoKeyVersionTemplate#protection_level protection_level}. For
225
+ # {Google::Cloud::Kms::V1::ProtectionLevel::SOFTWARE SOFTWARE} keys, the AAD must be no larger than
226
+ # 64KiB. For {Google::Cloud::Kms::V1::ProtectionLevel::HSM HSM} keys, the combined length of the
227
+ # plaintext and additional_authenticated_data fields must be no larger than
228
+ # 8KiB.
203
229
  class EncryptRequest; end
204
230
 
205
231
  # Request message for {Google::Cloud::Kms::V1::KeyManagementService::Decrypt KeyManagementService::Decrypt}.
@@ -217,6 +243,28 @@ module Google
217
243
  # {Google::Cloud::Kms::V1::EncryptRequest#additional_authenticated_data EncryptRequest#additional_authenticated_data}.
218
244
  class DecryptRequest; end
219
245
 
246
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::AsymmetricSign KeyManagementService::AsymmetricSign}.
247
+ # @!attribute [rw] name
248
+ # @return [String]
249
+ # Required. The resource name of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to use for signing.
250
+ # @!attribute [rw] digest
251
+ # @return [Google::Cloud::Kms::V1::Digest]
252
+ # Required. The digest of the data to sign. The digest must be produced with
253
+ # the same digest algorithm as specified by the key version's
254
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion#algorithm algorithm}.
255
+ class AsymmetricSignRequest; end
256
+
257
+ # Request message for {Google::Cloud::Kms::V1::KeyManagementService::AsymmetricDecrypt KeyManagementService::AsymmetricDecrypt}.
258
+ # @!attribute [rw] name
259
+ # @return [String]
260
+ # Required. The resource name of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to use for
261
+ # decryption.
262
+ # @!attribute [rw] ciphertext
263
+ # @return [String]
264
+ # Required. The data encrypted with the named {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}'s public
265
+ # key using OAEP.
266
+ class AsymmetricDecryptRequest; end
267
+
220
268
  # Response message for {Google::Cloud::Kms::V1::KeyManagementService::Decrypt KeyManagementService::Decrypt}.
221
269
  # @!attribute [rw] plaintext
222
270
  # @return [String]
@@ -232,6 +280,18 @@ module Google
232
280
  # The encrypted data.
233
281
  class EncryptResponse; end
234
282
 
283
+ # Response message for {Google::Cloud::Kms::V1::KeyManagementService::AsymmetricSign KeyManagementService::AsymmetricSign}.
284
+ # @!attribute [rw] signature
285
+ # @return [String]
286
+ # The created signature.
287
+ class AsymmetricSignResponse; end
288
+
289
+ # Response message for {Google::Cloud::Kms::V1::KeyManagementService::AsymmetricDecrypt KeyManagementService::AsymmetricDecrypt}.
290
+ # @!attribute [rw] plaintext
291
+ # @return [String]
292
+ # The decrypted data originally encrypted with the matching public key.
293
+ class AsymmetricDecryptResponse; end
294
+
235
295
  # Request message for {Google::Cloud::Kms::V1::KeyManagementService::UpdateCryptoKeyPrimaryVersion KeyManagementService::UpdateCryptoKeyPrimaryVersion}.
236
296
  # @!attribute [rw] name
237
297
  # @return [String]
@@ -252,6 +312,26 @@ module Google
252
312
  # @return [String]
253
313
  # The resource name of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to restore.
254
314
  class RestoreCryptoKeyVersionRequest; end
315
+
316
+ # A {Google::Cloud::Kms::V1::Digest Digest} holds a cryptographic message digest.
317
+ # @!attribute [rw] sha256
318
+ # @return [String]
319
+ # A message digest produced with the SHA-256 algorithm.
320
+ # @!attribute [rw] sha384
321
+ # @return [String]
322
+ # A message digest produced with the SHA-384 algorithm.
323
+ # @!attribute [rw] sha512
324
+ # @return [String]
325
+ # A message digest produced with the SHA-512 algorithm.
326
+ class Digest; end
327
+
328
+ # Cloud KMS metadata for the given {Google::Cloud::Location::Location}.
329
+ # @!attribute [rw] hsm_available
330
+ # @return [true, false]
331
+ # Indicates whether {Google::Cloud::Kms::V1::CryptoKey CryptoKeys} with
332
+ # {Google::Cloud::Kms::V1::CryptoKeyVersionTemplate#protection_level protection_level}
333
+ # {Google::Cloud::Kms::V1::ProtectionLevel::HSM HSM} can be created in this location.
334
+ class LocationMetadata; end
255
335
  end
256
336
  end
257
337
  end
@@ -42,6 +42,9 @@ module Google
42
42
  # * {Google::Cloud::Kms::V1::CryptoKey CryptoKey}
43
43
  # * {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}
44
44
  #
45
+ # If you are using manual gRPC libraries, see
46
+ # [Using gRPC with Cloud KMS](https://cloud.google.com/kms/docs/grpc).
47
+ #
45
48
  # @!attribute [r] key_management_service_stub
46
49
  # @return [Google::Cloud::Kms::V1::KeyManagementService::Stub]
47
50
  # @!attribute [r] iam_policy_stub
@@ -522,6 +525,8 @@ module Google
522
525
  # parameter does not affect the return value. If page streaming is
523
526
  # performed per-page, this determines the maximum number of
524
527
  # resources in a page.
528
+ # @param version_view [Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionView]
529
+ # The fields of the primary version to include in the response.
525
530
  # @param options [Google::Gax::CallOptions]
526
531
  # Overrides the default settings for this call, e.g, timeout,
527
532
  # retries, etc.
@@ -556,11 +561,13 @@ module Google
556
561
  def list_crypto_keys \
557
562
  parent,
558
563
  page_size: nil,
564
+ version_view: nil,
559
565
  options: nil,
560
566
  &block
561
567
  req = {
562
568
  parent: parent,
563
- page_size: page_size
569
+ page_size: page_size,
570
+ version_view: version_view
564
571
  }.delete_if { |_, v| v.nil? }
565
572
  req = Google::Gax::to_proto(req, Google::Cloud::Kms::V1::ListCryptoKeysRequest)
566
573
  @list_crypto_keys.call(req, options, &block)
@@ -577,6 +584,8 @@ module Google
577
584
  # parameter does not affect the return value. If page streaming is
578
585
  # performed per-page, this determines the maximum number of
579
586
  # resources in a page.
587
+ # @param view [Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionView]
588
+ # The fields to include in the response.
580
589
  # @param options [Google::Gax::CallOptions]
581
590
  # Overrides the default settings for this call, e.g, timeout,
582
591
  # retries, etc.
@@ -611,11 +620,13 @@ module Google
611
620
  def list_crypto_key_versions \
612
621
  parent,
613
622
  page_size: nil,
623
+ view: nil,
614
624
  options: nil,
615
625
  &block
616
626
  req = {
617
627
  parent: parent,
618
- page_size: page_size
628
+ page_size: page_size,
629
+ view: view
619
630
  }.delete_if { |_, v| v.nil? }
620
631
  req = Google::Gax::to_proto(req, Google::Cloud::Kms::V1::ListCryptoKeyVersionsRequest)
621
632
  @list_crypto_key_versions.call(req, options, &block)
@@ -762,7 +773,9 @@ module Google
762
773
 
763
774
  # Create a new {Google::Cloud::Kms::V1::CryptoKey CryptoKey} within a {Google::Cloud::Kms::V1::KeyRing KeyRing}.
764
775
  #
765
- # {Google::Cloud::Kms::V1::CryptoKey#purpose CryptoKey#purpose} is required.
776
+ # {Google::Cloud::Kms::V1::CryptoKey#purpose CryptoKey#purpose} and
777
+ # {Google::Cloud::Kms::V1::CryptoKeyVersionTemplate#algorithm CryptoKey#version_template#algorithm}
778
+ # are required.
766
779
  #
767
780
  # @param parent [String]
768
781
  # Required. The {Google::Cloud::Kms::V1::KeyRing#name name} of the KeyRing associated with the
@@ -952,6 +965,8 @@ module Google
952
965
  end
953
966
 
954
967
  # Encrypts data, so that it can only be recovered by a call to {Google::Cloud::Kms::V1::KeyManagementService::Decrypt Decrypt}.
968
+ # The {Google::Cloud::Kms::V1::CryptoKey#purpose CryptoKey#purpose} must be
969
+ # {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ENCRYPT_DECRYPT ENCRYPT_DECRYPT}.
955
970
  #
956
971
  # @param name [String]
957
972
  # Required. The resource name of the {Google::Cloud::Kms::V1::CryptoKey CryptoKey} or {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}
@@ -961,10 +976,23 @@ module Google
961
976
  # {Google::Cloud::Kms::V1::CryptoKey#primary primary version}.
962
977
  # @param plaintext [String]
963
978
  # Required. The data to encrypt. Must be no larger than 64KiB.
979
+ #
980
+ # The maximum size depends on the key version's
981
+ # {Google::Cloud::Kms::V1::CryptoKeyVersionTemplate#protection_level protection_level}. For
982
+ # {Google::Cloud::Kms::V1::ProtectionLevel::SOFTWARE SOFTWARE} keys, the plaintext must be no larger
983
+ # than 64KiB. For {Google::Cloud::Kms::V1::ProtectionLevel::HSM HSM} keys, the combined length of the
984
+ # plaintext and additional_authenticated_data fields must be no larger than
985
+ # 8KiB.
964
986
  # @param additional_authenticated_data [String]
965
987
  # Optional data that, if specified, must also be provided during decryption
966
- # through {Google::Cloud::Kms::V1::DecryptRequest#additional_authenticated_data DecryptRequest#additional_authenticated_data}. Must be no
967
- # larger than 64KiB.
988
+ # through {Google::Cloud::Kms::V1::DecryptRequest#additional_authenticated_data DecryptRequest#additional_authenticated_data}.
989
+ #
990
+ # The maximum size depends on the key version's
991
+ # {Google::Cloud::Kms::V1::CryptoKeyVersionTemplate#protection_level protection_level}. For
992
+ # {Google::Cloud::Kms::V1::ProtectionLevel::SOFTWARE SOFTWARE} keys, the AAD must be no larger than
993
+ # 64KiB. For {Google::Cloud::Kms::V1::ProtectionLevel::HSM HSM} keys, the combined length of the
994
+ # plaintext and additional_authenticated_data fields must be no larger than
995
+ # 8KiB.
968
996
  # @param options [Google::Gax::CallOptions]
969
997
  # Overrides the default settings for this call, e.g, timeout,
970
998
  # retries, etc.
@@ -998,7 +1026,8 @@ module Google
998
1026
  @encrypt.call(req, options, &block)
999
1027
  end
1000
1028
 
1001
- # Decrypts data that was protected by {Google::Cloud::Kms::V1::KeyManagementService::Encrypt Encrypt}.
1029
+ # Decrypts data that was protected by {Google::Cloud::Kms::V1::KeyManagementService::Encrypt Encrypt}. The {Google::Cloud::Kms::V1::CryptoKey#purpose CryptoKey#purpose}
1030
+ # must be {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ENCRYPT_DECRYPT ENCRYPT_DECRYPT}.
1002
1031
  #
1003
1032
  # @param name [String]
1004
1033
  # Required. The resource name of the {Google::Cloud::Kms::V1::CryptoKey CryptoKey} to use for decryption.
@@ -1042,7 +1071,9 @@ module Google
1042
1071
  @decrypt.call(req, options, &block)
1043
1072
  end
1044
1073
 
1045
- # Update the version of a {Google::Cloud::Kms::V1::CryptoKey CryptoKey} that will be used in {Google::Cloud::Kms::V1::KeyManagementService::Encrypt Encrypt}
1074
+ # Update the version of a {Google::Cloud::Kms::V1::CryptoKey CryptoKey} that will be used in {Google::Cloud::Kms::V1::KeyManagementService::Encrypt Encrypt}.
1075
+ #
1076
+ # Returns an error if called on an asymmetric key.
1046
1077
  #
1047
1078
  # @param name [String]
1048
1079
  # The resource name of the {Google::Cloud::Kms::V1::CryptoKey CryptoKey} to update.
@@ -1121,7 +1152,7 @@ module Google
1121
1152
  end
1122
1153
 
1123
1154
  # Restore a {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} in the
1124
- # {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::DESTROY_SCHEDULED DESTROY_SCHEDULED},
1155
+ # {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::DESTROY_SCHEDULED DESTROY_SCHEDULED}
1125
1156
  # state.
1126
1157
  #
1127
1158
  # Upon restoration of the CryptoKeyVersion, {Google::Cloud::Kms::V1::CryptoKeyVersion#state state}
@@ -18,6 +18,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
18
18
  optional :purpose, :enum, 3, "google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose"
19
19
  optional :create_time, :message, 5, "google.protobuf.Timestamp"
20
20
  optional :next_rotation_time, :message, 7, "google.protobuf.Timestamp"
21
+ optional :version_template, :message, 11, "google.cloud.kms.v1.CryptoKeyVersionTemplate"
21
22
  map :labels, :string, :string, 10
22
23
  oneof :rotation_schedule do
23
24
  optional :rotation_period, :message, 8, "google.protobuf.Duration"
@@ -26,21 +27,68 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
26
27
  add_enum "google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose" do
27
28
  value :CRYPTO_KEY_PURPOSE_UNSPECIFIED, 0
28
29
  value :ENCRYPT_DECRYPT, 1
30
+ value :ASYMMETRIC_SIGN, 5
31
+ value :ASYMMETRIC_DECRYPT, 6
32
+ end
33
+ add_message "google.cloud.kms.v1.CryptoKeyVersionTemplate" do
34
+ optional :protection_level, :enum, 1, "google.cloud.kms.v1.ProtectionLevel"
35
+ optional :algorithm, :enum, 3, "google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm"
36
+ end
37
+ add_message "google.cloud.kms.v1.KeyOperationAttestation" do
38
+ optional :format, :enum, 4, "google.cloud.kms.v1.KeyOperationAttestation.AttestationFormat"
39
+ optional :content, :bytes, 5
40
+ end
41
+ add_enum "google.cloud.kms.v1.KeyOperationAttestation.AttestationFormat" do
42
+ value :ATTESTATION_FORMAT_UNSPECIFIED, 0
43
+ value :CAVIUM_V1_COMPRESSED, 3
29
44
  end
30
45
  add_message "google.cloud.kms.v1.CryptoKeyVersion" do
31
46
  optional :name, :string, 1
32
47
  optional :state, :enum, 3, "google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState"
48
+ optional :protection_level, :enum, 7, "google.cloud.kms.v1.ProtectionLevel"
49
+ optional :algorithm, :enum, 10, "google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm"
50
+ optional :attestation, :message, 8, "google.cloud.kms.v1.KeyOperationAttestation"
33
51
  optional :create_time, :message, 4, "google.protobuf.Timestamp"
52
+ optional :generate_time, :message, 11, "google.protobuf.Timestamp"
34
53
  optional :destroy_time, :message, 5, "google.protobuf.Timestamp"
35
54
  optional :destroy_event_time, :message, 6, "google.protobuf.Timestamp"
36
55
  end
56
+ add_enum "google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm" do
57
+ value :CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED, 0
58
+ value :GOOGLE_SYMMETRIC_ENCRYPTION, 1
59
+ value :RSA_SIGN_PSS_2048_SHA256, 2
60
+ value :RSA_SIGN_PSS_3072_SHA256, 3
61
+ value :RSA_SIGN_PSS_4096_SHA256, 4
62
+ value :RSA_SIGN_PKCS1_2048_SHA256, 5
63
+ value :RSA_SIGN_PKCS1_3072_SHA256, 6
64
+ value :RSA_SIGN_PKCS1_4096_SHA256, 7
65
+ value :RSA_DECRYPT_OAEP_2048_SHA256, 8
66
+ value :RSA_DECRYPT_OAEP_3072_SHA256, 9
67
+ value :RSA_DECRYPT_OAEP_4096_SHA256, 10
68
+ value :EC_SIGN_P256_SHA256, 12
69
+ value :EC_SIGN_P384_SHA384, 13
70
+ end
37
71
  add_enum "google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState" do
38
72
  value :CRYPTO_KEY_VERSION_STATE_UNSPECIFIED, 0
73
+ value :PENDING_GENERATION, 5
39
74
  value :ENABLED, 1
40
75
  value :DISABLED, 2
41
76
  value :DESTROYED, 3
42
77
  value :DESTROY_SCHEDULED, 4
43
78
  end
79
+ add_enum "google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView" do
80
+ value :CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED, 0
81
+ value :FULL, 1
82
+ end
83
+ add_message "google.cloud.kms.v1.PublicKey" do
84
+ optional :pem, :string, 1
85
+ optional :algorithm, :enum, 2, "google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm"
86
+ end
87
+ add_enum "google.cloud.kms.v1.ProtectionLevel" do
88
+ value :PROTECTION_LEVEL_UNSPECIFIED, 0
89
+ value :SOFTWARE, 1
90
+ value :HSM, 2
91
+ end
44
92
  end
45
93
 
46
94
  module Google
@@ -50,8 +98,15 @@ module Google
50
98
  KeyRing = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.KeyRing").msgclass
51
99
  CryptoKey = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.CryptoKey").msgclass
52
100
  CryptoKey::CryptoKeyPurpose = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose").enummodule
101
+ CryptoKeyVersionTemplate = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.CryptoKeyVersionTemplate").msgclass
102
+ KeyOperationAttestation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.KeyOperationAttestation").msgclass
103
+ KeyOperationAttestation::AttestationFormat = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.KeyOperationAttestation.AttestationFormat").enummodule
53
104
  CryptoKeyVersion = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.CryptoKeyVersion").msgclass
105
+ CryptoKeyVersion::CryptoKeyVersionAlgorithm = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm").enummodule
54
106
  CryptoKeyVersion::CryptoKeyVersionState = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState").enummodule
107
+ CryptoKeyVersion::CryptoKeyVersionView = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView").enummodule
108
+ PublicKey = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.PublicKey").msgclass
109
+ ProtectionLevel = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.ProtectionLevel").enummodule
55
110
  end
56
111
  end
57
112
  end
@@ -19,11 +19,13 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
19
19
  optional :parent, :string, 1
20
20
  optional :page_size, :int32, 2
21
21
  optional :page_token, :string, 3
22
+ optional :version_view, :enum, 4, "google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView"
22
23
  end
23
24
  add_message "google.cloud.kms.v1.ListCryptoKeyVersionsRequest" do
24
25
  optional :parent, :string, 1
25
26
  optional :page_size, :int32, 2
26
27
  optional :page_token, :string, 3
28
+ optional :view, :enum, 4, "google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView"
27
29
  end
28
30
  add_message "google.cloud.kms.v1.ListKeyRingsResponse" do
29
31
  repeated :key_rings, :message, 1, "google.cloud.kms.v1.KeyRing"
@@ -49,6 +51,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
49
51
  add_message "google.cloud.kms.v1.GetCryptoKeyVersionRequest" do
50
52
  optional :name, :string, 1
51
53
  end
54
+ add_message "google.cloud.kms.v1.GetPublicKeyRequest" do
55
+ optional :name, :string, 1
56
+ end
52
57
  add_message "google.cloud.kms.v1.CreateKeyRingRequest" do
53
58
  optional :parent, :string, 1
54
59
  optional :key_ring_id, :string, 2
@@ -81,6 +86,14 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
81
86
  optional :ciphertext, :bytes, 2
82
87
  optional :additional_authenticated_data, :bytes, 3
83
88
  end
89
+ add_message "google.cloud.kms.v1.AsymmetricSignRequest" do
90
+ optional :name, :string, 1
91
+ optional :digest, :message, 3, "google.cloud.kms.v1.Digest"
92
+ end
93
+ add_message "google.cloud.kms.v1.AsymmetricDecryptRequest" do
94
+ optional :name, :string, 1
95
+ optional :ciphertext, :bytes, 3
96
+ end
84
97
  add_message "google.cloud.kms.v1.DecryptResponse" do
85
98
  optional :plaintext, :bytes, 1
86
99
  end
@@ -88,6 +101,12 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
88
101
  optional :name, :string, 1
89
102
  optional :ciphertext, :bytes, 2
90
103
  end
104
+ add_message "google.cloud.kms.v1.AsymmetricSignResponse" do
105
+ optional :signature, :bytes, 1
106
+ end
107
+ add_message "google.cloud.kms.v1.AsymmetricDecryptResponse" do
108
+ optional :plaintext, :bytes, 1
109
+ end
91
110
  add_message "google.cloud.kms.v1.UpdateCryptoKeyPrimaryVersionRequest" do
92
111
  optional :name, :string, 1
93
112
  optional :crypto_key_version_id, :string, 2
@@ -98,6 +117,16 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
98
117
  add_message "google.cloud.kms.v1.RestoreCryptoKeyVersionRequest" do
99
118
  optional :name, :string, 1
100
119
  end
120
+ add_message "google.cloud.kms.v1.Digest" do
121
+ oneof :digest do
122
+ optional :sha256, :bytes, 1
123
+ optional :sha384, :bytes, 2
124
+ optional :sha512, :bytes, 3
125
+ end
126
+ end
127
+ add_message "google.cloud.kms.v1.LocationMetadata" do
128
+ optional :hsm_available, :bool, 1
129
+ end
101
130
  end
102
131
 
103
132
  module Google
@@ -113,6 +142,7 @@ module Google
113
142
  GetKeyRingRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.GetKeyRingRequest").msgclass
114
143
  GetCryptoKeyRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.GetCryptoKeyRequest").msgclass
115
144
  GetCryptoKeyVersionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.GetCryptoKeyVersionRequest").msgclass
145
+ GetPublicKeyRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.GetPublicKeyRequest").msgclass
116
146
  CreateKeyRingRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.CreateKeyRingRequest").msgclass
117
147
  CreateCryptoKeyRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.CreateCryptoKeyRequest").msgclass
118
148
  CreateCryptoKeyVersionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.CreateCryptoKeyVersionRequest").msgclass
@@ -120,11 +150,17 @@ module Google
120
150
  UpdateCryptoKeyVersionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.UpdateCryptoKeyVersionRequest").msgclass
121
151
  EncryptRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.EncryptRequest").msgclass
122
152
  DecryptRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.DecryptRequest").msgclass
153
+ AsymmetricSignRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.AsymmetricSignRequest").msgclass
154
+ AsymmetricDecryptRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.AsymmetricDecryptRequest").msgclass
123
155
  DecryptResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.DecryptResponse").msgclass
124
156
  EncryptResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.EncryptResponse").msgclass
157
+ AsymmetricSignResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.AsymmetricSignResponse").msgclass
158
+ AsymmetricDecryptResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.AsymmetricDecryptResponse").msgclass
125
159
  UpdateCryptoKeyPrimaryVersionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.UpdateCryptoKeyPrimaryVersionRequest").msgclass
126
160
  DestroyCryptoKeyVersionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.DestroyCryptoKeyVersionRequest").msgclass
127
161
  RestoreCryptoKeyVersionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.RestoreCryptoKeyVersionRequest").msgclass
162
+ Digest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.Digest").msgclass
163
+ LocationMetadata = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.LocationMetadata").msgclass
128
164
  end
129
165
  end
130
166
  end
@@ -1,7 +1,7 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # Source: google/cloud/kms/v1/service.proto for package 'google.cloud.kms.v1'
3
3
  # Original file comments:
4
- # Copyright 2017 Google Inc.
4
+ # Copyright 2018 Google LLC.
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
7
7
  # you may not use this file except in compliance with the License.
@@ -15,6 +15,7 @@
15
15
  # See the License for the specific language governing permissions and
16
16
  # limitations under the License.
17
17
  #
18
+ #
18
19
 
19
20
 
20
21
  require 'grpc'
@@ -33,6 +34,9 @@ module Google
33
34
  # * [KeyRing][google.cloud.kms.v1.KeyRing]
34
35
  # * [CryptoKey][google.cloud.kms.v1.CryptoKey]
35
36
  # * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
37
+ #
38
+ # If you are using manual gRPC libraries, see
39
+ # [Using gRPC with Cloud KMS](https://cloud.google.com/kms/docs/grpc).
36
40
  class Service
37
41
 
38
42
  include GRPC::GenericService
@@ -54,11 +58,18 @@ module Google
54
58
  rpc :GetCryptoKey, GetCryptoKeyRequest, CryptoKey
55
59
  # Returns metadata for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
56
60
  rpc :GetCryptoKeyVersion, GetCryptoKeyVersionRequest, CryptoKeyVersion
61
+ # Returns the public key for the given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. The
62
+ # [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
63
+ # [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN] or
64
+ # [ASYMMETRIC_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_DECRYPT].
65
+ rpc :GetPublicKey, GetPublicKeyRequest, PublicKey
57
66
  # Create a new [KeyRing][google.cloud.kms.v1.KeyRing] in a given Project and Location.
58
67
  rpc :CreateKeyRing, CreateKeyRingRequest, KeyRing
59
68
  # Create a new [CryptoKey][google.cloud.kms.v1.CryptoKey] within a [KeyRing][google.cloud.kms.v1.KeyRing].
60
69
  #
61
- # [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] is required.
70
+ # [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] and
71
+ # [CryptoKey.version_template.algorithm][google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm]
72
+ # are required.
62
73
  rpc :CreateCryptoKey, CreateCryptoKeyRequest, CryptoKey
63
74
  # Create a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in a [CryptoKey][google.cloud.kms.v1.CryptoKey].
64
75
  #
@@ -77,10 +88,23 @@ module Google
77
88
  # move between other states.
78
89
  rpc :UpdateCryptoKeyVersion, UpdateCryptoKeyVersionRequest, CryptoKeyVersion
79
90
  # Encrypts data, so that it can only be recovered by a call to [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
91
+ # The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
92
+ # [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
80
93
  rpc :Encrypt, EncryptRequest, EncryptResponse
81
- # Decrypts data that was protected by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
94
+ # Decrypts data that was protected by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt]. The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
95
+ # must be [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
82
96
  rpc :Decrypt, DecryptRequest, DecryptResponse
83
- # Update the version of a [CryptoKey][google.cloud.kms.v1.CryptoKey] that will be used in [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt]
97
+ # Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
98
+ # ASYMMETRIC_SIGN, producing a signature that can be verified with the public
99
+ # key retrieved from [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
100
+ rpc :AsymmetricSign, AsymmetricSignRequest, AsymmetricSignResponse
101
+ # Decrypts data that was encrypted with a public key retrieved from
102
+ # [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey] corresponding to a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
103
+ # [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] ASYMMETRIC_DECRYPT.
104
+ rpc :AsymmetricDecrypt, AsymmetricDecryptRequest, AsymmetricDecryptResponse
105
+ # Update the version of a [CryptoKey][google.cloud.kms.v1.CryptoKey] that will be used in [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
106
+ #
107
+ # Returns an error if called on an asymmetric key.
84
108
  rpc :UpdateCryptoKeyPrimaryVersion, UpdateCryptoKeyPrimaryVersionRequest, CryptoKey
85
109
  # Schedule a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] for destruction.
86
110
  #
@@ -96,7 +120,7 @@ module Google
96
120
  # [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] may be called to reverse the process.
97
121
  rpc :DestroyCryptoKeyVersion, DestroyCryptoKeyVersionRequest, CryptoKeyVersion
98
122
  # Restore a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the
99
- # [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED],
123
+ # [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
100
124
  # state.
101
125
  #
102
126
  # Upon restoration of the CryptoKeyVersion, [state][google.cloud.kms.v1.CryptoKeyVersion.state]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-kms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-10 00:00:00.000000000 Z
11
+ date: 2018-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-gax
@@ -108,8 +108,8 @@ dependencies:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0.9'
111
- description: google-cloud-kms is the official library for Google Cloud Key Management
112
- Service (KMS) API.
111
+ description: google-cloud-kms is the official library for Cloud Key Management Service
112
+ (KMS) API.
113
113
  email: googleapis-packages@google.com
114
114
  executables: []
115
115
  extensions: []
@@ -128,7 +128,6 @@ files:
128
128
  - lib/google/cloud/kms/v1/doc/google/protobuf/duration.rb
129
129
  - lib/google/cloud/kms/v1/doc/google/protobuf/field_mask.rb
130
130
  - lib/google/cloud/kms/v1/doc/google/protobuf/timestamp.rb
131
- - lib/google/cloud/kms/v1/doc/overview.rb
132
131
  - lib/google/cloud/kms/v1/key_management_service_client.rb
133
132
  - lib/google/cloud/kms/v1/key_management_service_client_config.json
134
133
  - lib/google/cloud/kms/v1/resources_pb.rb
@@ -157,5 +156,5 @@ rubyforge_project:
157
156
  rubygems_version: 2.7.7
158
157
  signing_key:
159
158
  specification_version: 4
160
- summary: API Client library for Google Cloud Key Management Service (KMS) API
159
+ summary: API Client library for Cloud Key Management Service (KMS) API
161
160
  test_files: []
@@ -1,81 +0,0 @@
1
- # Copyright 2018 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # https://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- module Google
17
- module Cloud
18
- # rubocop:disable LineLength
19
-
20
- ##
21
- # # Ruby Client for Google Cloud Key Management Service (KMS) API ([Alpha](https://github.com/GoogleCloudPlatform/google-cloud-ruby#versioning))
22
- #
23
- # [Google Cloud Key Management Service (KMS) API][Product Documentation]:
24
- # Manages encryption for your cloud services the same way you do on-premises.
25
- # You can generate, use, rotate, and destroy AES256 encryption keys.
26
- # - [Product Documentation][]
27
- #
28
- # ## Quick Start
29
- # In order to use this library, you first need to go through the following
30
- # steps:
31
- #
32
- # 1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
33
- # 2. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
34
- # 3. [Enable the Google Cloud Key Management Service (KMS) API.](https://console.cloud.google.com/apis/library/cloudkms.googleapis.com)
35
- # 4. [Setup Authentication.](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud/master/guides/authentication)
36
- #
37
- # ### Installation
38
- # ```
39
- # $ gem install google-cloud-kms
40
- # ```
41
- #
42
- # ### Next Steps
43
- # - Read the [Google Cloud Key Management Service (KMS) API Product documentation][Product Documentation]
44
- # to learn more about the product and see How-to Guides.
45
- # - View this [repository's main README](https://github.com/GoogleCloudPlatform/google-cloud-ruby/blob/master/README.md)
46
- # to see the full list of Cloud APIs that we cover.
47
- #
48
- # [Product Documentation]: https://cloud.google.com/kms
49
- #
50
- # ## Enabling Logging
51
- #
52
- # To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
53
- # The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/stdlib-2.5.0/libdoc/logger/rdoc/Logger.html) as shown below,
54
- # or a [`Google::Cloud::Logging::Logger`](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-logging/latest/google/cloud/logging/logger)
55
- # that will write logs to [Stackdriver Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
56
- # and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
57
- #
58
- # Configuring a Ruby stdlib logger:
59
- #
60
- # ```ruby
61
- # require "logger"
62
- #
63
- # module MyLogger
64
- # LOGGER = Logger.new $stderr, level: Logger::WARN
65
- # def logger
66
- # LOGGER
67
- # end
68
- # end
69
- #
70
- # # Define a gRPC module-level logger method before grpc/logconfig.rb loads.
71
- # module GRPC
72
- # extend MyLogger
73
- # end
74
- # ```
75
- #
76
- module Kms
77
- module V1
78
- end
79
- end
80
- end
81
- end