netscaler 0.5.2 → 0.6.0

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