netscaler 0.5.2 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NjdmZTY4OWRjMzFlMjg1YzVjZTgwMWE1YTNlODMzMmNjMGY4MGM5Nw==
4
+ Yzk5MTBlZTEzY2VmMmE2YWExNGUzMGY5MzYxMWYyNTY2YWE2YjhkNg==
5
5
  data.tar.gz: !binary |-
6
- MmE5Y2NiMjEzMDE5NDFjZGY5MDBjZDE5ODJhNTlhZmMyMTJkN2Q1YQ==
6
+ ODMzMTY3YmMyMjlhZTA2Yjk5ODJhZGRkZGJiNmY0MGIxMDk2OTkwZQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NDU4ZDM5MzQ5M2I0MWRjNjc5M2QwY2Q1MjRlNWMwZjYzZTY1MDk2YzI3NmRi
10
- NWE1MzU5YWQ3NzNhNzVlNzk2ZWE0Y2JlY2YxMmYwZmI1NmEzZDY3NmFlZTJk
11
- MGFkYzNiMTE3ZGQ4NzBlNDU4NzdhMGFkNjdhNmJhNjczNjczNDE=
9
+ OWNjZjc4NWUwMWFiYzYzNDY0YmRiZDdmMTRjZjRmNDBiZDY4ZDUxMDE1NDMz
10
+ Njg0MTBhNzdjNmVhYjhiOTgzZDYyZDdiMTVhZjVhMjBhMjJjOWUzMjRmZmFm
11
+ YzUxYTBkNWU3YzUxNjdlYjYwNTkxMTg4ZThiNzI1YTUyN2IxOTM=
12
12
  data.tar.gz: !binary |-
13
- NGZhOTU0YWVjMmFjMjQ1M2IzM2JiMWIyYTFjMzY2ODg4NjBlNzc3MzY1M2Qx
14
- NTJmNGFmMDJiMTg3ODNiYTc1YmVkZTE0YjliOGZjMzM0MWI4ZmQwMDFkMDYz
15
- OTE0ODVjZjgwYzY4NjAzMWY5Y2I0NjY2YjRlMDg0MTJjMzU1NDg=
13
+ ODhlOWZlN2IzODFhN2Y4YjRkYzQ5MTQ2YzYzODM1OTIyMGNhY2NiYTU2MzVj
14
+ NDhjMGQ2NWVlN2Y2NTllOWRjZWE1Mzk3MTZiZjdkYmQ3YmU4N2U0MTNiODc0
15
+ ZjM3MWEwMmM3YTcxNTE1MzUzYTE0NjE2ODNkYzA5NGYwNTg4NjI=
data/Gemfile CHANGED
@@ -6,13 +6,13 @@ source "http://rubygems.org"
6
6
  # Add dependencies to develop your gem here.
7
7
  # Include everything needed to run rake, tests, features, etc.
8
8
  group :development do
9
- gem 'rspec', '~> 2.8.0'
10
- gem 'rdoc', '~> 3.12'
9
+ gem 'rspec', '~> 3.2'
10
+ gem 'rdoc', '~> 4.2'
11
11
  gem 'bundler'
12
12
  gem 'jeweler', '~> 2.0.1'
13
- gem 'simplecov'
13
+ gem 'simplecov', '~> 0.10'
14
14
  gem 'simplecov-rcov'
15
15
  end
16
16
 
17
- gem 'rest-client', '~> 1.7.2'
18
- gem 'json', '~> 1.8.1'
17
+ gem 'rest-client', '~> 1.8.0'
18
+ gem 'json', '~> 1.8.2'
@@ -1,16 +1,18 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- addressable (2.3.6)
4
+ addressable (2.3.8)
5
5
  builder (3.2.2)
6
6
  descendants_tracker (0.0.4)
7
7
  thread_safe (~> 0.3, >= 0.3.1)
8
- diff-lcs (1.1.3)
8
+ diff-lcs (1.2.5)
9
9
  docile (1.1.5)
10
+ domain_name (0.5.24)
11
+ unf (>= 0.0.5, < 1.0.0)
10
12
  faraday (0.9.1)
11
13
  multipart-post (>= 1.2, < 3)
12
14
  git (1.2.9.1)
13
- github_api (0.12.2)
15
+ github_api (0.12.3)
14
16
  addressable (~> 2.3)
15
17
  descendants_tracker (~> 0.0.4)
16
18
  faraday (~> 0.8, < 0.10)
@@ -18,8 +20,10 @@ GEM
18
20
  multi_json (>= 1.7.5, < 2.0)
19
21
  nokogiri (~> 1.6.3)
20
22
  oauth2
21
- hashie (3.3.2)
22
- highline (1.6.21)
23
+ hashie (3.4.1)
24
+ highline (1.7.2)
25
+ http-cookie (1.0.2)
26
+ domain_name (~> 0.5)
23
27
  jeweler (2.0.1)
24
28
  builder
25
29
  bundler (>= 1.0)
@@ -30,14 +34,14 @@ GEM
30
34
  rake
31
35
  rdoc
32
36
  json (1.8.2)
33
- jwt (1.2.0)
37
+ jwt (1.4.1)
34
38
  mime-types (2.4.3)
35
39
  mini_portile (0.6.2)
36
- multi_json (1.10.1)
40
+ multi_json (1.11.0)
37
41
  multi_xml (0.5.5)
38
42
  multipart-post (2.0.0)
39
- netrc (0.10.2)
40
- nokogiri (1.6.5)
43
+ netrc (0.10.3)
44
+ nokogiri (1.6.6.2)
41
45
  mini_portile (~> 0.6.0)
42
46
  oauth2 (1.0.0)
43
47
  faraday (>= 0.8, < 0.10)
@@ -47,27 +51,36 @@ GEM
47
51
  rack (~> 1.2)
48
52
  rack (1.6.0)
49
53
  rake (10.4.2)
50
- rdoc (3.12.2)
54
+ rdoc (4.2.0)
51
55
  json (~> 1.4)
52
- rest-client (1.7.2)
56
+ rest-client (1.8.0)
57
+ http-cookie (>= 1.0.2, < 2.0)
53
58
  mime-types (>= 1.16, < 3.0)
54
59
  netrc (~> 0.7)
55
- rspec (2.8.0)
56
- rspec-core (~> 2.8.0)
57
- rspec-expectations (~> 2.8.0)
58
- rspec-mocks (~> 2.8.0)
59
- rspec-core (2.8.0)
60
- rspec-expectations (2.8.0)
61
- diff-lcs (~> 1.1.2)
62
- rspec-mocks (2.8.0)
63
- simplecov (0.9.1)
60
+ rspec (3.2.0)
61
+ rspec-core (~> 3.2.0)
62
+ rspec-expectations (~> 3.2.0)
63
+ rspec-mocks (~> 3.2.0)
64
+ rspec-core (3.2.3)
65
+ rspec-support (~> 3.2.0)
66
+ rspec-expectations (3.2.1)
67
+ diff-lcs (>= 1.2.0, < 2.0)
68
+ rspec-support (~> 3.2.0)
69
+ rspec-mocks (3.2.1)
70
+ diff-lcs (>= 1.2.0, < 2.0)
71
+ rspec-support (~> 3.2.0)
72
+ rspec-support (3.2.2)
73
+ simplecov (0.10.0)
64
74
  docile (~> 1.1.0)
65
- multi_json (~> 1.0)
66
- simplecov-html (~> 0.8.0)
67
- simplecov-html (0.8.0)
75
+ json (~> 1.8)
76
+ simplecov-html (~> 0.10.0)
77
+ simplecov-html (0.10.0)
68
78
  simplecov-rcov (0.2.3)
69
79
  simplecov (>= 0.4.1)
70
- thread_safe (0.3.4)
80
+ thread_safe (0.3.5)
81
+ unf (0.1.4)
82
+ unf_ext
83
+ unf_ext (0.0.7.1)
71
84
 
72
85
  PLATFORMS
73
86
  ruby
@@ -75,9 +88,9 @@ PLATFORMS
75
88
  DEPENDENCIES
76
89
  bundler
77
90
  jeweler (~> 2.0.1)
78
- json (~> 1.8.1)
79
- rdoc (~> 3.12)
80
- rest-client (~> 1.7.2)
81
- rspec (~> 2.8.0)
82
- simplecov
91
+ json (~> 1.8.2)
92
+ rdoc (~> 4.2)
93
+ rest-client (~> 1.8.0)
94
+ rspec (~> 3.2)
95
+ simplecov (~> 0.10)
83
96
  simplecov-rcov
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.2
1
+ 0.6.0
@@ -12,6 +12,7 @@ require 'netscaler/adapter'
12
12
  require 'netscaler/policy'
13
13
  require 'netscaler/lb'
14
14
  require 'netscaler/cs'
15
+ require 'netscaler/ssl'
15
16
  require 'netscaler/rewrite'
16
17
  require 'netscaler/responder'
17
18
 
@@ -39,6 +40,7 @@ module Netscaler
39
40
  @cs = Cs.new self
40
41
  @rewrite = Rewrite.new self
41
42
  @responder = Responder.new self
43
+ @ssl =Ssl.new self
42
44
  end
43
45
 
44
46
  def adapter
@@ -77,6 +79,10 @@ module Netscaler
77
79
  @cs
78
80
  end
79
81
 
82
+ def ssl
83
+ @ssl
84
+ end
85
+
80
86
  def rewrite
81
87
  @rewrite
82
88
  end
@@ -41,6 +41,12 @@ module Netscaler
41
41
  return @netscaler.adapter.post_no_body("config/csvserver_responderpolicy_binding/#{payload['name']}", {'params' => {'action' => 'bind'}, 'csvserver_responderpolicy_binding' => payload})
42
42
  end
43
43
 
44
+ def lbvserver(payload)
45
+ raise ArgumentError, 'payload cannot be null' if payload.nil?
46
+ validate_payload(payload, [:name, :lbvserver])
47
+ return @netscaler.adapter.post_no_body("config/csvserver_lbvserver_binding/#{payload['name']}", {'params' => {'action' => 'bind'}, 'csvserver_lbvserver_binding' => payload})
48
+ end
49
+
44
50
  end
45
51
  end
46
52
  end
@@ -8,6 +8,34 @@ module Netscaler
8
8
  @netscaler = netscaler
9
9
  end
10
10
 
11
+ def add(payload) # :args: :monitorName => 'HTTP-updates.dev.rs.com', :serviceType => 'HTTP'
12
+ raise ArgumentError, 'payload cannot be null' if payload.nil?
13
+ validate_payload(payload, [:monitorName, :type])
14
+ return @netscaler.adapter.post_no_body("config/lbmonitor/", "lbmonitor" => payload)
15
+ end
16
+
17
+ # not working. always dies saying it wants a type no matter how i pass the type. :)
18
+ def remove(payload) # :args: :monitorName => 'HTTP-updates.dev.rs.com'
19
+ raise ArgumentError, 'payload cannot be null' if payload.nil?
20
+ validate_payload(payload, [:monitorName, :type])
21
+ return @netscaler.adapter.delete("config/lbmonitor/#{payload[:monitorName]}", "lbmonitor" => payload)
22
+ end
23
+
24
+ def show(payload) # :args: :monitorName => 'http', :entityName => 'foo' :entityType => '[service|servicegroup]'
25
+ raise ArgumentError, 'payload cannot be null' if payload.nil?
26
+ validate_payload(payload, [:monitorName])
27
+ return @netscaler.adapter.get("config/lbmonitor/#{payload[:monitorName]}")
28
+ end
29
+
30
+ def show_binding(payload) # :args: :monitorName => 'http', :entityName => 'foo' :entityType => '[service|servicegroup]'
31
+ raise ArgumentError, 'payload cannot be null' if payload.nil?
32
+ validate_payload(payload, [:monitorName, :entityType])
33
+ valid_entityTypes = %w(service servicegroup)
34
+ raise ArgumentError, ":entityType does not equal one of the following: #{valid_entityTypes.flatten}" unless valid_entityTypes.include?(payload[:entityType])
35
+
36
+ return @netscaler.adapter.get("config/lbmonbindings_#{payload[:entityType]}_binding/#{payload[:monitorName]}")
37
+ end
38
+
11
39
  def bind(payload) # :args: :monitorName => 'http', :entityName => 'foo' :entityType => '[service|servicegroup]'
12
40
  raise ArgumentError, 'payload cannot be null' if payload.nil?
13
41
  validate_payload(payload, [:monitorName, :entityName, :entityType])
@@ -75,7 +75,10 @@ module Netscaler
75
75
  def toggle(toggle_action, payload)
76
76
  raise ArgumentError, 'payload cannot be null' if payload.nil?
77
77
  validate_payload(payload, [:serviceGroupName])
78
- return @netscaler.adapter.post('config/', {"params" => {"action" => toggle_action}, "servicegroup" => {"servicegroupname" => payload[:service_group]}})
78
+ service_group_options = {"servicegroupname" => payload[:serviceGroupName]}
79
+ service_group_options.merge!("serverName" => payload[:serverName]) if payload[:serverName]
80
+ service_group_options.merge!("port" => payload[:port]) if payload[:port]
81
+ return @netscaler.adapter.post('config/', {"params" => {"action" => toggle_action}, "servicegroup" => service_group_options})
79
82
  end
80
83
 
81
84
  end
@@ -0,0 +1,17 @@
1
+ require 'netscaler/ssl/vserver'
2
+ require 'netscaler/ssl/vserver/bind'
3
+ require 'netscaler/ssl/vserver/unbind'
4
+
5
+ module Netscaler
6
+ class Ssl
7
+
8
+ def initialize(netscaler)
9
+ @netscaler = netscaler
10
+ end
11
+
12
+ def vserver
13
+ Vserver.new @netscaler
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,55 @@
1
+ require 'netscaler/netscaler_service'
2
+
3
+ module Netscaler
4
+ class Ssl
5
+ class Vserver < NetscalerService
6
+ def initialize(netscaler)
7
+ @netscaler=netscaler
8
+ end
9
+
10
+ def show(payload={})
11
+ if payload[:name] != nil then
12
+ validate_payload(payload, [:name])
13
+ return @netscaler.adapter.get("config/sslvserver/#{payload[:name]}")
14
+ elsif payload == {} then
15
+ return @netscaler.adapter.get('config/sslvserver/')
16
+ else
17
+ raise ArgumentError, 'payload supplied must have been missing :name'
18
+ end
19
+ end
20
+
21
+ def show_binding(payload)
22
+ raise ArgumentError, 'payload cannot be null' if payload.nil?
23
+ validate_payload(payload, [:name])
24
+ return @netscaler.adapter.get("config/sslvserver_binding/#{payload[:name]}")
25
+ end
26
+
27
+ def remove(payload) # :args: :name
28
+ raise ArgumentError, 'payload cannot be null' if payload.nil?
29
+ validate_payload(payload, [:name])
30
+ return @netscaler.adapter.delete("config/sslvserver/#{payload[:name]}")
31
+ end
32
+
33
+ def add(payload)
34
+ raise ArgumentError, 'payload cannot be null' if payload.nil?
35
+ validate_payload(payload, [:name, :serviceType, :ipv46, :port])
36
+ return @netscaler.adapter.post_no_body('config/sslvserver/', {'sslvserver' => payload})
37
+ end
38
+
39
+ def stat(payload)
40
+ raise ArgumentError, 'payload cannot be null' if payload.nil?
41
+ validate_payload(payload, [:name])
42
+ return @netscaler.adapter.get("stat/sslvserver/#{payload[:name]}")
43
+ end
44
+
45
+ def bind
46
+ Bind.new @netscaler
47
+ end
48
+
49
+ def unbind
50
+ Unbind.new @netscaler
51
+ end
52
+
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,21 @@
1
+ module Netscaler
2
+ class Ssl
3
+ class Vserver
4
+ class Bind < NetscalerService
5
+ def initialize(netscaler)
6
+ @netscaler=netscaler
7
+ end
8
+
9
+ def sslcertkey(payload)
10
+ raise ArgumentError, 'payload cannot be null' if payload.nil?
11
+ validate_payload(payload, [:name, :certkeyname])
12
+ return @netscaler.adapter.post_no_body("config/sslvserver_sslcertkey_binding/#{payload[:vservername]}", {'params' => {'action' => 'bind'}, 'sslvserver_sslcertkey_binding' => payload})
13
+ end
14
+
15
+ end
16
+ end
17
+ end
18
+ end
19
+
20
+
21
+
@@ -0,0 +1,18 @@
1
+ module Netscaler
2
+ class Ssl
3
+ class Vserver
4
+ class Unbind < NetscalerService
5
+ def initialize(netscaler)
6
+ @netscaler=netscaler
7
+ end
8
+
9
+ def sslcertkey(payload)
10
+ raise ArgumentError, 'payload cannot be null' if payload.nil?
11
+ validate_payload(payload, [:name, :certkeyname])
12
+ return @netscaler.adapter.post_no_body("config/sslvserver_sslcertkey_binding/#{payload[:vservername]}?action=unbind/", {'params' => {'action' => 'unbind'}, 'sslvserver_sslcertkey_binding' => payload})
13
+ end
14
+
15
+ end
16
+ end
17
+ end
18
+ end
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: netscaler 0.5.2 ruby lib
5
+ # stub: netscaler 0.6.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "netscaler"
9
- s.version = "0.5.2"
9
+ s.version = "0.6.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Jeremy Custenborder", "David Andrew", "Jarrett Irons"]
14
- s.date = "2015-02-09"
14
+ s.date = "2015-05-24"
15
15
  s.description = "Netscaler api working against the Citrix Nitro api. Currently supports Nitro 9.3. Hope to add support for 10.X. Currently has support for som basics such as adding servers/services/servicegroups."
16
16
  s.email = ["jeremy@scarcemedia.com", "david.andrew@webtrends.com", "jarrett.irons@gmail.com"]
17
17
  s.extra_rdoc_files = [
@@ -56,6 +56,10 @@ Gem::Specification.new do |s|
56
56
  "lib/netscaler/server.rb",
57
57
  "lib/netscaler/service.rb",
58
58
  "lib/netscaler/servicegroup.rb",
59
+ "lib/netscaler/ssl.rb",
60
+ "lib/netscaler/ssl/vserver.rb",
61
+ "lib/netscaler/ssl/vserver/bind.rb",
62
+ "lib/netscaler/ssl/vserver/unbind.rb",
59
63
  "netscaler.gemspec",
60
64
  "spec/csvserver_spec.rb",
61
65
  "spec/lbvserver_spec.rb",
@@ -66,43 +70,44 @@ Gem::Specification.new do |s|
66
70
  "spec/server_spec.rb",
67
71
  "spec/service_spec.rb",
68
72
  "spec/servicegroup_spec.rb",
69
- "spec/spec_helper.rb"
73
+ "spec/spec_helper.rb",
74
+ "spec/sslvserver_spec.rb"
70
75
  ]
71
76
  s.homepage = "http://github.com/GravityLabs/netscaler"
72
77
  s.licenses = ["MIT"]
73
- s.rubygems_version = "2.4.5"
78
+ s.rubygems_version = "2.4.6"
74
79
  s.summary = "Netscaler api working against the Citrix Nitro api."
75
80
 
76
81
  if s.respond_to? :specification_version then
77
82
  s.specification_version = 4
78
83
 
79
84
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
80
- s.add_runtime_dependency(%q<rest-client>, ["~> 1.7.2"])
81
- s.add_runtime_dependency(%q<json>, ["~> 1.8.1"])
82
- s.add_development_dependency(%q<rspec>, ["~> 2.8.0"])
83
- s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
85
+ s.add_runtime_dependency(%q<rest-client>, ["~> 1.8.0"])
86
+ s.add_runtime_dependency(%q<json>, ["~> 1.8.2"])
87
+ s.add_development_dependency(%q<rspec>, ["~> 3.2"])
88
+ s.add_development_dependency(%q<rdoc>, ["~> 4.2"])
84
89
  s.add_development_dependency(%q<bundler>, [">= 0"])
85
90
  s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
86
- s.add_development_dependency(%q<simplecov>, [">= 0"])
91
+ s.add_development_dependency(%q<simplecov>, ["~> 0.10"])
87
92
  s.add_development_dependency(%q<simplecov-rcov>, [">= 0"])
88
93
  else
89
- s.add_dependency(%q<rest-client>, ["~> 1.7.2"])
90
- s.add_dependency(%q<json>, ["~> 1.8.1"])
91
- s.add_dependency(%q<rspec>, ["~> 2.8.0"])
92
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
94
+ s.add_dependency(%q<rest-client>, ["~> 1.8.0"])
95
+ s.add_dependency(%q<json>, ["~> 1.8.2"])
96
+ s.add_dependency(%q<rspec>, ["~> 3.2"])
97
+ s.add_dependency(%q<rdoc>, ["~> 4.2"])
93
98
  s.add_dependency(%q<bundler>, [">= 0"])
94
99
  s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
95
- s.add_dependency(%q<simplecov>, [">= 0"])
100
+ s.add_dependency(%q<simplecov>, ["~> 0.10"])
96
101
  s.add_dependency(%q<simplecov-rcov>, [">= 0"])
97
102
  end
98
103
  else
99
- s.add_dependency(%q<rest-client>, ["~> 1.7.2"])
100
- s.add_dependency(%q<json>, ["~> 1.8.1"])
101
- s.add_dependency(%q<rspec>, ["~> 2.8.0"])
102
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
104
+ s.add_dependency(%q<rest-client>, ["~> 1.8.0"])
105
+ s.add_dependency(%q<json>, ["~> 1.8.2"])
106
+ s.add_dependency(%q<rspec>, ["~> 3.2"])
107
+ s.add_dependency(%q<rdoc>, ["~> 4.2"])
103
108
  s.add_dependency(%q<bundler>, [">= 0"])
104
109
  s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
105
- s.add_dependency(%q<simplecov>, [">= 0"])
110
+ s.add_dependency(%q<simplecov>, ["~> 0.10"])
106
111
  s.add_dependency(%q<simplecov-rcov>, [">= 0"])
107
112
  end
108
113
  end