class Ec2::Config

Public Class Methods

new(config_path) click to toggle source
# File lib/ec2/config.rb, line 7
def initialize(config_path)
  @config_path = config_path
end

Public Instance Methods

config() click to toggle source
# File lib/ec2/config.rb, line 11
def config
  return @config if @config
  @config = {
    region: "ap-southeast-1",
    use_iam: true
  }
  read_config
  return @config
end

Private Instance Methods

aws_key(aws_key) click to toggle source
# File lib/ec2/config.rb, line 31
def aws_key(aws_key)
  set :aws_key, aws_key
  set :use_iam, false
end
aws_secret(aws_secret) click to toggle source
# File lib/ec2/config.rb, line 36
def aws_secret(aws_secret)
  set :aws_secret, aws_secret
  set :use_iam, false
end
read(file, required: true) click to toggle source
# File lib/ec2/config.rb, line 50
def read(file, required: true)
  if not File.readable? file
    raise error "config: #{file} not readable" if required
    return
  end
  instance_eval(File.read(file), file)
rescue NoMethodError => e
  error "invalid option used in config: #{e.name}"
end
read_config() click to toggle source
# File lib/ec2/config.rb, line 45
def read_config
  read("#{Dir.home}/.ec2.rb", required: false)
  read(@config_path, required: false)
end
region(region) click to toggle source
# File lib/ec2/config.rb, line 23
def region(region)
  set :region, region
end
set(key, value) click to toggle source
# File lib/ec2/config.rb, line 41
def set(key, value)
  @config.store key, value
end
vpc_id(vpc) click to toggle source
# File lib/ec2/config.rb, line 27
def vpc_id(vpc)
  set :vpc_id, vpc
end