Class: ResourceLimit
Constant Summary
collapse
- RESOURCE_TYPES =
{
0 => {name: "Instances"},
1 => {name: "IP Addresses"},
2 => {name: "Volumes"},
3 => {name: "Snapshots"},
4 => {name: "Templates"},
5 => {name: "Projects"},
6 => {name: "Networks"},
7 => {name: "VPC's"},
8 => {name: "CPU's"},
9 => {name: "Memory", unit: "GB", divider: 1024.0},
10 => {name: "Primary Storage", unit: "TB", divider: 1024.0},
11 => {name: "Secondary Storage", unit: "TB", divider: 1024.0}
}
CloudstackCli::Helper::ASYNC_STATES
Instance Attribute Summary
#config
Instance Method Summary
collapse
exit_on_failure?, start
#resolve_account, #resolve_compute_offering, #resolve_disk_offering, #resolve_domain, #resolve_host, #resolve_iso, #resolve_networks, #resolve_project, #resolve_snapshot, #resolve_template, #resolve_virtual_machine, #resolve_zone, #vm_options_to_params
#ask_number, #bootstrap_server, #bootstrap_server_interactive, #create_port_rules, #create_server, #get_server_default_nic, #get_server_fqdn, #get_server_public_ip, #get_ssh_port_forwarding_rule, #print_job_status, #print_options, #run_background_jobs, #update_job_status, #update_jobs, #watch_jobs
Instance Method Details
#list ⇒ Object
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/cloudstack-cli/commands/resource_limit.rb', line 21
def list
resolve_account
resolve_project
limits = client.list_resource_limits(options)
table = []
= options[:project] ? ["Project"] : ["Account"]
+= ["Type", "Resource Name", "Max"]
limits.each do |limit|
limit['resourcetype'] = limit['resourcetype'].to_i
table << [
options[:project] ? limit['project'] : limit['account'],
limit['resourcetype'],
RESOURCE_TYPES[limit['resourcetype']][:name],
resource_to_s(limit, 'max')
]
end
table = table.insert(0, )
print_table table
end
|
#refresh ⇒ Object
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
# File 'lib/cloudstack-cli/commands/resource_limit.rb', line 46
def refresh
resolve_domain
resolve_account
resolve_project
options[:resource_type] = options[:type] if options[:type]
unless ['domain_id', 'account', 'project'].any? {|k| options.key?(k)}
say "Error: Please provide domain, account or project.", :red
exit 1
end
if resource_count = client.update_resource_count(options)
say "Sucessfully refreshed resource limits.", :green
else
say "Error refreshing resource limits.", :red
exit 1
end
end
|
#types ⇒ Object
95
96
97
98
99
100
101
|
# File 'lib/cloudstack-cli/commands/resource_limit.rb', line 95
def types
table = [['type', 'name']]
RESOURCE_TYPES.each_pair do |type, data|
table << [type, data[:name]]
end
print_table table
end
|
#update ⇒ Object
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
# File 'lib/cloudstack-cli/commands/resource_limit.rb', line 75
def update
resolve_domain
resolve_account
resolve_project
options[:resource_type] = options[:type]
unless ['domain_id', 'account', 'project'].any? {|k| options.key?(k)}
say "Error: Please provide domain, account or project.", :red
exit 1
end
if resource_count = client.update_resource_limit(options)
say "Sucessfully updated resource limits.", :green
else
say "Error updating resource limits.", :red
exit 1
end
end
|