#compdef _memsql-deploy memsql-deploy


function _memsql-deploy {
  local -a commands

  _arguments -C \
    '--backup-cache[File path for the backup cache]:' \
    '--cache-file[File path for the Toolbox node cache]:' \
    '(-c --config)'{-c,--config}'[File path for the Toolbox configuration]:' \
    '--disable-colors[Disable color output in console, which some terminal sessions/environments may have difficulty with]' \
    '--disable-spinner[Disable the progress spinner, which some terminal sessions/environments may have issues with]' \
    '(-h --help)'{-h,--help}'[Help for memsql-deploy]' \
    '(-j --json)'{-j,--json}'[Enable JSON output]' \
    '--parallelism[Maximum number of operations to run in parallel]:' \
    '--runtime-dir[Where to store Toolbox runtime data]:' \
    '--ssh-max-sessions[Maximum number of SSH sessions to open per host, must be at least 3]:' \
    '--ssh-strict-host-key-checking[Enable strict host key checking for SSH connections]' \
    '--ssh-user-known-hosts-file[Path to the user known_hosts file for SSH connections. If not set, /dev/null will be used]:' \
    '--state-file[Toolbox state file path]:' \
    '(-v --verbosity)'{-v,--verbosity}'[Increase logging verbosity: valid values are 1, 2, 3. Usage -v=count or --verbosity=count]' \
    '(-y --yes)'{-y,--yes}'[Enable non-interactive mode and assume the user would like to move forward with the proposed actions by default]' \
    "1: :->cmnds" \
    "*::arg:->args"

  case $state in
  cmnds)
    commands=(
      "destroy-cluster:Destroy cluster"
      "env:Display the Toolbox runtime environment"
      "generate-cluster-file:Generate a YAML file containing the current cluster configuration"
      "help:Help about any command"
      "install:Install \`singlestoredb-server\` on a host"
      "list-versions:List installed versions of \`singlestoredb-server\`"
      "setup-cluster:Deploys a cluster across multiple hosts"
      "state:Display the Toolbox State File contents"
      "ui:Install SingleStore and deploy a cluster using a web UI rather than the command line"
      "uninstall:Uninstall \`singlestoredb-server\` from a host"
      "upgrade:Upgrade the version of \`singlestoredb-server\` for an entire cluster"
      "version:Display the Toolbox version"
    )
    _describe "command" commands
    ;;
  esac

  case "$words[1]" in
  destroy-cluster)
    _memsql-deploy_destroy-cluster
    ;;
  env)
    _memsql-deploy_env
    ;;
  generate-cluster-file)
    _memsql-deploy_generate-cluster-file
    ;;
  help)
    _memsql-deploy_help
    ;;
  install)
    _memsql-deploy_install
    ;;
  list-versions)
    _memsql-deploy_list-versions
    ;;
  setup-cluster)
    _memsql-deploy_setup-cluster
    ;;
  state)
    _memsql-deploy_state
    ;;
  ui)
    _memsql-deploy_ui
    ;;
  uninstall)
    _memsql-deploy_uninstall
    ;;
  upgrade)
    _memsql-deploy_upgrade
    ;;
  version)
    _memsql-deploy_version
    ;;
  esac
}

function _memsql-deploy_destroy-cluster {
  _arguments \
    '--force-package-format[Specify '\''deb'\'', '\''rpm'\'', or '\''tar'\'' package format. Required if you have both dpkg and rpm package managers found on the host]:' \
    '(-h --help)'{-h,--help}'[Help for destroy-cluster]' \
    '--backup-cache[File path for the backup cache]:' \
    '--cache-file[File path for the Toolbox node cache]:' \
    '(-c --config)'{-c,--config}'[File path for the Toolbox configuration]:' \
    '--disable-colors[Disable color output in console, which some terminal sessions/environments may have difficulty with]' \
    '--disable-spinner[Disable the progress spinner, which some terminal sessions/environments may have issues with]' \
    '(-j --json)'{-j,--json}'[Enable JSON output]' \
    '--parallelism[Maximum number of operations to run in parallel]:' \
    '--runtime-dir[Where to store Toolbox runtime data]:' \
    '--ssh-max-sessions[Maximum number of SSH sessions to open per host, must be at least 3]:' \
    '--ssh-strict-host-key-checking[Enable strict host key checking for SSH connections]' \
    '--ssh-user-known-hosts-file[Path to the user known_hosts file for SSH connections. If not set, /dev/null will be used]:' \
    '--state-file[Toolbox state file path]:' \
    '(-v --verbosity)'{-v,--verbosity}'[Increase logging verbosity: valid values are 1, 2, 3. Usage -v=count or --verbosity=count]' \
    '(-y --yes)'{-y,--yes}'[Enable non-interactive mode and assume the user would like to move forward with the proposed actions by default]'
}

function _memsql-deploy_env {
  _arguments \
    '(-h --help)'{-h,--help}'[Help for env]' \
    '--backup-cache[File path for the backup cache]:' \
    '--cache-file[File path for the Toolbox node cache]:' \
    '(-c --config)'{-c,--config}'[File path for the Toolbox configuration]:' \
    '--disable-colors[Disable color output in console, which some terminal sessions/environments may have difficulty with]' \
    '--disable-spinner[Disable the progress spinner, which some terminal sessions/environments may have issues with]' \
    '(-j --json)'{-j,--json}'[Enable JSON output]' \
    '--parallelism[Maximum number of operations to run in parallel]:' \
    '--runtime-dir[Where to store Toolbox runtime data]:' \
    '--ssh-max-sessions[Maximum number of SSH sessions to open per host, must be at least 3]:' \
    '--ssh-strict-host-key-checking[Enable strict host key checking for SSH connections]' \
    '--ssh-user-known-hosts-file[Path to the user known_hosts file for SSH connections. If not set, /dev/null will be used]:' \
    '--state-file[Toolbox state file path]:' \
    '(-v --verbosity)'{-v,--verbosity}'[Increase logging verbosity: valid values are 1, 2, 3. Usage -v=count or --verbosity=count]' \
    '(-y --yes)'{-y,--yes}'[Enable non-interactive mode and assume the user would like to move forward with the proposed actions by default]'
}

function _memsql-deploy_generate-cluster-file {
  _arguments \
    '(-h --help)'{-h,--help}'[Help for generate-cluster-file]' \
    '--output-path[Path to write the cluster configuration YAML file]:' \
    '--backup-cache[File path for the backup cache]:' \
    '--cache-file[File path for the Toolbox node cache]:' \
    '(-c --config)'{-c,--config}'[File path for the Toolbox configuration]:' \
    '--disable-colors[Disable color output in console, which some terminal sessions/environments may have difficulty with]' \
    '--disable-spinner[Disable the progress spinner, which some terminal sessions/environments may have issues with]' \
    '(-j --json)'{-j,--json}'[Enable JSON output]' \
    '--parallelism[Maximum number of operations to run in parallel]:' \
    '--runtime-dir[Where to store Toolbox runtime data]:' \
    '--ssh-max-sessions[Maximum number of SSH sessions to open per host, must be at least 3]:' \
    '--ssh-strict-host-key-checking[Enable strict host key checking for SSH connections]' \
    '--ssh-user-known-hosts-file[Path to the user known_hosts file for SSH connections. If not set, /dev/null will be used]:' \
    '--state-file[Toolbox state file path]:' \
    '(-v --verbosity)'{-v,--verbosity}'[Increase logging verbosity: valid values are 1, 2, 3. Usage -v=count or --verbosity=count]' \
    '(-y --yes)'{-y,--yes}'[Enable non-interactive mode and assume the user would like to move forward with the proposed actions by default]'
}

function _memsql-deploy_help {
  _arguments \
    '--backup-cache[File path for the backup cache]:' \
    '--cache-file[File path for the Toolbox node cache]:' \
    '(-c --config)'{-c,--config}'[File path for the Toolbox configuration]:' \
    '--disable-colors[Disable color output in console, which some terminal sessions/environments may have difficulty with]' \
    '--disable-spinner[Disable the progress spinner, which some terminal sessions/environments may have issues with]' \
    '(-j --json)'{-j,--json}'[Enable JSON output]' \
    '--parallelism[Maximum number of operations to run in parallel]:' \
    '--runtime-dir[Where to store Toolbox runtime data]:' \
    '--ssh-max-sessions[Maximum number of SSH sessions to open per host, must be at least 3]:' \
    '--ssh-strict-host-key-checking[Enable strict host key checking for SSH connections]' \
    '--ssh-user-known-hosts-file[Path to the user known_hosts file for SSH connections. If not set, /dev/null will be used]:' \
    '--state-file[Toolbox state file path]:' \
    '(-v --verbosity)'{-v,--verbosity}'[Increase logging verbosity: valid values are 1, 2, 3. Usage -v=count or --verbosity=count]' \
    '(-y --yes)'{-y,--yes}'[Enable non-interactive mode and assume the user would like to move forward with the proposed actions by default]'
}

function _memsql-deploy_install {
  _arguments \
    '--all[Use all hosts]' \
    '--file-path[The singlestoredb-server package to install]:' \
    '--force-package-format[Specify '\''deb'\'', '\''rpm'\'', or '\''tar'\'' package format. Required if you have both dpkg and rpm package managers found on the host]:' \
    '(-h --help)'{-h,--help}'[Help for install]' \
    '*--host[Specify host(s) to use]:' \
    '--preinstalled-path[The path to the folder (must be of the form '\''singlestoredb-server-<version>*'\'' or '\''memsql-server-<version>*'\'') that contains the singlestoredb-server binaries. The folder contains the unpacked tarball file of singlestoredb-server. (ADVANCED)]:' \
    '--temp-dir[The directory to use for temporary files on each host]:' \
    '--version[The version of singlestoredb-server to install]:' \
    '--backup-cache[File path for the backup cache]:' \
    '--cache-file[File path for the Toolbox node cache]:' \
    '(-c --config)'{-c,--config}'[File path for the Toolbox configuration]:' \
    '--disable-colors[Disable color output in console, which some terminal sessions/environments may have difficulty with]' \
    '--disable-spinner[Disable the progress spinner, which some terminal sessions/environments may have issues with]' \
    '(-j --json)'{-j,--json}'[Enable JSON output]' \
    '--parallelism[Maximum number of operations to run in parallel]:' \
    '--runtime-dir[Where to store Toolbox runtime data]:' \
    '--ssh-max-sessions[Maximum number of SSH sessions to open per host, must be at least 3]:' \
    '--ssh-strict-host-key-checking[Enable strict host key checking for SSH connections]' \
    '--ssh-user-known-hosts-file[Path to the user known_hosts file for SSH connections. If not set, /dev/null will be used]:' \
    '--state-file[Toolbox state file path]:' \
    '(-v --verbosity)'{-v,--verbosity}'[Increase logging verbosity: valid values are 1, 2, 3. Usage -v=count or --verbosity=count]' \
    '(-y --yes)'{-y,--yes}'[Enable non-interactive mode and assume the user would like to move forward with the proposed actions by default]'
}

function _memsql-deploy_list-versions {
  _arguments \
    '--force-package-format[Specify '\''tar'\'', '\''deb'\'' or '\''rpm'\'' to indicate the package manager you used to install singlestoredb-server. Only versions installed by the specified package manager will be listed]:' \
    '(-h --help)'{-h,--help}'[Help for list-versions]' \
    '--backup-cache[File path for the backup cache]:' \
    '--cache-file[File path for the Toolbox node cache]:' \
    '(-c --config)'{-c,--config}'[File path for the Toolbox configuration]:' \
    '--disable-colors[Disable color output in console, which some terminal sessions/environments may have difficulty with]' \
    '--disable-spinner[Disable the progress spinner, which some terminal sessions/environments may have issues with]' \
    '(-j --json)'{-j,--json}'[Enable JSON output]' \
    '--parallelism[Maximum number of operations to run in parallel]:' \
    '--runtime-dir[Where to store Toolbox runtime data]:' \
    '--ssh-max-sessions[Maximum number of SSH sessions to open per host, must be at least 3]:' \
    '--ssh-strict-host-key-checking[Enable strict host key checking for SSH connections]' \
    '--ssh-user-known-hosts-file[Path to the user known_hosts file for SSH connections. If not set, /dev/null will be used]:' \
    '--state-file[Toolbox state file path]:' \
    '(-v --verbosity)'{-v,--verbosity}'[Increase logging verbosity: valid values are 1, 2, 3. Usage -v=count or --verbosity=count]' \
    '(-y --yes)'{-y,--yes}'[Enable non-interactive mode and assume the user would like to move forward with the proposed actions by default]'
}

function _memsql-deploy_setup-cluster {
  _arguments \
    '*--aggregator-hosts[SSH addresses of the child aggregator hosts]:' \
    '--allow-duplicate-host-fingerprints[Whether to allow hosts with identical SSH host keys. (ADVANCED)]' \
    '--allow-ipv6[Sets allow_ipv6 to true for all nodes in cluster]' \
    '--base-install-dir[The absolute path to the base install directory for all the nodes]:' \
    '--cluster-file[The path to the cluster definition file]:' \
    '--data-dir[The absolute path to the data directory for all the nodes]:' \
    '--file-path[The full path, including the filename, of the singlestoredb-server package to install]:' \
    '--force-package-format[Specify '\''deb'\'', '\''rpm'\'', or '\''tar'\'' package format. Required if you have both dpkg and rpm package managers found on the host]:' \
    '(-h --help)'{-h,--help}'[Help for setup-cluster]' \
    '--high-availability[Indicate whether to deploy the cluster in high-availability mode]' \
    '--hosts-file[The file specifying the host addresses/hostnames for the Master Aggregator, child aggregators, and leaf nodes, in INI format with \[master\], \[aggregators\], and \[leaves\] sections]:' \
    '(-i --identity-file)'{-i,--identity-file}'[The identity file to SSH to each host]:' \
    '*--leaf-hosts[SSH addresses/hostnames of each leaf node host. At least one must be specified]:' \
    '--license[The license for the cluster]:' \
    '--load-balanced[Use load_balanced mode for partitioning leaf nodes when high availability is enabled]' \
    '--master-host[SSH address/hostname of the Master Aggregator host]:' \
    '--memsql-port[The port each node will run on]:' \
    '--password[The database root user'\''s password. If a password is specified on the command line, it must not contain an unescaped '\''$'\'' character as it will be replaced by the shell]:' \
    '--preinstalled-path[The path to the folder (must be of the form '\''singlestoredb-server-<version>*'\'' or '\''memsql-server-<version>*'\'') that contains the singlestoredb-server binaries. Depending on the mode of cluster deployment, the folder contains either the unpacked tarball file or the installed package file (Debian or RPM) of singlestoredb-server. (ADVANCED)]:' \
    '--skip-auto-config[Skip automatic operating system configuration]' \
    '--skip-feature-flags-enabling[Skip enabling all feature flags for SingleStoreDB version 9.1 and above]' \
    '--skip-validate-env[Skip environment validation]' \
    '--ssl-fips-mode[Whether the cluster operates in OpenSSL/FIPS mode]:' \
    '--temp-dir[The temporary directory to use for the installation on each host]:' \
    '--version[The version of singlestoredb-server to install]:' \
    '--backup-cache[File path for the backup cache]:' \
    '--cache-file[File path for the Toolbox node cache]:' \
    '(-c --config)'{-c,--config}'[File path for the Toolbox configuration]:' \
    '--disable-colors[Disable color output in console, which some terminal sessions/environments may have difficulty with]' \
    '--disable-spinner[Disable the progress spinner, which some terminal sessions/environments may have issues with]' \
    '(-j --json)'{-j,--json}'[Enable JSON output]' \
    '--parallelism[Maximum number of operations to run in parallel]:' \
    '--runtime-dir[Where to store Toolbox runtime data]:' \
    '--ssh-max-sessions[Maximum number of SSH sessions to open per host, must be at least 3]:' \
    '--ssh-strict-host-key-checking[Enable strict host key checking for SSH connections]' \
    '--ssh-user-known-hosts-file[Path to the user known_hosts file for SSH connections. If not set, /dev/null will be used]:' \
    '--state-file[Toolbox state file path]:' \
    '(-v --verbosity)'{-v,--verbosity}'[Increase logging verbosity: valid values are 1, 2, 3. Usage -v=count or --verbosity=count]' \
    '(-y --yes)'{-y,--yes}'[Enable non-interactive mode and assume the user would like to move forward with the proposed actions by default]'
}

function _memsql-deploy_state {
  _arguments \
    '(-h --help)'{-h,--help}'[Help for state]' \
    '--backup-cache[File path for the backup cache]:' \
    '--cache-file[File path for the Toolbox node cache]:' \
    '(-c --config)'{-c,--config}'[File path for the Toolbox configuration]:' \
    '--disable-colors[Disable color output in console, which some terminal sessions/environments may have difficulty with]' \
    '--disable-spinner[Disable the progress spinner, which some terminal sessions/environments may have issues with]' \
    '(-j --json)'{-j,--json}'[Enable JSON output]' \
    '--parallelism[Maximum number of operations to run in parallel]:' \
    '--runtime-dir[Where to store Toolbox runtime data]:' \
    '--ssh-max-sessions[Maximum number of SSH sessions to open per host, must be at least 3]:' \
    '--ssh-strict-host-key-checking[Enable strict host key checking for SSH connections]' \
    '--ssh-user-known-hosts-file[Path to the user known_hosts file for SSH connections. If not set, /dev/null will be used]:' \
    '--state-file[Toolbox state file path]:' \
    '(-v --verbosity)'{-v,--verbosity}'[Increase logging verbosity: valid values are 1, 2, 3. Usage -v=count or --verbosity=count]' \
    '(-y --yes)'{-y,--yes}'[Enable non-interactive mode and assume the user would like to move forward with the proposed actions by default]'
}

function _memsql-deploy_ui {
  _arguments \
    '--cert[HTTPS certificate file to use for secure connection]:' \
    '(-h --help)'{-h,--help}'[Help for ui]' \
    '--key[HTTPS certificate key file to use for secure connection]:' \
    '--port[Listen on the provided port]:' \
    '--studio-location[Address of an running studio instance. For example http://127.0.0.2:8081]:' \
    '--success-shutdown[Server shutdown after successful installation timeout]:' \
    '--time-to-live[Server time-to-live. It will shutdown automatically after expiration]:' \
    '--backup-cache[File path for the backup cache]:' \
    '--cache-file[File path for the Toolbox node cache]:' \
    '(-c --config)'{-c,--config}'[File path for the Toolbox configuration]:' \
    '--disable-colors[Disable color output in console, which some terminal sessions/environments may have difficulty with]' \
    '--disable-spinner[Disable the progress spinner, which some terminal sessions/environments may have issues with]' \
    '(-j --json)'{-j,--json}'[Enable JSON output]' \
    '--parallelism[Maximum number of operations to run in parallel]:' \
    '--runtime-dir[Where to store Toolbox runtime data]:' \
    '--ssh-max-sessions[Maximum number of SSH sessions to open per host, must be at least 3]:' \
    '--ssh-strict-host-key-checking[Enable strict host key checking for SSH connections]' \
    '--ssh-user-known-hosts-file[Path to the user known_hosts file for SSH connections. If not set, /dev/null will be used]:' \
    '--state-file[Toolbox state file path]:' \
    '(-v --verbosity)'{-v,--verbosity}'[Increase logging verbosity: valid values are 1, 2, 3. Usage -v=count or --verbosity=count]' \
    '(-y --yes)'{-y,--yes}'[Enable non-interactive mode and assume the user would like to move forward with the proposed actions by default]'
}

function _memsql-deploy_uninstall {
  _arguments \
    '--all[Use all hosts]' \
    '--all-versions[Uninstall all versions of singlestoredb-server]' \
    '--force-package-format[Specify '\''deb'\'', '\''rpm'\'', or '\''tar'\'' package format. Required if you have both dpkg and rpm package managers found on the host]:' \
    '(-h --help)'{-h,--help}'[Help for uninstall]' \
    '*--host[Specify the host(s) to use]:' \
    '--version[The version of singlestoredb-server to uninstall]:' \
    '--backup-cache[File path for the backup cache]:' \
    '--cache-file[File path for the Toolbox node cache]:' \
    '(-c --config)'{-c,--config}'[File path for the Toolbox configuration]:' \
    '--disable-colors[Disable color output in console, which some terminal sessions/environments may have difficulty with]' \
    '--disable-spinner[Disable the progress spinner, which some terminal sessions/environments may have issues with]' \
    '(-j --json)'{-j,--json}'[Enable JSON output]' \
    '--parallelism[Maximum number of operations to run in parallel]:' \
    '--runtime-dir[Where to store Toolbox runtime data]:' \
    '--ssh-max-sessions[Maximum number of SSH sessions to open per host, must be at least 3]:' \
    '--ssh-strict-host-key-checking[Enable strict host key checking for SSH connections]' \
    '--ssh-user-known-hosts-file[Path to the user known_hosts file for SSH connections. If not set, /dev/null will be used]:' \
    '--state-file[Toolbox state file path]:' \
    '(-v --verbosity)'{-v,--verbosity}'[Increase logging verbosity: valid values are 1, 2, 3. Usage -v=count or --verbosity=count]' \
    '(-y --yes)'{-y,--yes}'[Enable non-interactive mode and assume the user would like to move forward with the proposed actions by default]'
}

function _memsql-deploy_upgrade {
  _arguments \
    '--disable-auto-restart[Disable automatic restart of memsqld on error]' \
    '--file-path[The singlestoredb-server package to install]:' \
    '--force-package-format[Specify '\''deb'\'', '\''rpm'\'', or '\''tar'\'' package format. Required if you have both dpkg and rpm package managers found on the host]:' \
    '(-h --help)'{-h,--help}'[Help for upgrade]' \
    '--online[Indicate whether an online upgrade should be performed. This requires High Availability to be enabled on the cluster. SingleStore will be operational during the upgrade]' \
    '--precheck-only[Check if the cluster is stable and an upgrade is possible but do not perform an upgrade]' \
    '--preinstalled-path[The path to the folder (must be of the form '\''singlestoredb-server-<version>*'\'' or '\''memsql-server-<version>*'\'') that contains the singlestoredb-server binaries. Depending on the mode of cluster deployment, the folder contains either the unpacked tarball file or the installed package file (Debian or RPM) of singlestoredb-server. (ADVANCED)]:' \
    '--report-path[The path to the report file to be collected before upgrade. If not specified, the report will be saved in the current working directory]:' \
    '--set-configs[Set configuration variables during upgrade. Only those variables that can be set on startup are permitted. For example: --set-configs strict_mode=1,auditlog_level=ALL-QUERIES (ADVANCED)]:' \
    '--skip-feature-flags-enabling[Skip enabling feature flags after upgrade]' \
    '--skip-report[Skip report collection before upgrade]' \
    '--skip-system-warnings[Skip warnings about system configurations and limits]' \
    '--skip-uninstall[Do not remove the prior \`memsql-server\`/\`singlestorerdb-server\` version package after a successful upgrade]' \
    '--skip-version-check[Do not compare the version to be installed with the currently running singlestoredb-server version.
Upgrading with this flag enabled may lead to an inoperative cluster and unrecoverable data]' \
    '--temp-dir[The directory on the local and remote host(s) to store temporary files during upgrade (ADVANCED)]:' \
    '--upgrade-to-latest-patch[Upgrade to the latest patch version of the current SingleStore version]' \
    '--version[The version of singlestoredb-server to install]:' \
    '--backup-cache[File path for the backup cache]:' \
    '--cache-file[File path for the Toolbox node cache]:' \
    '(-c --config)'{-c,--config}'[File path for the Toolbox configuration]:' \
    '--disable-colors[Disable color output in console, which some terminal sessions/environments may have difficulty with]' \
    '--disable-spinner[Disable the progress spinner, which some terminal sessions/environments may have issues with]' \
    '(-j --json)'{-j,--json}'[Enable JSON output]' \
    '--parallelism[Maximum number of operations to run in parallel]:' \
    '--runtime-dir[Where to store Toolbox runtime data]:' \
    '--ssh-max-sessions[Maximum number of SSH sessions to open per host, must be at least 3]:' \
    '--ssh-strict-host-key-checking[Enable strict host key checking for SSH connections]' \
    '--ssh-user-known-hosts-file[Path to the user known_hosts file for SSH connections. If not set, /dev/null will be used]:' \
    '--state-file[Toolbox state file path]:' \
    '(-v --verbosity)'{-v,--verbosity}'[Increase logging verbosity: valid values are 1, 2, 3. Usage -v=count or --verbosity=count]' \
    '(-y --yes)'{-y,--yes}'[Enable non-interactive mode and assume the user would like to move forward with the proposed actions by default]'
}

function _memsql-deploy_version {
  _arguments \
    '(-h --help)'{-h,--help}'[Help for version]' \
    '--backup-cache[File path for the backup cache]:' \
    '--cache-file[File path for the Toolbox node cache]:' \
    '(-c --config)'{-c,--config}'[File path for the Toolbox configuration]:' \
    '--disable-colors[Disable color output in console, which some terminal sessions/environments may have difficulty with]' \
    '--disable-spinner[Disable the progress spinner, which some terminal sessions/environments may have issues with]' \
    '(-j --json)'{-j,--json}'[Enable JSON output]' \
    '--parallelism[Maximum number of operations to run in parallel]:' \
    '--runtime-dir[Where to store Toolbox runtime data]:' \
    '--ssh-max-sessions[Maximum number of SSH sessions to open per host, must be at least 3]:' \
    '--ssh-strict-host-key-checking[Enable strict host key checking for SSH connections]' \
    '--ssh-user-known-hosts-file[Path to the user known_hosts file for SSH connections. If not set, /dev/null will be used]:' \
    '--state-file[Toolbox state file path]:' \
    '(-v --verbosity)'{-v,--verbosity}'[Increase logging verbosity: valid values are 1, 2, 3. Usage -v=count or --verbosity=count]' \
    '(-y --yes)'{-y,--yes}'[Enable non-interactive mode and assume the user would like to move forward with the proposed actions by default]'
}

