Skip to main content
Aliases: placements, placement Commands that act on one placement take its ID or name either as a positional argument or with --id. If you omit it, the CLI opens an interactive picker, so always pass it in scripts. The server commands take the placement the same way, and also open a picker for --server if you omit it. Placement, project, reservation, and server flags accept a name as well as an ID.

Subcommands

  • list — List placements
  • get — Get placement details
  • create — Create a new placement
  • update — Change a placement’s image or update strategy
  • delete — Delete a placement
  • server list — List servers in a placement
  • server reboot — Reboot a server in a placement
  • server stop — Stop a server in a placement
  • server reconcile — Rebuild a drifted server onto the placement’s image
CLI v7.0.0 moved the server commands under server: servers became server list, and server-reboot, server-stop, and server-reconcile became server reboot, server stop, and server reconcile. The old names still work but are hidden from help.

list

List placements, optionally filtered by organization, project, or reservation. Aliases: list, ls

Flags

FlagDescription
Organization ID or name
Project ID or name
Reservation ID or name
Emit the full JSON payload (mutually exclusive with -q)
jq filter for value extraction (see Query output with -q)
Show at most N results (client-side; every result is still fetched). Cuts before -q. 0 for all

Examples


get

Get details for a specific placement.

Flags

FlagDescription
Placement ID or name
Organization ID or name
Emit the full JSON payload (mutually exclusive with -q)
jq filter for value extraction (see Query output with -q)

Example


create

Create a new placement. Accepts input from a JSON file or stdin, with an optional cloud-init configuration for the placed servers. An SSH certificate authority is optional. To bind one, set the payload’s spec.serverSpec.sshCertificateAuthorityId field or pass --ssh-ca-id, which overrides the payload. Use nscale ssh-cas list to find it. Passing --ssh-ca-id "" removes an SSH CA set in the payload. When you create a placement interactively and your organization has SSH CAs, the CLI asks whether to bind one.

Flags

FlagDescription
Path to a JSON file
Read JSON from standard input
Path to a cloud-init YAML file
SSH certificate authority ID or name to bind
Preview actions and payload without persisting
Automatically confirm placement creation
Emit the full JSON payload (mutually exclusive with -q)
jq filter for value extraction (see Query output with -q)

Examples


update

Change a placement’s server image or update strategy. The CLI reads the placement, changes only the fields you pass, and writes it back, keeping every other field. Pass --image, --strategy, or both. All other placement fields are fixed after creation. Changing the image marks the placement’s servers as drifted. How they move onto the new image depends on the update strategy:
  • manual (the default for a new placement): servers keep their current image until you rebuild each one with server reconcile.
  • rolling: the service rebuilds drifted servers for you, at most --max-unavailable at a time. --strategy rolling requires --max-unavailable, and --max-unavailable is only accepted with --strategy rolling.
If you omit --strategy, the placement keeps the strategy it already has, so an image change on a rolling placement starts a rollout.
Rebuilding a server onto a new image wipes its local disk. Under rolling, that happens to every server, --max-unavailable at a time, as soon as the update is accepted. Back up anything on local disk before you change the image.

Flags

FlagDescription
Placement ID or name
Organization ID or name
Image ID to converge the servers onto
Update strategy: manual or rolling. The API’s spellings, Manual and RollingUpdate, also work.
Servers rebuilt at once under : a count (1) or a percentage of the placement’s servers (25%, rounded up)
Preview actions and payload without persisting
Automatically confirm placement update
Emit the full JSON payload (mutually exclusive with -q)
jq filter for value extraction (see Query output with -q)

Examples


delete

Delete an existing placement.
Aliases: delete, rm, remove

Flags

Example


server list

List the servers in a placement.
Aliases: list, ls The table shows each server’s name, private IP, GPUs, CPUs, and status, followed by a status summary line such as Status summary: rebuilding: 1, running: 3. The summary appears only in the human table; --json, -q, and the agent format are unchanged. The status is one of creating, ready, running, starting, stopping, stopped, queued, building, rebuilding, degraded, deleting, error, or unknown. rebuilding means the server is being rebuilt onto a new image, for example by server reconcile or a rolling update. Any other power state reported by the service is shown in lowercase.

Flags

FlagDescription
Placement ID or name
Organization ID or name
Emit the full JSON payload (mutually exclusive with -q)
jq filter for value extraction (see Query output with -q)
Show at most N results (client-side; every result is still fetched). Cuts before -q. 0 for all

Examples

After an image change under the manual strategy, list the servers that haven’t moved onto the new image yet:

server reboot

Reboot an existing server in a placement. Use --hard for a hard reboot.

Flags

Examples


server stop

Stop an existing server in a placement.

Flags

Example


server reconcile

Rebuild one drifted server onto the placement’s image. The server stays on the same host, but its local disk contents are lost. Use this after an image change under the manual update strategy to move servers onto the new image one at a time. If the server already runs the placement’s image, nothing changes.

Flags

Example


Reservations

Reserve GPU capacity and check available reservation units.