Class: Iso
- Inherits:
-
CloudstackCli::Base
- Object
- Thor
- CloudstackCli::Base
- Iso
- Defined in:
- lib/cloudstack-cli/commands/iso.rb
Constant Summary
Constants included from CloudstackCli::Helper
CloudstackCli::Helper::ASYNC_STATES
Instance Attribute Summary
Attributes inherited from CloudstackCli::Base
Instance Method Summary collapse
Methods inherited from CloudstackCli::Base
Methods included from CloudstackCli::Helper
#ask_number, #bootstrap_server, #bootstrap_server_interactive, #create_port_rules, #create_server, #print_job_status, #print_options, #update_job_status, #watch_jobs
Instance Method Details
#detach(vm_id) ⇒ Object
33 34 35 36 |
# File 'lib/cloudstack-cli/commands/iso.rb', line 33 def detach(vm_id) client.detach_iso(vm_id, {async: true}) say "OK", :green end |
#list(type = 'featured') ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/cloudstack-cli/commands/iso.rb', line 8 def list(type='featured') project = find_project if [:project] unless %w(featured self self-executable executable community).include?(type) say "unsupported iso type '#{type}'", :red exit 1 end zone = client.get_zone([:zone]) if [:zone] isos = client.list_isos( filter: type, project_id: project ? project['id'] : nil, zone_id: zone ? zone['id'] : nil ) if isos.size < 1 puts "No iso's found" else table = [["Name", "Zone", "Bootable"]] isos.each do |iso| table << [iso['name'], iso['zonename'], iso['bootable']] end print_table(table) say "Total number of isos: #{isos.size}" end end |