Releases: Axonius/axonius_api_client
4.30.2
4.30.2
API Library
Query Wizard Fixes
- fixed error when using is_ipv4 and is_ipv6 operators, i.e.
simple public_ips is_ipv4 simple public_ips is_ipv6
Query Wizard Enhancements
-
Added support for specifying data scopes, i.e.:
simple data_scope equals Name Of Data Scope simple data_scope equals UUID_OF_DATA_SCOPE
-
Saved query supports using name or UUID, i.e.
simple sq equals Name Of Saved Query simple sq equals UUID_OF_SQ
-
Adapter name supports using short internal name, full internal name, or title, ie.e:
# short internal name simple adapters equals aws # full internal name simple adapters equals aws_adapter # title simple adapters equals tanium asset
-
reworked custom enums into callbacks
-
added better caching controls
What's Changed
Full Changelog: 4.30.1...4.30.2
4.30.1
4.30.1
AXONSHELL
AXONSHELL enhancements
-
NEW COMMAND GROUP:
axonshell system data-scopes
- work with data scopes, commands:axonshell system data-scopes create
- Create a data scope.axonshell system data-scopes delete
- Delete a data scope.axonshell system data-scopes get
- Get data scopes.axonshell system data-scopes update-description
- Update the description of a data scope.axonshell system data-scopes update-device-scopes
- Update the device asset scopes of a data scope.axonshell system data-scopes update-name
- Update the name of a data scope.axonshell system data-scopes update-user-scopes
- Update the user asset scopes of a data scope.
-
NEW ARGUMENTS:
- For command
axonshell system roles add
:--data-scope/-ds
- Specify a data scope to associate with the role
- For command
-
NEW COMMANDS:
- For command group
axonshell system roles
:axonshell system roles update-data-scope
- Update a roles data scope.axonshell system roles get-perms
- Get a print out of all role permission categories and actions.
- For command group
-
MODIFIED ARGUMENTS:
- For all commands in command group
axonshell system roles
:--export-format/-xf
:- Now supports
str-args
str
format changed, to get the old str format usestr-args
- Default format is now
table
- Added more metadata to output
- Now supports
- For all commands in command group
API Library
API Library Enhancements
-
client.data_scopes
- new api model for working with data scopesclient.data_scopes.get
- get data scopesclient.data_scopes.get_safe
- get data scopes (will not error if data scope feature not enabled)client.data_scopes.build_role_data_scope
- build a data scope restriction for use in a system roleclient.data_scopes.create
- create a data scopeclient.data_scopes.delete
- delete a data scopeclient.data_scopes.update_name
- update the name of a data scopeclient.data_scopes.update_description
- update the description of a data scopeclient.data_scopes.update_user_scopes
- update the user asset scopes of a data scopeclient.data_scopes.update_device_scopes
- update the device asset scopes of a data scopeclient.data_scopes.check_feature_enabled
- throw an exception if data scope feature is not enabledclient.data_scopes.is_feature_enabled
- check if data scope feature is enabledclient.data_scopes.check_exists
- check if a data scope already exists with a nameclient.data_scopes.get_asset_scopes
- get all saved query's that are asset scopes for users and devicesclient.data_scopes._get
- private direct API method to get data scopesclient.data_scopes._delete
- private direct API method to delete a data scopeclient.data_scopes._create
- private direct API method to create a data scopeclient.data_scopes._update
- private direct API method to update a data scopeclient.data_scopes._update_from_model
- private direct API method to update a data scope
-
client.system_roles
- new methods:client.system_roles.update_data_scope
- Update the data scope for a role
-
client.system_roles.add
- new arguments:data_scope
optional string with name or UUID of data scope for the role
What's Changed
- 4.30.1 by @lifehackjim in #188
Full Changelog: 4.30.0...4.30.1
4.30.0
4.30.0
AXONSHELL
AXONSHELL enhancements
- NEW COMMAND GROUP: axonshell enforcements - work with enforcement center
axonshell enforcements copy
- Copy an Enforcement Set.axonshell enforcements create
- Create an Enforcement Set.axonshell enforcements delete
- Delete an Enforcement Set.axonshell enforcements get
- Get Enforcement Sets.axonshell enforcements get-action-types
- Get Action Types.axonshell enforcements update-action-add
- Add an action to a set.axonshell enforcements update-action-main
- Update the main action of a set.axonshell enforcements update-action-remove
- Remove an action from a set.axonshell enforcements update-name
- Update the name of a set.axonshell enforcements update-on-count-above
- Update only run when asset count is above N.axonshell enforcements update-on-count-below
- Update only run when asset count is below N.axonshell enforcements update-on-count-decreased
- Update only run when asset count decreases.axonshell enforcements update-on-count-increased
- Update only run when asset count increases.axonshell enforcements update-only-new-assets
- Update only run against new assets.axonshell enforcements update-query
- Update the query of a set.axonshell enforcements update-query-remove
- Remove the query from a set.axonshell enforcements update-schedule-daily
- Update a set to run daily.axonshell enforcements update-schedule-discovery
- Update a set to run on discovery.axonshell enforcements update-schedule-hourly
- Update a set to run hourly.axonshell enforcements update-schedule-monthly
- Update a set to run monthly.axonshell enforcements update-schedule-never
- Update a set to never run.axonshell enforcements update-schedule-weekly
- Update a set to run weekly.
API Library
API Library Enhancements
-
client.enforcements: reworked completely, methods:
client.enforcements.attach_full_set()
- get the full details of an enforcement set and attach the basic detailsclient.enforcements.check_set_exists
- check if an enforcement set exists with the given nameclient.enforcements.copy
- duplicate an enforcement setclient.enforcements.create
- create an enforcement setclient.enforcements.delete
- delete an enforcement setclient.enforcements.get_action_type
- get a single action typeclient.enforcements.get_action_types
- get all action typesclient.enforcements.get_set
- get a single enforcement setclient.enforcements.get_set_action
- create an action object for inclusion in an enforcement setclient.enforcements.get_sets
- get all enforcement setsclient.enforcements.get_sets_generator
- get all enforcement sets using a generatorclient.enforcements.get_trigger_view
- get the associated saved query name and type for inclusion in an enforcement setclient.enforcements.update_action_add
- add an action to an action category (post, sucesss, failure) for an enforcement setclient.enforcements.update_action_main
- update the main action of an enforcement setclient.enforcements.update_action_remove
- remove an action from an action category (post, sucesss, failure) for an enforcement setclient.enforcements.update_from_model
- update an enforcement setclient.enforcements.update_name
- update the name of an enforcement setclient.enforcements.update_on_count_above
- update the on_count_above condition for an enforcement setclient.enforcements.update_on_count_below
- update the on_count_below condition for an enforcement setclient.enforcements.update_on_count_decreased
- update the on_count_decreased condition for an enforcement setclient.enforcements.update_on_count_increased
- update the on_count_increased condition for an enforcement setclient.enforcements.update_only_new_assets
- update the only_new_assets condition for an enforcement setclient.enforcements.update_query
- update the saved query name and type for an enforcement setclient.enforcements.update_query_remove
- remove the saved query trigger from an enforcement setclient.enforcements.update_schedule_daily
- change the schedule to run daily for an enforcement setclient.enforcements.update_schedule_discovery
- change the schedule to run every discovery for an enforcement setclient.enforcements.update_schedule_hourly
- change the schedule to run hourly for an enforcement setclient.enforcements.update_schedule_monthly
- change the schedule to run monthly for an enforcement setclient.enforcements.update_schedule_never
- change the schedule to never run for an enforcement setclient.enforcements.update_schedule_weekly
- change the schedule to run weekly for an enforcement setclient.enforcements._copy
- private method to copy an enforcement setclient.enforcements._create
- private method to create an enforcement setclient.enforcements._delete
- private method to delete an enforcement setclient.enforcements._get_action_types
- private method to get action typesclient.enforcements._get_set
- private method to get an enforcement set by UUIDclient.enforcements._get_sets
- private method to get all enforcement setsclient.enforcements._triggers_map
- map of trigger query types to api objectsclient.enforcements._update
- private method to update an enforcement set
-
client.instances: new methods:
- `client.instances.api_version - get the current API version of the REST API
- `client.instances.api_versions - get all available API versions of the REST API
client.instances._get_api_version
- private method to get current API version of the REST APIclient.instances._get_api_versions
- private method to get all available versions of the REST API
What's Changed
- backmerge by @lifehackjim in #180
- windows does not support : in filename by @lifehackjim in #181
- Bugfix/assets export csv/empty column names by @lifehackjim in #183
- 4.30.0 by @lifehackjim in #185
Full Changelog: 4.20.3...4.30.0
4.20.5
4.20.5
While this version is tested thoroughly, there are a number of core changes to support working with SSL certificates that could produce errors in certain edge cases.
The version that gets installed by pip will be the latest NON pre-release:
pip install axonius-api-client
In order to install a version marked as a pre-release, you need to specify the exact version with pip:
pip install axonius-api-client==4.20.5
AXONSHELL
AXONSHELL bugfixes
- axonshell devices/users get
- empty column headers for --export-format csv
4.20.4
4.20.4
While this version is tested thoroughly, there are a number of core changes to support working with SSL certificates that could produce errors in certain edge cases.
The version that gets installed by pip will be the latest NON pre-release:
pip install axonius-api-client
In order to install a version marked as a pre-release, you need to specify the exact version with pip:
pip install axonius-api-client==4.20.4
AXONSHELL
AXONSHELL bugfixes
- axonshell devices/users get
- Fixed support for templating in --export-path and --export-file, windows does not support ':' in filename
What's Changed
Full Changelog: 4.20.3...4.20.4
4.20.3
4.20.3
While this version is tested thoroughly, there are a number of core changes to support working with SSL certificates that could produce errors in certain edge cases.
The version that gets installed by pip will be the latest NON pre-release:
pip install axonius-api-client
In order to install a version marked as a pre-release, you need to specify the exact version with pip:
pip install axonius-api-client==4.20.3
AXONSHELL
AXONSHELL enhancments
- axonshell devices/users get
- Added support for templating in --export-path and --export-file, templates supported:
- {DATE} - will be replaced with current datetime stamp in UTC format
- {HISTORY_DATE} - will be replaced with date of history snapshot chosen or current datetime stamp in UTC format
- Added support for templating in --export-path and --export-file, templates supported:
What's Changed
- Feature/asset export file templating by @lifehackjim in #179
Full Changelog: 4.20.2...4.20.3
4.20.2 (pre-release)
4.20.2
While this version is tested thoroughly, there are a number of core changes to support working with SSL certificates that could produce errors in certain edge cases.
The version that gets installed by pip will be the latest NON pre-release:
pip install axonius-api-client
In order to install a version marked as a pre-release, you need to specify the exact version with pip:
pip install axonius-api-client==4.20.2
AXONSHELL
AXONSHELL fixes
- axonshell certs from-file
'tuple' object has no attribute 'to_str'
- axonshell certs gui-get
** ERROR: WRAPPED EXCEPTION: builtins.FileNotFoundError
[Errno 2] No such file or directory: '/Users/jimbo/gh/Axonius/axonapi/10.20.3.233.pem'
AXONSHELL enhancments
- axonshell certs *
- add a barrier between each certificate printed out in str format
API Library
API Library fixes
- axonius_api_client.http.Http - fix requests environment variable merging
- If OS Environment variable
REQUESTS_CA_BUNDLE
exists, it would replace the supplied certpath causing SSL verification to fail. - Fixed by passing in values from session instead of None.
- If OS Environment variable
Full Changelog: 4.20.1...4.20.2
4.20.1 (pre-release)
4.20.1
While this version is tested thoroughly, there are a number of core changes to support working with SSL certificates that could produce errors in certain edge cases.
The version that gets installed by pip will be the latest NON pre-release:
pip install axonius-api-client
In order to install a version marked as a pre-release, you need to specify the exact version with pip:
pip install axonius-api-client==4.20.1
AXONSHELL
AXONSHELL fixes
AXONSHELL enhancments
-
tweaks/minor fixes to numerous commands
-
NEW ENVIRONMENT VARIABLES:
- AX_USER_AGENT: if set, will override the User Agent used internally
-
NEW COMMAND GROUP: axonshell certs - work with SSL certificates
- axonshell certs ca-enable - enable/disable custom CAs setting in GUI
- axonshell certs ca-add - add a custom CA to the GUI from a file
- axonshell certs ca-remove - remove a custom CA from the GUI
- axonshell certs ca-get - get the current custom CAs in GUI
- axonshell certs gui-info - get basic info about the current SSL cert in GUI
- axonshell certs gui-reset - revert the GUI SSL cert to the one generated at install time
- axonshell certs gui-update - update the GUI SSL cert with a cert & key file
- axonshell certs csr-get - get the pending CSR
- axonshell certs csr-create - create a CSR
- axonshell certs csr-cancel - cancel a pending CSR
- axonshell certs from-file - display / convert certs from a PEM/PKCS7/DER file to PEM/str/json
- axonshell certs from-url - display / convert cert chain from a URL to PEM/str/json
-
REMOVED COMMANDS:
- axonshell tools convert-cert - use axonshell certs from-file as a replacement
API Library
API Library fixes
API Library Enhancements
-
package:
-
numerous improvements to axonius_api_client.http.Http
-
NEW MODULES:
- cert_human - to add tooling for working with SSL certs
-
NEW DEPENDENCIES:
- asn1crypto>=1.4.0 for working with SSL certs
-
NEW ENVIRONMENT VARIABLES:
- AX_USER_AGENT: if set, will override the User Agent used internally
-
-
NEW METHODS:
- settings_global.ca_enable - enable/disable custom CAs setting in GUI
- settings_global.check_cert_is_ca - check if a cert is a CA cert
- settings_global.ca_add_path - add a custom CA to the GUI from a file
- settings_global.ca_add - add a custom CA to the GUI from bytes/str
- settings_global.cas_to_str - pretty print the custom CAs currently in GUI
- settings_global.ca_remove - remove a custom CA from the GUI
- settings_global.ca_get - get the current custom CAs in GUI
- settings_global.gui_cert_info - get basic info about the current SSL cert in GUI
- settings_global.gui_cert_reset - revert the GUI SSL cert to the one generated at install time
- settings_global.gui_cert_update_path - update the GUI SSL cert with a cert & key file
- settings_global.gui_cert_update - update the GUI SSL cert with a cert & key bytes/str
- settings_global.csr_get - get the pending CSR
- settings_global.csr_create - create a CSR
- settings_global.csr_cancel - cancel a pending CSR
- settings_global._cert_uploaded - direct API method
- settings_global._gui_cert_update - direct API method
- settings_global._gui_cert_reset - direct API method
- settings_global._cert_settings - direct API method
- settings_global._gui_cert_info - direct API method
- settings_global._csr_get - direct API method
- settings_global._csr_cancel - direct API method
- settings_global._csr_create - direct API method
What's Changed
- Feature/install ssl cert by @nate-axonius in #175
Full Changelog: 4.20.0...4.20.1
4.20.0
4.20.0
AXONSHELL
AXONSHELL fixes
- axonshell devices get*: remove 'base' from export_format
- axonshell adapters cnx *: was not prompting due to issue with fetching schemas
- axonshell *: many fixes to commands that were not tested previously
AXONSHELL enhancments
- open-api get-spec: add gen version/date to OAS output file
- axonshell devices saved-query *: add more metadata to --export-format str
- axonshell devices saved-query *: add table as --export-format
- adapters cnx *: reworked from the ground up, prompting with more verbose output, better validation, and more...
- NEW ARGUMENT: devices/users get: --fields-regex-root-only: to exclude complex field sub fields from selection
- NEW ARGUMENT: root group: --log-file-rotate: to force the log file to rotate
- NEW ARGUMENT: system discover start add: --wait: wait until discover finishes before returning
- NEW COMMAND: devices/users saved_query update-name
- NEW COMMAND: devices/users saved_query update-description
- NEW COMMAND: devices/users saved_query update-private
- NEW COMMAND: devices/users saved_query update-always-cached
- NEW COMMAND: devices/users saved_query update-tags
- NEW COMMAND: devices/users saved_query update-page_size
- NEW COMMAND: devices/users saved_query update-sort
- NEW COMMAND: devices/users saved_query update-query
- NEW COMMAND: devices/users saved_query update-fields
- NEW COMMAND: devices/users saved_query copy
API Library
API Library fixes
- devices/users.get explode=True would only populate values for the first entry
- devices/users.saved_query.validate with fields_regex should not return "all" field
- devices/users.saved_query.validate with fields_regex should not return "raw_data" field
- devices/users.saved_query.add/update: SQ 'query_type' not always returned, added safe default
- devices/users.saved_query.*: SQ gui page sizes now 20,50,100, not 25,50,100
- devices/users.get: table export format was not paying attention to table_format
- devices/users.get: table export format was not paying attention to table_max_rows
- query wizard: query building was failing, double quotes are now needed around field name
- adapters.get: get_clients=True throwing exception
- package: add pyOpenSSL as dependency
- package: many underlying fixes done to ApiEndpoints, API models, and dataclass models & schemas
- package: coverage increase from 76% to 96%
API Library Enhancements
- data models: add support for dataclasses to be referenced as dictionaries
- devices.saved_query.get*: sq as dataclass or dict
- devices.saved_query.*: notfounderror show more metadata on each SQ
- NEW ARGUMENT: devices/users.fields.validate: 'fields_regex_root_only' to exclude complex field sub fields from selection
- NEW ARGUMENT: devices.saved_query.add(): 'asset_scope' and 'wiz_entries'
- NEW METHOD: devices/users.saved_query.copy
- NEW METHOD: devices/users.saved_query.get_by_multi
- NEW METHOD: devices/users.saved_query.update_always_cached
- NEW METHOD: devices/users.saved_query.update_description
- NEW METHOD: devices/users.saved_query.update_fields
- NEW METHOD: devices/users.saved_query.update_name
- NEW METHOD: devices/users.saved_query.update_page_size
- NEW METHOD: devices/users.saved_query.update_private
- NEW METHOD: devices/users.saved_query.update_query
- NEW METHOD: devices/users.saved_query.update_sort
- NEW METHOD: devices/users.saved_query.update_tags
- package: remove raw_data feature, built in to product now
4.10.9
4.10.9
AXONSHELL
FIXES
- deleting saved query now prints the name correctly
NEW COMMANDS
n/a
NEW ARGUMENTS
n/a
ENHANCEMENTS
n/a
API Library
FIXES
QUERY WIZARD
- compOp must be empty string!
- field must be saved_query not specific_data.sq!
- add index for parent expression entries
- temp. disabled column filters due to object shape change
NEW METHODS
n/a
NEW ARGUMENTS
n/a
ENHANCEMENTS
n/a