google-cloud-kms-v1 0.16.0 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: []