Source code for tenable.nessus.folders

'''
Folders
=======

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

.. rst-class:: hide-signature
.. autoclass:: FoldersAPI
    :members:
'''
from tenable.base.endpoint import APIEndpoint
from typing import List


[docs]class FoldersAPI(APIEndpoint): _path = 'folders'
[docs] def create(self, name: str) -> int: ''' Create a new folder Args: name (str): The name of the new folder Returns: int: The id for the created folder. Example: >>> id = nessus.folders.create('Example') ''' return self._post(json={'name': name})['id']
[docs] def delete(self, folder_id: int) -> None: ''' Deletes a user-defined folder Args: folder_id (int): The unique identifier for the folder to delete Example: >>> nessus.folders.delete(id) ''' self._delete(f'{folder_id}')
[docs] def edit(self, folder_id: int, name: str) -> None: ''' Updated the name of the specified folder. Args: folder_id (int): Unique identifier for the folder to edit name (str): New name for the folder Example: >>> nessus.folders.edit(id, name='New Example') ''' self._put(f'{folder_id}', json={'name': name})
[docs] def list(self) -> List: ''' Gets the list of available folders Returns: List: List of folder objects Example: >>> for folder in nessus.folders.list(): ... print(folder) ''' return self._get()['folders']