cloudstack-cli 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b11471c299adace0851b9aae26162928755ae80f
4
- data.tar.gz: 09187a0c3bb5e5ffa504a9fc84811e8759d837c0
3
+ metadata.gz: a876ce7d8ef2e32233cf613eb044b3564ae4abd2
4
+ data.tar.gz: e46d3829f5265ee233cc168cc1408b17d99d79d2
5
5
  SHA512:
6
- metadata.gz: c50f031e9f05e41f419bcffcc27695b162680d43c54922fa7b20c3dc16c4a691bae62296c059c7869a702bf3bc2d45b9c19a128e5f3bb70af8b1834c5b8aecf6
7
- data.tar.gz: ec8442e1444e4bca685896f0daf3f1f6d56710905c1d770ca86b919752daf58e82d7217ff9bd56530ea05951d959d3cad3f409c07b865d53ce3c089c5d02808b
6
+ metadata.gz: 5fbc6528cc8be324cd5c0c0c921b1b0b9cc6703cec975af99421ee3568136a1cb03bbd30c864d1a50e233c4423ba77f0051b3bc34f6dfec82e6d2e1a87140787
7
+ data.tar.gz: 6946f2bb6999ecc5b66e8e0cdc93f39b4fa99e453b8eed1ac145fba762167ebefc3d37c99c6ac39a859ea3972552f420ff431f59a3cde7b5ee23c7e31ce0ebc7
data/Gemfile.lock CHANGED
@@ -2,13 +2,13 @@ PATH
2
2
  remote: .
3
3
  specs:
4
4
  cloudstack-cli (0.4.0)
5
- cloudstack_client (~> 0.2.10)
5
+ cloudstack_client (~> 0.2.13)
6
6
  thor (~> 0.18.1)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- cloudstack_client (0.2.10)
11
+ cloudstack_client (0.2.13)
12
12
  json (1.8.1)
13
13
  rake (10.0.4)
14
14
  rdoc (4.0.1)
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # Cloudstack CLI
2
2
 
3
- Cloudstack CLI is a [CloudStack](http://cloudstack.apache.org/) API client written in Ruby.
3
+ cloudstack-cli is a [CloudStack](http://cloudstack.apache.org/) API client written in Ruby.
4
+ cloudstack-cli uses the [cloudstack_client](https://bitbucket.org/swisstxt/cloudstack_client) to talk to the Cloudstack API.
4
5
 
5
6
  ## Installation
6
7
 
@@ -37,25 +38,21 @@ See the help screen:
37
38
 
38
39
  $ cs
39
40
 
40
- ### Example 1
41
+ ### Example: Bootsrapping a server
41
42
 
42
- Bootsrap a server:
43
+ Bootsraps a server using a template and creating port-forwarding rules for port 22 and 80.
43
44
 
44
- $ cs server create server-01 --template CentOS-6.4-x64-v1.4 --offering 1cpu_1gb --port-rules 193.218.104.10:22 193.218.104.10:80
45
+ $ cs server create server-01 --template CentOS-6.4-x64-v1.4 --offering 1cpu_1gb --port-rules :22 :80
45
46
 
46
- ### Example 2
47
+ ### Example: Run a any custom API command
47
48
 
48
- Run a custom API command:
49
+ Run the "listAlerts" command against the Cloudstack API with an argument of type=8:
49
50
 
50
51
  $ cs command listAlerts type=8
51
52
 
52
- ### Example 3
53
+ ### Example: Creating a complete stack of servers
53
54
 
54
- Create a stack of servers:
55
-
56
- $ cs stack create my_stackfile.json
57
-
58
- An example stackfile looks like this
55
+ An example stackfile looks like this (my_stackfile.json)
59
56
 
60
57
  {
61
58
  "name": "web_stack-a",
@@ -85,13 +82,17 @@ An example stackfile looks like this
85
82
  ]
86
83
  }
87
84
 
88
- ### Example 4
85
+ Create the stack of servers from above:
86
+
87
+ $ cs stack create my_stackfile.json
88
+
89
+ ### Example: Sort computing offerings
89
90
 
90
91
  Sort all computing offerings by CPU and Memory grouped my Domain:
91
92
 
92
93
  $ cs offering sort
93
94
 
94
- ### Example 5
95
+ ### Example: Stop all backup routers of a given project
95
96
 
96
97
  Stop all virtual routers of project Demo (you could filter by zone too):
97
98
  (This command is helpful if you have to deploy new versions of Cloudstack when using redundant routers)
@@ -24,5 +24,5 @@ Gem::Specification.new do |gem|
24
24
  gem.add_development_dependency('rake', '~> 10.0.4')
25
25
 
26
26
  gem.add_dependency('thor', '~> 0.18.1')
27
- gem.add_dependency('cloudstack_client', '~> 0.2.10')
27
+ gem.add_dependency('cloudstack_client', '~> 0.2.13')
28
28
  end
@@ -14,8 +14,9 @@ class Capacity < CloudstackCli::Base
14
14
 
15
15
  desc "capacity list", "list system capacity"
16
16
  option :zone
17
+ option :type, desc: "specify type, see types for a list of types"
17
18
  def list
18
- capacities = client.list_capacity
19
+ capacities = client.list_capacity(options)
19
20
  table = []
20
21
  header = ["Zone", "Type", "Capacity Used", "Capacity Total", "Used"]
21
22
  capacities.each do |c|
@@ -31,6 +32,15 @@ class Capacity < CloudstackCli::Base
31
32
  print_table table
32
33
  end
33
34
 
35
+ desc "capacity types", "show capacity types"
36
+ def types
37
+ table = [['type', 'name']]
38
+ CAPACITY_TYPES.each_pair do |type, data|
39
+ table << [type, data[:name]]
40
+ end
41
+ print_table table
42
+ end
43
+
34
44
  no_commands do
35
45
 
36
46
  def capacity_to_s(capacity, entity)
@@ -38,7 +48,7 @@ class Capacity < CloudstackCli::Base
38
48
  (capacity[entity] / CAPACITY_TYPES[capacity['type']][:divider]).round(1) :
39
49
  capacity[entity]
40
50
  CAPACITY_TYPES[capacity['type']][:unit] ?
41
- "#{value}#{CAPACITY_TYPES[capacity['type']][:unit]}" :
51
+ "#{value} #{CAPACITY_TYPES[capacity['type']][:unit]}" :
42
52
  value.to_s
43
53
  end
44
54
 
@@ -12,7 +12,11 @@ class Router < CloudstackCli::Base
12
12
  option :reverse, type: :boolean, default: false, desc: "reverse listing of routers"
13
13
  def list
14
14
  if options[:project]
15
- projectid = options[:project] =~ /-1|all/ ? '-1' : find_project['id']
15
+ if ['-1', 'all'].include? options[:project]
16
+ projectid = '-1'
17
+ else
18
+ projectid = find_project['id']
19
+ end
16
20
  end
17
21
  routers = client.list_routers(
18
22
  {
@@ -1,3 +1,3 @@
1
1
  module CloudstackCli
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.1"
3
3
  end
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: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nik Wolfgramm
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-13 00:00:00.000000000 Z
11
+ date: 2013-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rdoc
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: 0.2.10
61
+ version: 0.2.13
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ~>
67
67
  - !ruby/object:Gem::Version
68
- version: 0.2.10
68
+ version: 0.2.13
69
69
  description: cloudstack-cli is a CloudStack API client written in Ruby.
70
70
  email:
71
71
  - nik.wolfgramm@gmail.com