运维模板(Template)接口
更新时间:2024-08-16
创建运维模板
接口描述
您可以在模板中指定执行所需参数(参考请求示例1),也可以通过全局参数的形式在创建执行的时候再指定(参考请求实例2)
请求结构
- method:POST
- URL:/api/logic/oos/v2/template
请求参数
名称 | 类型 | 描述 | 是否必须 | 参数位置 |
---|---|---|---|---|
Template | Template | 运维模板 | 是 | RequestBody参数 |
请求示例1
JSON
1POST /api/logic/oos/v2/template
2{
3 "description":"这是一段描述",
4 "name":"test_oos_template1",
5 "operators":[
6 {
7 "name":"stop_bcc",
8 "description":"停止BCC实例",
9 "operator":"BCE::BCC::StopInstance",
10 "label":"停止BCC实例",
11 "retries":0,
12 "retryInterval":60000,
13 "timeout":3600000,
14 // 指定需要开机的BCC实例
15 "properties": {
16 "instanceId": [
17 {
18 "id":"d8293318-****-****-****-b0e72cb3f3ba",
19 "shortId":"i-pqJV5P**"
20 }
21 ]
22 }
23 },
24 {
25 "name":"start_bcc",
26 "description":"启动BCC实例",
27 "operator":"BCE::BCC::StartInstance",
28 "label":"启动BCC实例",
29 "retries":0,
30 "retryInterval":60000,
31 "timeout":3600000,
32 // 指定需要开机的BCC实例
33 "properties": {
34 "instanceId": [
35 {
36 "id":"d8293318-****-****-****-b0e72cb3f3ba",
37 "shortId":"i-pqJV5P**"
38 }
39 ]
40 }
41 }
42 ],
43 "linear":true
44}
请求示例2
JSON
1POST /api/logic/oos/v2/template
2{
3 "description":"这是一段描述",
4 "name":"test_oos_template2",
5 "operators":[
6 {
7 "name":"stop_bcc",
8 "description":"停止BCC实例",
9 "operator":"BCE::BCC::StopInstance",
10 "label":"停止BCC实例",
11 "retryInterval":60000,
12 "timeout":3600000,
13 // 引用全局参数中的instanceId1
14 "properties": {
15 "instanceId": {
16 "Ref":"instanceId1"
17 }
18 }
19 },
20 {
21 "name":"start_bcc",
22 "description":"启动BCC实例",
23 "operator":"BCE::BCC::StartInstance",
24 "label":"启动BCC实例",
25 "retryInterval":60000,
26 "timeout":3600000,
27 // 引用全局参数中的instanceId2
28 "properties": {
29 "instanceId": {
30 "Ref":"instanceId2"
31 }
32 }
33 }
34 ],
35 // 指定全局参数
36 "properties":[
37 {
38 "required":true,
39 "type":"bccInstance",
40 "name":"instanceId1"
41 },
42 {
43 "required":true,
44 "type":"bccInstance",
45 "name":"instanceId2"
46 }
47 ],
48 "linear":true
49}
响应示例
JSON
1{
2 "success":true,
3 "msg":"",
4 "code":200,
5 "result":{
6 // 模板唯一标识,用于更新运维模板
7 "id":"tpl-tKXV1J**"
8 }
9}
校验运维模板
请求结构
- method:POST
- URL:/api/logic/oos/v2/template/check
请求参数
名称 | 类型 | 描述 | 是否必须 | 参数位置 |
---|---|---|---|---|
Template | Template | 运维模板 | 是 | RequestBody参数 |
请求示例
JSON
1POST /api/logic/oos/v2/template/check
2// 参考创建运维模板接口
响应示例
成功响应示例
JSON
1{
2 "success":true,
3 "msg":"",
4 "code":200
5}
失败响应示例
JSON
1{
2 "success":false,
3 "requestId":"62e96041-****-****-****-bb442548e54c",
4 "code":"ExecutionException",
5 "message":{
6 "global":"template is invalid: duplicated op name start_bcc"
7 }
8}
更新运维模板
请求结构
- method:PUT
- URL:/api/logic/oos/v2/template
请求参数
名称 | 类型 | 描述 | 是否必须 | 参数位置 |
---|---|---|---|---|
Template | Template | 运维模板 | 是 | RequestBody参数 |
请求示例
JSON
1PUT /api/logic/oos/v2/template
2{
3 "id": "tpl-tKXV1J**",
4 // 其余字段参考创建模板请求,注意,目前运维模板不支持部分更新,只能全量更新
5}
删除运维模板
请求结构
- method:DELETE
- URL:/api/logic/oos/v2/template?{Query参数}
请求参数
名称 | 类型 | 描述 | 是否必须 | 参数位置 |
---|---|---|---|---|
id | String | 运维模板ID | 是 | Query参数 |
请求示例
JSON
1DELETE /api/logic/oos/v2/template?id=tpl-tKXV1J**
查看运维模板
请求结构
- method:GET
- URL:/api/logic/oos/v2/template?{Query参数}
请求参数
名称 | 类型 | 描述 | 是否必须 | 参数位置 |
---|---|---|---|---|
name | String | 运维模板名称 | 是 | Query参数 |
请求示例
JSON
1GET /api/logic/oos/v2/template?name=test_oos_template
响应示例
JSON
1{
2 "success":true,
3 "msg":"",
4 "code":200,
5 "result":{
6 "id":"tpl-tKXV1J**",
7 "name":"test_oos_template",
8 "type":"INDIVIDUAL",
9 "description":"",
10 // 其余字段参考附录中的Template
11 }
12}
查看运维模板列表
请求结构
- method:POST
- URL:/api/logic/oos/v2/template/list
请求参数
名称 | 类型 | 描述 | 是否必须 | 参数位置 |
---|---|---|---|---|
sort | String | 排序字段,默认为创建时间 | 否 | RequestBody参数 |
ascending | boolean | 是否升序,默认false | 否 | RequestBody参数 |
pageNo | int | 页数,从1开始计数 | 是 | RequestBody参数 |
pageSize | int | 每页展示数量,最大值:100 | 是 | RequestBody参数 |
请求示例
JSON
1POST /api/logic/oos/v2/template/list
2{
3 "sort":"createTime",
4 "ascending":false,
5 "pageNo":1,
6 "pageSize":10
7}
响应示例
JSON
1{
2 "success":true,
3 "msg":"",
4 "result":{
5 "templates":[
6 {
7 "id":"tpl-4sOeks**",
8 "name":"test_oos_template1",
9 "type":"INDIVIDUAL",
10 "description":""
11 // 其余字段参考附录中的Template
12 },
13 {
14 "id":"tpl-tKXV1J**",
15 "name":"test_oos_template2",
16 "type":"INDIVIDUAL",
17 "description":""
18 // 其余字段参考附录中的Template
19 }
20 ],
21 "orderBy":"createTime",
22 "order":"desc",
23 "pageNo":1,
24 "pageSize":10,
25 "totalCount":149
26 }
27}