Criação de uma política de AS (V2)
Função
Essa API é usada para criar uma política de AS para um grupo de AS ou largura de banda.
A diferença entre as APIs V2 e V1 para a criação de uma política de AS é que a V2 suporta a criação de uma política de AS para ajustar a largura de banda e diferenciar recursos de dimensionamento por seus tipos.
URI
POST /autoscaling-api/v2/{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_resource_id Sim String Especifica o ID do recurso de dimensionamento, que é o ID exclusivo de um grupo de AS ou largura de banda. - Se scaling_resource_type for definido como SCALING_GROUP, esse parâmetro indicará o ID de grupo de AS exclusivo.
- Se scaling_resource_type for definido como BANDWIDTH, esse parâmetro indicará o ID exclusivo da largura de banda.
           NOTA:O AS não pode escalar larguras de banda anuais/mensais. 
 scaling_resource_type Sim String Especifica o tipo de recurso de dimensionamento. - Grupo de AS: SCALING_GROUP
- Largura de banda: BANDWIDTH
 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.
- INTERVAL_ALARM (correspondente a alarm_id): indica que a ação de dimensionamento é acionada por uma política de dimensionamento refinada.
 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. interval_alarm_actions Não Array of interval_alarm_actions objects Especifica o intervalo de valores de uma política de alarme. Este parâmetro é válido e obrigatório quando scaling_policy_type é definido como INTERVAL_ALARM. Para mais detalhes, consulte Tabela 5. 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. description Não String Especifica a descrição da política de AS. O valor pode conter de 1 a 256 caracteres. 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.
           NOTA:Quando recurrence_type é definido como Daily, este parâmetro não tem efeito. 
 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.- Se scaling_resource_type for definido como SCALING_GROUP, as seguintes operações serão suportadas:
            - ADD: indica a adição de instâncias.
- REMOVE/REDUCE: indica remover ou reduzir instâncias.
- SET: indica definir o número de instâncias para um valor especificado.
 
- Se scaling_resource_type for definido como BANDWIDTH, as seguintes operações serão suportadas:
            - ADD: indica a adição de instâncias.
- REDUCE: indica a redução de instâncias.
- SET: indica a configuração do número de instâncias para um valor especificado.
 
 size Não Integer Especifica o tamanho da operação. O valor é um inteiro de 0 a 300. O valor padrão é 1. Este parâmetro pode ser definido como 0 somente quando operation é definida como SET. - Se scaling_resource_type for definido como SCALING_GROUP, esse parâmetro indicará o número de instâncias. O valor é um número inteiro de 0 a 300 e o valor padrão é 1.
- Se scaling_resource_type estiver definido como BANDWIDTH, este parâmetro indica a largura de banda (Mbit/s). O valor é um inteiro de 1 a 300 e o valor padrão é 1.
- Se scaling_resource_type for definido como SCALING_GROUP, size ou percentage podem ser definidos.
 percentage Não Integer Especifica a porcentagem de instâncias a serem operadas. Se operation estiver definida como ADD, REMOVE ou REDUCE, o valor deste parâmetro será um número inteiro de 1 a 20000. Se operation for definida como SET, o valor é um inteiro de 0 a 20000. - Se scaling_resource_type for definido como SCALING_GROUP, size ou percentage podem ser definidos. Se nem size nem percentage forem definidos, o valor padrão de size é 1.
- Se scaling_resource_type estiver definido como BANDWIDTH, percentage não estará disponível.
 limits Não Integer Especifica as restrições de operação. Se scaling_resource_type estiver definido como BANDWIDTH e operation não for SET, este parâmetro terá efeito e a unidade será Mbit/s. - Se operation estiver definida como ADD, este parâmetro indica a largura de banda máxima permitida.
- Se operation estiver definida como REDUCE, este parâmetro indica a largura de banda mínima permitida.
 Tabela 5 Descrição do campo interval_alarm_actions Parâmetro Obrigatório Tipo Descrição lower_bound Não Double Especifica o limite inferior do intervalo de valores. O valor é nulo por padrão. Se o limite inferior do intervalo de valores for nulo, o limite superior deve ser menor ou igual a 0. O limite inferior mínimo permitido é -1,174271E108. upper_bound Não Double Especifica o limite superior do intervalo de valores. O valor é nulo por padrão. Se o limite superior do intervalo for nulo, o limite inferior deve ser maior ou igual a 0. O limite máximo permitido é 1,174271E108. operation Não String Especifica a operação a ser executada. A operação padrão é ADD. - Se scaling_resource_type for definido como SCALING_GROUP, as seguintes operações serão suportadas:
           - ADD: indica a adição de instâncias.
- REMOVE/REDUCE: indica a remoção ou redução de instâncias.
- SET: indica a configuração do número de instâncias para um valor especificado.
 
- Se scaling_resource_type for definido como BANDWIDTH, as seguintes operações serão suportadas:
           - ADD: indica a adição de instâncias.
- REDUCE: indica a redução de instâncias.
- SET: indica a configuração do número de instâncias para um valor especificado.
 
 size Não Integer Especifica o tamanho da operação. O valor é um inteiro de 0 a 300. O valor padrão é 1. Este parâmetro pode ser definido como 0 somente quando operation é definida como SET. - Se scaling_resource_type for definido como SCALING_GROUP, esse parâmetro indicará o número de instâncias. O valor é um número inteiro de 0 a 300 e o valor padrão é 1.
 - Se scaling_resource_type estiver definido como BANDWIDTH, este parâmetro indica a largura de banda (Mbit/s). O valor é um inteiro de 1 a 300 e o valor padrão é 1.
 - Se scaling_resource_type for definido como SCALING_GROUP, size ou percentage podem ser definidos.
 percentage Não Integer Especifica a porcentagem de instâncias a serem operadas. Quando a operação é ADD, REMOVE ou REDUCE, o valor é um número inteiro de 1 a 20000. Quando a operação é SET, o valor é um inteiro de 0 a 20000. - Se scaling_resource_type for definido como SCALING_GROUP, size ou percentage podem ser definidos. Se nem size nem percentage forem definidos, o valor padrão de size é 1.
 - Se scaling_resource_type estiver definido como BANDWIDTH, percentage não estará disponível.
 limits Não Integer Especifica as restrições de operação. Se scaling_resource_type estiver definido como BANDWIDTH e operation não for SET, este parâmetro terá efeito e a unidade será Mbit/s. - Se operation estiver definida como ADD, este parâmetro indica a largura de banda máxima permitida.
 - Se operation estiver definida como REDUCE, este parâmetro indica a largura de banda mínima permitida.
   - O intervalo de valores de alarme de uma política de dimensionamento refinada é o limite da regra de alarme mais os limites superior e inferior do intervalo de valores.
- Se o limite inferior de um intervalo de valores for nulo, o limite inferior mínimo será -1,174271E108. Se o limite superior do intervalo for nulo, o limite superior máximo será 1,174271E108.
 Por exemplo: Defina a regra de alarme para uma política de AS para CPU usage ≥ 30% e adicione os seguintes intervalos de dois valores: Scaling Action é definida como 30% ≤ CPU usage < 60%, add 1 instance. Então, lower_bound deve ser definido como 0 e upper_bound como 30. Scaling Action é definida como 60% ≤ CPU usage < positive infinite, add 2 instances. Em seguida, lower_bound deve ser definido como 30 e upper_bound como 1,174271E108 ou null. - Se nem o limite superior nem o limite inferior de um intervalo de valores for nulo, eles devem ser maiores ou iguais a, ou menores ou iguais a 0.
 - Se várias políticas de dimensionamento refinado forem adicionadas, seus intervalos de valor não poderão se sobrepor.
 - Se o operador de uma regra de alarme for =, nenhum intervalo pode ser adicionado.
 
- Exemplo de solicitação
   Este exemplo mostra como criar uma política de alarme chamada hth_aspolicy_1 com as seguintes configurações: o ID da regra de alarme é al1513822380493GvlJKZwA8; quando o limite de alarme é alcançado de acordo com a regra de alarme, a largura de banda com ID 8ade64b5-d685-40b8-8582-4ce306ea37a6 será aumentada em 1 Mbit/s até que a largura de banda atinja 10 Mbit/s.POST https://{Endpoint}/autoscaling-api/v2/{project_id}/scaling_policy { "alarm_id": "al1513822380493GvlJKZwA8", "cool_down_time": 900, "scaling_resource_id": "8ade64b5-d685-40b8-8582-4ce306ea37a6", "scaling_resource_type": "BANDWIDTH", "scaling_policy_action": { "size": 1, "operation": "ADD", "limits": 10 }, "scaling_policy_name": "hth_aspolicy_1", "scaling_policy_type": "ALARM" }
Mensagem de resposta
- Parâmetros de resposta 
    Tabela 6 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.
 
    