About this task
When running InfiniShell from outside the InfiniBox GUI, the following options are available.
Getting help
infinishell --help
Usage
infinishell [options] system[:port]
Options
-h, --help show this help message and exit -v, --version Print version and exit -c CMD, --cmd=CMD Commands to execute (separated by semicolons) -f FILE, --file=FILE Script file to execute -d, --debug Enable debug prints -r, --raw Display raw API responses instead of normal rendering -u USERNAME, --user=USERNAME Login username -p PASSWORD, --password=PASSWORD Login password -H CMD Display syntax of the specified command -l FILE, --log=FILE Log commands to the specified file (default: None) --write-default-config Generate the default configuration file at "/home/<user>/.infinidat/infinishell/infinishellrc" --list-environment List environment variables --color=WHEN Whether or not to output with color. Options are: always, never, auto (default: auto) -k, --keep-going Keep going when administration errors occur (syntax errors always abort the entire script) --fail-fast Stop running script when the first administration error occurs (this is the default) -q, --quiet No output apart from errors --not-quiet Normal output, the opposite of --quiet (this is the default) --with-paging Enable paging of large outputs (this is the default) --no-paging Disable paging of large outputs -y, --yes Automatically confirm prompts (of potentially destructive commands) --no Automatically reject prompts (of potentially destructive commands) (this is the default) --history-file=PATH Path of history file, for cross-session history of commands. By default this is saved in InfiniShell's data directory, under a unique name generated off of the target system address --with-history Enable cross-session history of commands (this is the default) --no-history Disable cross-session history of commands --csv CSV output mode (optimize output for easy parsing, see RFC 4180) --no-csv Disable CSV output mode (this is the default) --json JSON output mode (optimize output for easy parsing, see RFC 4180) --no-json Disable JSON output mode (this is the default) --request-timeout=SECONDS Maximal amount of time to wait for management response (default: 30) --with-ssl Encrypt connection using SSL or TLS (this is the default) --no-ssl Do not encrypt connection Please note that defaults may be overridden in the configuration file: "/home/<user>/.infinidat/infinishell/infinishellrc". Also, some environment variables are available for your convenience. To list them, use the --list environment option.
Examples
Printing the InfiniShell version
- Parameters - None
- Example -
infinishell -v
- Output -
Infinidat LTD. Command Line Utility v2.0.0.26
Executing infiniShell commands without logging into the system first
Execute infinishell commands separated by semicolons
- Option - -c
- Example - infinishell -c "vol.delete name=v1" box-avi --user=admin --password=123456
Output - Volume "v1" deleted
Creating a script file
Create a file with infinishell commands that will be run one-by-one.
- Options
- -f - specify the file name
- -k - do not exit the script file upon a failed execution of a command
- -y - approve all dangerous operations
- Example - infinishell -f shell-script box-avi --user=admin --password=123456 -y
Output (some columns were removed)
NAME THIN SIZE USED v1 no 10.00 GB 0 Volume "v2" created NAME THIN SIZE USED v1 no 10.00 GB 0 v2 no 10.00 GB 0
Logging into an InfiniBox system
- Parameters
- system
- user
- password
- Example - infinishell box-avi --user=admin --password=******
Output
Infinidat Ltd. Command Line Utility v2.0.0.26 For help on all commands, type 'help'. For help on a specific command, type 'help on=vol.create' or 'vol.create?' admin@box-avi>
Content of the infinishellrc file
How to generate this file
infinishell --write-default-config
Path on Windows OS
%PROFILE%\.infinidat\infinishell\infinishellrc
The content of the file
{ "api_max_page_size": 1000, "internal_log_backup_count": 10, "color": "auto", "keep_going": false, "api_port": 80, "enable_fs_commands": false, "api_warnings": false, "api_ssl": true, "default_address": null, "username": "admin", "api_request_timeout_seconds": 30, "api_default_page_size": 50, "history_file": null, "plugins_dir": null, "csv_output": false, "api_default_search_page_size": 200, "password": "38a7d20a8700614715deoJNra5ud4a87ffb6354aaad4b9f8", "internal_log_max_size_mb": 20, "json_output": false, "internal_log_file": null, "quiet": false, "paging": true, "history": true, "api_ssl_verify_certificate": false, "log_file": null, "auto_confirm_prompts": false, "api_ssl_port": 443 }
Password obfuscation
When changing the password, the actual password is visible on the screen. The next time the configuration file is opened, the password is obfuscated.
To edit the password
$ nano ~/.infinidat/infinishell/infinishellrc ... $ cat ~/.infinidat/infinishell/infinishellrc | grep password "password": "123456",
To obfuscate the password
To obfuscate the password launch InfiniShell, The configuration file will be updated with the obfuscated password.
- There is no to start a shell session against any system
To view the password
$ cat ~/.infinidat/infinishell/infinishellrc | grep password "password": "38a7d20a8700614715deoJNra5ud4a87ffb6354aaad4b9f8",
Comments