class AwsAssumeRole::Runner

Public Class Methods

new(options) click to toggle source
Calls superclass method
# File lib/aws_assume_role/runner.rb, line 16
def initialize(options)
    super(options)
    command_to_exec = command.map(&:shellescape).join(" ")
    process_credentials unless credentials.blank?
    system @environment, command_to_exec
    exit_status = $CHILD_STATUS.exitstatus
    process_error(exit_status) if exit_status != expected_exit_code
end

Private Instance Methods

process_credentials() click to toggle source
# File lib/aws_assume_role/runner.rb, line 27
def process_credentials
    cred_env = {
        "AWS_ACCESS_KEY_ID" => credentials.credentials.access_key_id,
        "AWS_SECRET_ACCESS_KEY" => credentials.credentials.secret_access_key,
        "AWS_SESSION_TOKEN" => credentials.credentials.session_token,
    }
    @environment = environment.merge cred_env
end
process_error(exit_status) click to toggle source
# File lib/aws_assume_role/runner.rb, line 36
def process_error(exit_status)
    logger.error "#{command} failed with #{exit_status}"
    exit exit_status if exit_on_error
    raise "#{command} failed with #{exit_status}"
end