Class: Chef::Knife::AcropolisVdisk

Inherits:
Chef::Knife show all
Includes:
AcropolisBase
Defined in:
lib/chef/knife/acropolis_vdisk_list.rb

Instance Method Summary collapse

Methods included from AcropolisBase

#delete, #get, included, #post

Instance Method Details

#runObject



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/chef/knife/acropolis_vdisk_list.rb', line 30

def run    
  validate
  
  vdisk_list = [
    ui.color('Name', :bold),
    ui.color('Size', :bold),
    ui.color('Used', :bold),
    ui.color('File-Type', :bold),
    ui.color('File-Path', :bold),
  ]

  path = Chef::Config[:knife][:path].sub! '/', '%2F'
  vdisk = get("/vdisks/?path="+path)
  info = JSON.parse(vdisk)
  info["entities"].sort_by do |vdisk|
    vdisk_list << vdisk["name"].to_s
    vdisk_list << vdisk["totalSize"].to_s
    vdisk_list << vdisk["usedSize"].to_s
    vdisk_list << vdisk["fileType"].to_s
    vdisk_list << vdisk["filePath"].to_s
  end
  print ui.list(vdisk_list, :uneven_columns_across, 5)
end

#validateObject



23
24
25
26
27
28
# File 'lib/chef/knife/acropolis_vdisk_list.rb', line 23

def validate
  unless  Chef::Config[:knife][:path]
    ui.error('Missing path. Use -N (--ndfs) to check vdisks. Root path is "/" for all.')
    exit 1
  end
end