{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "SecurityRule", "description": "A security policy rule controlling traffic flow between zones based on source, destination, application, service, and user criteria.", "$id": "https://raw.githubusercontent.com/api-evangelist/palo-alto-networks/refs/heads/main/json-schema/pan-os-rest-api-security-rule-schema.json", "type": "object", "properties": { "@name": { "type": "string", "description": "Unique name of the security rule." }, "from": { "type": "object", "properties": { "member": { "type": "array", "items": { "type": "string" }, "description": "Source zones (e.g., trust, untrust)." } } }, "to": { "type": "object", "properties": { "member": { "type": "array", "items": { "type": "string" }, "description": "Destination zones." } } }, "source": { "type": "object", "properties": { "member": { "type": "array", "items": { "type": "string" }, "description": "Source addresses or address groups (use \"any\" for all)." } } }, "destination": { "type": "object", "properties": { "member": { "type": "array", "items": { "type": "string" }, "description": "Destination addresses or address groups." } } }, "source-user": { "type": "object", "properties": { "member": { "type": "array", "items": { "type": "string" }, "description": "Source users or user groups (use \"any\" for all)." } } }, "application": { "type": "object", "properties": { "member": { "type": "array", "items": { "type": "string" }, "description": "Application names (e.g., ssl, web-browsing, any)." } } }, "service": { "type": "object", "properties": { "member": { "type": "array", "items": { "type": "string" }, "description": "Service objects or application-default to use application native ports." } } }, "category": { "type": "object", "properties": { "member": { "type": "array", "items": { "type": "string" }, "description": "URL categories." } } }, "action": { "type": "string", "enum": [ "allow", "deny", "drop", "reset-client", "reset-server", "reset-both" ], "description": "Action to take on matching traffic." }, "log-start": { "type": "string", "enum": [ "yes", "no" ], "description": "Log at session start." }, "log-end": { "type": "string", "enum": [ "yes", "no" ], "description": "Log at session end." }, "log-setting": { "type": "string", "description": "Log forwarding profile name." }, "profile-setting": { "type": "object", "description": "Security profile group or individual profiles.", "properties": { "group": { "type": "object", "properties": { "member": { "type": "array", "items": { "type": "string" } } } } } }, "disabled": { "type": "string", "enum": [ "yes", "no" ], "description": "Whether the rule is disabled." }, "description": { "type": "string" }, "tag": { "type": "object", "properties": { "member": { "type": "array", "items": { "type": "string" } } } } } }