Class: ComputeOffer
Constant Summary
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_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
#create(name) ⇒ Object
23
24
25
26
27
|
# File 'lib/cloudstack-cli/commands/compute_offer.rb', line 23
def create(name)
resolve_domain
options[:name] = name
say("OK", :green) if client.create_service_offering(options)
end
|
#delete(id) ⇒ Object
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/cloudstack-cli/commands/compute_offer.rb', line 30
def delete(id)
offerings = client.list_service_offerings(id: id)
if offerings && offerings.size == 1
say "Are you sure you want to delete compute offering below?", :yellow
print_compute_offerings(offerings, false)
if yes?("[y/N]:", :yellow)
say("OK", :green) if client.delete_service_offering(id: id)
end
else
say "No offering with ID #{id} found.", :yellow
end
end
|
#list ⇒ Object
5
6
7
8
9
10
11
12
13
|
# File 'lib/cloudstack-cli/commands/compute_offer.rb', line 5
def list
resolve_domain
offerings = client.list_service_offerings(options)
if offerings.size < 1
puts "No offerings found."
else
print_compute_offerings(offerings)
end
end
|
#sort ⇒ Object
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/cloudstack-cli/commands/compute_offer.rb', line 44
def sort
offerings = client.list_service_offerings
sortkey = -1
offerings.group_by{|o| o["domain"]}.each_value do |offers|
offers.sort {
|oa, ob| [oa["cpunumber"], oa["memory"]] <=> [ob["cpunumber"], ob["memory"]]
}.each do |offer|
puts "#{sortkey.abs} #{offer['domain']} - #{offer["displaytext"]}"
client.update_service_offering(
id: offer['id'],
sortkey: sortkey
)
sortkey -= 1
end
end
end
|