伸缩组相关接口
更新时间:2024-06-13
创建伸缩组
接口描述
创建伸缩组的接口。
请求结构
Method: Post
Url: /v1/group
请求参数
Body
参数名 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
groupName | String | 是 | RequestBody参数 | 伸缩组名称 |
zoneInfo | List<ZoneInfo > | 是 | RequestBody参数 | 伸缩组所在可用区 |
config | GroupConfig | 是 | RequestBody参数 | 伸缩组边界配置 |
keypairId | String | 否 | RequestBody参数 | 创建实例时使用的密钥对 ID |
keypairName | String | 否 | RequestBody参数 | 创建实例时使用的密钥对名称 |
blb | List<BlbInfo> | 否 | RequestBody参数 | 伸缩组绑定BLB,可绑定多个 |
rds | List | 否 | RequestBody参数 | 伸缩组绑定RDS,可绑定多个 |
scs | List | 否 | RequestBody参数 | 伸缩组绑定SCS,可绑定多个 |
healthCheck | HealthCheckConfig | 否 | RequestBody参数 | 健康检查相关配置 |
expansionStrategy | String | 否 | RequestBody参数 | 伸缩组扩容时策略,单可用区时默认为Priority;Priority - 在单可用区优先创建,Balanced - 在所有可用区均衡创建 |
shrinkageStrategy | String | 否 | RequestBody参数 | 伸缩组缩容时策略;Earlier - 删除先创建实例,Later - 删除后创建实例 |
assignTagInfo | AssignTagInfo | 是 | 伸缩组关联标签 | 伸缩组关联标签 |
nodes | List<NodeInfo> | 是 | RequestBody参数 | 伸缩组扩容时节点配置 |
eip | EipInfo | 否 | RequestBody参数 | 伸缩组绑定EIP配置 |
billing | BillingInfo | 否 | RequestBody参数 | 伸缩组Billing,后付费-post,抢占式-bidding |
cmdConfig | CmdConfig | 是 | RequestBody参数 | 扩缩容脚本配置 |
bccNameConfig | BccNameConfig | 否 | RequestBody参数 | 创建 bcc 名称相关配置 |
ZoneInfo
参数名 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
zone | String | 是 | RequestBody参数 | 可用区 |
subnetId | String | 是 | RequestBody参数 | 子网ID |
subnetUuid | String | 否 | RequestBody参数 | 子网UUID |
subnetName | String | 否 | RequestBody参数 | 子网名称 |
subnetType | String | 否 | RequestBody参数 | 子网类型 |
GroupConfig
参数名 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
minNodeNum | int | 是 | RequestBody参数 | 最小节点数量 |
maxNodeNum | int | 是 | RequestBody参数 | 最大节点数量 |
cooldownInSec | int | 是 | RequestBody参数 | 冷却时间 |
expectNum | int | 是 | RequestBody参数 | 期望节点数,不设置需要填写-1 |
BlbInfo
参数名 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
blbId | String | 否 | RequestBody参数 | BLB实例ID |
blbName | String | 否 | RequestBody参数 | BLB实例名称 |
blbType | String | 否 | RequestBody参数 | blbType类型:Blb-普通型BLB,AppBLb-应用型BLB,Ipv6Blb-ipv6型BLB |
sgIds | List | 否 | RequestBody参数 | 当blb类型为应用型BLB时,服务器组必填,可选多个。其他类型BLB不需要填写该值。 |
EipInfo
参数名 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
ifBindEip | Boolean | 否 | RequestBody参数 | 是否绑定EIP |
bandwidthInMbps | int | 否 | RequestBody参数 | EIP带宽 |
eipProductType | String | 否 | RequestBody参数 | EIP产品类型 |
purchaseType | String | 否 | RequestBody参数 | 购买类型 |
NodeInfo
参数名 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
spec | String | 否 | RequestBody参数 | 套餐规格 |
cpuCount | int | 是 | RequestBody参数 | CPU数量 |
memoryCapacityInGB | int | 是 | RequestBody参数 | 磁盘容量 |
sysDiskType | String | 是 | RequestBody参数 | 系统盘类型 |
sysDiskInGB | int | 是 | RequestBody参数 | 系统盘大小 |
bidModel | String | 否 | RequestBody参数 | 抢占式实例释放策略:市场价释放-market,自定义释放价格-custom |
bidPrice | String | 否 | RequestBody参数 | 自定义释放时,价格值 |
ephemeralDisks | List<EphemeralDisk> | 否 | RequestBody参数 | 本地盘信息 |
instanceType | String | 是 | RequestBody参数 | 实例类型 |
gpuCount | int | 否 | RequestBody参数 | gpu数量 |
gpuCard | String | 否 | RequestBody参数 | gpu卡属性 |
fpgaCard | String | 否 | RequestBody参数 | fpga卡属性 |
fpgaCount | int | 否 | RequestBody参数 | fpga卡数量 |
containsFpga | Boolean | 否 | RequestBody参数 | 是否包含fpga卡 |
imageId | String | 是 | RequestBody参数 | 实例镜像ID |
imageName | String | 否 | RequestBody参数 | 实例镜像名称 |
imageType | String | 否 | RequestBody参数 | 实例镜像类型 |
kunlunCard | int | 否 | RequestBody参数 | 昆仑卡属性 |
kunlunCount | int | 否 | RequestBody参数 | 昆仑卡数量 |
osType | String | 否 | RequestBody参数 | 操作系统类型 |
osName | String | 否 | RequestBody参数 | 操作系统名称 |
osVersion | String | 否 | RequestBody参数 | 操作系统版本 |
osArch | String | 否 | RequestBody参数 | |
securityGroupId | String | 是 | RequestBody参数 | 安全组ID |
securityGroupName | String | 否 | RequestBody参数 | 安全组名称 |
totalCount | int | 否 | RequestBody参数 | 总数量 |
aspId | String | 否 | RequestBody参数 | 子网类型 |
cds | List<CdsInfo> | 否 | RequestBody参数 | 本地存储信息 |
zoneSubnet | String | 是 | RequestBody参数 | zone subnet 信息json, 对应类为List |
userData | String | 否 | RequestBody参数 | 用户高级配置能力 |
priorities | int | 是 | RequestBody参数 | 模板顺序 |
templateId | String | 否 | RequestBody参数 | 所属模板的ID |
EphemeralDisk
参数名 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
storageType | String | 否 | RequestBody参数 | 本地盘类型 |
sizeInGB | int | 否 | RequestBody参数 | 本地盘大小 |
CdsInfo
参数名 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
volumeType | String | 否 | RequestBody参数 | 磁盘类型 |
sizeInGB | int | 否 | RequestBody参数 | 磁盘大小 |
snapshotId | String | 否 | RequestBody参数 | 磁盘快照ID |
snapshotName | String | 否 | RequestBody参数 | 磁盘快照名称 |
HealthCheckConfig
参数名 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
healthCheckInterval | String | 否 | RequestBody参数 | 健康检查间隔 |
graceTime | int | 否 | RequestBody参数 | 健康检查时间 |
AssignTagInfo
参数名 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
relationTag | boolean | 否 | RequestBody参数 | 是否绑定标签 |
tags | List<TagInfo> | 否 | RequestBody参数 | 标签信息 |
TagInfo
参数名 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
tagKey | String | 否 | RequestBody参数 | 标签键 |
tagValue | String | 否 | RequestBody参数 | 标签值 |
BillingInfo
参数名 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
paymentTiming | String | 否 | RequestBody参数 | 伸缩组Billing,后付费-post,抢占式-bidding |
CmdConfig
参数名 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
hasDecreaseCmd | boolean | 否 | RequestBody参数 | 是否配置缩容脚本 |
decCmdStrategy | ExecCmdStrategyType | 否 | RequestBody参数 | 缩容策略,不可为空,失败暂停缩容、失败继续缩容:Proceed、Pause |
decCmdData | String | 否 | RequestBody参数 | 缩容脚本 |
decCmdTimeout | int | 否 | RequestBody参数 | 缩容脚本超时时间 |
decCmdManual | String | 否 | RequestBody参数 | 手动移出是否执行缩容脚本 |
hasIncreaseCmd | boolean | 否 | RequestBody参数 | 是否配置扩容脚本 |
incCmdStrategy | ExecCmdStrategyType | 是 | RequestBody参数 | 扩容策略,不可为空、失败继续扩容:Proceed、Pause |
incCmdData | String | 否 | RequestBody参数 | 扩容脚本 |
incCmdTimeout | int | 否 | RequestBody参数 | 扩容脚本超时时间 |
decCmdManual | String | 否 | RequestBody参数 | 手动移入是否执行扩容脚本 |
BccNameConfig
参数名 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
bccName | String | 否 | RequestBody参数 | 虚拟机名字(可选)。默认都不指定name。如果指定name:批量时name作为名字的前缀。后端将加上后缀 |
bccHostname | String | 否 | RequestBody参数 | 虚拟机主机名(可选)。默认都不指定hostname。如果指定hostname:批量时hostname作为名字的前缀。后端将加上后缀 |
autoSeqSuffix | boolean | 否 | RequestBody参数 | 是否自动生成name和hostname有序后缀(可选参数) 是:true 否:false |
openHostnameDomain | boolean | 否 | RequestBody参数 | 是否自动生成hostname domain(可选参数) 是:true 否:false |
响应参数
参数名 | 类型 | 描述 |
---|---|---|
groupId | String | 伸缩组ID |
orderId | List | 订单ID |
请求示例
Plain
1POST /v1/group
2
3request body:
4{
5 "groupName": "yyy-test-api",
6 "config": {
7 "minNodeNum": 0,
8 "expectNum": -1,
9 "maxNodeNum": 2000,
10 "cooldownInSec": 300
11 },
12 "zoneInfo": [
13 {
14 "zone": "zoneA",
15 "subnetId": "sbn-8*********"
16 }
17 ],
18 "assignTagInfo": {
19 "relationTag": false,
20 "tags": []
21 },
22 "nodes": [
23 {
24 "cpuCount": 8,
25 "memoryCapacityInGB": 32,
26 "sysDiskType": "enhanced_ssd_pl1",
27 "sysDiskInGB": 20,
28 "instanceType": 13,
29 "imageId": "24********************2535",
30 "securityGroupId": "g-yh********",
31 "priorities": 1,
32 "zoneSubnet": "[{\"zone\":\"zoneA\",\"subnetId\":\"sbn-8********\",\"subnetName\":\"lyz2(192.168.0.0/24)\",\"subnetUuid\":\"59********d7c\"}]"
33 }
34 ],
35 "cmdConfig": {
36 "incCmdStrategy": "Proceed"
37 }
38}
响应示例
Shell
1{
2 "groupId": "asg-Nz******",
3 "orderId": []
4}
查询伸缩组列表
接口描述
查询伸缩组的列表。
请求结构
Method: GET
Url: /v1/group
请求参数
Param
参数名 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
keywordType | 否 | String | Query参数 | 关键字字段 |
order | 否 | String | Query参数 | 排序方式,desc |
orderBy | 否 | String | Query参数 | 排序字段,createTime |
pageNo | 是 | Integer | Query参数 | 页数 |
pageSize | 是 | Integer | Query参数 | 页码 |
响应参数
参数名 | 类型 | 描述 |
---|---|---|
order | String | 排序方式 |
pageNo | int | 页码数 |
pageSize | int | 每页返回结果数 |
totalCount | int | 符合条件的查询结果数 |
result | List | 查询结果 |
请求示例
Plain
1GET /v1/group?keyword=djw-test&keywordType=groupName&pageNo=1
响应示例
Shell
1{
2 "orderBy": "createTime",
3 "order": "desc",
4 "pageNo": 1,
5 "pageSize": 1000,
6 "totalCount": 1,
7 "result": [
8 {
9 "groupId": "asg-FKsD6xmT",
10 "groupName": "djw-test",
11 "region": "bj",
12 "status": "RUNNING",
13 "vpcId": "vpc-sxj974165fqt",
14 "zoneInfo": [
15 {
16 "zone": "zoneA",
17 "subnetId": "sbn-6jrjkmdx06d9",
18 "subnetUuid": "1c458aa7-a3b1-4142-a1dc-ba1c3f556e0f"
19 },
20 {
21 "zone": "zoneB",
22 "subnetId": "sbn-a6x44fkk6a9k",
23 "subnetUuid": "174c4380-5b8c-4718-8f85-3ee3afbaaf5c"
24 },
25 {
26 "zone": "zoneC",
27 "subnetId": "sbn-ieg8rh25rpix",
28 "subnetUuid": "ecb39d9a-4272-45fc-9dc7-e1cc49207556"
29 }
30 ],
31 "config": {
32 "minNodeNum": 0,
33 "maxNodeNum": 2000,
34 "cooldownInSec": 300,
35 "expectNum": -1
36 },
37 "blb": null,
38 "nodeNum": 1,
39 "createTime": "2023-11-20T07:04:34Z"
40 }
41 ]
42}
查询伸缩组详情
接口描述
查询伸缩组的详情。
请求结构
Method: GET
Url: /v1/group/detail/{groupId}
请求参数
参数名 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
groupId | 是 | String | URL参数 | 伸缩组ID |
响应参数
参数名 | 类型 | 描述 |
---|---|---|
result | GroupDetailInfo | 伸缩组详情 |
请求示例
Plain
1GET /v1/group/detail/asg-g*****
响应示例
Shell
1{
2 "groupId": "asg-g*****",
3 "groupName": "yyy-test-gosdk2",
4 "region": "bj",
5 "status": "RUNNING",
6 "vpcInfo": {
7 "vpcName": "lyz",
8 "vpcId": "vpc-g*****",
9 "vpcUuid": "06*********38f"
10 },
11 "zoneInfo": [
12 {
13 "zone": "cn-bj-a",
14 "subnetId": "sbn-8*********",
15 "subnetUuid": "5911*********d7c",
16 "subnetName": "l**2",
17 "nodeCount": 0
18 }
19 ],
20 "config": {
21 "minNodeNum": 0,
22 "maxNodeNum": 2000,
23 "cooldownInSec": 300,
24 "expectNum": -1
25 },
26 "blbId": null,
27 "nodeNum": 0,
28 "createTime": "2023-12-13T09:13:55Z",
29 "rdsIds": "",
30 "scsIds": "",
31 "expansionStrategy": "Priority",
32 "shrinkageStrategy": "Earlier",
33 "healthCheck": null
34}
查询伸缩组下节点列表
接口描述
查询伸缩组下节点的详细信息。
请求结构
Method: GET
Url: /v1/node
请求参数
参数名 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
groupid | 是 | String | Query参数 | 伸缩组ID |
keywordType | 否 | String | Query参数 | 关键字字段 |
order | 否 | String | Query参数 | 排序方式,desc |
orderBy | 否 | String | Query参数 | 排序字段,createTime |
pageNo | 是 | Integer | Query参数 | 页数 |
pageSize | 是 | Integer | Query参数 | 页码 |
响应参数
参数名 | 类型 | 描述 |
---|---|---|
order | String | 排序方式 |
pageNo | int | 页码数 |
pageSize | int | 每页返回结果数 |
totalCount | int | 符合条件的查询结果数 |
result | List | 查询结果 |
请求示例
Plain
1GET /v1/node?pageNo=1&pageSize=1&groupid=asg-F******
响应示例
Shell
1{
2 "orderBy": "id",
3 "order": "desc",
4 "pageNo": 1,
5 "pageSize": 1,
6 "totalCount": 1,
7 "result": [
8 {
9 "instanceId": "i-S*********",
10 "instanceUuid": "e57c*********1a2ca2",
11 "instanceName": "instance-4q17zwof",
12 "floatingIp": "100.88.96.193",
13 "internalIp": "192.168.16.30",
14 "status": "ACTIVE",
15 "payment": "postpay",
16 "cpuCount": 1,
17 "memoryCapacityInGB": 4,
18 "instanceType": "34",
19 "sysDiskInGB": 20,
20 "createTime": "2023-11-27T06:32:09Z",
21 "eip": null,
22 "subnetType": "BCC",
23 "isProtected": false,
24 "nodeType": "NATIVE",
25 "tags": [
26 {
27 "tagKey": "默认项目",
28 "tagValue": ""
29 }
30 ],
31 "groupId": "asg-F*********",
32 "isManaged": true,
33 "internalSpec": "bcc.g5.c1m4",
34 "logicalZone": "zoneB"
35 }
36 ]
37}
删除伸缩组
接口描述
删除伸缩组。
请求结构
Method: POST
Url: /v1/group/delete
请求参数
body
参数名 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
groupId | 是 | List | URL参数 | 伸缩组ID列表 |
响应参数
无
请求示例
Plain
1POST /v1/group/delete/asg-g*****
响应示例
无