Sha256: fd3f737b8712a18a68b3fcf18681569d240f2a4ce6b362383d053426f334d48e

Contents?: true

Size: 1.16 KB

Versions: 7

Compression:

Stored size: 1.16 KB

Contents

class Template < CloudstackCli::Base

  desc 'list', 'list templates'
  option :project
  option :zone
  option :type,
    enum: %w(featured self self-executable executable community all),
    default: "featured"
  option :format, default: "table",
    enum: %w(table json yaml)
  def list(type='featured')
    resolve_project
    resolve_zone
    options[:template_filter] = options[:type]
    templates = client.list_templates(options)
    if templates.size < 1
      puts "No templates found."
    else
      case options[:format].to_sym
      when :yaml
        puts({templates: templates}.to_yaml)
      when :json
        puts JSON.pretty_generate(templates: templates)
      else
        table = [%w(Name Created Zone Featured Public Format)]
        templates.each do |template|
          table << [
            template['name'],
            (Time.parse(template['created']).strftime("%F") rescue "-"),
            template['zonename'],
            template['isfeatured'],
            template['ispublic'],
            template['format']
          ]
        end
        print_table(table)
        say "Total number of templates: #{templates.size}"
      end
    end
  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
cloudstack-cli-1.6.10 lib/cloudstack-cli/commands/template.rb
cloudstack-cli-1.6.9 lib/cloudstack-cli/commands/template.rb
cloudstack-cli-1.6.8 lib/cloudstack-cli/commands/template.rb
cloudstack-cli-1.6.7 lib/cloudstack-cli/commands/template.rb
cloudstack-cli-1.6.6 lib/cloudstack-cli/commands/template.rb
cloudstack-cli-1.6.5 lib/cloudstack-cli/commands/template.rb
cloudstack-cli-1.6.4 lib/cloudstack-cli/commands/template.rb