Module: Google::Iam::Credentials
- Defined in:
- lib/google/iam/credentials.rb,
lib/google/iam/credentials/version.rb
Constant Summary collapse
- VERSION =
"1.4.1"
Class Method Summary collapse
-
.iam_credentials(version: :v1, transport: :grpc, &block) ⇒ ::Object
Create a new client object for IAMCredentials.
Class Method Details
.iam_credentials(version: :v1, transport: :grpc, &block) ⇒ ::Object
Create a new client object for IAMCredentials.
By default, this returns an instance of
Google::Iam::Credentials::V1::IAMCredentials::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 IAMCredentials 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 IAMCredentials
A service account is a special type of Google account that belongs to your application or a virtual machine (VM), instead of to an individual end user. Your application assumes the identity of the service account to call Google APIs, so that the users aren't directly involved.
Service account credentials are used to temporarily assume the identity of the service account. Supported credential types include OAuth 2.0 access tokens, OpenID Connect ID tokens, self-signed JSON Web Tokens (JWTs), and more.
60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/google/iam/credentials.rb', line 60 def self.iam_credentials version: :v1, transport: :grpc, &block require "google/iam/credentials/#{version.to_s.downcase}" package_name = Google::Iam::Credentials .constants .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") } .first service_module = Google::Iam::Credentials.const_get(package_name).const_get(:IAMCredentials) service_module = service_module.const_get(:Rest) if transport == :rest service_module.const_get(:Client).new(&block) end |