vcli 0.1.7 → 0.1.8

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 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