Saltar al contenido principal

Instâncias

A lista mostra as máquinas da zona escolhida, com o filtro por tag (?tag=chave=valor e ?tag_key=chave), o filtro por estado e o estado de cada uma. Clicar na linha abre o detalhe.

O que dá para fazer​

AçãoPermissãoObservação
Ver a lista e o detalhecompute.instance.readinclui interfaces e console
Criarcompute.instance.createIdempotency-Key obrigatória
Editar o nomecompute.instance.updatePATCH
Ligar, desligar, reiniciarcompute.instance.operatereboot aceita soft ou hard
Redimensionar, confirmar, revertercompute.instance.resizeconfirmar/reverter aparecem em VERIFY_RESIZE
Console e saída de consolecompute.instance.consoleo console é VNC; a URL é no-store e vale por poucos minutos
Editar tagscompute.instance.tagPUT substitui o conjunto de usuário
Apagarcompute.instance.delete202; a máquina e o disco somem

As ações ficam no menu «⋯» de cada linha; a destrutiva é a última e pede confirmação. Ação que não se aplica ao estado da máquina não aparece (não fica desabilitada).

Listar e filtrar​

curl -s "https://api-nn.nnumbers.com.br/v1/compute/zones/z2/instances?tag=env=lab&status=ACTIVE" \
-H "Authorization: Bearer $TOKEN"
{"instances": [
{"id": "8c1d2000-…", "name": "vm-lab-01", "status": "ACTIVE", "zone": "z2",
"availability_zone": "z2-a",
"flavor": {"name": "small", "vcpus": 2, "ram_mb": 4096, "disk_gb": 20,
"ephemeral_gb": 0, "swap_mb": 0},
"image_id": "img-ubuntu-2404", "boot_from_volume": false, "key_name": "lab-chave",
"addresses": {"rede-privada": [{"address": "10.0.0.5", "version": 4,
"type": "fixed", "mac": "fa:16:3e:00:00:01"}]},
"security_groups": ["web"], "volumes_attached": [],
"locked": false, "launched_at": "2026-10-26T13:00:00Z",
"tags": {"env": "lab"}, "system_tags": {"nn:org": "<uuid da organização>"},
"managed": true}],
"next_page_token": null}

managed: false (sem nn:org) é o que a tela chama de «Não gerenciada pela NNumbers»: só leitura.

Ações​

# ligar / desligar / reiniciar
curl -s -X POST https://api-nn.nnumbers.com.br/v1/compute/zones/z2/instances/$ID/stop \
-H "Authorization: Bearer $TOKEN" -H "Idempotency-Key: $(uuidgen)"
curl -s -X POST https://api-nn.nnumbers.com.br/v1/compute/zones/z2/instances/$ID/reboot \
-H "Authorization: Bearer $TOKEN" -H "Idempotency-Key: $(uuidgen)" -d '{"type": "soft"}'

# redimensionar e confirmar
curl -s -X POST https://api-nn.nnumbers.com.br/v1/compute/zones/z2/instances/$ID/resize \
-H "Authorization: Bearer $TOKEN" -H "Idempotency-Key: $(uuidgen)" -d '{"flavor_id": "flv-medium"}'
curl -s -X POST https://api-nn.nnumbers.com.br/v1/compute/zones/z2/instances/$ID/confirm-resize \
-H "Authorization: Bearer $TOKEN" -H "Idempotency-Key: $(uuidgen)"

Console (VNC)​

curl -s -X POST https://api-nn.nnumbers.com.br/v1/compute/zones/z2/instances/$ID/console \
-H "Authorization: Bearer $TOKEN" -d '{"type": "vnc"}'
# {"type": "vnc", "url": "https://…"}

A URL não é guardada em lugar nenhum: abra-a na hora. Para ler a saída de console em texto:

curl -s -X POST https://api-nn.nnumbers.com.br/v1/compute/zones/z2/instances/$ID/console-output \
-H "Authorization: Bearer $TOKEN" -d '{"lines": 200}'

Tags​

curl -s -X PUT https://api-nn.nnumbers.com.br/v1/compute/zones/z2/instances/$ID/tags \
-H "Authorization: Bearer $TOKEN" -H "Idempotency-Key: $(uuidgen)" \
-d '{"tags": {"env": "lab", "owner": "equipe-infra", "cost-center": "eng"}}'

O PUT substitui o conjunto de usuário; as tags de sistema (nn:org, nn:creator, nn:idem) ficam, e tentar escrevê-las devolve 400 validation_failed/tag_reserved.