Creación de una política AS (V2)
Función
Esta API se utiliza para crear una política AS para un grupo AS o ancho de banda.
La diferencia entre las API V2 y V1 para crear una política AS es que V2 admite la creación de una política AS para ajustar el ancho de banda y diferenciar los recursos de ajuste por sus tipos.
URI
POST /autoscaling-api/v2/{project_id}/scaling_policy
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
String |
Especifica el ID del proyecto. |
Mensaje de solicitud
- Parámetros de solicitud
Tabla 2 Parámetros de solicitud Parámetro
Obligatorio
Tipo
Descripción
scaling_policy_name
Sí
String
Especifica el nombre de política AS. El nombre solo contiene letras, dígitos, guiones bajos (_), y guiones (-) y no puede superar los 64 caracteres.
scaling_resource_id
Sí
String
Especifica el ID de recurso de ajuste, que es el ID único de un grupo AS o ancho de banda.
- If scaling_resource_type is set to SCALING_GROUP, this parameter indicates the unique AS group ID.
- Si scaling_resource_type es BANDWIDTH, este parámetro indica el ID de ancho de banda único.
NOTA:
AS no puede escalar los anchos de banda anuales/mensuales.
scaling_resource_type
Sí
String
Especifica el tipo de recurso de ajuste.
- Grupo de AS: SCALING_GROUP
- Ancho de banda: BANDWIDTH
scaling_policy_type
Sí
String
Especifica el tipo de política AS.
- ALARM (correspondiente a alarm_id): indica que la acción de ajuste es activada por una alarma.
- SCHEDULED (correspondiente a scheduled_policy): indica que la acción de ajuste se activa según lo programado.
- RECURRENCE (correspondiente a scheduled_policy): indica que la acción de ajuste se activa periódicamente.
- INTERVAL_ALARM (correspondiente a alarm_id): indica que la acción de ajuste se desencadena mediante una política de ajuste refinada.
alarm_id
No
String
Especifica el ID de regla de alarma. Este parámetro es obligatorio cuando se establece scaling_policy_type en ALARM. Después de especificar este parámetro, el valor de scheduled_policy no tiene efecto.
Después de crear una política de alarma, el sistema agrega automáticamente una actividad de activación de alarma del tipo de escala automática al campo alarm_actions de la regla de alarma especificada por el valor del parámetro.
Puede obtener el valor del parámetro consultando las reglas de alarma de Cloud Eye. Para obtener más información, consulte Consulta de la lista de reglas de alarma en la Referencia de API de Cloud Eye.
scheduled_policy
No
scheduled_policy object
Especifica la política AS periódica o programada. Este parámetro es obligatorio cuando se establece scaling_policy_type en SCHEDULED o RECURRENCE. Después de especificar este parámetro, el valor de alarm_id no tiene efecto. Para más detalles, consulte Tabla 3.
scaling_policy_action
No
scaling_policy_action object
Especifica la acción de ajuste de la política AS. Para más detalles, consulte Tabla 4.
interval_alarm_actions
No
Array of interval_alarm_actions objects
Especifica el rango de valores de una política de alarma. Este parámetro es válido y obligatorio cuando se establece scaling_policy_type en INTERVAL_ALARM. Para más detalles, consulte Tabla 5.
cool_down_time
No
Integer
Especifica el período de enfriamiento (en segundos). El valor oscila entre 0 y 86400 y es 300 de forma predeterminada.
description
No
String
Especifica la descripción de la política AS. El valor puede contener de 1 a 256 caracteres.
Tabla 3 Descripción del campo scheduled_policy Parámetro
Obligatorio
Tipo
Descripción
launch_time
Sí
String
Especifica la hora a la que se activa la acción de ajuste. El formato de tiempo cumple con UTC.
- Si el valor scaling_policy_type es SCHEDULED, el formato de tiempo es YYYY-MM-DDThh:mmZ.
- Si se establece scaling_policy_type a RECURRENCE, el formato de hora es hh:mm.
recurrence_type
No
String
Especifica el tipo de activación periódica. Este parámetro es obligatorio cuando scaling_policy_type es RECURRENCE.
- Daily: indica que la acción de ajuste se activa una vez al día.
- Weekly: indica que la acción de ajuste se activa una vez a la semana.
- Monthly: indica que la acción de ajuste se activa una vez al mes.
recurrence_value
No
String
Especifica el día en que se desencadena una acción de ajuste periódica. Este parámetro es obligatorio cuando scaling_policy_type es RECURRENCE.
- Si recurrence_type se establece en Diario, el valor es null, lo que indica que la acción de ajuste se activa una vez al día.
- Si recurrence_type se establece en Weekly, el valor oscila entre 1 (domingo) y 7 (sábado). Los dígitos se refieren a las fechas de cada semana y separados por una coma, como 1,3,5.
- Si recurrence_type se establece en Monthly, el valor varía de 1 a 31. Los dígitos se refieren a las fechas de cada mes y separados por una coma, como 1,10,13,28.
NOTA:
Cuando recurrence_type es Daily, este parámetro no tiene efecto.
start_time
No
String
Especifica la hora de inicio de la acción de escala que se activa periódicamente. El formato de tiempo cumple con UTC. El valor predeterminado es la hora local.
El formato de hora es YYYY-MM-DDThh:mmZ.
end_time
No
String
Especifica la hora de finalización de la acción de escala que se activa periódicamente. El formato de tiempo cumple con UTC. Este parámetro es obligatorio cuando scaling_policy_type es RECURRENCE. Cuando la acción de ajuste se activa periódicamente, la hora de finalización no puede ser anterior a la hora actual y de inicio.
El formato de hora es YYYY-MM-DDThh:mmZ.
Tabla 4 Descripción del campo scaling_policy_action Parámetro
Obligatorio
Tipo
Descripción
operation
No
String
Especifica la operación que se va a realizar. La operación predeterminada es ADD.- Si se establece scaling_resource_type en SCALING_GROUP, se admiten las siguientes operaciones:
- ADD: indica la adición de instancias.
- REMOVE/REDUCE: indica la eliminación o reducción de instancias.
- SET: indica establecer el número de instancias en un valor especificado.
- Si se establece scaling_resource_type en BANDWIDTH, se admiten las siguientes operaciones:
- ADD: indica la adición de instancias.
- REDUCE: indica la reducción de instancias.
- SET: indica establecer el número de instancias en un valor especificado.
size
No
Integer
Especifica el tamaño de la operación. El valor es un entero de 0 a 300. El valor predeterminado es 1. Este parámetro se puede establecer en 0 solo cuando operation se establece en SET.
- Si scaling_resource_type se establece en SCALING_GROUP, este parámetro indica el número de instancias. El valor es un entero de 0 a 300 y el valor predeterminado es 1.
- Si scaling_resource_type se establece en BANDWIDTH, este parámetro indica el ancho de banda (Mbit/s). El valor es un entero de 1 a 300 y el valor predeterminado es 1.
- Si scaling_resource_type es SCALING_GROUP, se puede establecer size o percentage.
percentage
No
Integer
Especifica el porcentaje de instancias que se van a operar. Si operation se establece en ADD, REMOVE o REDUCE, el valor de este parámetro es un entero de 1 a 20000. Si operation se establece en SET, el valor es un entero de 0 a 20000.
- Si scaling_resource_type es SCALING_GROUP, se puede establecer size o percentage. Si no se establece size ni percentage, el valor predeterminado de size es 1.
- Si se establece scaling_resource_type en BANDWIDTH, percentage no estará disponible.
limits
No
Integer
Especifica las restricciones de operación.
Si scaling_resource_type se establece en BANDWIDTH y operation no es SET, este parámetro tiene efecto y la unidad es Mbit/s.
- Si operation se establece en ADD, este parámetro indica el ancho de banda máximo permitido.
- Si operation se establece en REDUCE, este parámetro indica el ancho de banda mínimo permitido.
Tabla 5 Descripción del campo interval_alarm_actions Parámetro
Obligatorio
Tipo
Descripción
lower_bound
No
Double
Especifica el límite inferior del rango de valores. El valor es null por defecto.
Si el límite inferior del intervalo de valores es nulo, el límite superior debe ser menor o igual a 0.
El límite inferior mínimo permitido es -1.174271E108.
upper_bound
No
Double
Especifica el límite superior del rango de valores. El valor es null por defecto.
Si el límite superior del intervalo es ´null, el límite inferior debe ser mayor o igual a 0.
El límite superior máximo permitido es 1.174271E108.
operation
No
String
Especifica la operación que se va a realizar. La operación predeterminada es ADD.
- Si se establece scaling_resource_type en SCALING_GROUP, se admiten las siguientes operaciones:
- ADD: indica la adición de instancias.
- REMOVE/REDUCE: indica la eliminación o reducción de instancias.
- SET: indica establecer el número de instancias en un valor especificado.
- Si se establece scaling_resource_type en BANDWIDTH, se admiten las siguientes operaciones:
- ADD: indica la adición de instancias.
- REDUCE: indica la reducción de instancias.
- SET: indica establecer el número de instancias en un valor especificado.
size
No
Integer
Especifica el tamaño de la operación. El valor es un entero de 0 a 300. El valor predeterminado es 1.
Este parámetro se puede establecer en 0 solo cuando operation se establece en SET.
- Si scaling_resource_type se establece en SCALING_GROUP, este parámetro indica el número de instancias. El valor es un entero de 0 a 300 y el valor predeterminado es 1.
- Si scaling_resource_type se establece en BANDWIDTH, este parámetro indica el ancho de banda (Mbit/s). El valor es un entero de 1 a 300 y el valor predeterminado es 1.
- Si scaling_resource_type es SCALING_GROUP, se puede establecer size o percentage.
percentage
No
Integer
Especifica el porcentaje de instancias que se van a operar. Cuando la operación es ADD, REMOVE o REDUCE, el valor es un entero de 1 a 20000.
Cuando la operación es SET, el valor es un entero de 0 a 20000.
- Si scaling_resource_type es SCALING_GROUP, se puede establecer size o percentage. Si no se establece size ni percentage, el valor predeterminado de size es 1.
- Si se establece scaling_resource_type en BANDWIDTH, percentage no estará disponible.
limits
No
Integer
Especifica las restricciones de operación.
Si scaling_resource_type se establece en BANDWIDTH y operation no es SET, este parámetro tiene efecto y la unidad es Mbit/s.
- Si operation se establece en ADD, este parámetro indica el ancho de banda máximo permitido.
- Si operation se establece en REDUCE, este parámetro indica el ancho de banda mínimo permitido.
- El intervalo de valores de alarma de una política de escala refinada es el umbral de la regla de alarma más los límites superior e inferior del intervalo de valores.
- Si el límite inferior de un intervalo de valores es nulo, el límite inferior mínimo es -1.174271E108. Si el límite superior del intervalo es nulo, el límite superior máximo es 1.174271E108.
Por ejemplo:
Puede establecer la regla de alarma para una política AS en CPU usage ≥ 30%, y agregar los dos rangos de valores siguientes:
Scaling Action se establece en 30% ≤ CPU usage < 60%, add 1 instance. A continuación, lower_bound debe establecerse en 0 y upper_bound en 30.
Scaling Action se establece en 60% ≤ CPU usage < positive infinite, add 2 instances. A continuación, lower_bound debe establecerse en 30 y upper_bound en 1.174271E108 o null.
- Si ni el límite superior ni el límite inferior de un intervalo de valores es nulo, ambos deben ser mayores o iguales a, o menores o iguales a 0.
- Si se agregan varias políticas de ajuste refinadas, sus rangos de valores no pueden superponerse.
- Si el operador de una regla de alarma es =, no se puede agregar rango.
- Ejemplo de la solicitud
Este ejemplo muestra cómo crear una política de alarma denominada hth_aspolicy_1 con las siguientes configuraciones: El ID de regla de alarma es al1513822380493GvlJKZwA8; cuando se alcanza el umbral de alarma de acuerdo con la regla de alarma, el ancho de banda con ID 8ade64b5-d685-40b8-8582-4ce306ea37a6 se incrementará en 1 Mbit/s hasta que el ancho de banda alcance 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" }
Mensaje de la respuesta
- Parámetros de respuesta
Tabla 6 Parámetros de respuesta Parámetro
Tipo
Descripción
scaling_policy_id
String
Especifica el ID de política AS.
- Ejemplo de la respuesta
{ "scaling_policy_id": "0h327883-324n-4dzd-9c61-68d03ee191dd" }
Valores devueltos
- Normal
- Anormal
Valor devuelto
Descripción
400 Bad Request
Se produjo un error en el servidor al procesar la solicitud.
401 Unauthorized
Debe introducir el nombre de usuario y la contraseña para acceder a la página solicitada.
403 Forbidden
Está prohibido el acceso a la página solicitada.
404 Not Found
No se pudo encontrar la página solicitada.
405 Method Not Allowed
No se le permite utilizar el método especificado en la solicitud.
406 Not Acceptable
El cliente no pudo aceptar la respuesta generada por el servidor.
407 Proxy Authentication Required
Debe utilizar el servidor proxy para la autenticación para que la solicitud pueda procesarse.
408 Request Timeout
Se agotó el tiempo de espera de la solicitud.
409 Conflict
La solicitud no se pudo procesar debido a un conflicto.
500 Internal Server Error
Se produjo un error al completar la solicitud debido a un problema de servicio interno.
501 Not Implemented
Error al completar la solicitud porque el servidor no admite la función solicitada.
502 Bad Gateway
Error al completar la solicitud porque la solicitud no es válida.
503 Service Unavailable
Error al completar la solicitud porque el sistema no está disponible.
504 Gateway Timeout
Se ha producido un error de tiempo de espera de la puerta de enlace.
Códigos de error
Consulte Códigos de error