# Bench Command Line Interface

## Command Index

The following is a list of available bench CLI commands and thier options.

Please refer to the examples from the [Illumina website](https://github.com/Illumina/Bench-Example-Images) for more details.

### workspace-ctl

```
Usage:
  workspace-ctl [flags]
  workspace-ctl [command]

Available Commands:
  completion  Generate completion script
  compute     
  data        
  help        Help about any command
  software    
  workspace   

Flags:
      --X-API-Key string   
      --base-path string   For example: / (default "/")
      --config string      config file path
      --debug              output debug logs
      --dry-run            do not send the request to server
  -h, --help               help for workspace-ctl
      --help-tree          
      --help-verbose       
      --hostname string    hostname of the service (default "api:8080")
      --print-curl         print curl equivalent do not send the request to server
      --scheme string      Choose from: [http] (default "http")

Use "workspace-ctl [command] --help" for more information about a command.
```

#### workspace-ctl completion

```
cmd execute error:  accepts 1 arg(s), received 0
```

#### workspace-ctl compute

```
Usage:
  workspace-ctl compute [flags]
  workspace-ctl compute [command]

Available Commands:
  get-cluster-details 
  get-logs            
  get-pools           
  scale-pool          

Flags:
  -h, --help           help for compute
      --help-tree      
      --help-verbose

Global Flags:
      --X-API-Key string   
      --base-path string   For example: / (default "/")
      --config string      config file path
      --debug              output debug logs
      --dry-run            do not send the request to server
      --hostname string    hostname of the service (default "api:8080")
      --print-curl         print curl equivalent do not send the request to server
      --scheme string      Choose from: [http] (default "http")

Use "workspace-ctl compute [command] --help" for more information about a command.
```

**workspace-ctl compute get-cluster-details**

```
Usage:
  workspace-ctl compute get-cluster-details [flags]

Flags:
  -h, --help           help for get-cluster-details
      --help-tree      
      --help-verbose

Global Flags:
      --X-API-Key string   
      --base-path string   For example: / (default "/")
      --config string      config file path
      --debug              output debug logs
      --dry-run            do not send the request to server
      --hostname string    hostname of the service (default "api:8080")
      --print-curl         print curl equivalent do not send the request to server
      --scheme string      Choose from: [http] (default "http")
```

**workspace-ctl compute get-logs**

```
Usage:
  workspace-ctl compute get-logs [flags]

Flags:
  -h, --help           help for get-logs
      --help-tree      
      --help-verbose

Global Flags:
      --X-API-Key string   
      --base-path string   For example: / (default "/")
      --config string      config file path
      --debug              output debug logs
      --dry-run            do not send the request to server
      --hostname string    hostname of the service (default "api:8080")
      --print-curl         print curl equivalent do not send the request to server
      --scheme string      Choose from: [http] (default "http")
```

**workspace-ctl compute get-pools**

```
Usage:
  workspace-ctl compute get-pools [flags]

Flags:
      --cluster-id string   Required. Cluster ID
  -h, --help                help for get-pools
      --help-tree           
      --help-verbose

Global Flags:
      --X-API-Key string   
      --base-path string   For example: / (default "/")
      --config string      config file path
      --debug              output debug logs
      --dry-run            do not send the request to server
      --hostname string    hostname of the service (default "api:8080")
      --print-curl         print curl equivalent do not send the request to server
      --scheme string      Choose from: [http] (default "http")
```

**workspace-ctl compute scale-pool**

```
Usage:
  workspace-ctl compute scale-pool [flags]

Flags:
      --cluster-id string       Required. Cluster ID
  -h, --help                    help for scale-pool
      --help-tree               
      --help-verbose            
      --pool-id string          Required. Pool ID
      --pool-member-count int   Required. New pool size

Global Flags:
      --X-API-Key string   
      --base-path string   For example: / (default "/")
      --config string      config file path
      --debug              output debug logs
      --dry-run            do not send the request to server
      --hostname string    hostname of the service (default "api:8080")
      --print-curl         print curl equivalent do not send the request to server
      --scheme string      Choose from: [http] (default "http")
```

#### workspace-ctl data

```
Usage:
  workspace-ctl data [flags]
  workspace-ctl data [command]

Available Commands:
  create-mount Create a data mount under /data/mounts. Return newly created mount.
  delete-mount Delete a data mount
  get-mounts   Returns the list of data mounts

Flags:
  -h, --help           help for data
      --help-tree      
      --help-verbose

Global Flags:
      --X-API-Key string   
      --base-path string   For example: / (default "/")
      --config string      config file path
      --debug              output debug logs
      --dry-run            do not send the request to server
      --hostname string    hostname of the service (default "api:8080")
      --print-curl         print curl equivalent do not send the request to server
      --scheme string      Choose from: [http] (default "http")

Use "workspace-ctl data [command] --help" for more information about a command.
```

**workspace-ctl data create-mount**

```
Create a data mount under /data/mounts. Return newly created mount.

Usage:
  workspace-ctl data create-mount [flags]

Aliases:
  create-mount, mount

Flags:
  -h, --help                help for create-mount
      --help-tree           Display commands as a tree
      --help-verbose        Extended help topics and options
      --mode string         Enum:["read-only","read-write"]. Mount mode i.e. read-only, read-write
      --mount-path string   Where to mount the data, e.g. /data/mounts/hg38data (or simply hg38data)
      --source string       Required. Source data location, e.g. /data/project/myData/hg38 or fol.bc53010dec124817f6fd08da4cf3c48a (ICA folder id)
      --wait                Wait for new mount to be available on all nodes before sending response
      --wait-timeout int    Max number of seconds for wait option. Absolute max: 300 (default 300)

Global Flags:
      --X-API-Key string   
      --base-path string   For example: / (default "/")
      --config string      config file path
      --debug              output debug logs
      --dry-run            do not send the request to server
      --hostname string    hostname of the service (default "api:8080")
      --print-curl         print curl equivalent do not send the request to server
      --scheme string      Choose from: [http] (default "http")
```

**workspace-ctl data delete-mount**

```
Delete a data mount

Usage:
  workspace-ctl data delete-mount [flags]

Aliases:
  delete-mount, unmount

Flags:
  -h, --help                help for delete-mount
      --help-tree           
      --help-verbose        
      --id string           Id of mount to remove
      --mount-path string   Path of mount to remove

Global Flags:
      --X-API-Key string   
      --base-path string   For example: / (default "/")
      --config string      config file path
      --debug              output debug logs
      --dry-run            do not send the request to server
      --hostname string    hostname of the service (default "api:8080")
      --print-curl         print curl equivalent do not send the request to server
      --scheme string      Choose from: [http] (default "http")
```

**workspace-ctl data get-mounts**

```
Returns the list of data mounts

Usage:
  workspace-ctl data get-mounts [flags]

Aliases:
  get-mounts, list-mounts

Flags:
  -h, --help           help for get-mounts
      --help-tree      
      --help-verbose

Global Flags:
      --X-API-Key string   
      --base-path string   For example: / (default "/")
      --config string      config file path
      --debug              output debug logs
      --dry-run            do not send the request to server
      --hostname string    hostname of the service (default "api:8080")
      --print-curl         print curl equivalent do not send the request to server
      --scheme string      Choose from: [http] (default "http")
```

#### workspace-ctl help

```
Usage:
  workspace-ctl [flags]
  workspace-ctl [command]

Available Commands:
  completion  Generate completion script
  compute     
  data        
  help        Help about any command
  software    
  workspace   

Flags:
      --X-API-Key string   
      --base-path string   For example: / (default "/")
      --config string      config file path
      --debug              output debug logs
      --dry-run            do not send the request to server
  -h, --help               help for workspace-ctl
      --help-tree          
      --help-verbose       
      --hostname string    hostname of the service (default "api:8080")
      --print-curl         print curl equivalent do not send the request to server
      --scheme string      Choose from: [http] (default "http")

Use "workspace-ctl [command] --help" for more information about a command.
```

**workspace-ctl help completion**

```
To load completions:

Bash:

  $ source <(yourprogram completion bash)

  # To load completions for each session, execute once:
  # Linux:
  $ yourprogram completion bash > /etc/bash_completion.d/yourprogram
  # macOS:
  $ yourprogram completion bash > /usr/local/etc/bash_completion.d/yourprogram

Zsh:

  # If shell completion is not already enabled in your environment,
  # you will need to enable it.  You can execute the following once:

  $ echo "autoload -U compinit; compinit" >> ~/.zshrc

  # To load completions for each session, execute once:
  $ yourprogram completion zsh > "${fpath[1]}/_yourprogram"

  # You will need to start a new shell for this setup to take effect.

fish:

  $ yourprogram completion fish | source

  # To load completions for each session, execute once:
  $ yourprogram completion fish > ~/.config/fish/completions/yourprogram.fish

PowerShell:

  PS> yourprogram completion powershell | Out-String | Invoke-Expression

  # To load completions for every new session, run:
  PS> yourprogram completion powershell > yourprogram.ps1
  # and source this file from your PowerShell profile.

Usage:
  workspace-ctl completion [bash|zsh|fish|powershell]

Flags:
  -h, --help   help for completion
```

**workspace-ctl help compute**

```
Usage:
  workspace-ctl compute [flags]
  workspace-ctl compute [command]

Available Commands:
  get-cluster-details 
  get-logs            
  get-pools           
  scale-pool          

Flags:
  -h, --help           help for compute
      --help-tree      
      --help-verbose

Use "workspace-ctl compute [command] --help" for more information about a command.
```

**workspace-ctl help compute get-cluster-details**

```
Usage:
  workspace-ctl compute get-cluster-details [flags]

Flags:
  -h, --help           help for get-cluster-details
      --help-tree      
      --help-verbose
```

**workspace-ctl help compute get-logs**

```
Usage:
  workspace-ctl compute get-logs [flags]

Flags:
  -h, --help           help for get-logs
      --help-tree      
      --help-verbose
```

**workspace-ctl help compute get-pools**

```
Usage:
  workspace-ctl compute get-pools [flags]

Flags:
      --cluster-id string   Required. Cluster ID
  -h, --help                help for get-pools
      --help-tree           
      --help-verbose
```

**workspace-ctl help compute scale-pool**

```
Usage:
  workspace-ctl compute scale-pool [flags]

Flags:
      --cluster-id string       Required. Cluster ID
  -h, --help                    help for scale-pool
      --help-tree               
      --help-verbose            
      --pool-id string          Required. Pool ID
      --pool-member-count int   Required. New pool size
```

**workspace-ctl help data**

```
Usage:
  workspace-ctl data [flags]
  workspace-ctl data [command]

Available Commands:
  create-mount Create a data mount under /data/mounts. Return newly created mount.
  delete-mount Delete a data mount
  get-mounts   Returns the list of data mounts

Flags:
  -h, --help           help for data
      --help-tree      
      --help-verbose

Use "workspace-ctl data [command] --help" for more information about a command.
```

**workspace-ctl help data create-mount**

```
Create a data mount under /data/mounts. Return newly created mount.

Usage:
  workspace-ctl data create-mount [flags]

Aliases:
  create-mount, mount

Flags:
  -h, --help                help for create-mount
      --help-tree           
      --help-verbose        
      --mount-path string   Where to mount the data, e.g. /data/mounts/hg38data (or simply hg38data)
      --source string       Required. Source data location, e.g. /data/project/myData/hg38 or fol.bc53010dec124817f6fd08da4cf3c48a (ICA folder id)
      --wait                Wait for new mount to be available on all nodes before sending response
      --wait-timeout int    Max number of seconds for wait option. Absolute max: 300 (default 300)
```

**workspace-ctl help data delete-mount**

```
Delete a data mount

Usage:
  workspace-ctl data delete-mount [flags]

Aliases:
  delete-mount, unmount

Flags:
  -h, --help                help for delete-mount
      --help-tree           
      --help-verbose        
      --id string           Id of mount to remove
      --mount-path string   Path of mount to remove
```

**workspace-ctl help data get-mounts**

```
Returns the list of data mounts

Usage:
  workspace-ctl data get-mounts [flags]

Aliases:
  get-mounts, list-mounts

Flags:
  -h, --help           help for get-mounts
      --help-tree      
      --help-verbose
```

**workspace-ctl help help**

```
Help provides help for any command in the application.
Simply type workspace-ctl help [path to command] for full details.

Usage:
  workspace-ctl help [command] [flags]

Flags:
  -h, --help   help for help
```

**workspace-ctl help software**

```
Usage:
  workspace-ctl software [flags]
  workspace-ctl software [command]

Available Commands:
  get-server-metadata   
  get-software-settings 

Flags:
  -h, --help           help for software
      --help-tree      
      --help-verbose

Use "workspace-ctl software [command] --help" for more information about a command.
```

**workspace-ctl help software get-server-metadata**

```
Usage:
  workspace-ctl software get-server-metadata [flags]

Flags:
  -h, --help           help for get-server-metadata
      --help-tree      
      --help-verbose
```

**workspace-ctl help software get-software-settings**

```
Usage:
  workspace-ctl software get-software-settings [flags]

Flags:
  -h, --help           help for get-software-settings
      --help-tree      
      --help-verbose
```

**workspace-ctl help workspace**

```
Usage:
  workspace-ctl workspace [flags]
  workspace-ctl workspace [command]

Available Commands:
  get-cluster-settings   
  get-connection-details 
  get-workspace-settings 

Flags:
  -h, --help           help for workspace
      --help-tree      
      --help-verbose

Use "workspace-ctl workspace [command] --help" for more information about a command.
```

**workspace-ctl help workspace get-cluster-settings**

```
Usage:
  workspace-ctl workspace get-cluster-settings [flags]

Flags:
  -h, --help           help for get-cluster-settings
      --help-tree      
      --help-verbose
```

**workspace-ctl help workspace get-connection-details**

```
Usage:
  workspace-ctl workspace get-connection-details [flags]

Flags:
  -h, --help           help for get-connection-details
      --help-tree      
      --help-verbose
```

**workspace-ctl help workspace get-workspace-settings**

```
Usage:
  workspace-ctl workspace get-workspace-settings [flags]

Flags:
  -h, --help           help for get-workspace-settings
      --help-tree      
      --help-verbose
```

#### workspace-ctl software

```
Usage:
  workspace-ctl software [flags]
  workspace-ctl software [command]

Available Commands:
  get-server-metadata   
  get-software-settings 

Flags:
  -h, --help           help for software
      --help-tree      
      --help-verbose

Global Flags:
      --X-API-Key string   
      --base-path string   For example: / (default "/")
      --config string      config file path
      --debug              output debug logs
      --dry-run            do not send the request to server
      --hostname string    hostname of the service (default "api:8080")
      --print-curl         print curl equivalent do not send the request to server
      --scheme string      Choose from: [http] (default "http")

Use "workspace-ctl software [command] --help" for more information about a command.
```

**workspace-ctl software get-server-metadata**

```
Usage:
  workspace-ctl software get-server-metadata [flags]

Flags:
  -h, --help           help for get-server-metadata
      --help-tree      
      --help-verbose

Global Flags:
      --X-API-Key string   
      --base-path string   For example: / (default "/")
      --config string      config file path
      --debug              output debug logs
      --dry-run            do not send the request to server
      --hostname string    hostname of the service (default "api:8080")
      --print-curl         print curl equivalent do not send the request to server
      --scheme string      Choose from: [http] (default "http")
```

**workspace-ctl software get-software-settings**

```
Usage:
  workspace-ctl software get-software-settings [flags]

Flags:
  -h, --help           help for get-software-settings
      --help-tree      
      --help-verbose

Global Flags:
      --X-API-Key string   
      --base-path string   For example: / (default "/")
      --config string      config file path
      --debug              output debug logs
      --dry-run            do not send the request to server
      --hostname string    hostname of the service (default "api:8080")
      --print-curl         print curl equivalent do not send the request to server
      --scheme string      Choose from: [http] (default "http")
```

#### workspace-ctl workspace

```
Usage:
  workspace-ctl workspace [flags]
  workspace-ctl workspace [command]

Available Commands:
  get-cluster-settings   
  get-connection-details 
  get-workspace-settings 

Flags:
  -h, --help           help for workspace
      --help-tree      
      --help-verbose

Global Flags:
      --X-API-Key string   
      --base-path string   For example: / (default "/")
      --config string      config file path
      --debug              output debug logs
      --dry-run            do not send the request to server
      --hostname string    hostname of the service (default "api:8080")
      --print-curl         print curl equivalent do not send the request to server
      --scheme string      Choose from: [http] (default "http")

Use "workspace-ctl workspace [command] --help" for more information about a command.
```

**workspace-ctl workspace get-cluster-settings**

```
Usage:
  workspace-ctl workspace get-cluster-settings [flags]

Flags:
  -h, --help           help for get-cluster-settings
      --help-tree      
      --help-verbose

Global Flags:
      --X-API-Key string   
      --base-path string   For example: / (default "/")
      --config string      config file path
      --debug              output debug logs
      --dry-run            do not send the request to server
      --hostname string    hostname of the service (default "api:8080")
      --print-curl         print curl equivalent do not send the request to server
      --scheme string      Choose from: [http] (default "http")
```

**workspace-ctl workspace get-connection-details**

```
Usage:
  workspace-ctl workspace get-connection-details [flags]

Flags:
  -h, --help           help for get-connection-details
      --help-tree      
      --help-verbose

Global Flags:
      --X-API-Key string   
      --base-path string   For example: / (default "/")
      --config string      config file path
      --debug              output debug logs
      --dry-run            do not send the request to server
      --hostname string    hostname of the service (default "api:8080")
      --print-curl         print curl equivalent do not send the request to server
      --scheme string      Choose from: [http] (default "http")
```

**workspace-ctl workspace get-workspace-settings**

```
Usage:
  workspace-ctl workspace get-workspace-settings [flags]

Flags:
  -h, --help           help for get-workspace-settings
      --help-tree      
      --help-verbose

Global Flags:
      --X-API-Key string   
      --base-path string   For example: / (default "/")
      --config string      config file path
      --debug              output debug logs
      --dry-run            do not send the request to server
      --hostname string    hostname of the service (default "api:8080")
      --print-curl         print curl equivalent do not send the request to server
      --scheme string      Choose from: [http] (default "http")
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.ica.illumina.com/project/p-bench/bench-command-line-interface.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
