Class: Stack
Instance Attribute Summary
#config
Instance Method Summary
collapse
#ask_number, #bootstrap_server, #bootstrap_server_interactive, #print_options
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
|
# 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,
server["zone"] || stack["zone"],
server["template"],
server["offering"],
server["networks"] ? server["networks"].split(', ') : nil,
server["port_rules"] ? server["port_rules"].split(', ') : nil,
stack["project"]
)
}
end
end
threads.each {|t| t.join }
end
|
#destroy(stackfile) ⇒ Object
33
34
35
36
37
38
39
40
41
|
# File 'lib/cloudstack-cli/commands/stack.rb', line 33
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
invoke "server:destroy", servers, project: stack["project"], force: options[:force]
end
|