cloudstack-cli 0.3.3 → 0.3.4
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -1
- data/lib/cloudstack-cli/commands/iso.rb +1 -0
- data/lib/cloudstack-cli/commands/stack.rb +6 -2
- data/lib/cloudstack-cli/helper.rb +18 -14
- data/lib/cloudstack-cli/version.rb +1 -1
- data/lib/cloudstack-client/commands/iso.rb +6 -2
- data/lib/cloudstack-client/version.rb +1 -1
- metadata +2 -2
data/Gemfile.lock
CHANGED
@@ -15,8 +15,8 @@ class Stack < CloudstackCli::Base
|
|
15
15
|
template: server["template"],
|
16
16
|
iso: server["iso"] ,
|
17
17
|
offering: server["offering"],
|
18
|
-
networks: server["networks"]
|
19
|
-
port_rules: server["port_rules"]
|
18
|
+
networks: string_to_array(server["networks"]),
|
19
|
+
port_rules: string_to_array(server["port_rules"]),
|
20
20
|
project: stack["project"],
|
21
21
|
disk_offering: server["disk_offering"],
|
22
22
|
disk_size: server["disk_size"],
|
@@ -57,6 +57,10 @@ class Stack < CloudstackCli::Base
|
|
57
57
|
exit
|
58
58
|
end
|
59
59
|
end
|
60
|
+
|
61
|
+
def string_to_array(string)
|
62
|
+
string ? string.gsub(', ', ',').split(', ') : nil
|
63
|
+
end
|
60
64
|
end
|
61
65
|
|
62
66
|
end
|
@@ -37,7 +37,6 @@ module CloudstackCli
|
|
37
37
|
end
|
38
38
|
t.join
|
39
39
|
else
|
40
|
-
print ("\r" + "\e[A\e[K" * (status.size + 1)) if call > 0
|
41
40
|
chars = print_job_status(jobs, status, chars,
|
42
41
|
call == 0 ? opts.merge(no_clear: true) : opts
|
43
42
|
)
|
@@ -77,20 +76,25 @@ module CloudstackCli
|
|
77
76
|
end
|
78
77
|
|
79
78
|
if args[:port_rules] && args[:port_rules].size > 0
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
79
|
+
create_port_rules(server, args[:port_rules])
|
80
|
+
end
|
81
|
+
server
|
82
|
+
end
|
83
|
+
|
84
|
+
def create_port_rules(server, port_rules)
|
85
|
+
frontendip = nil
|
86
|
+
port_rules.each do |pf_rule|
|
87
|
+
ip = pf_rule.split(":")[0]
|
88
|
+
if ip != ''
|
89
|
+
ip_addr = client.get_public_ip_address(ip)
|
90
|
+
else
|
91
|
+
ip_addr = frontendip ||= client.associate_ip_address(
|
92
|
+
server["nic"].first["networkid"]
|
93
|
+
)
|
93
94
|
end
|
95
|
+
port = pf_rule.split(":")[1]
|
96
|
+
say "Create port forwarding rule #{ip_addr['ipaddress']}:#{port} for server #{server["name"]}.", :yellow
|
97
|
+
client.create_port_forwarding_rule(ip_addr["id"], port, 'TCP', port, server["id"])
|
94
98
|
end
|
95
99
|
end
|
96
100
|
|
@@ -17,10 +17,14 @@ module CloudstackClient
|
|
17
17
|
filter = args[:filter] || 'featured'
|
18
18
|
params = {
|
19
19
|
'command' => 'listIsos',
|
20
|
-
'
|
20
|
+
'isoFilter' => filter
|
21
21
|
}
|
22
22
|
params['projectid'] = args[:project_id] if args[:project_id]
|
23
23
|
params['zoneid'] = args[:zone_id] if args[:zone_id]
|
24
|
+
if args[:listall]
|
25
|
+
params['listall'] = true
|
26
|
+
params['isrecursive'] = true
|
27
|
+
end
|
24
28
|
|
25
29
|
json = send_request(params)
|
26
30
|
json['iso'] || []
|
@@ -37,7 +41,7 @@ module CloudstackClient
|
|
37
41
|
# the name parameter should be added to the request.
|
38
42
|
params = {
|
39
43
|
'command' => 'listIsos',
|
40
|
-
'
|
44
|
+
'isoFilter' => 'executable'
|
41
45
|
}
|
42
46
|
json = send_request(params)
|
43
47
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cloudstack-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-08-
|
12
|
+
date: 2013-08-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rdoc
|