Sha256: 67a0e833d44ee03fbef523a6a72fd9b69ca07415964cd0b309fc5b3a58b297e8

Contents?: true

Size: 883 Bytes

Versions: 2

Compression:

Stored size: 883 Bytes

Contents

desc 'report datastore space usage'
arg_name '[name]'

command [:df,:diskspace] do |c|

  c.action do |global_options,options,args|
    name = ARGV.shift if ARGV.any?
    vm_manager = Vmesh::VSphere.new global_options
    if name.to_s == ''
      all_datastores = Vmesh::Datastore.get_all(vm_manager.vim, vm_manager.get_datacenter(global_options[:datacenter]))
    else
      all_datastores = Vmesh::Datastore.get_all_matching(vm_manager.vim, name, vm_manager.get_datacenter(global_options[:datacenter]))
    end
    puts '%-30.30s%15.15s%15.15s%15.15s%8.8s' %  ["Name","Size","Available","Used","Use%"]
    all_datastores.each do |ds|
      ds_used = ds.capacity - ds.free_space
      pc_used = (ds_used.to_i * 100) / ds.capacity.to_i
      puts '%-30.30s%15.15s%15.15s%15.15s%8.8s' % ["#{ds.name}","#{ds.capacity}","#{ds.free_space}","#{ds_used}","#{pc_used}%"]
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
vmesh-0.1.6 lib/vmesh/commands/df.rb
vmesh-0.1.5 lib/vmesh/commands/df.rb