Module: Resource::Policies

Included in:
NessusClient
Defined in:
lib/modules/policies.rb

Overview

Namespace for Policies resource.

Instance Method Summary collapse

Instance Method Details

#get_policy_by_name(policy_name) ⇒ JSON

Get a policy by its name.

Parameters:

  • policy (String)

    name.

Returns:

  • (JSON)

    policy object.



23
24
25
26
# File 'lib/modules/policies.rb', line 23

def get_policy_by_name(policy_name)
  policy_id = get_policy_id_by_name(policy_name)
  request.get({ path: "/policies/#{policy_id}", headers: headers })
end

#get_policy_id_by_name(policy_name) ⇒ Integer

Get id of a policy by its name.

Parameters:

  • policy (String)

    name.

Returns:

  • (Integer)

    ID of a policy.



14
15
16
17
18
# File 'lib/modules/policies.rb', line 14

def get_policy_id_by_name(policy_name)
  policies['policies'].each do |policy|
    return policy['id'] if policy['name'] == policy_name
  end
end

#list_credentials_by_policy_name(policy_name) ⇒ JSON

Get a list of credentials from a policy.

Parameters:

  • policy (String)

    name.

Returns:

  • (JSON)

    credential list



31
32
33
# File 'lib/modules/policies.rb', line 31

def list_credentials_by_policy_name(policy_name)
  get_policy_by_name(policy_name)['credentials']
end

#policiesJSON

List the scan polices.

Returns:

  • (JSON)

    list of policies.



7
8
9
# File 'lib/modules/policies.rb', line 7

def policies
  request.get({ path: '/policies', headers: headers })
end

#update_policy_by_name(policy_name, payload) ⇒ Object

update a scan policy.

Parameters:

  • policy (String)

    name.

  • history_id (String)

    (nil) The history_id of a scan.

Returns:

  • nil



39
40
41
42
# File 'lib/modules/policies.rb', line 39

def update_policy_by_name(policy_name, payload)
  id = get_policy_id_by_name(policy_name)
  request.put({ path: "/policies/#{id}", headers: headers, payload: payload })
end