Class: Fission::Command::Suspend
- Inherits:
-
Fission::Command
- Object
- Fission::Command
- Fission::Command::Suspend
- Defined in:
- lib/fission/command/suspend.rb
Instance Attribute Summary
Attributes inherited from Fission::Command
Instance Method Summary collapse
- #execute ⇒ Object
-
#initialize(args = []) ⇒ Suspend
constructor
A new instance of Suspend.
- #option_parser ⇒ Object
- #vms_to_suspend ⇒ Object
Methods inherited from Fission::Command
Constructor Details
#initialize(args = []) ⇒ Suspend
Returns a new instance of Suspend.
5 6 7 8 |
# File 'lib/fission/command/suspend.rb', line 5 def initialize(args=[]) super @options.all = false end |
Instance Method Details
#execute ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/fission/command/suspend.rb', line 10 def execute option_parser.parse! @args if @args.count != 1 && !@options.all Fission.ui.output self.class.help Fission.ui.output "" Fission.ui.output_and_exit "Incorrect arguments for suspend command", 1 end vms_to_suspend.each do |vm_name| Fission.ui.output "Suspending '#{vm_name}'" Fission::VM.new(vm_name).suspend end end |
#option_parser ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/fission/command/suspend.rb', line 44 def option_parser optparse = OptionParser.new do |opts| opts. = "\nsuspend usage: fission suspend [vm | --all]" opts.on '--all', 'Suspend all running VMs' do @options.all = true end end optparse end |
#vms_to_suspend ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/fission/command/suspend.rb', line 25 def vms_to_suspend if @options.all vms_to_suspend = VM.all_running else vm_name = @args.first unless Fission::VM.exists? vm_name Fission.ui.output '' Fission.ui.output_and_exit "Unable to find the VM #{vm_name} (#{Fission::VM.path(vm_name)})", 1 end unless VM.all_running.include?(vm_name) Fission.ui.output '' Fission.ui.output_and_exit "VM '#{vm_name}' is not running", 1 end vms_to_suspend = [vm_name] end end |