Tenable OT Security

This package covers the Tenable OT Security interface.

class TenableOT(**kwargs)[source]

The Tenable OT Security object is the primary interaction point for users to interface with Tenable.OT via the pyTenable library. All the API endpoint classes that have been written will be grafted onto this class.

Parameters:
  • api_key (str, optional) – The user’s API key for Tenable OT Security. If an api key isn’t specified, then the library will attempt to read the environment variable TOT_API_KEY to acquire the key.

  • url (str, optional) – The base URL used to connect to the Tenable OT Security service. If a URL isn’t specified, then the library will attempt to read the environment variable TOT_URL to acquire the URL.

  • **kwargs – arguments passed to tenable.base.platform.APIPlatform for ConnectionAbortedErrorn management.

Examples

Basic Example:

>>> from tenable.ot import TenableOT
>>> ot = TenableOT(api_key='SECRET_KEY',
..                 url='https://ot.example.com')

Example with proper identification:

>>> ot = TenableOT(api_key='SECRET_KEY',
...                url='https://ot.example.com',
...                vendor='Company Name',
...                product='My Awesome Widget',
...                build='1.0.0')

Example with proper identification leveraging environment variables for the connection parameters:

>>> ot = TenableOT(vendor='Company', product='Widget', build='1.0.0')
property assets

The interface object for the Tenable OT Security Assets APIs.

property events

The interface object for the Tenable OT Security Events APIs.

property exports

The interface object for the Tenable OT Security Exports.

graphql(**kwargs)[source]

GraphQL Endpoint

This singular method exposes the GraphQL API to the library. As all keyword arguments are passed directly to the JSON body, it allows for a freeform interface into the GraphQL API.

Parameters:

**kwargs (dict, optional) – The key/values that should be passed to the body of the GraphQL request.

Example

>>> ot.graphql(
...     variables={'asset': 'b64 id string'},
...     query='''
...         query getAssetDetails($asset: ID!) {
...             asset(id: $asset) {
...                 id
...                 type
...                 name
...                 criticality
...                 location
...             }
...         }
... ''')
property plugins

The interface object for the Tenable OT Security Plugins APIs.