Module: Google::Cloud::Kms
- Defined in:
- lib/google/cloud/kms.rb,
lib/google/cloud/kms/helpers.rb,
lib/google/cloud/kms/version.rb
Constant Summary collapse
- VERSION =
"2.7.0"
Class Method Summary collapse
-
.configure {|::Google::Cloud.configure.kms| ... } ⇒ ::Google::Cloud::Config
Configure the google-cloud-kms library.
-
.ekm_service(version: :v1, transport: :grpc, &block) ⇒ ::Object
Create a new client object for EkmService.
-
.iam_policy(version: :v1, &block) ⇒ IAMPolicy::Client
Create a new client object for IAMPolicy.
-
.key_management_service(version: :v1, transport: :grpc, &block) ⇒ ::Object
Create a new client object for KeyManagementService.
Class Method Details
.configure {|::Google::Cloud.configure.kms| ... } ⇒ ::Google::Cloud::Config
Configure the google-cloud-kms library.
The following configuration parameters are supported:
credentials
(type:String, Hash, Google::Auth::Credentials
) - The path to the keyfile as a String, the contents of the keyfile as a Hash, or a Google::Auth::Credentials object.lib_name
(type:String
) - The library name as recorded in instrumentation and logging.lib_version
(type:String
) - The library version as recorded in instrumentation and logging.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 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.:retry_codes
(type:Array<String>
) - The error codes that should trigger a retry.
159 160 161 162 163 |
# File 'lib/google/cloud/kms.rb', line 159 def self.configure yield ::Google::Cloud.configure.kms if block_given? ::Google::Cloud.configure.kms end |
.ekm_service(version: :v1, transport: :grpc, &block) ⇒ ::Object
Create a new client object for EkmService.
By default, this returns an instance of
Google::Cloud::Kms::V1::EkmService::Client
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
Manages external cryptographic keys and operations using those keys. Implements a REST model with the following objects:
- EkmConnection
74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/google/cloud/kms.rb', line 74 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 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 |
.iam_policy(version: :v1, &block) ⇒ IAMPolicy::Client
Create a new client object for IAMPolicy.
By default, this returns an instance of
Google::Cloud::Kms::V1::IAMPolicy::Client
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.
69 70 71 72 73 74 75 76 77 78 |
# File 'lib/google/cloud/kms/helpers.rb', line 69 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 |
.key_management_service(version: :v1, transport: :grpc, &block) ⇒ ::Object
Create a new client object for KeyManagementService.
By default, this returns an instance of
Google::Cloud::Kms::V1::KeyManagementService::Client
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
Manages cryptographic keys and operations using those keys. Implements a REST model with the following objects:
- KeyRing
- CryptoKey
- CryptoKeyVersion
- ImportJob
If you are using manual gRPC libraries, see Using gRPC with Cloud KMS.
119 120 121 122 123 124 125 126 127 128 129 |
# File 'lib/google/cloud/kms.rb', line 119 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 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 |