Source code for tenable.nessus.plugins

'''
Plugins
=======

Methods described in this section relate to the plugins API.
These methods can be accessed at ``Nessus.plugins``.

.. rst-class:: hide-signature
.. autoclass:: PluginsAPI
    :members:
'''
from typing import List, Dict
from tenable.base.endpoint import APIEndpoint
from .iterators.plugins import PluginIterator


[docs]class PluginsAPI(APIEndpoint): _path = 'plugins'
[docs] def families(self) -> List[Dict]: ''' Returns the list of plugin families. Example: >>> families = nessus.plugins.families() ''' return self._get('families')['families']
[docs] def family_details(self, family_id: int) -> Dict: ''' Returns the details for a given plugin family. Args: family_id (int): The id of the family to return Example: >>> family = nessus.plugins.family_details(fam_id) ''' return self._get(f'families/{family_id}')
[docs] def plugin_details(self, plugin_id: int) -> Dict: ''' Returns the details for a given plugin id. Args: plugin_id (int): The id of the plugin to return Example: >>> plugin = nessus.plugins.plugin_details(19506) ''' return self._get(f'plugin/{plugin_id}')
[docs] def list(self): ''' Returns an iterable to walk through each plugin. Example: >>> for plugin in nessus.plugins.list(): ... print(plugin) ''' return PluginIterator(self._api)