Class: Stack
- Inherits:
-
CloudstackCli::Base
- Object
- Thor
- CloudstackCli::Base
- Stack
- Includes:
- CloudstackCli::Helper
- Defined in:
- lib/cloudstack-cli/commands/stack.rb
Instance Attribute Summary
Attributes inherited from CloudstackCli::Base
Instance Method Summary collapse
Methods included from CloudstackCli::Helper
#ask_number, #bootstrap_server, #bootstrap_server_interactive, #print_options
Methods inherited from CloudstackCli::Base
Instance Method Details
#create(stackfile) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/cloudstack-cli/commands/stack.rb', line 5 def create(stackfile) stack = parse_stackfile(stackfile) say "Create stack #{stack["name"]}..." threads = [] stack["servers"].each do |server| server["name"].split(', ').each_with_index do |name, i| threads << Thread.new(i) { bootstrap_server( name: name, displayname: server["decription"], zone: server["zone"] || stack["zone"], template: server["template"], iso: server["iso"] , offering: server["offering"], networks: server["networks"] ? server["networks"].split(', ') : nil, port_rules: server["port_rules"] ? server["port_rules"].split(', ') : nil, project: stack["project"], disk_offering: server["disk_offering"], disk_size: server["disk_size"], group: server["group"] || stack["group"], keypair: server["keypair"] || stack["keypair"] ) } end end threads.each {|t| t.join } end |
#destroy(stackfile) ⇒ Object
39 40 41 42 43 44 45 46 47 48 |
# File 'lib/cloudstack-cli/commands/stack.rb', line 39 def destroy(stackfile) stack = parse_stackfile(stackfile) servers = [] server = stack["servers"].collect do |server| server["name"].split(', ').each {|name| servers << name} end say "Destroy stack #{stack["name"]}...", :yellow puts invoke "server:destroy", servers, project: stack["project"], force: [:force] end |