Class: Fission::Command::SnapshotCreate
- Inherits:
-
Fission::Command
- Object
- Fission::Command
- Fission::Command::SnapshotCreate
- Defined in:
- lib/fission/command/snapshot_create.rb
Instance Attribute Summary
Attributes inherited from Fission::Command
Instance Method Summary collapse
- #execute ⇒ Object
-
#initialize(args = []) ⇒ SnapshotCreate
constructor
A new instance of SnapshotCreate.
- #option_parser ⇒ Object
Methods inherited from Fission::Command
Constructor Details
#initialize(args = []) ⇒ SnapshotCreate
Returns a new instance of SnapshotCreate.
5 6 7 |
# File 'lib/fission/command/snapshot_create.rb', line 5 def initialize(args=[]) super end |
Instance Method Details
#execute ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/fission/command/snapshot_create.rb', line 9 def execute unless @args.count == 2 Fission.ui.output self.class.help Fission.ui.output "" Fission.ui.output_and_exit "Incorrect arguments for snapshot create command", 1 end vm_name, snap_name = @args.take 2 unless Fission::VM.exists? vm_name Fission.ui.output_and_exit "Unable to find the VM #{vm_name} (#{Fission::VM.path(vm_name)})", 1 end unless Fission::VM.all_running.include? vm_name Fission.ui.output "VM '#{vm_name}' is not running" Fission.ui.output_and_exit 'A snapshot cannot be created unless the VM is running', 1 end @vm = Fission::VM.new vm_name if @vm.snapshots.include? snap_name Fission.ui.output_and_exit "VM '#{vm_name}' already has a snapshot named '#{snap_name}'", 1 end Fission.ui.output "Creating snapshot" @vm.create_snapshot(snap_name) end |
#option_parser ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/fission/command/snapshot_create.rb', line 37 def option_parser optparse = OptionParser.new do |opts| opts. = "\nsnapshot create: fission snapshot create my_vm snapshot_1" end optparse end |