lib/cloudstack-cli/commands/capacity.rb in cloudstack-cli-0.15.1 vs lib/cloudstack-cli/commands/capacity.rb in cloudstack-cli-1.0.0.rc1

- old
+ new

@@ -1,34 +1,35 @@ class Capacity < CloudstackCli::Base - CAPACITY_TYPES = { - 0 => {name: "Memory", unit: "GB", divider: 1024.0**3}, - 1 => {name: "CPU", unit: "GHz", divider: 1000.0}, - 2 => {name: "Storage", unit: "TB", divider: 1024.0**4}, - 3 => {name: "Primary Storage", unit: "TB", divider: 1024.0**4}, - 4 => {name: "Public IP's"}, - 5 => {name: "Private IP's"}, - 6 => {name: "Secondary Storage", unit: "TB", divider: 1024.0**4}, - 7 => {name: "VLAN"}, - 8 => {name: "Direct Attached Public IP's"}, - 9 => {name: "Local Storage", unit: "TB", divider: 1024.0**4} - } + CAPACITY_TYPES = { + 0 => {name: "Memory", unit: "GB", divider: 1024.0**3}, + 1 => {name: "CPU", unit: "GHz", divider: 1000.0}, + 2 => {name: "Storage", unit: "TB", divider: 1024.0**4}, + 3 => {name: "Primary Storage", unit: "TB", divider: 1024.0**4}, + 4 => {name: "Public IP's"}, + 5 => {name: "Private IP's"}, + 6 => {name: "Secondary Storage", unit: "TB", divider: 1024.0**4}, + 7 => {name: "VLAN"}, + 8 => {name: "Direct Attached Public IP's"}, + 9 => {name: "Local Storage", unit: "TB", divider: 1024.0**4} + } desc "list", "list system capacity" - option :zone + option :zone, desc: "lists clusters by zone" option :type, desc: "specify type, see types for a list of types" def list - capacities = client.list_capacity(options) - table = [] + resolve_zone if options[:zone] + capacities = client.list_capacity(options) + table = [] header = ["Zone", "Type", "Capacity Used", "Capacity Total", "Used"] capacities.each do |c| - table << [ - c['zonename'], - CAPACITY_TYPES[c['type']][:name], - capacity_to_s(c, 'capacityused'), - capacity_to_s(c, 'capacitytotal'), - "#{c['percentused']}%" - ] + table << [ + c['zonename'], + CAPACITY_TYPES[c['type']][:name], + capacity_to_s(c, 'capacityused'), + capacity_to_s(c, 'capacitytotal'), + "#{c['percentused']}%" + ] end table = table.sort {|a, b| [a[0], a[1]] <=> [b[0], b[1]]}.insert(0, header) print_table table end @@ -42,16 +43,16 @@ end no_commands do def capacity_to_s(capacity, entity) - value = CAPACITY_TYPES[capacity['type']][:divider] ? - (capacity[entity] / CAPACITY_TYPES[capacity['type']][:divider]).round(1) : + value = CAPACITY_TYPES[capacity['type']][:divider] ? + (capacity[entity] / CAPACITY_TYPES[capacity['type']][:divider]).round(1) : capacity[entity] - CAPACITY_TYPES[capacity['type']][:unit] ? + CAPACITY_TYPES[capacity['type']][:unit] ? "#{value} #{CAPACITY_TYPES[capacity['type']][:unit]}" : value.to_s end end -end \ No newline at end of file +end