Class: Roark::CLI::Destroy

Inherits:
Object
  • Object
show all
Includes:
Shared
Defined in:
lib/roark/cli/destroy.rb

Instance Method Summary collapse

Methods included from Shared

#aws, #command_name, #help, #validate_account_ids_format, #validate_required_options

Constructor Details

#initializeDestroy

Returns a new instance of Destroy.



7
8
9
# File 'lib/roark/cli/destroy.rb', line 7

def initialize
  @options = { :region => 'us-east-1' }
end

Instance Method Details

#command_summaryObject



47
48
49
# File 'lib/roark/cli/destroy.rb', line 47

def command_summary
  'Destroys an AMI'
end

#destroyObject



11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/roark/cli/destroy.rb', line 11

def destroy
  option_parser.parse!

  validate_required_options [:ami_id]

  ami = Roark::Ami.new :aws => aws, :ami_id => @options[:ami_id]

  response = ami.destroy
  unless response.success?
    Roark.logger.error response.message
    exit 1
  end
end

#option_parserObject



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/roark/cli/destroy.rb', line 25

def option_parser
  OptionParser.new do |opts|
    opts.banner = "Usage: roark destroy [options]"

    opts.on("-i", "--ami-id [AMI_ID]", "ID of AMI to destroy") do |o|
      @options[:ami_id] = o
    end

    opts.on("-r", "--region [REGION]", "Region to build AMI") do |o|
      @options[:region] = o
    end

    opts.on("--aws-access-key [KEY]", "AWS Access Key") do |o|
      @options[:aws_access_key] = o
    end

    opts.on("--aws-secret-key [KEY]", "AWS Secret Key") do |o|
      @options[:aws_secret_key] = o
    end
  end
end