'''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:'''fromtypingimportList,Dictfromtenable.base.endpointimportAPIEndpointfrom.iterators.pluginsimportPluginIterator
[docs]deffamilies(self)->List[Dict]:''' Returns the list of plugin families. Example: >>> families = nessus.plugins.families() '''returnself._get('families')['families']
[docs]deffamily_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) '''returnself._get(f'families/{family_id}')
[docs]defplugin_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) '''returnself._get(f'plugin/{plugin_id}')
[docs]deflist(self):''' Returns an iterable to walk through each plugin. Example: >>> for plugin in nessus.plugins.list(): ... print(plugin) '''returnPluginIterator(self._api)