Instance Group Interface
Create instance group
Request structure
Method: Post
Url: /csm/api/v1/userId/{userId}/instance-group
Request parameters
| Name | Types | Description | Required or not | Parameter location |
|---|---|---|---|---|
| userId | String | User ID | Yes | Path |
| mergedGroup | MergedGroup | Yes | requestBody |
Response parameters
| Name | Types | Description |
|---|---|---|
| id | Long | Instance group ID |
| name | String | Instance group name |
| serviceName | String | Service Name |
| typeName | String | Object type |
| region | String | Region |
| userId | String | User ID |
| uuid | String | Instance group UUID |
| count | int | Instance group contains instance count |
| serviceNameAlias | String | Chinese name of the cloud service |
| typeNameAlias | String | Object type name |
| regionAlias | String | Region name in Chinese |
| tagKey | String |
Request example
1POST /csm/api/v1/userId/a0d04d7c202140cb80155ff7b67xxxxx/instance-group
2
3
4request body:
5{
6 "name": "group_name",
7 "region": "bj",
8 "typeName": "Instance",
9 "userId": "a0d04d7c202140cb80155ff7b67xxxxx",
10 "serviceName": "BCE_BCC",
11 "resourceIdList": [
12 {
13 "userId": "a0d04d7c202140cb80155ff7b67xxxxx",
14 "region": "bj",
15 "serviceName": "BCE_BCC",
16 "typeName": "Instance",
17 "resourceId": "InstanceId:04b91096-a294-477d-bd11-1a7bcfbxxxxx"
18 }
19 ]
20}
Response example
1{
2 "id": 7900,
3 "name": "group_name",
4 "serviceName": "BCE_BCC",
5 "typeName": "Instance",
6 "region": "bj",
7 "userId": "a0d04d7c202140cb80155ff7b67xxxxx",
8 "uuid": "6c9a3ce6-b984-4bf7-9868-b81ec17xxxxx",
9 "count": 0,
10 "serviceNameAlias": null,
11 "typeNameAlias": null,
12 "regionAlias": null,
13 "tagKey": "",
14 "typeTarget": ""
15}
Update instance group name
Request structure
Method: Patch
Url:/csm/api/v1/userId/{userId}/instance-group
Request parameters
| Name | Types | Description | Required or not | Parameter location |
|---|---|---|---|---|
| userId | String | User ID | Yes | Path |
| group | Group | Instance group information | Yes | requestBody |
Group
| Name | Types | Description | Required or not |
|---|---|---|---|
| id | Long | Instance group ID | Yes |
| name | String | Updated instance group name | Yes |
| serviceName | String | Service Name | Yes |
| typeName | String | Object type, e.g., instance, cluster | Yes |
| region | String | Region | Yes |
Response parameters
| Name | Types | Description |
|---|---|---|
| id | Long | Instance group ID |
| name | String | Instance group name |
| serviceName | String | Service Name |
| typeName | String | Object type |
| region | String | Region |
| userId | String | User ID |
| uuid | String | Instance group UUID |
| count | int | Instance group contains instance count |
| serviceNameAlias | String | Chinese name of the cloud service |
| typeNameAlias | String | Object type name |
| regionAlias | String | Region name in Chinese |
| tagKey | String |
Request example
1PATCH /csm/api/v1/userId/a0d04d7c202140cb80155ff7b67xxxxx/instance-group
2
3
4request Body
5{
6 "id":7900,
7 "name":"group_name_new",
8 "region":"bj",
9 "serviceName":"BCE_BCC",
10 "typeName":"Instance"
11}
Response example
1{
2 "id": 7900,
3 "name": "group_name_new",
4 "serviceName": "BCE_BCC",
5 "typeName": "Instance",
6 "region": "bj",
7 "userId": "a0d04d7c202140cb80155ff7b67xxxxx",
8 "uuid": "5ac4bdcd-4ba5-46c8-b879-36f57f3xxxxx",
9 "count": 0,
10 "serviceNameAlias": null,
11 "typeNameAlias": null,
12 "regionAlias": null,
13 "tagKey": "",
14 "typeTarget": ""
15}
Delete instance group
Request structure
Method: Delete
Url: /csm/api/v1/userId/{userId}/instance-group/{id}
Request parameters
| Name | Types | Description | Required or not | Parameter location |
|---|---|---|---|---|
| userId | String | User ID | Yes | Path |
| id | Long | Instance group ID | Yes | Path |
Response parameters
| Name | Types | Description |
|---|---|---|
| id | Long | Instance group ID |
| name | String | Instance group name |
| serviceName | String | Service Name |
| typeName | String | Object type |
| region | String | Region |
| userId | String | User ID |
| uuid | String | Instance group UUID |
| count | int | Instance group contains instance count |
| serviceNameAlias | String | Chinese name of the cloud service |
| typeNameAlias | String | Object type name |
| regionAlias | String | Region name in Chinese |
| tagKey | String |
Request example
1DELETE /csm/api/v1/userId/a0d04d7c202140cb80155ff7b67xxxxx/instance-group/7900
Response example
1{
2 "id": 7900,
3 "name": "group_name_new",
4 "serviceName": "BCE_BCC",
5 "typeName": "Instance",
6 "region": "bj",
7 "userId": "a0d04d7c202140cb80155ff7b67xxxxx",
8 "uuid": "5ac4bdcd-4ba5-46c8-b879-36f57f3xxxxx",
9 "count": 0,
10 "serviceNameAlias": null,
11 "typeNameAlias": null,
12 "regionAlias": null,
13 "tagKey": "",
14 "typeTarget": ""
15}
Retrieve instance group details
Request structure
Method: Get
Url: /csm/api/v1/userId/{userId}/instance-group/{id}
Request parameters
| Name | Types | Description | Required or not | Parameter location |
|---|---|---|---|---|
| userId | String | User ID | Yes | Path |
| id | Long | Instance group ID | Yes | Path |
Response parameters
| Name | Types | Description |
|---|---|---|
| id | Long | Instance group ID |
| name | String | Instance group name |
| serviceName | String | Service Name |
| typeName | String | Object type |
| region | String | Region |
| userId | String | User ID |
| uuid | String | Instance group UUID |
| count | int | Instance group contains instance count |
| serviceNameAlias | String | Chinese name of the cloud service |
| typeNameAlias | String | Object type name |
| regionAlias | String | Region name in Chinese |
| tagKey | String |
Request example
1GET /csm/api/v1/userId/a0d04d7c202140cb80155ff7b67xxxxx/instance-group/7900
Response example
1{
2 "id": 7900,
3 "name": "group_name",
4 "serviceName": "BCE_BCC",
5 "typeName": "Instance",
6 "region": "bj",
7 "userId": "a0d04d7c202140cb80155ff7b67xxxxx",
8 "uuid": "5ac4bdcd-4ba5-46c8-b879-36f57f3xxxxx",
9 "count": 1,
10 "serviceNameAlias": "Baidu Cloud Compute (BCC)",
11 "typeNameAlias": "Baidu Cloud Compute (BCC)",
12 "regionAlias": "Beijing",
13 "tagKey": "INSTANCE_GROUP_5ac4bdcd-4ba5-46c8-b879-36f57f3xxxxx:5ac4bdcd-4ba5-46c8-b879-36f57f3xxxxx",
14 "typeTarget": ""
15}
Query instance group list
Request structure
Method: Get
Url: /csm/api/v1/userId/{userId}/instance-group/list
Request parameters
| Name | Types | Description | Required or not | Parameter location |
|---|---|---|---|---|
| userId | String | User ID | Yes | Path |
| name | String | Instance group name | No | Param |
| serviceName | String | Service Name | No | Param |
| region | String | Region | No | Param |
| typeName | String | Instance type | No | Param |
| pageNo | int | Number of pages | Yes | Param |
| pageSize | int | Number of returned items per page | Yes | Param |
Request example
1GET /csm/api/v1/userId/a0d04d7c202140cb80155ff7b67xxxxx/instance-group/list?
2name=group_name
3&serviceName=BCE_BCC
4®ion=bj
5&typeName=Instance
6&pageNo=1
7&pageSize=10
Response example
1{
2 "orderBy": "",
3 "order": "",
4 "pageNo": 1,
5 "pageSize": 10,
6 "totalCount": 1,
7 "result": [
8 {
9 "id": 7900,
10 "name": "group_name",
11 "serviceName": "BCE_BCC",
12 "typeName": "Instance",
13 "region": "bj",
14 "userId": "a0d04d7c202140cb80155ff7b67xxxxx",
15 "uuid": "5ac4bdcd-4ba5-46c8-b879-36f57f3xxxxx",
16 "count": 1,
17 "serviceNameAlias": "Baidu Cloud Compute (BCC)",
18 "typeNameAlias": "Baidu Cloud Compute (BCC)",
19 "regionAlias": "Beijing",
20 "tagKey": "INSTANCE_GROUP_5ac4bdcd-4ba5-46c8-b879-36f57f3xxxxx:5ac4bdcd-4ba5-46c8-b879-36f57f3xxxxx",
21 "typeTarget": ""
22 }
23 ]
24}
Add instance members to Instance Group
Request structure
Method: Post
Url: /csm/api/v1/userId/{userId}/instance-group/{id}/instance/add
Request parameters
| Name | Types | Description | Required or not | Parameter location |
|---|---|---|---|---|
| userId | String | User ID | Yes | Path |
| id | Long | Instance group ID | Yes | Path |
| mergedGroup | MergedGroup | Yes | requestBody |
Response parameters
| Name | Types | Description |
|---|---|---|
| id | Long | Instance group ID |
| name | String | Instance group name |
| serviceName | String | Service Name |
| typeName | String | Object type |
| region | String | Region |
| userId | String | User ID |
| uuid | String | Instance group UUID |
| count | int | Instance group contains instance count |
| serviceNameAlias | String | Chinese name of the cloud service |
| typeNameAlias | String | Object type name |
| regionAlias | String | Region name in Chinese |
| tagKey | String |
Request example
1POST /csm/api/v1/userId/a0d04d7c202140cb80155ff7b67xxxxx/instance-group/7900/instance/add
2request Body
3{
4 "id": 7900,
5 "name": "group_name",
6 "region": "bj",
7 "typeName": "Instance",
8 "userId": "a0d04d7c202140cb80155ff7b67xxxxx",
9 "resourceIdList": [
10 {
11 "userId": "a0d04d7c202140cb80155ff7b67xxxxx",
12 "region": "bj",
13 "serviceName": "BCE_BCC",
14 "typeName": "Instance",
15 "resourceId": "InstanceId:dd0109a3-a7fe-4ffb-b2ae-3c6aa0bxxxxx"
16 }
17 ]
18}
Response example
Response description: return to the information before adding instances to the Instance Group
1{
2 "id": 7900,
3 "name": "group_name",
4 "serviceName": "BCE_BCC",
5 "typeName": "Instance",
6 "region": "bj",
7 "userId": "a0d04d7c202140cb80155ff7b67xxxxx",
8 "uuid": "5ac4bdcd-4ba5-46c8-b879-36f57f3xxxxx",
9 "count": 1,
10 "serviceNameAlias": "Baidu Cloud Compute (BCC)",
11 "typeNameAlias": "Baidu Cloud Compute (BCC)",
12 "regionAlias": "Beijing",
13 "tagKey": "INSTANCE_GROUP_5ac4bdcd-4ba5-46c8-b879-36f57f3xxxxx:5ac4bdcd-4ba5-46c8-b879-36f57f3xxxxx",
14 "typeTarget": ""
15}
Retrieve instance group member list.
Request structure
Method: Get
Url: /csm/api/v1/userId/{userId}/instance-group/instance/list
Request parameters
| Name | Types | Description | Required or not | Parameter location |
|---|---|---|---|---|
| userId | String | User ID | Yes | Path |
| id | Long | Instance ID | Yes | Param |
| serviceName | String | Service Name | Yes | Param |
| typeName | String | Object type | Yes | Param |
| region | String | Region | Yes | Param |
| viewType | ViewType (enumerated types) | Parameter for querying instance list headers: LIST_VIEW; for querying instance group member list headers: DETAIL_VIEW | Yes | Param |
| pageNo | int | Number of pages | Yes | Param |
| pageSize | int | Number of returned items per page | Yes | Param |
Response parameters
| Name | Types | Description |
|---|---|---|
| orderBy | String | Sorting field |
| order | String | Sorting method |
| pageNo | int | Number of pages |
| pageSize | int | Number of returned items per page |
| totalCount | int | Number of instances in Instance Group |
| result | Instance information in Instance Group |
Request example
1GET /csm/api/v1/userId/a0d04d7c202140cb80155ff7b67xxxxx/instance-group/instance/list?
2id=7900
3&serviceName=BCE_BCC
4&typeName=Instance
5®ion=bj
6&viewType=DETAIL_VIEW
7&pageNo=1
8&pageSize=10
Response example
1{
2 "orderBy": "",
3 "order": "",
4 "pageNo": 1,
5 "pageSize": 10,
6 "totalCount": 2,
7 "result": [
8 [
9 {
10 "itemName": "id",
11 "itemAlias": "Instance ID",
12 "itemValue": "04b91096-a294-477d-bd11-1a7bcfxxxxx",
13 "itemSeq": 2,
14 "itemIdentitable": true,
15 "itemDimension": "InstanceId",
16 "itemIsConn": true,
17 "itemView": false
18 },
19 {
20 "itemName": "name",
21 "itemAlias": "Instance name",
22 "itemValue": "bcc_name",
23 "itemSeq": 1,
24 "itemIdentitable": false,
25 "itemDimension": "",
26 "itemIsConn": true,
27 "itemView": false
28 },
29 {
30 "itemName": "internalIp",
31 "itemAlias": "Intranet IP",
32 "itemValue": "192.168.xx.xx",
33 "itemSeq": 2,
34 "itemIdentitable": false,
35 "itemDimension": "",
36 "itemIsConn": true,
37 "itemView": false
38 },
39 {
40 "itemName": "publicIp",
41 "itemAlias": "Public IP",
42 "itemValue": "",
43 "itemSeq": 4,
44 "itemIdentitable": false,
45 "itemDimension": "",
46 "itemIsConn": true,
47 "itemView": false
48 }
49 ],
50 [
51 {
52 "itemName": "id",
53 "itemAlias": "Instance ID",
54 "itemValue": "dd0109a3-a7fe-4ffb-b2ae-3c6aa0bxxxxx",
55 "itemSeq": 2,
56 "itemIdentitable": true,
57 "itemDimension": "InstanceId",
58 "itemIsConn": true,
59 "itemView": false
60 },
61 {
62 "itemName": "name",
63 "itemAlias": "Instance name",
64 "itemValue": "bcc_name_2",
65 "itemSeq": 1,
66 "itemIdentitable": false,
67 "itemDimension": "",
68 "itemIsConn": true,
69 "itemView": false
70 },
71 {
72 "itemName": "internalIp",
73 "itemAlias": "Intranet IP",
74 "itemValue": "192.168.xx.xx",
75 "itemSeq": 2,
76 "itemIdentitable": false,
77 "itemDimension": "",
78 "itemIsConn": true,
79 "itemView": false
80 },
81 {
82 "itemName": "publicIp",
83 "itemAlias": "Public IP",
84 "itemValue": "",
85 "itemSeq": 4,
86 "itemIdentitable": false,
87 "itemDimension": "",
88 "itemIsConn": true,
89 "itemView": false
90 }
91 ]
92 ]
93}
Remove instance members from Instance Group
Request structure
Method: Post
Url: /csm/api/v1/userId/{userId}/instance-group/{id}/instance/remove
Request parameters
| Name | Types | Description | Required or not | Parameter location |
|---|---|---|---|---|
| userId | String | User ID | Yes | Path |
| id | Long | Instance group ID | Yes | Path |
| mergedGroup | MergedGroup | Yes | requestBody |
Response parameters
| Name | Types | Description |
|---|---|---|
| id | Long | Instance group ID |
| name | String | Instance group name |
| serviceName | String | Service Name |
| typeName | String | Object type |
| region | String | Region |
| userId | String | User ID |
| uuid | String | Instance group UUID |
| count | int | Instance group contains instance count |
| serviceNameAlias | String | Chinese name of the cloud service |
| typeNameAlias | String | Object type name |
| regionAlias | String | Region name in Chinese |
| tagKey | String | |
| typeTarget | String | Dimension content contained in the object type |
Request example
1POST /csm/api/v1/userId/a0d04d7c202140cb80155ff7b67xxxxx/instance-group/7900/instance/remove
2
3
4request Body
5{
6 "id": 7900,
7 "name": "group_name",
8 "region": "bj",
9 "typeName": "Instance",
10 "userId": "a0d04d7c202140cb80155ff7b67xxxxx",
11 "resourceIdList": [
12 {
13 "userId": "a0d04d7c202140cb80155ff7b67xxxxx",
14 "region": "bj",
15 "serviceName": "BCE_BCC",
16 "typeName": "Instance",
17 "resourceId": "InstanceId:dd0109a3-a7fe-4ffb-b2ae-3c6aa0bxxxxx"
18 }
19 ]
20}
Response example
Response description: return to the information before removing instances to the Instance Group
1{
2 "id": 7900,
3 "name": "group_name",
4 "serviceName": "BCE_BCC",
5 "typeName": "Instance",
6 "region": "bj",
7 "userId": "a0d04d7c202140cb80155ff7b67xxxxx",
8 "uuid": "5ac4bdcd-4ba5-46c8-b879-36f57f3xxxxx",
9 "count": 2,
10 "serviceNameAlias": "Baidu Cloud Compute (BCC)",
11 "typeNameAlias": "Baidu Cloud Compute (BCC)",
12 "regionAlias": "Beijing",
13 "tagKey": "INSTANCE_GROUP_5ac4bdcd-4ba5-46c8-b879-36f57f3xxxxx:5ac4bdcd-4ba5-46c8-b879-36f57f3xxxxx",
14 "typeTarget": ""
15}
View Instance List API (used when creating instance groups)
Request structure
Method: Get
Url:/csm/api/v1/userId/{userId}/instance/list
Request parameters
| Name | Types | Description | Required or not | Parameter location |
|---|---|---|---|---|
| userId | String | User ID | Yes | Path |
| serviceName | String | Service Name | Yes | Param |
| typeName | String | Object type | Yes | Param |
| region | String | Region | Yes | Param |
| viewType | ViewType | Parameter for querying instance list: LIST_VIEW; for querying instance group member list: DETAIL_VIEW | Yes | Param |
| pageNo | int | Number of pages | Yes | Param |
| pageSize | int | Number of returned items per page | Yes | Param |
| keywordType | String | Attribute for fuzzy query | Yes | Param |
| keyword | String | Value for fuzzy search | Yes | Param |
Request example
1GET /csm/api/v1/userId/a0d04d7c202140cb80155ff7b67xxxxx/instance/list?
2serviceName=BCE_BCC
3&typeName=Instance
4®ion=bj
5&viewType=LIST_VIEW
6&pageNo=1
7&pageSize=10
8&keywordType=name
9&keyword=
Response example
1{
2 "orderBy": "",
3 "order": "",
4 "pageNo": 1,
5 "pageSize": 10,
6 "totalCount": 58,
7 "result": [
8 [
9 {
10 "itemName": "name",
11 "itemAlias": "Instance name",
12 "itemValue": "bcc_name",
13 "itemSeq": 1,
14 "itemIdentitable": false,
15 "itemDimension": "",
16 "itemIsConn": true,
17 "itemView": true
18 },
19 {
20 "itemName": "internalIp",
21 "itemAlias": "Intranet IP",
22 "itemValue": "192.168.xx.xx",
23 "itemSeq": 3,
24 "itemIdentitable": false,
25 "itemDimension": "",
26 "itemIsConn": true,
27 "itemView": false
28 },
29 {
30 "itemName": "id",
31 "itemAlias": "Instance ID",
32 "itemValue": "04b91096-a294-477d-bd11-1a7bcfbxxxxx",
33 "itemSeq": 2,
34 "itemIdentitable": true,
35 "itemDimension": "InstanceId",
36 "itemIsConn": true,
37 "itemView": false
38 },
39 {
40 "itemName": "shortId",
41 "itemAlias": "Instance short ID",
42 "itemValue": "i-mPkxxxxx",
43 "itemSeq": 4,
44 "itemIdentitable": false,
45 "itemDimension": "InstanceShortId",
46 "itemIsConn": true,
47 "itemView": false
48 }
49 ]
50 ...
51 ]
52}
View instance list (used to add instances to an existing Instance Group - filtering out already added instances)
Request structure
Method: Get
Url:/csm/api/v1/userId/{userId}/instance/filteredList
Request parameters
| Name | Types | Description | Required or not | Parameter location |
|---|---|---|---|---|
| userId | String | User ID | Yes | Path |
| serviceName | String | Service Name | Yes | Param |
| typeName | String | Object region | Yes | Param |
| region | String | Region | Yes | Param |
| viewType | ViewType | Parameter for querying instance list: LIST_VIEW; for querying instance group member list: DETAIL_VIEW | Yes | Param |
| pageNo | int | Number of pages | Yes | Param |
| pageSize | int | Number of returned items per page | Yes | Param |
| keywordType | String | Attribute for fuzzy query | Yes | Param |
| keyword | String | Value for fuzzy search | Yes | Param |
| id | Long | Instance group ID | Yes | Param |
| uuid | String | Instance group unique identifier | Yes | Param |
Request example
1GET /csm/api/v1/userId/a0d04d7c202140cb80155ff7b67xxxxx/instance/filteredList
2serviceName=BCE_BCC
3&typeName=Instance
4®ion=bj
5&viewType=LIST_VIEW
6&pageNo=1
7&pageSize=10
8&keywordType=name
9&keyword=
10&id=7900
11&uuid=5ac4bdcd-4ba5-46c8-b879-36f57f3xxxxx
Response example
1{
2 "orderBy": "",
3 "order": "",
4 "pageNo": 1,
5 "pageSize": 10,
6 "totalCount": 57,
7 "result": [
8 [
9 {
10 "itemName": "name",
11 "itemAlias": "Instance name",
12 "itemValue": "bcc_name_3",
13 "itemSeq": 1,
14 "itemIdentitable": false,
15 "itemDimension": "",
16 "itemIsConn": true,
17 "itemView": true
18 },
19 {
20 "itemName": "internalIp",
21 "itemAlias": "Intranet IP",
22 "itemValue": "192.168.xx.xx",
23 "itemSeq": 3,
24 "itemIdentitable": false,
25 "itemDimension": "",
26 "itemIsConn": true,
27 "itemView": false
28 },
29 {
30 "itemName": "id",
31 "itemAlias": "Instance ID",
32 "itemValue": "dd0109a3-a7fe-4ffb-b2ae-3c6aa0bxxxxx",
33 "itemSeq": 2,
34 "itemIdentitable": true,
35 "itemDimension": "InstanceId",
36 "itemIsConn": true,
37 "itemView": false
38 },
39 {
40 "itemName": "shortId",
41 "itemAlias": "Instance short ID",
42 "itemValue": "i-6nfxxxxx",
43 "itemSeq": 4,
44 "itemIdentitable": false,
45 "itemDimension": "InstanceShortId",
46 "itemIsConn": true,
47 "itemView": false
48 }
49 ],
50 ...
51 ]
52}
Appendix
MergedGroup
| Name | Types | Description | Required or not |
|---|---|---|---|
| userId | String | User ID | Yes |
| region | String | Region | Yes |
| serviceName | String | Service Name | Yes |
| typeName | String | Object type | Yes |
| name | String | Instance group name | Yes |
| resourceIdList | List < MonitorResource > | When adding instances, provide information only for new instances. | Yes |
| typeTarget | String | eg:{"resourceType":"RD_ST_INSTANCE","resourceId":["ClusterId","NodeId"]} | No |
MonitorResource
| Name | Types | Description | Required or not |
|---|---|---|---|
| userId | String | User ID | Yes |
| region | String | Region | Yes |
| serviceName | String | Service Name | Yes |
| resourceId | String | Instance ID, format: Dimension name: Dimension ID | Yes |
| typeName | String | Object type | Yes |
InstanceGroupViewConfig
| Name | Types | Description |
|---|---|---|
| itemName | String | Attribute name |
| itemAlias | String | Attribute alias |
| itemValue | String | Attribute value |
| itemSeq | int | Attribute order |
| itemIdentitable | boolean | Whether the attribute is an instance attribute |
| itemDimension | String | Name of instance attribute |
| itemIsConn | boolean | Whether frontend display concatenates |
| itemView | boolean | Whether to display this attribute on the frontend |
