vcli 0.2.1 → 0.2.2

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: ab4e5ab618500dccec97a7e74277c8b122682bce
4
- data.tar.gz: 2e6196b4fd98e64f26a97793dc51faa72753c181
3
+ metadata.gz: b90b147af12414d980bebb4ed0d6ccb07e51c93a
4
+ data.tar.gz: 8d193f0a852e877fa6300a60a8883d11fdf5d948
5
5
  SHA512:
6
- metadata.gz: ebf29c7adc12d0b16114e537767ecde285846ac9c72f9a1f31d367672079cd3da7740285b45c767c548a71dde9f42b058219c21736d0eda4d162464c5b49fd25
7
- data.tar.gz: eca3b3532862ee804ba581ac12873596b4c5f659429321747debbab7e181f11e1da5ee2384158f9c6d8f4e0b4dce4385a11de37ea8b62e63be72b3c94d6c3ea4
6
+ metadata.gz: 1fe3bacfc94b449cadee6196e4c4754dddcf5f9f086b42dd3009fc37f81b36bffc8352855b82bef5a9e21dd2dd549b868a6ddac6fdfde7ccf9658561ad52270a
7
+ data.tar.gz: ad13b1cb806d042091505713c30caae9f12c53301126a329d2a39ff8e3af19f5e2713da0e2d1fc1564d33bc9bf2389855be97e934fdcce25784659091587b1ac
@@ -1,6 +1,8 @@
1
1
  require 'thor'
2
2
  require 'vcli/cli/show'
3
3
  require 'vcli/cli/resource'
4
+ require 'vcli/cli/create'
5
+ require 'vcli/cli/delete'
4
6
  require 'abiquo-api'
5
7
  include Vcli
6
8
 
@@ -40,7 +42,6 @@ module Vcli
40
42
  abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target,
41
43
  :abiquo_username => Vcli::user,
42
44
  :abiquo_password => Vcli::password)
43
- abq.user
44
45
  enterprise=abq.user.link(:enterprise).get
45
46
  puts "Logged into Abiquo Portal as User - #{abq.user.id} - #{abq.user.name} #{abq.user.surname}"
46
47
  puts " in Enterprise - #{enterprise.id} - #{abq.enterprise.title}"
@@ -66,5 +67,11 @@ module Vcli
66
67
 
67
68
  desc "show COMMANDS", "Show items within the Abiquo VDC"
68
69
  subcommand "show", Vcli::CLI::Show
70
+
71
+ desc "create COMMANDS", "Create items within the Abiquo VDC"
72
+ subcommand "create", Vcli::CLI::Create
73
+
74
+ desc "delete COMMANDS", "Delete items within the Abiquo VDC"
75
+ subcommand "delete", Vcli::CLI::Delete
69
76
  end
70
77
  end
@@ -0,0 +1,73 @@
1
+ ############################################################################
2
+ #
3
+ # VCLI::CLI::Create
4
+ #
5
+ ############################################################################
6
+ # Jay Fearn
7
+ ############################################################################
8
+ # Initial Create
9
+ ############################################################################
10
+ # DATE # Ver # Description
11
+ ############################################################################
12
+ # 28072015 # 0.1 # Initial Creation
13
+ ############################################################################
14
+
15
+ module Vcli
16
+ module CLI
17
+ class Create < Thor
18
+ desc "virtualappliance", "Create Virtual Appliance"
19
+ def virtualappliance(name,vdc)
20
+ begin
21
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target,
22
+ :abiquo_username => Vcli::user,
23
+ :abiquo_password => Vcli::password)
24
+ link=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc + '/virtualappliances' ,
25
+ :type => 'application/vnd.abiquo.virtualappliance+json')
26
+ newvirtualappliance={name: name}
27
+ response=abq.post(link,newvirtualappliance)
28
+ puts "ID for Virtual Appliance - #{response.id}"
29
+ rescue AbiquoAPIClient::Forbidden
30
+ puts "Forbidden HTTP 403 Received"
31
+ rescue AbiquoAPIClient::InvalidCredentials
32
+ puts "Invalid Credentials - HTTP 401 Received"
33
+ rescue AbiquoAPIClient::BadRequest
34
+ puts "Bad Request - HTTP 400 or 406 Received"
35
+ rescue AbiquoAPIClient::NotFound
36
+ puts "Note Found - HTTP 400 Received"
37
+ rescue AbiquoAPIClient::UnsupportedMediaType
38
+ puts "Unsupported Media Type Specified - HTTP 415 Received"
39
+ end
40
+ end
41
+
42
+ desc "vlan", "Create VLAN Appliance"
43
+ def vlan(name, address, mask, gateway, vdc)
44
+ begin
45
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target,
46
+ :abiquo_username => Vcli::user,
47
+ :abiquo_password => Vcli::password)
48
+ link=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc + '/privatenetworks' ,
49
+ :type => 'application/vnd.abiquo.vlan+json')
50
+ # TODO Check the limits before creating new VLAN
51
+ # If exceeds limit then throw an error
52
+ # If within limits the create VLAN
53
+
54
+ newvlan={name: name, address: address, gateway: gateway, mask: mask}
55
+ response=abq.post(link,newvlan)
56
+ puts "ID for VLAN - #{response.id}"
57
+ rescue AbiquoAPIClient::Forbidden
58
+ puts "Forbidden HTTP 403 Received"
59
+ rescue AbiquoAPIClient::InvalidCredentials
60
+ puts "Invalid Credentials - HTTP 401 Received"
61
+ rescue AbiquoAPIClient::BadRequest
62
+ puts "Bad Request - HTTP 400 or 406 Received"
63
+ rescue AbiquoAPIClient::NotFound
64
+ puts "Not Found - HTTP 400 Received"
65
+ rescue AbiquoAPIClient::UnsupportedMediaType
66
+ puts "Unsupported Media Type Specified - HTTP 415 Received"
67
+ rescue AbiquoAPIClient::Error => e
68
+ puts "Error - "+ e.message
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,66 @@
1
+ ############################################################################
2
+ #
3
+ # VCLI::CLI::Delete
4
+ #
5
+ ############################################################################
6
+ # Jay Fearn
7
+ ############################################################################
8
+ # Initial Delete
9
+ ############################################################################
10
+ # DATE # Ver # Description
11
+ ############################################################################
12
+ # 28072015 # 0.1 # Initial Creation
13
+ ############################################################################
14
+
15
+ module Vcli
16
+ module CLI
17
+ class Delete < Thor
18
+ desc "virtualappliance", "Delete Virtual Appliance"
19
+ def virtualappliance(id,vdc)
20
+ begin
21
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target,
22
+ :abiquo_username => Vcli::user,
23
+ :abiquo_password => Vcli::password)
24
+ link=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc + '/virtualappliances/' + id ,
25
+ :type => 'application/vnd.abiquo.virtualappliance+json')
26
+ response=abq.delete(link)
27
+ rescue AbiquoAPIClient::Forbidden
28
+ puts "Forbidden HTTP 403 Received"
29
+ rescue AbiquoAPIClient::InvalidCredentials
30
+ puts "Invalid Credentials - HTTP 401 Received"
31
+ rescue AbiquoAPIClient::BadRequest
32
+ puts "Bad Request - HTTP 400 or 406 Received"
33
+ rescue AbiquoAPIClient::NotFound
34
+ puts "Note Found - HTTP 400 Received"
35
+ rescue AbiquoAPIClient::UnsupportedMediaType
36
+ puts "Unsupported Media Type Specified - HTTP 415 Received"
37
+ end
38
+ end
39
+
40
+ desc "vlan", "Create VLAN Appliance"
41
+ def vlan(id,vdc)
42
+ begin
43
+ abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target,
44
+ :abiquo_username => Vcli::user,
45
+ :abiquo_password => Vcli::password)
46
+ link=AbiquoAPI::Link.new(:href => 'api/cloud/virtualdatacenters/' + vdc + '/privatenetworks/' + id ,
47
+ :type => 'application/vnd.abiquo.vlan+json')
48
+ response=abq.delete(link)
49
+ puts "VLAN Deleted"
50
+ rescue AbiquoAPIClient::Forbidden
51
+ puts "Forbidden HTTP 403 Received"
52
+ rescue AbiquoAPIClient::InvalidCredentials
53
+ puts "Invalid Credentials - HTTP 401 Received"
54
+ rescue AbiquoAPIClient::BadRequest
55
+ puts "Bad Request - HTTP 400 or 406 Received"
56
+ rescue AbiquoAPIClient::NotFound
57
+ puts "Not Found - HTTP 400 Received"
58
+ rescue AbiquoAPIClient::UnsupportedMediaType
59
+ puts "Unsupported Media Type Specified - HTTP 415 Received"
60
+ rescue AbiquoAPIClient::Error => e
61
+ puts "Error - "+ e.message
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -22,7 +22,6 @@ module Vcli
22
22
  class Show < Thor
23
23
  # Data Centers
24
24
  desc "datacenters", "Show all datacenters"
25
- method_option :limits, :type => :boolean
26
25
  def datacenters( )
27
26
  begin
28
27
  abq = AbiquoAPI.new(:abiquo_api_url => Vcli::target,
@@ -33,12 +32,6 @@ module Vcli
33
32
  dc=abq.list(link)
34
33
  dc.each { |l|
35
34
  puts "#{l.name} \t - #{l.id} \t - #{l.location}"
36
- if options.limits?
37
- link2=AbiquoAPI::Link.new(:href => 'api/admin/datacenters/' + l.id.to_s + "/action/getlimits",
38
- :type => 'application/vnd.abiquo.limits+json')
39
- limits=abq.list(link2)
40
- puts "#{limits}.inspect"
41
- end
42
35
  }
43
36
  rescue AbiquoAPIClient::Forbidden
44
37
  puts "Forbidden HTTP 403 Received"
@@ -10,7 +10,9 @@ module Vcli
10
10
  # 0.2.0 #20072015# Added virtual machine functionality
11
11
  #################################################################
12
12
  # 0.2.1 #27072015# Added template functionality
13
+ #################################################################
14
+ # 0.2.2 #28072015# Added VLAN functionality
13
15
  #################################################################
14
16
 
15
- VERSION = "0.2.1"
17
+ VERSION = "0.2.2"
16
18
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vcli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
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-27 00:00:00.000000000 Z
11
+ date: 2015-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -141,7 +141,8 @@ files:
141
141
  - bin/vcli
142
142
  - lib/vcli.rb
143
143
  - lib/vcli/cli.rb
144
- - lib/vcli/cli/abiquo.rb
144
+ - lib/vcli/cli/create.rb
145
+ - lib/vcli/cli/delete.rb
145
146
  - lib/vcli/cli/resource.rb
146
147
  - lib/vcli/cli/show.rb
147
148
  - lib/vcli/version.rb
@@ -1 +0,0 @@
1
- abiquo = lambda {AbiquoAPI.new(:abiquo_api_url => Vcli::target, :abiquo_username => Vcli::user, :abiquo_password => Vcli::password)}