Class: Google::Apis::IamcredentialsV1::IAMCredentialsService

Inherits:
Core::BaseService
  • Object
show all
Defined in:
lib/google/apis/iamcredentials_v1/service.rb

Overview

IAM Service Account Credentials API

Creates short-lived credentials for impersonating IAM service accounts. To enable this API, you must enable the IAM API (iam.googleapis.com).

Examples:

require 'google/apis/iamcredentials_v1'

Iamcredentials = Google::Apis::IamcredentialsV1 # Alias the module
service = Iamcredentials::IAMCredentialsService.new

See Also:

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeIAMCredentialsService

Returns a new instance of IAMCredentialsService.



46
47
48
49
50
51
# File 'lib/google/apis/iamcredentials_v1/service.rb', line 46

def initialize
  super('https://iamcredentials.googleapis.com/', '',
        client_name: 'google-apis-iamcredentials_v1',
        client_version: Google::Apis::IamcredentialsV1::GEM_VERSION)
  @batch_path = 'batch'
end

Instance Attribute Details

#keyString

Returns API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.

Returns:

  • (String)

    API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.



39
40
41
# File 'lib/google/apis/iamcredentials_v1/service.rb', line 39

def key
  @key
end

#quota_userString

Returns Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.

Returns:

  • (String)

    Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.



44
45
46
# File 'lib/google/apis/iamcredentials_v1/service.rb', line 44

def quota_user
  @quota_user
end

Instance Method Details

#generate_service_account_access_token(name, generate_access_token_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::IamcredentialsV1::GenerateAccessTokenResponse

Generates an OAuth 2.0 access token for a service account.

Parameters:

  • name (String)

    Required. The resource name of the service account for which the credentials are requested, in the following format: projects/-/serviceAccounts/ ACCOUNT_EMAIL_OR_UNIQUEID`. The-` wildcard character is required; replacing it with a project ID is invalid.

  • generate_access_token_request_object (Google::Apis::IamcredentialsV1::GenerateAccessTokenRequest) (defaults to: nil)
  • fields (String) (defaults to: nil)

    Selector specifying which fields to include in a partial response.

  • quota_user (String) (defaults to: nil)

    Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.

  • options (Google::Apis::RequestOptions) (defaults to: nil)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:

  • (Google::Apis::ServerError)

    An error occurred on the server and the request can be retried

  • (Google::Apis::ClientError)

    The request is invalid and should not be retried without modification

  • (Google::Apis::AuthorizationError)

    Authorization is required



77
78
79
80
81
82
83
84
85
86
87
# File 'lib/google/apis/iamcredentials_v1/service.rb', line 77

def (name, generate_access_token_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:post, 'v1/{+name}:generateAccessToken', options)
  command.request_representation = Google::Apis::IamcredentialsV1::GenerateAccessTokenRequest::Representation
  command.request_object = generate_access_token_request_object
  command.response_representation = Google::Apis::IamcredentialsV1::GenerateAccessTokenResponse::Representation
  command.response_class = Google::Apis::IamcredentialsV1::GenerateAccessTokenResponse
  command.params['name'] = name unless name.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end

#generate_service_account_id_token(name, generate_id_token_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::IamcredentialsV1::GenerateIdTokenResponse

Generates an OpenID Connect ID token for a service account.

Parameters:

  • name (String)

    Required. The resource name of the service account for which the credentials are requested, in the following format: projects/-/serviceAccounts/ ACCOUNT_EMAIL_OR_UNIQUEID`. The-` wildcard character is required; replacing it with a project ID is invalid.

  • generate_id_token_request_object (Google::Apis::IamcredentialsV1::GenerateIdTokenRequest) (defaults to: nil)
  • fields (String) (defaults to: nil)

    Selector specifying which fields to include in a partial response.

  • quota_user (String) (defaults to: nil)

    Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.

  • options (Google::Apis::RequestOptions) (defaults to: nil)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:

  • (Google::Apis::ServerError)

    An error occurred on the server and the request can be retried

  • (Google::Apis::ClientError)

    The request is invalid and should not be retried without modification

  • (Google::Apis::AuthorizationError)

    Authorization is required



113
114
115
116
117
118
119
120
121
122
123
# File 'lib/google/apis/iamcredentials_v1/service.rb', line 113

def (name, generate_id_token_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:post, 'v1/{+name}:generateIdToken', options)
  command.request_representation = Google::Apis::IamcredentialsV1::GenerateIdTokenRequest::Representation
  command.request_object = generate_id_token_request_object
  command.response_representation = Google::Apis::IamcredentialsV1::GenerateIdTokenResponse::Representation
  command.response_class = Google::Apis::IamcredentialsV1::GenerateIdTokenResponse
  command.params['name'] = name unless name.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end

#sign_service_account_blob(name, sign_blob_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::IamcredentialsV1::SignBlobResponse

Signs a blob using a service account's system-managed private key.

Parameters:

  • name (String)

    Required. The resource name of the service account for which the credentials are requested, in the following format: projects/-/serviceAccounts/ ACCOUNT_EMAIL_OR_UNIQUEID`. The-` wildcard character is required; replacing it with a project ID is invalid.

  • sign_blob_request_object (Google::Apis::IamcredentialsV1::SignBlobRequest) (defaults to: nil)
  • fields (String) (defaults to: nil)

    Selector specifying which fields to include in a partial response.

  • quota_user (String) (defaults to: nil)

    Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.

  • options (Google::Apis::RequestOptions) (defaults to: nil)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:

  • (Google::Apis::ServerError)

    An error occurred on the server and the request can be retried

  • (Google::Apis::ClientError)

    The request is invalid and should not be retried without modification

  • (Google::Apis::AuthorizationError)

    Authorization is required



149
150
151
152
153
154
155
156
157
158
159
# File 'lib/google/apis/iamcredentials_v1/service.rb', line 149

def (name, sign_blob_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:post, 'v1/{+name}:signBlob', options)
  command.request_representation = Google::Apis::IamcredentialsV1::SignBlobRequest::Representation
  command.request_object = sign_blob_request_object
  command.response_representation = Google::Apis::IamcredentialsV1::SignBlobResponse::Representation
  command.response_class = Google::Apis::IamcredentialsV1::SignBlobResponse
  command.params['name'] = name unless name.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end

#sign_service_account_jwt(name, sign_jwt_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::IamcredentialsV1::SignJwtResponse

Signs a JWT using a service account's system-managed private key.

Parameters:

  • name (String)

    Required. The resource name of the service account for which the credentials are requested, in the following format: projects/-/serviceAccounts/ ACCOUNT_EMAIL_OR_UNIQUEID`. The-` wildcard character is required; replacing it with a project ID is invalid.

  • sign_jwt_request_object (Google::Apis::IamcredentialsV1::SignJwtRequest) (defaults to: nil)
  • fields (String) (defaults to: nil)

    Selector specifying which fields to include in a partial response.

  • quota_user (String) (defaults to: nil)

    Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.

  • options (Google::Apis::RequestOptions) (defaults to: nil)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:

  • (Google::Apis::ServerError)

    An error occurred on the server and the request can be retried

  • (Google::Apis::ClientError)

    The request is invalid and should not be retried without modification

  • (Google::Apis::AuthorizationError)

    Authorization is required



185
186
187
188
189
190
191
192
193
194
195
# File 'lib/google/apis/iamcredentials_v1/service.rb', line 185

def (name, sign_jwt_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:post, 'v1/{+name}:signJwt', options)
  command.request_representation = Google::Apis::IamcredentialsV1::SignJwtRequest::Representation
  command.request_object = sign_jwt_request_object
  command.response_representation = Google::Apis::IamcredentialsV1::SignJwtResponse::Representation
  command.response_class = Google::Apis::IamcredentialsV1::SignJwtResponse
  command.params['name'] = name unless name.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end