class CredentialsOutputExecutor

Public Instance Methods

execute_output(execution_output, credentials) click to toggle source
# File lib/aws_mfa/credentials_output_executor.rb, line 2
def execute_output(execution_output, credentials)
  case execution_output
  when :set_env
    unset_environment
    export_credentials(credentials)
  when :quiet
    nil
  when :set_env_and_execute
    unset_environment
    export_credentials(credentials)
    execute_command_line_arguments
  when :print_env
    print_credentials(credentials)
  end
end

Private Instance Methods

execute_command_line_arguments() click to toggle source
# File lib/aws_mfa/credentials_output_executor.rb, line 38
def execute_command_line_arguments
  exec(*ARGV)
end
export_credentials(credentials) click to toggle source
# File lib/aws_mfa/credentials_output_executor.rb, line 26
def export_credentials(credentials)
  ENV['AWS_SECRET_ACCESS_KEY'] = credentials['SecretAccessKey']
  ENV['AWS_ACCESS_KEY_ID'] = credentials['AccessKeyId']
  ENV['AWS_SESSION_TOKEN'] = credentials['SessionToken']
end
print_credentials(credentials) click to toggle source
unset_environment() click to toggle source
# File lib/aws_mfa/credentials_output_executor.rb, line 20
def unset_environment
  ENV.delete('AWS_SECRET_ACCESS_KEY')
  ENV.delete('AWS_ACCESS_KEY_ID')
  ENV.delete('AWS_SESSION_TOKEN')
end