Source code for tenable.io.folders

'''
Folders
=======

The following methods allow for interaction into the Tenable Vulnerability Management
:devportal:`folders <folders>` API endpoints.

Methods available on ``tio.folders``:

.. rst-class:: hide-signature
.. autoclass:: FoldersAPI
    :members:
'''
from .base import TIOEndpoint

[docs]class FoldersAPI(TIOEndpoint):
[docs] def create(self, name): ''' Create a folder. :devportal:`folders: create <folders-create>` Args: name (str): The name of the new folder. Returns: :obj:`int`: The new folder id. Examples: >>> folder = tio.folders.create('New Folder Name') ''' return self._api.post('folders', json={ 'name': self._check('name', name, str) }).json()['id']
[docs] def delete(self, id): ''' Delete a folder. :devportal:`folders: delete <folders-delete>` Args: id (int): The unique identifier for the folder. Returns: :obj:`None` Examples: >>> tio.folders.delete(1) ''' self._api.delete('folders/{}'.format(self._check('id', id, int)))
[docs] def edit(self, id, name): ''' Edit a folder. :devportal:`folders: edit <folders-edit>` Args: id (int): The unique identifier for the folder. name (str): The new name for the folder. Returns: :obj:`None`: The folder was successfully renamed. Examples: >>> tio.folders.edit(1, 'Updated Folder Name') ''' self._api.put('folders/{}'.format(self._check('id', id, int)), json={ 'name': self._check('name', name, str) })
[docs] def list(self): ''' Lists the available folders. :devportal:`folders: list <folders-list>` Returns: :obj:`list`: List of folder resource records. Examples: >>> for folder in tio.folders.list(): ... pprint(folder) ''' return self._api.get('folders').json()['folders']