88 lines
1.5 KiB
JSON
88 lines
1.5 KiB
JSON
{
|
|
"name": "FirewallRule",
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"title": "Rule Name"
|
|
},
|
|
"direction": {
|
|
"type": "string",
|
|
"enum": [
|
|
"inbound",
|
|
"outbound",
|
|
"both"
|
|
],
|
|
"title": "Direction"
|
|
},
|
|
"action": {
|
|
"type": "string",
|
|
"enum": [
|
|
"allow",
|
|
"deny",
|
|
"rate_limit",
|
|
"log"
|
|
],
|
|
"title": "Action"
|
|
},
|
|
"protocol": {
|
|
"type": "string",
|
|
"enum": [
|
|
"tcp",
|
|
"udp",
|
|
"icmp",
|
|
"any"
|
|
],
|
|
"title": "Protocol"
|
|
},
|
|
"source_ip": {
|
|
"type": "string",
|
|
"title": "Source IP / CIDR"
|
|
},
|
|
"destination_ip": {
|
|
"type": "string",
|
|
"title": "Destination IP / CIDR"
|
|
},
|
|
"port_range": {
|
|
"type": "string",
|
|
"title": "Port Range"
|
|
},
|
|
"priority": {
|
|
"type": "number",
|
|
"title": "Priority"
|
|
},
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"title": "Enabled"
|
|
},
|
|
"applies_to": {
|
|
"type": "string",
|
|
"enum": [
|
|
"all_nodes",
|
|
"all_vms",
|
|
"specific_node",
|
|
"specific_vm"
|
|
],
|
|
"title": "Applies To"
|
|
},
|
|
"target_id": {
|
|
"type": "string",
|
|
"title": "Target Node/VM ID"
|
|
},
|
|
"hit_count": {
|
|
"type": "number",
|
|
"title": "Hit Count"
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"title": "Description"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"direction",
|
|
"action",
|
|
"protocol",
|
|
"enabled"
|
|
]
|
|
} |