google-cloud-kms-v1 1.6.0 → 1.8.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: 392148fe27e2e8aee0121733513d024a273534ea0efaa07ecbe9d6db905eb7ba
4
- data.tar.gz: ed72db366f8d4cd89d0e7e6b486089af85c820a7b02317ec80afdbdbe84b25ac
3
+ metadata.gz: 41e17dfa6df342f92ca527d20576733e0045e839644bbc9a512935373316dcbb
4
+ data.tar.gz: 697e042255f8128b9dc12c57e3d442a062b6dccdd9aa848f8e85cfc2be108e95
5
5
  SHA512:
6
- metadata.gz: fc006c2b4a155b93b5cb41caa37d582a37df23d42f787370a85fdf23491a594db2d15104f944c86bf30b2759b066d22d42c19ffa0399336704e0c8f889221f70
7
- data.tar.gz: 50db9c28b075af73383f547576951af779a53429e3b9f4620a40dee479d235d77730e2d641095a3bd0d77b68c3fe096da700da319419b0eea3645ac0b14fce4f
6
+ metadata.gz: 67b3cb99f3b7e1b4a426ccd4298ef2716bed41a6d55c5013914afd22f9fffd9a89755d3ae65bcf270770d6d32b93c9bc1be72b7768ad77efffeaaa638cd92e87
7
+ data.tar.gz: 865eccad54aff02a7a40b523f356b52c5fc5ff5c18c4738af7c4dffe9fddfd0c1ce7d5f7fd3522a953e06e68956231c1a186b46cf564360d1ebdfd94fffd41ea
@@ -11,7 +11,7 @@ require 'google/api/resource_pb'
11
11
  require 'google/protobuf/field_mask_pb'
12
12
 
13
13
 
14
- descriptor_data = "\n\'google/cloud/kms/v1/autokey_admin.proto\x12\x13google.cloud.kms.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a google/protobuf/field_mask.proto\"\x93\x01\n\x1aUpdateAutokeyConfigRequest\x12?\n\x0e\x61utokey_config\x18\x01 \x01(\x0b\x32\".google.cloud.kms.v1.AutokeyConfigB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\"V\n\x17GetAutokeyConfigRequest\x12;\n\x04name\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%cloudkms.googleapis.com/AutokeyConfig\"\xbd\x02\n\rAutokeyConfig\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x18\n\x0bkey_project\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12<\n\x05state\x18\x04 \x01(\x0e\x32(.google.cloud.kms.v1.AutokeyConfig.StateB\x03\xe0\x41\x03\"V\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x17\n\x13KEY_PROJECT_DELETED\x10\x02\x12\x11\n\rUNINITIALIZED\x10\x03:i\xea\x41\x66\n%cloudkms.googleapis.com/AutokeyConfig\x12\x1e\x66olders/{folder}/autokeyConfig*\x0e\x61utokeyConfigs2\rautokeyConfig\"h\n!ShowEffectiveAutokeyConfigRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\"9\n\"ShowEffectiveAutokeyConfigResponse\x12\x13\n\x0bkey_project\x18\x01 \x01(\t2\xc8\x05\n\x0c\x41utokeyAdmin\x12\xd2\x01\n\x13UpdateAutokeyConfig\x12/.google.cloud.kms.v1.UpdateAutokeyConfigRequest\x1a\".google.cloud.kms.v1.AutokeyConfig\"f\xda\x41\x1a\x61utokey_config,update_mask\x82\xd3\xe4\x93\x02\x43\x32\x31/v1/{autokey_config.name=folders/*/autokeyConfig}:\x0e\x61utokey_config\x12\x97\x01\n\x10GetAutokeyConfig\x12,.google.cloud.kms.v1.GetAutokeyConfigRequest\x1a\".google.cloud.kms.v1.AutokeyConfig\"1\xda\x41\x04name\x82\xd3\xe4\x93\x02$\x12\"/v1/{name=folders/*/autokeyConfig}\x12\xd2\x01\n\x1aShowEffectiveAutokeyConfig\x12\x36.google.cloud.kms.v1.ShowEffectiveAutokeyConfigRequest\x1a\x37.google.cloud.kms.v1.ShowEffectiveAutokeyConfigResponse\"C\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x34\x12\x32/v1/{parent=projects/*}:showEffectiveAutokeyConfig\x1at\xca\x41\x17\x63loudkms.googleapis.com\xd2\x41Whttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloudkmsBY\n\x17\x63om.google.cloud.kms.v1B\x11\x41utokeyAdminProtoP\x01Z)cloud.google.com/go/kms/apiv1/kmspb;kmspbb\x06proto3"
14
+ descriptor_data = "\n\'google/cloud/kms/v1/autokey_admin.proto\x12\x13google.cloud.kms.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a google/protobuf/field_mask.proto\"\x93\x01\n\x1aUpdateAutokeyConfigRequest\x12?\n\x0e\x61utokey_config\x18\x01 \x01(\x0b\x32\".google.cloud.kms.v1.AutokeyConfigB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\"V\n\x17GetAutokeyConfigRequest\x12;\n\x04name\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%cloudkms.googleapis.com/AutokeyConfig\"\xd0\x02\n\rAutokeyConfig\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x18\n\x0bkey_project\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12<\n\x05state\x18\x04 \x01(\x0e\x32(.google.cloud.kms.v1.AutokeyConfig.StateB\x03\xe0\x41\x03\x12\x11\n\x04\x65tag\x18\x06 \x01(\tB\x03\xe0\x41\x01\"V\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x17\n\x13KEY_PROJECT_DELETED\x10\x02\x12\x11\n\rUNINITIALIZED\x10\x03:i\xea\x41\x66\n%cloudkms.googleapis.com/AutokeyConfig\x12\x1e\x66olders/{folder}/autokeyConfig*\x0e\x61utokeyConfigs2\rautokeyConfig\"h\n!ShowEffectiveAutokeyConfigRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\"9\n\"ShowEffectiveAutokeyConfigResponse\x12\x13\n\x0bkey_project\x18\x01 \x01(\t2\xc8\x05\n\x0c\x41utokeyAdmin\x12\xd2\x01\n\x13UpdateAutokeyConfig\x12/.google.cloud.kms.v1.UpdateAutokeyConfigRequest\x1a\".google.cloud.kms.v1.AutokeyConfig\"f\xda\x41\x1a\x61utokey_config,update_mask\x82\xd3\xe4\x93\x02\x43\x32\x31/v1/{autokey_config.name=folders/*/autokeyConfig}:\x0e\x61utokey_config\x12\x97\x01\n\x10GetAutokeyConfig\x12,.google.cloud.kms.v1.GetAutokeyConfigRequest\x1a\".google.cloud.kms.v1.AutokeyConfig\"1\xda\x41\x04name\x82\xd3\xe4\x93\x02$\x12\"/v1/{name=folders/*/autokeyConfig}\x12\xd2\x01\n\x1aShowEffectiveAutokeyConfig\x12\x36.google.cloud.kms.v1.ShowEffectiveAutokeyConfigRequest\x1a\x37.google.cloud.kms.v1.ShowEffectiveAutokeyConfigResponse\"C\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x34\x12\x32/v1/{parent=projects/*}:showEffectiveAutokeyConfig\x1at\xca\x41\x17\x63loudkms.googleapis.com\xd2\x41Whttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloudkmsBY\n\x17\x63om.google.cloud.kms.v1B\x11\x41utokeyAdminProtoP\x01Z)cloud.google.com/go/kms/apiv1/kmspb;kmspbb\x06proto3"
15
15
 
16
16
  pool = Google::Protobuf::DescriptorPool.generated_pool
17
17
 
@@ -16,7 +16,7 @@
16
16
 
17
17
  # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
18
 
19
- require "gapic/config"
19
+ require "gapic/rest"
20
20
 
21
21
  module Google
22
22
  module Cloud
@@ -42,7 +42,7 @@ module Google
42
42
  namespace.pop
43
43
  end
44
44
 
45
- default_config = Configuration.new parent_config
45
+ default_config = ::Gapic::Rest::HttpBindingOverrideConfiguration.new parent_config
46
46
  default_config.bindings_override["google.cloud.location.Locations.GetLocation"] = [
47
47
  Gapic::Rest::GrpcTranscoder::HttpBinding.create_with_validation(
48
48
  uri_method: :get,
@@ -198,33 +198,6 @@ module Google
198
198
  yield @configure if block_given?
199
199
  @configure
200
200
  end
201
-
202
- ##
203
- # @private
204
- # Configuration class for the google.cloud.kms.v1 package.
205
- #
206
- # This class contains common configuration for all services
207
- # of the google.cloud.kms.v1 package.
208
- #
209
- # This configuration is for internal use of the client library classes,
210
- # and it is not intended that the end-users will read or change it.
211
- #
212
- class Configuration
213
- extend ::Gapic::Config
214
-
215
- # @private
216
- # Overrides for http bindings for the RPC of the mixins for this package.
217
- # Services in this package should use these when creating clients for the mixin services.
218
- # @return [::Hash{::Symbol=>::Array<::Gapic::Rest::GrpcTranscoder::HttpBinding>}]
219
- config_attr :bindings_override, {}, ::Hash, nil
220
-
221
- # @private
222
- def initialize parent_config = nil
223
- @parent_config = parent_config unless parent_config.nil?
224
-
225
- yield self if block_given?
226
- end
227
- end
228
201
  end
229
202
  end
230
203
  end
@@ -3424,6 +3424,121 @@ module Google
3424
3424
  raise ::Google::Cloud::Error.from_error(e)
3425
3425
  end
3426
3426
 
3427
+ ##
3428
+ # Decapsulates data that was encapsulated with a public key retrieved from
3429
+ # {::Google::Cloud::Kms::V1::KeyManagementService::Client#get_public_key GetPublicKey}
3430
+ # corresponding to a {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}
3431
+ # with {::Google::Cloud::Kms::V1::CryptoKey#purpose CryptoKey.purpose}
3432
+ # KEY_ENCAPSULATION.
3433
+ #
3434
+ # @overload decapsulate(request, options = nil)
3435
+ # Pass arguments to `decapsulate` via a request object, either of type
3436
+ # {::Google::Cloud::Kms::V1::DecapsulateRequest} or an equivalent Hash.
3437
+ #
3438
+ # @param request [::Google::Cloud::Kms::V1::DecapsulateRequest, ::Hash]
3439
+ # A request object representing the call parameters. Required. To specify no
3440
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
3441
+ # @param options [::Gapic::CallOptions, ::Hash]
3442
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
3443
+ #
3444
+ # @overload decapsulate(name: nil, ciphertext: nil, ciphertext_crc32c: nil)
3445
+ # Pass arguments to `decapsulate` via keyword arguments. Note that at
3446
+ # least one keyword argument is required. To specify no parameters, or to keep all
3447
+ # the default parameter values, pass an empty Hash as a request object (see above).
3448
+ #
3449
+ # @param name [::String]
3450
+ # Required. The resource name of the
3451
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to use for
3452
+ # decapsulation.
3453
+ # @param ciphertext [::String]
3454
+ # Required. The ciphertext produced from encapsulation with the
3455
+ # named {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} public
3456
+ # key(s).
3457
+ # @param ciphertext_crc32c [::Google::Protobuf::Int64Value, ::Hash]
3458
+ # Optional. A CRC32C checksum of the
3459
+ # {::Google::Cloud::Kms::V1::DecapsulateRequest#ciphertext DecapsulateRequest.ciphertext}.
3460
+ # If specified,
3461
+ # {::Google::Cloud::Kms::V1::KeyManagementService::Client KeyManagementService} will
3462
+ # verify the integrity of the received
3463
+ # {::Google::Cloud::Kms::V1::DecapsulateRequest#ciphertext DecapsulateRequest.ciphertext}
3464
+ # using this checksum.
3465
+ # {::Google::Cloud::Kms::V1::KeyManagementService::Client KeyManagementService} will
3466
+ # report an error if the checksum verification fails. If you receive a
3467
+ # checksum error, your client should verify that
3468
+ # CRC32C({::Google::Cloud::Kms::V1::DecapsulateRequest#ciphertext DecapsulateRequest.ciphertext})
3469
+ # is equal to
3470
+ # {::Google::Cloud::Kms::V1::DecapsulateRequest#ciphertext_crc32c DecapsulateRequest.ciphertext_crc32c},
3471
+ # and if so, perform a limited number of retries. A persistent mismatch may
3472
+ # indicate an issue in your computation of the CRC32C checksum. Note: This
3473
+ # field is defined as int64 for reasons of compatibility across different
3474
+ # languages. However, it is a non-negative integer, which will never exceed
3475
+ # 2^32-1, and can be safely downconverted to uint32 in languages that support
3476
+ # this type.
3477
+ #
3478
+ # @yield [response, operation] Access the result along with the RPC operation
3479
+ # @yieldparam response [::Google::Cloud::Kms::V1::DecapsulateResponse]
3480
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
3481
+ #
3482
+ # @return [::Google::Cloud::Kms::V1::DecapsulateResponse]
3483
+ #
3484
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
3485
+ #
3486
+ # @example Basic example
3487
+ # require "google/cloud/kms/v1"
3488
+ #
3489
+ # # Create a client object. The client can be reused for multiple calls.
3490
+ # client = Google::Cloud::Kms::V1::KeyManagementService::Client.new
3491
+ #
3492
+ # # Create a request. To set request fields, pass in keyword arguments.
3493
+ # request = Google::Cloud::Kms::V1::DecapsulateRequest.new
3494
+ #
3495
+ # # Call the decapsulate method.
3496
+ # result = client.decapsulate request
3497
+ #
3498
+ # # The returned object is of type Google::Cloud::Kms::V1::DecapsulateResponse.
3499
+ # p result
3500
+ #
3501
+ def decapsulate request, options = nil
3502
+ raise ::ArgumentError, "request must be provided" if request.nil?
3503
+
3504
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Kms::V1::DecapsulateRequest
3505
+
3506
+ # Converts hash and nil to an options object
3507
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
3508
+
3509
+ # Customize the options with defaults
3510
+ metadata = @config.rpcs.decapsulate.metadata.to_h
3511
+
3512
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
3513
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
3514
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
3515
+ gapic_version: ::Google::Cloud::Kms::V1::VERSION
3516
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
3517
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
3518
+
3519
+ header_params = {}
3520
+ if request.name
3521
+ header_params["name"] = request.name
3522
+ end
3523
+
3524
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
3525
+ metadata[:"x-goog-request-params"] ||= request_params_header
3526
+
3527
+ options.apply_defaults timeout: @config.rpcs.decapsulate.timeout,
3528
+ metadata: metadata,
3529
+ retry_policy: @config.rpcs.decapsulate.retry_policy
3530
+
3531
+ options.apply_defaults timeout: @config.timeout,
3532
+ metadata: @config.metadata,
3533
+ retry_policy: @config.retry_policy
3534
+
3535
+ @key_management_service_stub.call_rpc :decapsulate, request, options: options do |response, operation|
3536
+ yield response, operation if block_given?
3537
+ end
3538
+ rescue ::GRPC::BadStatus => e
3539
+ raise ::Google::Cloud::Error.from_error(e)
3540
+ end
3541
+
3427
3542
  ##
3428
3543
  # Generate random bytes using the Cloud KMS randomness source in the provided
3429
3544
  # location.
@@ -3821,6 +3936,11 @@ module Google
3821
3936
  #
3822
3937
  attr_reader :mac_verify
3823
3938
  ##
3939
+ # RPC-specific configuration for `decapsulate`
3940
+ # @return [::Gapic::Config::Method]
3941
+ #
3942
+ attr_reader :decapsulate
3943
+ ##
3824
3944
  # RPC-specific configuration for `generate_random_bytes`
3825
3945
  # @return [::Gapic::Config::Method]
3826
3946
  #
@@ -3882,6 +4002,8 @@ module Google
3882
4002
  @mac_sign = ::Gapic::Config::Method.new mac_sign_config
3883
4003
  mac_verify_config = parent_rpcs.mac_verify if parent_rpcs.respond_to? :mac_verify
3884
4004
  @mac_verify = ::Gapic::Config::Method.new mac_verify_config
4005
+ decapsulate_config = parent_rpcs.decapsulate if parent_rpcs.respond_to? :decapsulate
4006
+ @decapsulate = ::Gapic::Config::Method.new decapsulate_config
3885
4007
  generate_random_bytes_config = parent_rpcs.generate_random_bytes if parent_rpcs.respond_to? :generate_random_bytes
3886
4008
  @generate_random_bytes = ::Gapic::Config::Method.new generate_random_bytes_config
3887
4009
 
@@ -3230,6 +3230,114 @@ module Google
3230
3230
  raise ::Google::Cloud::Error.from_error(e)
3231
3231
  end
3232
3232
 
3233
+ ##
3234
+ # Decapsulates data that was encapsulated with a public key retrieved from
3235
+ # {::Google::Cloud::Kms::V1::KeyManagementService::Rest::Client#get_public_key GetPublicKey}
3236
+ # corresponding to a {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}
3237
+ # with {::Google::Cloud::Kms::V1::CryptoKey#purpose CryptoKey.purpose}
3238
+ # KEY_ENCAPSULATION.
3239
+ #
3240
+ # @overload decapsulate(request, options = nil)
3241
+ # Pass arguments to `decapsulate` via a request object, either of type
3242
+ # {::Google::Cloud::Kms::V1::DecapsulateRequest} or an equivalent Hash.
3243
+ #
3244
+ # @param request [::Google::Cloud::Kms::V1::DecapsulateRequest, ::Hash]
3245
+ # A request object representing the call parameters. Required. To specify no
3246
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
3247
+ # @param options [::Gapic::CallOptions, ::Hash]
3248
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
3249
+ #
3250
+ # @overload decapsulate(name: nil, ciphertext: nil, ciphertext_crc32c: nil)
3251
+ # Pass arguments to `decapsulate` via keyword arguments. Note that at
3252
+ # least one keyword argument is required. To specify no parameters, or to keep all
3253
+ # the default parameter values, pass an empty Hash as a request object (see above).
3254
+ #
3255
+ # @param name [::String]
3256
+ # Required. The resource name of the
3257
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to use for
3258
+ # decapsulation.
3259
+ # @param ciphertext [::String]
3260
+ # Required. The ciphertext produced from encapsulation with the
3261
+ # named {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} public
3262
+ # key(s).
3263
+ # @param ciphertext_crc32c [::Google::Protobuf::Int64Value, ::Hash]
3264
+ # Optional. A CRC32C checksum of the
3265
+ # {::Google::Cloud::Kms::V1::DecapsulateRequest#ciphertext DecapsulateRequest.ciphertext}.
3266
+ # If specified,
3267
+ # {::Google::Cloud::Kms::V1::KeyManagementService::Rest::Client KeyManagementService} will
3268
+ # verify the integrity of the received
3269
+ # {::Google::Cloud::Kms::V1::DecapsulateRequest#ciphertext DecapsulateRequest.ciphertext}
3270
+ # using this checksum.
3271
+ # {::Google::Cloud::Kms::V1::KeyManagementService::Rest::Client KeyManagementService} will
3272
+ # report an error if the checksum verification fails. If you receive a
3273
+ # checksum error, your client should verify that
3274
+ # CRC32C({::Google::Cloud::Kms::V1::DecapsulateRequest#ciphertext DecapsulateRequest.ciphertext})
3275
+ # is equal to
3276
+ # {::Google::Cloud::Kms::V1::DecapsulateRequest#ciphertext_crc32c DecapsulateRequest.ciphertext_crc32c},
3277
+ # and if so, perform a limited number of retries. A persistent mismatch may
3278
+ # indicate an issue in your computation of the CRC32C checksum. Note: This
3279
+ # field is defined as int64 for reasons of compatibility across different
3280
+ # languages. However, it is a non-negative integer, which will never exceed
3281
+ # 2^32-1, and can be safely downconverted to uint32 in languages that support
3282
+ # this type.
3283
+ # @yield [result, operation] Access the result along with the TransportOperation object
3284
+ # @yieldparam result [::Google::Cloud::Kms::V1::DecapsulateResponse]
3285
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
3286
+ #
3287
+ # @return [::Google::Cloud::Kms::V1::DecapsulateResponse]
3288
+ #
3289
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
3290
+ #
3291
+ # @example Basic example
3292
+ # require "google/cloud/kms/v1"
3293
+ #
3294
+ # # Create a client object. The client can be reused for multiple calls.
3295
+ # client = Google::Cloud::Kms::V1::KeyManagementService::Rest::Client.new
3296
+ #
3297
+ # # Create a request. To set request fields, pass in keyword arguments.
3298
+ # request = Google::Cloud::Kms::V1::DecapsulateRequest.new
3299
+ #
3300
+ # # Call the decapsulate method.
3301
+ # result = client.decapsulate request
3302
+ #
3303
+ # # The returned object is of type Google::Cloud::Kms::V1::DecapsulateResponse.
3304
+ # p result
3305
+ #
3306
+ def decapsulate request, options = nil
3307
+ raise ::ArgumentError, "request must be provided" if request.nil?
3308
+
3309
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Kms::V1::DecapsulateRequest
3310
+
3311
+ # Converts hash and nil to an options object
3312
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
3313
+
3314
+ # Customize the options with defaults
3315
+ call_metadata = @config.rpcs.decapsulate.metadata.to_h
3316
+
3317
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
3318
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
3319
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
3320
+ gapic_version: ::Google::Cloud::Kms::V1::VERSION,
3321
+ transports_version_send: [:rest]
3322
+
3323
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
3324
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
3325
+
3326
+ options.apply_defaults timeout: @config.rpcs.decapsulate.timeout,
3327
+ metadata: call_metadata,
3328
+ retry_policy: @config.rpcs.decapsulate.retry_policy
3329
+
3330
+ options.apply_defaults timeout: @config.timeout,
3331
+ metadata: @config.metadata,
3332
+ retry_policy: @config.retry_policy
3333
+
3334
+ @key_management_service_stub.decapsulate request, options do |result, operation|
3335
+ yield result, operation if block_given?
3336
+ end
3337
+ rescue ::Gapic::Rest::Error => e
3338
+ raise ::Google::Cloud::Error.from_error(e)
3339
+ end
3340
+
3233
3341
  ##
3234
3342
  # Generate random bytes using the Cloud KMS randomness source in the provided
3235
3343
  # location.
@@ -3607,6 +3715,11 @@ module Google
3607
3715
  #
3608
3716
  attr_reader :mac_verify
3609
3717
  ##
3718
+ # RPC-specific configuration for `decapsulate`
3719
+ # @return [::Gapic::Config::Method]
3720
+ #
3721
+ attr_reader :decapsulate
3722
+ ##
3610
3723
  # RPC-specific configuration for `generate_random_bytes`
3611
3724
  # @return [::Gapic::Config::Method]
3612
3725
  #
@@ -3668,6 +3781,8 @@ module Google
3668
3781
  @mac_sign = ::Gapic::Config::Method.new mac_sign_config
3669
3782
  mac_verify_config = parent_rpcs.mac_verify if parent_rpcs.respond_to? :mac_verify
3670
3783
  @mac_verify = ::Gapic::Config::Method.new mac_verify_config
3784
+ decapsulate_config = parent_rpcs.decapsulate if parent_rpcs.respond_to? :decapsulate
3785
+ @decapsulate = ::Gapic::Config::Method.new decapsulate_config
3671
3786
  generate_random_bytes_config = parent_rpcs.generate_random_bytes if parent_rpcs.respond_to? :generate_random_bytes
3672
3787
  @generate_random_bytes = ::Gapic::Config::Method.new generate_random_bytes_config
3673
3788
 
@@ -1153,6 +1153,46 @@ module Google
1153
1153
  end
1154
1154
  end
1155
1155
 
1156
+ ##
1157
+ # Baseline implementation for the decapsulate REST call
1158
+ #
1159
+ # @param request_pb [::Google::Cloud::Kms::V1::DecapsulateRequest]
1160
+ # A request object representing the call parameters. Required.
1161
+ # @param options [::Gapic::CallOptions]
1162
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1163
+ #
1164
+ # @yield [result, operation] Access the result along with the TransportOperation object
1165
+ # @yieldparam result [::Google::Cloud::Kms::V1::DecapsulateResponse]
1166
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1167
+ #
1168
+ # @return [::Google::Cloud::Kms::V1::DecapsulateResponse]
1169
+ # A result object deserialized from the server's reply
1170
+ def decapsulate request_pb, options = nil
1171
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
1172
+
1173
+ verb, uri, query_string_params, body = ServiceStub.transcode_decapsulate_request request_pb
1174
+ query_string_params = if query_string_params.any?
1175
+ query_string_params.to_h { |p| p.split "=", 2 }
1176
+ else
1177
+ {}
1178
+ end
1179
+
1180
+ response = @client_stub.make_http_request(
1181
+ verb,
1182
+ uri: uri,
1183
+ body: body || "",
1184
+ params: query_string_params,
1185
+ method_name: "decapsulate",
1186
+ options: options
1187
+ )
1188
+ operation = ::Gapic::Rest::TransportOperation.new response
1189
+ result = ::Google::Cloud::Kms::V1::DecapsulateResponse.decode_json response.body, ignore_unknown_fields: true
1190
+ catch :response do
1191
+ yield result, operation if block_given?
1192
+ result
1193
+ end
1194
+ end
1195
+
1156
1196
  ##
1157
1197
  # Baseline implementation for the generate_random_bytes REST call
1158
1198
  #
@@ -1778,6 +1818,28 @@ module Google
1778
1818
  transcoder.transcode request_pb
1779
1819
  end
1780
1820
 
1821
+ ##
1822
+ # @private
1823
+ #
1824
+ # GRPC transcoding helper method for the decapsulate REST call
1825
+ #
1826
+ # @param request_pb [::Google::Cloud::Kms::V1::DecapsulateRequest]
1827
+ # A request object representing the call parameters. Required.
1828
+ # @return [Array(String, [String, nil], Hash{String => String})]
1829
+ # Uri, Body, Query string parameters
1830
+ def self.transcode_decapsulate_request request_pb
1831
+ transcoder = Gapic::Rest::GrpcTranscoder.new
1832
+ .with_bindings(
1833
+ uri_method: :post,
1834
+ uri_template: "/v1/{name}:decapsulate",
1835
+ body: "*",
1836
+ matches: [
1837
+ ["name", %r{^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+/?$}, false]
1838
+ ]
1839
+ )
1840
+ transcoder.transcode request_pb
1841
+ end
1842
+
1781
1843
  ##
1782
1844
  # @private
1783
1845
  #
@@ -11,7 +11,7 @@ require 'google/protobuf/timestamp_pb'
11
11
  require 'google/protobuf/wrappers_pb'
12
12
 
13
13
 
14
- descriptor_data = "\n#google/cloud/kms/v1/resources.proto\x12\x13google.cloud.kms.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xb5\x01\n\x07KeyRing\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03:a\xea\x41^\n\x1f\x63loudkms.googleapis.com/KeyRing\x12;projects/{project}/locations/{location}/keyRings/{key_ring}\"\x91\x08\n\tCryptoKey\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12;\n\x07primary\x18\x02 \x01(\x0b\x32%.google.cloud.kms.v1.CryptoKeyVersionB\x03\xe0\x41\x03\x12\x45\n\x07purpose\x18\x03 \x01(\x0e\x32/.google.cloud.kms.v1.CryptoKey.CryptoKeyPurposeB\x03\xe0\x41\x05\x12\x34\n\x0b\x63reate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x36\n\x12next_rotation_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x0frotation_period\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12G\n\x10version_template\x18\x0b \x01(\x0b\x32-.google.cloud.kms.v1.CryptoKeyVersionTemplate\x12:\n\x06labels\x18\n \x03(\x0b\x32*.google.cloud.kms.v1.CryptoKey.LabelsEntry\x12\x18\n\x0bimport_only\x18\r \x01(\x08\x42\x03\xe0\x41\x05\x12\x42\n\x1a\x64\x65stroy_scheduled_duration\x18\x0e \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x05\x12%\n\x12\x63rypto_key_backend\x18\x0f \x01(\tB\t\xe0\x41\x05\xfa\x41\x03\n\x01*\x12\x61\n key_access_justifications_policy\x18\x11 \x01(\x0b\x32\x32.google.cloud.kms.v1.KeyAccessJustificationsPolicyB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x9a\x01\n\x10\x43ryptoKeyPurpose\x12\"\n\x1e\x43RYPTO_KEY_PURPOSE_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x45NCRYPT_DECRYPT\x10\x01\x12\x13\n\x0f\x41SYMMETRIC_SIGN\x10\x05\x12\x16\n\x12\x41SYMMETRIC_DECRYPT\x10\x06\x12\x17\n\x13RAW_ENCRYPT_DECRYPT\x10\x07\x12\x07\n\x03MAC\x10\t:{\xea\x41x\n!cloudkms.googleapis.com/CryptoKey\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}B\x13\n\x11rotation_schedule\"\xb3\x01\n\x18\x43ryptoKeyVersionTemplate\x12>\n\x10protection_level\x18\x01 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\x12W\n\talgorithm\x18\x03 \x01(\x0e\x32?.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithmB\x03\xe0\x41\x02\"\xb1\x03\n\x17KeyOperationAttestation\x12S\n\x06\x66ormat\x18\x04 \x01(\x0e\x32>.google.cloud.kms.v1.KeyOperationAttestation.AttestationFormatB\x03\xe0\x41\x03\x12\x14\n\x07\x63ontent\x18\x05 \x01(\x0c\x42\x03\xe0\x41\x03\x12X\n\x0b\x63\x65rt_chains\x18\x06 \x01(\x0b\x32>.google.cloud.kms.v1.KeyOperationAttestation.CertificateChainsB\x03\xe0\x41\x03\x1a\x64\n\x11\x43\x65rtificateChains\x12\x14\n\x0c\x63\x61vium_certs\x18\x01 \x03(\t\x12\x19\n\x11google_card_certs\x18\x02 \x03(\t\x12\x1e\n\x16google_partition_certs\x18\x03 \x03(\t\"k\n\x11\x41ttestationFormat\x12\"\n\x1e\x41TTESTATION_FORMAT_UNSPECIFIED\x10\x00\x12\x18\n\x14\x43\x41VIUM_V1_COMPRESSED\x10\x03\x12\x18\n\x14\x43\x41VIUM_V2_COMPRESSED\x10\x04\"\xb7\x13\n\x10\x43ryptoKeyVersion\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12J\n\x05state\x18\x03 \x01(\x0e\x32;.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState\x12\x43\n\x10protection_level\x18\x07 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevelB\x03\xe0\x41\x03\x12W\n\talgorithm\x18\n \x01(\x0e\x32?.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithmB\x03\xe0\x41\x03\x12\x46\n\x0b\x61ttestation\x18\x08 \x01(\x0b\x32,.google.cloud.kms.v1.KeyOperationAttestationB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x36\n\rgenerate_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x35\n\x0c\x64\x65stroy_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12;\n\x12\x64\x65stroy_event_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x17\n\nimport_job\x18\x0e \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0bimport_time\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\"\n\x15import_failure_reason\x18\x10 \x01(\tB\x03\xe0\x41\x03\x12&\n\x19generation_failure_reason\x18\x13 \x01(\tB\x03\xe0\x41\x03\x12\x30\n#external_destruction_failure_reason\x18\x14 \x01(\tB\x03\xe0\x41\x03\x12^\n!external_protection_level_options\x18\x11 \x01(\x0b\x32\x33.google.cloud.kms.v1.ExternalProtectionLevelOptions\x12\x1e\n\x11reimport_eligible\x18\x12 \x01(\x08\x42\x03\xe0\x41\x03\"\x98\x08\n\x19\x43ryptoKeyVersionAlgorithm\x12,\n(CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED\x10\x00\x12\x1f\n\x1bGOOGLE_SYMMETRIC_ENCRYPTION\x10\x01\x12\x0f\n\x0b\x41\x45S_128_GCM\x10)\x12\x0f\n\x0b\x41\x45S_256_GCM\x10\x13\x12\x0f\n\x0b\x41\x45S_128_CBC\x10*\x12\x0f\n\x0b\x41\x45S_256_CBC\x10+\x12\x0f\n\x0b\x41\x45S_128_CTR\x10,\x12\x0f\n\x0b\x41\x45S_256_CTR\x10-\x12\x1c\n\x18RSA_SIGN_PSS_2048_SHA256\x10\x02\x12\x1c\n\x18RSA_SIGN_PSS_3072_SHA256\x10\x03\x12\x1c\n\x18RSA_SIGN_PSS_4096_SHA256\x10\x04\x12\x1c\n\x18RSA_SIGN_PSS_4096_SHA512\x10\x0f\x12\x1e\n\x1aRSA_SIGN_PKCS1_2048_SHA256\x10\x05\x12\x1e\n\x1aRSA_SIGN_PKCS1_3072_SHA256\x10\x06\x12\x1e\n\x1aRSA_SIGN_PKCS1_4096_SHA256\x10\x07\x12\x1e\n\x1aRSA_SIGN_PKCS1_4096_SHA512\x10\x10\x12\x1b\n\x17RSA_SIGN_RAW_PKCS1_2048\x10\x1c\x12\x1b\n\x17RSA_SIGN_RAW_PKCS1_3072\x10\x1d\x12\x1b\n\x17RSA_SIGN_RAW_PKCS1_4096\x10\x1e\x12 \n\x1cRSA_DECRYPT_OAEP_2048_SHA256\x10\x08\x12 \n\x1cRSA_DECRYPT_OAEP_3072_SHA256\x10\t\x12 \n\x1cRSA_DECRYPT_OAEP_4096_SHA256\x10\n\x12 \n\x1cRSA_DECRYPT_OAEP_4096_SHA512\x10\x11\x12\x1e\n\x1aRSA_DECRYPT_OAEP_2048_SHA1\x10%\x12\x1e\n\x1aRSA_DECRYPT_OAEP_3072_SHA1\x10&\x12\x1e\n\x1aRSA_DECRYPT_OAEP_4096_SHA1\x10\'\x12\x17\n\x13\x45\x43_SIGN_P256_SHA256\x10\x0c\x12\x17\n\x13\x45\x43_SIGN_P384_SHA384\x10\r\x12\x1c\n\x18\x45\x43_SIGN_SECP256K1_SHA256\x10\x1f\x12\x13\n\x0f\x45\x43_SIGN_ED25519\x10(\x12\x0f\n\x0bHMAC_SHA256\x10 \x12\r\n\tHMAC_SHA1\x10!\x12\x0f\n\x0bHMAC_SHA384\x10\"\x12\x0f\n\x0bHMAC_SHA512\x10#\x12\x0f\n\x0bHMAC_SHA224\x10$\x12!\n\x1d\x45XTERNAL_SYMMETRIC_ENCRYPTION\x10\x12\x12\x15\n\x11PQ_SIGN_ML_DSA_65\x10\x38\x12\x1d\n\x19PQ_SIGN_SLH_DSA_SHA2_128S\x10\x39\"\x9b\x02\n\x15\x43ryptoKeyVersionState\x12(\n$CRYPTO_KEY_VERSION_STATE_UNSPECIFIED\x10\x00\x12\x16\n\x12PENDING_GENERATION\x10\x05\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x12\r\n\tDESTROYED\x10\x03\x12\x15\n\x11\x44\x45STROY_SCHEDULED\x10\x04\x12\x12\n\x0ePENDING_IMPORT\x10\x06\x12\x11\n\rIMPORT_FAILED\x10\x07\x12\x15\n\x11GENERATION_FAILED\x10\x08\x12 \n\x1cPENDING_EXTERNAL_DESTRUCTION\x10\t\x12\x1f\n\x1b\x45XTERNAL_DESTRUCTION_FAILED\x10\n\"I\n\x14\x43ryptoKeyVersionView\x12\'\n#CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED\x10\x00\x12\x08\n\x04\x46ULL\x10\x01:\xaa\x01\xea\x41\xa6\x01\n(cloudkms.googleapis.com/CryptoKeyVersion\x12zprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}\"U\n\x0f\x43hecksummedData\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x34\n\x0f\x63rc32c_checksum\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\"\xee\x04\n\tPublicKey\x12\x0b\n\x03pem\x18\x01 \x01(\t\x12R\n\talgorithm\x18\x02 \x01(\x0e\x32?.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm\x12/\n\npem_crc32c\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x0c\n\x04name\x18\x04 \x01(\t\x12>\n\x10protection_level\x18\x05 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\x12I\n\x11public_key_format\x18\x07 \x01(\x0e\x32..google.cloud.kms.v1.PublicKey.PublicKeyFormat\x12\x38\n\npublic_key\x18\x08 \x01(\x0b\x32$.google.cloud.kms.v1.ChecksummedData\"K\n\x0fPublicKeyFormat\x12!\n\x1dPUBLIC_KEY_FORMAT_UNSPECIFIED\x10\x00\x12\x07\n\x03PEM\x10\x01\x12\x0c\n\x08NIST_PQC\x10\x03:\xae\x01\xea\x41\xaa\x01\n!cloudkms.googleapis.com/PublicKey\x12\x84\x01projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}/publicKey\"\xd4\x08\n\tImportJob\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12J\n\rimport_method\x18\x02 \x01(\x0e\x32+.google.cloud.kms.v1.ImportJob.ImportMethodB\x06\xe0\x41\x02\xe0\x41\x05\x12\x46\n\x10protection_level\x18\t \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevelB\x06\xe0\x41\x02\xe0\x41\x05\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x36\n\rgenerate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x65xpire_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12:\n\x11\x65xpire_event_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x41\n\x05state\x18\x06 \x01(\x0e\x32-.google.cloud.kms.v1.ImportJob.ImportJobStateB\x03\xe0\x41\x03\x12I\n\npublic_key\x18\x07 \x01(\x0b\x32\x30.google.cloud.kms.v1.ImportJob.WrappingPublicKeyB\x03\xe0\x41\x03\x12\x46\n\x0b\x61ttestation\x18\x08 \x01(\x0b\x32,.google.cloud.kms.v1.KeyOperationAttestationB\x03\xe0\x41\x03\x1a \n\x11WrappingPublicKey\x12\x0b\n\x03pem\x18\x01 \x01(\t\"\xe5\x01\n\x0cImportMethod\x12\x1d\n\x19IMPORT_METHOD_UNSPECIFIED\x10\x00\x12\x1e\n\x1aRSA_OAEP_3072_SHA1_AES_256\x10\x01\x12\x1e\n\x1aRSA_OAEP_4096_SHA1_AES_256\x10\x02\x12 \n\x1cRSA_OAEP_3072_SHA256_AES_256\x10\x03\x12 \n\x1cRSA_OAEP_4096_SHA256_AES_256\x10\x04\x12\x18\n\x14RSA_OAEP_3072_SHA256\x10\x05\x12\x18\n\x14RSA_OAEP_4096_SHA256\x10\x06\"c\n\x0eImportJobState\x12 \n\x1cIMPORT_JOB_STATE_UNSPECIFIED\x10\x00\x12\x16\n\x12PENDING_GENERATION\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0b\n\x07\x45XPIRED\x10\x03:{\xea\x41x\n!cloudkms.googleapis.com/ImportJob\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/importJobs/{import_job}\"[\n\x1e\x45xternalProtectionLevelOptions\x12\x18\n\x10\x65xternal_key_uri\x18\x01 \x01(\t\x12\x1f\n\x17\x65km_connection_key_path\x18\x02 \x01(\t\"b\n\x1dKeyAccessJustificationsPolicy\x12\x41\n\x16\x61llowed_access_reasons\x18\x01 \x03(\x0e\x32!.google.cloud.kms.v1.AccessReason*j\n\x0fProtectionLevel\x12 \n\x1cPROTECTION_LEVEL_UNSPECIFIED\x10\x00\x12\x0c\n\x08SOFTWARE\x10\x01\x12\x07\n\x03HSM\x10\x02\x12\x0c\n\x08\x45XTERNAL\x10\x03\x12\x10\n\x0c\x45XTERNAL_VPC\x10\x04*\xab\x03\n\x0c\x41\x63\x63\x65ssReason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1e\n\x1a\x43USTOMER_INITIATED_SUPPORT\x10\x01\x12\x1c\n\x18GOOGLE_INITIATED_SERVICE\x10\x02\x12\x1c\n\x18THIRD_PARTY_DATA_REQUEST\x10\x03\x12\x1b\n\x17GOOGLE_INITIATED_REVIEW\x10\x04\x12\x1d\n\x19\x43USTOMER_INITIATED_ACCESS\x10\x05\x12%\n!GOOGLE_INITIATED_SYSTEM_OPERATION\x10\x06\x12\x17\n\x13REASON_NOT_EXPECTED\x10\x07\x12&\n\"MODIFIED_CUSTOMER_INITIATED_ACCESS\x10\x08\x12.\n*MODIFIED_GOOGLE_INITIATED_SYSTEM_OPERATION\x10\t\x12\'\n#GOOGLE_RESPONSE_TO_PRODUCTION_ALERT\x10\n\x12*\n&CUSTOMER_AUTHORIZED_WORKFLOW_SERVICING\x10\x0b\x42\x85\x01\n\x17\x63om.google.cloud.kms.v1B\x11KmsResourcesProtoP\x01Z)cloud.google.com/go/kms/apiv1/kmspb;kmspb\xaa\x02\x13Google.Cloud.Kms.V1\xca\x02\x13Google\\Cloud\\Kms\\V1b\x06proto3"
14
+ descriptor_data = "\n#google/cloud/kms/v1/resources.proto\x12\x13google.cloud.kms.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xb5\x01\n\x07KeyRing\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03:a\xea\x41^\n\x1f\x63loudkms.googleapis.com/KeyRing\x12;projects/{project}/locations/{location}/keyRings/{key_ring}\"\xa8\x08\n\tCryptoKey\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12;\n\x07primary\x18\x02 \x01(\x0b\x32%.google.cloud.kms.v1.CryptoKeyVersionB\x03\xe0\x41\x03\x12\x45\n\x07purpose\x18\x03 \x01(\x0e\x32/.google.cloud.kms.v1.CryptoKey.CryptoKeyPurposeB\x03\xe0\x41\x05\x12\x34\n\x0b\x63reate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x36\n\x12next_rotation_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x0frotation_period\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12G\n\x10version_template\x18\x0b \x01(\x0b\x32-.google.cloud.kms.v1.CryptoKeyVersionTemplate\x12:\n\x06labels\x18\n \x03(\x0b\x32*.google.cloud.kms.v1.CryptoKey.LabelsEntry\x12\x18\n\x0bimport_only\x18\r \x01(\x08\x42\x03\xe0\x41\x05\x12\x42\n\x1a\x64\x65stroy_scheduled_duration\x18\x0e \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x05\x12%\n\x12\x63rypto_key_backend\x18\x0f \x01(\tB\t\xe0\x41\x05\xfa\x41\x03\n\x01*\x12\x61\n key_access_justifications_policy\x18\x11 \x01(\x0b\x32\x32.google.cloud.kms.v1.KeyAccessJustificationsPolicyB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xb1\x01\n\x10\x43ryptoKeyPurpose\x12\"\n\x1e\x43RYPTO_KEY_PURPOSE_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x45NCRYPT_DECRYPT\x10\x01\x12\x13\n\x0f\x41SYMMETRIC_SIGN\x10\x05\x12\x16\n\x12\x41SYMMETRIC_DECRYPT\x10\x06\x12\x17\n\x13RAW_ENCRYPT_DECRYPT\x10\x07\x12\x07\n\x03MAC\x10\t\x12\x15\n\x11KEY_ENCAPSULATION\x10\n:{\xea\x41x\n!cloudkms.googleapis.com/CryptoKey\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}B\x13\n\x11rotation_schedule\"\xb3\x01\n\x18\x43ryptoKeyVersionTemplate\x12>\n\x10protection_level\x18\x01 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\x12W\n\talgorithm\x18\x03 \x01(\x0e\x32?.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithmB\x03\xe0\x41\x02\"\xb1\x03\n\x17KeyOperationAttestation\x12S\n\x06\x66ormat\x18\x04 \x01(\x0e\x32>.google.cloud.kms.v1.KeyOperationAttestation.AttestationFormatB\x03\xe0\x41\x03\x12\x14\n\x07\x63ontent\x18\x05 \x01(\x0c\x42\x03\xe0\x41\x03\x12X\n\x0b\x63\x65rt_chains\x18\x06 \x01(\x0b\x32>.google.cloud.kms.v1.KeyOperationAttestation.CertificateChainsB\x03\xe0\x41\x03\x1a\x64\n\x11\x43\x65rtificateChains\x12\x14\n\x0c\x63\x61vium_certs\x18\x01 \x03(\t\x12\x19\n\x11google_card_certs\x18\x02 \x03(\t\x12\x1e\n\x16google_partition_certs\x18\x03 \x03(\t\"k\n\x11\x41ttestationFormat\x12\"\n\x1e\x41TTESTATION_FORMAT_UNSPECIFIED\x10\x00\x12\x18\n\x14\x43\x41VIUM_V1_COMPRESSED\x10\x03\x12\x18\n\x14\x43\x41VIUM_V2_COMPRESSED\x10\x04\"\xe7\x13\n\x10\x43ryptoKeyVersion\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12J\n\x05state\x18\x03 \x01(\x0e\x32;.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState\x12\x43\n\x10protection_level\x18\x07 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevelB\x03\xe0\x41\x03\x12W\n\talgorithm\x18\n \x01(\x0e\x32?.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithmB\x03\xe0\x41\x03\x12\x46\n\x0b\x61ttestation\x18\x08 \x01(\x0b\x32,.google.cloud.kms.v1.KeyOperationAttestationB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x36\n\rgenerate_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x35\n\x0c\x64\x65stroy_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12;\n\x12\x64\x65stroy_event_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x17\n\nimport_job\x18\x0e \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0bimport_time\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\"\n\x15import_failure_reason\x18\x10 \x01(\tB\x03\xe0\x41\x03\x12&\n\x19generation_failure_reason\x18\x13 \x01(\tB\x03\xe0\x41\x03\x12\x30\n#external_destruction_failure_reason\x18\x14 \x01(\tB\x03\xe0\x41\x03\x12^\n!external_protection_level_options\x18\x11 \x01(\x0b\x32\x33.google.cloud.kms.v1.ExternalProtectionLevelOptions\x12\x1e\n\x11reimport_eligible\x18\x12 \x01(\x08\x42\x03\xe0\x41\x03\"\xc8\x08\n\x19\x43ryptoKeyVersionAlgorithm\x12,\n(CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED\x10\x00\x12\x1f\n\x1bGOOGLE_SYMMETRIC_ENCRYPTION\x10\x01\x12\x0f\n\x0b\x41\x45S_128_GCM\x10)\x12\x0f\n\x0b\x41\x45S_256_GCM\x10\x13\x12\x0f\n\x0b\x41\x45S_128_CBC\x10*\x12\x0f\n\x0b\x41\x45S_256_CBC\x10+\x12\x0f\n\x0b\x41\x45S_128_CTR\x10,\x12\x0f\n\x0b\x41\x45S_256_CTR\x10-\x12\x1c\n\x18RSA_SIGN_PSS_2048_SHA256\x10\x02\x12\x1c\n\x18RSA_SIGN_PSS_3072_SHA256\x10\x03\x12\x1c\n\x18RSA_SIGN_PSS_4096_SHA256\x10\x04\x12\x1c\n\x18RSA_SIGN_PSS_4096_SHA512\x10\x0f\x12\x1e\n\x1aRSA_SIGN_PKCS1_2048_SHA256\x10\x05\x12\x1e\n\x1aRSA_SIGN_PKCS1_3072_SHA256\x10\x06\x12\x1e\n\x1aRSA_SIGN_PKCS1_4096_SHA256\x10\x07\x12\x1e\n\x1aRSA_SIGN_PKCS1_4096_SHA512\x10\x10\x12\x1b\n\x17RSA_SIGN_RAW_PKCS1_2048\x10\x1c\x12\x1b\n\x17RSA_SIGN_RAW_PKCS1_3072\x10\x1d\x12\x1b\n\x17RSA_SIGN_RAW_PKCS1_4096\x10\x1e\x12 \n\x1cRSA_DECRYPT_OAEP_2048_SHA256\x10\x08\x12 \n\x1cRSA_DECRYPT_OAEP_3072_SHA256\x10\t\x12 \n\x1cRSA_DECRYPT_OAEP_4096_SHA256\x10\n\x12 \n\x1cRSA_DECRYPT_OAEP_4096_SHA512\x10\x11\x12\x1e\n\x1aRSA_DECRYPT_OAEP_2048_SHA1\x10%\x12\x1e\n\x1aRSA_DECRYPT_OAEP_3072_SHA1\x10&\x12\x1e\n\x1aRSA_DECRYPT_OAEP_4096_SHA1\x10\'\x12\x17\n\x13\x45\x43_SIGN_P256_SHA256\x10\x0c\x12\x17\n\x13\x45\x43_SIGN_P384_SHA384\x10\r\x12\x1c\n\x18\x45\x43_SIGN_SECP256K1_SHA256\x10\x1f\x12\x13\n\x0f\x45\x43_SIGN_ED25519\x10(\x12\x0f\n\x0bHMAC_SHA256\x10 \x12\r\n\tHMAC_SHA1\x10!\x12\x0f\n\x0bHMAC_SHA384\x10\"\x12\x0f\n\x0bHMAC_SHA512\x10#\x12\x0f\n\x0bHMAC_SHA224\x10$\x12!\n\x1d\x45XTERNAL_SYMMETRIC_ENCRYPTION\x10\x12\x12\x0e\n\nML_KEM_768\x10/\x12\x0f\n\x0bML_KEM_1024\x10\x30\x12\r\n\tKEM_XWING\x10?\x12\x15\n\x11PQ_SIGN_ML_DSA_65\x10\x38\x12\x1d\n\x19PQ_SIGN_SLH_DSA_SHA2_128S\x10\x39\"\x9b\x02\n\x15\x43ryptoKeyVersionState\x12(\n$CRYPTO_KEY_VERSION_STATE_UNSPECIFIED\x10\x00\x12\x16\n\x12PENDING_GENERATION\x10\x05\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x12\r\n\tDESTROYED\x10\x03\x12\x15\n\x11\x44\x45STROY_SCHEDULED\x10\x04\x12\x12\n\x0ePENDING_IMPORT\x10\x06\x12\x11\n\rIMPORT_FAILED\x10\x07\x12\x15\n\x11GENERATION_FAILED\x10\x08\x12 \n\x1cPENDING_EXTERNAL_DESTRUCTION\x10\t\x12\x1f\n\x1b\x45XTERNAL_DESTRUCTION_FAILED\x10\n\"I\n\x14\x43ryptoKeyVersionView\x12\'\n#CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED\x10\x00\x12\x08\n\x04\x46ULL\x10\x01:\xaa\x01\xea\x41\xa6\x01\n(cloudkms.googleapis.com/CryptoKeyVersion\x12zprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}\"U\n\x0f\x43hecksummedData\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x34\n\x0f\x63rc32c_checksum\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\"\x8c\x05\n\tPublicKey\x12\x0b\n\x03pem\x18\x01 \x01(\t\x12R\n\talgorithm\x18\x02 \x01(\x0e\x32?.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm\x12/\n\npem_crc32c\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x0c\n\x04name\x18\x04 \x01(\t\x12>\n\x10protection_level\x18\x05 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\x12I\n\x11public_key_format\x18\x07 \x01(\x0e\x32..google.cloud.kms.v1.PublicKey.PublicKeyFormat\x12\x38\n\npublic_key\x18\x08 \x01(\x0b\x32$.google.cloud.kms.v1.ChecksummedData\"i\n\x0fPublicKeyFormat\x12!\n\x1dPUBLIC_KEY_FORMAT_UNSPECIFIED\x10\x00\x12\x07\n\x03PEM\x10\x01\x12\x07\n\x03\x44\x45R\x10\x02\x12\x0c\n\x08NIST_PQC\x10\x03\x12\x13\n\x0fXWING_RAW_BYTES\x10\x04:\xae\x01\xea\x41\xaa\x01\n!cloudkms.googleapis.com/PublicKey\x12\x84\x01projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}/publicKey\"\xd4\x08\n\tImportJob\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12J\n\rimport_method\x18\x02 \x01(\x0e\x32+.google.cloud.kms.v1.ImportJob.ImportMethodB\x06\xe0\x41\x02\xe0\x41\x05\x12\x46\n\x10protection_level\x18\t \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevelB\x06\xe0\x41\x02\xe0\x41\x05\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x36\n\rgenerate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x65xpire_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12:\n\x11\x65xpire_event_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x41\n\x05state\x18\x06 \x01(\x0e\x32-.google.cloud.kms.v1.ImportJob.ImportJobStateB\x03\xe0\x41\x03\x12I\n\npublic_key\x18\x07 \x01(\x0b\x32\x30.google.cloud.kms.v1.ImportJob.WrappingPublicKeyB\x03\xe0\x41\x03\x12\x46\n\x0b\x61ttestation\x18\x08 \x01(\x0b\x32,.google.cloud.kms.v1.KeyOperationAttestationB\x03\xe0\x41\x03\x1a \n\x11WrappingPublicKey\x12\x0b\n\x03pem\x18\x01 \x01(\t\"\xe5\x01\n\x0cImportMethod\x12\x1d\n\x19IMPORT_METHOD_UNSPECIFIED\x10\x00\x12\x1e\n\x1aRSA_OAEP_3072_SHA1_AES_256\x10\x01\x12\x1e\n\x1aRSA_OAEP_4096_SHA1_AES_256\x10\x02\x12 \n\x1cRSA_OAEP_3072_SHA256_AES_256\x10\x03\x12 \n\x1cRSA_OAEP_4096_SHA256_AES_256\x10\x04\x12\x18\n\x14RSA_OAEP_3072_SHA256\x10\x05\x12\x18\n\x14RSA_OAEP_4096_SHA256\x10\x06\"c\n\x0eImportJobState\x12 \n\x1cIMPORT_JOB_STATE_UNSPECIFIED\x10\x00\x12\x16\n\x12PENDING_GENERATION\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0b\n\x07\x45XPIRED\x10\x03:{\xea\x41x\n!cloudkms.googleapis.com/ImportJob\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/importJobs/{import_job}\"[\n\x1e\x45xternalProtectionLevelOptions\x12\x18\n\x10\x65xternal_key_uri\x18\x01 \x01(\t\x12\x1f\n\x17\x65km_connection_key_path\x18\x02 \x01(\t\"b\n\x1dKeyAccessJustificationsPolicy\x12\x41\n\x16\x61llowed_access_reasons\x18\x01 \x03(\x0e\x32!.google.cloud.kms.v1.AccessReason*j\n\x0fProtectionLevel\x12 \n\x1cPROTECTION_LEVEL_UNSPECIFIED\x10\x00\x12\x0c\n\x08SOFTWARE\x10\x01\x12\x07\n\x03HSM\x10\x02\x12\x0c\n\x08\x45XTERNAL\x10\x03\x12\x10\n\x0c\x45XTERNAL_VPC\x10\x04*\xab\x03\n\x0c\x41\x63\x63\x65ssReason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1e\n\x1a\x43USTOMER_INITIATED_SUPPORT\x10\x01\x12\x1c\n\x18GOOGLE_INITIATED_SERVICE\x10\x02\x12\x1c\n\x18THIRD_PARTY_DATA_REQUEST\x10\x03\x12\x1b\n\x17GOOGLE_INITIATED_REVIEW\x10\x04\x12\x1d\n\x19\x43USTOMER_INITIATED_ACCESS\x10\x05\x12%\n!GOOGLE_INITIATED_SYSTEM_OPERATION\x10\x06\x12\x17\n\x13REASON_NOT_EXPECTED\x10\x07\x12&\n\"MODIFIED_CUSTOMER_INITIATED_ACCESS\x10\x08\x12.\n*MODIFIED_GOOGLE_INITIATED_SYSTEM_OPERATION\x10\t\x12\'\n#GOOGLE_RESPONSE_TO_PRODUCTION_ALERT\x10\n\x12*\n&CUSTOMER_AUTHORIZED_WORKFLOW_SERVICING\x10\x0b\x42\x85\x01\n\x17\x63om.google.cloud.kms.v1B\x11KmsResourcesProtoP\x01Z)cloud.google.com/go/kms/apiv1/kmspb;kmspb\xaa\x02\x13Google.Cloud.Kms.V1\xca\x02\x13Google\\Cloud\\Kms\\V1b\x06proto3"
15
15
 
16
16
  pool = Google::Protobuf::DescriptorPool.generated_pool
17
17
 
@@ -13,7 +13,7 @@ require 'google/protobuf/field_mask_pb'
13
13
  require 'google/protobuf/wrappers_pb'
14
14
 
15
15
 
16
- descriptor_data = "\n!google/cloud/kms/v1/service.proto\x12\x13google.cloud.kms.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a#google/cloud/kms/v1/resources.proto\x1a google/protobuf/field_mask.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xad\x01\n\x13ListKeyRingsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\xff\x01\n\x15ListCryptoKeysRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1f\x63loudkms.googleapis.com/KeyRing\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12P\n\x0cversion_view\x18\x04 \x01(\x0e\x32:.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView\x12\x13\n\x06\x66ilter\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x06 \x01(\tB\x03\xe0\x41\x01\"\x80\x02\n\x1cListCryptoKeyVersionsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12H\n\x04view\x18\x04 \x01(\x0e\x32:.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView\x12\x13\n\x06\x66ilter\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x06 \x01(\tB\x03\xe0\x41\x01\"\xad\x01\n\x15ListImportJobsRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1f\x63loudkms.googleapis.com/KeyRing\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"t\n\x14ListKeyRingsResponse\x12/\n\tkey_rings\x18\x01 \x03(\x0b\x32\x1c.google.cloud.kms.v1.KeyRing\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05\"z\n\x16ListCryptoKeysResponse\x12\x33\n\x0b\x63rypto_keys\x18\x01 \x03(\x0b\x32\x1e.google.cloud.kms.v1.CryptoKey\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05\"\x90\x01\n\x1dListCryptoKeyVersionsResponse\x12\x42\n\x13\x63rypto_key_versions\x18\x01 \x03(\x0b\x32%.google.cloud.kms.v1.CryptoKeyVersion\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05\"z\n\x16ListImportJobsResponse\x12\x33\n\x0bimport_jobs\x18\x01 \x03(\x0b\x32\x1e.google.cloud.kms.v1.ImportJob\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05\"J\n\x11GetKeyRingRequest\x12\x35\n\x04name\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1f\x63loudkms.googleapis.com/KeyRing\"N\n\x13GetCryptoKeyRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\"\\\n\x1aGetCryptoKeyVersionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\"\xa5\x01\n\x13GetPublicKeyRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12N\n\x11public_key_format\x18\x02 \x01(\x0e\x32..google.cloud.kms.v1.PublicKey.PublicKeyFormatB\x03\xe0\x41\x01\"N\n\x13GetImportJobRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/ImportJob\"\xa0\x01\n\x14\x43reateKeyRingRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x18\n\x0bkey_ring_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x33\n\x08key_ring\x18\x03 \x01(\x0b\x32\x1c.google.cloud.kms.v1.KeyRingB\x03\xe0\x41\x02\"\xcd\x01\n\x16\x43reateCryptoKeyRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1f\x63loudkms.googleapis.com/KeyRing\x12\x1a\n\rcrypto_key_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x37\n\ncrypto_key\x18\x03 \x01(\x0b\x32\x1e.google.cloud.kms.v1.CryptoKeyB\x03\xe0\x41\x02\x12%\n\x1dskip_initial_version_creation\x18\x05 \x01(\x08\"\xa2\x01\n\x1d\x43reateCryptoKeyVersionRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12\x46\n\x12\x63rypto_key_version\x18\x02 \x01(\x0b\x32%.google.cloud.kms.v1.CryptoKeyVersionB\x03\xe0\x41\x02\"\xf0\x02\n\x1dImportCryptoKeyVersionRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12L\n\x12\x63rypto_key_version\x18\x06 \x01(\tB0\xe0\x41\x01\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12W\n\talgorithm\x18\x02 \x01(\x0e\x32?.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithmB\x03\xe0\x41\x02\x12\x17\n\nimport_job\x18\x04 \x01(\tB\x03\xe0\x41\x02\x12\x18\n\x0bwrapped_key\x18\x08 \x01(\x0c\x42\x03\xe0\x41\x01\x12\"\n\x13rsa_aes_wrapped_key\x18\x05 \x01(\x0c\x42\x03\xe0\x41\x01H\x00\x42\x16\n\x14wrapped_key_material\"\xa6\x01\n\x16\x43reateImportJobRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1f\x63loudkms.googleapis.com/KeyRing\x12\x1a\n\rimport_job_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x37\n\nimport_job\x18\x03 \x01(\x0b\x32\x1e.google.cloud.kms.v1.ImportJobB\x03\xe0\x41\x02\"\x87\x01\n\x16UpdateCryptoKeyRequest\x12\x37\n\ncrypto_key\x18\x01 \x01(\x0b\x32\x1e.google.cloud.kms.v1.CryptoKeyB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\"\x9d\x01\n\x1dUpdateCryptoKeyVersionRequest\x12\x46\n\x12\x63rypto_key_version\x18\x01 \x01(\x0b\x32%.google.cloud.kms.v1.CryptoKeyVersionB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\"\x83\x01\n$UpdateCryptoKeyPrimaryVersionRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12\"\n\x15\x63rypto_key_version_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\"`\n\x1e\x44\x65stroyCryptoKeyVersionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\"`\n\x1eRestoreCryptoKeyVersionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\"\xf9\x01\n\x0e\x45ncryptRequest\x12\x17\n\x04name\x18\x01 \x01(\tB\t\xe0\x41\x02\xfa\x41\x03\n\x01*\x12\x16\n\tplaintext\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12*\n\x1d\x61\x64\x64itional_authenticated_data\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01\x12:\n\x10plaintext_crc32c\x18\x07 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12N\n$additional_authenticated_data_crc32c\x18\x08 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\x9b\x02\n\x0e\x44\x65\x63ryptRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12\x17\n\nciphertext\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12*\n\x1d\x61\x64\x64itional_authenticated_data\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01\x12;\n\x11\x63iphertext_crc32c\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12N\n$additional_authenticated_data_crc32c\x18\x06 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\xe2\x02\n\x11RawEncryptRequest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x16\n\tplaintext\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12*\n\x1d\x61\x64\x64itional_authenticated_data\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01\x12:\n\x10plaintext_crc32c\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12N\n$additional_authenticated_data_crc32c\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12\"\n\x15initialization_vector\x18\x06 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x46\n\x1cinitialization_vector_crc32c\x18\x07 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\xf8\x02\n\x11RawDecryptRequest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x17\n\nciphertext\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12*\n\x1d\x61\x64\x64itional_authenticated_data\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01\x12\"\n\x15initialization_vector\x18\x04 \x01(\x0c\x42\x03\xe0\x41\x02\x12\x12\n\ntag_length\x18\x05 \x01(\x05\x12;\n\x11\x63iphertext_crc32c\x18\x06 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12N\n$additional_authenticated_data_crc32c\x18\x07 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12\x46\n\x1cinitialization_vector_crc32c\x18\x08 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\x8c\x02\n\x15\x41symmetricSignRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12\x30\n\x06\x64igest\x18\x03 \x01(\x0b\x32\x1b.google.cloud.kms.v1.DigestB\x03\xe0\x41\x01\x12\x37\n\rdigest_crc32c\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12\x11\n\x04\x64\x61ta\x18\x06 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x35\n\x0b\x64\x61ta_crc32c\x18\x07 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\xb0\x01\n\x18\x41symmetricDecryptRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12\x17\n\nciphertext\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x02\x12;\n\x11\x63iphertext_crc32c\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\x9a\x01\n\x0eMacSignRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12\x11\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12\x35\n\x0b\x64\x61ta_crc32c\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\xe4\x01\n\x10MacVerifyRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12\x11\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12\x35\n\x0b\x64\x61ta_crc32c\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12\x10\n\x03mac\x18\x04 \x01(\x0c\x42\x03\xe0\x41\x02\x12\x34\n\nmac_crc32c\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\x84\x01\n\x1aGenerateRandomBytesRequest\x12\x10\n\x08location\x18\x01 \x01(\t\x12\x14\n\x0clength_bytes\x18\x02 \x01(\x05\x12>\n\x10protection_level\x18\x03 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\x85\x02\n\x0f\x45ncryptResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nciphertext\x18\x02 \x01(\x0c\x12\x36\n\x11\x63iphertext_crc32c\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12!\n\x19verified_plaintext_crc32c\x18\x05 \x01(\x08\x12\x35\n-verified_additional_authenticated_data_crc32c\x18\x06 \x01(\x08\x12>\n\x10protection_level\x18\x07 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xb1\x01\n\x0f\x44\x65\x63ryptResponse\x12\x11\n\tplaintext\x18\x01 \x01(\x0c\x12\x35\n\x10plaintext_crc32c\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x14\n\x0cused_primary\x18\x03 \x01(\x08\x12>\n\x10protection_level\x18\x04 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xad\x03\n\x12RawEncryptResponse\x12\x12\n\nciphertext\x18\x01 \x01(\x0c\x12\x1d\n\x15initialization_vector\x18\x02 \x01(\x0c\x12\x12\n\ntag_length\x18\x03 \x01(\x05\x12\x36\n\x11\x63iphertext_crc32c\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x41\n\x1cinitialization_vector_crc32c\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12!\n\x19verified_plaintext_crc32c\x18\x06 \x01(\x08\x12\x35\n-verified_additional_authenticated_data_crc32c\x18\x07 \x01(\x08\x12-\n%verified_initialization_vector_crc32c\x18\n \x01(\x08\x12\x0c\n\x04name\x18\x08 \x01(\t\x12>\n\x10protection_level\x18\t \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xa8\x02\n\x12RawDecryptResponse\x12\x11\n\tplaintext\x18\x01 \x01(\x0c\x12\x35\n\x10plaintext_crc32c\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12>\n\x10protection_level\x18\x03 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\x12\"\n\x1averified_ciphertext_crc32c\x18\x04 \x01(\x08\x12\x35\n-verified_additional_authenticated_data_crc32c\x18\x05 \x01(\x08\x12-\n%verified_initialization_vector_crc32c\x18\x06 \x01(\x08\"\xee\x01\n\x16\x41symmetricSignResponse\x12\x11\n\tsignature\x18\x01 \x01(\x0c\x12\x35\n\x10signature_crc32c\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x1e\n\x16verified_digest_crc32c\x18\x03 \x01(\x08\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x1c\n\x14verified_data_crc32c\x18\x05 \x01(\x08\x12>\n\x10protection_level\x18\x06 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xc9\x01\n\x19\x41symmetricDecryptResponse\x12\x11\n\tplaintext\x18\x01 \x01(\x0c\x12\x35\n\x10plaintext_crc32c\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\"\n\x1averified_ciphertext_crc32c\x18\x03 \x01(\x08\x12>\n\x10protection_level\x18\x04 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xbb\x01\n\x0fMacSignResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03mac\x18\x02 \x01(\x0c\x12/\n\nmac_crc32c\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x1c\n\x14verified_data_crc32c\x18\x04 \x01(\x08\x12>\n\x10protection_level\x18\x05 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xd1\x01\n\x11MacVerifyResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x1c\n\x14verified_data_crc32c\x18\x03 \x01(\x08\x12\x1b\n\x13verified_mac_crc32c\x18\x04 \x01(\x08\x12\"\n\x1averified_success_integrity\x18\x05 \x01(\x08\x12>\n\x10protection_level\x18\x06 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"]\n\x1bGenerateRandomBytesResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x30\n\x0b\x64\x61ta_crc32c\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\"H\n\x06\x44igest\x12\x10\n\x06sha256\x18\x01 \x01(\x0cH\x00\x12\x10\n\x06sha384\x18\x02 \x01(\x0cH\x00\x12\x10\n\x06sha512\x18\x03 \x01(\x0cH\x00\x42\x08\n\x06\x64igest\"@\n\x10LocationMetadata\x12\x15\n\rhsm_available\x18\x01 \x01(\x08\x12\x15\n\rekm_available\x18\x02 \x01(\x08\x32\x90.\n\x14KeyManagementService\x12\xa2\x01\n\x0cListKeyRings\x12(.google.cloud.kms.v1.ListKeyRingsRequest\x1a).google.cloud.kms.v1.ListKeyRingsResponse\"=\xda\x41\x06parent\x82\xd3\xe4\x93\x02.\x12,/v1/{parent=projects/*/locations/*}/keyRings\x12\xb5\x01\n\x0eListCryptoKeys\x12*.google.cloud.kms.v1.ListCryptoKeysRequest\x1a+.google.cloud.kms.v1.ListCryptoKeysResponse\"J\xda\x41\x06parent\x82\xd3\xe4\x93\x02;\x12\x39/v1/{parent=projects/*/locations/*/keyRings/*}/cryptoKeys\x12\xde\x01\n\x15ListCryptoKeyVersions\x12\x31.google.cloud.kms.v1.ListCryptoKeyVersionsRequest\x1a\x32.google.cloud.kms.v1.ListCryptoKeyVersionsResponse\"^\xda\x41\x06parent\x82\xd3\xe4\x93\x02O\x12M/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions\x12\xb5\x01\n\x0eListImportJobs\x12*.google.cloud.kms.v1.ListImportJobsRequest\x1a+.google.cloud.kms.v1.ListImportJobsResponse\"J\xda\x41\x06parent\x82\xd3\xe4\x93\x02;\x12\x39/v1/{parent=projects/*/locations/*/keyRings/*}/importJobs\x12\x8f\x01\n\nGetKeyRing\x12&.google.cloud.kms.v1.GetKeyRingRequest\x1a\x1c.google.cloud.kms.v1.KeyRing\";\xda\x41\x04name\x82\xd3\xe4\x93\x02.\x12,/v1/{name=projects/*/locations/*/keyRings/*}\x12\xa2\x01\n\x0cGetCryptoKey\x12(.google.cloud.kms.v1.GetCryptoKeyRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey\"H\xda\x41\x04name\x82\xd3\xe4\x93\x02;\x12\x39/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}\x12\xcb\x01\n\x13GetCryptoKeyVersion\x12/.google.cloud.kms.v1.GetCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"\\\xda\x41\x04name\x82\xd3\xe4\x93\x02O\x12M/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}\x12\xc0\x01\n\x0cGetPublicKey\x12(.google.cloud.kms.v1.GetPublicKeyRequest\x1a\x1e.google.cloud.kms.v1.PublicKey\"f\xda\x41\x04name\x82\xd3\xe4\x93\x02Y\x12W/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}/publicKey\x12\xa2\x01\n\x0cGetImportJob\x12(.google.cloud.kms.v1.GetImportJobRequest\x1a\x1e.google.cloud.kms.v1.ImportJob\"H\xda\x41\x04name\x82\xd3\xe4\x93\x02;\x12\x39/v1/{name=projects/*/locations/*/keyRings/*/importJobs/*}\x12\xb6\x01\n\rCreateKeyRing\x12).google.cloud.kms.v1.CreateKeyRingRequest\x1a\x1c.google.cloud.kms.v1.KeyRing\"\\\xda\x41\x1bparent,key_ring_id,key_ring\x82\xd3\xe4\x93\x02\x38\",/v1/{parent=projects/*/locations/*}/keyRings:\x08key_ring\x12\xcf\x01\n\x0f\x43reateCryptoKey\x12+.google.cloud.kms.v1.CreateCryptoKeyRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey\"o\xda\x41\x1fparent,crypto_key_id,crypto_key\x82\xd3\xe4\x93\x02G\"9/v1/{parent=projects/*/locations/*/keyRings/*}/cryptoKeys:\ncrypto_key\x12\xfb\x01\n\x16\x43reateCryptoKeyVersion\x12\x32.google.cloud.kms.v1.CreateCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"\x85\x01\xda\x41\x19parent,crypto_key_version\x82\xd3\xe4\x93\x02\x63\"M/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions:\x12\x63rypto_key_version\x12\xd4\x01\n\x16ImportCryptoKeyVersion\x12\x32.google.cloud.kms.v1.ImportCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"_\x82\xd3\xe4\x93\x02Y\"T/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions:import:\x01*\x12\xcf\x01\n\x0f\x43reateImportJob\x12+.google.cloud.kms.v1.CreateImportJobRequest\x1a\x1e.google.cloud.kms.v1.ImportJob\"o\xda\x41\x1fparent,import_job_id,import_job\x82\xd3\xe4\x93\x02G\"9/v1/{parent=projects/*/locations/*/keyRings/*}/importJobs:\nimport_job\x12\xd1\x01\n\x0fUpdateCryptoKey\x12+.google.cloud.kms.v1.UpdateCryptoKeyRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey\"q\xda\x41\x16\x63rypto_key,update_mask\x82\xd3\xe4\x93\x02R2D/v1/{crypto_key.name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:\ncrypto_key\x12\x93\x02\n\x16UpdateCryptoKeyVersion\x12\x32.google.cloud.kms.v1.UpdateCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"\x9d\x01\xda\x41\x1e\x63rypto_key_version,update_mask\x82\xd3\xe4\x93\x02v2`/v1/{crypto_key_version.name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:\x12\x63rypto_key_version\x12\xf2\x01\n\x1dUpdateCryptoKeyPrimaryVersion\x12\x39.google.cloud.kms.v1.UpdateCryptoKeyPrimaryVersionRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey\"v\xda\x41\x1aname,crypto_key_version_id\x82\xd3\xe4\x93\x02S\"N/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:updatePrimaryVersion:\x01*\x12\xde\x01\n\x17\x44\x65stroyCryptoKeyVersion\x12\x33.google.cloud.kms.v1.DestroyCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"g\xda\x41\x04name\x82\xd3\xe4\x93\x02Z\"U/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:destroy:\x01*\x12\xde\x01\n\x17RestoreCryptoKeyVersion\x12\x33.google.cloud.kms.v1.RestoreCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"g\xda\x41\x04name\x82\xd3\xe4\x93\x02Z\"U/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:restore:\x01*\x12\xb4\x01\n\x07\x45ncrypt\x12#.google.cloud.kms.v1.EncryptRequest\x1a$.google.cloud.kms.v1.EncryptResponse\"^\xda\x41\x0ename,plaintext\x82\xd3\xe4\x93\x02G\"B/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/**}:encrypt:\x01*\x12\xb4\x01\n\x07\x44\x65\x63rypt\x12#.google.cloud.kms.v1.DecryptRequest\x1a$.google.cloud.kms.v1.DecryptResponse\"^\xda\x41\x0fname,ciphertext\x82\xd3\xe4\x93\x02\x46\"A/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:decrypt:\x01*\x12\xc2\x01\n\nRawEncrypt\x12&.google.cloud.kms.v1.RawEncryptRequest\x1a\'.google.cloud.kms.v1.RawEncryptResponse\"c\x82\xd3\xe4\x93\x02]\"X/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:rawEncrypt:\x01*\x12\xc2\x01\n\nRawDecrypt\x12&.google.cloud.kms.v1.RawDecryptRequest\x1a\'.google.cloud.kms.v1.RawDecryptResponse\"c\x82\xd3\xe4\x93\x02]\"X/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:rawDecrypt:\x01*\x12\xe0\x01\n\x0e\x41symmetricSign\x12*.google.cloud.kms.v1.AsymmetricSignRequest\x1a+.google.cloud.kms.v1.AsymmetricSignResponse\"u\xda\x41\x0bname,digest\x82\xd3\xe4\x93\x02\x61\"\\/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:asymmetricSign:\x01*\x12\xf0\x01\n\x11\x41symmetricDecrypt\x12-.google.cloud.kms.v1.AsymmetricDecryptRequest\x1a..google.cloud.kms.v1.AsymmetricDecryptResponse\"|\xda\x41\x0fname,ciphertext\x82\xd3\xe4\x93\x02\x64\"_/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:asymmetricDecrypt:\x01*\x12\xc2\x01\n\x07MacSign\x12#.google.cloud.kms.v1.MacSignRequest\x1a$.google.cloud.kms.v1.MacSignResponse\"l\xda\x41\tname,data\x82\xd3\xe4\x93\x02Z\"U/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:macSign:\x01*\x12\xce\x01\n\tMacVerify\x12%.google.cloud.kms.v1.MacVerifyRequest\x1a&.google.cloud.kms.v1.MacVerifyResponse\"r\xda\x41\rname,data,mac\x82\xd3\xe4\x93\x02\\\"W/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:macVerify:\x01*\x12\xe7\x01\n\x13GenerateRandomBytes\x12/.google.cloud.kms.v1.GenerateRandomBytesRequest\x1a\x30.google.cloud.kms.v1.GenerateRandomBytesResponse\"m\xda\x41&location,length_bytes,protection_level\x82\xd3\xe4\x93\x02>\"9/v1/{location=projects/*/locations/*}:generateRandomBytes:\x01*\x1at\xca\x41\x17\x63loudkms.googleapis.com\xd2\x41Whttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloudkmsB|\n\x17\x63om.google.cloud.kms.v1B\x08KmsProtoP\x01Z)cloud.google.com/go/kms/apiv1/kmspb;kmspb\xaa\x02\x13Google.Cloud.Kms.V1\xca\x02\x13Google\\Cloud\\Kms\\V1b\x06proto3"
16
+ descriptor_data = "\n!google/cloud/kms/v1/service.proto\x12\x13google.cloud.kms.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a#google/cloud/kms/v1/resources.proto\x1a google/protobuf/field_mask.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xad\x01\n\x13ListKeyRingsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\xff\x01\n\x15ListCryptoKeysRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1f\x63loudkms.googleapis.com/KeyRing\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12P\n\x0cversion_view\x18\x04 \x01(\x0e\x32:.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView\x12\x13\n\x06\x66ilter\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x06 \x01(\tB\x03\xe0\x41\x01\"\x80\x02\n\x1cListCryptoKeyVersionsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12H\n\x04view\x18\x04 \x01(\x0e\x32:.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView\x12\x13\n\x06\x66ilter\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x06 \x01(\tB\x03\xe0\x41\x01\"\xad\x01\n\x15ListImportJobsRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1f\x63loudkms.googleapis.com/KeyRing\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"t\n\x14ListKeyRingsResponse\x12/\n\tkey_rings\x18\x01 \x03(\x0b\x32\x1c.google.cloud.kms.v1.KeyRing\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05\"z\n\x16ListCryptoKeysResponse\x12\x33\n\x0b\x63rypto_keys\x18\x01 \x03(\x0b\x32\x1e.google.cloud.kms.v1.CryptoKey\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05\"\x90\x01\n\x1dListCryptoKeyVersionsResponse\x12\x42\n\x13\x63rypto_key_versions\x18\x01 \x03(\x0b\x32%.google.cloud.kms.v1.CryptoKeyVersion\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05\"z\n\x16ListImportJobsResponse\x12\x33\n\x0bimport_jobs\x18\x01 \x03(\x0b\x32\x1e.google.cloud.kms.v1.ImportJob\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05\"J\n\x11GetKeyRingRequest\x12\x35\n\x04name\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1f\x63loudkms.googleapis.com/KeyRing\"N\n\x13GetCryptoKeyRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\"\\\n\x1aGetCryptoKeyVersionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\"\xa5\x01\n\x13GetPublicKeyRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12N\n\x11public_key_format\x18\x02 \x01(\x0e\x32..google.cloud.kms.v1.PublicKey.PublicKeyFormatB\x03\xe0\x41\x01\"N\n\x13GetImportJobRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/ImportJob\"\xa0\x01\n\x14\x43reateKeyRingRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x18\n\x0bkey_ring_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x33\n\x08key_ring\x18\x03 \x01(\x0b\x32\x1c.google.cloud.kms.v1.KeyRingB\x03\xe0\x41\x02\"\xcd\x01\n\x16\x43reateCryptoKeyRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1f\x63loudkms.googleapis.com/KeyRing\x12\x1a\n\rcrypto_key_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x37\n\ncrypto_key\x18\x03 \x01(\x0b\x32\x1e.google.cloud.kms.v1.CryptoKeyB\x03\xe0\x41\x02\x12%\n\x1dskip_initial_version_creation\x18\x05 \x01(\x08\"\xa2\x01\n\x1d\x43reateCryptoKeyVersionRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12\x46\n\x12\x63rypto_key_version\x18\x02 \x01(\x0b\x32%.google.cloud.kms.v1.CryptoKeyVersionB\x03\xe0\x41\x02\"\xf0\x02\n\x1dImportCryptoKeyVersionRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12L\n\x12\x63rypto_key_version\x18\x06 \x01(\tB0\xe0\x41\x01\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12W\n\talgorithm\x18\x02 \x01(\x0e\x32?.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithmB\x03\xe0\x41\x02\x12\x17\n\nimport_job\x18\x04 \x01(\tB\x03\xe0\x41\x02\x12\x18\n\x0bwrapped_key\x18\x08 \x01(\x0c\x42\x03\xe0\x41\x01\x12\"\n\x13rsa_aes_wrapped_key\x18\x05 \x01(\x0c\x42\x03\xe0\x41\x01H\x00\x42\x16\n\x14wrapped_key_material\"\xa6\x01\n\x16\x43reateImportJobRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1f\x63loudkms.googleapis.com/KeyRing\x12\x1a\n\rimport_job_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x37\n\nimport_job\x18\x03 \x01(\x0b\x32\x1e.google.cloud.kms.v1.ImportJobB\x03\xe0\x41\x02\"\x87\x01\n\x16UpdateCryptoKeyRequest\x12\x37\n\ncrypto_key\x18\x01 \x01(\x0b\x32\x1e.google.cloud.kms.v1.CryptoKeyB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\"\x9d\x01\n\x1dUpdateCryptoKeyVersionRequest\x12\x46\n\x12\x63rypto_key_version\x18\x01 \x01(\x0b\x32%.google.cloud.kms.v1.CryptoKeyVersionB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\"\x83\x01\n$UpdateCryptoKeyPrimaryVersionRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12\"\n\x15\x63rypto_key_version_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\"`\n\x1e\x44\x65stroyCryptoKeyVersionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\"`\n\x1eRestoreCryptoKeyVersionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\"\xf9\x01\n\x0e\x45ncryptRequest\x12\x17\n\x04name\x18\x01 \x01(\tB\t\xe0\x41\x02\xfa\x41\x03\n\x01*\x12\x16\n\tplaintext\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12*\n\x1d\x61\x64\x64itional_authenticated_data\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01\x12:\n\x10plaintext_crc32c\x18\x07 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12N\n$additional_authenticated_data_crc32c\x18\x08 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\x9b\x02\n\x0e\x44\x65\x63ryptRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12\x17\n\nciphertext\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12*\n\x1d\x61\x64\x64itional_authenticated_data\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01\x12;\n\x11\x63iphertext_crc32c\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12N\n$additional_authenticated_data_crc32c\x18\x06 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\xe2\x02\n\x11RawEncryptRequest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x16\n\tplaintext\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12*\n\x1d\x61\x64\x64itional_authenticated_data\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01\x12:\n\x10plaintext_crc32c\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12N\n$additional_authenticated_data_crc32c\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12\"\n\x15initialization_vector\x18\x06 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x46\n\x1cinitialization_vector_crc32c\x18\x07 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\xf8\x02\n\x11RawDecryptRequest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x17\n\nciphertext\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12*\n\x1d\x61\x64\x64itional_authenticated_data\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01\x12\"\n\x15initialization_vector\x18\x04 \x01(\x0c\x42\x03\xe0\x41\x02\x12\x12\n\ntag_length\x18\x05 \x01(\x05\x12;\n\x11\x63iphertext_crc32c\x18\x06 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12N\n$additional_authenticated_data_crc32c\x18\x07 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12\x46\n\x1cinitialization_vector_crc32c\x18\x08 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\x8c\x02\n\x15\x41symmetricSignRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12\x30\n\x06\x64igest\x18\x03 \x01(\x0b\x32\x1b.google.cloud.kms.v1.DigestB\x03\xe0\x41\x01\x12\x37\n\rdigest_crc32c\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12\x11\n\x04\x64\x61ta\x18\x06 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x35\n\x0b\x64\x61ta_crc32c\x18\x07 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\xb0\x01\n\x18\x41symmetricDecryptRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12\x17\n\nciphertext\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x02\x12;\n\x11\x63iphertext_crc32c\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\x9a\x01\n\x0eMacSignRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12\x11\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12\x35\n\x0b\x64\x61ta_crc32c\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\xe4\x01\n\x10MacVerifyRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12\x11\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12\x35\n\x0b\x64\x61ta_crc32c\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12\x10\n\x03mac\x18\x04 \x01(\x0c\x42\x03\xe0\x41\x02\x12\x34\n\nmac_crc32c\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\xaa\x01\n\x12\x44\x65\x63\x61psulateRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12\x17\n\nciphertext\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12;\n\x11\x63iphertext_crc32c\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\x84\x01\n\x1aGenerateRandomBytesRequest\x12\x10\n\x08location\x18\x01 \x01(\t\x12\x14\n\x0clength_bytes\x18\x02 \x01(\x05\x12>\n\x10protection_level\x18\x03 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\x85\x02\n\x0f\x45ncryptResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nciphertext\x18\x02 \x01(\x0c\x12\x36\n\x11\x63iphertext_crc32c\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12!\n\x19verified_plaintext_crc32c\x18\x05 \x01(\x08\x12\x35\n-verified_additional_authenticated_data_crc32c\x18\x06 \x01(\x08\x12>\n\x10protection_level\x18\x07 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xb1\x01\n\x0f\x44\x65\x63ryptResponse\x12\x11\n\tplaintext\x18\x01 \x01(\x0c\x12\x35\n\x10plaintext_crc32c\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x14\n\x0cused_primary\x18\x03 \x01(\x08\x12>\n\x10protection_level\x18\x04 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xad\x03\n\x12RawEncryptResponse\x12\x12\n\nciphertext\x18\x01 \x01(\x0c\x12\x1d\n\x15initialization_vector\x18\x02 \x01(\x0c\x12\x12\n\ntag_length\x18\x03 \x01(\x05\x12\x36\n\x11\x63iphertext_crc32c\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x41\n\x1cinitialization_vector_crc32c\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12!\n\x19verified_plaintext_crc32c\x18\x06 \x01(\x08\x12\x35\n-verified_additional_authenticated_data_crc32c\x18\x07 \x01(\x08\x12-\n%verified_initialization_vector_crc32c\x18\n \x01(\x08\x12\x0c\n\x04name\x18\x08 \x01(\t\x12>\n\x10protection_level\x18\t \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xa8\x02\n\x12RawDecryptResponse\x12\x11\n\tplaintext\x18\x01 \x01(\x0c\x12\x35\n\x10plaintext_crc32c\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12>\n\x10protection_level\x18\x03 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\x12\"\n\x1averified_ciphertext_crc32c\x18\x04 \x01(\x08\x12\x35\n-verified_additional_authenticated_data_crc32c\x18\x05 \x01(\x08\x12-\n%verified_initialization_vector_crc32c\x18\x06 \x01(\x08\"\xee\x01\n\x16\x41symmetricSignResponse\x12\x11\n\tsignature\x18\x01 \x01(\x0c\x12\x35\n\x10signature_crc32c\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x1e\n\x16verified_digest_crc32c\x18\x03 \x01(\x08\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x1c\n\x14verified_data_crc32c\x18\x05 \x01(\x08\x12>\n\x10protection_level\x18\x06 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xc9\x01\n\x19\x41symmetricDecryptResponse\x12\x11\n\tplaintext\x18\x01 \x01(\x0c\x12\x35\n\x10plaintext_crc32c\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\"\n\x1averified_ciphertext_crc32c\x18\x03 \x01(\x08\x12>\n\x10protection_level\x18\x04 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xbb\x01\n\x0fMacSignResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03mac\x18\x02 \x01(\x0c\x12/\n\nmac_crc32c\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x1c\n\x14verified_data_crc32c\x18\x04 \x01(\x08\x12>\n\x10protection_level\x18\x05 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xd1\x01\n\x11MacVerifyResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x1c\n\x14verified_data_crc32c\x18\x03 \x01(\x08\x12\x1b\n\x13verified_mac_crc32c\x18\x04 \x01(\x08\x12\"\n\x1averified_success_integrity\x18\x05 \x01(\x08\x12>\n\x10protection_level\x18\x06 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xda\x01\n\x13\x44\x65\x63\x61psulateResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rshared_secret\x18\x02 \x01(\x0c\x12!\n\x14shared_secret_crc32c\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12\"\n\x1averified_ciphertext_crc32c\x18\x04 \x01(\x08\x12>\n\x10protection_level\x18\x05 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevelB\x17\n\x15_shared_secret_crc32c\"]\n\x1bGenerateRandomBytesResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x30\n\x0b\x64\x61ta_crc32c\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\"H\n\x06\x44igest\x12\x10\n\x06sha256\x18\x01 \x01(\x0cH\x00\x12\x10\n\x06sha384\x18\x02 \x01(\x0cH\x00\x12\x10\n\x06sha512\x18\x03 \x01(\x0cH\x00\x42\x08\n\x06\x64igest\"@\n\x10LocationMetadata\x12\x15\n\rhsm_available\x18\x01 \x01(\x08\x12\x15\n\rekm_available\x18\x02 \x01(\x08\x32\xd9/\n\x14KeyManagementService\x12\xa2\x01\n\x0cListKeyRings\x12(.google.cloud.kms.v1.ListKeyRingsRequest\x1a).google.cloud.kms.v1.ListKeyRingsResponse\"=\xda\x41\x06parent\x82\xd3\xe4\x93\x02.\x12,/v1/{parent=projects/*/locations/*}/keyRings\x12\xb5\x01\n\x0eListCryptoKeys\x12*.google.cloud.kms.v1.ListCryptoKeysRequest\x1a+.google.cloud.kms.v1.ListCryptoKeysResponse\"J\xda\x41\x06parent\x82\xd3\xe4\x93\x02;\x12\x39/v1/{parent=projects/*/locations/*/keyRings/*}/cryptoKeys\x12\xde\x01\n\x15ListCryptoKeyVersions\x12\x31.google.cloud.kms.v1.ListCryptoKeyVersionsRequest\x1a\x32.google.cloud.kms.v1.ListCryptoKeyVersionsResponse\"^\xda\x41\x06parent\x82\xd3\xe4\x93\x02O\x12M/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions\x12\xb5\x01\n\x0eListImportJobs\x12*.google.cloud.kms.v1.ListImportJobsRequest\x1a+.google.cloud.kms.v1.ListImportJobsResponse\"J\xda\x41\x06parent\x82\xd3\xe4\x93\x02;\x12\x39/v1/{parent=projects/*/locations/*/keyRings/*}/importJobs\x12\x8f\x01\n\nGetKeyRing\x12&.google.cloud.kms.v1.GetKeyRingRequest\x1a\x1c.google.cloud.kms.v1.KeyRing\";\xda\x41\x04name\x82\xd3\xe4\x93\x02.\x12,/v1/{name=projects/*/locations/*/keyRings/*}\x12\xa2\x01\n\x0cGetCryptoKey\x12(.google.cloud.kms.v1.GetCryptoKeyRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey\"H\xda\x41\x04name\x82\xd3\xe4\x93\x02;\x12\x39/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}\x12\xcb\x01\n\x13GetCryptoKeyVersion\x12/.google.cloud.kms.v1.GetCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"\\\xda\x41\x04name\x82\xd3\xe4\x93\x02O\x12M/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}\x12\xc0\x01\n\x0cGetPublicKey\x12(.google.cloud.kms.v1.GetPublicKeyRequest\x1a\x1e.google.cloud.kms.v1.PublicKey\"f\xda\x41\x04name\x82\xd3\xe4\x93\x02Y\x12W/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}/publicKey\x12\xa2\x01\n\x0cGetImportJob\x12(.google.cloud.kms.v1.GetImportJobRequest\x1a\x1e.google.cloud.kms.v1.ImportJob\"H\xda\x41\x04name\x82\xd3\xe4\x93\x02;\x12\x39/v1/{name=projects/*/locations/*/keyRings/*/importJobs/*}\x12\xb6\x01\n\rCreateKeyRing\x12).google.cloud.kms.v1.CreateKeyRingRequest\x1a\x1c.google.cloud.kms.v1.KeyRing\"\\\xda\x41\x1bparent,key_ring_id,key_ring\x82\xd3\xe4\x93\x02\x38\",/v1/{parent=projects/*/locations/*}/keyRings:\x08key_ring\x12\xcf\x01\n\x0f\x43reateCryptoKey\x12+.google.cloud.kms.v1.CreateCryptoKeyRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey\"o\xda\x41\x1fparent,crypto_key_id,crypto_key\x82\xd3\xe4\x93\x02G\"9/v1/{parent=projects/*/locations/*/keyRings/*}/cryptoKeys:\ncrypto_key\x12\xfb\x01\n\x16\x43reateCryptoKeyVersion\x12\x32.google.cloud.kms.v1.CreateCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"\x85\x01\xda\x41\x19parent,crypto_key_version\x82\xd3\xe4\x93\x02\x63\"M/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions:\x12\x63rypto_key_version\x12\xd4\x01\n\x16ImportCryptoKeyVersion\x12\x32.google.cloud.kms.v1.ImportCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"_\x82\xd3\xe4\x93\x02Y\"T/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions:import:\x01*\x12\xcf\x01\n\x0f\x43reateImportJob\x12+.google.cloud.kms.v1.CreateImportJobRequest\x1a\x1e.google.cloud.kms.v1.ImportJob\"o\xda\x41\x1fparent,import_job_id,import_job\x82\xd3\xe4\x93\x02G\"9/v1/{parent=projects/*/locations/*/keyRings/*}/importJobs:\nimport_job\x12\xd1\x01\n\x0fUpdateCryptoKey\x12+.google.cloud.kms.v1.UpdateCryptoKeyRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey\"q\xda\x41\x16\x63rypto_key,update_mask\x82\xd3\xe4\x93\x02R2D/v1/{crypto_key.name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:\ncrypto_key\x12\x93\x02\n\x16UpdateCryptoKeyVersion\x12\x32.google.cloud.kms.v1.UpdateCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"\x9d\x01\xda\x41\x1e\x63rypto_key_version,update_mask\x82\xd3\xe4\x93\x02v2`/v1/{crypto_key_version.name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:\x12\x63rypto_key_version\x12\xf2\x01\n\x1dUpdateCryptoKeyPrimaryVersion\x12\x39.google.cloud.kms.v1.UpdateCryptoKeyPrimaryVersionRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey\"v\xda\x41\x1aname,crypto_key_version_id\x82\xd3\xe4\x93\x02S\"N/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:updatePrimaryVersion:\x01*\x12\xde\x01\n\x17\x44\x65stroyCryptoKeyVersion\x12\x33.google.cloud.kms.v1.DestroyCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"g\xda\x41\x04name\x82\xd3\xe4\x93\x02Z\"U/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:destroy:\x01*\x12\xde\x01\n\x17RestoreCryptoKeyVersion\x12\x33.google.cloud.kms.v1.RestoreCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"g\xda\x41\x04name\x82\xd3\xe4\x93\x02Z\"U/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:restore:\x01*\x12\xb4\x01\n\x07\x45ncrypt\x12#.google.cloud.kms.v1.EncryptRequest\x1a$.google.cloud.kms.v1.EncryptResponse\"^\xda\x41\x0ename,plaintext\x82\xd3\xe4\x93\x02G\"B/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/**}:encrypt:\x01*\x12\xb4\x01\n\x07\x44\x65\x63rypt\x12#.google.cloud.kms.v1.DecryptRequest\x1a$.google.cloud.kms.v1.DecryptResponse\"^\xda\x41\x0fname,ciphertext\x82\xd3\xe4\x93\x02\x46\"A/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:decrypt:\x01*\x12\xc2\x01\n\nRawEncrypt\x12&.google.cloud.kms.v1.RawEncryptRequest\x1a\'.google.cloud.kms.v1.RawEncryptResponse\"c\x82\xd3\xe4\x93\x02]\"X/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:rawEncrypt:\x01*\x12\xc2\x01\n\nRawDecrypt\x12&.google.cloud.kms.v1.RawDecryptRequest\x1a\'.google.cloud.kms.v1.RawDecryptResponse\"c\x82\xd3\xe4\x93\x02]\"X/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:rawDecrypt:\x01*\x12\xe0\x01\n\x0e\x41symmetricSign\x12*.google.cloud.kms.v1.AsymmetricSignRequest\x1a+.google.cloud.kms.v1.AsymmetricSignResponse\"u\xda\x41\x0bname,digest\x82\xd3\xe4\x93\x02\x61\"\\/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:asymmetricSign:\x01*\x12\xf0\x01\n\x11\x41symmetricDecrypt\x12-.google.cloud.kms.v1.AsymmetricDecryptRequest\x1a..google.cloud.kms.v1.AsymmetricDecryptResponse\"|\xda\x41\x0fname,ciphertext\x82\xd3\xe4\x93\x02\x64\"_/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:asymmetricDecrypt:\x01*\x12\xc2\x01\n\x07MacSign\x12#.google.cloud.kms.v1.MacSignRequest\x1a$.google.cloud.kms.v1.MacSignResponse\"l\xda\x41\tname,data\x82\xd3\xe4\x93\x02Z\"U/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:macSign:\x01*\x12\xce\x01\n\tMacVerify\x12%.google.cloud.kms.v1.MacVerifyRequest\x1a&.google.cloud.kms.v1.MacVerifyResponse\"r\xda\x41\rname,data,mac\x82\xd3\xe4\x93\x02\\\"W/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:macVerify:\x01*\x12\xc6\x01\n\x0b\x44\x65\x63\x61psulate\x12\'.google.cloud.kms.v1.DecapsulateRequest\x1a(.google.cloud.kms.v1.DecapsulateResponse\"d\x82\xd3\xe4\x93\x02^\"Y/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:decapsulate:\x01*\x12\xe7\x01\n\x13GenerateRandomBytes\x12/.google.cloud.kms.v1.GenerateRandomBytesRequest\x1a\x30.google.cloud.kms.v1.GenerateRandomBytesResponse\"m\xda\x41&location,length_bytes,protection_level\x82\xd3\xe4\x93\x02>\"9/v1/{location=projects/*/locations/*}:generateRandomBytes:\x01*\x1at\xca\x41\x17\x63loudkms.googleapis.com\xd2\x41Whttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloudkmsB|\n\x17\x63om.google.cloud.kms.v1B\x08KmsProtoP\x01Z)cloud.google.com/go/kms/apiv1/kmspb;kmspb\xaa\x02\x13Google.Cloud.Kms.V1\xca\x02\x13Google\\Cloud\\Kms\\V1b\x06proto3"
17
17
 
18
18
  pool = Google::Protobuf::DescriptorPool.generated_pool
19
19
 
@@ -77,6 +77,7 @@ module Google
77
77
  AsymmetricDecryptRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.AsymmetricDecryptRequest").msgclass
78
78
  MacSignRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.MacSignRequest").msgclass
79
79
  MacVerifyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.MacVerifyRequest").msgclass
80
+ DecapsulateRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.DecapsulateRequest").msgclass
80
81
  GenerateRandomBytesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.GenerateRandomBytesRequest").msgclass
81
82
  EncryptResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.EncryptResponse").msgclass
82
83
  DecryptResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.DecryptResponse").msgclass
@@ -86,6 +87,7 @@ module Google
86
87
  AsymmetricDecryptResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.AsymmetricDecryptResponse").msgclass
87
88
  MacSignResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.MacSignResponse").msgclass
88
89
  MacVerifyResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.MacVerifyResponse").msgclass
90
+ DecapsulateResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.DecapsulateResponse").msgclass
89
91
  GenerateRandomBytesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.GenerateRandomBytesResponse").msgclass
90
92
  Digest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.Digest").msgclass
91
93
  LocationMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.LocationMetadata").msgclass
@@ -199,6 +199,12 @@ module Google
199
199
  # [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] MAC, and returns
200
200
  # a response that indicates whether or not the verification was successful.
201
201
  rpc :MacVerify, ::Google::Cloud::Kms::V1::MacVerifyRequest, ::Google::Cloud::Kms::V1::MacVerifyResponse
202
+ # Decapsulates data that was encapsulated with a public key retrieved from
203
+ # [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey]
204
+ # corresponding to a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
205
+ # with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
206
+ # KEY_ENCAPSULATION.
207
+ rpc :Decapsulate, ::Google::Cloud::Kms::V1::DecapsulateRequest, ::Google::Cloud::Kms::V1::DecapsulateResponse
202
208
  # Generate random bytes using the Cloud KMS randomness source in the provided
203
209
  # location.
204
210
  rpc :GenerateRandomBytes, ::Google::Cloud::Kms::V1::GenerateRandomBytesRequest, ::Google::Cloud::Kms::V1::GenerateRandomBytesResponse
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Kms
23
23
  module V1
24
- VERSION = "1.6.0"
24
+ VERSION = "1.8.0"
25
25
  end
26
26
  end
27
27
  end
@@ -69,6 +69,12 @@ module Google
69
69
  # @!attribute [r] state
70
70
  # @return [::Google::Cloud::Kms::V1::AutokeyConfig::State]
71
71
  # Output only. The state for the AutokeyConfig.
72
+ # @!attribute [rw] etag
73
+ # @return [::String]
74
+ # Optional. A checksum computed by the server based on the value of other
75
+ # fields. This may be sent on update requests to ensure that the client has
76
+ # an up-to-date value before proceeding. The request will be rejected with an
77
+ # ABORTED error on a mismatched etag.
72
78
  class AutokeyConfig
73
79
  include ::Google::Protobuf::MessageExts
74
80
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -72,6 +72,10 @@ module Google
72
72
  # @return [::Integer]
73
73
  # The total number of {::Google::Cloud::Kms::V1::EkmConnection EkmConnections}
74
74
  # that matched the query.
75
+ #
76
+ # This field is not populated if
77
+ # {::Google::Cloud::Kms::V1::ListEkmConnectionsRequest#filter ListEkmConnectionsRequest.filter}
78
+ # is applied.
75
79
  class ListEkmConnectionsResponse
76
80
  include ::Google::Protobuf::MessageExts
77
81
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -198,6 +198,12 @@ module Google
198
198
  # {::Google::Cloud::Kms::V1::CryptoKey CryptoKeys} with this purpose may be used
199
199
  # with {::Google::Cloud::Kms::V1::KeyManagementService::Client#mac_sign MacSign}.
200
200
  MAC = 9
201
+
202
+ # {::Google::Cloud::Kms::V1::CryptoKey CryptoKeys} with this purpose may be used
203
+ # with
204
+ # {::Google::Cloud::Kms::V1::KeyManagementService::Client#get_public_key GetPublicKey}
205
+ # and {::Google::Cloud::Kms::V1::KeyManagementService::Client#decapsulate Decapsulate}.
206
+ KEY_ENCAPSULATION = 10
201
207
  end
202
208
  end
203
209
 
@@ -429,6 +435,7 @@ module Google
429
435
  # The suffix following `HMAC_` corresponds to the hash algorithm being used
430
436
  # (eg. SHA256).
431
437
  #
438
+ # Algorithms beginning with `PQ_` are post-quantum.
432
439
  #
433
440
  # For more information, see [Key purposes and algorithms]
434
441
  # (https://cloud.google.com/kms/docs/algorithms).
@@ -548,6 +555,16 @@ module Google
548
555
  # Algorithm representing symmetric encryption by an external key manager.
549
556
  EXTERNAL_SYMMETRIC_ENCRYPTION = 18
550
557
 
558
+ # ML-KEM-768 (FIPS 203)
559
+ ML_KEM_768 = 47
560
+
561
+ # ML-KEM-1024 (FIPS 203)
562
+ ML_KEM_1024 = 48
563
+
564
+ # X-Wing hybrid KEM combining ML-KEM-768 with X25519 following
565
+ # datatracker.ietf.org/doc/draft-connolly-cfrg-xwing-kem/.
566
+ KEM_XWING = 63
567
+
551
568
  # The post-quantum Module-Lattice-Based Digital Signature Algorithm, at
552
569
  # security level 3. Randomized version.
553
570
  PQ_SIGN_ML_DSA_65 = 56
@@ -579,7 +596,7 @@ module Google
579
596
  # state.
580
597
  DISABLED = 2
581
598
 
582
- # This version is destroyed, and the key material is no longer stored.
599
+ # The key material of this version is destroyed and no longer stored.
583
600
  # This version may only become
584
601
  # {::Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::ENABLED ENABLED}
585
602
  # again if this version is
@@ -750,10 +767,18 @@ module Google
750
767
  # (https://tools.ietf.org/html/rfc7468#section-13) for more information.
751
768
  PEM = 1
752
769
 
770
+ # The returned public key will be encoded in DER format (the
771
+ # PrivateKeyInfo structure from RFC 5208).
772
+ DER = 2
773
+
753
774
  # This is supported only for PQC algorithms.
754
775
  # The key material is returned in the format defined by NIST PQC
755
776
  # standards (FIPS 203, FIPS 204, and FIPS 205).
756
777
  NIST_PQC = 3
778
+
779
+ # The returned public key is in raw bytes format defined in its standard
780
+ # https://datatracker.ietf.org/doc/draft-connolly-cfrg-xwing-kem.
781
+ XWING_RAW_BYTES = 4
757
782
  end
758
783
  end
759
784
 
@@ -187,6 +187,10 @@ module Google
187
187
  # @return [::Integer]
188
188
  # The total number of {::Google::Cloud::Kms::V1::KeyRing KeyRings} that matched
189
189
  # the query.
190
+ #
191
+ # This field is not populated if
192
+ # {::Google::Cloud::Kms::V1::ListKeyRingsRequest#filter ListKeyRingsRequest.filter}
193
+ # is applied.
190
194
  class ListKeyRingsResponse
191
195
  include ::Google::Protobuf::MessageExts
192
196
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -206,6 +210,10 @@ module Google
206
210
  # @return [::Integer]
207
211
  # The total number of {::Google::Cloud::Kms::V1::CryptoKey CryptoKeys} that
208
212
  # matched the query.
213
+ #
214
+ # This field is not populated if
215
+ # {::Google::Cloud::Kms::V1::ListCryptoKeysRequest#filter ListCryptoKeysRequest.filter}
216
+ # is applied.
209
217
  class ListCryptoKeysResponse
210
218
  include ::Google::Protobuf::MessageExts
211
219
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -226,6 +234,10 @@ module Google
226
234
  # The total number of
227
235
  # {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersions} that matched the
228
236
  # query.
237
+ #
238
+ # This field is not populated if
239
+ # {::Google::Cloud::Kms::V1::ListCryptoKeyVersionsRequest#filter ListCryptoKeyVersionsRequest.filter}
240
+ # is applied.
229
241
  class ListCryptoKeyVersionsResponse
230
242
  include ::Google::Protobuf::MessageExts
231
243
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -245,6 +257,10 @@ module Google
245
257
  # @return [::Integer]
246
258
  # The total number of {::Google::Cloud::Kms::V1::ImportJob ImportJobs} that
247
259
  # matched the query.
260
+ #
261
+ # This field is not populated if
262
+ # {::Google::Cloud::Kms::V1::ListImportJobsRequest#filter ListImportJobsRequest.filter}
263
+ # is applied.
248
264
  class ListImportJobsResponse
249
265
  include ::Google::Protobuf::MessageExts
250
266
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1090,6 +1106,44 @@ module Google
1090
1106
  extend ::Google::Protobuf::MessageExts::ClassMethods
1091
1107
  end
1092
1108
 
1109
+ # Request message for
1110
+ # {::Google::Cloud::Kms::V1::KeyManagementService::Client#decapsulate KeyManagementService.Decapsulate}.
1111
+ # @!attribute [rw] name
1112
+ # @return [::String]
1113
+ # Required. The resource name of the
1114
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to use for
1115
+ # decapsulation.
1116
+ # @!attribute [rw] ciphertext
1117
+ # @return [::String]
1118
+ # Required. The ciphertext produced from encapsulation with the
1119
+ # named {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} public
1120
+ # key(s).
1121
+ # @!attribute [rw] ciphertext_crc32c
1122
+ # @return [::Google::Protobuf::Int64Value]
1123
+ # Optional. A CRC32C checksum of the
1124
+ # {::Google::Cloud::Kms::V1::DecapsulateRequest#ciphertext DecapsulateRequest.ciphertext}.
1125
+ # If specified,
1126
+ # {::Google::Cloud::Kms::V1::KeyManagementService::Client KeyManagementService} will
1127
+ # verify the integrity of the received
1128
+ # {::Google::Cloud::Kms::V1::DecapsulateRequest#ciphertext DecapsulateRequest.ciphertext}
1129
+ # using this checksum.
1130
+ # {::Google::Cloud::Kms::V1::KeyManagementService::Client KeyManagementService} will
1131
+ # report an error if the checksum verification fails. If you receive a
1132
+ # checksum error, your client should verify that
1133
+ # CRC32C({::Google::Cloud::Kms::V1::DecapsulateRequest#ciphertext DecapsulateRequest.ciphertext})
1134
+ # is equal to
1135
+ # {::Google::Cloud::Kms::V1::DecapsulateRequest#ciphertext_crc32c DecapsulateRequest.ciphertext_crc32c},
1136
+ # and if so, perform a limited number of retries. A persistent mismatch may
1137
+ # indicate an issue in your computation of the CRC32C checksum. Note: This
1138
+ # field is defined as int64 for reasons of compatibility across different
1139
+ # languages. However, it is a non-negative integer, which will never exceed
1140
+ # 2^32-1, and can be safely downconverted to uint32 in languages that support
1141
+ # this type.
1142
+ class DecapsulateRequest
1143
+ include ::Google::Protobuf::MessageExts
1144
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1145
+ end
1146
+
1093
1147
  # Request message for
1094
1148
  # {::Google::Cloud::Kms::V1::KeyManagementService::Client#generate_random_bytes KeyManagementService.GenerateRandomBytes}.
1095
1149
  # @!attribute [rw] location
@@ -1620,6 +1674,63 @@ module Google
1620
1674
  extend ::Google::Protobuf::MessageExts::ClassMethods
1621
1675
  end
1622
1676
 
1677
+ # Response message for
1678
+ # {::Google::Cloud::Kms::V1::KeyManagementService::Client#decapsulate KeyManagementService.Decapsulate}.
1679
+ # @!attribute [rw] name
1680
+ # @return [::String]
1681
+ # The resource name of the
1682
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} used for
1683
+ # decapsulation. Check this field to verify that the intended resource was
1684
+ # used for decapsulation.
1685
+ # @!attribute [rw] shared_secret
1686
+ # @return [::String]
1687
+ # The decapsulated shared_secret originally encapsulated with the matching
1688
+ # public key.
1689
+ # @!attribute [rw] shared_secret_crc32c
1690
+ # @return [::Integer]
1691
+ # Integrity verification field. A CRC32C checksum of the returned
1692
+ # {::Google::Cloud::Kms::V1::DecapsulateResponse#shared_secret DecapsulateResponse.shared_secret}.
1693
+ # An integrity check of
1694
+ # {::Google::Cloud::Kms::V1::DecapsulateResponse#shared_secret DecapsulateResponse.shared_secret}
1695
+ # can be performed by computing the CRC32C checksum of
1696
+ # {::Google::Cloud::Kms::V1::DecapsulateResponse#shared_secret DecapsulateResponse.shared_secret}
1697
+ # and comparing your results to this field. Discard the response in case of
1698
+ # non-matching checksum values, and perform a limited number of retries. A
1699
+ # persistent mismatch may indicate an issue in your computation of the CRC32C
1700
+ # checksum. Note: receiving this response message indicates that
1701
+ # {::Google::Cloud::Kms::V1::KeyManagementService::Client KeyManagementService} is able to
1702
+ # successfully decrypt the
1703
+ # {::Google::Cloud::Kms::V1::DecapsulateRequest#ciphertext ciphertext}. Note: This
1704
+ # field is defined as int64 for reasons of compatibility across different
1705
+ # languages. However, it is a non-negative integer, which will never exceed
1706
+ # 2^32-1, and can be safely downconverted to uint32 in languages that support
1707
+ # this type.
1708
+ # @!attribute [rw] verified_ciphertext_crc32c
1709
+ # @return [::Boolean]
1710
+ # Integrity verification field. A flag indicating whether
1711
+ # {::Google::Cloud::Kms::V1::DecapsulateRequest#ciphertext_crc32c DecapsulateRequest.ciphertext_crc32c}
1712
+ # was received by
1713
+ # {::Google::Cloud::Kms::V1::KeyManagementService::Client KeyManagementService} and used
1714
+ # for the integrity verification of the
1715
+ # {::Google::Cloud::Kms::V1::DecapsulateRequest#ciphertext ciphertext}. A false
1716
+ # value of this field indicates either that
1717
+ # {::Google::Cloud::Kms::V1::DecapsulateRequest#ciphertext_crc32c DecapsulateRequest.ciphertext_crc32c}
1718
+ # was left unset or that it was not delivered to
1719
+ # {::Google::Cloud::Kms::V1::KeyManagementService::Client KeyManagementService}. If you've
1720
+ # set
1721
+ # {::Google::Cloud::Kms::V1::DecapsulateRequest#ciphertext_crc32c DecapsulateRequest.ciphertext_crc32c}
1722
+ # but this field is still false, discard the response and perform a limited
1723
+ # number of retries.
1724
+ # @!attribute [rw] protection_level
1725
+ # @return [::Google::Cloud::Kms::V1::ProtectionLevel]
1726
+ # The {::Google::Cloud::Kms::V1::ProtectionLevel ProtectionLevel} of the
1727
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} used in
1728
+ # decapsulation.
1729
+ class DecapsulateResponse
1730
+ include ::Google::Protobuf::MessageExts
1731
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1732
+ end
1733
+
1623
1734
  # Response message for
1624
1735
  # {::Google::Cloud::Kms::V1::KeyManagementService::Client#generate_random_bytes KeyManagementService.GenerateRandomBytes}.
1625
1736
  # @!attribute [rw] data
@@ -1667,7 +1778,7 @@ module Google
1667
1778
  end
1668
1779
 
1669
1780
  # Cloud KMS metadata for the given
1670
- # `::Google::Cloud::Location::Location`.
1781
+ # [google.cloud.location.Location][google.cloud.location.Location].
1671
1782
  # @!attribute [rw] hsm_available
1672
1783
  # @return [::Boolean]
1673
1784
  # Indicates whether {::Google::Cloud::Kms::V1::CryptoKey CryptoKeys} with
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-kms-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: '1.0'
18
+ version: '1.2'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: '1.0'
25
+ version: '1.2'
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: google-cloud-errors
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -163,7 +163,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
163
163
  - !ruby/object:Gem::Version
164
164
  version: '0'
165
165
  requirements: []
166
- rubygems_version: 3.6.8
166
+ rubygems_version: 3.6.9
167
167
  specification_version: 4
168
168
  summary: Manages keys and performs cryptographic operations in a central cloud service,
169
169
  for direct use by other cloud resources and applications.