pool <name> | volterra_origin_pool + route |
switch [HTTP::path] | L7 routes with path matching (prefix, suffix, exact, regex) |
switch [HTTP::host] | L7 routes with domain matching |
if [HTTP::path] starts_with/ends_with/contains/matches_regex | Route path matching |
if [HTTP::header value "X"] eq "Y" | Route or policy header matching |
if [HTTP::header exists "X"] | Route or policy header presence matching |
if [HTTP::cookie "X"] eq "Y" | Route or policy cookie matching |
if [HTTP::cookie exists "X"] | Route or policy cookie presence matching |
if [HTTP::query] contains "X" | Route or policy query parameter matching |
if [IP::client_addr] eq "X" | Service policy client source IP matching |
if [class match [IP::client_addr] equals DG] | Service policy IP prefix set matching |
! [condition] or [condition] ne "X" | Inverted match (invert_matcher = true) |
cond1 || cond2 | Multiple rules (one per OR branch) |
HTTP::redirect | redirect_route |
HTTP::respond 403/401 | volterra_service_policy deny rule |
HTTP::respond 200 | direct_response_route |
HTTP::header insert/replace/remove | Load balancer header processing |
ASM::disable | WAF exclusion rule with app_firewall_detection_control |
ASM::enable | No action (WAF enabled by default) |
class match | Service policy rules (data-group entries) |
RULE_INIT | No equivalent -- use static XC config |
CLIENT_ACCEPTED | No equivalent -- L4 event |
CLIENTSSL_HANDSHAKE | XC TLS settings |
ASM_* events | XC App Firewall |
eval, uplevel | No equivalent -- consider App Stack |
TCP::*, UDP::* | No equivalent -- L4 commands |