lib/cloudstack-cli/option_resolver.rb in cloudstack-cli-1.2.7 vs lib/cloudstack-cli/option_resolver.rb in cloudstack-cli-1.3.0

- old
+ new

@@ -5,11 +5,11 @@ resolve_zone resolve_project resolve_compute_offering resolve_template resolve_disk_offering - resolve_iso + resolve_iso_for_vm_deployment options[:size] = options[:disk_size] if options[:disk_size] unless options[:template_id] say "Error: Template or ISO is required.", :red exit 1 end @@ -107,20 +107,27 @@ project_id: options[:project_id], isofilter: iso_filter ).first break if iso end - unless iso + if iso + options[:iso_id] = iso["id"] + else say "Error: Iso '#{options[:iso]}' is invalid.", :red exit 1 end - unless options[:disk_offering_id] - say "Error: a disk offering is required when using iso.", :red - exit 1 - end - options[:template_id] = iso['id'] - options['hypervisor'] = (options[:hypervisor] || 'vmware') end + options + end + + def resolve_iso_for_vm_deployment + unless options[:disk_offering_id] + say "Error: a disk offering is required when using iso.", :red + exit 1 + end + resolve_iso + options[:template_id] = options[:iso_id] + options['hypervisor'] = (options[:hypervisor] || 'vmware') options end def resolve_template if options[:template]