Criação de um gancho do ciclo de vida
Função
Essa interface é usada para criar um gancho do ciclo de vida para um grupo de AS. Até cinco ganchos do ciclo de vida podem ser criados para um grupo de AS.
- Após a criação, quando o grupo de AS executa uma ação de dimensionamento, o gancho do ciclo de vida suspende a instância de destino e define-a como no status Wait (Adding to AS group) ou Wait (Removing from AS group). Esse status será mantido até que a duração do tempo limite expire ou você volte a chamar esse status manualmente.
- Durante a duração de espera da instância, você pode executar operações personalizadas. Por exemplo, você pode instalar ou configurar o software em uma instância recém-iniciada ou fazer download do arquivo de log da instância antes que a instância seja encerrada.
URI
POST /autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
project_id |
Sim |
String |
Especifica o ID do projeto. |
scaling_group_id |
Sim |
String |
Especifica o ID do grupo de AS. |
Mensagem de solicitação
- Parâmetros de solicitação
Tabela 2 Parâmetros de solicitação Parâmetro
Obrigatório
Tipo
Descrição
lifecycle_hook_name
Sim
String
Especifica o nome do gancho do ciclo de vida. O nome contém apenas letras, dígitos, sublinhados (_) e hifens (-) e não pode exceder 32 caracteres.
lifecycle_hook_type
Sim
String
Especifica o tipo de gancho do ciclo de vida. Opções:
- INSTANCE_TERMINATING: o gancho suspende a instância quando a instância é encerrada.
- INSTANCE_LAUNCHING: o gancho suspende a instância quando a instância é iniciada.
default_result
Não
String
Especifica a operação de retorno de chamada de gancho do ciclo de vida padrão. Por padrão, esta operação é realizada quando a duração do tempo limite expira.
- ABANDON
- CONTINUE
NOTA:- Se uma instância estiver sendo iniciada, CONTINUE indicará que as operações personalizadas foram bem-sucedidas e que a instância pode ser usada. ABANDON indica que as operações personalizadas falharam e a instância será encerrada. Nesse caso, a ação de dimensionamento falha e você deve criar uma nova instância.
- Se uma instância estiver parando, ABANDON e CONTINUE permitirão o encerramento da instância. A diferença entre os dois estados é a seguinte: ABANDON interrompe outros ganchos do ciclo de vida, mas CONTINUE permite a conclusão de outros ganchos do ciclo de vida.
- O valor padrão deste parâmetro é ABANDON.
default_timeout
Não
Integer
Especifica a duração do tempo limite do gancho do ciclo de vida, que varia de 300 a 86400 na unidade de segundo. O valor padrão é 3600.
Por padrão, esse parâmetro especifica a duração de espera da instância. Você pode prolongar a duração do tempo limite ou executar a operação CONTINUE ou ABANDON antes que a duração do tempo limite expire.
notification_topic_urn
Sim
String
Especifica um tópico exclusivo na SMN.
Este parâmetro especifica um objeto de notificação para um gancho do ciclo de vida. Quando uma instância é suspensa pelo gancho do ciclo de vida, o serviço SMN envia uma notificação ao objeto. Essa notificação contém as informações básicas da instância, seu conteúdo de notificação personalizado e o token para controlar as operações do ciclo de vida.
notification_metadata
Não
String
Especifica uma notificação personalizada, que não contém mais de 256 caracteres de comprimento. A mensagem não pode conter os seguintes caracteres: <>&'()
Depois que um objeto de notificação é configurado, o serviço SMN envia sua notificação personalizada para o objeto.
- Exemplo de solicitação
Este exemplo mostra como criar um gancho do ciclo de vida chamado test-hook1 no grupo de AS com ID e5d27f5c-dd76-4a61-b4bc-a67c5686719a. A configuração é a seguinte: a operação de retorno de chamada é ABANDON; a duração do tempo limite é de 3600 segundos; a notificação topic_urn é urn:smn:regionId:b53e5554fad0494d96206fb84296510b:gsh; o hook suspende a instância quando a instância é iniciada.
POST https://{Endpoint}/autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/e5d27f5c-dd76-4a61-b4bc-a67c5686719a { "lifecycle_hook_name": "test-hook1", "default_result": "ABANDON", "default_timeout": 3600, "notification_topic_urn": "urn:smn:regionId:b53e5554fad0494d96206fb84296510b:gsh", "lifecycle_hook_type": "INSTANCE_LAUNCHING" }
Mensagem de resposta
- Parâmetros de resposta
Tabela 3 Parâmetros de resposta Parâmetro
Tipo
Descrição
lifecycle_hook_name
String
Especifica o nome do gancho do ciclo de vida.
lifecycle_hook_type
String
Especifica o tipo de gancho do ciclo de vida.
- INSTANCE_TERMINATING
- INSTANCE_LAUNCHING
default_result
String
Especifica a operação de retorno de chamada de gancho do ciclo de vida padrão.
- ABANDON
- CONTINUE
default_timeout
Integer
Especifica a duração do tempo limite do gancho do ciclo de vida na unidade de segundo.
notification_topic_urn
String
Especifica um tópico exclusivo na SMN.
notification_topic_name
String
Especifica o nome do tópico na SMN.
notification_metadata
String
Especifica a mensagem de notificação.
create_time
String
Especifica o horário em conformidade com UTC quando o gancho do ciclo de vida é criado.
- Exemplo de resposta
{ "lifecycle_hook_name": "test-hook1", "default_result": "ABANDON", "default_timeout": 3600, "notification_topic_urn": "urn:smn:regionId:b53e5554fad0494d96206fb84296510b:gsh", "notification_topic_name": "gsh", "lifecycle_hook_type": "INSTANCE_LAUNCHING", "notification_metadata": null, "create_time": "2019-03-18T16:00:11Z" }
Valores retornados
- Normal
- Anormal
Valores retornados
Descrição
400 Bad Request
O servidor falhou ao processar a solicitação.
401 Unauthorized
Você deve digitar o nome de usuário e a senha para acessar a página solicitada.
403 Forbidden
Você está proibido de acessar a página solicitada.
404 Not Found
O servidor não conseguiu encontrar a página solicitada.
405 Method Not Allowed
Você não tem permissão para usar o método especificado na solicitação.
406 Not Acceptable
A resposta gerada pelo servidor não poderia ser aceita pelo cliente.
407 Proxy Authentication Required
Você deve usar o servidor proxy para autenticação para que a solicitação possa ser processada.
408 Request Timeout
A solicitação expirou o tempo limite.
409 Conflict
A solicitação não pôde ser processada devido a um conflito.
500 Internal Server Error
Falhou ao concluir a solicitação porque ocorre um erro de serviço interno.
501 Not Implemented
Falhou ao concluir a solicitação porque o servidor não suporta a função solicitada.
502 Bad Gateway
Falhou ao concluir a solicitação porque a solicitação é inválida.
503 Service Unavailable
Falhou ao concluir a solicitação porque o sistema não está disponível.
504 Gateway Timeout
Ocorreu um erro de tempo limite de gateway.
Códigos de erro
Consulte Códigos de erro.