Class: Fission::Command::SnapshotList

Inherits:
Fission::Command show all
Defined in:
lib/fission/command/snapshot_list.rb

Instance Attribute Summary

Attributes inherited from Fission::Command

#args, #options

Instance Method Summary collapse

Methods inherited from Fission::Command

#command_name, help, #initialize, #ui

Methods included from Fission::CommandHelpers

#incorrect_arguments, #parse_arguments

Constructor Details

This class inherits a constructor from Fission::Command

Instance Method Details

#executeObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/fission/command/snapshot_list.rb', line 5

def execute
  super
  incorrect_arguments unless @args.count == 1

  vm = VM.new @args.first

  response = vm.snapshots

  if response.successful?
    snaps = response.data

    if snaps.any?
      output snaps.join("\n")
    else
      output "No snapshots found for VM '#{vm.name}'"
    end
  else
    output_and_exit "There was an error listing the snapshots.  The error was:\n#{response.message}", response.code
  end
end

#option_parserObject



26
27
28
29
30
31
32
33
34
# File 'lib/fission/command/snapshot_list.rb', line 26

def option_parser
  optparse = OptionParser.new do |opts|
    opts.banner = "Usage: fission snapshot list TARGET_VM"
    opts.separator ''
    opts.separator 'Lists all of the snapshots for TARGET_VM'
  end

  optparse
end

#summaryObject



36
37
38
# File 'lib/fission/command/snapshot_list.rb', line 36

def summary
  'List the snapshots of a VM'
end