4.4.1. Device assets¶
API for working with device assets.
-
class
axonius_api_client.api.assets.devices.
Devices
(auth, **kwargs)[source]¶ Bases:
axonius_api_client.api.assets.asset_mixin.AssetMixin
API for working with device assets.
Examples
For all examples for this asset type, create a
client
usingaxonius_api_client.connect.Connect
and assumeapiobj
isclient.devices
>>> apiobj = client.devices
Get count of assets:
count()
Get count of assets from a saved query:
count_by_saved_query()
Get assets:
get()
Get assets from a saved query:
get_by_saved_query()
Get the full data set for a single asset:
get_by_id()
Work with saved queries:
axonius_api_client.api.assets.saved_query.SavedQuery
Work with fields:
axonius_api_client.api.assets.fields.Fields
Work with tags:
axonius_api_client.api.assets.labels.Labels
See also
User assets
axonius_api_client.api.assets.users.Users
- Parameters
auth (
axonius_api_client.auth.models.Model
) –
-
property
fields_default
¶ Fields to use by default for getting assets.
- Return type
-
get_by_hostnames
(values, **kwargs)[source]¶ Build a query to get assets where
FIELD_HOSTNAME
in values.- Parameters
values (
typing.List
[str
]) – list of hostnames**kwargs – passed to
get_by_values()
- Return type
typing.Union
[typing.Generator
[dict
,None
,None
],typing.List
[dict
]]
-
get_by_hostname_regex
(value, **kwargs)[source]¶ Build a query to get assets where
FIELD_HOSTNAME
regex matches value.- Parameters
value (
str
) – regex of hostname to match**kwargs – passed to
get_by_value_regex()
- Return type
typing.Union
[typing.Generator
[dict
,None
,None
],typing.List
[dict
]]
-
get_by_hostname
(value, **kwargs)[source]¶ Build a query to get assets where
FIELD_HOSTNAME
== value.- Parameters
value (
str
) – hostname**kwargs – passed to
get_by_value()
- Return type
typing.Union
[typing.Generator
[dict
,None
,None
],typing.List
[dict
]]
-
get_by_macs
(values, **kwargs)[source]¶ Build a query to get assets where
FIELD_MAC
in values.- Parameters
values (
typing.List
[str
]) – list of mac addresss**kwargs – passed to
get_by_values()
- Return type
typing.Union
[typing.Generator
[dict
,None
,None
],typing.List
[dict
]]
-
get_by_mac_regex
(value, **kwargs)[source]¶ Build a query to get assets where
FIELD_MAC
regex matches value.- Parameters
value (
str
) – regex of mac adress to match**kwargs – passed to
get_by_value_regex()
- Return type
typing.Union
[typing.Generator
[dict
,None
,None
],typing.List
[dict
]]
-
get_by_mac
(value, **kwargs)[source]¶ Build a query to get assets where
FIELD_MAC
== value.- Parameters
value (
str
) – mac adress**kwargs – passed to
get_by_value()
- Return type
typing.Union
[typing.Generator
[dict
,None
,None
],typing.List
[dict
]]
-
get_by_ips
(values, **kwargs)[source]¶ Build a query to get assets where
FIELD_IP
in values.- Parameters
values (
typing.List
[str
]) – list of ip address**kwargs – passed to
get_by_values()
- Return type
typing.Union
[typing.Generator
[dict
,None
,None
],typing.List
[dict
]]
-
get_by_ip_regex
(value, **kwargs)[source]¶ Build a query to get assets where
FIELD_IP
regex matches value.- Parameters
values – regex of ip address to match to match
**kwargs – passed to
get_by_value_regex()
value (
str
) –
- Return type
typing.Union
[typing.Generator
[dict
,None
,None
],typing.List
[dict
]]
-
get_by_ip
(value, **kwargs)[source]¶ Build a query to get assets where
FIELD_IP
== value.- Parameters
value (
str
) – ip address**kwargs – passed to
get_by_value()
- Return type
typing.Union
[typing.Generator
[dict
,None
,None
],typing.List
[dict
]]
-
get_by_subnet
(value, not_flag=False, pre='', post='', **kwargs)[source]¶ Build a query to get assets where ip address is in
FIELD_IP_RAW
.- Parameters
- Return type
typing.Union
[typing.Generator
[dict
,None
,None
],typing.List
[dict
]]
-
FIELD_IP_RAW
: str = 'specific_data.data.network_interfaces.ips_raw'¶ Network Interfaces IPs raw field.
-
FIELD_SUBNET
: str = 'specific_data.data.network_interfaces.subnets'¶ Network Interfaces Subnets field.
-
FIELDS_API
: List[str] = ['internal_axon_id', 'adapters', 'labels', 'adapter_list_length']¶ Field names that are always returned by the REST API no matter what fields are selected
-
FIELD_LAST_SEEN
: str = 'specific_data.data.last_seen'¶ Field name for last time an adapter saw the asset.
-
__init__
(auth, **kwargs)¶ Mixins for API Models.
- Parameters
auth (
axonius_api_client.auth.models.Model
) – object to use for auth and sending API requests**kwargs – passed to
_init()
-
_build_query
(inner, not_flag=False, pre='', post='')¶ Query builder with basic functionality.
Notes
It is better to use
wizard
,wizard_text
, orwizard_csv
to build queries!
-
_count
(filter=None, history=None, use_cache_entry=False)¶ Private API method to get the count of assets.
- Parameters
filter (
typing.Optional
[str
]) – if supplied, only return the count of assets that match the queryhistory (
typing.Optional
[str
]) – return count for a given historical dateuse_cache_entry (
bool
) –
- Return type
axonius_api_client.api.json_api.assets.Count
-
_destroy
(destroy, history)¶ Private API method to destroy ALL assets.
-
_get
(always_cached_query=False, use_cache_entry=False, include_details=False, include_notes=False, get_metadata=True, use_cursor=True, sort_descending=False, history=None, filter=None, cursor_id=None, sort=None, excluded_adapters=None, field_filters=None, fields=None, offset=0, limit=2000)¶ Private API method to get a page of assets.
- Parameters
query – if supplied, only return the assets that match the query
fields (
typing.Optional
[dict
]) – CSV or list of fields to include in returnrow_start – start at row N
page_size – fetch N assets
include_details (
bool
) – include details fields showing the adapter source of agg valuessort_field – sort the returned assets on a given field
sort_descending (
bool
) – reverse the sort of the returned assetshistory_date – return assets for a given historical date
cursor – cursor returned by previous call to continue paging through
always_cached_query (
bool
) –use_cache_entry (
bool
) –include_notes (
bool
) –get_metadata (
bool
) –use_cursor (
bool
) –history (
typing.Optional
[str
]) –filter (
typing.Optional
[str
]) –cursor_id (
typing.Optional
[str
]) –sort (
typing.Optional
[str
]) –excluded_adapters (
typing.Optional
[dict
]) –field_filters (
typing.Optional
[dict
]) –offset (
int
) –limit (
int
) –
- Return type
axonius_api_client.api.json_api.assets.AssetsPage
-
_get_by_id
(id)¶ Private API method to get the full metadata of all adapters for a single asset.
- Parameters
id (
str
) – asset to get all metadata for- Return type
axonius_api_client.api.json_api.assets.AssetById
-
_handle_wiz_entries
(wiz_entries=None)¶ Pass.
- Parameters
wiz_entries (
typing.Union
[typing.List
[dict
],typing.List
[str
],dict
,str
,None
]) –- Return type
-
_history_dates
()¶ Private API method to get all known historical dates.
- Return type
axonius_api_client.api.json_api.generic.DictValue
-
_init
(**kwargs)¶ Post init method for subclasses to use for extra setup.
-
count
(query=None, history_date=None, wiz_entries=None)¶ Get the count of assets from a query.
Examples
Get count of all assets
>>> count = apiobj.count()
Get count of all assets for a given date
>>> count = apiobj.count(history_date="2020-09-29")
Get count of assets matching a query built by the GUI query wizard
>>> query='(specific_data.data.name == "test")' >>> count = apiobj.count(query=query)
Get count of assets matching a query built by the API client query wizard
>>> entries = [{'type': 'simple', 'value': 'name equals test'}] >>> count = apiobj.count(wiz_entries=entries)
- Parameters
query (
typing.Optional
[str
]) – if supplied, only return the count of assets that match the query if not supplied, the count of all assets will be returnedhistory_date (
typing.Union
[str
,datetime.timedelta
,datetime.datetime
,None
]) – return asset count for a given historical datewiz_entries (
typing.Union
[typing.List
[dict
],typing.List
[str
],dict
,str
,None
]) – wizard expressions to create query from
- Return type
-
count_by_saved_query
(name, history_date=None)¶ Get the count of assets for a query defined in a saved query.
Examples
Get count of assets returned from a saved query
>>> count = apiobj.count_by_saved_query(name="test")
Get count of assets returned from a saved query for a given date
>>> count = apiobj.count_by_saved_query(name="test", history_date="2020-09-29")
- Parameters
name (
str
) – saved query to get count of assets fromhistory_date (
typing.Union
[str
,datetime.timedelta
,datetime.datetime
,None
]) – return count for a given historical date
- Return type
-
destroy
(destroy, history)¶ Delete ALL assets.
Notes
Enable the
Enable API destroy endpoints
setting underSettings > Global Settings > API Settings > Enable advanced API settings
for this method to function.
-
get
(generator=False, **kwargs)¶ Get assets from a query.
Examples
Get all assets with the default fields defined in the API client
>>> assets = apiobj.get()
Get all assets using an iterator
>>> assets = [x for x in apiobj.get(generator=True)]
Get all assets with fields that equal names
>>> assets = apiobj.get(fields=["os.type", "aws:aws_device_type"])
Get all assets with fields that fuzzy match names and no default fields
>>> assets = apiobj.get(fields_fuzzy=["last", "os"], fields_default=False)
Get all assets with fields that regex match names a
>>> assets = apiobj.get(fields_regex=["^os\."])
Get all assets with all root fields for an adapter
>>> assets = apiobj.get(fields_root="aws")
Get all assets for a given date in history and sort the rows on a field
>>> assets = apiobj.get(history_date="2020-09-29", sort_field="name")
Get all assets with details of which adapter connection provided the agg data
>>> assets = apiobj.get(include_details=True)
Get assets matching a query built by the GUI query wizard
>>> query='(specific_data.data.name == "test")' >>> assets = apiobj.get(query=query)
Get assets matching a query built by the API client query wizard
>>> entries=[{'type': 'simple', 'value': 'name equals test'}] >>> assets = apiobj.get(wiz_entries=entries)
See also
This method is used by all other get* methods under the hood and their kwargs are passed thru to this method and passed to
get_generator()
which are then passed to whatever callback is used based on theexport
argument.If
export
is not supplied, seeaxonius_api_client.api.asset_callbacks.base.Base.args_map()
.If
export
equalsjson
, seeaxonius_api_client.api.asset_callbacks.base_json.Json.args_map()
.If
export
equalscsv
, seeaxonius_api_client.api.asset_callbacks.base_csv.Csv.args_map()
.If
export
equalsjson_to_csv
, seeaxonius_api_client.api.asset_callbacks.base_json_to_csv.JsonToCsv.args_map()
.If
export
equalstable
, seeaxonius_api_client.api.asset_callbacks.base_table.Table.args_map()
.If
export
equalsxlsx
, seeaxonius_api_client.api.asset_callbacks.base_xlsx.Xlsx.args_map()
.- Parameters
generator (
bool
) – return an iterator for assets that will yield rows as they are fetched**kwargs – passed to
get_generator()
- Return type
typing.Union
[typing.Generator
[dict
,None
,None
],typing.List
[dict
]]
-
get_by_id
(id)¶ Get the full data set of all adapters for a single asset.
Examples
>>> asset = apiobj.get_by_id(id="3d69adf54879faade7a44068e4ecea6e")
- Parameters
id (
str
) – internal_axon_id of asset to get all data set for- Raises
NotFoundError – if id is not found
- Return type
-
get_by_saved_query
(name, **kwargs)¶ Get assets that would be returned by a saved query.
Examples
First, create a
client
usingaxonius_api_client.connect.Connect
and assumeapiobj
isclient.devices
orclient.users
>>> apiobj = client.devices
Get assets from a saved query with complex fields flattened
>>> assets = apiobj.get_by_saved_query(name="test", field_flatten=True)
Notes
The query and the fields defined in the saved query will be used to get the assets.
- Parameters
- Return type
typing.Union
[typing.Generator
[dict
,None
,None
],typing.List
[dict
]]
-
get_by_value
(value, field, not_flag=False, pre='', post='', field_manual=False, **kwargs)¶ Build a query to get assets where field equals a value.
Notes
It is better to use
wizard
,wizard_text
, orwizard_csv
to build queries!- Parameters
value (
str
) – value that must equal fieldfield (
str
) – name of field to query againstnot_flag (
bool
) – prefix query with ‘not’pre (
str
) – query to add to the beginning of the querypost (
str
) – query to add to the end of the queryfield_manual (
bool
) – consider supplied field as a fully qualified field name**kwargs – passed to
get()
- Return type
typing.Union
[typing.Generator
[dict
,None
,None
],typing.List
[dict
]]
-
get_by_value_regex
(value, field, cast_insensitive=True, not_flag=False, pre='', post='', field_manual=False, **kwargs)¶ Build a query to get assets where field regex matches a value.
Notes
It is better to use
wizard
,wizard_text
, orwizard_csv
to build queries!- Parameters
value (
str
) – regex that must match fieldfield (
str
) – name of field to query againstcase_insensitive – ignore case when performing the regex match
not_flag (
bool
) – prefix query with ‘not’pre (
str
) – query to add to the beginning of the querypost (
str
) – query to add to the end of the queryfield_manual (
bool
) – consider supplied field as a fully qualified field name**kwargs – passed to
get()
cast_insensitive (
bool
) –
- Return type
typing.Union
[typing.Generator
[dict
,None
,None
],typing.List
[dict
]]
-
get_by_values
(values, field, not_flag=False, pre='', post='', field_manual=False, **kwargs)¶ Build a query to get assets where field in values.
Notes
It is better to use
wizard
,wizard_text
, orwizard_csv
to build queries!- Parameters
values (
typing.List
[str
]) – list of values that must match fieldfield (
str
) – name of field to query againstnot_flag (
bool
) – prefix query with ‘not’pre (
str
) – query to add to the beginning of the querypost (
str
) – query to add to the end of the queryfield_manual (
bool
) – consider supplied field as a fully qualified field name**kwargs – passed to
get()
- Return type
typing.Union
[typing.Generator
[dict
,None
,None
],typing.List
[dict
]]
-
get_generator
(query=None, fields=None, fields_manual=None, fields_regex=None, fields_fuzzy=None, fields_default=True, fields_root=None, max_rows=None, max_pages=None, row_start=0, page_size=2000, page_start=0, page_sleep=0, export='base', include_notes=False, include_details=False, sort_field=None, sort_descending=False, history_date=None, wiz_entries=None, **kwargs)¶ Get assets from a query.
- Parameters
query (
typing.Optional
[str
]) – if supplied, only get the assets that match the queryfields (
typing.Union
[typing.List
[str
],str
,None
]) – fields to return for each asset (will be validated)fields_manual (
typing.Union
[typing.List
[str
],str
,None
]) – fields to return for each asset (will NOT be validated)fields_regex (
typing.Union
[typing.List
[str
],str
,None
]) – regex of fields to return for each assetfields_fuzzy (
typing.Union
[typing.List
[str
],str
,None
]) – string to fuzzy match of fields to return for each assetfields_default (
bool
) – include the default fields infields_default
fields_root (
typing.Optional
[str
]) – include all fields of an adapter that are not complex sub-fieldsmax_rows (
typing.Optional
[int
]) – only return N rowsmax_pages (
typing.Optional
[int
]) – only return N pagesrow_start (
int
) – start at row Npage_size (
int
) – fetch N rows per pagepage_start (
int
) – start at page Npage_sleep (
int
) – sleep for N seconds between each page fetchexport (
str
) – export assets using a callback methodinclude_details (
bool
) – include details fields showing the adapter source of agg valuessort_field (
typing.Optional
[str
]) – sort the returned assets on a given fieldsort_descending (
bool
) – reverse the sort of the returned assetshistory_date (
typing.Union
[str
,datetime.timedelta
,datetime.datetime
,None
]) – return assets for a given historical datewiz_entries (
typing.Union
[typing.List
[dict
],typing.List
[str
],dict
,str
,None
]) – wizard expressions to create query from**kwargs – passed thru to the asset callback defined in
export
include_notes (
bool
) –
- Return type
-
LOG
: logging.Logger¶ Logger for this object.
-
auth
¶ axonius_api_client.auth.models.Mixins
authentication object.
-
http
¶ axonius_api_client.http.Http
client to use to send requests,
-
wizard_csv
= None¶ Query wizard for CSV files.