Source code for tenable.ot.events

"""
Events
======

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

.. rst-class:: hide-signature
.. autoclass:: EventsAPI
    :members:
"""
from typing import List, Optional

from tenable.ot.api import OTAPIBase
from tenable.ot.graphql.iterators import OTGraphIterator
from tenable.ot.graphql.query import EVENTS_QUERY
from tenable.ot.graphql.schema.events import EventsSchema


[docs]class EventsAPI(OTAPIBase): _path = "events" schema_class = EventsSchema
[docs] def list( self, query_filter: Optional[dict] = None, search: Optional[str] = None, sort: Optional[List[dict]] = None, start_at: Optional[str] = None, limit: Optional[int] = 200, **kwargs ) -> OTGraphIterator: """ Retrieves a list of events via the GraphQL API. Args: query_filter(dict, optional): A document as defined by Tenable OT Security online documentation. search(str, optional): A search string to further limit the response. sort(List[dict], optional): A list of order documents, each of which must contain both the ``field`` and ``direction`` keys and may also contain the optional ``function`` key. Default sort is by descending id order. Please refer to Tenable OT Security online documentation for more information. start_at(str, optional): The cursor to start the scan from (the default is an empty cursor). limit(int, optional): Max number of objects that get retrieved per page (the default is 200). Returns: :obj:`OTGraphIterator`: An iterator object that will handle pagination of the data. Example: >>> for event in tot.events.list(limit=500): print(event) """ if not sort: sort = [{"field": "eventId", "direction": "DescNullLast"}] return super().list( query=EVENTS_QUERY, query_filter=query_filter, search=search, sort=sort, start_at=start_at, limit=limit, **kwargs )