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.