google-cloud-kms-v1 0.17.0 → 0.18.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '019a2267f33dda5561da56ed41cf332d8fd4b6fb3cb45587be780dc0db71460d'
4
- data.tar.gz: bd72d7db29386ece91aed2c0eadfffa3ae802e4c57923d86c4de683d40ca06d4
3
+ metadata.gz: 59b86de14b63de4677b18bf0f2bd000fd989942c71966e4fc934e6402e42e0ee
4
+ data.tar.gz: 2b93be85406e63ca4f5f316a3704be88f32fb47ec5a7daf76133a3bcf4a48afb
5
5
  SHA512:
6
- metadata.gz: 1a6a96462ae5e450a969e049c2ad9fb6c1e67fd6a49d19893a96c91933f24cde330b5d544cd347e6e271eff4647646e5caae299c159d64fbf9f46d37abbc137f
7
- data.tar.gz: f822a78c784ef272766834567079b063847774afad91027b79309207c238d2161b5e6339cd3841389b06fec6dc295de32a790cccf08efc42e55c7fadf06ce624
6
+ metadata.gz: b5476742317b44f7715d20116b165bbd1827b02b837d3b2c65c2c606c5bebe4a1a42cf129896dc8f2ce35aeed907e87d1b8cbc927d71a7e702bab73260da6e21
7
+ data.tar.gz: e615bc561491044d5e42d26754fac81a63f781a249c6f061f58006ec0644508dedb84101528e62bd34232bd76b8b667d82b0e936d7e6d583ec26d2b11a55bb72
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Ruby Client for the Cloud Key Management Service (KMS) V1 API
2
2
 
3
- API Client library for the Cloud Key Management Service (KMS) V1 API
3
+ Manages keys and performs cryptographic operations in a central cloud service, for direct use by other cloud resources and applications.
4
4
 
5
5
  Manages keys and performs cryptographic operations in a central cloud service, for direct use by other cloud resources and applications.
6
6
 
@@ -47,7 +47,7 @@ for general usage information.
47
47
 
48
48
  To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
49
49
  The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/current/stdlibs/logger/Logger.html) as shown below,
50
- or a [`Google::Cloud::Logging::Logger`](https://googleapis.dev/ruby/google-cloud-logging/latest)
50
+ or a [`Google::Cloud::Logging::Logger`](https://cloud.google.com/ruby/docs/reference/google-cloud-logging/latest)
51
51
  that will write logs to [Cloud Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
52
52
  and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
53
53
 
@@ -578,6 +578,181 @@ module Google
578
578
  raise ::Google::Cloud::Error.from_error(e)
579
579
  end
580
580
 
581
+ ##
582
+ # Returns the {::Google::Cloud::Kms::V1::EkmConfig EkmConfig} singleton resource
583
+ # for a given project and location.
584
+ #
585
+ # @overload get_ekm_config(request, options = nil)
586
+ # Pass arguments to `get_ekm_config` via a request object, either of type
587
+ # {::Google::Cloud::Kms::V1::GetEkmConfigRequest} or an equivalent Hash.
588
+ #
589
+ # @param request [::Google::Cloud::Kms::V1::GetEkmConfigRequest, ::Hash]
590
+ # A request object representing the call parameters. Required. To specify no
591
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
592
+ # @param options [::Gapic::CallOptions, ::Hash]
593
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
594
+ #
595
+ # @overload get_ekm_config(name: nil)
596
+ # Pass arguments to `get_ekm_config` via keyword arguments. Note that at
597
+ # least one keyword argument is required. To specify no parameters, or to keep all
598
+ # the default parameter values, pass an empty Hash as a request object (see above).
599
+ #
600
+ # @param name [::String]
601
+ # Required. The {::Google::Cloud::Kms::V1::EkmConfig#name name} of the
602
+ # {::Google::Cloud::Kms::V1::EkmConfig EkmConfig} to get.
603
+ #
604
+ # @yield [response, operation] Access the result along with the RPC operation
605
+ # @yieldparam response [::Google::Cloud::Kms::V1::EkmConfig]
606
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
607
+ #
608
+ # @return [::Google::Cloud::Kms::V1::EkmConfig]
609
+ #
610
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
611
+ #
612
+ # @example Basic example
613
+ # require "google/cloud/kms/v1"
614
+ #
615
+ # # Create a client object. The client can be reused for multiple calls.
616
+ # client = Google::Cloud::Kms::V1::EkmService::Client.new
617
+ #
618
+ # # Create a request. To set request fields, pass in keyword arguments.
619
+ # request = Google::Cloud::Kms::V1::GetEkmConfigRequest.new
620
+ #
621
+ # # Call the get_ekm_config method.
622
+ # result = client.get_ekm_config request
623
+ #
624
+ # # The returned object is of type Google::Cloud::Kms::V1::EkmConfig.
625
+ # p result
626
+ #
627
+ def get_ekm_config request, options = nil
628
+ raise ::ArgumentError, "request must be provided" if request.nil?
629
+
630
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Kms::V1::GetEkmConfigRequest
631
+
632
+ # Converts hash and nil to an options object
633
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
634
+
635
+ # Customize the options with defaults
636
+ metadata = @config.rpcs.get_ekm_config.metadata.to_h
637
+
638
+ # Set x-goog-api-client and x-goog-user-project headers
639
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
640
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
641
+ gapic_version: ::Google::Cloud::Kms::V1::VERSION
642
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
643
+
644
+ header_params = {}
645
+ if request.name
646
+ header_params["name"] = request.name
647
+ end
648
+
649
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
650
+ metadata[:"x-goog-request-params"] ||= request_params_header
651
+
652
+ options.apply_defaults timeout: @config.rpcs.get_ekm_config.timeout,
653
+ metadata: metadata,
654
+ retry_policy: @config.rpcs.get_ekm_config.retry_policy
655
+
656
+ options.apply_defaults timeout: @config.timeout,
657
+ metadata: @config.metadata,
658
+ retry_policy: @config.retry_policy
659
+
660
+ @ekm_service_stub.call_rpc :get_ekm_config, request, options: options do |response, operation|
661
+ yield response, operation if block_given?
662
+ return response
663
+ end
664
+ rescue ::GRPC::BadStatus => e
665
+ raise ::Google::Cloud::Error.from_error(e)
666
+ end
667
+
668
+ ##
669
+ # Updates the {::Google::Cloud::Kms::V1::EkmConfig EkmConfig} singleton resource
670
+ # for a given project and location.
671
+ #
672
+ # @overload update_ekm_config(request, options = nil)
673
+ # Pass arguments to `update_ekm_config` via a request object, either of type
674
+ # {::Google::Cloud::Kms::V1::UpdateEkmConfigRequest} or an equivalent Hash.
675
+ #
676
+ # @param request [::Google::Cloud::Kms::V1::UpdateEkmConfigRequest, ::Hash]
677
+ # A request object representing the call parameters. Required. To specify no
678
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
679
+ # @param options [::Gapic::CallOptions, ::Hash]
680
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
681
+ #
682
+ # @overload update_ekm_config(ekm_config: nil, update_mask: nil)
683
+ # Pass arguments to `update_ekm_config` via keyword arguments. Note that at
684
+ # least one keyword argument is required. To specify no parameters, or to keep all
685
+ # the default parameter values, pass an empty Hash as a request object (see above).
686
+ #
687
+ # @param ekm_config [::Google::Cloud::Kms::V1::EkmConfig, ::Hash]
688
+ # Required. {::Google::Cloud::Kms::V1::EkmConfig EkmConfig} with updated values.
689
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
690
+ # Required. List of fields to be updated in this request.
691
+ #
692
+ # @yield [response, operation] Access the result along with the RPC operation
693
+ # @yieldparam response [::Google::Cloud::Kms::V1::EkmConfig]
694
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
695
+ #
696
+ # @return [::Google::Cloud::Kms::V1::EkmConfig]
697
+ #
698
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
699
+ #
700
+ # @example Basic example
701
+ # require "google/cloud/kms/v1"
702
+ #
703
+ # # Create a client object. The client can be reused for multiple calls.
704
+ # client = Google::Cloud::Kms::V1::EkmService::Client.new
705
+ #
706
+ # # Create a request. To set request fields, pass in keyword arguments.
707
+ # request = Google::Cloud::Kms::V1::UpdateEkmConfigRequest.new
708
+ #
709
+ # # Call the update_ekm_config method.
710
+ # result = client.update_ekm_config request
711
+ #
712
+ # # The returned object is of type Google::Cloud::Kms::V1::EkmConfig.
713
+ # p result
714
+ #
715
+ def update_ekm_config request, options = nil
716
+ raise ::ArgumentError, "request must be provided" if request.nil?
717
+
718
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Kms::V1::UpdateEkmConfigRequest
719
+
720
+ # Converts hash and nil to an options object
721
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
722
+
723
+ # Customize the options with defaults
724
+ metadata = @config.rpcs.update_ekm_config.metadata.to_h
725
+
726
+ # Set x-goog-api-client and x-goog-user-project headers
727
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
728
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
729
+ gapic_version: ::Google::Cloud::Kms::V1::VERSION
730
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
731
+
732
+ header_params = {}
733
+ if request.ekm_config&.name
734
+ header_params["ekm_config.name"] = request.ekm_config.name
735
+ end
736
+
737
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
738
+ metadata[:"x-goog-request-params"] ||= request_params_header
739
+
740
+ options.apply_defaults timeout: @config.rpcs.update_ekm_config.timeout,
741
+ metadata: metadata,
742
+ retry_policy: @config.rpcs.update_ekm_config.retry_policy
743
+
744
+ options.apply_defaults timeout: @config.timeout,
745
+ metadata: @config.metadata,
746
+ retry_policy: @config.retry_policy
747
+
748
+ @ekm_service_stub.call_rpc :update_ekm_config, request, options: options do |response, operation|
749
+ yield response, operation if block_given?
750
+ return response
751
+ end
752
+ rescue ::GRPC::BadStatus => e
753
+ raise ::Google::Cloud::Error.from_error(e)
754
+ end
755
+
581
756
  ##
582
757
  # Configuration class for the EkmService API.
583
758
  #
@@ -616,9 +791,9 @@ module Google
616
791
  # * (`String`) The path to a service account key file in JSON format
617
792
  # * (`Hash`) A service account key as a Hash
618
793
  # * (`Google::Auth::Credentials`) A googleauth credentials object
619
- # (see the [googleauth docs](https://googleapis.dev/ruby/googleauth/latest/index.html))
794
+ # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
620
795
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
621
- # (see the [signet docs](https://googleapis.dev/ruby/signet/latest/Signet/OAuth2/Client.html))
796
+ # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
622
797
  # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
623
798
  # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
624
799
  # * (`nil`) indicating no credentials
@@ -733,6 +908,16 @@ module Google
733
908
  # @return [::Gapic::Config::Method]
734
909
  #
735
910
  attr_reader :update_ekm_connection
911
+ ##
912
+ # RPC-specific configuration for `get_ekm_config`
913
+ # @return [::Gapic::Config::Method]
914
+ #
915
+ attr_reader :get_ekm_config
916
+ ##
917
+ # RPC-specific configuration for `update_ekm_config`
918
+ # @return [::Gapic::Config::Method]
919
+ #
920
+ attr_reader :update_ekm_config
736
921
 
737
922
  # @private
738
923
  def initialize parent_rpcs = nil
@@ -744,6 +929,10 @@ module Google
744
929
  @create_ekm_connection = ::Gapic::Config::Method.new create_ekm_connection_config
745
930
  update_ekm_connection_config = parent_rpcs.update_ekm_connection if parent_rpcs.respond_to? :update_ekm_connection
746
931
  @update_ekm_connection = ::Gapic::Config::Method.new update_ekm_connection_config
932
+ get_ekm_config_config = parent_rpcs.get_ekm_config if parent_rpcs.respond_to? :get_ekm_config
933
+ @get_ekm_config = ::Gapic::Config::Method.new get_ekm_config_config
934
+ update_ekm_config_config = parent_rpcs.update_ekm_config if parent_rpcs.respond_to? :update_ekm_config
935
+ @update_ekm_config = ::Gapic::Config::Method.new update_ekm_config_config
747
936
 
748
937
  yield self if block_given?
749
938
  end
@@ -24,6 +24,23 @@ module Google
24
24
  module EkmService
25
25
  # Path helper methods for the EkmService API.
26
26
  module Paths
27
+ ##
28
+ # Create a fully-qualified EkmConfig resource string.
29
+ #
30
+ # The resource will be in the following format:
31
+ #
32
+ # `projects/{project}/locations/{location}/ekmConfig`
33
+ #
34
+ # @param project [String]
35
+ # @param location [String]
36
+ #
37
+ # @return [::String]
38
+ def ekm_config_path project:, location:
39
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
40
+
41
+ "projects/#{project}/locations/#{location}/ekmConfig"
42
+ end
43
+
27
44
  ##
28
45
  # Create a fully-qualified EkmConnection resource string.
29
46
  #
@@ -475,6 +475,135 @@ module Google
475
475
  raise ::Google::Cloud::Error.from_error(e)
476
476
  end
477
477
 
478
+ ##
479
+ # Returns the {::Google::Cloud::Kms::V1::EkmConfig EkmConfig} singleton resource
480
+ # for a given project and location.
481
+ #
482
+ # @overload get_ekm_config(request, options = nil)
483
+ # Pass arguments to `get_ekm_config` via a request object, either of type
484
+ # {::Google::Cloud::Kms::V1::GetEkmConfigRequest} or an equivalent Hash.
485
+ #
486
+ # @param request [::Google::Cloud::Kms::V1::GetEkmConfigRequest, ::Hash]
487
+ # A request object representing the call parameters. Required. To specify no
488
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
489
+ # @param options [::Gapic::CallOptions, ::Hash]
490
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
491
+ #
492
+ # @overload get_ekm_config(name: nil)
493
+ # Pass arguments to `get_ekm_config` via keyword arguments. Note that at
494
+ # least one keyword argument is required. To specify no parameters, or to keep all
495
+ # the default parameter values, pass an empty Hash as a request object (see above).
496
+ #
497
+ # @param name [::String]
498
+ # Required. The {::Google::Cloud::Kms::V1::EkmConfig#name name} of the
499
+ # {::Google::Cloud::Kms::V1::EkmConfig EkmConfig} to get.
500
+ # @yield [result, operation] Access the result along with the TransportOperation object
501
+ # @yieldparam result [::Google::Cloud::Kms::V1::EkmConfig]
502
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
503
+ #
504
+ # @return [::Google::Cloud::Kms::V1::EkmConfig]
505
+ #
506
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
507
+ def get_ekm_config request, options = nil
508
+ raise ::ArgumentError, "request must be provided" if request.nil?
509
+
510
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Kms::V1::GetEkmConfigRequest
511
+
512
+ # Converts hash and nil to an options object
513
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
514
+
515
+ # Customize the options with defaults
516
+ call_metadata = @config.rpcs.get_ekm_config.metadata.to_h
517
+
518
+ # Set x-goog-api-client and x-goog-user-project headers
519
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
520
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
521
+ gapic_version: ::Google::Cloud::Kms::V1::VERSION,
522
+ transports_version_send: [:rest]
523
+
524
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
525
+
526
+ options.apply_defaults timeout: @config.rpcs.get_ekm_config.timeout,
527
+ metadata: call_metadata,
528
+ retry_policy: @config.rpcs.get_ekm_config.retry_policy
529
+
530
+ options.apply_defaults timeout: @config.timeout,
531
+ metadata: @config.metadata,
532
+ retry_policy: @config.retry_policy
533
+
534
+ @ekm_service_stub.get_ekm_config request, options do |result, operation|
535
+ yield result, operation if block_given?
536
+ return result
537
+ end
538
+ rescue ::Gapic::Rest::Error => e
539
+ raise ::Google::Cloud::Error.from_error(e)
540
+ end
541
+
542
+ ##
543
+ # Updates the {::Google::Cloud::Kms::V1::EkmConfig EkmConfig} singleton resource
544
+ # for a given project and location.
545
+ #
546
+ # @overload update_ekm_config(request, options = nil)
547
+ # Pass arguments to `update_ekm_config` via a request object, either of type
548
+ # {::Google::Cloud::Kms::V1::UpdateEkmConfigRequest} or an equivalent Hash.
549
+ #
550
+ # @param request [::Google::Cloud::Kms::V1::UpdateEkmConfigRequest, ::Hash]
551
+ # A request object representing the call parameters. Required. To specify no
552
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
553
+ # @param options [::Gapic::CallOptions, ::Hash]
554
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
555
+ #
556
+ # @overload update_ekm_config(ekm_config: nil, update_mask: nil)
557
+ # Pass arguments to `update_ekm_config` via keyword arguments. Note that at
558
+ # least one keyword argument is required. To specify no parameters, or to keep all
559
+ # the default parameter values, pass an empty Hash as a request object (see above).
560
+ #
561
+ # @param ekm_config [::Google::Cloud::Kms::V1::EkmConfig, ::Hash]
562
+ # Required. {::Google::Cloud::Kms::V1::EkmConfig EkmConfig} with updated values.
563
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
564
+ # Required. List of fields to be updated in this request.
565
+ # @yield [result, operation] Access the result along with the TransportOperation object
566
+ # @yieldparam result [::Google::Cloud::Kms::V1::EkmConfig]
567
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
568
+ #
569
+ # @return [::Google::Cloud::Kms::V1::EkmConfig]
570
+ #
571
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
572
+ def update_ekm_config request, options = nil
573
+ raise ::ArgumentError, "request must be provided" if request.nil?
574
+
575
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Kms::V1::UpdateEkmConfigRequest
576
+
577
+ # Converts hash and nil to an options object
578
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
579
+
580
+ # Customize the options with defaults
581
+ call_metadata = @config.rpcs.update_ekm_config.metadata.to_h
582
+
583
+ # Set x-goog-api-client and x-goog-user-project headers
584
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
585
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
586
+ gapic_version: ::Google::Cloud::Kms::V1::VERSION,
587
+ transports_version_send: [:rest]
588
+
589
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
590
+
591
+ options.apply_defaults timeout: @config.rpcs.update_ekm_config.timeout,
592
+ metadata: call_metadata,
593
+ retry_policy: @config.rpcs.update_ekm_config.retry_policy
594
+
595
+ options.apply_defaults timeout: @config.timeout,
596
+ metadata: @config.metadata,
597
+ retry_policy: @config.retry_policy
598
+
599
+ @ekm_service_stub.update_ekm_config request, options do |result, operation|
600
+ yield result, operation if block_given?
601
+ return result
602
+ end
603
+ rescue ::Gapic::Rest::Error => e
604
+ raise ::Google::Cloud::Error.from_error(e)
605
+ end
606
+
478
607
  ##
479
608
  # Configuration class for the EkmService REST API.
480
609
  #
@@ -513,9 +642,9 @@ module Google
513
642
  # * (`String`) The path to a service account key file in JSON format
514
643
  # * (`Hash`) A service account key as a Hash
515
644
  # * (`Google::Auth::Credentials`) A googleauth credentials object
516
- # (see the [googleauth docs](https://googleapis.dev/ruby/googleauth/latest/index.html))
645
+ # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
517
646
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
518
- # (see the [signet docs](https://googleapis.dev/ruby/signet/latest/Signet/OAuth2/Client.html))
647
+ # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
519
648
  # * (`nil`) indicating no credentials
520
649
  # @return [::Object]
521
650
  # @!attribute [rw] scope
@@ -625,6 +754,16 @@ module Google
625
754
  # @return [::Gapic::Config::Method]
626
755
  #
627
756
  attr_reader :update_ekm_connection
757
+ ##
758
+ # RPC-specific configuration for `get_ekm_config`
759
+ # @return [::Gapic::Config::Method]
760
+ #
761
+ attr_reader :get_ekm_config
762
+ ##
763
+ # RPC-specific configuration for `update_ekm_config`
764
+ # @return [::Gapic::Config::Method]
765
+ #
766
+ attr_reader :update_ekm_config
628
767
 
629
768
  # @private
630
769
  def initialize parent_rpcs = nil
@@ -636,6 +775,10 @@ module Google
636
775
  @create_ekm_connection = ::Gapic::Config::Method.new create_ekm_connection_config
637
776
  update_ekm_connection_config = parent_rpcs.update_ekm_connection if parent_rpcs.respond_to? :update_ekm_connection
638
777
  @update_ekm_connection = ::Gapic::Config::Method.new update_ekm_connection_config
778
+ get_ekm_config_config = parent_rpcs.get_ekm_config if parent_rpcs.respond_to? :get_ekm_config
779
+ @get_ekm_config = ::Gapic::Config::Method.new get_ekm_config_config
780
+ update_ekm_config_config = parent_rpcs.update_ekm_config if parent_rpcs.respond_to? :update_ekm_config
781
+ @update_ekm_config = ::Gapic::Config::Method.new update_ekm_config_config
639
782
 
640
783
  yield self if block_given?
641
784
  end
@@ -192,6 +192,82 @@ module Google
192
192
  result
193
193
  end
194
194
 
195
+ ##
196
+ # Baseline implementation for the get_ekm_config REST call
197
+ #
198
+ # @param request_pb [::Google::Cloud::Kms::V1::GetEkmConfigRequest]
199
+ # A request object representing the call parameters. Required.
200
+ # @param options [::Gapic::CallOptions]
201
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
202
+ #
203
+ # @yield [result, operation] Access the result along with the TransportOperation object
204
+ # @yieldparam result [::Google::Cloud::Kms::V1::EkmConfig]
205
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
206
+ #
207
+ # @return [::Google::Cloud::Kms::V1::EkmConfig]
208
+ # A result object deserialized from the server's reply
209
+ def get_ekm_config request_pb, options = nil
210
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
211
+
212
+ verb, uri, query_string_params, body = ServiceStub.transcode_get_ekm_config_request request_pb
213
+ query_string_params = if query_string_params.any?
214
+ query_string_params.to_h { |p| p.split("=", 2) }
215
+ else
216
+ {}
217
+ end
218
+
219
+ response = @client_stub.make_http_request(
220
+ verb,
221
+ uri: uri,
222
+ body: body || "",
223
+ params: query_string_params,
224
+ options: options
225
+ )
226
+ operation = ::Gapic::Rest::TransportOperation.new response
227
+ result = ::Google::Cloud::Kms::V1::EkmConfig.decode_json response.body, ignore_unknown_fields: true
228
+
229
+ yield result, operation if block_given?
230
+ result
231
+ end
232
+
233
+ ##
234
+ # Baseline implementation for the update_ekm_config REST call
235
+ #
236
+ # @param request_pb [::Google::Cloud::Kms::V1::UpdateEkmConfigRequest]
237
+ # A request object representing the call parameters. Required.
238
+ # @param options [::Gapic::CallOptions]
239
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
240
+ #
241
+ # @yield [result, operation] Access the result along with the TransportOperation object
242
+ # @yieldparam result [::Google::Cloud::Kms::V1::EkmConfig]
243
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
244
+ #
245
+ # @return [::Google::Cloud::Kms::V1::EkmConfig]
246
+ # A result object deserialized from the server's reply
247
+ def update_ekm_config request_pb, options = nil
248
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
249
+
250
+ verb, uri, query_string_params, body = ServiceStub.transcode_update_ekm_config_request request_pb
251
+ query_string_params = if query_string_params.any?
252
+ query_string_params.to_h { |p| p.split("=", 2) }
253
+ else
254
+ {}
255
+ end
256
+
257
+ response = @client_stub.make_http_request(
258
+ verb,
259
+ uri: uri,
260
+ body: body || "",
261
+ params: query_string_params,
262
+ options: options
263
+ )
264
+ operation = ::Gapic::Rest::TransportOperation.new response
265
+ result = ::Google::Cloud::Kms::V1::EkmConfig.decode_json response.body, ignore_unknown_fields: true
266
+
267
+ yield result, operation if block_given?
268
+ result
269
+ end
270
+
195
271
  ##
196
272
  # @private
197
273
  #
@@ -277,6 +353,49 @@ module Google
277
353
  )
278
354
  transcoder.transcode request_pb
279
355
  end
356
+
357
+ ##
358
+ # @private
359
+ #
360
+ # GRPC transcoding helper method for the get_ekm_config REST call
361
+ #
362
+ # @param request_pb [::Google::Cloud::Kms::V1::GetEkmConfigRequest]
363
+ # A request object representing the call parameters. Required.
364
+ # @return [Array(String, [String, nil], Hash{String => String})]
365
+ # Uri, Body, Query string parameters
366
+ def self.transcode_get_ekm_config_request request_pb
367
+ transcoder = Gapic::Rest::GrpcTranscoder.new
368
+ .with_bindings(
369
+ uri_method: :get,
370
+ uri_template: "/v1/{name}",
371
+ matches: [
372
+ ["name", %r{^projects/[^/]+/locations/[^/]+/ekmConfig/?$}, false]
373
+ ]
374
+ )
375
+ transcoder.transcode request_pb
376
+ end
377
+
378
+ ##
379
+ # @private
380
+ #
381
+ # GRPC transcoding helper method for the update_ekm_config REST call
382
+ #
383
+ # @param request_pb [::Google::Cloud::Kms::V1::UpdateEkmConfigRequest]
384
+ # A request object representing the call parameters. Required.
385
+ # @return [Array(String, [String, nil], Hash{String => String})]
386
+ # Uri, Body, Query string parameters
387
+ def self.transcode_update_ekm_config_request request_pb
388
+ transcoder = Gapic::Rest::GrpcTranscoder.new
389
+ .with_bindings(
390
+ uri_method: :patch,
391
+ uri_template: "/v1/{ekm_config.name}",
392
+ body: "ekm_config",
393
+ matches: [
394
+ ["ekm_config.name", %r{^projects/[^/]+/locations/[^/]+/ekmConfig/?$}, false]
395
+ ]
396
+ )
397
+ transcoder.transcode request_pb
398
+ end
280
399
  end
281
400
  end
282
401
  end
@@ -36,6 +36,13 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
36
36
  optional :ekm_connection, :message, 1, "google.cloud.kms.v1.EkmConnection"
37
37
  optional :update_mask, :message, 2, "google.protobuf.FieldMask"
38
38
  end
39
+ add_message "google.cloud.kms.v1.GetEkmConfigRequest" do
40
+ optional :name, :string, 1
41
+ end
42
+ add_message "google.cloud.kms.v1.UpdateEkmConfigRequest" do
43
+ optional :ekm_config, :message, 1, "google.cloud.kms.v1.EkmConfig"
44
+ optional :update_mask, :message, 2, "google.protobuf.FieldMask"
45
+ end
39
46
  add_message "google.cloud.kms.v1.Certificate" do
40
47
  optional :raw_der, :bytes, 1
41
48
  optional :parsed, :bool, 2
@@ -52,6 +59,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
52
59
  optional :create_time, :message, 2, "google.protobuf.Timestamp"
53
60
  repeated :service_resolvers, :message, 3, "google.cloud.kms.v1.EkmConnection.ServiceResolver"
54
61
  optional :etag, :string, 5
62
+ optional :key_management_mode, :enum, 6, "google.cloud.kms.v1.EkmConnection.KeyManagementMode"
63
+ optional :crypto_space_path, :string, 7
55
64
  end
56
65
  add_message "google.cloud.kms.v1.EkmConnection.ServiceResolver" do
57
66
  optional :service_directory_service, :string, 1
@@ -59,6 +68,15 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
59
68
  optional :hostname, :string, 3
60
69
  repeated :server_certificates, :message, 4, "google.cloud.kms.v1.Certificate"
61
70
  end
71
+ add_enum "google.cloud.kms.v1.EkmConnection.KeyManagementMode" do
72
+ value :KEY_MANAGEMENT_MODE_UNSPECIFIED, 0
73
+ value :MANUAL, 1
74
+ value :CLOUD_KMS, 2
75
+ end
76
+ add_message "google.cloud.kms.v1.EkmConfig" do
77
+ optional :name, :string, 1
78
+ optional :default_ekm_connection, :string, 2
79
+ end
62
80
  end
63
81
  end
64
82
 
@@ -71,9 +89,13 @@ module Google
71
89
  GetEkmConnectionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.GetEkmConnectionRequest").msgclass
72
90
  CreateEkmConnectionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.CreateEkmConnectionRequest").msgclass
73
91
  UpdateEkmConnectionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.UpdateEkmConnectionRequest").msgclass
92
+ GetEkmConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.GetEkmConfigRequest").msgclass
93
+ UpdateEkmConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.UpdateEkmConfigRequest").msgclass
74
94
  Certificate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.Certificate").msgclass
75
95
  EkmConnection = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.EkmConnection").msgclass
76
96
  EkmConnection::ServiceResolver = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.EkmConnection.ServiceResolver").msgclass
97
+ EkmConnection::KeyManagementMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.EkmConnection.KeyManagementMode").enummodule
98
+ EkmConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.EkmConfig").msgclass
77
99
  end
78
100
  end
79
101
  end
@@ -47,6 +47,12 @@ module Google
47
47
  rpc :CreateEkmConnection, ::Google::Cloud::Kms::V1::CreateEkmConnectionRequest, ::Google::Cloud::Kms::V1::EkmConnection
48
48
  # Updates an [EkmConnection][google.cloud.kms.v1.EkmConnection]'s metadata.
49
49
  rpc :UpdateEkmConnection, ::Google::Cloud::Kms::V1::UpdateEkmConnectionRequest, ::Google::Cloud::Kms::V1::EkmConnection
50
+ # Returns the [EkmConfig][google.cloud.kms.v1.EkmConfig] singleton resource
51
+ # for a given project and location.
52
+ rpc :GetEkmConfig, ::Google::Cloud::Kms::V1::GetEkmConfigRequest, ::Google::Cloud::Kms::V1::EkmConfig
53
+ # Updates the [EkmConfig][google.cloud.kms.v1.EkmConfig] singleton resource
54
+ # for a given project and location.
55
+ rpc :UpdateEkmConfig, ::Google::Cloud::Kms::V1::UpdateEkmConfigRequest, ::Google::Cloud::Kms::V1::EkmConfig
50
56
  end
51
57
 
52
58
  Stub = Service.rpc_stub_class
@@ -3173,9 +3173,9 @@ module Google
3173
3173
  # * (`String`) The path to a service account key file in JSON format
3174
3174
  # * (`Hash`) A service account key as a Hash
3175
3175
  # * (`Google::Auth::Credentials`) A googleauth credentials object
3176
- # (see the [googleauth docs](https://googleapis.dev/ruby/googleauth/latest/index.html))
3176
+ # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
3177
3177
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
3178
- # (see the [signet docs](https://googleapis.dev/ruby/signet/latest/Signet/OAuth2/Client.html))
3178
+ # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
3179
3179
  # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
3180
3180
  # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
3181
3181
  # * (`nil`) indicating no credentials
@@ -2552,9 +2552,9 @@ module Google
2552
2552
  # * (`String`) The path to a service account key file in JSON format
2553
2553
  # * (`Hash`) A service account key as a Hash
2554
2554
  # * (`Google::Auth::Credentials`) A googleauth credentials object
2555
- # (see the [googleauth docs](https://googleapis.dev/ruby/googleauth/latest/index.html))
2555
+ # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
2556
2556
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
2557
- # (see the [signet docs](https://googleapis.dev/ruby/signet/latest/Signet/OAuth2/Client.html))
2557
+ # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
2558
2558
  # * (`nil`) indicating no credentials
2559
2559
  # @return [::Object]
2560
2560
  # @!attribute [rw] scope
@@ -69,6 +69,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
69
69
  optional :import_job, :string, 14
70
70
  optional :import_time, :message, 15, "google.protobuf.Timestamp"
71
71
  optional :import_failure_reason, :string, 16
72
+ optional :generation_failure_reason, :string, 19
73
+ optional :external_destruction_failure_reason, :string, 20
72
74
  optional :external_protection_level_options, :message, 17, "google.cloud.kms.v1.ExternalProtectionLevelOptions"
73
75
  optional :reimport_eligible, :bool, 18
74
76
  end
@@ -112,6 +114,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
112
114
  value :DESTROY_SCHEDULED, 4
113
115
  value :PENDING_IMPORT, 6
114
116
  value :IMPORT_FAILED, 7
117
+ value :GENERATION_FAILED, 8
118
+ value :PENDING_EXTERNAL_DESTRUCTION, 9
119
+ value :EXTERNAL_DESTRUCTION_FAILED, 10
115
120
  end
116
121
  add_enum "google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView" do
117
122
  value :CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED, 0
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Kms
23
23
  module V1
24
- VERSION = "0.17.0"
24
+ VERSION = "0.18.1"
25
25
  end
26
26
  end
27
27
  end
@@ -35,7 +35,9 @@ module Google
35
35
  # Details about how and where to publish client libraries.
36
36
  # @!attribute [rw] version
37
37
  # @return [::String]
38
- # Version of the API to apply these settings to.
38
+ # Version of the API to apply these settings to. This is the full protobuf
39
+ # package for the API, ending in the version element.
40
+ # Examples: "google.cloud.speech.v1" and "google.spanner.admin.database.v1".
39
41
  # @!attribute [rw] launch_stage
40
42
  # @return [::Google::Api::LaunchStage]
41
43
  # Launch stage of this version of the API.
@@ -111,6 +113,10 @@ module Google
111
113
  # Client library settings. If the same version string appears multiple
112
114
  # times in this list, then the last one wins. Settings from earlier
113
115
  # settings with the same version string are discarded.
116
+ # @!attribute [rw] proto_reference_documentation_uri
117
+ # @return [::String]
118
+ # Optional link to proto reference documentation. Example:
119
+ # https://cloud.google.com/pubsub/lite/docs/reference/rpc
114
120
  class Publishing
115
121
  include ::Google::Protobuf::MessageExts
116
122
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -203,9 +209,57 @@ module Google
203
209
  # @!attribute [rw] common
204
210
  # @return [::Google::Api::CommonLanguageSettings]
205
211
  # Some settings.
212
+ # @!attribute [rw] renamed_services
213
+ # @return [::Google::Protobuf::Map{::String => ::String}]
214
+ # Map from original service names to renamed versions.
215
+ # This is used when the default generated types
216
+ # would cause a naming conflict. (Neither name is
217
+ # fully-qualified.)
218
+ # Example: Subscriber to SubscriberServiceApi.
219
+ # @!attribute [rw] renamed_resources
220
+ # @return [::Google::Protobuf::Map{::String => ::String}]
221
+ # Map from full resource types to the effective short name
222
+ # for the resource. This is used when otherwise resource
223
+ # named from different services would cause naming collisions.
224
+ # Example entry:
225
+ # "datalabeling.googleapis.com/Dataset": "DataLabelingDataset"
226
+ # @!attribute [rw] ignored_resources
227
+ # @return [::Array<::String>]
228
+ # List of full resource types to ignore during generation.
229
+ # This is typically used for API-specific Location resources,
230
+ # which should be handled by the generator as if they were actually
231
+ # the common Location resources.
232
+ # Example entry: "documentai.googleapis.com/Location"
233
+ # @!attribute [rw] forced_namespace_aliases
234
+ # @return [::Array<::String>]
235
+ # Namespaces which must be aliased in snippets due to
236
+ # a known (but non-generator-predictable) naming collision
237
+ # @!attribute [rw] handwritten_signatures
238
+ # @return [::Array<::String>]
239
+ # Method signatures (in the form "service.method(signature)")
240
+ # which are provided separately, so shouldn't be generated.
241
+ # Snippets *calling* these methods are still generated, however.
206
242
  class DotnetSettings
207
243
  include ::Google::Protobuf::MessageExts
208
244
  extend ::Google::Protobuf::MessageExts::ClassMethods
245
+
246
+ # @!attribute [rw] key
247
+ # @return [::String]
248
+ # @!attribute [rw] value
249
+ # @return [::String]
250
+ class RenamedServicesEntry
251
+ include ::Google::Protobuf::MessageExts
252
+ extend ::Google::Protobuf::MessageExts::ClassMethods
253
+ end
254
+
255
+ # @!attribute [rw] key
256
+ # @return [::String]
257
+ # @!attribute [rw] value
258
+ # @return [::String]
259
+ class RenamedResourcesEntry
260
+ include ::Google::Protobuf::MessageExts
261
+ extend ::Google::Protobuf::MessageExts::ClassMethods
262
+ end
209
263
  end
210
264
 
211
265
  # Settings for Ruby client libraries.
@@ -240,8 +294,8 @@ module Google
240
294
  # Example of a YAML configuration::
241
295
  #
242
296
  # publishing:
243
- # method_behavior:
244
- # - selector: CreateAdDomain
297
+ # method_settings:
298
+ # - selector: google.cloud.speech.v2.Speech.BatchRecognize
245
299
  # long_running:
246
300
  # initial_poll_delay:
247
301
  # seconds: 60 # 1 minute
@@ -122,6 +122,30 @@ module Google
122
122
  extend ::Google::Protobuf::MessageExts::ClassMethods
123
123
  end
124
124
 
125
+ # Request message for
126
+ # {::Google::Cloud::Kms::V1::EkmService::Client#get_ekm_config EkmService.GetEkmConfig}.
127
+ # @!attribute [rw] name
128
+ # @return [::String]
129
+ # Required. The {::Google::Cloud::Kms::V1::EkmConfig#name name} of the
130
+ # {::Google::Cloud::Kms::V1::EkmConfig EkmConfig} to get.
131
+ class GetEkmConfigRequest
132
+ include ::Google::Protobuf::MessageExts
133
+ extend ::Google::Protobuf::MessageExts::ClassMethods
134
+ end
135
+
136
+ # Request message for
137
+ # {::Google::Cloud::Kms::V1::EkmService::Client#update_ekm_config EkmService.UpdateEkmConfig}.
138
+ # @!attribute [rw] ekm_config
139
+ # @return [::Google::Cloud::Kms::V1::EkmConfig]
140
+ # Required. {::Google::Cloud::Kms::V1::EkmConfig EkmConfig} with updated values.
141
+ # @!attribute [rw] update_mask
142
+ # @return [::Google::Protobuf::FieldMask]
143
+ # Required. List of fields to be updated in this request.
144
+ class UpdateEkmConfigRequest
145
+ include ::Google::Protobuf::MessageExts
146
+ extend ::Google::Protobuf::MessageExts::ClassMethods
147
+ end
148
+
125
149
  # A {::Google::Cloud::Kms::V1::Certificate Certificate} represents an X.509
126
150
  # certificate used to authenticate HTTPS connections to EKM replicas.
127
151
  # @!attribute [rw] raw_der
@@ -192,6 +216,18 @@ module Google
192
216
  # @return [::String]
193
217
  # Optional. Etag of the currently stored
194
218
  # {::Google::Cloud::Kms::V1::EkmConnection EkmConnection}.
219
+ # @!attribute [rw] key_management_mode
220
+ # @return [::Google::Cloud::Kms::V1::EkmConnection::KeyManagementMode]
221
+ # Optional. Describes who can perform control plane operations on the EKM. If
222
+ # unset, this defaults to
223
+ # {::Google::Cloud::Kms::V1::EkmConnection::KeyManagementMode::MANUAL MANUAL}.
224
+ # @!attribute [rw] crypto_space_path
225
+ # @return [::String]
226
+ # Optional. Identifies the EKM Crypto Space that this
227
+ # {::Google::Cloud::Kms::V1::EkmConnection EkmConnection} maps to. Note: This
228
+ # field is required if
229
+ # {::Google::Cloud::Kms::V1::EkmConnection::KeyManagementMode KeyManagementMode} is
230
+ # {::Google::Cloud::Kms::V1::EkmConnection::KeyManagementMode::CLOUD_KMS CLOUD_KMS}.
195
231
  class EkmConnection
196
232
  include ::Google::Protobuf::MessageExts
197
233
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -224,6 +260,66 @@ module Google
224
260
  include ::Google::Protobuf::MessageExts
225
261
  extend ::Google::Protobuf::MessageExts::ClassMethods
226
262
  end
263
+
264
+ # {::Google::Cloud::Kms::V1::EkmConnection::KeyManagementMode KeyManagementMode}
265
+ # describes who can perform control plane cryptographic operations using this
266
+ # {::Google::Cloud::Kms::V1::EkmConnection EkmConnection}.
267
+ module KeyManagementMode
268
+ # Not specified.
269
+ KEY_MANAGEMENT_MODE_UNSPECIFIED = 0
270
+
271
+ # EKM-side key management operations on
272
+ # {::Google::Cloud::Kms::V1::CryptoKey CryptoKeys} created with this
273
+ # {::Google::Cloud::Kms::V1::EkmConnection EkmConnection} must be initiated from
274
+ # the EKM directly and cannot be performed from Cloud KMS. This means that:
275
+ # * When creating a
276
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} associated with
277
+ # this
278
+ # {::Google::Cloud::Kms::V1::EkmConnection EkmConnection}, the caller must
279
+ # supply the key path of pre-existing external key material that will be
280
+ # linked to the {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}.
281
+ # * Destruction of external key material cannot be requested via the
282
+ # Cloud KMS API and must be performed directly in the EKM.
283
+ # * Automatic rotation of key material is not supported.
284
+ MANUAL = 1
285
+
286
+ # All {::Google::Cloud::Kms::V1::CryptoKey CryptoKeys} created with this
287
+ # {::Google::Cloud::Kms::V1::EkmConnection EkmConnection} use EKM-side key
288
+ # management operations initiated from Cloud KMS. This means that:
289
+ # * When a {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}
290
+ # associated with this {::Google::Cloud::Kms::V1::EkmConnection EkmConnection}
291
+ # is
292
+ # created, the EKM automatically generates new key material and a new
293
+ # key path. The caller cannot supply the key path of pre-existing
294
+ # external key material.
295
+ # * Destruction of external key material associated with this
296
+ # {::Google::Cloud::Kms::V1::EkmConnection EkmConnection} can be requested by
297
+ # calling [DestroyCryptoKeyVersion][EkmService.DestroyCryptoKeyVersion].
298
+ # * Automatic rotation of key material is supported.
299
+ CLOUD_KMS = 2
300
+ end
301
+ end
302
+
303
+ # An {::Google::Cloud::Kms::V1::EkmConfig EkmConfig} is a singleton resource that
304
+ # represents configuration parameters that apply to all
305
+ # {::Google::Cloud::Kms::V1::CryptoKey CryptoKeys} and
306
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersions} with a
307
+ # {::Google::Cloud::Kms::V1::ProtectionLevel ProtectionLevel} of
308
+ # [EXTERNAL_VPC][CryptoKeyVersion.ProtectionLevel.EXTERNAL_VPC] in a given
309
+ # project and location.
310
+ # @!attribute [r] name
311
+ # @return [::String]
312
+ # Output only. The resource name for the
313
+ # {::Google::Cloud::Kms::V1::EkmConfig EkmConfig} in the format
314
+ # `projects/*/locations/*/ekmConfig`.
315
+ # @!attribute [rw] default_ekm_connection
316
+ # @return [::String]
317
+ # Optional. Resource name of the default
318
+ # {::Google::Cloud::Kms::V1::EkmConnection EkmConnection}. Setting this field to
319
+ # the empty string removes the default.
320
+ class EkmConfig
321
+ include ::Google::Protobuf::MessageExts
322
+ extend ::Google::Protobuf::MessageExts::ClassMethods
227
323
  end
228
324
  end
229
325
  end
@@ -341,6 +341,17 @@ module Google
341
341
  # Output only. The root cause of the most recent import failure. Only present
342
342
  # if {::Google::Cloud::Kms::V1::CryptoKeyVersion#state state} is
343
343
  # {::Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::IMPORT_FAILED IMPORT_FAILED}.
344
+ # @!attribute [r] generation_failure_reason
345
+ # @return [::String]
346
+ # Output only. The root cause of the most recent generation failure. Only
347
+ # present if {::Google::Cloud::Kms::V1::CryptoKeyVersion#state state} is
348
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::GENERATION_FAILED GENERATION_FAILED}.
349
+ # @!attribute [r] external_destruction_failure_reason
350
+ # @return [::String]
351
+ # Output only. The root cause of the most recent external destruction
352
+ # failure. Only present if
353
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion#state state} is
354
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::EXTERNAL_DESTRUCTION_FAILED EXTERNAL_DESTRUCTION_FAILED}.
344
355
  # @!attribute [rw] external_protection_level_options
345
356
  # @return [::Google::Cloud::Kms::V1::ExternalProtectionLevelOptions]
346
357
  # ExternalProtectionLevelOptions stores a group of additional fields for
@@ -465,13 +476,19 @@ module Google
465
476
  RSA_DECRYPT_OAEP_4096_SHA1 = 39
466
477
 
467
478
  # ECDSA on the NIST P-256 curve with a SHA256 digest.
479
+ # Other hash functions can also be used:
480
+ # https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
468
481
  EC_SIGN_P256_SHA256 = 12
469
482
 
470
483
  # ECDSA on the NIST P-384 curve with a SHA384 digest.
484
+ # Other hash functions can also be used:
485
+ # https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
471
486
  EC_SIGN_P384_SHA384 = 13
472
487
 
473
488
  # ECDSA on the non-NIST secp256k1 curve. This curve is only supported for
474
489
  # HSM protection level.
490
+ # Other hash functions can also be used:
491
+ # https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
475
492
  EC_SIGN_SECP256K1_SHA256 = 31
476
493
 
477
494
  # HMAC-SHA256 signing with a 256 bit key.
@@ -544,6 +561,23 @@ module Google
544
561
  # Additional details can be found in
545
562
  # {::Google::Cloud::Kms::V1::CryptoKeyVersion#import_failure_reason CryptoKeyVersion.import_failure_reason}.
546
563
  IMPORT_FAILED = 7
564
+
565
+ # This version was not generated successfully. It may not be used, enabled,
566
+ # disabled, or destroyed. Additional details can be found in
567
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion#generation_failure_reason CryptoKeyVersion.generation_failure_reason}.
568
+ GENERATION_FAILED = 8
569
+
570
+ # This version was destroyed, and it may not be used or enabled again.
571
+ # Cloud KMS is waiting for the corresponding key material residing in an
572
+ # external key manager to be destroyed.
573
+ PENDING_EXTERNAL_DESTRUCTION = 9
574
+
575
+ # This version was destroyed, and it may not be used or enabled again.
576
+ # However, Cloud KMS could not confirm that the corresponding key material
577
+ # residing in an external key manager was destroyed. Additional details can
578
+ # be found in
579
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion#external_destruction_failure_reason CryptoKeyVersion.external_destruction_failure_reason}.
580
+ EXTERNAL_DESTRUCTION_FAILED = 10
547
581
  end
548
582
 
549
583
  # A view for {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}s.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-kms-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.0
4
+ version: 0.18.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-17 00:00:00.000000000 Z
11
+ date: 2023-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.17.1
19
+ version: 0.18.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 2.a
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.17.1
29
+ version: 0.18.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.a
@@ -273,5 +273,6 @@ requirements: []
273
273
  rubygems_version: 3.4.2
274
274
  signing_key:
275
275
  specification_version: 4
276
- summary: API Client library for the Cloud Key Management Service (KMS) V1 API
276
+ summary: Manages keys and performs cryptographic operations in a central cloud service,
277
+ for direct use by other cloud resources and applications.
277
278
  test_files: []