3.5.3.3. Modifying ValuesΒΆ
Viewing settings is all well and good but modifying settings is even better.
You are able to modify full sections at once or individual sub-sections. In both cases they can
be updated via either command line parameters or using a json file. The related commands are update-section
,
update-section-from-json
, update-sub-section
and update-sub-section-from-json
as seen here.
$ axonshell system settings-global --help
Usage: axonshell system settings-global [OPTIONS] COMMAND [ARGS]...
Group: Global Settings.
Options:
--help Show this message and exit.
Commands:
configure-destroy Enable or disable dangerous API endpoints.
get Get all settings.
get-section Get settings for a section.
get-sub-section Get settings for a subsection.
update-section Update a section from arguments.
update-section-from-json Update a section from a JSON file.
update-sub-section Update a subsection from arguments.
update-sub-section-from-json Update a subsection from a JSON file.
If you are looking to update a section or sub-section using only command line parameters, one of the commands
you could use would be the update-sub-section
command.
$ axonshell system settings-global update-sub-section --help
Usage: axonshell system settings-global update-sub-section
[OPTIONS]
Update a subsection from arguments.
Options:
-u, --url URL URL of an Axonius instance [env var:
AX_URL; required]
-k, --key KEY API Key (or username if credentials=True) of
user in an Axonius instance [env var:
AX_KEY; required]
-s, --secret SECRET API Secret (or password if credentials=True)
of user in an Axonius instance [env var:
AX_SECRET; required]
-xf, --export-format [json-full|json-config|str]
Format of to export data in [env var:
AX_EXPORT_FORMAT; default: str]
-se, --section TEXT Settings section internal name (not title)
[env var: AX_SECTION; required]
-sb, --sub-section TEXT Settings sub section internal name (not
title) [env var: AX_SUB_SECTION; required]
-c, --config SPLIT_EQUALS Configuration keys in the form of key=value
(multiples) [env var: AX_CONFIG]
--help Show this message and exit.
Here is an example:
$ axonshell system settings-global update-sub-section --section "email_settings" \
--config "sender_address=no-reply@yourdomain.com"
To update a section or sub-section using json from a file you could use the update-sub-section-from-json
command.
$ axonshell system settings-global update-sub-section-from-json --help
Usage: axonshell system settings-global update-sub-section-from-json
[OPTIONS]
Update a subsection from a JSON file.
Options:
-u, --url URL URL of an Axonius instance [env var:
AX_URL; required]
-k, --key KEY API Key (or username if credentials=True) of
user in an Axonius instance [env var:
AX_KEY; required]
-s, --secret SECRET API Secret (or password if credentials=True)
of user in an Axonius instance [env var:
AX_SECRET; required]
-xf, --export-format [json-full|json-config|str]
Format of to export data in [env var:
AX_EXPORT_FORMAT; default: str]
-se, --section TEXT Settings section internal name (not title)
[env var: AX_SECTION; required]
-sb, --sub-section TEXT Settings sub section internal name (not
title) [env var: AX_SUB_SECTION; required]
-if, --input-file FILENAME File to read (from path or piped via STDIN)
[env var: AX_INPUT_FILE; default: -]
--help Show this message and exit.
Using what you learned from the previous chapter, you could get the config for a sub-section in json-config
format
and save it in a file. Then update that file to the desired configuration. So if you wanted to update the sub-section
smtpAuth
it would look something like this:
$ axonshell system settings-global update-sub-section-from-json --section "email_settings" \
--sub-section "smtpAuth" --input-file "./smtp_auth_settings.json"
Where smtp_auth_settings.json
would be a file containing the json object you wanted to set that sub-section to
such as:
{
"smtpPassword": "example_password",
"smtpUser": "example_user"
}