google-cloud-kms-v1 0.17.0 → 0.18.1

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: '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: []