ruby-paloalto-client 0.0.1

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.
Files changed (53) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +16 -0
  3. data/.rspec +2 -0
  4. data/.ruby-gemset +1 -0
  5. data/.ruby-version +1 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE.txt +22 -0
  8. data/README.md +152 -0
  9. data/Rakefile +2 -0
  10. data/lib/palo-alto/client/version.rb +5 -0
  11. data/lib/palo-alto/client.rb +50 -0
  12. data/lib/palo-alto/common/base-api.rb +84 -0
  13. data/lib/palo-alto/helpers/rest.rb +46 -0
  14. data/lib/palo-alto/models/address-group.rb +27 -0
  15. data/lib/palo-alto/models/address.rb +25 -0
  16. data/lib/palo-alto/models/device.rb +27 -0
  17. data/lib/palo-alto/models/rulebase.rb +24 -0
  18. data/lib/palo-alto/models/virtual-system.rb +28 -0
  19. data/lib/palo-alto/v6/address-api.rb +46 -0
  20. data/lib/palo-alto/v6/address-group-api.rb +57 -0
  21. data/lib/palo-alto/v6/api.rb +16 -0
  22. data/lib/palo-alto/v6/device-api.rb +55 -0
  23. data/lib/palo-alto/v6/virtual-system-api.rb +76 -0
  24. data/ruby-paloalto-client.gemspec +29 -0
  25. data/spec/fixtures/address_groups.xml +14 -0
  26. data/spec/fixtures/addresses.xml +14 -0
  27. data/spec/fixtures/blank_address_groups.xml +6 -0
  28. data/spec/fixtures/blank_addresses.xml +5 -0
  29. data/spec/fixtures/blank_devices.xml +4 -0
  30. data/spec/fixtures/blank_virtual_systems.xml +4 -0
  31. data/spec/fixtures/devices.xml +17 -0
  32. data/spec/fixtures/failure.xml +2 -0
  33. data/spec/fixtures/no_address_group_virtual_systems.xml +24 -0
  34. data/spec/fixtures/no_address_virtual_systems.xml +24 -0
  35. data/spec/fixtures/no_members_address_groups.xml +11 -0
  36. data/spec/fixtures/no_rulebase_virtual_systems.xml +24 -0
  37. data/spec/fixtures/no_vsys_devices.xml +13 -0
  38. data/spec/fixtures/virtual_systems.xml +32 -0
  39. data/spec/lib/palo-alto/client_spec.rb +36 -0
  40. data/spec/lib/palo-alto/common/base_api_spec.rb +121 -0
  41. data/spec/lib/palo-alto/helpers/rest_spec.rb +32 -0
  42. data/spec/lib/palo-alto/models/address_group_spec.rb +43 -0
  43. data/spec/lib/palo-alto/models/address_spec.rb +32 -0
  44. data/spec/lib/palo-alto/models/device_spec.rb +43 -0
  45. data/spec/lib/palo-alto/models/rulebase_spec.rb +23 -0
  46. data/spec/lib/palo-alto/models/virtual_system_spec.rb +53 -0
  47. data/spec/lib/palo-alto/v6/address_api_spec.rb +54 -0
  48. data/spec/lib/palo-alto/v6/address_group_api_spec.rb +79 -0
  49. data/spec/lib/palo-alto/v6/api_spec.rb +4 -0
  50. data/spec/lib/palo-alto/v6/device_api_spec.rb +78 -0
  51. data/spec/lib/palo-alto/v6/virtual_system_api_spec.rb +93 -0
  52. data/spec/spec_helper.rb +26 -0
  53. metadata +221 -0
@@ -0,0 +1,43 @@
1
+ require "palo-alto/models/device"
2
+
3
+ describe "PaloAlto::Models::Device" do
4
+ let(:name) { "test-device" }
5
+ let(:ip) { "2.2.2.2" }
6
+ let(:virtual_systems) { [ "a", "b" ] }
7
+
8
+ before do
9
+ @device = PaloAlto::Models::Device.new(name: name,
10
+ ip: ip,
11
+ virtual_systems: virtual_systems)
12
+ end
13
+
14
+ it "has a name attribute" do
15
+ expect(@device).to respond_to(:name)
16
+ end
17
+
18
+ it "has an ip attribute" do
19
+ expect(@device).to respond_to(:ip)
20
+ end
21
+
22
+ it "has a virtual_systems attribute" do
23
+ expect(@device).to respond_to(:virtual_systems)
24
+ end
25
+
26
+ describe ".initialize" do
27
+ it "returns a PaloAlto::Models::Device instance" do
28
+ expect(@device).to be_instance_of(PaloAlto::Models::Device)
29
+ end
30
+
31
+ it "assigns name" do
32
+ expect(@device.name).to eq(name)
33
+ end
34
+
35
+ it "assigns ip" do
36
+ expect(@device.ip).to eq(ip)
37
+ end
38
+
39
+ it "assigns virtual_systems" do
40
+ expect(@device.virtual_systems).to eq(virtual_systems)
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,23 @@
1
+ require "palo-alto/models/rulebase"
2
+
3
+ describe "PaloAlto::Models::Rulebase" do
4
+ let(:name) { "test-rulebase" }
5
+
6
+ before do
7
+ @rulebase = PaloAlto::Models::Rulebase.new(name: name)
8
+ end
9
+
10
+ it "has a name attribute" do
11
+ expect(@rulebase).to respond_to(:name)
12
+ end
13
+
14
+ describe ".initialize" do
15
+ it "returns a PaloAlto::Models::Rulebase instance" do
16
+ expect(@rulebase).to be_instance_of(PaloAlto::Models::Rulebase)
17
+ end
18
+
19
+ it "assigns name" do
20
+ expect(@rulebase.name).to eq(name)
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,53 @@
1
+ require "palo-alto/models/virtual-system"
2
+
3
+ describe "PaloAlto::Models::VirtualSystem" do
4
+ let(:name) { "vsys-1" }
5
+ let(:addresses) { [ "a", "b" ] }
6
+ let(:address_groups) { [ "c", "d" ] }
7
+ let(:rulebases) { [ "e", "f" ] }
8
+
9
+ before do
10
+ @virtual_system = PaloAlto::Models::VirtualSystem.new(name: name,
11
+ addresses: addresses,
12
+ address_groups: address_groups,
13
+ rulebases: rulebases)
14
+ end
15
+
16
+ it "has a name attribute" do
17
+ expect(@virtual_system).to respond_to(:name)
18
+ end
19
+
20
+ it "has an addresses attribute" do
21
+ expect(@virtual_system).to respond_to(:addresses)
22
+ end
23
+
24
+ it "has an address_groups attribute" do
25
+ expect(@virtual_system).to respond_to(:address_groups)
26
+ end
27
+
28
+ it "has a rulebases attribute" do
29
+ expect(@virtual_system).to respond_to(:rulebases)
30
+ end
31
+
32
+ describe ".initialize" do
33
+ it "returns a PaloAlto::Models::VirtualSystem instance" do
34
+ expect(@virtual_system).to be_instance_of(PaloAlto::Models::VirtualSystem)
35
+ end
36
+
37
+ it "assigns name" do
38
+ expect(@virtual_system.name).to eq(name)
39
+ end
40
+
41
+ it "assigns addresses" do
42
+ expect(@virtual_system.addresses).to eq(addresses)
43
+ end
44
+
45
+ it "assigns address_groups" do
46
+ expect(@virtual_system.address_groups).to eq(address_groups)
47
+ end
48
+
49
+ it "assigns rulebases" do
50
+ expect(@virtual_system.rulebases).to eq(rulebases)
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,54 @@
1
+ require "palo-alto/v6/address-api"
2
+ require "palo-alto/helpers/rest"
3
+
4
+ describe "PaloAlto::V6::AddressApi" do
5
+ # dummy class to demonstrate functionality
6
+ class DummyClass
7
+ extend PaloAlto::V6::AddressApi
8
+
9
+ def self.endpoint
10
+ "https://some.host:80/api/"
11
+ end
12
+
13
+ def self.auth_key
14
+ "OIGHOEIHT()*#Y"
15
+ end
16
+ end
17
+
18
+ describe ".addresses" do
19
+ let(:address_xml) { File.open(fixture_file("addresses.xml")).read }
20
+ let(:blank_address_xml) { File.open(fixture_file("blank_addresses.xml")).read }
21
+
22
+ describe "when addresses exist" do
23
+ before do
24
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(address_xml)
25
+ end
26
+
27
+ it "parses the XML response into the required format" do
28
+ expect(DummyClass.addresses).to be_instance_of(Array)
29
+ end
30
+ end
31
+
32
+ describe "when no addresses exist" do
33
+ before do
34
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(blank_address_xml)
35
+ end
36
+
37
+ it "returns an empty array" do
38
+ expect(DummyClass.addresses).to eq([])
39
+ end
40
+ end
41
+
42
+ describe "when errors occur" do
43
+ it "raises an exception if an error occurred obtaining XML" do
44
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_raise(Exception)
45
+ expect{ DummyClass.addresses }.to raise_exception
46
+ end
47
+
48
+ it "raises an exception if an error occurred reported in the XML" do
49
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(File.open(fixture_file("failure.xml")).read)
50
+ expect{ DummyClass.addresses }.to raise_exception
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,79 @@
1
+ require "palo-alto/v6/address-group-api"
2
+ require "palo-alto/helpers/rest"
3
+ require "palo-alto/models/address"
4
+ require "palo-alto/models/address-group"
5
+ require "nokogiri"
6
+
7
+ describe "PaloAlto::V6::AddressGroupApi" do
8
+ # dummy class to demonstrate functionality
9
+ class DummyClass
10
+ extend PaloAlto::V6::AddressGroupApi
11
+
12
+ def self.endpoint
13
+ "https://some.host:80/api/"
14
+ end
15
+
16
+ def self.auth_key
17
+ "OIGHOEIHT()*#Y"
18
+ end
19
+ end
20
+
21
+ describe ".address_groups" do
22
+ let(:address_group_xml) { File.open(fixture_file("address_groups.xml")).read }
23
+ let(:blank_address_group_xml) { File.open(fixture_file("blank_address_groups.xml")).read }
24
+ let(:no_member_address_group_xml) { File.open(fixture_file("no_members_address_groups.xml")).read }
25
+
26
+ describe "when address groups exist" do
27
+ it "parses the XML response into the required format" do
28
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(address_group_xml)
29
+ @address_groups = DummyClass.address_groups
30
+
31
+ expect(@address_groups).to be_instance_of(Array)
32
+ end
33
+
34
+ describe "for groups that contain members" do
35
+ before do
36
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(address_group_xml)
37
+ @address_groups = DummyClass.address_groups
38
+ end
39
+
40
+ it "returns a list of addresses" do
41
+ expect(@address_groups[0].addresses).to_not be_empty
42
+ end
43
+ end
44
+
45
+ describe "for groups that have no members" do
46
+ before do
47
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(no_member_address_group_xml)
48
+ @address_groups = DummyClass.address_groups
49
+ end
50
+
51
+ it "returns an empty array" do
52
+ expect(@address_groups[0].addresses).to be_empty
53
+ end
54
+ end
55
+ end
56
+
57
+ describe "when no address groups exist" do
58
+ before do
59
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(blank_address_group_xml)
60
+ end
61
+
62
+ it "returns an empty array" do
63
+ expect(DummyClass.address_groups).to eq([])
64
+ end
65
+ end
66
+
67
+ describe "when errors occur" do
68
+ it "raises an exception if an error occurred obtaining XML" do
69
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_raise(Exception)
70
+ expect{ DummyClass.address_groups }.to raise_exception
71
+ end
72
+
73
+ it "raises an exception if an error occurred reported in the XML" do
74
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(File.open(fixture_file("failure.xml")).read)
75
+ expect{ DummyClass.address_groups }.to raise_exception
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,4 @@
1
+ require "palo-alto/v6/api"
2
+
3
+ describe "PaloAlto::V6::Api" do
4
+ end
@@ -0,0 +1,78 @@
1
+ require "palo-alto/v6/device-api"
2
+ require "palo-alto/helpers/rest"
3
+ require "palo-alto/models/virtual-system"
4
+ require "nokogiri"
5
+
6
+ describe "PaloAlto::V6::DeviceApi" do
7
+ # dummy class to demonstrate functionality
8
+ class DummyClass
9
+ extend PaloAlto::V6::DeviceApi
10
+
11
+ def self.endpoint
12
+ "https://some.host:80/api/"
13
+ end
14
+
15
+ def self.auth_key
16
+ "OIGHOEIHT()*#Y"
17
+ end
18
+ end
19
+
20
+ describe ".devices" do
21
+ let(:device_xml) { File.open(fixture_file("devices.xml")).read }
22
+ let(:blank_device_xml) { File.open(fixture_file("blank_devices.xml")).read }
23
+ let(:no_vsys_device_xml) { File.open(fixture_file("no_vsys_devices.xml")).read }
24
+
25
+ describe "when devices exist" do
26
+ it "parses the XML response into the required format" do
27
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(device_xml)
28
+ @devices = DummyClass.devices
29
+
30
+ expect(@devices).to be_instance_of(Array)
31
+ end
32
+
33
+ describe "for devices that contain virtual_systems" do
34
+ before do
35
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(device_xml)
36
+ @devices = DummyClass.devices
37
+ end
38
+
39
+ it "returns a list of virtual_systems" do
40
+ expect(@devices[0].virtual_systems).to_not be_empty
41
+ end
42
+ end
43
+
44
+ describe "for devices that have no virtual_systems" do
45
+ before do
46
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(no_vsys_device_xml)
47
+ @devices = DummyClass.devices
48
+ end
49
+
50
+ it "returns an empty array" do
51
+ expect(@devices[0].virtual_systems).to be_empty
52
+ end
53
+ end
54
+ end
55
+
56
+ describe "when no devices exist" do
57
+ before do
58
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(blank_device_xml)
59
+ end
60
+
61
+ it "returns an empty array" do
62
+ expect(DummyClass.devices).to eq([])
63
+ end
64
+ end
65
+
66
+ describe "when errors occur" do
67
+ it "raises an exception if an error occurred obtaining XML" do
68
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_raise(Exception)
69
+ expect{ DummyClass.devices }.to raise_exception
70
+ end
71
+
72
+ it "raises an exception if an error occurred reported in the XML" do
73
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(File.open(fixture_file("failure.xml")).read)
74
+ expect{ DummyClass.devices }.to raise_exception
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,93 @@
1
+ require "palo-alto/v6/virtual-system-api"
2
+ require "palo-alto/helpers/rest"
3
+ require "nokogiri"
4
+
5
+ describe "PaloAlto::V6::VirtualSystemApi" do
6
+ # dummy class to demonstrate functionality
7
+ class DummyClass
8
+ extend PaloAlto::V6::VirtualSystemApi
9
+
10
+ def self.endpoint
11
+ "https://some.host:80/api/"
12
+ end
13
+
14
+ def self.auth_key
15
+ "OIGHOEIHT()*#Y"
16
+ end
17
+ end
18
+
19
+ describe ".virtual_systems" do
20
+ let(:virtual_system_xml) { File.open(fixture_file("virtual_systems.xml")).read }
21
+ let(:blank_virtual_system_xml) { File.open(fixture_file("blank_virtual_systems.xml")).read }
22
+ let(:no_rulebase_virtual_system_xml) { File.open(fixture_file("no_rulebase_virtual_systems.xml")).read }
23
+ let(:no_address_virtual_system_xml) { File.open(fixture_file("no_address_virtual_systems.xml")).read }
24
+ let(:no_address_group_virtual_system_xml) { File.open(fixture_file("no_address_group_virtual_systems.xml")).read }
25
+
26
+ describe "when virtual systems exist" do
27
+ it "parses the XML response into the required format" do
28
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(virtual_system_xml)
29
+ @virtual_systems = DummyClass.virtual_systems
30
+
31
+ expect(@virtual_systems).to be_instance_of(Array)
32
+ end
33
+
34
+ it "returns an array of addresses, address_groups and virtual_systems" do
35
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(virtual_system_xml)
36
+ @virtual_systems = DummyClass.virtual_systems
37
+
38
+ expect(@virtual_systems[0].addresses).to_not be_empty
39
+ expect(@virtual_systems[0].address_groups).to_not be_empty
40
+ expect(@virtual_systems[0].rulebases).to_not be_empty
41
+ end
42
+
43
+ it "returns an empty array for addresses when none exist" do
44
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(no_address_virtual_system_xml)
45
+ @virtual_systems = DummyClass.virtual_systems
46
+ expect(@virtual_systems[0].addresses).to be_empty
47
+ end
48
+
49
+ it "returns an empty array for address_groups when none exist" do
50
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(no_address_group_virtual_system_xml)
51
+ @virtual_systems = DummyClass.virtual_systems
52
+ expect(@virtual_systems[0].address_groups).to be_empty
53
+ end
54
+
55
+ it "returns an empty array for rulebases when none exist" do
56
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(no_rulebase_virtual_system_xml)
57
+ @virtual_systems = DummyClass.virtual_systems
58
+ expect(@virtual_systems[0].rulebases).to be_empty
59
+ end
60
+
61
+ describe "address group addresses" do
62
+ it "associates addresses with the corresponding address group" do
63
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(virtual_system_xml)
64
+ @virtual_systems = DummyClass.virtual_systems
65
+
66
+ expect(@virtual_systems[0].address_groups[0].addresses).to_not be_empty
67
+ end
68
+ end
69
+ end
70
+
71
+ describe "when no virtual systems exist" do
72
+ before do
73
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(blank_virtual_system_xml)
74
+ end
75
+
76
+ it "returns an empty array" do
77
+ expect(DummyClass.virtual_systems).to eq([])
78
+ end
79
+ end
80
+
81
+ describe "when errors occur" do
82
+ it "raises an exception if an error occurred obtaining XML" do
83
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_raise(Exception)
84
+ expect{ DummyClass.virtual_systems }.to raise_exception
85
+ end
86
+
87
+ it "raises an exception if an error occurred reported in the XML" do
88
+ expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(File.open(fixture_file("failure.xml")).read)
89
+ expect{ DummyClass.virtual_systems }.to raise_exception
90
+ end
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,26 @@
1
+ require "fakeweb"
2
+ require "simplecov"
3
+
4
+ SimpleCov.start do
5
+ add_filter "/spec"
6
+ end
7
+
8
+ RSpec.configure do |config|
9
+ config.expect_with :rspec do |expectations|
10
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
11
+ end
12
+
13
+ config.mock_with :rspec do |mocks|
14
+ mocks.verify_partial_doubles = true
15
+ end
16
+ end
17
+
18
+ # define the root of the spec files
19
+ unless defined?(SPEC_ROOT)
20
+ SPEC_ROOT = File.join(File.dirname(__FILE__))
21
+ end
22
+
23
+ # define an easy way to load fixture files (clean up code a bit)
24
+ def fixture_file(*name)
25
+ File.join(SPEC_ROOT, 'fixtures', name)
26
+ end
metadata ADDED
@@ -0,0 +1,221 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ruby-paloalto-client
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Justin Karimi
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-03-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: nokogiri
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rest-client
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.7'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.7'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '10.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '10.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: simplecov
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: fakeweb
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ description: A Ruby-based client library to interact with the PaloAlto APIs.
112
+ email:
113
+ - jekhokie@gmail.com
114
+ executables: []
115
+ extensions: []
116
+ extra_rdoc_files: []
117
+ files:
118
+ - ".gitignore"
119
+ - ".rspec"
120
+ - ".ruby-gemset"
121
+ - ".ruby-version"
122
+ - Gemfile
123
+ - LICENSE.txt
124
+ - README.md
125
+ - Rakefile
126
+ - lib/palo-alto/client.rb
127
+ - lib/palo-alto/client/version.rb
128
+ - lib/palo-alto/common/base-api.rb
129
+ - lib/palo-alto/helpers/rest.rb
130
+ - lib/palo-alto/models/address-group.rb
131
+ - lib/palo-alto/models/address.rb
132
+ - lib/palo-alto/models/device.rb
133
+ - lib/palo-alto/models/rulebase.rb
134
+ - lib/palo-alto/models/virtual-system.rb
135
+ - lib/palo-alto/v6/address-api.rb
136
+ - lib/palo-alto/v6/address-group-api.rb
137
+ - lib/palo-alto/v6/api.rb
138
+ - lib/palo-alto/v6/device-api.rb
139
+ - lib/palo-alto/v6/virtual-system-api.rb
140
+ - ruby-paloalto-client.gemspec
141
+ - spec/fixtures/address_groups.xml
142
+ - spec/fixtures/addresses.xml
143
+ - spec/fixtures/blank_address_groups.xml
144
+ - spec/fixtures/blank_addresses.xml
145
+ - spec/fixtures/blank_devices.xml
146
+ - spec/fixtures/blank_virtual_systems.xml
147
+ - spec/fixtures/devices.xml
148
+ - spec/fixtures/failure.xml
149
+ - spec/fixtures/no_address_group_virtual_systems.xml
150
+ - spec/fixtures/no_address_virtual_systems.xml
151
+ - spec/fixtures/no_members_address_groups.xml
152
+ - spec/fixtures/no_rulebase_virtual_systems.xml
153
+ - spec/fixtures/no_vsys_devices.xml
154
+ - spec/fixtures/virtual_systems.xml
155
+ - spec/lib/palo-alto/client_spec.rb
156
+ - spec/lib/palo-alto/common/base_api_spec.rb
157
+ - spec/lib/palo-alto/helpers/rest_spec.rb
158
+ - spec/lib/palo-alto/models/address_group_spec.rb
159
+ - spec/lib/palo-alto/models/address_spec.rb
160
+ - spec/lib/palo-alto/models/device_spec.rb
161
+ - spec/lib/palo-alto/models/rulebase_spec.rb
162
+ - spec/lib/palo-alto/models/virtual_system_spec.rb
163
+ - spec/lib/palo-alto/v6/address_api_spec.rb
164
+ - spec/lib/palo-alto/v6/address_group_api_spec.rb
165
+ - spec/lib/palo-alto/v6/api_spec.rb
166
+ - spec/lib/palo-alto/v6/device_api_spec.rb
167
+ - spec/lib/palo-alto/v6/virtual_system_api_spec.rb
168
+ - spec/spec_helper.rb
169
+ homepage: ''
170
+ licenses:
171
+ - Apache 2.0
172
+ metadata: {}
173
+ post_install_message:
174
+ rdoc_options: []
175
+ require_paths:
176
+ - lib
177
+ required_ruby_version: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
182
+ required_rubygems_version: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
187
+ requirements: []
188
+ rubyforge_project:
189
+ rubygems_version: 2.4.5
190
+ signing_key:
191
+ specification_version: 4
192
+ summary: Ruby PaloAlto Client (API V6.X)
193
+ test_files:
194
+ - spec/fixtures/address_groups.xml
195
+ - spec/fixtures/addresses.xml
196
+ - spec/fixtures/blank_address_groups.xml
197
+ - spec/fixtures/blank_addresses.xml
198
+ - spec/fixtures/blank_devices.xml
199
+ - spec/fixtures/blank_virtual_systems.xml
200
+ - spec/fixtures/devices.xml
201
+ - spec/fixtures/failure.xml
202
+ - spec/fixtures/no_address_group_virtual_systems.xml
203
+ - spec/fixtures/no_address_virtual_systems.xml
204
+ - spec/fixtures/no_members_address_groups.xml
205
+ - spec/fixtures/no_rulebase_virtual_systems.xml
206
+ - spec/fixtures/no_vsys_devices.xml
207
+ - spec/fixtures/virtual_systems.xml
208
+ - spec/lib/palo-alto/client_spec.rb
209
+ - spec/lib/palo-alto/common/base_api_spec.rb
210
+ - spec/lib/palo-alto/helpers/rest_spec.rb
211
+ - spec/lib/palo-alto/models/address_group_spec.rb
212
+ - spec/lib/palo-alto/models/address_spec.rb
213
+ - spec/lib/palo-alto/models/device_spec.rb
214
+ - spec/lib/palo-alto/models/rulebase_spec.rb
215
+ - spec/lib/palo-alto/models/virtual_system_spec.rb
216
+ - spec/lib/palo-alto/v6/address_api_spec.rb
217
+ - spec/lib/palo-alto/v6/address_group_api_spec.rb
218
+ - spec/lib/palo-alto/v6/api_spec.rb
219
+ - spec/lib/palo-alto/v6/device_api_spec.rb
220
+ - spec/lib/palo-alto/v6/virtual_system_api_spec.rb
221
+ - spec/spec_helper.rb