Sha256: bc4718281ddf73561a459ad8e6d48923cbe1efaeff8c0513cff76b4203b96147

Contents?: true

Size: 1.32 KB

Versions: 13

Compression:

Stored size: 1.32 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, type: :boolean, 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

13 entries across 13 versions & 1 rubygems

Version Path
cloudstack-cli-1.6.10 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.6.9 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.6.8 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.6.7 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.6.6 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.6.5 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.6.4 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.6.3 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.6.2 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.6.1 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.6.0 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.5.13 lib/cloudstack-cli/commands/snapshot.rb
cloudstack-cli-1.5.12 lib/cloudstack-cli/commands/snapshot.rb