伸缩规则相关接口
所有文档
menu

弹性伸缩 AS

伸缩规则相关接口

产品详情自助选购

创建伸缩规则

接口描述

创建伸缩的伸缩规则,包括定时扩缩容、周期性扩缩容以及指标触发式的扩缩容。

请求结构

Method: Post

Url: /v1/rule

请求参数

Body

参数名 类型 是否必需 参数位置 描述
ruleName String RequestBody参数 规则名称
groupId String RequestBody参数 伸缩组id
state RuleStateEnum RequestBody参数 规则状态。包括:ENABLE(可用),DISABLE(禁用)
type RuleType RequestBody参数 规则类型。包括:CRONTAB(定时伸缩),ALARM(报警触发伸缩),PERIOD(周期伸缩)
actionType RuleActionType RequestBody参数 动作类型。包括:INCREASE(扩容),DECREASE(缩容),ADJUST(调整至)
actionNum int RequestBody参数 动作数量
cooldownInSec int RequestBody参数 冷却时间(秒)
asAlarmRule AlarmRule RequestBody参数 报警类规则:报警规则信息,详情见附录
cronTime String RequestBody参数 定时规则或周期规则:当日执行时间。如12:30。
periodType PeriodType RequestBody参数 周期规则:周期单位,可选值为DAY/WEEK/MONTH/CronExpression
periodValue int RequestBody参数 周期规则:周期触发日期,1-7标识周1-周日,1-31表示1号到31号,与periodType相关
periodStartTime Timestamp RequestBody参数 周期规则:周期有效期开始时间。如:2023-12-10T12:00:00Z
periodEndTime Timestamp RequestBody参数 周期规则:周期有效期结束时间。如:2023-12-11T12:00:00Z

响应参数

参数名 类型 描述
ruleId String 规则ID

请求示例

POST /v1/rule

// 创建一条 每周二 12:30 执行的 扩容一个 实例的周期伸缩规则
request body:
{
    "ruleName": "rule_name",
    "type": "PERIOD",
    "actionType": "INCREASE",
    "actionNum": 1,
    "cooldownInSec": 300,
    "state": "ENABLE",
    "periodType": "WEEK",
    "periodStartTime": "2023-12-11T11:00:00Z",
    "periodEndTime": "2023-12-18T11:00:00Z",
    "cronTime": "12:30",
    "periodValue": 2,
    "groupId": "asg-SNKxxxxx"
}

响应示例

{
    "ruleId": "asrule-iuVxxxxx"
}

修改伸缩规则

接口描述

修改伸缩的伸缩规则,包括定时扩缩容、周期性扩缩容以及指标触发式的规则修改。

请求结构

Method: Put

Url: /v1/rule/{ruleId}

请求参数

参数名 类型 是否必需 描述
ruleId String 规则Id

Body

参数名 类型 是否必需 描述
ruleName String 规则名称
groupId String 伸缩组id
state RuleStateEnum 规则状态。包括:ENABLE(可用),DISABLE(禁用)
type RuleType 规则类型。包括:CRONTAB(定时伸缩),ALARM(报警触发伸缩),PERIOD(周期伸缩)
actionType RuleActionType 动作类型。包括:INCREASE(扩容),DECREASE(缩容),ADJUST(调整至)
actionNum int 动作数量
cooldownInSec int 冷却时间(秒)
asAlarmRule AlarmRule 报警类规则:报警规则信息,详情见附录
cronTime String 定时规则或周期规则:当日执行时间。如12:30。
periodType PeriodType 周期规则:周期单位,可选值为DAY/WEEK/MONTH/CronExpression
periodValue int 周期规则:周期触发日期,1-7标识周1-周日,1-31表示1号到31号,与periodType相关
periodStartTime Timestamp 周期规则:周期有效期开始时间。如:2023-12-10T12:00:00Z
periodEndTime Timestamp 周期规则:周期有效期结束时间。如:2023-12-11T12:00:00Z

响应参数

无响应参数

请求示例

POST /v1/rule/asrule-iuV29a25

// 修改规则为 每周二 12:40 执行的 扩容一个 实例的周期伸缩规则
request body:
{
    "ruleName": "rule_name",
    "type": "PERIOD",
    "actionType": "INCREASE",
    "actionNum": 1,
    "cooldownInSec": 300,
    "state": "ENABLE",
    "periodType": "WEEK",
    "periodStartTime": "2023-12-11T11:00:00Z",
    "periodEndTime": "2023-12-18T11:00:00Z",
    "cronTime": "12:40",
    "periodValue": 2,
    "groupId": "asg-SNKxxxxx"
}

响应示例

无返回

查询伸缩规则列表

接口描述

根据条件查询伸缩组的伸缩规则。

请求结构

Method: Get

Url: /v1/rule

请求参数

参数名 类型 是否必须 描述
groupid String 伸缩组ID
keyword String 过滤规则的关键词
keywordType String 关键词的类型
order String 规则的顺序,默认为"desc"
orderBy String 排序规则的字段,默认为"createTime"
pageNo Integer 页码,默认为1
pageSize Integer 页面大小,默认为1000

响应参数

名称 类型 描述
orderBy String 排序字段
order String 排序方式
pageNo int 页码数
pageSize int 每页返回结果数
totalCount int 符合条件的查询结果数
result List 查询结果

请求示例

GET /v1/rule?
groupid=asg-SNKxxxxx
&keywordType=ruleName
&keyword=rule
&order=desc
&orderBy=createTime
&pageNo=1
&pageSize=10

响应示例

{
    "orderBy": "createTime",
    "order": "desc",
    "pageNo": 1,
    "pageSize": 10,
    "totalCount": 1,
    "result": [
        {
            "ruleId": "asrule-iuVxxxxx",
            "ruleName": "rule_name",
            "groupId": "asg-SNKuaxHV",
            "accountId": "a0d04d7c202140xxxxx55ff7b6752ce4",
            "state": "ENABLE",
            "type": "PERIOD",
            "cronTime": "12:40",
            "actionType": "INCREASE",
            "actionNum": 1,
            "cooldownInSec": 300,
            "createTime": "2023-12-11T11:46:21Z",
            "lastExecutionTime": "1970-01-05T04:00:00Z",
            "periodStartTime": "2023-12-11T11:00:00Z",
            "periodEndTime": "2023-12-18T11:00:00Z",
            "periodType": "WEEK",
            "periodValue": 2
        }
    ]
}

查询伸缩规则详情

接口描述

查询指定规则详情

请求结构

Method: Get

Url: /v1/rule/{ruleId}

请求参数

参数名 类型 是否必须 描述
ruleId String 规则ID

响应参数

名称 类型 描述
resule RuleVO 规则内容

请求示例

GET /v1/rule/asrule-iuVxxxxx

响应示例

{
    "ruleId": "asrule-iuVxxxxx",
    "ruleName": "rule_name",
    "groupId": "asg-SNKuaxHV",
    "accountId": "a0d04d7c202140xxxxx55ff7b6752ce4",
    "state": "ENABLE",
    "type": "PERIOD",
    "cronTime": "12:40",
    "actionType": "INCREASE",
    "actionNum": 1,
    "cooldownInSec": 300,
    "createTime": "2023-12-11T11:46:21Z",
    "lastExecutionTime": "1970-01-05T04:00:00Z",
    "periodStartTime": "2023-12-11T11:00:00Z",
    "periodEndTime": "2023-12-18T11:00:00Z",
    "periodType": "WEEK",
    "periodValue": 2
}

删除伸缩规则

接口描述

批量删除指定的规则。

请求结构

Method: Post

Url: /v1/rule?delete

请求参数

Body

参数名 类型 是否必需 描述
ruleIds List 规则id列表。
groupIds List 伸缩组id列表。若ruleIds为空,则删除groupIds伸缩组下所有规则。

响应参数

无响应参数

请求示例

POST /v1/rule?delete

request body:
{
    "ruleIds": [
        "asrule-iuVxxxxx"
    ],
    "groupIds": []
}

响应示例

无返回

附录

RuleVO

字段名 类型 描述
ruleId String 规则ID
ruleName String 规则名称
groupId String 伸缩组ID
accountId String 用户ID
state String 规则的状态
type RuleType 规则的类型
asAlarmRule AlarmRule 报警类规则:报警规则信息,详情见附录
cronTime String 定时规则或周期规则:当日执行时间。如12:30。
actionType RuleActionType 动作类型。包括:INCREASE(扩容),DECREASE(缩容),ADJUST(调整至)
actionNum int 动作数量
cooldownInSec int 冷却时间(秒)
periodType PeriodType 周期规则:周期单位,可选值为DAY/WEEK/MONTH/CronExpression
periodValue int 周期规则:周期触发日期,1-7标识周1-周日,1-31表示1号到31号,与periodType相关
periodStartTime Timestamp 周期规则:周期有效期开始时间。如:2023-12-10T12:00:00Z
periodEndTime Timestamp 周期规则:周期有效期结束时间。如:2023-12-11T12:00:00Z
createTime Timestamp 规则创建时间
lastExecutionTime Timestamp 规则最后修改时间

AlarmRule

字段名 类型 描述
alarmName String BCM策略ID,使用BCM已有策略时候,传入对应策略的唯一id。如:9b623be0axxxxxxxx09026e8638e6cc6
insufficientCycle int 无数据状态触发的持续时间,单位s
rules List<List> 创建伸缩组的规则时,传入具体的判断规则,支持且规则、或规则。

Rule

字段名 类型 描述
index long 报警规则的索引,当多个规则共同组成同一报警规则,它们的索引相同
metric String 监控指标名称,如:vCPUUsagePercent
periodInSecond long 多长时间计算一次是否满足各个报警规则,即单个评估周期时长,单位s
statistics String 统计方式,可选值为:maximum(最大值)、minimum(最小值)、sum(和值)、average(平均值)
threshold String 报警规则的阈值
comparisonOperator String 和阈值比较的算符,取值为>=、>、=、<、<=
evaluationPeriodCount int 触发报警所需连续发生次数

RuleStateEnum

描述
ENABLE 规则启动
DISABLE 规则禁用

RuleType

描述
CRONTAB 定时伸缩规则
ALARM 报警触发伸缩规则
PERIOD 周期伸缩规则

RuleActionType

描述
INCREASE 扩容
DECREASE 缩容
ADJUST 调整至

PeriodType

描述
DAY 每天
WEEK 每周
MONTH 每月
CronExpression Cron表达式,如:30 12 1 12 ? (每年12月1日12:30分执行)
上一篇
附录
下一篇
伸缩活动相关接口