Follow


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

Usage: infinishell [options] system[:port]

Options:
  -h, --help                  show this help message and exit
  -v, -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
                              "/root/.infinidat/infinishell/infinishellrc"
  --list-environment          List environment variables
  --auth-jsessionid=AUTH_JSESSIONID
                              Use the provided session parameters
  --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 7159)
  --no-json                   Disable JSON output mode (this is the default)
  --count                     count output mode
  --no-count                  Disable count 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:
"/root/.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 
InfiniBox Command Line Shell v6.0.0.180

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

Connecting to box-avi...
InfiniBox v6.0.0.180 Command Line Shell v6.0.0.180
For help on all commands, type 'help'.
For help on a specific command, type 'help on=vol.create' or 'vol.create?'
INTERNAL@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",
Was this article helpful?
0 out of 1 found this helpful

0 out of 1 found this helpful

Last edited: 2021-08-11 12:56:14 UTC

Comments