lib/google/cloud/kms.rb in google-cloud-kms-2.4.0 vs lib/google/cloud/kms.rb in google-cloud-kms-2.5.0
- old
+ new
@@ -47,15 +47,17 @@
##
# Create a new client object for EkmService.
#
# By default, this returns an instance of
# [Google::Cloud::Kms::V1::EkmService::Client](https://googleapis.dev/ruby/google-cloud-kms-v1/latest/Google/Cloud/Kms/V1/EkmService/Client.html)
- # for version V1 of the API.
- # However, you can specify specify a different API version by passing it in the
+ # for a gRPC client for version V1 of the API.
+ # However, you can specify a different API version by passing it in the
# `version` parameter. If the EkmService service is
# supported by that API version, and the corresponding gem is available, the
# appropriate versioned client will be returned.
+ # You can also specify a different transport by passing `:rest` or `:grpc` in
+ # the `transport` parameter.
#
# ## About EkmService
#
# Google Cloud Key Management EKM Service
#
@@ -63,33 +65,37 @@
# Implements a REST model with the following objects:
# * EkmConnection
#
# @param version [::String, ::Symbol] The API version to connect to. Optional.
# Defaults to `:v1`.
- # @return [EkmService::Client] A client object for the specified version.
+ # @param transport [:grpc, :rest] The transport to use. Defaults to `:grpc`.
+ # @return [::Object] A client object for the specified version.
#
- def self.ekm_service version: :v1, &block
+ def self.ekm_service version: :v1, transport: :grpc, &block
require "google/cloud/kms/#{version.to_s.downcase}"
package_name = Google::Cloud::Kms
.constants
.select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
.first
- package_module = Google::Cloud::Kms.const_get package_name
- package_module.const_get(:EkmService).const_get(:Client).new(&block)
+ service_module = Google::Cloud::Kms.const_get(package_name).const_get(:EkmService)
+ service_module = service_module.const_get(:Rest) if transport == :rest
+ service_module.const_get(:Client).new(&block)
end
##
# Create a new client object for KeyManagementService.
#
# By default, this returns an instance of
# [Google::Cloud::Kms::V1::KeyManagementService::Client](https://googleapis.dev/ruby/google-cloud-kms-v1/latest/Google/Cloud/Kms/V1/KeyManagementService/Client.html)
- # for version V1 of the API.
- # However, you can specify specify a different API version by passing it in the
+ # for a gRPC client for version V1 of the API.
+ # However, you can specify a different API version by passing it in the
# `version` parameter. If the KeyManagementService service is
# supported by that API version, and the corresponding gem is available, the
# appropriate versioned client will be returned.
+ # You can also specify a different transport by passing `:rest` or `:grpc` in
+ # the `transport` parameter.
#
# ## About KeyManagementService
#
# Google Cloud Key Management Service
#
@@ -104,79 +110,26 @@
# If you are using manual gRPC libraries, see
# [Using gRPC with Cloud KMS](https://cloud.google.com/kms/docs/grpc).
#
# @param version [::String, ::Symbol] The API version to connect to. Optional.
# Defaults to `:v1`.
- # @return [KeyManagementService::Client] A client object for the specified version.
+ # @param transport [:grpc, :rest] The transport to use. Defaults to `:grpc`.
+ # @return [::Object] A client object for the specified version.
#
- def self.key_management_service version: :v1, &block
+ def self.key_management_service version: :v1, transport: :grpc, &block
require "google/cloud/kms/#{version.to_s.downcase}"
package_name = Google::Cloud::Kms
.constants
.select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
.first
- package_module = Google::Cloud::Kms.const_get package_name
- package_module.const_get(:KeyManagementService).const_get(:Client).new(&block)
+ service_module = Google::Cloud::Kms.const_get(package_name).const_get(:KeyManagementService)
+ service_module = service_module.const_get(:Rest) if transport == :rest
+ service_module.const_get(:Client).new(&block)
end
##
- # Create a new client object for IAMPolicy.
- #
- # By default, this returns an instance of
- # [Google::Cloud::Kms::V1::IAMPolicy::Client](https://googleapis.dev/ruby/google-cloud-kms-v1/latest/Google/Cloud/Kms/V1/IAMPolicy/Client.html)
- # for version V1 of the API.
- # However, you can specify specify a different API version by passing it in the
- # `version` parameter. If the IAMPolicy service is
- # supported by that API version, and the corresponding gem is available, the
- # appropriate versioned client will be returned.
- #
- # ## About IAMPolicy
- #
- # API Overview
- #
- #
- # Manages Identity and Access Management (IAM) policies.
- #
- # Any implementation of an API that offers access control features
- # implements the google.iam.v1.IAMPolicy interface.
- #
- # ## Data model
- #
- # Access control is applied when a principal (user or service account), takes
- # some action on a resource exposed by a service. Resources, identified by
- # URI-like names, are the unit of access control specification. Service
- # implementations can choose the granularity of access control and the
- # supported permissions for their resources.
- # For example one database service may allow access control to be
- # specified only at the Table level, whereas another might allow access control
- # to also be specified at the Column level.
- #
- # ## Policy Structure
- #
- # See google.iam.v1.Policy
- #
- # This is intentionally not a CRUD style API because access control policies
- # are created and deleted implicitly with the resources to which they are
- # attached.
- #
- # @param version [::String, ::Symbol] The API version to connect to. Optional.
- # Defaults to `:v1`.
- # @return [IAMPolicy::Client] A client object for the specified version.
- #
- def self.iam_policy version: :v1, &block
- require "google/cloud/kms/#{version.to_s.downcase}"
-
- package_name = Google::Cloud::Kms
- .constants
- .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
- .first
- package_module = Google::Cloud::Kms.const_get package_name
- package_module.const_get(:IAMPolicy).const_get(:Client).new(&block)
- end
-
- ##
# Configure the google-cloud-kms library.
#
# The following configuration parameters are supported:
#
# * `credentials` (*type:* `String, Hash, Google::Auth::Credentials`) -
@@ -189,10 +142,10 @@
# * `interceptors` (*type:* `Array<GRPC::ClientInterceptor>`) -
# An array of interceptors that are run before calls are executed.
# * `timeout` (*type:* `Numeric`) -
# Default timeout in seconds.
# * `metadata` (*type:* `Hash{Symbol=>String}`) -
- # Additional gRPC headers to be sent with the call.
+ # Additional headers to be sent with the call.
# * `retry_policy` (*type:* `Hash`) -
# The retry policy. The value is a hash with the following keys:
# * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
# * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
# * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.