Skip to content

15.Custom interfaces

1. Added rule

API address: /v1/rule

Request method:POST

Request data type:application/json

Response data type:*/*,application/json

Supported version:v1.9.0

API description: only supported for use with H3C firewalls

Added firewall rule

Request parameters:

Parameter name Parameter description Location Whether required Data type Description
name Rule name body true string Rule name
protocolType Protocol type body true integer 1:udp 2:tcp
internalPort Internal port body true integer Example [5555]
remark Remarks body false string

Request example. Replace parameter values in the actual request:

POST "/openapi/v1/rule"
body:
{
    "name": "测试",
    "protocolType": 1,
    "internalPort": 5555,
    "remark": "test"
}

Response parameters:

Parameter name Parameter description Type Description
code Return code integer(int32)
message Return processing message string
result Returned data object list<object>
  uuid Rule uuid string
timestamp Timestamp integer(int64)
traceId Request processing ID string

Response example:

{
    "message": "操作成功!",
    "code": 200,
    "result": {
        "uuid": "55c185fd3e3d6d3adcffc17c54a1ddbf"
    },
    "timestamp": 1718608913954,
    "traceId": "C20240617152153954008"
}

2. Rule details

API address: /v1/rule/{uuid}

Request method:GET

Request data type:application/json

Response data type:*/*,application/json

Supported version:v1.9.0

API description: only supported for use with H3C firewalls

Detailed rule information

Request parameters:

Parameter name Parameter description Location Whether required Data type Description
uuid Rule uuid path true string

Request example. Replace parameter values in the actual request:

GET "/openapi/v1/rule/b1573a97c152f4d24208a28c7aba7dd9"

Response parameters:

Parameter name Parameter description Type Description
code Return code integer(int32)
message Return processing message string
result Returned data object list<object>
  uuid Rule uuid string
  name Rule name string
  protocolType Protocol type integer 1:udp 2:tcp
  internalPort Internal port integer
  remark Remarks string
  createTime Creation time string
timestamp Timestamp integer(int64)
traceId Request processing ID string

Response example:

{
    "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. Rule list

API address: /v1/rule/list

Request method:POST

Request data type:application/json

Response data type:*/*,application/json

Supported version:v1.9.0

API description: only supported for use with H3C firewalls

Rule paginated list

Request parameters:

Parameter name Parameter description Location Whether required Data type Description
name Rule name body false string
pageSize Amount of data on the current page body false integer
pageNum Current page number body false integer

Request example. Replace parameter values in the actual request:

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

Response parameters:

Parameter name Parameter description Type Description
code Return code integer(int32)
message Return processing message string
result Returned data object IPage<object>
  records Data list on the current page list<object>
    uuid Rule uuid string
    name Rule name string
    protocolType Protocol type integer 1:udp 2:tcp
    internalPort Internal port integer
    remark Remarks string
    createTime Creation time sting
    bindInstanceNum Number of bound containers integer
  total Total number of records integer
  current Current page number integer
  pages Total pages integer
  size Number of items displayed per page integer
timestamp Timestamp integer(int64)
traceId Request processing ID string

Response example:

{
    "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. Delete rule

API address: /v1/rule/{uuid}

Request method:DELETE

Request data type:application/json

Response data type:*/*,application/json

Supported version:v1.9.0

API description: only supported for use with H3C firewalls

Delete rule

Request parameters:

Parameter name Parameter description Location Whether required Data type Description
uuid Rule uuid path true string

Request example. Replace parameter values in the actual request:

DELETE "/openapi/v1/rule/b1573a97c152f4d24208a28c7aba7dd9"

Response parameters:

Parameter name Parameter description Type Description
code Return code integer(int32)
message Return processing message string
result Returned data object IPage<object>
timestamp Timestamp integer(int64)
traceId Request processing ID string

Response example:

{
    "message": "操作成功!",
    "code": 200,
    "result": null,
    "timestamp": 1718431861571,
    "traceId": "C20240615141101571003"
}

5. Modification rule

API address: /v1/rule

Request method:PUT

Request data type:application/json

Response data type:*/*,application/json

Supported version:v1.9.0

API description: only supported for use with H3C firewalls

Modification rule remarks

Request parameters:

Parameter name Parameter description Location Whether required Data type Description
uuid Rule uuid body true string
remark Remarks body false string

Request example. Replace parameter values in the actual request:

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

Response parameters:

Parameter name Parameter description Type Description
code Return code integer(int32)
message Return processing message string
result Returned data object IPage<object>
timestamp Timestamp integer(int64)
traceId Request processing ID string

Response example:

{
    "message": "操作成功!",
    "code": 200,
    "result": null,
    "timestamp": 1718431861571,
    "traceId": "C20240615141101571003"
}

6. Bind port mapping to container (call firewall API)

[!CAUTION]

only supported for use with H3C firewalls

API address:/v2/instance/binding

Request method:POST

Request data type:application/json

Response data type:*/*,application/json

Supported version:v1.9.0

API description: only supported for use with H3C firewalls

Bind port mapping rules to the container

Request parameters:

Parameter name Parameter description Location Whether required Data type Description
instanceUuids Container uuid body true list Single or multiple container data entries
ruleUuid Rule uuid body true string
callbackUrl Notification callback address body false string POST request

Request example:

POST "/openapi/v2/instance/binding"
body:
{
    "instanceUuids": ["f4d2fccea3e341dcba0bf0d6ec40455e"],
    "ruleUuid": "b1573a97c152f4d24208a28c7aba7dd9"
}

Response parameters:

Parameter name Parameter description Type Description
code Return code integer(int32)
message Return processing message string
success Success flag boolean
result Returned data object List
  jobId Task ID string
  uuid Container uuid string
  code Task submission status code integer Corresponding to [1.4 Response Status Code Table]
  message Task submission description string
timestamp Timestamp integer(int64)
traceId Request processing ID string

Response example:

{
    "message": "操作成功",
    "code": 200,
    "result": [
        {
            "jobId": "406f1720dc7b4fbda540ad48206628ee",
            "code": 200,
            "message": "success",
            "uuid": "f4d2fccea3e341dcba0bf0d6ec40455e"
        }
    ],
    "timestamp": 1691372308394,
    "traceId": "E76220230807093828363"
}

7. Unbind port mapping from container (call firewall API)

[!CAUTION]

only supported for use with H3C firewalls

API address:/v2/instance/unbinding

Request method:POST

Request data type:application/json

Response data type:*/*,application/json

Supported version:v1.9.0

API description: only supported for use with H3C firewalls

Unbind port mapping rules from the container

Request parameters:

Parameter name Parameter description Location Whether required Data type Description
instanceUuids Container uuid body true list Single or multiple container data entries
ruleUuid Rule uuid body true string
callbackUrl Notification callback address body false string POST request

Request example:

POST "/openapi/v2/instance/unbinding"
body:
{
    "instanceUuids": ["f4d2fccea3e341dcba0bf0d6ec40455e"],
    "ruleUuid": "b1573a97c152f4d24208a28c7aba7dd9"
}

Response parameters:

Parameter name Parameter description Type Description
code Return code integer(int32)
message Return processing message string
success Success flag boolean
result Returned data object List
  jobId Task ID string
  code Task submission status code integer CorrespondingResponse status code table
  message Task submission description string
  uuid Container uuid string
timestamp Timestamp integer(int64)
traceId Request processing ID string

Response example:

{
    "message": "操作成功",
    "code": 200,
    "result": [
        {
            "jobId": "406f1720dc7b4fbda540ad48206628ee",
            "code": 200,
            "message": "success",
            "uuid": "f4d2fccea3e341dcba0bf0d6ec40455e"
        }
    ],
    "timestamp": 1691372308394,
    "traceId": "E76220230807093828363"
}

8. Bound container paginated list

API address: /v1/rule/bind/instance/list

Request method:POST

Request data type:application/json

Response data type:*/*,application/json

Supported version:v1.9.0

API description: only supported for use with H3C firewalls

Paginated query of bound container list by rule uuid

Request parameters:

Parameter name Parameter description Location Whether required Data type Description
uuid Rule uuid body true string
pageSize Amount of data on the current page body false integer
pageNum Current page number body false integer

Request example. Replace parameter values in the actual request:

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

Response parameters:

Parameter name Parameter description Type Description
code Return code integer(int32)
message Return processing message string
result Returned data object IPage<object>
  records Data list on the current page list<object>
   instanceUuid Container uuid string
   ip Container ip string
   armCardUuid Associated card uuid string
   armCardSn Associated card sn string
  total Total number of records integer
  current Current page number integer
  pages Total pages integer
  size Number of items displayed per page integer
timestamp Timestamp integer(int64)
traceId Request processing ID string

Response example:

{
    "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. Delete container port mapping (for operations personnel)

API address:/v2/instance/delete/mapping

Request method:POST

Request data type:application/json

Response data type:*/*,application/json

Supported version:v2.1.0

API description:

Delete port mapping rules for the container. This operation deletes the port mapping rules corresponding to the container from the database; firewall rules still need to be deleted manually.

Request parameters:

Parameter name Parameter description Location Whether required Data type Description
instanceUuids Container uuid body true list Single or multiple container data entries

Request example:

POST "/openapi/v2/instance/delete/mapping"
body:
{
    "instanceUuids": ["f4d2fccea3e341dcba0bf0d6ec40455e"]
}

Response parameters:

Parameter name Parameter description Type Description
code Return code integer(int32)
message Return processing message string
success Success flag boolean
timestamp Timestamp integer(int64)
traceId Request processing ID string

Response example:

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