Creación de una política de AS
Función
Esta API se utiliza para crear una política AS.
- Una política de AS define si aumentar o disminuir el número de instancias en un grupo de AS. Si el número y el número esperado de instancias en un grupo AS son diferentes debido a la ejecución de la política AS, AS ajusta automáticamente el número de instancias al esperado.
- AS admite las siguientes políticas: política activada por alarma, política periódica y política programada.
- En la ejecución de la política AS, puede establecer el número de instancias a escalar o realizar una acción de escala de acuerdo con un porcentaje especificado en la política AS.
URI
POST /autoscaling-api/v1/{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_group_id
Sí
String
Especifica el ID de grupo AS, que se puede obtener mediante la API para consultar grupos AS. Para más detalles, consulte Consulta de grupos AS.
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.
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 regla 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.
cool_down_time
No
Integer
Especifica el período de enfriamiento (en segundos). El valor varía de 0 a 86400 y es 300 de forma predeterminada.
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.
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.
- ADD: agrega el número especificado de instancias al grupo AS.
- REMOVE/REDUCE: elimina o reduce el número especificado de instancias del grupo AS.
- SET: establece el número de instancias en el grupo AS.
instance_number
No
Integer
Especifica el número de instancias que se van a operar. El número predeterminado es 1. El rango de valores es el siguiente para una cuota predeterminada:
- Si operation se establece en SET, el valor varía de 0 a 300.
- Si operation se establece en ADD, REMOVE o REDUCE, el valor varía de 1 a 300.
NOTA:Se requiere instance_number o instance_percentage.
instance_percentage
No
Integer
Especifica el porcentaje de instancias que se van a operar. Puede aumentar, disminuir o establecer el número de instancias de un grupo AS en el porcentaje especificado del número actual de instancias. Si operation se establece en ADD, REMOVE o REDUCE, el valor es un entero de 1 a 20000. Si operation se establece en SET, el valor es un entero de 0 a 20000.
Si no se especifica instance_number ni instance_percentage, el número de instancias a operar es 1.
Se requiere instance_number o instance_percentage.
- Ejemplo de la solicitud
En este ejemplo se muestra cómo crear una política AS periódica denominada as-policy-7a75. La política entra en vigor desde 2015-12-14T03:34Z through 2015-12-27T03:34Z. Durante este período, se añadirá una instancia al grupo AS con ID 5bc3aa02-b83e-454c-aba1-4d2095c68f8b a las 16:00 todos los días.
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" }
Mensaje de la respuesta
- Parámetros de respuesta
Tabla 5 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