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