Class: Aws::Session::Credentials::SessionBuilder
- Inherits:
-
Object
- Object
- Aws::Session::Credentials::SessionBuilder
- Defined in:
- lib/aws/session/credentials/session_builder.rb
Overview
Builds AWS session
Instance Method Summary collapse
- #init_client ⇒ Object private
-
#initialize(config, client = nil) ⇒ SessionBuilder
constructor
A new instance of SessionBuilder.
-
#session_credentials ⇒ Aws::STS::Types::Credentials
Gets a set of session credentials.
-
#update_credential_file(credential_file) ⇒ Object
Gets a set of session credentials and updates them in a credential file.
Constructor Details
#initialize(config, client = nil) ⇒ SessionBuilder
Returns a new instance of SessionBuilder.
8 9 10 11 |
# File 'lib/aws/session/credentials/session_builder.rb', line 8 def initialize(config, client = nil) @config = config @client = client || init_client end |
Instance Method Details
#init_client ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
14 15 16 17 18 19 20 |
# File 'lib/aws/session/credentials/session_builder.rb', line 14 def init_client Aws::STS::Client.new( region: @config['region'], access_key_id: @config['aws_access_key_id'], secret_access_key: @config['aws_secret_access_key'] ) end |
#session_credentials ⇒ Aws::STS::Types::Credentials
Gets a set of session credentials
25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/aws/session/credentials/session_builder.rb', line 25 def session_credentials resp = @client.get_session_token( duration_seconds: @config['duration'], serial_number: @config['mfa_device'], token_code: @config['mfa_code'] ) return { 'aws_access_key_id' => resp.credentials['access_key_id'], 'aws_secret_access_key' => resp.credentials['secret_access_key'], 'aws_session_token' => resp.credentials['session_token'] } if resp end |
#update_credential_file(credential_file) ⇒ Object
Gets a set of session credentials and updates them in a credential file.
42 43 44 |
# File 'lib/aws/session/credentials/session_builder.rb', line 42 def update_credential_file(credential_file) credential_file.set_credentials(@config['profile'], session_credentials) end |