创建弹性伸缩策略(V2版本) - CreateScalingV2Policy
功能介绍
可针对不同类型资源如伸缩组或带宽,创建弹性伸缩策略。
创建弹性伸缩策略V2版本与V1版本的区别在于,V2版本支持创建对带宽资源进行调整的策略,通过伸缩资源类型区分伸缩资源。
调试
您可以在API Explorer中调试该接口。
URI
POST /autoscaling-api/v2/{project_id}/scaling_policy
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 参数解释: 项目ID。获取方式请参见获取项目ID。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| scaling_policy_name | 是 | String | 参数解释: 伸缩策略名称。 约束限制: 不涉及 取值范围: 1-64个字符,只能包含中文、字母、数字、下划线或中划线。 默认取值: 不涉及 |
| scaling_resource_id | 是 | String | 参数解释: 伸缩资源ID,伸缩组唯一标识或带宽唯一标识。伸缩组ID可通过查询弹性伸缩组列表 - ListScalingGroups获取,带宽ID可通过查询带宽列表获取。
约束限制: 弹性伸缩不支持对包年包月的带宽进行调整。 取值范围: 不涉及 默认取值: 不涉及 |
| scaling_resource_type | 是 | string | 参数解释: 伸缩资源类型 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
| scaling_policy_type | 是 | String | 参数解释: 策略类型 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
| alarm_id | 否 | String | 参数解释: 告警ID,即告警规则的ID。创建告警策略成功后,会自动为该告警ID对应的告警规则的alarm_actions字段增加类型为autoscaling的告警触发动作。 告警ID通过查询云监控告警规则列表获取,请参考《云监控API参考》的“查询告警规则列表”。 约束限制: 当scaling_policy_type为ALARM时该项必选,此时scheduled_policy不生效。 取值范围: 不涉及 默认取值: 不涉及 |
| scheduled_policy | 否 | scheduled_policy object | 参数解释: 定时、周期任务策略。详情请见表 scheduled_policy字段数据结构说明。 约束限制: 当scaling_policy_type为SCHEDULED或RECURRENCE时该项必选,此时alarm_id不生效。 |
| scaling_policy_action | 否 | scaling_policy_action object | 参数解释: 策略执行具体动作。详情请见表 scaling_policy_action字段数据结构说明。 约束限制: 不涉及 |
| interval_alarm_actions | 否 | Array of interval_alarm_actions objects | 参数解释: 伸缩策略告警区间,详情请见表 interval_alarm_actions字段数据结构说明。 约束限制: 当scaling_policy_type为INTERVAL_ALARM时,该参数生效且必填。 |
| cool_down_time | 否 | Integer | 参数解释: 冷却时间,单位是秒。 约束限制: 伸缩组在冷却时间内,会拒绝告警策略的触发,其他类型的伸缩策略(如定时策略和周期策略)及手动触发不受限制。 取值范围: 0-86400秒。 默认取值: 300 |
| description | 否 | String | 参数解释: 伸缩策略描述。 约束限制: 不涉及 取值范围: 1-256个字符 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| launch_time | 是 | String | 参数解释: 触发时间,遵循UTC时间。 约束限制:
取值范围: 不涉及 默认取值: 不涉及 |
| recurrence_type | 否 | String | 参数解释: 周期触发类型。 约束限制: scaling_policy_type为RECURRENCE时该项必选。 取值范围:
默认取值: 不涉及 |
| recurrence_value | 否 | String | 参数解释: 周期触发任务数值。 约束限制:
取值范围:
默认取值: 不涉及 |
| start_time | 否 | String | 参数解释: 周期策略重复执行开始时间,遵循UTC时间。 格式为:YYYY-MM-DDThh:mmZ。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 默认为当前时间。 |
| end_time | 否 | String | 参数解释: 周期策略重复执行结束时间,遵循UTC时间。 格式为:YYYY-MM-DDThh:mmZ。 约束限制:
取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| operation | 否 | String | 参数解释: 操作选项。 约束限制: 不涉及 取值范围:
默认取值: 默认为ADD。 |
| size | 否 | Integer | 参数解释: 操作大小。 约束限制:
取值范围:
默认取值: 默认为1。 |
| percentage | 否 | Integer | 参数解释: 操作百分比。 约束限制:
取值范围:
默认取值: 默认为1。 |
| limits | 否 | Integer | 参数解释: 操作限制。
约束限制: 当scaling_resource_type为BANDWIDTH,且operation不为SET时,limits参数生效,单位为Mbit/s。 取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| lower_bound | 否 | double | 参数解释: 区间下限。 约束限制:
取值范围: 不涉及 默认取值: 默认为空。 |
| upper_bound | 否 | double | 参数解释: 区间上限。 约束限制:
取值范围: 不涉及 默认取值: 默认为空。 |
| operation | 否 | String | 参数解释: 操作选项。 约束限制: 不涉及 取值范围:
默认取值: 默认为ADD。 |
| size | 否 | Integer | 参数解释: 操作大小。 约束限制:
取值范围:
默认取值: 默认为1。 |
| percentage | 否 | Integer | 参数解释: 操作百分比。 约束限制:
取值范围:
默认取值: 不涉及 |
| limits | 否 | Integer | 参数解释: 操作限制。
约束限制: 当scaling_resource_type为BANDWIDTH,且operation不为SET时,limits参数生效,单位为Mbit/s。 取值范围: 不涉及 默认取值: 不涉及 |
- 区间策略的告警数据范围实际为:告警规则的阈值 + 区间上下限。
- 区间下限为空时,实际告警数据范围下限为负无限,区间上限为空时,实际告警数据范围上限为正无限。
如:
伸缩策略使用的告警规则为“CPU利用率 >= 30%” ,添加两个区间:
执行动作为 “30% <= CPU利用率 < 60% ,增加一个实例”, 区间下限应设置为0,区间上限应设置为30。
执行动作为 “60% <= CPU利用率 < 正无限 ,增加两个实例”, 区间下限应设置为30,区间上限可不传入或设置为空。
- 区间上下限同时不为空时,必须同时大于等于0,或者同时小于等于0。
- 当为区间告警策略添加多个区间时,各区间不能重叠。
- 告警规则的运算比较符为“=”时,无法添加区间。
请求示例
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"
} 响应参数
| 参数 | 参数类型 | 描述 |
|---|---|---|
| scaling_policy_id | String | 参数解释: 伸缩策略ID 取值范围: 不涉及 |
响应示例
{
"scaling_policy_id": "0h327883-324n-4dzd-9c61-68d03ee191dd"
} 返回值
- 正常
- 异常
返回值
说明
400 Bad Request
服务器未能处理请求。
401 Unauthorized
被请求的页面需要用户名和密码。
403 Forbidden
对被请求的页面访问禁止。
404 Not Found
服务器无法找到被请求的页面。
405 Method Not Allowed
请求中指定的方法不被允许。
406 Not Acceptable
服务器生成的响应无法被客户端所接受。
407 Proxy Authentication Required
用户必须首先使用代理服务器进行验证,这样请求才会被处理。
408 Request Timeout
请求超出了服务器的等待时间。
409 Conflict
由于冲突,请求无法被完成。
500 Internal Server Error
请求未完成。服务异常。
501 Not Implemented
请求未完成。服务器不支持所请求的功能。
502 Bad Gateway
请求未完成。服务器从上游服务器收到一个无效的响应。
503 Service Unavailable
请求未完成。系统暂时异常。
504 Gateway Timeout
网关超时。
错误码
请参考错误码。