google-cloud-kms-v1 0.16.0 → 0.18.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.
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "gapic/rest"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/cloud/kms/v1/version"
24
+ require "google/cloud/kms/v1/bindings_override"
25
+
26
+ require "google/cloud/kms/v1/key_management_service/credentials"
27
+ require "google/cloud/kms/v1/key_management_service/paths"
28
+ require "google/cloud/kms/v1/key_management_service/rest/client"
29
+
30
+ module Google
31
+ module Cloud
32
+ module Kms
33
+ module V1
34
+ ##
35
+ # Google Cloud Key Management Service
36
+ #
37
+ # Manages cryptographic keys and operations using those keys. Implements a REST
38
+ # model with the following objects:
39
+ #
40
+ # * {::Google::Cloud::Kms::V1::KeyRing KeyRing}
41
+ # * {::Google::Cloud::Kms::V1::CryptoKey CryptoKey}
42
+ # * {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}
43
+ # * {::Google::Cloud::Kms::V1::ImportJob ImportJob}
44
+ #
45
+ # If you are using manual gRPC libraries, see
46
+ # [Using gRPC with Cloud KMS](https://cloud.google.com/kms/docs/grpc).
47
+ #
48
+ # To load this service and instantiate a REST client:
49
+ #
50
+ # require "google/cloud/kms/v1/key_management_service/rest"
51
+ # client = ::Google::Cloud::Kms::V1::KeyManagementService::Rest::Client.new
52
+ #
53
+ module KeyManagementService
54
+ # Client for the REST transport
55
+ module Rest
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
62
+
63
+ helper_path = ::File.join __dir__, "rest", "helpers.rb"
64
+ require "google/cloud/kms/v1/key_management_service/rest/helpers" if ::File.file? helper_path
@@ -25,6 +25,7 @@ require "google/cloud/kms/v1/version"
25
25
  require "google/cloud/kms/v1/key_management_service/credentials"
26
26
  require "google/cloud/kms/v1/key_management_service/paths"
27
27
  require "google/cloud/kms/v1/key_management_service/client"
28
+ require "google/cloud/kms/v1/key_management_service/rest"
28
29
 
29
30
  module Google
30
31
  module Cloud
@@ -44,11 +45,16 @@ module Google
44
45
  # If you are using manual gRPC libraries, see
45
46
  # [Using gRPC with Cloud KMS](https://cloud.google.com/kms/docs/grpc).
46
47
  #
47
- # To load this service and instantiate a client:
48
+ # @example Load this service and instantiate a gRPC client
48
49
  #
49
50
  # require "google/cloud/kms/v1/key_management_service"
50
51
  # client = ::Google::Cloud::Kms::V1::KeyManagementService::Client.new
51
52
  #
53
+ # @example Load this service and instantiate a REST client
54
+ #
55
+ # require "google/cloud/kms/v1/key_management_service/rest"
56
+ # client = ::Google::Cloud::Kms::V1::KeyManagementService::Rest::Client.new
57
+ #
52
58
  module KeyManagementService
53
59
  end
54
60
  end
@@ -69,6 +69,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
69
69
  optional :import_job, :string, 14
70
70
  optional :import_time, :message, 15, "google.protobuf.Timestamp"
71
71
  optional :import_failure_reason, :string, 16
72
+ optional :generation_failure_reason, :string, 19
73
+ optional :external_destruction_failure_reason, :string, 20
72
74
  optional :external_protection_level_options, :message, 17, "google.cloud.kms.v1.ExternalProtectionLevelOptions"
73
75
  optional :reimport_eligible, :bool, 18
74
76
  end
@@ -112,6 +114,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
112
114
  value :DESTROY_SCHEDULED, 4
113
115
  value :PENDING_IMPORT, 6
114
116
  value :IMPORT_FAILED, 7
117
+ value :GENERATION_FAILED, 8
118
+ value :PENDING_EXTERNAL_DESTRUCTION, 9
119
+ value :EXTERNAL_DESTRUCTION_FAILED, 10
115
120
  end
116
121
  add_enum "google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView" do
117
122
  value :CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED, 0
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/kms/v1/ekm_service/rest"
20
+ require "google/cloud/kms/v1/key_management_service/rest"
21
+ require "google/cloud/kms/v1/bindings_override"
22
+ require "google/cloud/kms/v1/version"
23
+
24
+ module Google
25
+ module Cloud
26
+ module Kms
27
+ ##
28
+ # To load just the REST part of this package, including all its services, and instantiate a REST client:
29
+ #
30
+ # @example
31
+ #
32
+ # require "google/cloud/kms/v1/rest"
33
+ # client = ::Google::Cloud::Kms::V1::EkmService::Rest::Client.new
34
+ #
35
+ module V1
36
+ end
37
+ end
38
+ end
39
+ end
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Kms
23
23
  module V1
24
- VERSION = "0.16.0"
24
+ VERSION = "0.18.0"
25
25
  end
26
26
  end
27
27
  end
@@ -24,13 +24,18 @@ module Google
24
24
  module Cloud
25
25
  module Kms
26
26
  ##
27
- # To load this package, including all its services, and instantiate a client:
27
+ # API client module.
28
28
  #
29
- # @example
29
+ # @example Load this package, including all its services, and instantiate a gRPC client
30
30
  #
31
31
  # require "google/cloud/kms/v1"
32
32
  # client = ::Google::Cloud::Kms::V1::EkmService::Client.new
33
33
  #
34
+ # @example Load this package, including all its services, and instantiate a REST client
35
+ #
36
+ # require "google/cloud/kms/v1"
37
+ # client = ::Google::Cloud::Kms::V1::EkmService::Rest::Client.new
38
+ #
34
39
  module V1
35
40
  end
36
41
  end
@@ -122,6 +122,30 @@ module Google
122
122
  extend ::Google::Protobuf::MessageExts::ClassMethods
123
123
  end
124
124
 
125
+ # Request message for
126
+ # {::Google::Cloud::Kms::V1::EkmService::Client#get_ekm_config EkmService.GetEkmConfig}.
127
+ # @!attribute [rw] name
128
+ # @return [::String]
129
+ # Required. The {::Google::Cloud::Kms::V1::EkmConfig#name name} of the
130
+ # {::Google::Cloud::Kms::V1::EkmConfig EkmConfig} to get.
131
+ class GetEkmConfigRequest
132
+ include ::Google::Protobuf::MessageExts
133
+ extend ::Google::Protobuf::MessageExts::ClassMethods
134
+ end
135
+
136
+ # Request message for
137
+ # {::Google::Cloud::Kms::V1::EkmService::Client#update_ekm_config EkmService.UpdateEkmConfig}.
138
+ # @!attribute [rw] ekm_config
139
+ # @return [::Google::Cloud::Kms::V1::EkmConfig]
140
+ # Required. {::Google::Cloud::Kms::V1::EkmConfig EkmConfig} with updated values.
141
+ # @!attribute [rw] update_mask
142
+ # @return [::Google::Protobuf::FieldMask]
143
+ # Required. List of fields to be updated in this request.
144
+ class UpdateEkmConfigRequest
145
+ include ::Google::Protobuf::MessageExts
146
+ extend ::Google::Protobuf::MessageExts::ClassMethods
147
+ end
148
+
125
149
  # A {::Google::Cloud::Kms::V1::Certificate Certificate} represents an X.509
126
150
  # certificate used to authenticate HTTPS connections to EKM replicas.
127
151
  # @!attribute [rw] raw_der
@@ -192,6 +216,18 @@ module Google
192
216
  # @return [::String]
193
217
  # Optional. Etag of the currently stored
194
218
  # {::Google::Cloud::Kms::V1::EkmConnection EkmConnection}.
219
+ # @!attribute [rw] key_management_mode
220
+ # @return [::Google::Cloud::Kms::V1::EkmConnection::KeyManagementMode]
221
+ # Optional. Describes who can perform control plane operations on the EKM. If
222
+ # unset, this defaults to
223
+ # {::Google::Cloud::Kms::V1::EkmConnection::KeyManagementMode::MANUAL MANUAL}.
224
+ # @!attribute [rw] crypto_space_path
225
+ # @return [::String]
226
+ # Optional. Identifies the EKM Crypto Space that this
227
+ # {::Google::Cloud::Kms::V1::EkmConnection EkmConnection} maps to. Note: This
228
+ # field is required if
229
+ # {::Google::Cloud::Kms::V1::EkmConnection::KeyManagementMode KeyManagementMode} is
230
+ # {::Google::Cloud::Kms::V1::EkmConnection::KeyManagementMode::CLOUD_KMS CLOUD_KMS}.
195
231
  class EkmConnection
196
232
  include ::Google::Protobuf::MessageExts
197
233
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -224,6 +260,66 @@ module Google
224
260
  include ::Google::Protobuf::MessageExts
225
261
  extend ::Google::Protobuf::MessageExts::ClassMethods
226
262
  end
263
+
264
+ # {::Google::Cloud::Kms::V1::EkmConnection::KeyManagementMode KeyManagementMode}
265
+ # describes who can perform control plane cryptographic operations using this
266
+ # {::Google::Cloud::Kms::V1::EkmConnection EkmConnection}.
267
+ module KeyManagementMode
268
+ # Not specified.
269
+ KEY_MANAGEMENT_MODE_UNSPECIFIED = 0
270
+
271
+ # EKM-side key management operations on
272
+ # {::Google::Cloud::Kms::V1::CryptoKey CryptoKeys} created with this
273
+ # {::Google::Cloud::Kms::V1::EkmConnection EkmConnection} must be initiated from
274
+ # the EKM directly and cannot be performed from Cloud KMS. This means that:
275
+ # * When creating a
276
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} associated with
277
+ # this
278
+ # {::Google::Cloud::Kms::V1::EkmConnection EkmConnection}, the caller must
279
+ # supply the key path of pre-existing external key material that will be
280
+ # linked to the {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}.
281
+ # * Destruction of external key material cannot be requested via the
282
+ # Cloud KMS API and must be performed directly in the EKM.
283
+ # * Automatic rotation of key material is not supported.
284
+ MANUAL = 1
285
+
286
+ # All {::Google::Cloud::Kms::V1::CryptoKey CryptoKeys} created with this
287
+ # {::Google::Cloud::Kms::V1::EkmConnection EkmConnection} use EKM-side key
288
+ # management operations initiated from Cloud KMS. This means that:
289
+ # * When a {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}
290
+ # associated with this {::Google::Cloud::Kms::V1::EkmConnection EkmConnection}
291
+ # is
292
+ # created, the EKM automatically generates new key material and a new
293
+ # key path. The caller cannot supply the key path of pre-existing
294
+ # external key material.
295
+ # * Destruction of external key material associated with this
296
+ # {::Google::Cloud::Kms::V1::EkmConnection EkmConnection} can be requested by
297
+ # calling [DestroyCryptoKeyVersion][EkmService.DestroyCryptoKeyVersion].
298
+ # * Automatic rotation of key material is supported.
299
+ CLOUD_KMS = 2
300
+ end
301
+ end
302
+
303
+ # An {::Google::Cloud::Kms::V1::EkmConfig EkmConfig} is a singleton resource that
304
+ # represents configuration parameters that apply to all
305
+ # {::Google::Cloud::Kms::V1::CryptoKey CryptoKeys} and
306
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersions} with a
307
+ # {::Google::Cloud::Kms::V1::ProtectionLevel ProtectionLevel} of
308
+ # [EXTERNAL_VPC][CryptoKeyVersion.ProtectionLevel.EXTERNAL_VPC] in a given
309
+ # project and location.
310
+ # @!attribute [r] name
311
+ # @return [::String]
312
+ # Output only. The resource name for the
313
+ # {::Google::Cloud::Kms::V1::EkmConfig EkmConfig} in the format
314
+ # `projects/*/locations/*/ekmConfig`.
315
+ # @!attribute [rw] default_ekm_connection
316
+ # @return [::String]
317
+ # Optional. Resource name of the default
318
+ # {::Google::Cloud::Kms::V1::EkmConnection EkmConnection}. Setting this field to
319
+ # the empty string removes the default.
320
+ class EkmConfig
321
+ include ::Google::Protobuf::MessageExts
322
+ extend ::Google::Protobuf::MessageExts::ClassMethods
227
323
  end
228
324
  end
229
325
  end
@@ -341,6 +341,17 @@ module Google
341
341
  # Output only. The root cause of the most recent import failure. Only present
342
342
  # if {::Google::Cloud::Kms::V1::CryptoKeyVersion#state state} is
343
343
  # {::Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::IMPORT_FAILED IMPORT_FAILED}.
344
+ # @!attribute [r] generation_failure_reason
345
+ # @return [::String]
346
+ # Output only. The root cause of the most recent generation failure. Only
347
+ # present if {::Google::Cloud::Kms::V1::CryptoKeyVersion#state state} is
348
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::GENERATION_FAILED GENERATION_FAILED}.
349
+ # @!attribute [r] external_destruction_failure_reason
350
+ # @return [::String]
351
+ # Output only. The root cause of the most recent external destruction
352
+ # failure. Only present if
353
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion#state state} is
354
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::EXTERNAL_DESTRUCTION_FAILED EXTERNAL_DESTRUCTION_FAILED}.
344
355
  # @!attribute [rw] external_protection_level_options
345
356
  # @return [::Google::Cloud::Kms::V1::ExternalProtectionLevelOptions]
346
357
  # ExternalProtectionLevelOptions stores a group of additional fields for
@@ -544,6 +555,23 @@ module Google
544
555
  # Additional details can be found in
545
556
  # {::Google::Cloud::Kms::V1::CryptoKeyVersion#import_failure_reason CryptoKeyVersion.import_failure_reason}.
546
557
  IMPORT_FAILED = 7
558
+
559
+ # This version was not generated successfully. It may not be used, enabled,
560
+ # disabled, or destroyed. Additional details can be found in
561
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion#generation_failure_reason CryptoKeyVersion.generation_failure_reason}.
562
+ GENERATION_FAILED = 8
563
+
564
+ # This version was destroyed, and it may not be used or enabled again.
565
+ # Cloud KMS is waiting for the corresponding key material residing in an
566
+ # external key manager to be destroyed.
567
+ PENDING_EXTERNAL_DESTRUCTION = 9
568
+
569
+ # This version was destroyed, and it may not be used or enabled again.
570
+ # However, Cloud KMS could not confirm that the corresponding key material
571
+ # residing in an external key manager was destroyed. Additional details can
572
+ # be found in
573
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion#external_destruction_failure_reason CryptoKeyVersion.external_destruction_failure_reason}.
574
+ EXTERNAL_DESTRUCTION_FAILED = 10
547
575
  end
548
576
 
549
577
  # A view for {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}s.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-kms-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.0
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-09 00:00:00.000000000 Z
11
+ date: 2023-03-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0.12'
19
+ version: 0.18.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 2.a
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: '0.12'
29
+ version: 0.18.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.a
@@ -50,7 +50,7 @@ dependencies:
50
50
  requirements:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: '0.0'
53
+ version: '0.4'
54
54
  - - "<"
55
55
  - !ruby/object:Gem::Version
56
56
  version: 2.a
@@ -60,7 +60,7 @@ dependencies:
60
60
  requirements:
61
61
  - - ">="
62
62
  - !ruby/object:Gem::Version
63
- version: '0.0'
63
+ version: '0.4'
64
64
  - - "<"
65
65
  - !ruby/object:Gem::Version
66
66
  version: 2.a
@@ -70,7 +70,7 @@ dependencies:
70
70
  requirements:
71
71
  - - ">="
72
72
  - !ruby/object:Gem::Version
73
- version: '0.0'
73
+ version: '0.4'
74
74
  - - "<"
75
75
  - !ruby/object:Gem::Version
76
76
  version: 2.a
@@ -80,7 +80,7 @@ dependencies:
80
80
  requirements:
81
81
  - - ">="
82
82
  - !ruby/object:Gem::Version
83
- version: '0.0'
83
+ version: '0.4'
84
84
  - - "<"
85
85
  - !ruby/object:Gem::Version
86
86
  version: 2.a
@@ -90,14 +90,14 @@ dependencies:
90
90
  requirements:
91
91
  - - "~>"
92
92
  - !ruby/object:Gem::Version
93
- version: 1.26.1
93
+ version: 1.26.3
94
94
  type: :development
95
95
  prerelease: false
96
96
  version_requirements: !ruby/object:Gem::Requirement
97
97
  requirements:
98
98
  - - "~>"
99
99
  - !ruby/object:Gem::Version
100
- version: 1.26.1
100
+ version: 1.26.3
101
101
  - !ruby/object:Gem::Dependency
102
102
  name: minitest
103
103
  requirement: !ruby/object:Gem::Requirement
@@ -212,10 +212,14 @@ files:
212
212
  - lib/google-cloud-kms-v1.rb
213
213
  - lib/google/cloud/kms/v1.rb
214
214
  - lib/google/cloud/kms/v1/_helpers.rb
215
+ - lib/google/cloud/kms/v1/bindings_override.rb
215
216
  - lib/google/cloud/kms/v1/ekm_service.rb
216
217
  - lib/google/cloud/kms/v1/ekm_service/client.rb
217
218
  - lib/google/cloud/kms/v1/ekm_service/credentials.rb
218
219
  - lib/google/cloud/kms/v1/ekm_service/paths.rb
220
+ - lib/google/cloud/kms/v1/ekm_service/rest.rb
221
+ - lib/google/cloud/kms/v1/ekm_service/rest/client.rb
222
+ - lib/google/cloud/kms/v1/ekm_service/rest/service_stub.rb
219
223
  - lib/google/cloud/kms/v1/ekm_service_pb.rb
220
224
  - lib/google/cloud/kms/v1/ekm_service_services_pb.rb
221
225
  - lib/google/cloud/kms/v1/iam_policy.rb
@@ -225,7 +229,11 @@ files:
225
229
  - lib/google/cloud/kms/v1/key_management_service/client.rb
226
230
  - lib/google/cloud/kms/v1/key_management_service/credentials.rb
227
231
  - lib/google/cloud/kms/v1/key_management_service/paths.rb
232
+ - lib/google/cloud/kms/v1/key_management_service/rest.rb
233
+ - lib/google/cloud/kms/v1/key_management_service/rest/client.rb
234
+ - lib/google/cloud/kms/v1/key_management_service/rest/service_stub.rb
228
235
  - lib/google/cloud/kms/v1/resources_pb.rb
236
+ - lib/google/cloud/kms/v1/rest.rb
229
237
  - lib/google/cloud/kms/v1/service_pb.rb
230
238
  - lib/google/cloud/kms/v1/service_services_pb.rb
231
239
  - lib/google/cloud/kms/v1/version.rb
@@ -262,8 +270,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
262
270
  - !ruby/object:Gem::Version
263
271
  version: '0'
264
272
  requirements: []
265
- rubygems_version: 3.3.14
273
+ rubygems_version: 3.4.2
266
274
  signing_key:
267
275
  specification_version: 4
268
- summary: API Client library for the Cloud Key Management Service (KMS) V1 API
276
+ summary: Manages keys and performs cryptographic operations in a central cloud service,
277
+ for direct use by other cloud resources and applications.
269
278
  test_files: []