vcli 0.1.7 → 0.1.8

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: e880c3cd0026aaecb864f517434fbbee6b891fbf
4
- data.tar.gz: d7ad14fc6b3f037e5642c9d58a14df8e9e78394b
3
+ metadata.gz: 777c5805f03b65b99a01a62a9f87ea2464cdc97b
4
+ data.tar.gz: 90aac2b9a899849c3929af7a2002ceab32e0a562
5
5
  SHA512:
6
- metadata.gz: 5e81dcdf0f0f4dbf0f4fe0b4870c77ab6aacae319345142fdc6e52bc059cee015572639e2958796f6c7e4b02aa29ade1ca82b1dc4d321f17c2333ad39dd1cb38
7
- data.tar.gz: 4826d77d1a3bea92f59c62bd5f6a95049a4161fa65e4b999f704ff1ccf7b688048b6d6151ab41bc1fa1104691d0c4fb8cb28ba9b7f3f24cab05dc8b01a023d51
6
+ metadata.gz: d4148d7a11dc720b0bcbc73ac3afa900b3d783a7b7917b2843af1e4635ab402ded5d65b77026e3734050ce018403f94530cb36a18f8e8bbd90f580abc686d9bc
7
+ data.tar.gz: 2fc681186b3e12df579e2ac9f51fe294d6055873323bdf29117133facf9ceaae0aea424bf0de26db412f883fd9b957d405e68ea0490821e9968c4eb64ea871b1
@@ -12,11 +12,12 @@
12
12
  ############################################################################
13
13
  # 16072015 # 0.1 # Initial Creation
14
14
  ############################################################################
15
+ # 20072015 # 0.2 # Added Virtual Machine functionality
16
+ ############################################################################
15
17
 
16
18
  module Vcli
17
19
  module CLI
18
20
  class Show < Thor
19
-
20
21
  # Data Centers
21
22
  desc "datacenters", "Show all datacenters"
22
23
  def datacenters( )
@@ -27,7 +28,6 @@ module Vcli
27
28
  puts "#{l.name} \t - #{l.id} \t - #{l.location}"
28
29
  }
29
30
  end
30
-
31
31
  # Virtual Appliances
32
32
  desc "virtualappliances", "Show all virtualappliances"
33
33
  method_option :vdc, :type => :string
@@ -39,8 +39,8 @@ module Vcli
39
39
  vdc=options[:vdc].to_s
40
40
  if vdc.length != 0
41
41
  link2=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc + '/virtualappliances' , :type => 'application/vnd.abiquo.virtualappliances+json')
42
- va=abq.list(link2)
43
- va.each { |l|
42
+ virtualappliance=abq.list(link2)
43
+ virtualappliance.each { |l|
44
44
  puts "#{vdc},#{l.name},#{l.id}"
45
45
  }
46
46
  # If no --vdc parameter passwd
@@ -48,18 +48,17 @@ module Vcli
48
48
  # Cycle through all virtualdatacenters
49
49
  link=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters',
50
50
  :type => 'application/vnd.abiquo.virtualdatacenters+json')
51
- vdc=abq.list(link)
51
+ virtualdatacenter=abq.list(link)
52
52
  # Cycle through all virtual appliances in virtual datacenter
53
- vdc.each { |l|
53
+ virtualdatacenter.each { |l|
54
54
  link2=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + l.id.to_s + '/virtualappliances' , :type => 'application/vnd.abiquo.virtualappliances+json')
55
- dc=abq.list(link2)
56
- dc.each { |m|
55
+ virtualappliance=abq.list(link2)
56
+ virtualappliance.each { |m|
57
57
  puts "#{l.id},#{m.name},#{m.id}"
58
58
  }
59
59
  }
60
60
  end
61
61
  end
62
-
63
62
  # Users
64
63
  desc "users", "Show all users within your account"
65
64
  def users( )
@@ -67,7 +66,7 @@ module Vcli
67
66
  :abiquo_username => Vcli::user,
68
67
  :abiquo_password => Vcli::password)
69
68
  abq.user
70
- enterprise=abq.user.link(:enterprise).get
69
+ #enterprise=abq.user.link(:enterprise).get
71
70
  link2=AbiquoAPI::Link.new(:href => 'api/admin/enterprises/' + enterprise.id.to_s + '/users' , :type => 'application/vnd.abiquo.users+json')
72
71
  users=abq.list(link2)
73
72
  puts "UserID,Firstname,Surname,Email"
@@ -75,34 +74,30 @@ module Vcli
75
74
  puts "#{m.id},#{m.name},#{m.surname},#{m.email}"
76
75
  }
77
76
  end
78
-
79
77
  # Enterprise
80
78
  desc "enterprise", "Show Enterprise details"
81
79
  def enterprise( )
82
80
  abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target, :abiquo_username => Vcli::user, :abiquo_password => Vcli::password)
83
81
  link=AbiquoAPI::Link.new(:href => 'api/admin/enterprises',
84
82
  :type => 'application/vnd.abiquo.enterprises+json')
85
- dc=abq.list(link)
86
- dc.each { |l|
83
+ enterprises=abq.list(link)
84
+ enterprises.each { |l|
87
85
  puts "#{l.id} \t - #{l.name}"
88
86
  }
89
87
  end
90
-
91
88
  # Resources
92
89
  desc "resources", "Show resources usage details"
93
90
  def resources( )
94
- command = "showing resources details"
91
+ command = "TBC - showing resources details"
95
92
  puts command
96
93
  end
97
-
98
94
  # Resource Limits
99
95
  #
100
96
  desc "limits", "Show limit details"
101
97
  def limits( )
102
- command = "showing limit details"
98
+ command = "TBC - showing limit details"
103
99
  puts command
104
100
  end
105
-
106
101
  # Virtual Datacenters
107
102
  desc "virtualdatacenters", "show configured Virtual Data Centers"
108
103
  def virtualdatacenters( )
@@ -116,6 +111,76 @@ module Vcli
116
111
  puts "#{l.id} \t - #{l.name}"
117
112
  }
118
113
  end
114
+ # Virtual Machines
115
+ desc "virtualmachines", "show Virtual Machines"
116
+ method_option :va, :type => :string
117
+ method_option :vdc, :type => :string
118
+ def virtualmachines( )
119
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target,
120
+ :abiquo_username => Vcli::user,
121
+ :abiquo_password => Vcli::password)
122
+ # If --vdc parameter passed
123
+ va=options[:va].to_s
124
+ vdc=options[:vdc].to_s
125
+ if va.length == 0 && vdc.length == 0
126
+ # Cycle through all virtualdatacenters
127
+ link=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters',
128
+ :type => 'application/vnd.abiquo.virtualdatacenters+json')
129
+ virtualdatacenters=abq.list(link)
130
+ # Cycle through all virtual appliances in virtual datacenter
131
+ virtualdatacenters.each { |l|
132
+ puts "- VDC - #{l.id} "
133
+ link2=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + l.id.to_s + '/virtualappliances' , :type => 'application/vnd.abiquo.virtualappliances+json')
134
+ virtualappliances=abq.list(link2)
135
+ virtualappliances.each { |m|
136
+ puts " - Virtual Appliance - #{m.name} - VA ID - #{m.id}"
137
+ link3=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + l.id.to_s + '/virtualappliances/' + m.id.to_s + '/virtualmachines' , :type => 'application/vnd.abiquo.virtualmachines+json')
138
+ virtualmachines=abq.list(link3)
139
+ virtualmachines.each { |n|
140
+ puts " - ID: #{n.id}, UUID: #{n.uuid}"
141
+ puts " - Name: #{n.label}"
142
+ puts " - CPU: #{n.cpu} RAM: #{n.ram} MB"
143
+ disksizeInGB = n.hdInBytes/(1024**3)
144
+ puts " - HD Size: #{disksizeInGB} GB"
145
+ puts " - State: #{n.state}"
146
+ }
147
+ }
148
+ }
149
+ elsif vdc.length != 0 && va.length == 0
150
+ puts "- VDC - #{vdc.to_s} "
151
+ link2=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc.to_s + '/virtualappliances' , :type => 'application/vnd.abiquo.virtualappliances+json')
152
+ virtualappliances=abq.list(link2)
153
+ virtualappliances.each { |m|
154
+ puts " - Virtual Appliance - #{m.name} - VA ID - #{m.id}"
155
+ link3=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc.to_s + '/virtualappliances/' + m.id.to_s + '/virtualmachines' , :type => 'application/vnd.abiquo.virtualmachines+json')
156
+ virtualmachines=abq.list(link3)
157
+ virtualmachines.each { |n|
158
+ puts " - ID: #{n.id}, UUID: #{n.uuid}"
159
+ puts " - Name: #{n.label}"
160
+ puts " - CPU: #{n.cpu} RAM: #{n.ram} MB"
161
+ disksizeInGB = n.hdInBytes/(1024**3)
162
+ puts " - HD Size: #{disksizeInGB} GB"
163
+ puts " - State: #{n.state}"
164
+ }
165
+ }
166
+ elsif vdc.length != 0 && va.length != 0
167
+ link3=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc.to_s + '/virtualappliances/' + va.to_s + '/virtualmachines' , :type => 'application/vnd.abiquo.virtualmachines+json')
168
+ virtualmachines=abq.list(link3)
169
+ virtualmachines.each { |n|
170
+ puts " - ID: #{n.id}, UUID: #{n.uuid}"
171
+ puts " - Name: #{n.label}"
172
+ puts " - CPU: #{n.cpu} RAM: #{n.ram} MB"
173
+ disksizeInGB = n.hdInBytes/(1024**3)
174
+ puts " - HD Size: #{disksizeInGB} GB"
175
+ puts " - State: #{n.state}"
176
+ }
177
+ else
178
+ puts "If options are used the alternatives are as follows:"
179
+ puts " --VDC xxx --VA xxx"
180
+ puts " --VDC xxx"
181
+ puts "using --VA without --VDC is not allowed"
182
+ end
183
+ end
119
184
  end
120
185
  end
121
186
  end
@@ -1,3 +1,3 @@
1
1
  module Vcli
2
- VERSION = "0.1.7"
2
+ VERSION = "0.1.8"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vcli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jay Fearn