Sha256: a87117b4e4e95c16c555f67a69b352c79a225101be77026f2c92d2bba0010859

Contents?: true

Size: 1.3 KB

Versions: 12

Compression:

Stored size: 1.3 KB

Contents

class Snapshot < CloudstackCli::Base

  desc 'list', 'list snapshots'
  option :account, desc: "the account associated with the snapshot"
  option :project, desc: "the project associated with the snapshot"
  option :domain, desc: "the domain name of the snapshot's account"
  option :listall, default: true, desc: "list all resources the caller has rights on"
  option :state, desc: "filter snapshots by state"
  option :format, default: "table",
    enum: %w(table json yaml)
  def list
    resolve_account
    resolve_project
    resolve_domain
    snapshots = client.list_snapshots(options)
    if snapshots.size < 1
      say "No snapshots found."
    else
      case options[:format].to_sym
      when :yaml
        puts({snapshots: snapshots}.to_yaml)
      when :json
        puts JSON.pretty_generate(snapshots: snapshots)
      else
        table = [%w(Account Name Volume Created Type State)]
        snapshots = filter_by(snapshots, :state, options[:state]) if options[:state]
        snapshots.each do |snapshot|
          table << [
          	snapshot['account'], snapshot['name'], snapshot['volumename'],
          	snapshot['created'], snapshot['snapshottype'], snapshot['state']
          ]
        end
        print_table table
        say "Total number of snapshots: #{snapshots.size}"
      end
    end
  end

end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
cloudstack-cli-1.5.10 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.5.9 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.5.8 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.5.7 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.5.6 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.5.5 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.5.4 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.5.3 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.5.2 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.5.1 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.5.0 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.4.2 lib/cloudstack-cli/commands/snapshot.rb