Skip to main content
Updated May 8, 2026 The raff vm command group covers every Virtual Machine operation in the public API. Each subcommand also supports --output json for scripting.

Subcommand index

SubcommandWhat it does
listList all VMs in the project
getShow details for one VM
createCreate a new VM
updateUpdate VM metadata
deleteDelete a VM
bulk-deleteDelete multiple VMs at once
start, stop, reboot, hard-rebootPower state
reinstallReinstall the OS template
factory-resetReset to factory image
renameRename a VM
reset-passwordReset the root/admin password
resizeResize compute (vCPU/RAM)
resize-diskGrow the OS disk
save-imageSave the OS disk as a Custom Image
ip attach / ip detachAttach / detach a public IP
sg add / sg removeAttach / detach a Firewall Group
vpc attach / vpc detachAttach / detach a VPC
tags add / tags remove / tags set / tags listManage VM tags
notes set / notes append / notes getManage VM notes
networksList the VM’s network attachments

list

raff vm list [--project-id <uuid>] [--output table|json]
List every VM in the current project. Output columns: ID, NAME, STATUS, IP ADDRESS, CPU, RAM, STORAGE, REGION, CREATED.
# Default table
raff vm list

# JSON for scripting
raff vm list --output json | jq '.[] | {id, name, status}'

# In a non-default project
raff vm list --project-id <other-project-id>

get

raff vm get <vm-id> [--output table|json]
Show full details for one VM — pricing, tags, networks, attached volumes, snapshots, backups.

create

raff vm create \
  --name <name> \
  --template-id <template-uuid> \
  --pricing-id <plan-id> \
  --region <region> \
  [--password <password>] \
  [--ssh-keys <key1,key2>] \
  [--extra-storage <gb>] \
  [--backup-type none|daily|weekly] \
  [--tags <tag1,tag2>] \
  [--vpc-id <vpc-uuid> | --vpc-name <name> --vpc-cidr <cidr>]
Create a new VM. Required: --name, --template-id, --pricing-id, --region. Get template IDs via List Templates and pricing IDs via List VM Pricing or the Pricing page.

update

raff vm update <vm-id> [--name <new-name>]
Update VM metadata. Currently rename-only.

delete

raff vm delete <vm-id> \
  [--volume-action detach|delete] \
  [--delete-vpc] \
  [--force]
Delete the VM. By default, attached volumes detach (preserved) and VPCs are kept — pass --volume-action delete to also remove volumes and --delete-vpc to remove VPCs (shared VPCs are auto-preserved if other VMs still use them). Pass --force to skip the confirmation prompt — required in scripts. The dashboard exposes the same options as a two-step confirmation dialog; see Delete a VM for the full rules.

bulk-delete

raff vm bulk-delete --ids <id1,id2,id3> \
  [--volume-action detach|delete] \
  [--delete-vpc] \
  [--force]
Delete multiple VMs in one call. Required: --ids. By default, attached volumes detach (preserved) and VPCs are kept; pass --volume-action delete to also remove volumes, and --delete-vpc to remove VPCs no longer in use. Shared VPCs are auto-preserved if other VMs still use them — see Delete a VM.

Power commands

raff vm start <vm-id>          # Boot up
raff vm stop <vm-id>           # Graceful shutdown
raff vm reboot <vm-id>         # Graceful reboot
raff vm hard-reboot <vm-id>    # Force reboot — no graceful shutdown, data may be lost
Use hard-reboot only when graceful reboot is hung. The API behavior matches the dashboard — see Manage power.

reinstall

raff vm reinstall <vm-id> --template-id <new-template-uuid> [--password <pw>]
Reinstall the VM’s OS with a different template. Erases the OS disk; preserves attached volumes, IP, VPC, tags, and specs. See Reinstall.

factory-reset

raff vm factory-reset <vm-id>
Reset to the original template the VM was created with. Same preservation rules as reinstall.

rename

raff vm rename <vm-id> --name <new-name>

reset-password

raff vm reset-password <vm-id>
Resets the root (Linux) or Administrator (Windows) password to a new generated value. Output shows the new password — copy it immediately. The VM reboots if active to apply the change.

resize

raff vm resize <vm-id> --pricing-id <new-plan-id>
Change the compute plan (vCPU / RAM / base disk). Triggers a reboot. Pricing pro-rates against the current term.

resize-disk

raff vm resize-disk <vm-id> --size-gb <new-size>
Grow the OS disk. Cannot shrink. Filesystem expansion inside the guest is not automatic — see Resize for the growpart / resize2fs steps.

save-image

raff vm save-image <vm-id> --name <image-name>
Snapshot the OS disk as a reusable Custom Image you can launch other VMs from. See Custom Images.

ip attach

raff vm ip attach <vm-id> --ip-id <ip-uuid>
Attach a reserved public IP to the VM.

ip detach

raff vm ip detach <vm-id> --ip-id <ip-uuid>
Detach a public IP. Reserved IPs return to your account; auto-assigned IPs return to the regional pool.

sg add

raff vm sg add <vm-id> --sg-id <firewall-uuid>
Attach a Firewall Group to the VM’s public IP. A reboot is required for the new rules to take effect inside the guest — see Update rules.

sg remove

raff vm sg remove <vm-id> --sg-id <firewall-uuid>
Detach a Firewall Group. Reboot required.

vpc attach

raff vm vpc attach <vm-id> --vpc-id <vpc-uuid>
Add a VPC interface to the VM. The VM gets a private IP from the VPC’s CIDR.

vpc detach

raff vm vpc detach <vm-id> --vpc-id <vpc-uuid>
Remove the VPC interface. Blocked if it would leave the VM with zero interfaces — attach another network first.

tags add

raff vm tags add <vm-id> --tag <tag-name>

tags remove

raff vm tags remove <vm-id> --tag <tag-name>

tags set

raff vm tags set <vm-id> --tags <tag1,tag2,tag3>
Replace the VM’s tag set with the given list (clears any existing tags first).

tags list

raff vm tags list <vm-id>

notes set

raff vm notes set <vm-id> --content "<note text>"
Replace the VM’s note. See VM notes.

notes append

raff vm notes append <vm-id> --content "<additional text>"
Append to the existing note (newline-separated).

notes get

raff vm notes get <vm-id>

networks

raff vm networks <vm-id>
List every network attached to the VM — public IPs, VPCs, with their addresses and statuses.

Project commands

Manage projects.

VPC commands

Private networks.

API Reference

The HTTP API behind the CLI.
Last modified on May 11, 2026