class Awsom::Cli::Resources

Public Class Methods

new(argv) click to toggle source
# File lib/awsom/cli/resources.rb, line 8
def initialize(argv)
  @argv = argv
end

Public Instance Methods

init_aws(config) click to toggle source
# File lib/awsom/cli/resources.rb, line 27
def init_aws(config)
  require 'aws-sdk-core'
  if config.key?(:aws_key) && config.key?(:aws_secret)
    credentials = Aws::Credentials.new(config.fetch(:aws_key), config.fetch(:aws_secret))
    Aws.config[:credentials] = credentials
  end
  Aws.config[:region] = config.fetch(:region)
  require_relative '../ec2'
end
lock() click to toggle source
# File lib/awsom/cli/resources.rb, line 37
def lock
  @lock ||= ::Awsom::Lock.new
end
opts() click to toggle source
# File lib/awsom/cli/resources.rb, line 41
def opts
  OptionParser.new do |opts|

    opts.banner = "Usage: awsom create [options] [target]"
    
    opts.on("-f", "--file FILE", "Specify hosts file") do |f|
      salt.hosts_file = f
    end
    
    opts.on("-h", "--help", "Help") do
      puts opts
      exit
    end
  end
end
run() click to toggle source
# File lib/awsom/cli/resources.rb, line 12
def run
  lock.acquire
  opts.parse!(@argv)
  config = Config.new("config.rb").config

  init_aws(config)

  vpc_id = config.fetch :vpc_id
  region = config.fetch :region

  require 'awsom/application'
  app = Application.new(vpc_id: vpc_id, region: region)
  app.run(@argv)
end