lib/cloudstack-cli/commands/template.rb in cloudstack-cli-0.15.1 vs lib/cloudstack-cli/commands/template.rb in cloudstack-cli-1.0.0.rc1
- old
+ new
@@ -1,30 +1,27 @@
class Template < CloudstackCli::Base
- desc 'list [TYPE]', 'list templates by type [featured|self|self-executable|executable|community], default is featured'
+ desc 'list', 'list templates'
option :project
option :zone
+ option :type,
+ enum: %w(featured self self-executable executable community all),
+ default: "featured"
def list(type='featured')
- project = find_project if options[:project]
- unless %w(featured self self-executable executable community).include? type
- say "unsupported template type '#{type}'", :red
- exit 1
- end
- zone = client.get_zone(options[:zone]) if options[:zone]
- templates = client.list_templates(
- filter: type,
- project_id: project ? project['id'] : nil,
- zone_id: zone ? zone['id'] : nil
- )
+ resolve_project
+ resolve_zone
+ options[:template_filter] = options[:type]
+ options.delete(:filter)
+ templates = client.list_templates(options)
if templates.size < 1
puts "No templates found."
else
- table = [["Name", "Zone", "Format"]]
+ table = [%w(Name Zone Format)]
templates.each do |template|
table << [template['name'], template['zonename'], template['format']]
end
print_table(table)
say "Total number of templates: #{templates.size}"
end
end
-end
\ No newline at end of file
+end