cloudstack-cli 1.5.10 → 1.5.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +5 -3
- data/Rakefile +10 -0
- data/cloudstack-cli.gemspec +2 -1
- data/{test → examples}/ma-test.yml +0 -0
- data/examples/stack-dev.yml +20 -0
- data/{test → examples}/stack_example.json +0 -0
- data/{test → examples}/stack_example.yml +0 -0
- data/{test → examples}/stack_example_b.yml +0 -0
- data/lib/cloudstack-cli/commands/account.rb +1 -1
- data/lib/cloudstack-cli/commands/affinity_group.rb +1 -1
- data/lib/cloudstack-cli/commands/ip_address.rb +1 -1
- data/lib/cloudstack-cli/commands/network_offer.rb +50 -0
- data/lib/cloudstack-cli/commands/router.rb +2 -2
- data/lib/cloudstack-cli/commands/snapshot.rb +1 -1
- data/lib/cloudstack-cli/commands/ssh_key_pair.rb +1 -1
- data/lib/cloudstack-cli/commands/stack.rb +10 -5
- data/lib/cloudstack-cli/commands/user.rb +1 -1
- data/lib/cloudstack-cli/commands/virtual_machine.rb +12 -7
- data/lib/cloudstack-cli/version.rb +1 -1
- data/spec/cloudstack-cli/commands/virtual_machine_spec.rb +101 -0
- data/spec/cloudstack-cli.yml +6 -0
- data/spec/fixtures/stack.yml +20 -0
- data/spec/spec_helper.rb +12 -0
- metadata +32 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 83b0103b12d6560e9bffd194169b83c0f27c1222
|
4
|
+
data.tar.gz: a7f0cc886075681aa26fc07f95ea4cfbfc1469ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f235eb2acda88ef4e5ce20cef48fcff05a36bbd2741c5c8b08aad998422220b25444707f370e53403c536e4aea79861f9edcadc2290ba65d28051a255edd85d2
|
7
|
+
data.tar.gz: 33043d1de16cf62c30d19d666bc583da7344d94bd405cdf6052da70d38a635314c33b7e6d3ea795325d9f641bf6475ce6a52c1d83e591858858d417f047fe34d
|
data/Gemfile.lock
CHANGED
@@ -6,15 +6,16 @@ PATH
|
|
6
6
|
PATH
|
7
7
|
remote: .
|
8
8
|
specs:
|
9
|
-
cloudstack-cli (1.5.
|
9
|
+
cloudstack-cli (1.5.12)
|
10
10
|
cloudstack_client (~> 1.4.3)
|
11
|
-
thor (~> 0.19)
|
11
|
+
thor (~> 0.19.4)
|
12
12
|
|
13
13
|
GEM
|
14
14
|
remote: https://rubygems.org/
|
15
15
|
specs:
|
16
|
+
minitest (5.9.1)
|
16
17
|
rake (11.3.0)
|
17
|
-
thor (0.19.
|
18
|
+
thor (0.19.4)
|
18
19
|
|
19
20
|
PLATFORMS
|
20
21
|
ruby
|
@@ -22,6 +23,7 @@ PLATFORMS
|
|
22
23
|
DEPENDENCIES
|
23
24
|
cloudstack-cli!
|
24
25
|
cloudstack_client!
|
26
|
+
minitest (~> 5.9)
|
25
27
|
rake (~> 11.3)
|
26
28
|
|
27
29
|
BUNDLED WITH
|
data/Rakefile
CHANGED
data/cloudstack-cli.gemspec
CHANGED
@@ -22,7 +22,8 @@ Gem::Specification.new do |gem|
|
|
22
22
|
gem.rdoc_options = %w[--line-numbers --inline-source]
|
23
23
|
|
24
24
|
gem.add_development_dependency('rake', '~> 11.3')
|
25
|
+
gem.add_development_dependency('minitest', '~> 5.9')
|
25
26
|
|
26
27
|
gem.add_dependency('cloudstack_client', '~> 1.4.3')
|
27
|
-
gem.add_dependency('thor', '~> 0.19')
|
28
|
+
gem.add_dependency('thor', '~> 0.19.4')
|
28
29
|
end
|
File without changes
|
@@ -0,0 +1,20 @@
|
|
1
|
+
---
|
2
|
+
name: "web_stack_a"
|
3
|
+
description: "Web Application Stack"
|
4
|
+
version: "1.0"
|
5
|
+
zone: "Sandbox-simulator"
|
6
|
+
group: "my_web_stack"
|
7
|
+
servers:
|
8
|
+
- name: "web-01, web-02"
|
9
|
+
description: "Web nodes"
|
10
|
+
template: "CentOS 5.3(64-bit) no GUI (Simulator)"
|
11
|
+
offering: "Small Instance"
|
12
|
+
networks: "test-network"
|
13
|
+
port_rules: ":80, :443"
|
14
|
+
- name: "db-01"
|
15
|
+
description: "PostgreSQL Master"
|
16
|
+
template: "CentOS 5.3(64-bit) no GUI (Simulator)"
|
17
|
+
offering: "Medium Instance"
|
18
|
+
ip_network_list:
|
19
|
+
- name: "test-network"
|
20
|
+
ip: 10.1.1.11
|
File without changes
|
File without changes
|
File without changes
|
@@ -28,7 +28,7 @@ class IpAddress < CloudstackCli::Base
|
|
28
28
|
desc "list", "list public IP address"
|
29
29
|
option :project
|
30
30
|
option :account
|
31
|
-
option :listall
|
31
|
+
option :listall, type: :boolean, default: true
|
32
32
|
option :format, default: "table",
|
33
33
|
enum: %w(table json yaml)
|
34
34
|
def list
|
@@ -0,0 +1,50 @@
|
|
1
|
+
class NetworkOffer < CloudstackCli::Base
|
2
|
+
|
3
|
+
desc 'list', 'list network offerings'
|
4
|
+
option :guest_ip_type, enum: %w(isolated shared),
|
5
|
+
desc: "list network offerings by guest type."
|
6
|
+
option :format, default: "table",
|
7
|
+
enum: %w(table json yaml)
|
8
|
+
def list
|
9
|
+
offerings = client.list_network_offerings(options)
|
10
|
+
if offerings.size < 1
|
11
|
+
puts "No offerings found."
|
12
|
+
else
|
13
|
+
case options[:format].to_sym
|
14
|
+
when :yaml
|
15
|
+
puts({network_offers: offerings}.to_yaml)
|
16
|
+
when :json
|
17
|
+
puts JSON.pretty_generate(network_offers: offerings)
|
18
|
+
else
|
19
|
+
table = [%w(Name Display_Text Default? Guest_IP_Type State)]
|
20
|
+
offerings.each do |offer|
|
21
|
+
table << [
|
22
|
+
offer['name'],
|
23
|
+
offer['displaytext'],
|
24
|
+
offer['isdefault'],
|
25
|
+
offer['guestiptype'],
|
26
|
+
offer['state'],
|
27
|
+
]
|
28
|
+
end
|
29
|
+
print_table table
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
desc "show NAME", "show detailed infos about a network offering"
|
35
|
+
def show(name)
|
36
|
+
unless offer = client.list_network_offerings(name: name).first
|
37
|
+
say "Error: No network offering with name '#{name}' found.", :red
|
38
|
+
else
|
39
|
+
table = offer.map do |key, value|
|
40
|
+
if key == "service"
|
41
|
+
[ set_color("services", :yellow), value.map{|s| s["name"]}.join(", ") ]
|
42
|
+
else
|
43
|
+
[ set_color("#{key}", :yellow), "#{value}" ]
|
44
|
+
end
|
45
|
+
end
|
46
|
+
print_table table
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
@@ -7,7 +7,6 @@ class Router < CloudstackCli::Base
|
|
7
7
|
option :state, desc: "the status of the router"
|
8
8
|
option :redundant_state, desc: "the state of redundant virtual router",
|
9
9
|
enum: %w(master backup fault unknown)
|
10
|
-
option :listall, type: :boolean, desc: "list all routers", default: true
|
11
10
|
option :reverse, type: :boolean, default: false, desc: "reverse listing of routers"
|
12
11
|
option :command,
|
13
12
|
desc: "command to execute for each router",
|
@@ -26,13 +25,14 @@ class Router < CloudstackCli::Base
|
|
26
25
|
|
27
26
|
routers = client.list_routers(options)
|
28
27
|
# show all routers unless project or account is set
|
29
|
-
if
|
28
|
+
if !options[:project] && !options[:account]
|
30
29
|
client.list_projects(listall: true).each do |project|
|
31
30
|
routers = routers + client.list_routers(
|
32
31
|
options.merge(projectid: project['id'])
|
33
32
|
)
|
34
33
|
end
|
35
34
|
end
|
35
|
+
options[:listall] = true
|
36
36
|
print_routers(routers, options)
|
37
37
|
execute_router_commands(options[:command].downcase, routers) if options[:command]
|
38
38
|
end
|
@@ -4,7 +4,7 @@ class Snapshot < CloudstackCli::Base
|
|
4
4
|
option :account, desc: "the account associated with the snapshot"
|
5
5
|
option :project, desc: "the project associated with the snapshot"
|
6
6
|
option :domain, desc: "the domain name of the snapshot's account"
|
7
|
-
option :listall, default: true, desc: "list all resources the caller has rights on"
|
7
|
+
option :listall, type: :boolean, default: true, desc: "list all resources the caller has rights on"
|
8
8
|
option :state, desc: "filter snapshots by state"
|
9
9
|
option :format, default: "table",
|
10
10
|
enum: %w(table json yaml)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
class SshKeyPair < CloudstackCli::Base
|
2
2
|
|
3
3
|
desc "list", 'list ssh key pairs'
|
4
|
-
option :listall, default: true
|
4
|
+
option :listall, type: :boolean, default: true
|
5
5
|
option :account, desc: "name of the account"
|
6
6
|
option :project, desc: "name of the project"
|
7
7
|
option :format, default: "table",
|
@@ -8,6 +8,8 @@ class Stack < CloudstackCli::Base
|
|
8
8
|
desc: "Skip creation of port forwarding rules."
|
9
9
|
option :concurrency, type: :numeric, default: 10, aliases: '-C',
|
10
10
|
desc: "number of concurrent commands to execute"
|
11
|
+
option :assumeyes, type: :boolean, default: false, aliases: '-y',
|
12
|
+
desc: "answer yes for all questions"
|
11
13
|
def create(stackfile)
|
12
14
|
stack = parse_file(stackfile)
|
13
15
|
project_id = find_project_by_name(stack["project"])
|
@@ -83,13 +85,16 @@ class Stack < CloudstackCli::Base
|
|
83
85
|
end
|
84
86
|
say "Finished.", :green
|
85
87
|
|
86
|
-
if successful_jobs > 0
|
87
|
-
|
88
|
-
|
89
|
-
|
88
|
+
if successful_jobs > 0
|
89
|
+
if options[:assumeyes] || yes?("Display password(s) for VM(s)? [y/N]:", :yellow)
|
90
|
+
pw_table = [%w(VM Password)]
|
91
|
+
jobs.select {|job| job[:status] == 1 && job[:result] }.each do |job|
|
92
|
+
if result = job[:result]["virtualmachine"]
|
93
|
+
pw_table << ["#{result["name"]}:", result["password"] || "n/a"]
|
94
|
+
end
|
90
95
|
end
|
96
|
+
print_table(pw_table) if pw_table.size > 0
|
91
97
|
end
|
92
|
-
print_table(pw_table) if pw_table.size > 0
|
93
98
|
end
|
94
99
|
end
|
95
100
|
|
@@ -10,7 +10,7 @@ class VirtualMachine < CloudstackCli::Base
|
|
10
10
|
option :host, desc: "the name of the hypervisor host the VM belong to"
|
11
11
|
option :filter, type: :hash,
|
12
12
|
desc: "filter objects based on arrtibutes: (attr1:regex attr2:regex ...)"
|
13
|
-
option :listall, desc: "list all virtual machines", default: true
|
13
|
+
option :listall, desc: "list all virtual machines", type: :boolean, default: true
|
14
14
|
option :command,
|
15
15
|
desc: "command to execute for the given virtual machines",
|
16
16
|
enum: %w(START STOP REBOOT)
|
@@ -32,7 +32,7 @@ class VirtualMachine < CloudstackCli::Base
|
|
32
32
|
virtual_machines = client.list_virtual_machines(options)
|
33
33
|
virtual_machines = filter_objects(virtual_machines) if options[:filter]
|
34
34
|
if virtual_machines.size < 1
|
35
|
-
puts "No
|
35
|
+
puts "No virtual machines found."
|
36
36
|
else
|
37
37
|
print_virtual_machines(virtual_machines)
|
38
38
|
execute_virtual_machines_commands(command, virtual_machines) if command
|
@@ -93,6 +93,8 @@ class VirtualMachine < CloudstackCli::Base
|
|
93
93
|
desc: "optional binary data that can be sent to the virtual machine upon a successful deployment."
|
94
94
|
option :concurrency, type: :numeric, default: 10, aliases: '-C',
|
95
95
|
desc: "number of concurrent commands to execute"
|
96
|
+
option :assumeyes, type: :boolean, default: false, aliases: '-y',
|
97
|
+
desc: "answer yes for all questions"
|
96
98
|
def create(*names)
|
97
99
|
if names.size == 0
|
98
100
|
say "Please provide at least one virtual machine name.", :yellow
|
@@ -140,13 +142,16 @@ class VirtualMachine < CloudstackCli::Base
|
|
140
142
|
end
|
141
143
|
say "Finished.", :green
|
142
144
|
|
143
|
-
if successful_jobs > 0
|
144
|
-
|
145
|
-
|
146
|
-
|
145
|
+
if successful_jobs > 0
|
146
|
+
if options[:assumeyes] || yes?("Display password(s) for VM(s)? [y/N]:", :yellow)
|
147
|
+
pw_table = [%w(VM Password)]
|
148
|
+
jobs.select {|job| job[:status] == 1 && job[:result] }.each do |job|
|
149
|
+
if result = job[:result]["virtualmachine"]
|
150
|
+
pw_table << ["#{result["name"]}:", result["password"] || "n/a"]
|
151
|
+
end
|
147
152
|
end
|
153
|
+
print_table(pw_table) if pw_table.size > 0
|
148
154
|
end
|
149
|
-
print_table(pw_table) if pw_table.size > 0
|
150
155
|
end
|
151
156
|
end
|
152
157
|
|
@@ -0,0 +1,101 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require "cloudstack-cli"
|
3
|
+
|
4
|
+
describe VirtualMachine do
|
5
|
+
|
6
|
+
it "should support all CRUD actions" do
|
7
|
+
vmname = "testvm1"
|
8
|
+
|
9
|
+
# CREATE
|
10
|
+
out, err = capture_io{ CloudstackCli::Cli.start [
|
11
|
+
"vm",
|
12
|
+
"create",
|
13
|
+
vmname,
|
14
|
+
"--zone=#{ZONE}",
|
15
|
+
"--template=#{TEMPLATE}",
|
16
|
+
"--offering=#{OFFERING_S}",
|
17
|
+
"--networks=test-network",
|
18
|
+
"--port-rules=:80",
|
19
|
+
"--assumeyes",
|
20
|
+
CONFIG,
|
21
|
+
]}
|
22
|
+
err.must_equal ""
|
23
|
+
|
24
|
+
# READ - LIST
|
25
|
+
out, err = capture_io{ CloudstackCli::Cli.start [
|
26
|
+
"vm",
|
27
|
+
"list",
|
28
|
+
CONFIG
|
29
|
+
]}
|
30
|
+
err.must_equal ""
|
31
|
+
out.must_match(
|
32
|
+
/.*(#{vmname}).*/
|
33
|
+
)
|
34
|
+
|
35
|
+
# READ - SHOW
|
36
|
+
out, err = capture_io{ CloudstackCli::Cli.start [
|
37
|
+
"vm",
|
38
|
+
"show",
|
39
|
+
vmname,
|
40
|
+
CONFIG
|
41
|
+
]}
|
42
|
+
err.must_equal ""
|
43
|
+
out.must_match(
|
44
|
+
/.*(#{vmname}).*/
|
45
|
+
)
|
46
|
+
|
47
|
+
# UPDATE - STOP
|
48
|
+
out, err = capture_io{ CloudstackCli::Cli.start [
|
49
|
+
"vm",
|
50
|
+
"stop",
|
51
|
+
vmname,
|
52
|
+
"--force",
|
53
|
+
CONFIG,
|
54
|
+
]}
|
55
|
+
err.must_equal ""
|
56
|
+
|
57
|
+
# UPDATE - UPDATE ;-)
|
58
|
+
new_vmname = "testvm11"
|
59
|
+
out, err = capture_io{ CloudstackCli::Cli.start [
|
60
|
+
"vm",
|
61
|
+
"update",
|
62
|
+
vmname,
|
63
|
+
"--name=#{new_vmname}",
|
64
|
+
"--force",
|
65
|
+
CONFIG,
|
66
|
+
]}
|
67
|
+
err.must_equal ""
|
68
|
+
|
69
|
+
# UPDATE - START
|
70
|
+
out, err = capture_io{ CloudstackCli::Cli.start [
|
71
|
+
"vm",
|
72
|
+
"start",
|
73
|
+
new_vmname,
|
74
|
+
CONFIG,
|
75
|
+
]}
|
76
|
+
err.must_equal ""
|
77
|
+
|
78
|
+
# UPDATE - REBOOT
|
79
|
+
out, err = capture_io{ CloudstackCli::Cli.start [
|
80
|
+
"vm",
|
81
|
+
"reboot",
|
82
|
+
new_vmname,
|
83
|
+
"--force",
|
84
|
+
CONFIG,
|
85
|
+
]}
|
86
|
+
err.must_equal ""
|
87
|
+
|
88
|
+
# DELETE
|
89
|
+
out, err = capture_io{ CloudstackCli::Cli.start [
|
90
|
+
"vm",
|
91
|
+
"destroy",
|
92
|
+
new_vmname,
|
93
|
+
"--expunge",
|
94
|
+
"--force",
|
95
|
+
CONFIG,
|
96
|
+
]}
|
97
|
+
err.must_equal ""
|
98
|
+
|
99
|
+
end
|
100
|
+
|
101
|
+
end
|
@@ -0,0 +1,6 @@
|
|
1
|
+
---
|
2
|
+
:default: development
|
3
|
+
development:
|
4
|
+
:url: http://127.0.0.1:8080/client/api
|
5
|
+
:api_key: 3B1lE0C33ceSOUg0jaIo8STNZ55I-mdvza0LXpZA8mrvtpBpgzJgE9YSsURBcQ6qKX090w5vv_AgGRZeYS9AiQ
|
6
|
+
:secret_key: mneyw6fg__Gt-ENg0E_9BfxcuiMJPSThe701Kuz7f5_EsJ0POoN4z9eoslECP5V9oDzB6XOlsCw1FuBqPjMmLg
|
@@ -0,0 +1,20 @@
|
|
1
|
+
---
|
2
|
+
name: "web_stack_a"
|
3
|
+
description: "Web Application Stack"
|
4
|
+
version: "1.0"
|
5
|
+
zone: "Sandbox-simulator"
|
6
|
+
group: "my_web_stack"
|
7
|
+
servers:
|
8
|
+
- name: "web-01, web-02"
|
9
|
+
description: "Web nodes"
|
10
|
+
template: "CentOS 5.3(64-bit) no GUI (Simulator)"
|
11
|
+
offering: "Small Instance"
|
12
|
+
networks: "test-network"
|
13
|
+
port_rules: ":80, :443"
|
14
|
+
- name: "db-01"
|
15
|
+
description: "PostgreSQL Master"
|
16
|
+
template: "CentOS 5.3(64-bit) no GUI (Simulator)"
|
17
|
+
offering: "Medium Instance"
|
18
|
+
ip_network_list:
|
19
|
+
- name: "test-network"
|
20
|
+
ip: 10.1.1.11
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
require "cloudstack-cli"
|
2
|
+
|
3
|
+
require "minitest/spec"
|
4
|
+
require "minitest/autorun"
|
5
|
+
require "minitest/pride"
|
6
|
+
|
7
|
+
# make the config file setup awailable to all specs
|
8
|
+
CONFIG = "--config-file=#{File.expand_path('cloudstack-cli.yml', File.dirname(__FILE__))}"
|
9
|
+
ZONE = "Sandbox-simulator"
|
10
|
+
TEMPLATE = "CentOS 5.3(64-bit) no GUI (Simulator)"
|
11
|
+
OFFERING_S = "Small Instance"
|
12
|
+
OFFERING_M = "Medium Instance"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cloudstack-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nik Wolfgramm
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-11-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '11.3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: minitest
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '5.9'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '5.9'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: cloudstack_client
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,14 +58,14 @@ dependencies:
|
|
44
58
|
requirements:
|
45
59
|
- - "~>"
|
46
60
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
61
|
+
version: 0.19.4
|
48
62
|
type: :runtime
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
66
|
- - "~>"
|
53
67
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
68
|
+
version: 0.19.4
|
55
69
|
description: cloudstack-cli is a CloudStack API command line client written in Ruby.
|
56
70
|
email:
|
57
71
|
- nik.wolfgramm@gmail.com
|
@@ -69,6 +83,11 @@ files:
|
|
69
83
|
- bin/cloudstack-cli
|
70
84
|
- cloudstack-cli.gemspec
|
71
85
|
- completions/cloudstack-cli.bash
|
86
|
+
- examples/ma-test.yml
|
87
|
+
- examples/stack-dev.yml
|
88
|
+
- examples/stack_example.json
|
89
|
+
- examples/stack_example.yml
|
90
|
+
- examples/stack_example_b.yml
|
72
91
|
- lib/cloudstack-cli.rb
|
73
92
|
- lib/cloudstack-cli/base.rb
|
74
93
|
- lib/cloudstack-cli/cli.rb
|
@@ -87,6 +106,7 @@ files:
|
|
87
106
|
- lib/cloudstack-cli/commands/job.rb
|
88
107
|
- lib/cloudstack-cli/commands/load_balancer.rb
|
89
108
|
- lib/cloudstack-cli/commands/network.rb
|
109
|
+
- lib/cloudstack-cli/commands/network_offer.rb
|
90
110
|
- lib/cloudstack-cli/commands/physical_network.rb
|
91
111
|
- lib/cloudstack-cli/commands/pod.rb
|
92
112
|
- lib/cloudstack-cli/commands/port_rule.rb
|
@@ -108,10 +128,10 @@ files:
|
|
108
128
|
- lib/cloudstack-cli/option_resolver.rb
|
109
129
|
- lib/cloudstack-cli/thor_patch.rb
|
110
130
|
- lib/cloudstack-cli/version.rb
|
111
|
-
-
|
112
|
-
-
|
113
|
-
-
|
114
|
-
-
|
131
|
+
- spec/cloudstack-cli.yml
|
132
|
+
- spec/cloudstack-cli/commands/virtual_machine_spec.rb
|
133
|
+
- spec/fixtures/stack.yml
|
134
|
+
- spec/spec_helper.rb
|
115
135
|
homepage: http://github.com/niwo/cloudstack-cli
|
116
136
|
licenses:
|
117
137
|
- MIT
|
@@ -139,7 +159,7 @@ signing_key:
|
|
139
159
|
specification_version: 4
|
140
160
|
summary: cloudstack-cli CloudStack API client
|
141
161
|
test_files:
|
142
|
-
-
|
143
|
-
-
|
144
|
-
-
|
145
|
-
-
|
162
|
+
- spec/cloudstack-cli.yml
|
163
|
+
- spec/cloudstack-cli/commands/virtual_machine_spec.rb
|
164
|
+
- spec/fixtures/stack.yml
|
165
|
+
- spec/spec_helper.rb
|