<!-- MarkdownTOC -->
- [Bugfix: Permission errors when using API client with 'Viewer' role](bugfix-permission-errors-when-using-api-client-with-viewer-role)
- [Bugfix: Version not accessible when using API Client with 'Viewer' role](bugfix-version-not-accessible-when-using-api-client-with-viewer-role)
- [Bugfix: Adapter Fetch History schema changes](bugfix-adapter-fetch-history-schema-changes)
- [Bugfix: Adapter Fetch History Filters schema changes](bugfix-adapter-fetch-history-filters-schema-changes)
- [Bugfix: Preferred fields not being populated when using explode-entities](bugfix-preferred-fields-not-being-populated-when-using-explode-entities)
- [Axonshell reproduction without exploding](axonshell-reproduction-without-exploding)
- [Axonshell reproduction with exploding](axonshell-reproduction-with-exploding)
- [Axonshell reproduction with fix](axonshell-reproduction-with-fix)
<!-- /MarkdownTOC -->
Bugfix: Permission errors when using API client with 'Viewer' role
- Endpoint being used for validation requires 'View system settings' permission
on users assigned role
- Added new endpoint: ApiEndpoints.system_settings.get_constants
- Switched login verification endpoint from
`ApiEndpoints.system_settings.meta_about` to `ApiEndpoints.system_settings.get_constants`
Bugfix: Version not accessible when using API Client with 'Viewer' role
- Added error:bool = True to client.meta.about()
- if error=False, errors in calls to get about metadata are caught and thrown away
- Changed Connect banner string to get about metadata with error=False
- Connect banner string changed to show 'version: unknown (no permissions)' if about
metadata is empty
Bugfix: Adapter Fetch History schema changes
- new field: discovery_id
Bugfix: Adapter Fetch History Filters schema changes
- new field: discoveries_filter
- new argument for client.adapters.get_fetch_history_generator:
`discoveries: OPT_STR_RE_LISTY = None`
- new argument for axonshell adapters:
`-fd/--filter-discoveries`
Bugfix: Preferred fields not being populated when using explode-entities
Axonshell reproduction without exploding
Get 1 asset with 2 adapters without exploding entities:
bash
axonshell devices get \
--field 'hostname_preferred' \
--wiz simple 'adapters count_equals 2' \
--max-rows 1 \
--export-file 'not_exploded.json' \
--export-overwrite
Output of not_exploded.json with one asset where
'specific_data.data.hostname_preferred' field value is not empty:
json
[
{
"adapter_list_length": 2,
"adapters": [
"tanium_adapter",
"tanium_asset_adapter"
],
"internal_axon_id": "e6edbb949369e353d735d78ebf2deb44",
"specific_data.data.hostname": [
"ip-10-0-2-213"
],
"specific_data.data.hostname_preferred": "ip-10-0-2-213",
"specific_data.data.last_seen": "Wed, 26 Oct 2022 12:31:59 GMT",
"specific_data.data.network_interfaces.ips": [
"10.0.2.213",
"fe80::4ba:77ff:fed7:336c"
],
"specific_data.data.network_interfaces.mac": [
"06:BA:77:D7:33:6C"
],
"specific_data.data.os.type": [
"Linux"
]
}
]
Axonshell reproduction with exploding
Get 1 asset with 2 adapters and explode entities:
bash
axonshell devices get \
--field 'hostname_preferred' \
--wiz simple 'adapters count_equals 2' \
--max-rows 1 \
--explode-entities \
--export-file 'exploded.json' \
--export-overwrite
Output of exploded.json where each exploded assets
'specific_data.data.hostname_preferred' field value is empty:
json
[
{
"adapters": "tanium_adapter",
"adapter_asset_entities_info": null,
"adapter_list_length": 2,
"internal_axon_id": "e6edbb949369e353d735d78ebf2deb44",
"meta_data.client_used": "63753df13ac032cb043f72e9",
"specific_data.data.hostname": "ip-10-0-2-213",
"specific_data.data.hostname_preferred": null,
"specific_data.data.last_seen": "Wed, 26 Oct 2022 12:31:59 GMT",
"specific_data.data.name": null,
"specific_data.data.network_interfaces.ips": [
"10.0.2.213"
],
"specific_data.data.network_interfaces.mac": null,
"specific_data.data.os.type": null,
"unique_adapter_names_details": ""
},
{
"adapters": "tanium_asset_adapter",
"adapter_asset_entities_info": null,
"adapter_list_length": 2,
"internal_axon_id": "e6edbb949369e353d735d78ebf2deb44",
"meta_data.client_used": "63753e2df6170824de0193f5",
"specific_data.data.hostname": "ip-10-0-2-213",
"specific_data.data.hostname_preferred": null,
"specific_data.data.last_seen": "Wed, 26 Oct 2022 12:00:04 GMT",
"specific_data.data.name": null,
"specific_data.data.network_interfaces.ips": [
"10.0.2.213",
"fe80::4ba:77ff:fed7:336c"
],
"specific_data.data.network_interfaces.mac": "06:BA:77:D7:33:6C",
"specific_data.data.os.type": "Linux",
"unique_adapter_names_details": ""
}
]
Axonshell reproduction with fix
bash
axonshell devices get \
--field 'hostname_preferred' \
--wiz simple 'adapters count_equals 2' \
--max-rows 1 \
--explode-entities \
--export-file 'exploded.json' \
--export-overwrite
Output of exploded.json where each exploded assets
'specific_data.data.hostname_preferred' field value is not empty:
json
[
{
"adapters": "tanium_adapter",
"adapter_asset_entities_info": null,
"adapter_list_length": 2,
"internal_axon_id": "e6edbb949369e353d735d78ebf2deb44",
"meta_data.client_used": "63753df13ac032cb043f72e9",
"specific_data.data.hostname": "ip-10-0-2-213",
"specific_data.data.hostname_preferred": "ip-10-0-2-213",
"specific_data.data.last_seen": "Wed, 26 Oct 2022 12:31:59 GMT",
"specific_data.data.name": null,
"specific_data.data.network_interfaces.ips": [
"10.0.2.213"
],
"specific_data.data.network_interfaces.mac": null,
"specific_data.data.os.type": null,
"unique_adapter_names_details": ""
},
{
"adapters": "tanium_asset_adapter",
"adapter_asset_entities_info": null,
"adapter_list_length": 2,
"internal_axon_id": "e6edbb949369e353d735d78ebf2deb44",
"meta_data.client_used": "63753e2df6170824de0193f5",
"specific_data.data.hostname": "ip-10-0-2-213",
"specific_data.data.hostname_preferred": "ip-10-0-2-213",
"specific_data.data.last_seen": "Wed, 26 Oct 2022 12:00:04 GMT",
"specific_data.data.name": null,
"specific_data.data.network_interfaces.ips": [
"10.0.2.213",
"fe80::4ba:77ff:fed7:336c"
],
"specific_data.data.network_interfaces.mac": "06:BA:77:D7:33:6C",
"specific_data.data.os.type": "Linux",
"unique_adapter_names_details": ""
}
]
What's Changed
* 4.50.1 by lifehackjim in https://github.com/Axonius/axonius_api_client/pull/213
**Full Changelog**: https://github.com/Axonius/axonius_api_client/compare/4.50.0...4.50.1