Nessus6 0.1.0 → 0.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4fd4cdfa535bfd5f763074b2364aec98c58c128b
4
- data.tar.gz: ea9e76b76ec8b8944933bd4258cd6460b3daac07
3
+ metadata.gz: 80b280c90c8525f396797ee7a8ede1eaafee968e
4
+ data.tar.gz: bb9bba8b28e74ffde223f0e88f2a15c7b285bd7a
5
5
  SHA512:
6
- metadata.gz: aa72aa5257c78b7751279ff72cf953e46c3a8b05b71d419988059245e772ecd5c75b3e8937c1a811c3d329ab41a067037dc8391578f4a9e63ab22cac264d01d4
7
- data.tar.gz: 3c7d133ebdc754dcff55b64e57a31129abc4a28cc2286176e0f393253c343ced1e294c831bc23373a5df781d571e923e103deb7670ca031802a938902dd196b1
6
+ metadata.gz: adca72a28588ee39fc1ccaee35eb9d78783637eaf136f702b984b62f88c7b3b61ff61e686a1153a2aeb907750723896bfa9bf494ca12e11bf7a7c8ee7f7c001a
7
+ data.tar.gz: 8ec5723e60ea92f8220dd9357b0359edd4d5074dccca9c394bce984c7870e8221a839cd3ae4848410e9a413d3928149dd7f164190ce5530ffc72c89858576880
data/LICENSE ADDED
@@ -0,0 +1,13 @@
1
+ Copyright 2015 Kevin Kirsche
2
+
3
+ Licensed under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License.
5
+ You may obtain a copy of the License at
6
+
7
+ http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+ Unless required by applicable law or agreed to in writing, software
10
+ distributed under the License is distributed on an "AS IS" BASIS,
11
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ See the License for the specific language governing permissions and
13
+ limitations under the License.
data/Nessus6.gemspec CHANGED
@@ -24,5 +24,6 @@ Gem::Specification.new do |spec|
24
24
  spec.add_development_dependency "bundler", "~> 1.9"
25
25
  spec.add_development_dependency "rake", "~> 10.0"
26
26
  spec.add_development_dependency "minitest", "~> 5.8"
27
+ spec.add_development_dependency "yard", "~> 0.8"
27
28
  spec.add_runtime_dependency "hurley", "~> 0.1"
28
29
  end
@@ -12,16 +12,31 @@ module Nessus6
12
12
  @client = client
13
13
  end
14
14
 
15
+ # Creates a new folder for the current user. This request requires
16
+ # read-only user permissions.
17
+ #
18
+ # @param name [String] The name of the folder.
19
+ # @return [Hash]
15
20
  def create(name)
16
21
  response = @client.post('folders', name: name)
17
22
  verify_create response
18
23
  end
19
24
 
25
+ # Deletes a folder. This request requires read-only user permissions.
26
+ #
27
+ # @param folder_id [String, Fixnum] The id of the folder to delete.
28
+ # @return [Hash]
20
29
  def delete(folder_id)
21
30
  response = @client.delete("folders/#{folder_id}")
22
31
  verify_delete response
23
32
  end
24
33
 
34
+ # Rename a folder for the current user. This request requires read-only
35
+ # user permissions.
36
+ #
37
+ # @param folder_id [String, Fixnum] The id of the folder to edit.
38
+ # @param name [String] The name of the folder.
39
+ # @return [Hash]
25
40
  def edit(folder_id, name)
26
41
  response = @client.put("folders/#{folder_id}", name: name)
27
42
  verify_edit response
@@ -29,6 +44,9 @@ module Nessus6
29
44
 
30
45
  alias_method :rename, :edit
31
46
 
47
+ # Returns the current user's scan folders.
48
+ #
49
+ # @return [Hash] { "folders": [folder Resource] }
32
50
  def list
33
51
  response = @client.get('folders')
34
52
  verify_list response
@@ -12,26 +12,53 @@ module Nessus6
12
12
  @client = client
13
13
  end
14
14
 
15
+ # Add a user to the group. This request requires administrator user
16
+ # permissions.
17
+ #
18
+ # @param group_id [String, Fixnum] The unique id of the group.
19
+ # @param user_id [String, Fixnum] The unique id of the user.
20
+ # @return [Hash]
15
21
  def add_user(group_id, user_id)
16
22
  response = @client.post("groups/#{group_id}/users/#{user_id}")
17
23
  verify_add_user response
18
24
  end
19
25
 
26
+ # Create a group. This request requires administrator user
27
+ # permissions.
28
+ #
29
+ # @param name [String, Fixnum] The name of the group.
30
+ # @return [Hash]
20
31
  def create(name)
21
32
  response = @client.post('groups', name: name)
22
33
  verify_create response
23
34
  end
24
35
 
36
+ # Delete a group. This request requires administrator user
37
+ # permissions.
38
+ #
39
+ # @param group_id [String, Fixnum] The unique id of the group.
40
+ # @return [Hash]
25
41
  def delete(group_id)
26
42
  response = @client.delete("groups/#{group_id}")
27
43
  verify_delete response
28
44
  end
29
45
 
46
+ # Deletes a user from the group. This request requires administrator user
47
+ # permissions.
48
+ #
49
+ # @param group_id [String, Fixnum] The unique id of the group.
50
+ # @param user_id [String, Fixnum] The unique id of the user.
51
+ # @return [Hash]
30
52
  def delete_user(group_id, user_id)
31
53
  response = @client.delete("groups/#{group_id}/users/#{user_id}")
32
54
  verify_delete_user response
33
55
  end
34
56
 
57
+ # Edit a group. This request requires administrator user permissions.
58
+ #
59
+ # @param group_id [String, Fixnum] The unique id of the group.
60
+ # @param name [String] The name of the group.
61
+ # @return [Hash]
35
62
  def edit(group_id, name)
36
63
  response = @client.put("groups/#{group_id}", name: name)
37
64
  verify_edit response
@@ -39,11 +66,19 @@ module Nessus6
39
66
 
40
67
  alias_method :rename, :edit
41
68
 
69
+ # Returns the group list. This request requires read-only user permissions.
70
+ #
71
+ # @return [Hash]
42
72
  def list
43
73
  response = @client.get('groups')
44
74
  verify_list response
45
75
  end
46
76
 
77
+ # Return the group user list. This request requires administrator user
78
+ # permissions.
79
+ #
80
+ # @param group_id [String, Fixnum] The unique id of the group.
81
+ # @return [Hash]
47
82
  def list_users(group_id)
48
83
  response = @client.get("groups/#{group_id}/users")
49
84
  verify_list_users response
@@ -10,12 +10,24 @@ module Nessus6
10
10
  @client = client
11
11
  end
12
12
 
13
+ # Changes the permissions for an object.
14
+ #
15
+ # @param object_type [String] The type of object.
16
+ # @param object_id [String, Fixnum] The unique id of the object.
17
+ # @param permissions [String] An array of permission resources to apply
18
+ # to the object.
19
+ # @return [Hash]
13
20
  def change(object_type, object_id, permissions)
14
21
  response = @client.put("permissions/#{object_type}/#{object_id}",
15
22
  body: permissions)
16
23
  verify_change response
17
24
  end
18
25
 
26
+ # Returns the current object's permissions.
27
+ #
28
+ # @param object_type [String] The type of object.
29
+ # @param object_id [String, Fixnum] The unique id of the object.
30
+ # @return [Hash]
19
31
  def list(object_type, object_id)
20
32
  response = @client.get("permissions/#{object_type}/#{object_id}")
21
33
  verify_list response
@@ -12,6 +12,13 @@ module Nessus6
12
12
  @client = client
13
13
  end
14
14
 
15
+ # Launches a scan.
16
+ #
17
+ # @param scan_id [String, Fixnum] The id of the scan to launch.
18
+ # @param alt_targets [Array] If specified, these targets will be scanned
19
+ # instead of the default. Value can be an array where each index is a
20
+ # target, or an array with a single index of comma separated targets.
21
+ # @return [Hash] The scan UUID or throws an error
15
22
  def launch(scan_id, alt_targets = nil)
16
23
  if alt_targets.is_a? Array
17
24
  response = @client.post "scans/#{scan_id}/launch",
@@ -23,16 +30,27 @@ module Nessus6
23
30
  verify_launch response
24
31
  end
25
32
 
33
+ # Returns the scan list.
34
+ #
35
+ # @return [Hash] Returns the scan list.
26
36
  def list
27
37
  response = @client.get 'scans'
28
38
  JSON.parse response.body
29
39
  end
30
40
 
41
+ # Pauses a scan.
42
+ #
43
+ # @param scan_id [String, Fixnum] The id of the scan to pause.
44
+ # @return [Hash] The scan UUID or throws an error
31
45
  def pause(scan_id)
32
46
  response = @client.post "scans/#{scan_id}/pause"
33
47
  verify_pause response
34
48
  end
35
49
 
50
+ # Stops a scan.
51
+ #
52
+ # @param scan_id [String, Fixnum] The id of the scan to stop.
53
+ # @return [Hash] The scan UUID or throws an error
36
54
  def stop(scan_id)
37
55
  response = @client.post "scans/#{scan_id}/stop"
38
56
  verify_stop response
@@ -1,3 +1,3 @@
1
1
  module Nessus6
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: Nessus6
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Kirsche
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '5.8'
55
+ - !ruby/object:Gem::Dependency
56
+ name: yard
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.8'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.8'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: hurley
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -76,6 +90,7 @@ files:
76
90
  - ".gitignore"
77
91
  - ".travis.yml"
78
92
  - Gemfile
93
+ - LICENSE
79
94
  - Nessus6.gemspec
80
95
  - README.md
81
96
  - Rakefile
@@ -123,3 +138,4 @@ signing_key:
123
138
  specification_version: 4
124
139
  summary: "[Under Construction] Nessus 6 API Gem"
125
140
  test_files: []
141
+ has_rdoc: