ToolsRunOptionalParams interface

Optional parameters.

Extends

Properties

command

Command to pass to tool container entrypoint.

If the tool has multiple containers defined, this command is executed on all of them.

If omitted, all containers execute their raw entrypoints.

This command is parsed into an argument list which is passed to the underlying container runtime. For example, if the command is "python /code/wrapper.py --input /inputs/abcdef-input-1/input.txt --output /outputs/abcdef-output-1", then the container runtime will receive the following argument list: ["python", "/code/wrapper.py", "--input", "/inputs/abcdef-input-1/input.txt", "--output", "/outputs/abcdef-output-1"]

The container's entrypoint is not overridden. In Docker terminology, the above argument list becomes the CMD, not the ENTRYPOINT of the launched container.

Our parsing includes the following limited interpretation of special characters:

  • The only special characters are " ' and .
  • Backslashes \ escape the next character if that character is a special character, preserving its literal value.
  • Double quotes " preserve everything inside them literally, with the exception of the characters " and , which must be escaped with a backslash ``. Unmatched quotes will throw an error.
  • Single quotes ' preserve everything inside them literally. A single-quote cannot occur within single-quotes. Unmatched quotes will throw an error.

If you wish to run a command that relies on shell features such as globbing or output redirection, you either need to:

  • use a container with an entrypoint that is a shell (e.g. /bin/sh or /bin/bash) and pass a command which is valid for that shell e.g. -c 'python /code/wrapper.py --input /inputs/abcdef-input-1/* --output /outputs/abcdef-output-1'
  • use a container which has a shell installed, and include the shell in the command, e.g. sh -c "python /code/wrapper.py --input /inputs/abcdef-input-1/* --output /outputs/abcdef-output-1"
environmentVariables

Optional environment variables to set in the tool container. This must not contain any secrets.

infraOverrides

Override the infrastructure requirements in the tool definitions.

inlineFiles

Encoded inline files to be mounted into the container, e.g. for generated code.

inputData

Input data references and mount paths.

outputData

Output data references and mount paths.

updateIntervalInMs

Delay to wait until next poll, in milliseconds.

Inherited Properties

abortSignal

The signal which can be used to abort requests.

onResponse

A function to be called each time a response is received from the server while performing the requested operation. May be called multiple times.

requestOptions

Options used when creating and sending HTTP requests for this operation.

tracingOptions

Options used when tracing is enabled.

Property Details

command

Command to pass to tool container entrypoint.

If the tool has multiple containers defined, this command is executed on all of them.

If omitted, all containers execute their raw entrypoints.

This command is parsed into an argument list which is passed to the underlying container runtime. For example, if the command is "python /code/wrapper.py --input /inputs/abcdef-input-1/input.txt --output /outputs/abcdef-output-1", then the container runtime will receive the following argument list: ["python", "/code/wrapper.py", "--input", "/inputs/abcdef-input-1/input.txt", "--output", "/outputs/abcdef-output-1"]

The container's entrypoint is not overridden. In Docker terminology, the above argument list becomes the CMD, not the ENTRYPOINT of the launched container.

Our parsing includes the following limited interpretation of special characters:

  • The only special characters are " ' and .
  • Backslashes \ escape the next character if that character is a special character, preserving its literal value.
  • Double quotes " preserve everything inside them literally, with the exception of the characters " and , which must be escaped with a backslash ``. Unmatched quotes will throw an error.
  • Single quotes ' preserve everything inside them literally. A single-quote cannot occur within single-quotes. Unmatched quotes will throw an error.

If you wish to run a command that relies on shell features such as globbing or output redirection, you either need to:

  • use a container with an entrypoint that is a shell (e.g. /bin/sh or /bin/bash) and pass a command which is valid for that shell e.g. -c 'python /code/wrapper.py --input /inputs/abcdef-input-1/* --output /outputs/abcdef-output-1'
  • use a container which has a shell installed, and include the shell in the command, e.g. sh -c "python /code/wrapper.py --input /inputs/abcdef-input-1/* --output /outputs/abcdef-output-1"
command?: string

Property Value

string

environmentVariables

Optional environment variables to set in the tool container. This must not contain any secrets.

environmentVariables?: { name: string, value?: string }[]

Property Value

{ name: string, value?: string }[]

infraOverrides

Override the infrastructure requirements in the tool definitions.

infraOverrides?: InfraOverrides

Property Value

inlineFiles

Encoded inline files to be mounted into the container, e.g. for generated code.

inlineFiles?: InlineFile[]

Property Value

inputData

Input data references and mount paths.

inputData?: InputDataMount[]

Property Value

outputData

Output data references and mount paths.

outputData?: OutputDataMount[]

Property Value

updateIntervalInMs

Delay to wait until next poll, in milliseconds.

updateIntervalInMs?: number

Property Value

number

Inherited Property Details

abortSignal

The signal which can be used to abort requests.

abortSignal?: AbortSignalLike

Property Value

Inherited From OperationOptions.abortSignal

onResponse

A function to be called each time a response is received from the server while performing the requested operation. May be called multiple times.

onResponse?: RawResponseCallback

Property Value

Inherited From OperationOptions.onResponse

requestOptions

Options used when creating and sending HTTP requests for this operation.

requestOptions?: OperationRequestOptions

Property Value

Inherited From OperationOptions.requestOptions

tracingOptions

Options used when tracing is enabled.

tracingOptions?: OperationTracingOptions

Property Value

Inherited From OperationOptions.tracingOptions