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