Criação de uma política de AS
Função
Essa API é usada para criar uma política de AS.
- Uma política de AS define se deve aumentar ou diminuir o número de instâncias em um grupo de AS. Se o número e o número esperado de instâncias em um grupo de AS forem diferentes devido à execução da política de AS, o AS ajustará automaticamente o número de instâncias ao esperado.
- O AS suporta as seguintes políticas: política acionada por alarme, política periódica e política agendada.
- Na execução da política de AS, você pode definir o número de instâncias a serem escaladas ou executar uma ação de dimensionamento de acordo com uma porcentagem especificada na política de AS.
URI
POST /autoscaling-api/v1/{project_id}/scaling_policy
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
project_id |
Sim |
String |
Especifica o ID do projeto. |
Mensagem de solicitação
- Parâmetros de solicitação
Tabela 2 Parâmetros de solicitação Parâmetro
Obrigatório
Tipo
Descrição
scaling_policy_name
Sim
String
Especifica o nome da política de AS. O nome contém apenas letras, dígitos, sublinhados (_) e hifens (-) e não pode exceder 64 caracteres.
scaling_group_id
Sim
String
Especifica o ID do grupo de AS, que pode ser obtido usando a API para consultar grupos de AS. Para mais detalhes, consulte Consulta de grupos de AS.
scaling_policy_type
Sim
String
Especifica o tipo de política de AS.
- ALARM (correspondente a alarm_id): indica que a ação de dimensionamento é acionada por um alarme.
- SCHEDULED (correspondente a scheduled_policy): indica que a ação de dimensionamento é acionada conforme agendado.
- RECURRENCE (correspondente a scheduled_policy): indica que a ação de dimensionamento é acionada periodicamente.
alarm_id
Não
String
Especifica o ID da regra de alarme. Este parâmetro é obrigatório quando scaling_policy_type é definido como ALARM. Depois que esse parâmetro é especificado, o valor de scheduled_policy não entra em vigor.
Depois que você cria uma política de alarme, o sistema adiciona automaticamente uma atividade de disparo de alarme do tipo de dimensionamento automático ao campo alarm_actions na regra de alarme especificada pelo valor do parâmetro.
Você pode obter o valor do parâmetro consultando as regras de alarme do Cloud Eye.
scheduled_policy
Não
scheduled_policy object
Especifica a política de AS periódica ou agendada. Este parâmetro é obrigatório quando scaling_policy_type é definido como SCHEDULED ou RECURRENCE. Depois que este parâmetro é especificado, o valor de alarm_id não tem efeito. Para mais detalhes, consulte Tabela 3.
scaling_policy_action
Não
scaling_policy_action object
Especifica a ação de dimensionamento da política de AS. Para mais detalhes, consulte Tabela 4.
cool_down_time
Não
Integer
Especifica o período de resfriamento (em segundos). O valor varia de 0 a 86400 e é de 300 por padrão.
Tabela 3 Descrição do campo scheduled_policy Parâmetro
Obrigatório
Tipo
Descrição
launch_time
Sim
String
Especifica a hora em que a ação de dimensionamento é acionada. O formato de tempo está em conformidade com o UTC.
- Se scaling_policy_type estiver definido como SCHEDULED, o formato de hora será YYYY-MM-DDThh:mmZ.
- Se scaling_policy_type for definido como RECURRENCE, o formato de hora será hh:mm.
recurrence_type
Não
String
Especifica o tipo de acionamento periódico. Este parâmetro é obrigatório quando scaling_policy_type é definido como RECURRENCE.
- Daily: indica que a ação de dimensionamento é acionada uma vez por dia.
- Weekly: indica que a ação de dimensionamento é acionada uma vez por semana.
- Monthly: indica que a ação de dimensionamento é acionada uma vez por mês.
recurrence_value
Não
String
Especifica o dia em que uma ação de dimensionamento periódica é acionada. Este parâmetro é obrigatório quando scaling_policy_type é definido como RECURRENCE.
- Se recurrence_type estiver definido como Daily, o valor será null, indicando que a ação de dimensionamento é acionada uma vez por dia.
- Se recurrence_type for definido como Weekly, o valor varia de 1 (domingo) a 7 (sábado). Os dígitos referem-se a datas em cada semana e separados por uma vírgula, como 1,3,5.
- Se recurrence_type for definido como Monthly, o valor varia de 1 a 31. Os dígitos referem-se às datas em cada mês e separados por uma vírgula, como 1,10,13,28.
start_time
Não
String
Especifica a hora de início da ação de dimensionamento acionada periodicamente. O formato de tempo está em conformidade com o UTC. O valor padrão é a hora local.
O formato da hora é YYYY-MM-DDThh:mmZ.
end_time
Não
String
Especifica a hora de término da ação de dimensionamento acionada periodicamente. O formato de tempo está em conformidade com o UTC. Este parâmetro é obrigatório quando scaling_policy_type é definido como RECURRENCE.
Quando a ação de dimensionamento é acionada periodicamente, a hora de término não pode ser anterior à hora atual e de início.
O formato da hora é YYYY-MM-DDThh:mmZ.
Tabela 4 Descrição do campo scaling_policy_action Parâmetro
Obrigatório
Tipo
Descrição
operation
Não
String
Especifica a operação a ser executada. A operação padrão é ADD.
- ADD: adiciona um número especificado de instâncias ao grupo de AS.
- REMOVE/REDUCE: remove ou reduz o número especificado de instâncias do grupo de AS.
- SET: define o número de instâncias no grupo de AS.
instance_number
Não
Integer
Especifica o número de instâncias a serem operadas. O número padrão é 1. O intervalo de valores é a seguinte para uma cota padrão:
- Se operation for definida como SET, o valor varia de 0 a 300.
- Se operation estiver definida como ADD, REMOVE ou REDUCE, o valor varia de 1 a 300.
NOTA:O instance_number ou instance_percentage é obrigatório.
instance_percentage
Não
Integer
Especifica a porcentagem de instâncias a serem operadas. Você pode aumentar, diminuir ou definir o número de instâncias em um grupo de AS para a porcentagem especificada do número atual de instâncias. Se operation for definida como ADD, REMOVE ou REDUCE, o valor é um número inteiro de 1 a 20000. Se operation for definida como SET, o valor é um inteiro de 0 a 20000.
Se nem instance_number nem instance_percentage forem especificados, o número de instâncias a serem operadas será 1.
O instance_number ou instance_percentage é obrigatório.
- Exemplo de solicitação
Este exemplo mostra como criar uma política de AS periódica chamada as-policy-7a75. A política entra em vigor de 2015-12-14T03:34Z até 2015-12-27T03:34Z. Durante esse período, uma instância será adicionada ao grupo de AS com o ID 5bc3aa02-b83e-454c-aba1-4d2095c68f8b às 16:00 todos os dias.
POST https://{Endpoint}/autoscaling-api/v1/{project_id}/scaling_policy { "scaling_policy_name": "as-policy-7a75", "scaling_policy_action": { "operation": "ADD", "instance_number": 1 }, "cool_down_time": 900, "scheduled_policy": { "launch_time": "16:00", "recurrence_type": "Daily", "start_time": "2015-12-14T03:34Z", "end_time": "2015-12-27T03:34Z" }, "scaling_policy_type": "RECURRENCE", "scaling_group_id": "5bc3aa02-b83e-454c-aba1-4d2095c68f8b" }
Mensagem de resposta
- Parâmetros de resposta
Tabela 5 Parâmetros de resposta Parâmetro
Tipo
Descrição
scaling_policy_id
String
Especifica o ID da política de AS.
- Exemplo de resposta
{ "scaling_policy_id": "0h327883-324n-4dzd-9c61-68d03ee191dd" }
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.