Skip to main content

Cheatsheet

Every command on one page. For full option detail, use <command> --help.

Notation
  • <x> — a placeholder you fill in (e.g. <name\|uuid>my-vm or a UUID)
  • <name\|uuid> — either a resource name or a UUID is accepted
  • [...] — optional

Config

CommandDescription
eci config initInteractive initial setup for API endpoint, token, and default zone
eci config showPrint the current config YAML (api_token masked as ***)
eci config set <key> <value>Non-interactive set. Keys: api_endpoint / api_token / zone_id
eci config verifyValidate token auth and zone in one go

Metadata

CommandDescription
eci region listList available regions
eci zone listList available zones in the current region
eci zone get <name|uuid>Show details for a zone
eci image listList available OS images
eci image get <name|uuid>Show details for an image (UUID, size, status)
eci instance-type list --activated trueList activated instance types and attached GPU/NPU info
eci pricing list --resource-kind <kind>Hourly price per resource kind (KRW). Kinds include vm_allocation, block_storage, public_ip, etc.
eci org infoOrganization info and resource quotas (GPU count, per-instance-type limits, storage, etc.)
eci org usageCurrent resource usage stats (split by ondemand / spot)

Compute — VMs

CommandDescription
eci compute vm listList all VMs (name, status, instance type, IP)
eci compute vm get <name|uuid>Show one VM along with its disks, NICs, and public IPs
eci compute vm launch --name <n> --password <pw> [...]Auto-create the VM, disk, NIC, and public IP and boot. Auto-cleans up on mid-flight failure
eci compute vm create --name <n> [...]Create only the VM metadata (you must attach disks and NICs separately)
eci compute vm start <name|uuid>Start a stopped VM (re-allocates resources)
eci compute vm stop <name|uuid>Stop the VM — releases allocation; disk and public IP are kept (restartable)
eci compute vm update <name|uuid> [...]Update VM attributes (name, tags, etc.)
eci compute vm delete <name|uuid> --cascadeDelete the VM and every attached resource at once. Without --cascade, disk / NIC / public IP are left behind and continue to be billed
eci compute ssh <name|uuid> [remote-cmd]Auto-SSH using the first public IP. Trailing args become a remote command

Common vm launch flags

FlagEffect
--name <n>VM name. Prompts or auto-generates when omitted
--password <pw>OS root password (required). 10+ chars, 3+ classes, no long sequences
--instance-type C-2Instance type. Falls back to spec or prompt when omitted
--image "<name|uuid>"OS image. Defaults to the appropriate image for the instance family
--size-gib 20Boot disk size. Default 20 GiB for CPU, 50 GiB for GPU/NPU
--subnet <name|uuid>Subnet. Auto-creates and reuses eci-default-subnet when omitted
--price-type spotSpot pricing (accelerator instances only)
--pricing-id <uuid>Pick a specific pricing when multiple exist for the instance type
--spec <name>Apply a saved vm-spec template
--no-specDisable auto-applying the spec named default
--no-public-ipCreate only the NIC, no public IP (internal only)
--no-networkSkip both NIC and public IP
--no-startProvision only; skip boot (zero compute cost)
--waitBlock until status: started (usually 1–2 min)

compute ssh usage

PositionMeaning
Before the nameWrapper options --login / --port / --identity
After the nameRemote command
eci compute ssh my-vm # interactive login
eci compute ssh my-vm uname -a # remote command
eci compute ssh --login root --port 2222 my-vm # ssh options

Compute — clusters

CommandDescription
eci compute cluster listList virtual clusters
eci compute cluster create --name <n> --instance-type <g-type>Create a virtual cluster. Accelerator instance types only (GPU / NPU)
eci compute cluster start|stop <name|uuid>Allocate / release cluster resources
eci compute cluster delete <name|uuid>Delete the cluster

Network

CommandDescription
eci network vnet listList virtual networks
eci network vnet create --name <n> --cidr <cidr>Create a virtual network. CIDR must be inside 172.16.0.0/14 or 192.168.0.0/16
eci network vnet delete <name|uuid>Delete a virtual network (clean up its subnets first)
eci network subnet listList subnets
eci network subnet create --name <n> --network <name|uuid> --gateway <ip/prefix>Create a subnet. Gateway needs CIDR notation (minimum /26, e.g. 172.18.0.1/24)
eci network subnet delete <name|uuid>Delete a subnet
eci network nic create --name <n> --subnet <name|uuid>Create a NIC in a subnet
eci network nic attach <name|uuid> --vm <name|uuid> / nic detach <name|uuid>Attach / detach a NIC to a VM
eci network nic delete <name|uuid>Delete a NIC (detach first)
eci network ip create --pricing "Public IP"Allocate a public IP
eci network ip attach <ip|uuid> --nic <name|uuid> / ip detach <ip|uuid>Attach / detach a public IP to a NIC
eci network ip delete <ip|uuid>Release a public IP

Storage — block

CommandDescription
eci storage block listList block storage volumes
eci storage block create --name <n> --size-gib <N> --pricing "Block Storage"Create a data volume (separate from the OS disk)
eci storage block attach <name|uuid> --vm <name|uuid> / block detach <name|uuid>Attach / detach a volume to a VM
eci storage block delete <name|uuid>Delete a volume. Any associated snapshots must be deleted first
eci storage block snapshot create --name <n> --block <name|uuid>Create a one-off snapshot (note the option is --block)
eci storage block snapshot list --block-storage <name|uuid>List snapshots for a volume (note this option is --block-storage)
eci storage block snapshot delete <name|uuid>Delete a snapshot
eci storage block scheduler create --name <n> --block <name|uuid> --cron <"..."> --max-snapshots <N>Register a scheduled-snapshot job (cron syntax)
eci storage block scheduler list --block-storage <name|uuid>List schedulers
eci storage block scheduler delete <name|uuid>Delete a scheduler

Storage — object

CommandDescription
eci storage object listList object storage buckets
eci storage object create --name <n> --size-gib <N>Create a bucket (specify allocated capacity)
eci storage object delete <name|uuid>Delete a bucket
eci storage object user listList object-storage-only users (separate from IAM)
eci storage object user create --name <n>Create a user (S3-compatible credentials)
eci storage object user delete <name|uuid>Delete a user (revoke any grants first)
eci storage object user grant listList bucket-to-user permission grants
eci storage object user grant create --bucket <name|uuid> --user <name|uuid> --permission read_write|read_onlyGrant a user access to a bucket
eci storage object user grant delete <uuid>Revoke a grant (uses UUID)

Storage — PFS

CommandDescription
eci storage pfs listList parallel file systems
eci storage pfs create --name <n> --size-gib <N>Create a PFS. The organization quota must include PFS capacity
eci storage pfs member create --pfs <name|uuid> --vm <name|uuid>Add a VM as a member (a PFS can be mounted from multiple VMs)
eci storage pfs delete <name|uuid>Delete a PFS

vm-spec (launch templates)

Save frequently used launch option sets locally (~/.eci/config.yaml) under a name and reuse them.

CommandDescription
eci vm-spec list / show <name>List / show saved launch templates (specs are local, referenced by name only)
eci vm-spec save <name> [...flags]Save a launch template (instance type, image, disk, etc.). --force overwrites
eci vm-spec delete <name>Delete a template

Common options for list / get

OptionDescription
--format {table,json,csv}Output format (default table). JSON/CSV are for scripting
--query col1,col2,...Pick columns to display (ignores the default column set)
--name-ilike <pattern>Substring match on name (case-insensitive)
--status <status>Filter by status
--zone <name|uuid>Restrict to one zone
--ids <uuid1,uuid2>Specify multiple UUIDs
--tags <k=v>Filter by tag key/value
--created-ge / --created-le <iso8601>Creation-time range (ISO 8601)

In JSON output, *_id fields are auto-resolved to names (e.g. zone_idzone).

Environment variables

VariableDescription
ECI_API_ENDPOINTAPI base URL. Takes precedence over the config file
ECI_API_TOKENBearer token. Convenient for CI / containers
ECI_ZONE_IDDefault zone — UUID or name
ECI_CONFIGConfig file path (default ~/.eci/config.yaml)
ECI_DEBUG1 prints internal warnings to stderr (debugging)

Common workflows

Launch → connect → clean up

eci compute vm launch --name my-vm --instance-type C-2 --password '<password>' --wait
eci compute ssh my-vm
eci compute vm delete my-vm --cascade

Launch several VMs with the same spec

eci vm-spec save my-spec --instance-type C-2 --image "Ubuntu 24.04 LTS (Standard)" --size-gib 20
eci compute vm launch --name my-vm-1 --spec my-spec --password '<password>'
eci compute vm launch --name my-vm-2 --spec my-spec --password '<password>'

Add a data disk with nightly snapshots

eci storage block create --name data --size-gib 50 --pricing "Block Storage"
eci storage block attach data --vm my-vm
eci storage block scheduler create --name nightly --block data \
--cron "0 0 * * *" --max-snapshots 7

Create a bucket and grant a user access

eci storage object create --name my-bucket --size-gib 100
eci storage object user create --name alice
eci storage object user grant create --bucket my-bucket --user alice --permission read_write

  • Overview — install, configuration, and command overview
  • Quickstart — three step-by-step workflows