Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
command | string | required | Shell command to execute |
image | string | required | Image UUID or tag:name |
shell | boolean | true | Whether command is a shell expression |
disposable | boolean | true | Discard changes after execution |
directory_state_id | integer | - | Files from rsync |
files | object | - | Map of container paths to upload UUIDs: {"/path/in/container": "uuid"} — key is destination, value is UUID |
wait | boolean | true | Block until complete |
timeout | integer | 30 | Max seconds |
env | object | - | Environment variables |
cwd | string | /root | Working directory |
stdin | string | - | Input via stdin |
truncate_output_at | integer | 8000 | Max bytes for output |
Examples
Basic:{"result_image": "new-uuid", "filesystem_changed": true}
Async:
{"operation_id": "op-xxx"}
With uploaded files:
Common mistake: The files key is the container path (destination), the value is the UUID (from upload). Not the other way around. One UUID can be mounted to multiple paths.
Environment variables:
Response
Errors
- Image not found: Use
list_imagesto find valid UUIDs - Directory state not found: Re-run
rsync - timed_out: true: Increase
timeoutparameter