Skip to main content
Uma instância carrega dois estados e eles respondem a perguntas diferentes.

estado_desejado

O que você pediu. Três valores, porque há três coisas que você pode pedir para uma instância ser.

current_state

Onde ele realmente é. Leia este para responder “é isso”.
Eles não são duas metades de uma resposta — eles são um pedido e seu progresso. POST /v1/instances/{instance_id}/start define desired_state para running imediatamente, e current_state permanece stopped até que o convidado esteja realmente ativo. Esse emparelhamento é a leitura honesta de “pedido para começar, ainda não lá”.

desired_state

Três valores, e cada chamada que muda um deles o define para um deles. Nada mais aparece aqui. stopping não é algo que alguém solicita — é onde a instância tem que ir — e é por isso que ela vive no outro campo.

current_state

Trate um current_state não reconhecido como “ocupado, não aja” em vez de como uma falha. A lista cresce à medida que a plataforma aprende a distinguir os estados — um convidado que falhou atualmente relata stopped, porque o host ainda não pode distinguir um pânico de um desligamento limpo.

Iniciar, parar, reiniciar

Cada um é um 202 com um corpo vazio — consulte a instância para ver o resultado.
Abra a instância a partir de Compute → Instances. O cabeçalho oferece apenas as ações que seu estado atual permite: Start enquanto está parado, Stop e Reboot enquanto está em execução.Um ciclo de energia dura não está entre eles. Ele fica na guia Settings como Hard reboot, descrito lá como Ciclos de energia da instância sem um desligamento limpo do sistema operacional e fechado atrás de uma confirmação digitada.
POST /v1/instances/{instance_id}/start aceita uma instância em stopped ou em error — o segundo caso é como você retenta uma instância que falhou no caminho, sem recriá-la. Qualquer outro estado é um 409.
POST /v1/instances/{instance_id}/stop requer running. Qualquer outra coisa é um 409 — incluindo uma instância já stopped, então esta não é uma chamada idempotente “faça-a parar”.
POST /v1/instances/{instance_id}/reboot requer running. O padrão é uma reinicialização ACPI graciosa que o convidado pode agir; {"hard": true} é um ciclo de energia — o botão de reset, sem chance de limpar nada.

Redimensionar

Um redimensionamento altera vCPU e RAM, e nada mais. Os discos não são afetados, os endereços não são afetados, os dados do convidado não são afetados.
Resize no cabeçalho da instância abre Resize instance, um seletor de variação que resume Current contra New flavor antes de você fazer o commit e, em seguida, solicitar a confirmação.
O console oferece Resize enquanto a instância ainda está em execução, mas o redimensionamento em si precisa ser interrompido — o envio de uma instância em execução retorna como Failed to resize instance. Pare primeiro.
Duas coisas sobre isso valem a pena saber antes de planejar uma janela de redimensionamento:
1

A instância deve ser interrompida

Os máximos de CPU e memória de um guest em execução não podem ser alterados abaixo dele, então um redimensionamento em uma instância em execução é um 409. Pare, redimensione, inicie.
2

O novo tamanho é aplicado no próximo início

A chamada grava o alvo e retorna. O guest aparece no novo flavor quando você o inicia — não há nenhuma etapa de confirmação separada e nenhum estado em que a instância é redimensionada pela metade.
Um redimensionamento não move a instância para outro host. Crescer significa que a vCPU e a RAM extras precisam estar livres no host em que ela já está, portanto, um redimensionamento pode ser recusado por causa da capacidade, enquanto a região como um todo tem bastante. Mover para um tipo de instância dedicated é o caso mais estrito: ele precisa de threads inteiros em que nada mais possa rodar, o que um host ocupado-mas-não-cheio pode não ter.
Mais duas recusas, ambas 400: redimensionamento para o tipo de instância que a instância já usa, e redimensionamento para um loadbalancer ou database flavor. O limite de rede de uma instância se move com o tipo de instância como parte do redimensionamento, portanto, um downsize também desiste da largura de banda do tipo de instância maior.

Reinstalar

POST /v1/instances/{instance_id}/reinstall re-imagina o disco de inicialização enquanto mantém a própria instância. Também parado-somente, e também aplicado no próximo início.

Mantido

O ID, nome, CRN, endereços IP e MAC da instância, suas interfaces de rede, sua semente de início de nuvem e cada volume de dados anexado.

Substituído

Um novo volume é clonado a partir da imagem e trocado, e o volume de inicialização é criado. o antigo é apagado. Tudo no sistema de arquivos raiz foi embora.
O console chama esse Replace root volume, e ele está na guia Settings da instância, na zona de perigo. Ele abre um cartão Image e um cartão Boot volume — Sistema operacional para o volume raiz de substituição. O atual é excluído — e confirma com o nome da instância digitado de volta.
Mesma operação, nome diferente. Nada no console é rotulado como “reinstalar”: procure por Replace root volume, que é a descrição mais literal do que acontece com o disco.
Cada campo é opcional. Omita image e ele reinstala a partir da imagem que a instância já tem; omita size_gb e a substituição é a imagem min_disk_gb; omita volume_type e ele aterrissa na região padrão. O mesmo piso se aplica como no lançamento — size_gb deve ser pelo menos o min_disk_gb da imagem, e dentro de 1–16384 GB. Como os endereços sobrevivem, reinstalar é a operação para “mesma máquina, sistema operacional limpo” — uma reconstrução onde qualquer coisa apontando para a instância continua funcionando.

Apagar

Delete instance está na guia Settings da instância, na zona de perigo. A confirmação reafirma a regra abaixo — Volumes marcados como excluídos no término são destruídos com ele; outros são separados e mantidos — e precisa que o nome da instância seja digitado novamente.
Ele responde 202. A instância se move para deleting, o guest é desmontado e a linha é removida uma vez que suas interfaces e volumes tenham sido recuperados — então uma exclusão completa para de responder a leituras inteiramente, em vez de deixar uma linha deleted para trás. Excluindo uma instância já existente deleting é aceito e re-dirige o teardown em vez de iniciar um segundo.

O que sobrevive a uma exclusão

Para manter um disco de inicialização após sua instância, inverta a bandeira no anexo: PATCH /v1/instances/{instance_id}/volumes/{volume_id} com {"delete_on_termination": false}. O volume é então desvinculado e retornado para available no teardown em vez de destruído. Isso funciona no volume de inicialização como qualquer outro anexo.No console, é o botão Delete on termination na guia Volumes da instância, um por anexo.