15.定制接口
1. 新增规则
接口地址: /v1/rule
请求方式:POST
请求数据类型:application/json
响应数据类型:*/*,application/json
支持版本:v1.9.0
接口描述: 仅支持有华三防火墙使用
新增防火墙规则
请求参数:
| 参数名称 | 参数说明 | 位置 | 是否必须 | 数据类型 | 描述 |
|---|---|---|---|---|---|
| name | 规则名称 | body | true | string | 规则名称 |
| protocolType | 协议类型 | body | true | integer | 1:udp 2:tcp |
| internalPort | 内部端口 | body | true | integer | 示例 [5555] |
| remark | 备注 | body | false | string |
请求示例,实际请求请替换参数值:
POST "/openapi/v1/rule"
body:
{
"name": "测试",
"protocolType": 1,
"internalPort": 5555,
"remark": "test"
}
响应参数:
| 参数名称 | 参数说明 | 类型 | 描述 |
|---|---|---|---|
| code | 返回代码 | integer(int32) | |
| message | 返回处理消息 | string | |
| result | 返回数据对象 | list<object> | |
| uuid | 规则 uuid | string | |
| timestamp | 时间戳 | integer(int64) | |
| traceId | 请求处理ID | string |
响应示例:
{
"message": "操作成功!",
"code": 200,
"result": {
"uuid": "55c185fd3e3d6d3adcffc17c54a1ddbf"
},
"timestamp": 1718608913954,
"traceId": "C20240617152153954008"
}
2. 规则详情
接口地址: /v1/rule/{uuid}
请求方式:GET
请求数据类型:application/json
响应数据类型:*/*,application/json
支持版本:v1.9.0
接口描述: 仅支持有华三防火墙使用
规则详细信息
请求参数:
| 参数名称 | 参数说明 | 位置 | 是否必须 | 数据类型 | 描述 |
|---|---|---|---|---|---|
| uuid | 规则 uuid | path | true | string |
请求示例,实际请求请替换参数值:
响应参数:
| 参数名称 | 参数说明 | 类型 | 描述 |
|---|---|---|---|
| code | 返回代码 | integer(int32) | |
| message | 返回处理消息 | string | |
| result | 返回数据对象 | list<object> | |
| uuid | 规则 uuid | string | |
| name | 规则名称 | string | |
| protocolType | 协议类型 | integer | 1:udp 2:tcp |
| internalPort | 内部端口 | integer | |
| remark | 备注 | string | |
| createTime | 创建时间 | string | |
| timestamp | 时间戳 | integer(int64) | |
| traceId | 请求处理ID | string |
响应示例:
{
"message": "操作成功!",
"code": 200,
"result": {
"uuid": "b1573a97c152f4d24208a28c7aba7dd9",
"name": "测试",
"protocolType": 1,
"internalPort": 5555,
"remark": "test",
"createTime": "2024-06-14 17:59:55"
},
"timestamp": 1718609053301,
"traceId": "C20240617152413301345"
}
3. 规则列表
接口地址: /v1/rule/list
请求方式:POST
请求数据类型:application/json
响应数据类型:*/*,application/json
支持版本:v1.9.0
接口描述: 仅支持有华三防火墙使用
规则分页列表
请求参数:
| 参数名称 | 参数说明 | 位置 | 是否必须 | 数据类型 | 描述 |
|---|---|---|---|---|---|
| name | 规则名称 | body | false | string | |
| pageSize | 当前页面数据量 | body | false | integer | |
| pageNum | 当前页码 | body | false | integer |
请求示例,实际请求请替换参数值:
响应参数:
| 参数名称 | 参数说明 | 类型 | 描述 |
|---|---|---|---|
| code | 返回代码 | integer(int32) | |
| message | 返回处理消息 | string | |
| result | 返回数据对象 | IPage<object> | |
| records | 当前页的数据列表 | list<object> | |
| uuid | 规则 uuid | string | |
| name | 规则名称 | string | |
| protocolType | 协议类型 | integer | 1:udp 2:tcp |
| internalPort | 内部端口 | integer | |
| remark | 备注 | string | |
| createTime | 创建时间 | sting | |
| bindInstanceNum | 已绑定容器数量 | integer | |
| total | 总记录数 | integer | |
| current | 当前页码 | integer | |
| pages | 总页数 | integer | |
| size | 每页显示条数 | integer | |
| timestamp | 时间戳 | integer(int64) | |
| traceId | 请求处理ID | string |
响应示例:
{
"message": "操作成功!",
"code": 200,
"result": {
"records": [
{
"uuid": "b1573a97c152f4d24208a28c7aba7dd9",
"name": "测试",
"protocolType": 1,
"internalPort": 5555,
"remark": "test",
"createTime": "2024-06-14 17:59:55",
"bindInstanceNum": 1
}
],
"total": 1,
"current": 1,
"size": 10,
"pages": 1
},
"timestamp": 1718431861571,
"traceId": "C20240615141101571003"
}
4. 删除规则
接口地址: /v1/rule/{uuid}
请求方式:DELETE
请求数据类型:application/json
响应数据类型:*/*,application/json
支持版本:v1.9.0
接口描述: 仅支持有华三防火墙使用
删除规则
请求参数:
| 参数名称 | 参数说明 | 位置 | 是否必须 | 数据类型 | 描述 |
|---|---|---|---|---|---|
| uuid | 规则 uuid | path | true | string |
请求示例,实际请求请替换参数值:
响应参数:
| 参数名称 | 参数说明 | 类型 | 描述 |
|---|---|---|---|
| code | 返回代码 | integer(int32) | |
| message | 返回处理消息 | string | |
| result | 返回数据对象 | IPage<object> | |
| timestamp | 时间戳 | integer(int64) | |
| traceId | 请求处理ID | string |
响应示例:
{
"message": "操作成功!",
"code": 200,
"result": null,
"timestamp": 1718431861571,
"traceId": "C20240615141101571003"
}
5. 修改规则
接口地址: /v1/rule
请求方式:PUT
请求数据类型:application/json
响应数据类型:*/*,application/json
支持版本:v1.9.0
接口描述: 仅支持有华三防火墙使用
修改规则备注
请求参数:
| 参数名称 | 参数说明 | 位置 | 是否必须 | 数据类型 | 描述 |
|---|---|---|---|---|---|
| uuid | 规则 uuid | body | true | string | |
| remark | 备注 | body | false | string |
请求示例,实际请求请替换参数值:
响应参数:
| 参数名称 | 参数说明 | 类型 | 描述 |
|---|---|---|---|
| code | 返回代码 | integer(int32) | |
| message | 返回处理消息 | string | |
| result | 返回数据对象 | IPage<object> | |
| timestamp | 时间戳 | integer(int64) | |
| traceId | 请求处理ID | string |
响应示例:
{
"message": "操作成功!",
"code": 200,
"result": null,
"timestamp": 1718431861571,
"traceId": "C20240615141101571003"
}
6. 容器绑定端口映射(调防火墙接口)
[!CAUTION]
仅支持华三防火墙使用
接口地址:/v2/instance/binding
请求方式:POST
请求数据类型:application/json
响应数据类型:*/*,application/json
支持版本:v1.9.0
接口描述: 仅支持有华三防火墙使用
对容器进行端口映射规则绑定
请求参数:
| 参数名称 | 参数说明 | 位置 | 是否必须 | 数据类型 | 描述 |
|---|---|---|---|---|---|
| instanceUuids | 容器 uuid | body | true | list | 单条或多条容器数据 |
| ruleUuid | 规则 uuid | body | true | string | |
| callbackUrl | 通知回调地址 | body | false | string | POST请求 |
请求示例:
POST "/openapi/v2/instance/binding"
body:
{
"instanceUuids": ["f4d2fccea3e341dcba0bf0d6ec40455e"],
"ruleUuid": "b1573a97c152f4d24208a28c7aba7dd9"
}
响应参数:
| 参数名称 | 参数说明 | 类型 | 描述 |
|---|---|---|---|
| code | 返回代码 | integer(int32) | |
| message | 返回处理消息 | string | |
| success | 成功标志 | boolean | |
| result | 返回数据对象 | List | |
| jobId | 任务ID | string | |
| uuid | 容器 uuid | string | |
| code | 任务提交状态码 | integer | 对应[1.4 响应状态码表] |
| message | 任务提交描述 | string | |
| timestamp | 时间戳 | integer(int64) | |
| traceId | 请求处理ID | string |
响应示例:
{
"message": "操作成功",
"code": 200,
"result": [
{
"jobId": "406f1720dc7b4fbda540ad48206628ee",
"code": 200,
"message": "success",
"uuid": "f4d2fccea3e341dcba0bf0d6ec40455e"
}
],
"timestamp": 1691372308394,
"traceId": "E76220230807093828363"
}
7. 容器解绑端口映射(调防火墙接口)
[!CAUTION]
仅支持华三防火墙使用
接口地址:/v2/instance/unbinding
请求方式:POST
请求数据类型:application/json
响应数据类型:*/*,application/json
支持版本:v1.9.0
接口描述: 仅支持有华三防火墙使用
对容器进行端口映射规则解绑
请求参数:
| 参数名称 | 参数说明 | 位置 | 是否必须 | 数据类型 | 描述 |
|---|---|---|---|---|---|
| instanceUuids | 容器 uuid | body | true | list | 单条或多条容器数据 |
| ruleUuid | 规则 uuid | body | true | string | |
| callbackUrl | 通知回调地址 | body | false | string | POST请求 |
请求示例:
POST "/openapi/v2/instance/unbinding"
body:
{
"instanceUuids": ["f4d2fccea3e341dcba0bf0d6ec40455e"],
"ruleUuid": "b1573a97c152f4d24208a28c7aba7dd9"
}
响应参数:
| 参数名称 | 参数说明 | 类型 | 描述 |
|---|---|---|---|
| code | 返回代码 | integer(int32) | |
| message | 返回处理消息 | string | |
| success | 成功标志 | boolean | |
| result | 返回数据对象 | List | |
| jobId | 任务ID | string | |
| code | 任务提交状态码 | integer | 对应响应状态码表 |
| message | 任务提交描述 | string | |
| uuid | 容器 uuid | string | |
| timestamp | 时间戳 | integer(int64) | |
| traceId | 请求处理ID | string |
响应示例:
{
"message": "操作成功",
"code": 200,
"result": [
{
"jobId": "406f1720dc7b4fbda540ad48206628ee",
"code": 200,
"message": "success",
"uuid": "f4d2fccea3e341dcba0bf0d6ec40455e"
}
],
"timestamp": 1691372308394,
"traceId": "E76220230807093828363"
}
8. 已绑定容器分页列表
接口地址: /v1/rule/bind/instance/list
请求方式:POST
请求数据类型:application/json
响应数据类型:*/*,application/json
支持版本:v1.9.0
接口描述: 仅支持有华三防火墙使用
根据规则 uuid 分页查询已绑定的容器列表
请求参数:
| 参数名称 | 参数说明 | 位置 | 是否必须 | 数据类型 | 描述 |
|---|---|---|---|---|---|
| uuid | 规则 uuid | body | true | string | |
| pageSize | 当前页面数据量 | body | false | integer | |
| pageNum | 当前页码 | body | false | integer |
请求示例,实际请求请替换参数值:
响应参数:
| 参数名称 | 参数说明 | 类型 | 描述 |
|---|---|---|---|
| code | 返回代码 | integer(int32) | |
| message | 返回处理消息 | string | |
| result | 返回数据对象 | IPage<object> | |
| records | 当前页的数据列表 | list<object> | |
| instanceUuid | 容器 uuid | string | |
| ip | 容器 ip | string | |
| armCardUuid | 所属板卡 uuid | string | |
| armCardSn | 所属板卡 sn | string | |
| total | 总记录数 | integer | |
| current | 当前页码 | integer | |
| pages | 总页数 | integer | |
| size | 每页显示条数 | integer | |
| timestamp | 时间戳 | integer(int64) | |
| traceId | 请求处理ID | string |
响应示例:
{
"message": "操作成功!",
"code": 200,
"result": {
"records": [
{
"instanceUuid": "i-2c57bd70f9017e11ed538a6abe669362",
"ip": "10.255.0.110",
"armCardUuid": "c-87ed3a458c7b53d2e01089bae58b2280",
"armCardSn": "OR65M22QC1E223700085"
}
],
"total": 0,
"size": 10,
"current": 1,
"pages": 0
},
"timestamp": 1718610490575,
"traceId": "C20240617154810575375"
}
9. 删除容器端口映射(运维人员使用)
接口地址:/v2/instance/delete/mapping
请求方式:POST
请求数据类型:application/json
响应数据类型:*/*,application/json
支持版本:v2.1.0
接口描述:
对容器进行端口映射规则删除,此操作会删除数据库中容器对应的端口映射规则,防火墙的规则还是需要人工删除。
请求参数:
| 参数名称 | 参数说明 | 位置 | 是否必须 | 数据类型 | 描述 |
|---|---|---|---|---|---|
| instanceUuids | 容器 uuid | body | true | list | 单条或多条容器数据 |
请求示例:
POST "/openapi/v2/instance/delete/mapping"
body:
{
"instanceUuids": ["f4d2fccea3e341dcba0bf0d6ec40455e"]
}
响应参数:
| 参数名称 | 参数说明 | 类型 | 描述 |
|---|---|---|---|
| code | 返回代码 | integer(int32) | |
| message | 返回处理消息 | string | |
| success | 成功标志 | boolean | |
| timestamp | 时间戳 | integer(int64) | |
| traceId | 请求处理ID | string |
响应示例: