Skip to content

Releases: Axonius/axonius_api_client

4.30.2

07 Jun 18:44
e8deda3
Compare
Choose a tag to compare

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

  • bonzai by @lifehackjim in #189
  • 4.30.2 by @lifehackjim in #190

Full Changelog: 4.30.1...4.30.2

4.30.1

22 Apr 00:48
0713d25
Compare
Choose a tag to compare

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
  • 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.
  • 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 use str-args
        • Default format is now table
        • Added more metadata to output

API Library

API Library Enhancements

  • client.data_scopes - new api model for working with data scopes

    • client.data_scopes.get - get data scopes
    • client.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 role
    • client.data_scopes.create - create a data scope
    • client.data_scopes.delete - delete a data scope
    • client.data_scopes.update_name - update the name of a data scope
    • client.data_scopes.update_description - update the description of a data scope
    • client.data_scopes.update_user_scopes - update the user asset scopes of a data scope
    • client.data_scopes.update_device_scopes - update the device asset scopes of a data scope
    • client.data_scopes.check_feature_enabled - throw an exception if data scope feature is not enabled
    • client.data_scopes.is_feature_enabled - check if data scope feature is enabled
    • client.data_scopes.check_exists - check if a data scope already exists with a name
    • client.data_scopes.get_asset_scopes - get all saved query's that are asset scopes for users and devices
    • client.data_scopes._get - private direct API method to get data scopes
    • client.data_scopes._delete - private direct API method to delete a data scope
    • client.data_scopes._create - private direct API method to create a data scope
    • client.data_scopes._update - private direct API method to update a data scope
    • client.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

11 Apr 23:53
81aceeb
Compare
Choose a tag to compare

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 details
    • client.enforcements.check_set_exists - check if an enforcement set exists with the given name
    • client.enforcements.copy - duplicate an enforcement set
    • client.enforcements.create - create an enforcement set
    • client.enforcements.delete - delete an enforcement set
    • client.enforcements.get_action_type - get a single action type
    • client.enforcements.get_action_types - get all action types
    • client.enforcements.get_set - get a single enforcement set
    • client.enforcements.get_set_action - create an action object for inclusion in an enforcement set
    • client.enforcements.get_sets - get all enforcement sets
    • client.enforcements.get_sets_generator - get all enforcement sets using a generator
    • client.enforcements.get_trigger_view - get the associated saved query name and type for inclusion in an enforcement set
    • client.enforcements.update_action_add - add an action to an action category (post, sucesss, failure) for an enforcement set
    • client.enforcements.update_action_main - update the main action of an enforcement set
    • client.enforcements.update_action_remove - remove an action from an action category (post, sucesss, failure) for an enforcement set
    • client.enforcements.update_from_model - update an enforcement set
    • client.enforcements.update_name - update the name of an enforcement set
    • client.enforcements.update_on_count_above - update the on_count_above condition for an enforcement set
    • client.enforcements.update_on_count_below - update the on_count_below condition for an enforcement set
    • client.enforcements.update_on_count_decreased - update the on_count_decreased condition for an enforcement set
    • client.enforcements.update_on_count_increased - update the on_count_increased condition for an enforcement set
    • client.enforcements.update_only_new_assets - update the only_new_assets condition for an enforcement set
    • client.enforcements.update_query - update the saved query name and type for an enforcement set
    • client.enforcements.update_query_remove - remove the saved query trigger from an enforcement set
    • client.enforcements.update_schedule_daily - change the schedule to run daily for an enforcement set
    • client.enforcements.update_schedule_discovery - change the schedule to run every discovery for an enforcement set
    • client.enforcements.update_schedule_hourly - change the schedule to run hourly for an enforcement set
    • client.enforcements.update_schedule_monthly - change the schedule to run monthly for an enforcement set
    • client.enforcements.update_schedule_never - change the schedule to never run for an enforcement set
    • client.enforcements.update_schedule_weekly - change the schedule to run weekly for an enforcement set
    • client.enforcements._copy - private method to copy an enforcement set
    • client.enforcements._create - private method to create an enforcement set
    • client.enforcements._delete - private method to delete an enforcement set
    • client.enforcements._get_action_types - private method to get action types
    • client.enforcements._get_set - private method to get an enforcement set by UUID
    • client.enforcements._get_sets - private method to get all enforcement sets
    • client.enforcements._triggers_map - map of trigger query types to api objects
    • client.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 API
    • client.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

25 Mar 19:54
b2684a6
Compare
Choose a tag to compare
4.20.5 Pre-release
Pre-release

4.20.5

⚠️ This is a pre-release

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

25 Mar 19:42
861e881
Compare
Choose a tag to compare
4.20.4 Pre-release
Pre-release

4.20.4

⚠️ This is a pre-release

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

  • windows does not support : in filename by @lifehackjim in #181
  • 4.20.4 by @lifehackjim in #182

Full Changelog: 4.20.3...4.20.4

4.20.3

25 Mar 04:28
6acdea4
Compare
Choose a tag to compare
4.20.3 Pre-release
Pre-release

4.20.3

⚠️ This is a pre-release

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

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)

17 Mar 02:35
Compare
Choose a tag to compare
4.20.2 (pre-release) Pre-release
Pre-release

4.20.2

⚠️ This is a pre-release

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.

Full Changelog: 4.20.1...4.20.2

4.20.1 (pre-release)

08 Mar 21:25
Compare
Choose a tag to compare
4.20.1 (pre-release) Pre-release
Pre-release

4.20.1

⚠️ This is a pre-release

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

Full Changelog: 4.20.0...4.20.1

4.20.0

07 Feb 20:43
a77b25c
Compare
Choose a tag to compare

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

07 Dec 22:17
751fd63
Compare
Choose a tag to compare

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