GET /api2/tm/rulesets/$/l4_port_group viewer
GET /api2/tm/rulesets/$/l4_port_group/$ viewerPOST /api2/tm/rulesets/$/l4_port_group user
x2 family, active ruleset: the group is sent to the network module at once, and the response also includes an nm_response field with the result.PUT /api2/tm/rulesets/$/l4_port_group/$ user
nm_response field with the network module's redeployment result when the edit changes the ports the group covers, the ruleset is active, and:
x2 family: always — the network module holds the group itself, and the whole ruleset is redeployed.DELETE /api2/tm/rulesets/$/l4_port_group/$ user
x2 family, active ruleset: the whole ruleset is redeployed to drop the group from the network module, and the response also includes an nm_response field with the result.PUT /api2/tm/rulesets/$/l4_port_group/$ accepts an optional ?dry_run=true query parameter. With the flag set, the handler runs all the same checks as the non-dry-run call but does not persist to the DAO and does not push to the network module. Returns 200 {} on success; error responses (status code and body) are identical to the non-dry-run call. When the edit changes what the rule-set costs, the 200 body is instead the resource cost report described in Chain Management (rules, chains and total; both arrays are always present).
[
{
"id": 1,
"name": "name",
"set_id": 2,
"type": "list",
"data": {
"values": [1, 2, 3]
}
}
]or
[
{
"id": 1,
"name": "name",
"set_id": 2,
"type": "range",
"data": {
"first": 100,
"last": 200
}
}
]400 (l4_port_group_intersection on ports, naming the other group). A group's name must also be unique within its rule-set.