10.7.3.1. Rest Adapter

class pytan3.adapters.Rest(api_client, api_objects, ver_check=True, lvl='info')[source]

Bases: pytan3.adapters.Adapter

Tanium REST API request adapter.

DEFAULT_OPTIONS = {'include_hashes_flag': True, 'json_pretty_print': True}

dict – Default options to use in build_options_from_kwargs().

AUDIT_LOG_TYPES = ['content_set', 'content_set_role', 'dashboard', 'dashboard_group', 'group', 'package', 'plugin_schedule', 'saved_action', 'saved_question', 'sensor', 'system_setting', 'user', 'user_group', 'white_listed_url']

list of str – Valid types for api_get_audit_logs().

__init__(api_client, api_objects, ver_check=True, lvl='info')[source]

Constructor.

Parameters:
log = None

logging.Logger – Log.

__str__()[source]

Show object info.

Returns:str
__repr__()[source]

Show object info.

Returns:str
api_objects

Get the API objects container.

Returns:pytan3.api_objects.ApiObjects
api_client

Get the API client.

Returns:pytan3.api_clients.ApiClient
http_client

Get the HTTP client.

Returns:pytan3.http_client.HttpClient
auth_method

Get the Auth Method.

Returns:pytan3.auth_methods.AuthMethod
classmethod get_name()[source]

Get the ref name of this class for use by load().

Returns:str
classmethod get_type()[source]

Get the ref type of this class for use by load_type().

Returns:str
classmethod get_version_req()[source]

Get the min, max, and eq version requirements of this class.

Notes

Dict can specify keys: “vmin”, “vmax”, “veq”.

This class method gets called by pytan3.utils.versions.version_check_obj_req() to perform version checks.

Returns:dict
result_cls

Get the result deserializer class.

Returns:pytan3.results.Result
build_options_from_kwargs(**kwargs)[source]

Build an Options API object from kwargs and return the serialized form.

Parameters:**kwargs
options_obj (pytan3.api_models.ApiItem):
A pre-established Options object.

Defaults to: new Options object from api_objects.

rest of kwargs:
Set on Options object if key is an attr on object and attrs value is None.

Notes

Will set DEFAULT_OPTIONS as defaults to kwargs before applying values to Options object attributes.

Returns:dict
api_get(obj, **kwargs)[source]

Send an API request to get an object.

Parameters:
Returns:

pytan3.results.Result

api_add(obj, **kwargs)[source]

Send an API request to add an object.

Parameters:
Returns:

pytan3.results.Result

api_delete(obj, **kwargs)[source]

Send an API request to delete an object.

Parameters:
Returns:

pytan3.results.Result

api_update(obj, **kwargs)[source]

Send an API request to update an object.

Parameters:
Returns:

pytan3.results.Result

api_get_audit_logs(type, target, **kwargs)[source]

Send an API request to get audit logs for an object.

Parameters:
  • type (str) – Type of object to get audit logs of.
  • target (int) – ID of object type to get audit logs for.
  • **kwargs
    count (int):
    Limit number of audit logs returned to this.

    Defaults to: 1.

    headers (dict):
    Headers to supply to request.

    Defaults to: {}.

    params (dict):
    Parameters to supply to request.

    Defaults to: {}.

    rest of kwargs:
    Passed to build_options_from_kwargs().
Raises:

exceptions.InvalidTypeError – If type is not one of AUDIT_LOG_TYPES.

Returns:

pytan3.results.Result

api_parse_question(text, **kwargs)[source]

Send an API request to parse text.

Parameters:
  • text (str) – Text to parse into question objects.
  • **kwargs
    headers (dict):
    Headers to supply to request.

    Defaults to: {}.

    params (dict):
    Parameters to supply to request.

    Defaults to: {}.

    rest of kwargs:
    Passed to build_options_from_kwargs().
Returns:

pytan3.results.Result

api_get_client_count(**kwargs)[source]

Send an API request to get the client count.

Parameters:**kwargs
headers (dict):
Headers to supply to request.

Defaults to: {}.

params (dict):
Parameters to supply to request.

Defaults to: {}.

rest of kwargs:
Passed to build_options_from_kwargs().

Notes

Unlike the SOAP API, “count” does not seem to be used by REST API.

Returns:pytan3.results.Result
api_add_parsed_question(obj, **kwargs)[source]

Send an API request to add a parsed question object.

Parameters:
  • obj (pytan3.api_models.ApiModel) – API Object to use for request.
  • **kwargs
    for_merge (bool):
    Set option “force_computer_id_flag”.

    Defaults to: True.

    headers (dict):
    Headers to supply to request.

    Defaults to: {}.

    params (dict):
    Parameters to supply to request.

    Defaults to: {}.

    rest of kwargs:
    Passed to build_options_from_kwargs().
Returns:

pytan3.results.Result

api_get_result_info(obj, **kwargs)[source]

Send an API request to get result info for an object.

Parameters:
Returns:

pytan3.results.Result

api_get_result_data(obj, **kwargs)[source]

Send an API request to get result data for an object.

Parameters:
Returns:

pytan3.results.Result

api_get_merged_result_data(objlist, **kwargs)[source]

Send an API request to get merged result data for a list of objects.

Parameters:
  • objlist (list) – List of API Objects to use for request.
  • **kwargs
    headers (dict):
    Headers to supply to request.

    Defaults to: {}.

    params (dict):
    Parameters to supply to request.

    Defaults to: {}.

    rest of kwargs:
    Passed to build_options_from_kwargs().
Returns:

pytan3.results.Result

_abc_impl = <_abc_data object>