google-cloud-kms-v1 0.14.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b97af8383dd8f5fe6af2b2c709d433be4f6fc494f3af192186ab3f175ef0dc01
4
- data.tar.gz: 82b337641b4c0f579971797f901b82db52ad268ca6f8429b3a66cf0aa3b92332
3
+ metadata.gz: 88ccb6ea1616c6e3d3e167aaf3d0e81795d897a8f07922ceb7fccfe0be5c1baa
4
+ data.tar.gz: 2d635e795aef36e90ff5fa04ab772fc982e6ec30d3855a8741d358edbee26809
5
5
  SHA512:
6
- metadata.gz: 54f4de5518f911b9c5b076c96297b5d1f9ca5884019d5209afabcaa6d40d5add4c5492b0a50578186514fe1b6e7b60521c2145bb9302339bc8ea379bc877a7cc
7
- data.tar.gz: a3ec3fdf9aadd418993c548d30527c7716b5e1e9e4adc9eff0e344448d93eeb4288c770bc7c1d73117e551cdba4dfae82d926a4c453c82b7c67b7e9082ef3a10
6
+ metadata.gz: ffcdda5aafc0cc3bef3e4b1dba6fea52819d282bf6af6a3d085802e2c447f5116c053d80fbc8978ee2540ed178ae5d9efbbf5316adf06f79ccfa641a30044e05
7
+ data.tar.gz: c16e58ed43dae8dbdafed46b687864cf1241dbc50ddec764406928cb9e702a30362d2862a63c6419f955f869bc28a8362fa1a1f51770acb79a6a075270927034
data/README.md CHANGED
@@ -46,7 +46,7 @@ for general usage information.
46
46
  ## Enabling Logging
47
47
 
48
48
  To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
49
- The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/stdlib/libdoc/logger/rdoc/Logger.html) as shown below,
49
+ The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/current/stdlibs/logger/Logger.html) as shown below,
50
50
  or a [`Google::Cloud::Logging::Logger`](https://googleapis.dev/ruby/google-cloud-logging/latest)
51
51
  that will write logs to [Cloud Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
52
52
  and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
@@ -1522,7 +1522,7 @@ module Google
1522
1522
  # @param options [::Gapic::CallOptions, ::Hash]
1523
1523
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1524
1524
  #
1525
- # @overload import_crypto_key_version(parent: nil, crypto_key_version: nil, algorithm: nil, import_job: nil, rsa_aes_wrapped_key: nil)
1525
+ # @overload import_crypto_key_version(parent: nil, crypto_key_version: nil, algorithm: nil, import_job: nil, wrapped_key: nil, rsa_aes_wrapped_key: nil)
1526
1526
  # Pass arguments to `import_crypto_key_version` via keyword arguments. Note that at
1527
1527
  # least one keyword argument is required. To specify no parameters, or to keep all
1528
1528
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -1564,32 +1564,52 @@ module Google
1564
1564
  # Required. The {::Google::Cloud::Kms::V1::ImportJob#name name} of the
1565
1565
  # {::Google::Cloud::Kms::V1::ImportJob ImportJob} that was used to wrap this key
1566
1566
  # material.
1567
- # @param rsa_aes_wrapped_key [::String]
1568
- # Wrapped key material produced with
1569
- # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod::RSA_OAEP_3072_SHA1_AES_256 RSA_OAEP_3072_SHA1_AES_256}
1567
+ # @param wrapped_key [::String]
1568
+ # Optional. The wrapped key material to import.
1569
+ #
1570
+ # Before wrapping, key material must be formatted. If importing symmetric key
1571
+ # material, the expected key material format is plain bytes. If importing
1572
+ # asymmetric key material, the expected key material format is PKCS#8-encoded
1573
+ # DER (the PrivateKeyInfo structure from RFC 5208).
1574
+ #
1575
+ # When wrapping with import methods
1576
+ # ({::Google::Cloud::Kms::V1::ImportJob::ImportMethod::RSA_OAEP_3072_SHA1_AES_256 RSA_OAEP_3072_SHA1_AES_256}
1577
+ # or
1578
+ # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod::RSA_OAEP_4096_SHA1_AES_256 RSA_OAEP_4096_SHA1_AES_256}
1579
+ # or
1580
+ # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod::RSA_OAEP_3072_SHA256_AES_256 RSA_OAEP_3072_SHA256_AES_256}
1570
1581
  # or
1571
- # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod::RSA_OAEP_4096_SHA1_AES_256 RSA_OAEP_4096_SHA1_AES_256}.
1582
+ # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod::RSA_OAEP_4096_SHA256_AES_256 RSA_OAEP_4096_SHA256_AES_256}),
1572
1583
  #
1573
- # This field contains the concatenation of two wrapped keys:
1584
+ # this field must contain the concatenation of:
1574
1585
  # <ol>
1575
1586
  # <li>An ephemeral AES-256 wrapping key wrapped with the
1576
1587
  # {::Google::Cloud::Kms::V1::ImportJob#public_key public_key} using
1577
- # RSAES-OAEP with SHA-1/SHA-256, MGF1 with SHA-1/SHA-256, and an
1578
- # empty label.
1588
+ # RSAES-OAEP with SHA-1/SHA-256, MGF1 with SHA-1/SHA-256, and an empty
1589
+ # label.
1579
1590
  # </li>
1580
- # <li>The key to be imported, wrapped with the ephemeral AES-256 key
1581
- # using AES-KWP (RFC 5649).
1591
+ # <li>The formatted key to be imported, wrapped with the ephemeral AES-256
1592
+ # key using AES-KWP (RFC 5649).
1582
1593
  # </li>
1583
1594
  # </ol>
1584
1595
  #
1585
- # If importing symmetric key material, it is expected that the unwrapped
1586
- # key contains plain bytes. If importing asymmetric key material, it is
1587
- # expected that the unwrapped key is in PKCS#8-encoded DER format (the
1588
- # PrivateKeyInfo structure from RFC 5208).
1589
- #
1590
1596
  # This format is the same as the format produced by PKCS#11 mechanism
1591
1597
  # CKM_RSA_AES_KEY_WRAP.
1592
1598
  #
1599
+ # When wrapping with import methods
1600
+ # ({::Google::Cloud::Kms::V1::ImportJob::ImportMethod::RSA_OAEP_3072_SHA256 RSA_OAEP_3072_SHA256}
1601
+ # or
1602
+ # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod::RSA_OAEP_4096_SHA256 RSA_OAEP_4096_SHA256}),
1603
+ #
1604
+ # this field must contain the formatted key to be imported, wrapped with the
1605
+ # {::Google::Cloud::Kms::V1::ImportJob#public_key public_key} using RSAES-OAEP
1606
+ # with SHA-256, MGF1 with SHA-256, and an empty label.
1607
+ # @param rsa_aes_wrapped_key [::String]
1608
+ # Optional. This field has the same meaning as
1609
+ # {::Google::Cloud::Kms::V1::ImportCryptoKeyVersionRequest#wrapped_key wrapped_key}.
1610
+ # Prefer to use that field in new work. Either that field or this field
1611
+ # (but not both) must be specified.
1612
+ #
1593
1613
  # @yield [response, operation] Access the result along with the RPC operation
1594
1614
  # @yieldparam response [::Google::Cloud::Kms::V1::CryptoKeyVersion]
1595
1615
  # @yieldparam operation [::GRPC::ActiveCall::Operation]
@@ -2265,7 +2285,9 @@ module Google
2265
2285
  #
2266
2286
  # The maximum size depends on the key version's
2267
2287
  # {::Google::Cloud::Kms::V1::CryptoKeyVersionTemplate#protection_level protection_level}.
2268
- # For {::Google::Cloud::Kms::V1::ProtectionLevel::SOFTWARE SOFTWARE} keys, the
2288
+ # For {::Google::Cloud::Kms::V1::ProtectionLevel::SOFTWARE SOFTWARE},
2289
+ # {::Google::Cloud::Kms::V1::ProtectionLevel::EXTERNAL EXTERNAL}, and
2290
+ # {::Google::Cloud::Kms::V1::ProtectionLevel::EXTERNAL_VPC EXTERNAL_VPC} keys, the
2269
2291
  # plaintext must be no larger than 64KiB. For
2270
2292
  # {::Google::Cloud::Kms::V1::ProtectionLevel::HSM HSM} keys, the combined length of
2271
2293
  # the plaintext and additional_authenticated_data fields must be no larger
@@ -2277,8 +2299,10 @@ module Google
2277
2299
  #
2278
2300
  # The maximum size depends on the key version's
2279
2301
  # {::Google::Cloud::Kms::V1::CryptoKeyVersionTemplate#protection_level protection_level}.
2280
- # For {::Google::Cloud::Kms::V1::ProtectionLevel::SOFTWARE SOFTWARE} keys, the AAD
2281
- # must be no larger than 64KiB. For
2302
+ # For {::Google::Cloud::Kms::V1::ProtectionLevel::SOFTWARE SOFTWARE},
2303
+ # {::Google::Cloud::Kms::V1::ProtectionLevel::EXTERNAL EXTERNAL}, and
2304
+ # {::Google::Cloud::Kms::V1::ProtectionLevel::EXTERNAL_VPC EXTERNAL_VPC} keys the
2305
+ # AAD must be no larger than 64KiB. For
2282
2306
  # {::Google::Cloud::Kms::V1::ProtectionLevel::HSM HSM} keys, the combined length of
2283
2307
  # the plaintext and additional_authenticated_data fields must be no larger
2284
2308
  # than 8KiB.
@@ -97,6 +97,10 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
97
97
  value :EC_SIGN_P384_SHA384, 13
98
98
  value :EC_SIGN_SECP256K1_SHA256, 31
99
99
  value :HMAC_SHA256, 32
100
+ value :HMAC_SHA1, 33
101
+ value :HMAC_SHA384, 34
102
+ value :HMAC_SHA512, 35
103
+ value :HMAC_SHA224, 36
100
104
  value :EXTERNAL_SYMMETRIC_ENCRYPTION, 18
101
105
  end
102
106
  add_enum "google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState" do
@@ -139,6 +143,10 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
139
143
  value :IMPORT_METHOD_UNSPECIFIED, 0
140
144
  value :RSA_OAEP_3072_SHA1_AES_256, 1
141
145
  value :RSA_OAEP_4096_SHA1_AES_256, 2
146
+ value :RSA_OAEP_3072_SHA256_AES_256, 3
147
+ value :RSA_OAEP_4096_SHA256_AES_256, 4
148
+ value :RSA_OAEP_3072_SHA256, 5
149
+ value :RSA_OAEP_4096_SHA256, 6
142
150
  end
143
151
  add_enum "google.cloud.kms.v1.ImportJob.ImportJobState" do
144
152
  value :IMPORT_JOB_STATE_UNSPECIFIED, 0
@@ -98,6 +98,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
98
98
  optional :crypto_key_version, :string, 6
99
99
  optional :algorithm, :enum, 2, "google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm"
100
100
  optional :import_job, :string, 4
101
+ optional :wrapped_key, :bytes, 8
101
102
  oneof :wrapped_key_material do
102
103
  optional :rsa_aes_wrapped_key, :bytes, 5
103
104
  end
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Kms
23
23
  module V1
24
- VERSION = "0.14.0"
24
+ VERSION = "0.16.0"
25
25
  end
26
26
  end
27
27
  end
@@ -0,0 +1,318 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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
+
20
+ module Google
21
+ module Api
22
+ # Required information for every language.
23
+ # @!attribute [rw] reference_docs_uri
24
+ # @return [::String]
25
+ # Link to automatically generated reference documentation. Example:
26
+ # https://cloud.google.com/nodejs/docs/reference/asset/latest
27
+ # @!attribute [rw] destinations
28
+ # @return [::Array<::Google::Api::ClientLibraryDestination>]
29
+ # The destination where API teams want this client library to be published.
30
+ class CommonLanguageSettings
31
+ include ::Google::Protobuf::MessageExts
32
+ extend ::Google::Protobuf::MessageExts::ClassMethods
33
+ end
34
+
35
+ # Details about how and where to publish client libraries.
36
+ # @!attribute [rw] version
37
+ # @return [::String]
38
+ # Version of the API to apply these settings to.
39
+ # @!attribute [rw] launch_stage
40
+ # @return [::Google::Api::LaunchStage]
41
+ # Launch stage of this version of the API.
42
+ # @!attribute [rw] rest_numeric_enums
43
+ # @return [::Boolean]
44
+ # When using transport=rest, the client request will encode enums as
45
+ # numbers rather than strings.
46
+ # @!attribute [rw] java_settings
47
+ # @return [::Google::Api::JavaSettings]
48
+ # Settings for legacy Java features, supported in the Service YAML.
49
+ # @!attribute [rw] cpp_settings
50
+ # @return [::Google::Api::CppSettings]
51
+ # Settings for C++ client libraries.
52
+ # @!attribute [rw] php_settings
53
+ # @return [::Google::Api::PhpSettings]
54
+ # Settings for PHP client libraries.
55
+ # @!attribute [rw] python_settings
56
+ # @return [::Google::Api::PythonSettings]
57
+ # Settings for Python client libraries.
58
+ # @!attribute [rw] node_settings
59
+ # @return [::Google::Api::NodeSettings]
60
+ # Settings for Node client libraries.
61
+ # @!attribute [rw] dotnet_settings
62
+ # @return [::Google::Api::DotnetSettings]
63
+ # Settings for .NET client libraries.
64
+ # @!attribute [rw] ruby_settings
65
+ # @return [::Google::Api::RubySettings]
66
+ # Settings for Ruby client libraries.
67
+ # @!attribute [rw] go_settings
68
+ # @return [::Google::Api::GoSettings]
69
+ # Settings for Go client libraries.
70
+ class ClientLibrarySettings
71
+ include ::Google::Protobuf::MessageExts
72
+ extend ::Google::Protobuf::MessageExts::ClassMethods
73
+ end
74
+
75
+ # This message configures the settings for publishing [Google Cloud Client
76
+ # libraries](https://cloud.google.com/apis/docs/cloud-client-libraries)
77
+ # generated from the service config.
78
+ # @!attribute [rw] method_settings
79
+ # @return [::Array<::Google::Api::MethodSettings>]
80
+ # A list of API method settings, e.g. the behavior for methods that use the
81
+ # long-running operation pattern.
82
+ # @!attribute [rw] new_issue_uri
83
+ # @return [::String]
84
+ # Link to a place that API users can report issues. Example:
85
+ # https://issuetracker.google.com/issues/new?component=190865&template=1161103
86
+ # @!attribute [rw] documentation_uri
87
+ # @return [::String]
88
+ # Link to product home page. Example:
89
+ # https://cloud.google.com/asset-inventory/docs/overview
90
+ # @!attribute [rw] api_short_name
91
+ # @return [::String]
92
+ # Used as a tracking tag when collecting data about the APIs developer
93
+ # relations artifacts like docs, packages delivered to package managers,
94
+ # etc. Example: "speech".
95
+ # @!attribute [rw] github_label
96
+ # @return [::String]
97
+ # GitHub label to apply to issues and pull requests opened for this API.
98
+ # @!attribute [rw] codeowner_github_teams
99
+ # @return [::Array<::String>]
100
+ # GitHub teams to be added to CODEOWNERS in the directory in GitHub
101
+ # containing source code for the client libraries for this API.
102
+ # @!attribute [rw] doc_tag_prefix
103
+ # @return [::String]
104
+ # A prefix used in sample code when demarking regions to be included in
105
+ # documentation.
106
+ # @!attribute [rw] organization
107
+ # @return [::Google::Api::ClientLibraryOrganization]
108
+ # For whom the client library is being published.
109
+ # @!attribute [rw] library_settings
110
+ # @return [::Array<::Google::Api::ClientLibrarySettings>]
111
+ # Client library settings. If the same version string appears multiple
112
+ # times in this list, then the last one wins. Settings from earlier
113
+ # settings with the same version string are discarded.
114
+ class Publishing
115
+ include ::Google::Protobuf::MessageExts
116
+ extend ::Google::Protobuf::MessageExts::ClassMethods
117
+ end
118
+
119
+ # Settings for Java client libraries.
120
+ # @!attribute [rw] library_package
121
+ # @return [::String]
122
+ # The package name to use in Java. Clobbers the java_package option
123
+ # set in the protobuf. This should be used **only** by APIs
124
+ # who have already set the language_settings.java.package_name" field
125
+ # in gapic.yaml. API teams should use the protobuf java_package option
126
+ # where possible.
127
+ #
128
+ # Example of a YAML configuration::
129
+ #
130
+ # publishing:
131
+ # java_settings:
132
+ # library_package: com.google.cloud.pubsub.v1
133
+ # @!attribute [rw] service_class_names
134
+ # @return [::Google::Protobuf::Map{::String => ::String}]
135
+ # Configure the Java class name to use instead of the service's for its
136
+ # corresponding generated GAPIC client. Keys are fully-qualified
137
+ # service names as they appear in the protobuf (including the full
138
+ # the language_settings.java.interface_names" field in gapic.yaml. API
139
+ # teams should otherwise use the service name as it appears in the
140
+ # protobuf.
141
+ #
142
+ # Example of a YAML configuration::
143
+ #
144
+ # publishing:
145
+ # java_settings:
146
+ # service_class_names:
147
+ # - google.pubsub.v1.Publisher: TopicAdmin
148
+ # - google.pubsub.v1.Subscriber: SubscriptionAdmin
149
+ # @!attribute [rw] common
150
+ # @return [::Google::Api::CommonLanguageSettings]
151
+ # Some settings.
152
+ class JavaSettings
153
+ include ::Google::Protobuf::MessageExts
154
+ extend ::Google::Protobuf::MessageExts::ClassMethods
155
+
156
+ # @!attribute [rw] key
157
+ # @return [::String]
158
+ # @!attribute [rw] value
159
+ # @return [::String]
160
+ class ServiceClassNamesEntry
161
+ include ::Google::Protobuf::MessageExts
162
+ extend ::Google::Protobuf::MessageExts::ClassMethods
163
+ end
164
+ end
165
+
166
+ # Settings for C++ client libraries.
167
+ # @!attribute [rw] common
168
+ # @return [::Google::Api::CommonLanguageSettings]
169
+ # Some settings.
170
+ class CppSettings
171
+ include ::Google::Protobuf::MessageExts
172
+ extend ::Google::Protobuf::MessageExts::ClassMethods
173
+ end
174
+
175
+ # Settings for Php client libraries.
176
+ # @!attribute [rw] common
177
+ # @return [::Google::Api::CommonLanguageSettings]
178
+ # Some settings.
179
+ class PhpSettings
180
+ include ::Google::Protobuf::MessageExts
181
+ extend ::Google::Protobuf::MessageExts::ClassMethods
182
+ end
183
+
184
+ # Settings for Python client libraries.
185
+ # @!attribute [rw] common
186
+ # @return [::Google::Api::CommonLanguageSettings]
187
+ # Some settings.
188
+ class PythonSettings
189
+ include ::Google::Protobuf::MessageExts
190
+ extend ::Google::Protobuf::MessageExts::ClassMethods
191
+ end
192
+
193
+ # Settings for Node client libraries.
194
+ # @!attribute [rw] common
195
+ # @return [::Google::Api::CommonLanguageSettings]
196
+ # Some settings.
197
+ class NodeSettings
198
+ include ::Google::Protobuf::MessageExts
199
+ extend ::Google::Protobuf::MessageExts::ClassMethods
200
+ end
201
+
202
+ # Settings for Dotnet client libraries.
203
+ # @!attribute [rw] common
204
+ # @return [::Google::Api::CommonLanguageSettings]
205
+ # Some settings.
206
+ class DotnetSettings
207
+ include ::Google::Protobuf::MessageExts
208
+ extend ::Google::Protobuf::MessageExts::ClassMethods
209
+ end
210
+
211
+ # Settings for Ruby client libraries.
212
+ # @!attribute [rw] common
213
+ # @return [::Google::Api::CommonLanguageSettings]
214
+ # Some settings.
215
+ class RubySettings
216
+ include ::Google::Protobuf::MessageExts
217
+ extend ::Google::Protobuf::MessageExts::ClassMethods
218
+ end
219
+
220
+ # Settings for Go client libraries.
221
+ # @!attribute [rw] common
222
+ # @return [::Google::Api::CommonLanguageSettings]
223
+ # Some settings.
224
+ class GoSettings
225
+ include ::Google::Protobuf::MessageExts
226
+ extend ::Google::Protobuf::MessageExts::ClassMethods
227
+ end
228
+
229
+ # Describes the generator configuration for a method.
230
+ # @!attribute [rw] selector
231
+ # @return [::String]
232
+ # The fully qualified name of the method, for which the options below apply.
233
+ # This is used to find the method to apply the options.
234
+ # @!attribute [rw] long_running
235
+ # @return [::Google::Api::MethodSettings::LongRunning]
236
+ # Describes settings to use for long-running operations when generating
237
+ # API methods for RPCs. Complements RPCs that use the annotations in
238
+ # google/longrunning/operations.proto.
239
+ #
240
+ # Example of a YAML configuration::
241
+ #
242
+ # publishing:
243
+ # method_behavior:
244
+ # - selector: CreateAdDomain
245
+ # long_running:
246
+ # initial_poll_delay:
247
+ # seconds: 60 # 1 minute
248
+ # poll_delay_multiplier: 1.5
249
+ # max_poll_delay:
250
+ # seconds: 360 # 6 minutes
251
+ # total_poll_timeout:
252
+ # seconds: 54000 # 90 minutes
253
+ class MethodSettings
254
+ include ::Google::Protobuf::MessageExts
255
+ extend ::Google::Protobuf::MessageExts::ClassMethods
256
+
257
+ # Describes settings to use when generating API methods that use the
258
+ # long-running operation pattern.
259
+ # All default values below are from those used in the client library
260
+ # generators (e.g.
261
+ # [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)).
262
+ # @!attribute [rw] initial_poll_delay
263
+ # @return [::Google::Protobuf::Duration]
264
+ # Initial delay after which the first poll request will be made.
265
+ # Default value: 5 seconds.
266
+ # @!attribute [rw] poll_delay_multiplier
267
+ # @return [::Float]
268
+ # Multiplier to gradually increase delay between subsequent polls until it
269
+ # reaches max_poll_delay.
270
+ # Default value: 1.5.
271
+ # @!attribute [rw] max_poll_delay
272
+ # @return [::Google::Protobuf::Duration]
273
+ # Maximum time between two subsequent poll requests.
274
+ # Default value: 45 seconds.
275
+ # @!attribute [rw] total_poll_timeout
276
+ # @return [::Google::Protobuf::Duration]
277
+ # Total polling timeout.
278
+ # Default value: 5 minutes.
279
+ class LongRunning
280
+ include ::Google::Protobuf::MessageExts
281
+ extend ::Google::Protobuf::MessageExts::ClassMethods
282
+ end
283
+ end
284
+
285
+ # The organization for which the client libraries are being published.
286
+ # Affects the url where generated docs are published, etc.
287
+ module ClientLibraryOrganization
288
+ # Not useful.
289
+ CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0
290
+
291
+ # Google Cloud Platform Org.
292
+ CLOUD = 1
293
+
294
+ # Ads (Advertising) Org.
295
+ ADS = 2
296
+
297
+ # Photos Org.
298
+ PHOTOS = 3
299
+
300
+ # Street View Org.
301
+ STREET_VIEW = 4
302
+ end
303
+
304
+ # To where should client libraries be published?
305
+ module ClientLibraryDestination
306
+ # Client libraries will neither be generated nor published to package
307
+ # managers.
308
+ CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0
309
+
310
+ # Generate the client library in a repo under github.com/googleapis,
311
+ # but don't publish it to package managers.
312
+ GITHUB = 10
313
+
314
+ # Publish the library to package managers like nuget.org and npmjs.com.
315
+ PACKAGE_MANAGER = 20
316
+ end
317
+ end
318
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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
+
20
+ module Google
21
+ module Api
22
+ # The launch stage as defined by [Google Cloud Platform
23
+ # Launch Stages](https://cloud.google.com/terms/launch-stages).
24
+ module LaunchStage
25
+ # Do not use this default value.
26
+ LAUNCH_STAGE_UNSPECIFIED = 0
27
+
28
+ # The feature is not yet implemented. Users can not use it.
29
+ UNIMPLEMENTED = 6
30
+
31
+ # Prelaunch features are hidden from users and are only visible internally.
32
+ PRELAUNCH = 7
33
+
34
+ # Early Access features are limited to a closed group of testers. To use
35
+ # these features, you must sign up in advance and sign a Trusted Tester
36
+ # agreement (which includes confidentiality provisions). These features may
37
+ # be unstable, changed in backward-incompatible ways, and are not
38
+ # guaranteed to be released.
39
+ EARLY_ACCESS = 1
40
+
41
+ # Alpha is a limited availability test for releases before they are cleared
42
+ # for widespread use. By Alpha, all significant design issues are resolved
43
+ # and we are in the process of verifying functionality. Alpha customers
44
+ # need to apply for access, agree to applicable terms, and have their
45
+ # projects allowlisted. Alpha releases don't have to be feature complete,
46
+ # no SLAs are provided, and there are no technical support obligations, but
47
+ # they will be far enough along that customers can actually use them in
48
+ # test environments or for limited-use tests -- just like they would in
49
+ # normal production cases.
50
+ ALPHA = 2
51
+
52
+ # Beta is the point at which we are ready to open a release for any
53
+ # customer to use. There are no SLA or technical support obligations in a
54
+ # Beta release. Products will be complete from a feature perspective, but
55
+ # may have some open outstanding issues. Beta releases are suitable for
56
+ # limited production use cases.
57
+ BETA = 3
58
+
59
+ # GA features are open to all developers and are considered stable and
60
+ # fully qualified for production use.
61
+ GA = 4
62
+
63
+ # Deprecated features are scheduled to be shut down and removed. For more
64
+ # information, see the "Deprecation Policy" section of our [Terms of
65
+ # Service](https://cloud.google.com/terms/)
66
+ # and the [Google Cloud Platform Subject to the Deprecation
67
+ # Policy](https://cloud.google.com/terms/deprecation) documentation.
68
+ DEPRECATED = 5
69
+ end
70
+ end
71
+ end
@@ -21,7 +21,8 @@ module Google
21
21
  module Cloud
22
22
  module Kms
23
23
  module V1
24
- # Request message for [KeyManagementService.ListEkmConnections][].
24
+ # Request message for
25
+ # {::Google::Cloud::Kms::V1::EkmService::Client#list_ekm_connections EkmService.ListEkmConnections}.
25
26
  # @!attribute [rw] parent
26
27
  # @return [::String]
27
28
  # Required. The resource name of the location associated with the
@@ -57,7 +58,8 @@ module Google
57
58
  extend ::Google::Protobuf::MessageExts::ClassMethods
58
59
  end
59
60
 
60
- # Response message for [KeyManagementService.ListEkmConnections][].
61
+ # Response message for
62
+ # {::Google::Cloud::Kms::V1::EkmService::Client#list_ekm_connections EkmService.ListEkmConnections}.
61
63
  # @!attribute [rw] ekm_connections
62
64
  # @return [::Array<::Google::Cloud::Kms::V1::EkmConnection>]
63
65
  # The list of {::Google::Cloud::Kms::V1::EkmConnection EkmConnections}.
@@ -75,7 +77,8 @@ module Google
75
77
  extend ::Google::Protobuf::MessageExts::ClassMethods
76
78
  end
77
79
 
78
- # Request message for [KeyManagementService.GetEkmConnection][].
80
+ # Request message for
81
+ # {::Google::Cloud::Kms::V1::EkmService::Client#get_ekm_connection EkmService.GetEkmConnection}.
79
82
  # @!attribute [rw] name
80
83
  # @return [::String]
81
84
  # Required. The {::Google::Cloud::Kms::V1::EkmConnection#name name} of the
@@ -85,7 +88,8 @@ module Google
85
88
  extend ::Google::Protobuf::MessageExts::ClassMethods
86
89
  end
87
90
 
88
- # Request message for [KeyManagementService.CreateEkmConnection][].
91
+ # Request message for
92
+ # {::Google::Cloud::Kms::V1::EkmService::Client#create_ekm_connection EkmService.CreateEkmConnection}.
89
93
  # @!attribute [rw] parent
90
94
  # @return [::String]
91
95
  # Required. The resource name of the location associated with the
@@ -104,7 +108,8 @@ module Google
104
108
  extend ::Google::Protobuf::MessageExts::ClassMethods
105
109
  end
106
110
 
107
- # Request message for [KeyManagementService.UpdateEkmConnection][].
111
+ # Request message for
112
+ # {::Google::Cloud::Kms::V1::EkmService::Client#update_ekm_connection EkmService.UpdateEkmConnection}.
108
113
  # @!attribute [rw] ekm_connection
109
114
  # @return [::Google::Cloud::Kms::V1::EkmConnection]
110
115
  # Required. {::Google::Cloud::Kms::V1::EkmConnection EkmConnection} with updated
@@ -185,9 +190,8 @@ module Google
185
190
  # supported.
186
191
  # @!attribute [rw] etag
187
192
  # @return [::String]
188
- # This checksum is computed by the server based on the value of other fields,
189
- # and may be sent on update requests to ensure the client has an up-to-date
190
- # value before proceeding.
193
+ # Optional. Etag of the currently stored
194
+ # {::Google::Cloud::Kms::V1::EkmConnection EkmConnection}.
191
195
  class EkmConnection
192
196
  include ::Google::Protobuf::MessageExts
193
197
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -214,7 +218,8 @@ module Google
214
218
  # @!attribute [rw] server_certificates
215
219
  # @return [::Array<::Google::Cloud::Kms::V1::Certificate>]
216
220
  # Required. A list of leaf server certificates used to authenticate HTTPS
217
- # connections to the EKM replica.
221
+ # connections to the EKM replica. Currently, a maximum of 10
222
+ # {::Google::Cloud::Kms::V1::Certificate Certificate} is supported.
218
223
  class ServiceResolver
219
224
  include ::Google::Protobuf::MessageExts
220
225
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -254,6 +254,9 @@ module Google
254
254
 
255
255
  # Cavium HSM attestation compressed with gzip. Note that this format is
256
256
  # defined by Cavium and subject to change at any time.
257
+ #
258
+ # See
259
+ # https://www.marvell.com/products/security-solutions/nitrox-hs-adapters/software-key-attestation.html.
257
260
  CAVIUM_V1_COMPRESSED = 3
258
261
 
259
262
  # Cavium HSM attestation V2 compressed with gzip. This is a new format
@@ -474,6 +477,18 @@ module Google
474
477
  # HMAC-SHA256 signing with a 256 bit key.
475
478
  HMAC_SHA256 = 32
476
479
 
480
+ # HMAC-SHA1 signing with a 160 bit key.
481
+ HMAC_SHA1 = 33
482
+
483
+ # HMAC-SHA384 signing with a 384 bit key.
484
+ HMAC_SHA384 = 34
485
+
486
+ # HMAC-SHA512 signing with a 512 bit key.
487
+ HMAC_SHA512 = 35
488
+
489
+ # HMAC-SHA224 signing with a 224 bit key.
490
+ HMAC_SHA224 = 36
491
+
477
492
  # Algorithm representing symmetric encryption by an external key manager.
478
493
  EXTERNAL_SYMMETRIC_ENCRYPTION = 18
479
494
  end
@@ -724,6 +739,34 @@ module Google
724
739
  # [RSA AES key wrap
725
740
  # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
726
741
  RSA_OAEP_4096_SHA1_AES_256 = 2
742
+
743
+ # This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
744
+ # scheme defined in the PKCS #11 standard. In summary, this involves
745
+ # wrapping the raw key with an ephemeral AES key, and wrapping the
746
+ # ephemeral AES key with a 3072 bit RSA key. For more details, see
747
+ # [RSA AES key wrap
748
+ # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
749
+ RSA_OAEP_3072_SHA256_AES_256 = 3
750
+
751
+ # This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
752
+ # scheme defined in the PKCS #11 standard. In summary, this involves
753
+ # wrapping the raw key with an ephemeral AES key, and wrapping the
754
+ # ephemeral AES key with a 4096 bit RSA key. For more details, see
755
+ # [RSA AES key wrap
756
+ # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
757
+ RSA_OAEP_4096_SHA256_AES_256 = 4
758
+
759
+ # This ImportMethod represents RSAES-OAEP with a 3072 bit RSA key. The
760
+ # key material to be imported is wrapped directly with the RSA key. Due
761
+ # to technical limitations of RSA wrapping, this method cannot be used to
762
+ # wrap RSA keys for import.
763
+ RSA_OAEP_3072_SHA256 = 5
764
+
765
+ # This ImportMethod represents RSAES-OAEP with a 4096 bit RSA key. The
766
+ # key material to be imported is wrapped directly with the RSA key. Due
767
+ # to technical limitations of RSA wrapping, this method cannot be used to
768
+ # wrap RSA keys for import.
769
+ RSA_OAEP_4096_SHA256 = 6
727
770
  end
728
771
 
729
772
  # The state of the {::Google::Cloud::Kms::V1::ImportJob ImportJob}, indicating if
@@ -413,32 +413,53 @@ module Google
413
413
  # Required. The {::Google::Cloud::Kms::V1::ImportJob#name name} of the
414
414
  # {::Google::Cloud::Kms::V1::ImportJob ImportJob} that was used to wrap this key
415
415
  # material.
416
- # @!attribute [rw] rsa_aes_wrapped_key
416
+ # @!attribute [rw] wrapped_key
417
417
  # @return [::String]
418
- # Wrapped key material produced with
419
- # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod::RSA_OAEP_3072_SHA1_AES_256 RSA_OAEP_3072_SHA1_AES_256}
418
+ # Optional. The wrapped key material to import.
419
+ #
420
+ # Before wrapping, key material must be formatted. If importing symmetric key
421
+ # material, the expected key material format is plain bytes. If importing
422
+ # asymmetric key material, the expected key material format is PKCS#8-encoded
423
+ # DER (the PrivateKeyInfo structure from RFC 5208).
424
+ #
425
+ # When wrapping with import methods
426
+ # ({::Google::Cloud::Kms::V1::ImportJob::ImportMethod::RSA_OAEP_3072_SHA1_AES_256 RSA_OAEP_3072_SHA1_AES_256}
420
427
  # or
421
- # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod::RSA_OAEP_4096_SHA1_AES_256 RSA_OAEP_4096_SHA1_AES_256}.
428
+ # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod::RSA_OAEP_4096_SHA1_AES_256 RSA_OAEP_4096_SHA1_AES_256}
429
+ # or
430
+ # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod::RSA_OAEP_3072_SHA256_AES_256 RSA_OAEP_3072_SHA256_AES_256}
431
+ # or
432
+ # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod::RSA_OAEP_4096_SHA256_AES_256 RSA_OAEP_4096_SHA256_AES_256}),
422
433
  #
423
- # This field contains the concatenation of two wrapped keys:
434
+ # this field must contain the concatenation of:
424
435
  # <ol>
425
436
  # <li>An ephemeral AES-256 wrapping key wrapped with the
426
437
  # {::Google::Cloud::Kms::V1::ImportJob#public_key public_key} using
427
- # RSAES-OAEP with SHA-1/SHA-256, MGF1 with SHA-1/SHA-256, and an
428
- # empty label.
438
+ # RSAES-OAEP with SHA-1/SHA-256, MGF1 with SHA-1/SHA-256, and an empty
439
+ # label.
429
440
  # </li>
430
- # <li>The key to be imported, wrapped with the ephemeral AES-256 key
431
- # using AES-KWP (RFC 5649).
441
+ # <li>The formatted key to be imported, wrapped with the ephemeral AES-256
442
+ # key using AES-KWP (RFC 5649).
432
443
  # </li>
433
444
  # </ol>
434
445
  #
435
- # If importing symmetric key material, it is expected that the unwrapped
436
- # key contains plain bytes. If importing asymmetric key material, it is
437
- # expected that the unwrapped key is in PKCS#8-encoded DER format (the
438
- # PrivateKeyInfo structure from RFC 5208).
439
- #
440
446
  # This format is the same as the format produced by PKCS#11 mechanism
441
447
  # CKM_RSA_AES_KEY_WRAP.
448
+ #
449
+ # When wrapping with import methods
450
+ # ({::Google::Cloud::Kms::V1::ImportJob::ImportMethod::RSA_OAEP_3072_SHA256 RSA_OAEP_3072_SHA256}
451
+ # or
452
+ # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod::RSA_OAEP_4096_SHA256 RSA_OAEP_4096_SHA256}),
453
+ #
454
+ # this field must contain the formatted key to be imported, wrapped with the
455
+ # {::Google::Cloud::Kms::V1::ImportJob#public_key public_key} using RSAES-OAEP
456
+ # with SHA-256, MGF1 with SHA-256, and an empty label.
457
+ # @!attribute [rw] rsa_aes_wrapped_key
458
+ # @return [::String]
459
+ # Optional. This field has the same meaning as
460
+ # {::Google::Cloud::Kms::V1::ImportCryptoKeyVersionRequest#wrapped_key wrapped_key}.
461
+ # Prefer to use that field in new work. Either that field or this field
462
+ # (but not both) must be specified.
442
463
  class ImportCryptoKeyVersionRequest
443
464
  include ::Google::Protobuf::MessageExts
444
465
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -545,7 +566,9 @@ module Google
545
566
  #
546
567
  # The maximum size depends on the key version's
547
568
  # {::Google::Cloud::Kms::V1::CryptoKeyVersionTemplate#protection_level protection_level}.
548
- # For {::Google::Cloud::Kms::V1::ProtectionLevel::SOFTWARE SOFTWARE} keys, the
569
+ # For {::Google::Cloud::Kms::V1::ProtectionLevel::SOFTWARE SOFTWARE},
570
+ # {::Google::Cloud::Kms::V1::ProtectionLevel::EXTERNAL EXTERNAL}, and
571
+ # {::Google::Cloud::Kms::V1::ProtectionLevel::EXTERNAL_VPC EXTERNAL_VPC} keys, the
549
572
  # plaintext must be no larger than 64KiB. For
550
573
  # {::Google::Cloud::Kms::V1::ProtectionLevel::HSM HSM} keys, the combined length of
551
574
  # the plaintext and additional_authenticated_data fields must be no larger
@@ -558,8 +581,10 @@ module Google
558
581
  #
559
582
  # The maximum size depends on the key version's
560
583
  # {::Google::Cloud::Kms::V1::CryptoKeyVersionTemplate#protection_level protection_level}.
561
- # For {::Google::Cloud::Kms::V1::ProtectionLevel::SOFTWARE SOFTWARE} keys, the AAD
562
- # must be no larger than 64KiB. For
584
+ # For {::Google::Cloud::Kms::V1::ProtectionLevel::SOFTWARE SOFTWARE},
585
+ # {::Google::Cloud::Kms::V1::ProtectionLevel::EXTERNAL EXTERNAL}, and
586
+ # {::Google::Cloud::Kms::V1::ProtectionLevel::EXTERNAL_VPC EXTERNAL_VPC} keys the
587
+ # AAD must be no larger than 64KiB. For
563
588
  # {::Google::Cloud::Kms::V1::ProtectionLevel::HSM HSM} keys, the combined length of
564
589
  # the plaintext and additional_authenticated_data fields must be no larger
565
590
  # than 8KiB.
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.14.0
4
+ version: 0.16.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-10-21 00:00:00.000000000 Z
11
+ date: 2022-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -230,7 +230,9 @@ files:
230
230
  - lib/google/cloud/kms/v1/service_services_pb.rb
231
231
  - lib/google/cloud/kms/v1/version.rb
232
232
  - proto_docs/README.md
233
+ - proto_docs/google/api/client.rb
233
234
  - proto_docs/google/api/field_behavior.rb
235
+ - proto_docs/google/api/launch_stage.rb
234
236
  - proto_docs/google/api/resource.rb
235
237
  - proto_docs/google/cloud/kms/v1/ekm_service.rb
236
238
  - proto_docs/google/cloud/kms/v1/resources.rb