class TerraformDevKit::Aws::AwsConfig

Public Class Methods

new(config) click to toggle source
# File lib/TerraformDevKit/aws/aws.rb, line 8
def initialize(config)
  unless config.nil?
    @profile = config.fetch('profile', nil)
    @region = config.fetch('region', nil)
    @access_key_id = config.fetch('access_key_id', nil)
    @secret_access_key = config.fetch('secret_access_key', nil)
  end
end

Public Instance Methods

credentials() click to toggle source
# File lib/TerraformDevKit/aws/aws.rb, line 17
def credentials
  unless profile.nil?
    credentials = ::Aws::SharedCredentials.new(profile_name: profile)
    return credentials if credentials.set?
  end

  return ::Aws::Credentials.new(*access_keys) if access_keys_available?

  raise 'Cannot find AWS credentials'
end
profile() click to toggle source
# File lib/TerraformDevKit/aws/aws.rb, line 32
def profile
  @profile || ENV['AWS_PROFILE']
end
region() click to toggle source
# File lib/TerraformDevKit/aws/aws.rb, line 28
def region
  @region || ENV['AWS_REGION']
end

Private Instance Methods

access_keys() click to toggle source
# File lib/TerraformDevKit/aws/aws.rb, line 38
def access_keys
  return config_access_keys if config_has_access_keys?
  return environment_access_keys if environment_has_access_keys?
  nil
end
access_keys_available?() click to toggle source
# File lib/TerraformDevKit/aws/aws.rb, line 44
def access_keys_available?
  config_has_access_keys? || environment_has_access_keys?
end
config_access_keys() click to toggle source
# File lib/TerraformDevKit/aws/aws.rb, line 52
def config_access_keys
  return @access_key_id, @secret_access_key
end
config_has_access_keys?() click to toggle source
# File lib/TerraformDevKit/aws/aws.rb, line 48
def config_has_access_keys?
  !@access_key_id.nil? && !@secret_access_key.nil?
end
environment_access_keys() click to toggle source
# File lib/TerraformDevKit/aws/aws.rb, line 60
def environment_access_keys
  return ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
end
environment_has_access_keys?() click to toggle source
# File lib/TerraformDevKit/aws/aws.rb, line 56
def environment_has_access_keys?
  ENV.key?('AWS_ACCESS_KEY_ID') && ENV.key?('AWS_SECRET_ACCESS_KEY')
end