vcli 0.2.5 → 0.2.6

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: b173126518d858853f8fde0e0b9d27fe71d7fe41
4
- data.tar.gz: bcd88daf8c29e87f836299cc1515f0d7e1758e4a
3
+ metadata.gz: 46c3b42fcb446f735257bda7f13025ec65f2b697
4
+ data.tar.gz: edea7f33a1cf74778c4587253eb63e58d31056e1
5
5
  SHA512:
6
- metadata.gz: fc06acdf59f7578d0619d774d78f311a38aa36412c21aa8d63064b96d02e79589c7db357c6194ff657d90edb914a796668734711cce4b73822f21e3b1956fba7
7
- data.tar.gz: 098e735691cfadf26c373b94480124f81f0546052707ae8247a01c8f6154a59a0330a82e72ed77a0af0c6e52f063074887f08ca2a02887da29f261417f895456
6
+ metadata.gz: 72973dbf8cccb3b7d9a5760782feaaeaa28ba7fca09d2e3a6eccd77b9676b3d9fed6aba30bd5753f0441d590523fe8a8e762a7166489162e195cac9ea4d25fae
7
+ data.tar.gz: f3e513398d4897c1e0fad293133bf5e9469c6df69bdf3f34ac9a91ef617b2e678caadd740891cfed670cd41d6551d758f986eef4319bc2067d3778353042a01d
File without changes
data/bin/setup CHANGED
File without changes
data/bin/vcli CHANGED
File without changes
@@ -55,7 +55,7 @@ module Vcli
55
55
  rescue AbiquoAPIClient::BadRequest
56
56
  puts "Bad Request - HTTP 400 or 406 Received"
57
57
  rescue AbiquoAPIClient::NotFound
58
- puts "Note Found - HTTP 400 Received"
58
+ puts "Not Found - HTTP 400 Received"
59
59
  rescue AbiquoAPIClient::UnsupportedMediaType
60
60
  puts "Unsupported Media Type Specified - HTTP 415 Received"
61
61
  end
@@ -85,25 +85,166 @@ module Vcli
85
85
  method_option :va, :type => :string, :required => true
86
86
  method_option :vdc, :type => :string, :required => true
87
87
  def deploy()
88
- abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target,
89
- :abiquo_username => Vcli::user,
90
- :abiquo_password => Vcli::password)
91
- # If --vm parameter passed
92
- vdc=options[:vdc].to_s
93
- va=options[:va].to_s
94
- vm=options[:vm].to_s
95
- if vm.length != 0
96
- # if Virtual Machine Specified
97
- link=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc + '/virtualappliances/' + va + '/virtualmachines/' + vm + '/action/deploy',
98
- :type => 'application/vnd.abiquo.acceptedrequest+json')
99
- else
100
- # If no Virtual Machine specified its a Virtual Appliance
101
- link=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc + '/virtualappliances/' + va + '/action/deploy')
88
+ begin
89
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target, :abiquo_username => Vcli::user, :abiquo_password => Vcli::password)
90
+ # If --vm parameter passed
91
+ vdc=options[:vdc].to_s
92
+ va=options[:va].to_s
93
+ vm=options[:vm].to_s
94
+ if vm.length != 0
95
+ # if Virtual Machine Specified
96
+ link=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc + '/virtualappliances/' + va + '/virtualmachines/' + vm + '/action/deploy',
97
+ :type => 'application/vnd.abiquo.acceptedrequest+json')
98
+ reqdata=Hash.new
99
+ response=abq.post(link,reqdata)
100
+ puts "Deploying Virtual Machine"
101
+ puts "Waiting for VM to be deployed"
102
+ status=response.link(:status).get
103
+ while status.state == "STARTED" && status.state != "LOCKED" do
104
+ status=response.link(:status).get
105
+ print "."
106
+ sleep 10
107
+ end
108
+ else
109
+ # If no Virtual Machine specified its a Virtual Appliance
110
+ link=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc + '/virtualappliances/' + va + '/action/deploy')
111
+ reqdata=Hash.new
112
+ response=abq.post(link,reqdata)
113
+ puts "Deploying Virtual Appliance"
114
+ puts "Waiting for VA to be Deployed"
115
+ end
116
+
117
+ rescue AbiquoAPIClient::Forbidden
118
+ puts "Forbidden HTTP 403 Received"
119
+ rescue AbiquoAPIClient::InvalidCredentials
120
+ puts "Invalid Credentials - HTTP 401 Received"
121
+ rescue AbiquoAPIClient::BadRequest => e
122
+ puts "Bad Request - HTTP 400 or 406 Received"
123
+ puts e.inspect
124
+ rescue AbiquoAPIClient::NotFound
125
+ puts "Not Found - HTTP 400 Received"
126
+ rescue AbiquoAPIClient::UnsupportedMediaType
127
+ puts "Unsupported Media Type Specified - HTTP 415 Received"
128
+ end
129
+ end
102
130
 
131
+
132
+ desc "poweroff",
133
+ "poweroff [required]--vm=<virtualmachine id>
134
+ [required] --va=<virtualappliance id>
135
+ [required] --vdc=<vdc id>"
136
+ method_option :vm, :type => :string, :required =>true
137
+ method_option :va, :type => :string, :required => true
138
+ method_option :vdc, :type => :string, :required => true
139
+ def poweroff()
140
+ begin
141
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target, :abiquo_username => Vcli::user, :abiquo_password => Vcli::password)
142
+ vdc=options[:vdc].to_s
143
+ va=options[:va].to_s
144
+ vm=options[:vm].to_s
145
+ link=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc + '/virtualappliances/' + va + '/virtualmachines/' + vm + '/state',
146
+ :type => 'application/vnd.abiquo.virtualmachinestate+json')
147
+ reqdata=Hash.new
148
+ reqdata[:state]= "OFF"
149
+ reqoptions=Hash.new
150
+ reqoptions[:accept] = 'application/vnd.abiquo.acceptedrequest+json'
151
+ print "Powering Off VM."
152
+ tries ||= 3
153
+ begin
154
+ response=abq.put(link,reqdata,reqoptions)
155
+ status=response.link(:status).get
156
+ while status.state == "STARTED" && status.state != "LOCKED" do
157
+ status=response.link(:status).get
158
+ print "."
159
+ sleep 10
160
+ end
161
+ rescue Exception=> e
162
+ retry unless (tries -= 1).zero?
163
+ end
164
+ puts
165
+ puts "VM Powered Off"
166
+ rescue AbiquoAPIClient::Forbidden
167
+ puts "Forbidden HTTP 403 Received"
168
+ rescue AbiquoAPIClient::InvalidCredentials
169
+ puts "Invalid Credentials - HTTP 401 Received"
170
+ rescue AbiquoAPIClient::BadRequest => e
171
+ puts "Bad Request - HTTP 400 or 406 Received"
172
+ puts e.inspect
173
+ rescue AbiquoAPIClient::NotFound
174
+ puts "Not Found - HTTP 400 Received"
175
+ rescue AbiquoAPIClient::UnsupportedMediaType
176
+ puts "Unsupported Media Type Specified - HTTP 415 Received"
103
177
  end
104
- response=abq.post(link,"{}")
105
178
  end
106
-
179
+
180
+ desc "poweron",
181
+ "poweron [required]--vm=<virtualmachine id>
182
+ [required] --va=<virtualappliance id>
183
+ [required] --vdc=<vdc id>"
184
+ method_option :vm, :type => :string, :required =>true
185
+ method_option :va, :type => :string, :required => true
186
+ method_option :vdc, :type => :string, :required => true
187
+ def poweron()
188
+ begin
189
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target, :abiquo_username => Vcli::user, :abiquo_password => Vcli::password)
190
+ vdc=options[:vdc].to_s
191
+ va=options[:va].to_s
192
+ vm=options[:vm].to_s
193
+ link=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc + '/virtualappliances/' + va + '/virtualmachines/' + vm + '/state',
194
+ :type => 'application/vnd.abiquo.virtualmachinestate+json')
195
+ reqdata=Hash.new
196
+ reqdata[:state]= "ON"
197
+ reqoptions=Hash.new
198
+ reqoptions[:accept] = 'application/vnd.abiquo.acceptedrequest+json'
199
+ abq.put(link,reqdata,reqoptions)
200
+ puts "VM Powered On"
201
+ rescue AbiquoAPIClient::Forbidden
202
+ puts "Forbidden HTTP 403 Received"
203
+ rescue AbiquoAPIClient::InvalidCredentials
204
+ puts "Invalid Credentials - HTTP 401 Received"
205
+ rescue AbiquoAPIClient::BadRequest => e
206
+ puts "Bad Request - HTTP 400 or 406 Received"
207
+ puts e.inspect
208
+ rescue AbiquoAPIClient::NotFound
209
+ puts "Not Found - HTTP 400 Received"
210
+ rescue AbiquoAPIClient::UnsupportedMediaType
211
+ puts "Unsupported Media Type Specified - HTTP 415 Received"
212
+ end
213
+ end
214
+
215
+ desc "reset",
216
+ "reset [required]--vm=<virtualmachine id>
217
+ [required] --va=<virtualappliance id>
218
+ [required] --vdc=<vdc id>"
219
+ method_option :vm, :type => :string, :required =>true
220
+ method_option :va, :type => :string, :required => true
221
+ method_option :vdc, :type => :string, :required => true
222
+ def reset()
223
+ begin
224
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target, :abiquo_username => Vcli::user, :abiquo_password => Vcli::password)
225
+ # If --vm parameter passed
226
+ vdc=options[:vdc].to_s
227
+ va=options[:va].to_s
228
+ vm=options[:vm].to_s
229
+ link=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc + '/virtualappliances/' + va + '/virtualmachines/' + vm + '/action/reset',
230
+ :type => 'application/vnd.abiquo.acceptedrequest+json')
231
+ reqdata=Hash.new
232
+ abq.post(link,reqdata)
233
+ puts "VM Reset"
234
+ rescue AbiquoAPIClient::Forbidden
235
+ puts "Forbidden HTTP 403 Received"
236
+ rescue AbiquoAPIClient::InvalidCredentials
237
+ puts "Invalid Credentials - HTTP 401 Received"
238
+ rescue AbiquoAPIClient::BadRequest => e
239
+ puts "Bad Request - HTTP 400 or 406 Received"
240
+ puts e.inspect
241
+ rescue AbiquoAPIClient::NotFound
242
+ puts "Not Found - HTTP 400 Received"
243
+ rescue AbiquoAPIClient::UnsupportedMediaType
244
+ puts "Unsupported Media Type Specified - HTTP 415 Received"
245
+ end
246
+ end
247
+
107
248
  desc "undeploy",
108
249
  "undeploy [optional] --vm=<virtualmachine id>
109
250
  [required] --va=<virtualappliance id>
@@ -114,9 +255,7 @@ module Vcli
114
255
  method_option :force, :type => :boolean
115
256
  def undeploy()
116
257
  begin
117
- abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target,
118
- :abiquo_username => Vcli::user,
119
- :abiquo_password => Vcli::password)
258
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target, :abiquo_username => Vcli::user, :abiquo_password => Vcli::password)
120
259
  # If --vm parameter passed
121
260
  vdc=options[:vdc].to_s
122
261
  va=options[:va].to_s
@@ -127,9 +266,8 @@ module Vcli
127
266
  if force
128
267
  forcerequest[:forceUndeploy]=true
129
268
  else
130
- forcerequest[:forceUndeploy]=false
131
- end
132
-
269
+ forcerequest[:forceUndeploy]=false
270
+ end
133
271
  request[:virtualmachinetask]=forcerequest
134
272
  if vm.length != 0
135
273
  # if Virtual Machine Specified
@@ -143,41 +281,19 @@ module Vcli
143
281
  end
144
282
  reqoptions=Hash.new
145
283
  reqoptions[:accept] = 'application/vnd.abiquo.acceptedrequest+json'
146
- response=abq.post(link,request,reqoptions)
147
- rescue AbiquoAPIClient::Forbidden
148
- puts "Forbidden HTTP 403 Received"
149
- rescue AbiquoAPIClient::InvalidCredentials
150
- puts "Invalid Credentials - HTTP 401 Received"
151
- rescue AbiquoAPIClient::BadRequest => e
152
- puts "Bad Request - HTTP 400 or 406 Received"
153
- puts e.inspect
154
- rescue AbiquoAPIClient::NotFound
155
- puts "Not Found - HTTP 400 Received"
156
- rescue AbiquoAPIClient::UnsupportedMediaType
157
- puts "Unsupported Media Type Specified - HTTP 415 Received"
158
- end
159
- end
160
-
161
- desc "poweron",
162
- "poweron [optional] --vm=<virtualmachine id>
163
- [required] --va=<virtualappliance id>
164
- [required] --vdc=<vdc id>"
165
- method_option :virtualmachine, :type => :string, :aliases => "-vm"
166
- method_option :virtualappliance, :type => :string, :aliases => "-va", :required => true
167
- method_option :vdc, :type => :string, :required => true
168
- def poweron()
169
- #TODO
170
- end
171
-
172
- desc "poweroff",
173
- "poweroff [optional] --vm=<virtualmachine id>
174
- [required] --va=<virtualappliance id>
175
- [required] --vdc=<vdc id>"
176
- method_option :virtualmachine, :type => :string, :aliases => "-vm"
177
- method_option :virtualappliance, :type => :string, :aliases => "-va", :required => true
178
- method_option :vdc, :type => :string, :required => true
179
- def poweroff()
180
- #TODO
284
+ abq.post(link,request,reqoptions)
285
+ rescue AbiquoAPIClient::Forbidden
286
+ puts "Forbidden HTTP 403 Received"
287
+ rescue AbiquoAPIClient::InvalidCredentials
288
+ puts "Invalid Credentials - HTTP 401 Received"
289
+ rescue AbiquoAPIClient::BadRequest => e
290
+ puts "Bad Request - HTTP 400 or 406 Received"
291
+ puts e.inspect
292
+ rescue AbiquoAPIClient::NotFound
293
+ puts "Not Found - HTTP 400 Received"
294
+ rescue AbiquoAPIClient::UnsupportedMediaType
295
+ puts "Unsupported Media Type Specified - HTTP 415 Received"
296
+ end
181
297
  end
182
298
  end
183
299
  end
@@ -18,9 +18,7 @@ module Vcli
18
18
  desc "create virtualappliance", "create virtualappliance <name> <vdc>"
19
19
  def virtualappliance(name,vdc)
20
20
  begin
21
- abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target,
22
- :abiquo_username => Vcli::user,
23
- :abiquo_password => Vcli::password)
21
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target, :abiquo_username => Vcli::user, :abiquo_password => Vcli::password)
24
22
  link=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc + '/virtualappliances' ,
25
23
  :type => 'application/vnd.abiquo.virtualappliance+json')
26
24
  newvirtualappliance={name: name}
@@ -42,9 +40,7 @@ module Vcli
42
40
  desc "create vlan", "create vlan <name> <address> <mask> <gateway> <vdc id>"
43
41
  def vlan(name, address, mask, gateway, vdc)
44
42
  begin
45
- abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target,
46
- :abiquo_username => Vcli::user,
47
- :abiquo_password => Vcli::password)
43
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target, :abiquo_username => Vcli::user, :abiquo_password => Vcli::password)
48
44
  link=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc + '/privatenetworks' ,
49
45
  :type => 'application/vnd.abiquo.vlan+json')
50
46
  # TODO Check the limits before creating new VLAN
@@ -70,26 +66,15 @@ module Vcli
70
66
  end
71
67
 
72
68
  desc "create virtualmachine", "create virtualmachine <name> <template id> <vdc id> <virtualappliance id>"
73
- method_option :cpu,
74
- :type => :string,
75
- :aliases => "-t"
76
- method_option :ram,
77
- :type => :string,
78
- :aliases => "-r"
79
- method_option :description,
80
- :type => :string,
81
- :aliases => "-d"
82
- method_option :password,
83
- :type => :string,
84
- :aliases => "-p"
69
+ method_option :cpu, :type => :string, :aliases => "-t"
70
+ method_option :ram, :type => :string, :aliases => "-r"
71
+ method_option :description, :type => :string, :aliases => "-d"
72
+ method_option :password, :type => :string, :aliases => "-p"
73
+ method_option :ip, :type => :string, :aliases => "-i"
74
+ method_option :vlan, :type => :string, :aliases => "-v"
85
75
  def virtualmachine(name, template, vdc, va)
86
76
  begin
87
-
88
- abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target,
89
- :abiquo_username => Vcli::user,
90
- :abiquo_password => Vcli::password)
91
-
92
-
77
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target, :abiquo_username => Vcli::user, :abiquo_password => Vcli::password)
93
78
  # Link to post
94
79
  link=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc + '/virtualappliances/' + va + '/virtualmachines' ,
95
80
  :type => 'application/vnd.abiquo.virtualmachine+json')
@@ -113,29 +98,54 @@ module Vcli
113
98
  }
114
99
  newvirtualmachine[:label]=linkhash[:title]
115
100
  newvirtualmachine[:label]=name
116
- #link2hash["0"]=linkhash
117
101
  arrayforlinks=Array.new
118
102
  arrayforlinks[0]=link2hash
119
103
  newvirtualmachine[:links]=arrayforlinks
120
104
  cpu=options[:cpu].to_s
121
- if cpu.length >0
122
- newvirtualmachine[:cpu]= cpu
123
- end
124
105
  ram=options[:ram].to_s
125
- if ram.length >0
126
- newvirtualmachine[:ram]= ram
127
- end
128
106
  description=options[:description].to_s
129
- if description.length >0
130
- newvirtualmachine[:description]= description
131
- end
132
107
  password=options[:password].to_s
133
- if password.length >0
134
- newvirtualmachine[:password]=password
135
- end
108
+ ip=options[:ip].to_s
109
+ vlan=options[:vlan].to_s
110
+ newvirtualmachine[:cpu]= cpu if cpu.length >0
111
+ newvirtualmachine[:ram]= ram if ram.length >0
112
+ newvirtualmachine[:description]= description if description.length >0
113
+ newvirtualmachine[:password]=password if password.length >0
136
114
  newvirtualmachine[:vdrpEnabled]=true
115
+ # Create VirtualMachine
137
116
  response=abq.post(link,newvirtualmachine)
138
117
  puts "ID for Virtual Machine - #{response.id}"
118
+ system("vcli deploy --vdc=#{vdc} --va=#{va} --vm=#{response.id}")
119
+ sleep 20
120
+ puts
121
+ system("vcli poweroff --vdc=#{vdc} --va=#{va} --vm=#{response.id}")
122
+ puts
123
+
124
+ # Link to get put modified machine
125
+ link4=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc + '/virtualappliances/' + va + '/virtualmachines/' + response.id.to_s ,
126
+ :type => 'application/vnd.abiquo.virtualmachine+json',
127
+ :client => abq)
128
+ # Private IPS in VLAN
129
+ link5=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc + '/privatenetworks/' + vlan + '/ips',
130
+ :type => 'application/vnd.abiquo.privateips+json',
131
+ :client => abq)
132
+ listofips=abq.list(link5)
133
+ listofips.each { |m|
134
+ if m.ip == ip
135
+ if !m.has_link?(:virtualmachine)
136
+ url=m.url
137
+ break
138
+ else
139
+ puts "IP Address already allocated"
140
+ exit 1
141
+ end
142
+ end
143
+ }
144
+ reqoptions=Hash.new
145
+ reqoptions[:accept] = 'application/vnd.abiquo.acceptedrequest+json'
146
+ virtualmachine2=abq.get(link4)
147
+ puts virtualmachine2.to_yaml
148
+ response=abq.put(link4,virtualmachine2,reqoptions)
139
149
  rescue AbiquoAPIClient::Forbidden
140
150
  puts "Forbidden HTTP 403 Received"
141
151
  rescue AbiquoAPIClient::InvalidCredentials
@@ -150,7 +160,6 @@ module Vcli
150
160
  puts "Error - "+ e.message
151
161
  end
152
162
  end
153
-
154
163
  end
155
164
  end
156
165
  end
@@ -18,12 +18,10 @@ module Vcli
18
18
  desc "delete virtualappliance", "delete virtualappliance <virtualappliance id> <vdc id>"
19
19
  def virtualappliance(id,vdc)
20
20
  begin
21
- abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target,
22
- :abiquo_username => Vcli::user,
23
- :abiquo_password => Vcli::password)
21
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target, :abiquo_username => Vcli::user, :abiquo_password => Vcli::password)
24
22
  link=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc + '/virtualappliances/' + id ,
25
23
  :type => 'application/vnd.abiquo.virtualappliance+json')
26
- response=abq.delete(link)
24
+ abq.delete(link)
27
25
  rescue AbiquoAPIClient::Forbidden
28
26
  puts "Forbidden HTTP 403 Received"
29
27
  rescue AbiquoAPIClient::InvalidCredentials
@@ -40,12 +38,10 @@ module Vcli
40
38
  desc "delete vlan", "delete vlan <vlan id> <vdc id>"
41
39
  def vlan(id,vdc)
42
40
  begin
43
- abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target,
44
- :abiquo_username => Vcli::user,
45
- :abiquo_password => Vcli::password)
41
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target, :abiquo_username => Vcli::user, :abiquo_password => Vcli::password)
46
42
  link=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc + '/privatenetworks/' + id ,
47
43
  :type => 'application/vnd.abiquo.vlan+json')
48
- response=abq.delete(link)
44
+ abq.delete(link)
49
45
  puts "VLAN Deleted"
50
46
  rescue AbiquoAPIClient::Forbidden
51
47
  puts "Forbidden HTTP 403 Received"
@@ -65,12 +61,10 @@ module Vcli
65
61
  desc "delete virtualmachine", "delete virtualmachine <virtualmachine id> <virtualappliance id> <vdc id>"
66
62
  def virtualmachine(vm, va, vdc)
67
63
  begin
68
- abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target,
69
- :abiquo_username => Vcli::user,
70
- :abiquo_password => Vcli::password)
64
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target, :abiquo_username => Vcli::user, :abiquo_password => Vcli::password)
71
65
  link=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc + '/virtualappliances/' + va + '/virtualmachines/' + vm,
72
66
  :type => 'application/vnd.abiquo.virtualmachine+json')
73
- response=abq.delete(link)
67
+ abq.delete(link)
74
68
  puts "VM Deleted"
75
69
  rescue AbiquoAPIClient::Forbidden
76
70
  puts "Forbidden HTTP 403 Received"
@@ -52,9 +52,7 @@ module Vcli
52
52
  method_option :vdc, :type => :string
53
53
  def virtualappliances( )
54
54
  begin
55
- abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target,
56
- :abiquo_username => Vcli::user,
57
- :abiquo_password => Vcli::password)
55
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target, :abiquo_username => Vcli::user, :abiquo_password => Vcli::password)
58
56
  # Get something on the screen
59
57
  puts "VDC,Appliance Name,Appliance ID"
60
58
  # If --vdc parameter passed
@@ -103,9 +101,7 @@ module Vcli
103
101
  method_option :free, :type => :boolean, :default => false
104
102
  def vlans( )
105
103
  begin
106
- abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target,
107
- :abiquo_username => Vcli::user,
108
- :abiquo_password => Vcli::password)
104
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target, :abiquo_username => Vcli::user, :abiquo_password => Vcli::password)
109
105
  # Get something on the screen
110
106
  puts "VLAN ID,VLAN Name,VDC ID,Network,Mask,Gateway"
111
107
  # If --vdc parameter passed
@@ -151,9 +147,8 @@ module Vcli
151
147
  end
152
148
  }
153
149
  end
154
-
155
150
  }
156
- # If no --vdc parameter passwd
151
+ # If no --vdc parameter passed
157
152
  else
158
153
  # Cycle through all virtualdatacenters
159
154
  link=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters',
@@ -186,9 +181,7 @@ module Vcli
186
181
  desc "show users", "Show all users within your account"
187
182
  def users( )
188
183
  begin
189
- abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target,
190
- :abiquo_username => Vcli::user,
191
- :abiquo_password => Vcli::password)
184
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target, :abiquo_username => Vcli::user, :abiquo_password => Vcli::password)
192
185
  abq.user
193
186
  ent=abq.user.link(:enterprise).get
194
187
  link=AbiquoAPI::Link.new(:href => 'api/admin/enterprises/'+ent.id.to_s + '/users',
@@ -216,9 +209,7 @@ module Vcli
216
209
  method_option :ent, :type => :string
217
210
  def enterprise( )
218
211
  begin
219
- abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target,
220
- :abiquo_username => Vcli::user,
221
- :abiquo_password => Vcli::password)
212
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target, :abiquo_username => Vcli::user, :abiquo_password => Vcli::password)
222
213
  ent=options[:ent].to_s
223
214
  if ent.length == 0
224
215
  link=AbiquoAPI::Link.new(:href => 'api/admin/enterprises',
@@ -266,9 +257,7 @@ module Vcli
266
257
  desc "show templates", "show templates --vdc=<vdc id>"
267
258
  method_option :vdc, :type => :string, :required => true
268
259
  def templates( )
269
- abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target,
270
- :abiquo_username => Vcli::user,
271
- :abiquo_password => Vcli::password)
260
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target, :abiquo_username => Vcli::user, :abiquo_password => Vcli::password)
272
261
  vdc=options[:vdc].to_s
273
262
  link=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc + '/action/templates',
274
263
  :type => 'application/vnd.abiquo.virtualmachinetemplates+json',
@@ -287,9 +276,7 @@ module Vcli
287
276
  method_option :vdc, :type => :string
288
277
  def virtualdatacenters( )
289
278
  begin
290
- abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target,
291
- :abiquo_username => Vcli::user,
292
- :abiquo_password => Vcli::password)
279
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target, :abiquo_username => Vcli::user, :abiquo_password => Vcli::password)
293
280
  vdc=options[:vdc].to_s
294
281
  if vdc.length==0
295
282
  link=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters',
@@ -338,9 +325,7 @@ module Vcli
338
325
  method_option :vdc, :type => :string
339
326
  def virtualmachines( )
340
327
  begin
341
- abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target,
342
- :abiquo_username => Vcli::user,
343
- :abiquo_password => Vcli::password)
328
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target, :abiquo_username => Vcli::user, :abiquo_password => Vcli::password)
344
329
  # If --vdc parameter passed
345
330
  va=options[:va].to_s
346
331
  vdc=options[:vdc].to_s
@@ -21,8 +21,9 @@ module Vcli
21
21
  #################################################################
22
22
  # 0.2.5 #31072015# Added deploy and undeploy for virtualappliance
23
23
  # # # and virtualmachines
24
+ #################################################################
25
+ # 0.2.6 #05082015# Added create virtualmachine
24
26
  #################################################################
25
27
 
26
-
27
- VERSION = "0.2.5"
28
+ VERSION = "0.2.6"
28
29
  end
metadata CHANGED
@@ -1,55 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vcli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jay Fearn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-31 00:00:00.000000000 Z
11
+ date: 2015-08-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.10'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.10'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: '10.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: minitest
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
47
  version: '5'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: '5'
55
55
  - !ruby/object:Gem::Dependency
@@ -84,28 +84,28 @@ dependencies:
84
84
  name: thor
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ~>
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ~>
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: httparty
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ~>
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ~>
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
@@ -126,14 +126,14 @@ dependencies:
126
126
  name: abiquo-api
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - "~>"
129
+ - - ~>
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - "~>"
136
+ - - ~>
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  description: "Command Line Interface for the Abiquo API\nStart with 'vcli target https://put.your.portal.api.fqdn.here/api'\nthen
@@ -153,13 +153,13 @@ files:
153
153
  - bin/console
154
154
  - bin/setup
155
155
  - bin/vcli
156
- - lib/vcli.rb
157
- - lib/vcli/cli.rb
158
156
  - lib/vcli/cli/create.rb
159
157
  - lib/vcli/cli/delete.rb
160
158
  - lib/vcli/cli/resource.rb
161
159
  - lib/vcli/cli/show.rb
160
+ - lib/vcli/cli.rb
162
161
  - lib/vcli/version.rb
162
+ - lib/vcli.rb
163
163
  - test/test_helper.rb
164
164
  - test/vcli_test.rb
165
165
  homepage: http://www.sittingonthe.net
@@ -172,17 +172,17 @@ require_paths:
172
172
  - lib
173
173
  required_ruby_version: !ruby/object:Gem::Requirement
174
174
  requirements:
175
- - - ">="
175
+ - - '>='
176
176
  - !ruby/object:Gem::Version
177
177
  version: '0'
178
178
  required_rubygems_version: !ruby/object:Gem::Requirement
179
179
  requirements:
180
- - - ">="
180
+ - - '>='
181
181
  - !ruby/object:Gem::Version
182
182
  version: '0'
183
183
  requirements: []
184
184
  rubyforge_project:
185
- rubygems_version: 2.4.5
185
+ rubygems_version: 2.0.14
186
186
  signing_key:
187
187
  specification_version: 4
188
188
  summary: Command Line Interface for the Abiquo API