Skip to content

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

请求示例,实际请求请替换参数值:

GET "/openapi/v1/rule/b1573a97c152f4d24208a28c7aba7dd9"

响应参数:

参数名称 参数说明 类型 描述
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

请求示例,实际请求请替换参数值:

POST "/openapi/v1/rule/list"
body:
{
    "pageNum": 1,
    "pageSize": 10
}

响应参数:

参数名称 参数说明 类型 描述
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

请求示例,实际请求请替换参数值:

DELETE "/openapi/v1/rule/b1573a97c152f4d24208a28c7aba7dd9"

响应参数:

参数名称 参数说明 类型 描述
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

请求示例,实际请求请替换参数值:

PUT "/openapi/v1/rule"
body:
{
    "uuid": "123",
    "remark": ""
}

响应参数:

参数名称 参数说明 类型 描述
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

请求示例,实际请求请替换参数值:

POST "/openapi/v1/rule/bind/instance/list"
body:
{
    "uuid": "b1573a97c152f4d24208a28c7aba7dd9"
}

响应参数:

参数名称 参数说明 类型 描述
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

响应示例:

{
    "message": "操作成功",
    "code": 200,
    "timestamp": 1691372308394,
    "traceId": "E76220230807093828363"
}