{ "id":"/axapi/v3/slb/template/policy/{name}", "type":"object", "node-type":"list", "title":"policy", "partition-visibility":"shared", "description":"Policy config", "properties":{ "name":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":127, "partition-visibility":"shared", "description":"Policy template name", "optional":false }, "bw-list-name":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"Specify a blacklist/whitelist name", "optional":true }, "timeout":{ "type":"number", "format":"number", "minimum":1, "maximum":127, "default":5, "partition-visibility":"shared", "description":"Define timeout value of PBSLB dynamic entry (Timeout value (minute, default is 5))", "optional":true }, "use-destination-ip":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Use destination IP to match the policy", "optional":true }, "over-limit":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Specify operation in case over limit", "optional":true }, "over-limit-reset":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Reset the connection when it exceeds limit", "optional":true }, "over-limit-lockup":{ "type":"number", "format":"number", "minimum":1, "maximum":127, "partition-visibility":"shared", "description":"Don't accept any new connection for certain time (Lockup duration (minute))", "optional":true }, "over-limit-logging":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Log a message", "optional":true }, "interval":{ "type":"number", "format":"number", "minimum":1, "maximum":255, "partition-visibility":"shared", "description":"Log interval (minute)", "optional":true }, "bw-list-id":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "id":{ "type":"number", "format":"number", "minimum":0, "maximum":1023, "partition-visibility":"shared", "description":"Specify id that maps to service group (The id number)" }, "service-group":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":127, "partition-visibility":"shared", "$ref":"/axapi/v3/slb/service-group", "not":"bw-list-action", "description":"Specify a service group (Specify the service group name)" }, "pbslb-logging":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Configure PBSLB logging" }, "pbslb-interval":{ "type":"number", "format":"number", "minimum":0, "maximum":60, "default":3, "partition-visibility":"shared", "description":"Specify logging interval in minutes" }, "fail":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Only log unsuccessful connections" }, "bw-list-action":{ "type":"string", "format":"enum", "partition-visibility":"shared", "not":"service-group", "description":"'drop': drop the packet; 'reset': Send reset back; ", "enum":[ "drop", "reset" ] }, "logging-drp-rst":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Configure PBSLB logging" }, "action-interval":{ "type":"number", "format":"number", "minimum":0, "maximum":60, "default":3, "partition-visibility":"shared", "description":"Specify logging interval in minute (default is 3)" } } } ] }, "overlap":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Use overlap mode for geo-location to do longest match", "optional":true }, "share":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Share counters between virtual ports and virtual servers", "optional":true }, "full-domain-tree":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Share counters between geo-location and sub regions", "optional":true }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object", "optional":true }, "user-tag":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":127, "partition-visibility":"shared", "description":"Customized tag", "optional":true }, "sampling-enable":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "counters1":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'all': all; 'fwd-policy-dns-unresolved': Forward-policy unresolved DNS queries; 'fwd-policy-dns-outstanding': Forward-policy current DNS outstanding requests; 'fwd-policy-snat-fail': Forward-policy source-nat translation failure; 'fwd-policy-hits': Number of forward-policy requests for this policy template; 'fwd-policy-forward-to-internet': Number of forward-policy requests forwarded to internet; 'fwd-policy-forward-to-service-group': Number of forward-policy requests forwarded to service group; 'fwd-policy-forward-to-proxy': Number of forward-policy requests forwarded to proxy; 'fwd-policy-policy-drop': Number of forward-policy requests dropped; 'fwd-policy-source-match-not-found': Forward-policy requests without matching source rule; 'exp-client-hello-not-found': Expected Client HELLO requests not found; ", "enum":[ "all", "fwd-policy-dns-unresolved", "fwd-policy-dns-outstanding", "fwd-policy-snat-fail", "fwd-policy-hits", "fwd-policy-forward-to-internet", "fwd-policy-forward-to-service-group", "fwd-policy-forward-to-proxy", "fwd-policy-policy-drop", "fwd-policy-source-match-not-found", "exp-client-hello-not-found" ] } } } ] }, "class-list":{ "type":"object", "$ref":"/axapi/v3/slb/template/policy/{name}/class-list", "properties":{ "name":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"Class list name or geo-location-class-list name" }, "client-ip-l3-dest":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "not":"client-ip-l7-header", "description":"Use destination IP as client IP address" }, "client-ip-l7-header":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "not":"client-ip-l3-dest", "description":"Use extract client IP address from L7 header" }, "header-name":{ "type":"string", "format":"string", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"Specify L7 header name" }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object" }, "lid-list":{ "type":"array", "minItems":1, "items":{ "type":"lid" }, "uniqueItems":true, "$ref":"/axapi/v3/slb/template/policy/{name}/class-list/lid/{lidnum}", "array":[ { "properties":{ "lidnum":{ "type":"number", "format":"number", "minimum":1, "maximum":1023, "partition-visibility":"shared", "description":"Specify a limit ID", "optional":false }, "conn-limit":{ "type":"number", "format":"number", "minimum":0, "maximum":1048575, "partition-visibility":"shared", "description":"Connection limit", "optional":true }, "conn-rate-limit":{ "type":"number", "format":"number", "minimum":1, "maximum":2147483647, "partition-visibility":"shared", "description":"Specify connection rate limit", "optional":true }, "conn-per":{ "type":"number", "format":"number", "minimum":1, "maximum":65535, "partition-visibility":"shared", "description":"Per (Specify interval in number of 100ms)", "optional":true }, "request-limit":{ "type":"number", "format":"number", "minimum":1, "maximum":1048575, "partition-visibility":"shared", "description":"Request limit (Specify request limit)", "optional":true }, "request-rate-limit":{ "type":"number", "format":"number", "minimum":1, "maximum":4294967295, "partition-visibility":"shared", "description":"Request rate limit (Specify request rate limit)", "optional":true }, "request-per":{ "type":"number", "format":"number", "minimum":1, "maximum":65535, "partition-visibility":"shared", "description":"Per (Specify interval in number of 100ms)", "optional":true }, "bw-rate-limit":{ "type":"number", "format":"number", "minimum":1, "maximum":2147483647, "partition-visibility":"shared", "description":"Specify bandwidth rate limit (Bandwidth rate limit in bytes)", "optional":true }, "bw-per":{ "type":"number", "format":"number", "minimum":1, "maximum":65535, "partition-visibility":"shared", "description":"Per (Specify interval in number of 100ms)", "optional":true }, "over-limit-action":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Set action when exceeds limit", "optional":true }, "action-value":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'forward': Forward the traffic even it exceeds limit; 'reset': Reset the connection when it exceeds limit; ", "enum":[ "forward", "reset" ], "optional":true }, "lockout":{ "type":"number", "format":"number", "minimum":1, "maximum":1023, "partition-visibility":"shared", "description":"Don't accept any new connection for certain time (Lockout duration in minutes)", "optional":true }, "log":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Log a message", "optional":true }, "interval":{ "type":"number", "format":"number", "minimum":1, "maximum":255, "partition-visibility":"shared", "description":"Specify log interval in minutes, by default system will log every over limit instance", "optional":true }, "direct-action":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Set action when match the lid", "optional":true }, "direct-service-group":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":127, "partition-visibility":"shared", "$ref":"/axapi/v3/slb/service-group", "not":"direct-action-value", "description":"Specify a service group (Specify the service group name)", "optional":true }, "direct-pbslb-logging":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Configure PBSLB logging", "optional":true }, "direct-pbslb-interval":{ "type":"number", "format":"number", "minimum":0, "maximum":60, "default":3, "partition-visibility":"shared", "description":"Specify logging interval in minutes(default is 3)", "optional":true }, "direct-fail":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Only log unsuccessful connections", "optional":true }, "direct-action-value":{ "type":"string", "format":"enum", "partition-visibility":"shared", "not":"direct-service-group", "description":"'drop': drop the packet; 'reset': Send reset back; ", "enum":[ "drop", "reset" ], "optional":true }, "direct-logging-drp-rst":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Configure PBSLB logging", "optional":true }, "direct-action-interval":{ "type":"number", "format":"number", "minimum":0, "maximum":60, "default":3, "partition-visibility":"shared", "description":"Specify logging interval in minute (default is 3)", "optional":true }, "response-code-rate-limit":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "code-range-start":{ "type":"number", "format":"number", "minimum":100, "maximum":600, "partition-visibility":"shared", "description":"server response code range start" }, "code-range-end":{ "type":"number", "format":"number", "minimum":100, "maximum":600, "partition-visibility":"shared", "description":"server response code range end" }, "threshold":{ "type":"number", "format":"number", "minimum":1, "maximum":15, "partition-visibility":"shared", "description":"the times of getting the response code" }, "period":{ "type":"number", "format":"number", "minimum":1, "maximum":127, "partition-visibility":"shared", "description":"seconds" } } } ] }, "dns64":{ "type":"object", "properties":{ "disable":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Disable" }, "exclusive-answer":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Exclusive Answer in DNS Response" }, "prefix":{ "type":"string", "format":"ipv6-address-plen", "partition-visibility":"shared", "description":"IPv6 prefix" } } }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object", "optional":true }, "user-tag":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":127, "partition-visibility":"shared", "description":"Customized tag", "optional":true } }, "required":[ "lidnum" ] } ] } } }, "forward-policy":{ "type":"object", "$ref":"/axapi/v3/slb/template/policy/{name}/forward-policy", "properties":{ "no-client-conn-reuse":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Inspects only first request of a connection" }, "acos-event-log":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Enable acos event logging" }, "local-logging":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Enable local logging" }, "require-web-category":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Wait for web category to be resolved before taking proxy decision" }, "forward-http-connect-to-icap":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Forward HTTP CONNECT request to ICAP server" }, "reqmod-icap":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":127, "partition-visibility":"shared", "$ref":"/axapi/v3/slb/template/reqmod-icap", "description":"ICAP reqmod template (Reqmod ICAP Template Name)" }, "filtering":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "ssli-url-filtering":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'bypassed-sni-disable': Disable SNI filtering for bypassed URL's(enabled by default); 'intercepted-sni-enable': Enable SNI filtering for intercepted URL's(disabled by default); 'intercepted-http-disable': Disable HTTP(host/URL) filtering for intercepted URL's(enabled by default); 'no-sni-allow': Allow connection if SNI filtering is enabled and SNI header is not present(Drop by default); ", "enum":[ "bypassed-sni-disable", "intercepted-sni-enable", "intercepted-http-disable", "no-sni-allow" ] } } } ] }, "san-filtering":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "ssli-url-filtering-san":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'enable-san': Enable SAN filtering(disabled by default); 'bypassed-san-disable': Disable SAN filtering for bypassed URL's(enabled by default); 'intercepted-san-enable': Enable SAN filtering for intercepted URL's(disabled by default); 'no-san-allow': Allow connection if SAN filtering is enabled and SAN field is not present(Drop by default); ", "enum":[ "enable-san", "bypassed-san-disable", "intercepted-san-enable", "no-san-allow" ] } } } ] }, "enable-adv-match":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Enable adv-match rules and deactive all the other kinds of destination rules" }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object" }, "action-list":{ "type":"array", "minItems":1, "items":{ "type":"action" }, "uniqueItems":true, "$ref":"/axapi/v3/slb/template/policy/{name}/forward-policy/action/{name}", "array":[ { "properties":{ "name":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"Action policy name", "optional":false }, "action1":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'forward-to-internet': Forward request to Internet; 'forward-to-service-group': Forward request to service group; 'forward-to-proxy': Forward request to HTTP proxy server; 'drop': Drop request; ", "enum":[ "forward-to-internet", "forward-to-service-group", "forward-to-proxy", "drop" ], "optional":true }, "fake-sg":{ "type":"string", "format":"string", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"service group to forward the packets to Internet", "optional":true }, "real-sg":{ "type":"string", "format":"string", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"service group to forward the packets", "optional":true }, "forward-snat":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "not":"forward-snat-pt-only", "description":"Source NAT pool or pool group", "optional":true }, "forward-snat-pt-only":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "not":"forward-snat", "description":"Source port translation only", "optional":true }, "fall-back":{ "type":"string", "format":"string", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"Fallback service group for Internet", "optional":true }, "fall-back-snat":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "not":"fall-back-snat-pt-only", "description":"Source NAT pool or pool group for fallback server", "optional":true }, "fall-back-snat-pt-only":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "not":"fall-back-snat", "description":"Source port translation only for fallback server", "optional":true }, "proxy-chaining":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Enable proxy chaining feature", "optional":true }, "proxy-chaining-bypass":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Forward all https packets to upstream proxy", "optional":true }, "support-cert-fetch":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Fetch server certificate by upstream proxy", "optional":true }, "log":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"enable logging", "optional":true }, "drop-response-code":{ "type":"number", "format":"number", "minimum":100, "maximum":599, "partition-visibility":"shared", "not":"drop-redirect-url", "description":"Specify response code for drop action", "optional":true }, "drop-message":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":1023, "partition-visibility":"shared", "not":"drop-redirect-url", "description":"drop-message sent to the client as webpage(html tags are included and quotation marks are required for white spaces)", "optional":true }, "drop-redirect-url":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":1023, "partition-visibility":"shared", "not-list":[ "drop-response-code", "drop-message" ], "description":"Specify URL to which client request is redirected upon being dropped", "optional":true }, "http-status-code":{ "type":"string", "format":"enum", "default":"302", "partition-visibility":"shared", "description":"'301': Moved permanently; '302': Found; ", "enum":[ "301", "302" ], "optional":true }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object", "optional":true }, "user-tag":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":127, "partition-visibility":"shared", "description":"Customized tag", "optional":true }, "sampling-enable":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "counters1":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'all': all; 'hits': Number of requests matching this destination rule; ", "enum":[ "all", "hits" ] } } } ] } }, "required":[ "name" ] } ] }, "dual-stack-action-list":{ "type":"array", "minItems":1, "items":{ "type":"dual-stack-action" }, "uniqueItems":true, "$ref":"/axapi/v3/slb/template/policy/{name}/forward-policy/dual-stack-action/{name}", "array":[ { "properties":{ "name":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"Action name", "optional":false }, "ipv4":{ "type":"string", "format":"string", "minLength":1, "maxLength":63, "partition-visibility":"shared", "$ref":"/axapi/v3/slb/service-group", "description":"IPv4 service group to forward", "optional":true }, "ipv4-snat":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "$ref":"/axapi/v3/ip/nat/pool", "description":"IPv4 source NAT pool or pool group", "optional":true }, "ipv6":{ "type":"string", "format":"string", "minLength":1, "maxLength":63, "partition-visibility":"shared", "$ref":"/axapi/v3/slb/service-group", "description":"IPv6 service group to forward", "optional":true }, "ipv6-snat":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "$ref":"/axapi/v3/ipv6/nat/pool", "description":"IPv6 source NAT pool or pool group", "optional":true }, "fall-back":{ "type":"string", "format":"string", "minLength":1, "maxLength":63, "partition-visibility":"shared", "$ref":"/axapi/v3/slb/service-group", "description":"Fallback service group", "optional":true }, "fall-back-snat":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "$ref":"/axapi/v3/ip/nat/pool", "description":"Source NAT pool or pool group for fallback", "optional":true }, "log":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"enable logging", "optional":true }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object", "optional":true }, "user-tag":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":127, "partition-visibility":"shared", "description":"Customized tag", "optional":true }, "sampling-enable":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "counters1":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'all': all; 'hits': Number of requests forward by this action; ", "enum":[ "all", "hits" ] } } } ] } }, "required":[ "name" ] } ] }, "source-list":{ "type":"array", "minItems":1, "items":{ "type":"source" }, "uniqueItems":true, "$ref":"/axapi/v3/slb/template/policy/{name}/forward-policy/source/{name}", "array":[ { "properties":{ "name":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"source destination match rule name", "optional":false }, "match-class-list":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "not":"match-any", "description":"Class List Name", "optional":true }, "match-any":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "not":"match-class-list", "description":"Match any source", "optional":true }, "match-authorize-policy":{ "type":"string", "format":"string", "minLength":1, "maxLength":128, "partition-visibility":"shared", "$ref":"/axapi/v3/aam/authorization/policy", "description":"Authorize-policy for user and group based policy", "optional":true }, "priority":{ "type":"number", "format":"number", "minimum":1, "maximum":2000, "partition-visibility":"shared", "description":"Priority of the source(higher the number higher the priority, default 0)", "optional":true }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object", "optional":true }, "user-tag":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":127, "partition-visibility":"shared", "description":"Customized tag", "optional":true }, "sampling-enable":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "counters1":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'all': all; 'hits': Number of requests matching this source rule; 'destination-match-not-found': Number of requests without matching destination rule; 'no-host-info': Failed to parse ip or host information from request; ", "enum":[ "all", "hits", "destination-match-not-found", "no-host-info" ] } } } ] }, "destination":{ "type":"object", "$ref":"/axapi/v3/slb/template/policy/{name}/forward-policy/source/{name}/destination", "properties":{ "adv-match-list":{ "type":"array", "minItems":1, "items":{ "type":"adv-match" }, "uniqueItems":true, "$ref":"/axapi/v3/slb/template/policy/{name}/forward-policy/source/{name}/destination/adv-match/{priority}", "array":[ { "properties":{ "priority":{ "type":"number", "format":"number", "minimum":1, "maximum":1000, "partition-visibility":"shared", "description":"Rule priority (1000 is highest)", "optional":false }, "match-host":{ "type":"string", "format":"string", "minLength":1, "maxLength":128, "partition-visibility":"shared", "$ref":"/axapi/v3/class-list", "description":"Match request host (HTTP stage) or SNI/SAN (SSL stage)", "optional":true }, "match-http-content-encoding":{ "type":"string", "format":"string", "minLength":1, "maxLength":128, "partition-visibility":"shared", "$ref":"/axapi/v3/class-list", "description":"Match the value of HTTP header \"Content-Encoding\"", "optional":true }, "match-http-content-length-range-begin":{ "type":"number", "format":"number", "minimum":0, "maximum":2147483647, "partition-visibility":"shared", "description":"Match the value of HTTP header \"Content-Length\" with an inclusive range", "optional":true }, "match-http-content-length-range-end":{ "type":"number", "format":"number", "minimum":0, "maximum":2147483647, "partition-visibility":"shared", "description":"End of the \"Content-Length\" range", "optional":true }, "match-http-content-type":{ "type":"string", "format":"string", "minLength":1, "maxLength":128, "partition-visibility":"shared", "$ref":"/axapi/v3/class-list", "description":"Match the value of HTTP header \"Content-Type\"", "optional":true }, "match-http-header":{ "type":"string", "format":"string", "minLength":1, "maxLength":128, "partition-visibility":"shared", "$ref":"/axapi/v3/class-list", "description":"Matching the name of all request headers", "optional":true }, "match-http-method-connect":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Match HTTP request method CONNECT", "optional":true }, "match-http-method-delete":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Match HTTP request method DELETE", "optional":true }, "match-http-method-get":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Match HTTP request method GET", "optional":true }, "match-http-method-head":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Match HTTP request method HEAD", "optional":true }, "match-http-method-options":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Match HTTP request method OPTIONS", "optional":true }, "match-http-method-patch":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Match HTTP request method PATCH", "optional":true }, "match-http-method-post":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Match HTTP request method POST", "optional":true }, "match-http-method-put":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Match HTTP request method PUT", "optional":true }, "match-http-method-trace":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Match HTTP request method TRACE", "optional":true }, "match-http-request-file-extension":{ "type":"string", "format":"string", "minLength":1, "maxLength":128, "partition-visibility":"shared", "$ref":"/axapi/v3/class-list", "description":"Match file extension of URL in HTTP request line", "optional":true }, "match-http-url-regex":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":127, "partition-visibility":"shared", "description":"Match URI in HTTP request line by given regular expression", "optional":true }, "match-http-url":{ "type":"string", "format":"string", "minLength":1, "maxLength":128, "partition-visibility":"shared", "$ref":"/axapi/v3/class-list", "description":"Match URL in HTTP request line", "optional":true }, "match-http-user-agent":{ "type":"string", "format":"string", "minLength":1, "maxLength":128, "partition-visibility":"shared", "$ref":"/axapi/v3/class-list", "description":"Matching the value of HTTP header \"User-Agent\"", "optional":true }, "match-server-address":{ "type":"string", "format":"string", "minLength":1, "maxLength":128, "partition-visibility":"shared", "$ref":"/axapi/v3/class-list", "description":"Match target server IP address", "optional":true }, "match-server-port":{ "type":"number", "format":"number", "minimum":1, "maximum":65535, "partition-visibility":"shared", "not":"match-server-port-range-begin", "description":"Match target server port number", "optional":true }, "match-server-port-range-begin":{ "type":"number", "format":"number", "minimum":1, "maximum":65535, "partition-visibility":"shared", "not":"match-server-port", "description":"Math targer server port range inclusively", "optional":true }, "match-server-port-range-end":{ "type":"number", "format":"number", "minimum":1, "maximum":65535, "partition-visibility":"shared", "description":"End of port range", "optional":true }, "match-time-range":{ "type":"string", "format":"string", "minLength":1, "maxLength":128, "partition-visibility":"shared", "$ref":"/axapi/v3/slb/forward-proxy/time-range", "description":"Enable rule in this time-range", "optional":true }, "match-web-category-list":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "$ref":"/axapi/v3/web-category/category-list", "description":"Match web-category list", "optional":true }, "match-web-reputation-scope":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "$ref":"/axapi/v3/web-category/reputation-scope", "description":"Match web-reputation scope", "optional":true }, "disable-reqmod-icap":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Disable REQMOD ICAP template", "optional":true }, "disable-respmod-icap":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Disable RESPMOD ICAP template", "optional":true }, "notify-page":{ "type":"string", "format":"string", "minLength":1, "maxLength":128, "partition-visibility":"shared", "$ref":"/axapi/v3/slb/forward-proxy/notify-page", "description":"Send notify-page to client", "optional":true }, "action":{ "type":"string", "format":"string", "minLength":1, "maxLength":63, "partition-visibility":"shared", "not":"dual-stack-action", "description":"Forwading action of this rule", "optional":true }, "dual-stack-action":{ "type":"string", "format":"string", "minLength":1, "maxLength":63, "partition-visibility":"shared", "not":"action", "description":"Forwarding action of this rule", "optional":true }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object", "optional":true }, "user-tag":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":127, "partition-visibility":"shared", "description":"Customized tag", "optional":true }, "sampling-enable":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "counters1":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'all': all; 'hits': Number of requests hit this rule; ", "enum":[ "all", "hits" ] } } } ] } }, "required":[ "priority" ] } ] }, "class-list-list":{ "type":"array", "minItems":1, "items":{ "type":"class-list" }, "uniqueItems":true, "$ref":"/axapi/v3/slb/template/policy/{name}/forward-policy/source/{name}/destination/class-list/{dest-class-list}", "array":[ { "properties":{ "dest-class-list":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"Destination Class List Name", "optional":false }, "action":{ "type":"string", "format":"string", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"Action to be performed", "optional":true }, "dual-stack-action":{ "type":"string", "format":"string", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"Dual-stack action to be performed", "optional":true }, "type":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'host': Match hostname; 'url': Match URL; 'ip': Match destination IP address; ", "enum":[ "host", "url", "ip" ], "optional":true }, "priority":{ "type":"number", "format":"number", "minimum":1, "maximum":1024, "partition-visibility":"shared", "description":"Priority value of the action(higher the number higher the priority)", "optional":true }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object", "optional":true } }, "required":[ "dest-class-list" ] } ] }, "web-reputation-scope-list":{ "type":"array", "minItems":1, "items":{ "type":"web-reputation-scope" }, "uniqueItems":true, "$ref":"/axapi/v3/slb/template/policy/{name}/forward-policy/source/{name}/destination/web-reputation-scope/{web-reputation-scope}", "array":[ { "properties":{ "web-reputation-scope":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "$ref":"/axapi/v3/web-category/reputation-scope", "description":"Destination Web Reputation Scope Name", "optional":false }, "action":{ "type":"string", "format":"string", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"Action to be performed", "optional":true }, "dual-stack-action":{ "type":"string", "format":"string", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"Dual-stack action to be performed", "optional":true }, "type":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'host': Match hostname; 'url': match URL; ", "enum":[ "host", "url" ], "optional":true }, "priority":{ "type":"number", "format":"number", "minimum":1, "maximum":1024, "partition-visibility":"shared", "description":"Priority value of the action(higher the number higher the priority)", "optional":true }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object", "optional":true } }, "required":[ "web-reputation-scope" ] } ] }, "web-category-list-list":{ "type":"array", "minItems":1, "items":{ "type":"web-category-list" }, "uniqueItems":true, "$ref":"/axapi/v3/slb/template/policy/{name}/forward-policy/source/{name}/destination/web-category-list/{web-category-list}", "array":[ { "properties":{ "web-category-list":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "$ref":"/axapi/v3/web-category/category-list", "description":"Destination Web Category List Name", "optional":false }, "action":{ "type":"string", "format":"string", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"Action to be performed", "optional":true }, "dual-stack-action":{ "type":"string", "format":"string", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"Dual-stack action to be performed", "optional":true }, "type":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'host': Match hostname; 'url': match URL; ", "enum":[ "host", "url" ], "optional":true }, "priority":{ "type":"number", "format":"number", "minimum":1, "maximum":1024, "partition-visibility":"shared", "description":"Priority value of the action(higher the number higher the priority)", "optional":true }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object", "optional":true } }, "required":[ "web-category-list" ] } ] }, "any":{ "type":"object", "$ref":"/axapi/v3/slb/template/policy/{name}/forward-policy/source/{name}/destination/any", "properties":{ "action":{ "type":"string", "format":"string", "minLength":1, "maxLength":63, "partition-visibility":"shared", "not":"dual-stack-action", "description":"Action to be performed" }, "dual-stack-action":{ "type":"string", "format":"string", "minLength":1, "maxLength":63, "partition-visibility":"shared", "not":"action", "description":"Dual-stack action to be performed" }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object" }, "sampling-enable":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "counters1":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'all': all; 'hits': Number of requests matching this destination rule; ", "enum":[ "all", "hits" ] } } } ] } } } } } }, "required":[ "name" ] } ] } } } }, "object-keys":[ "name" ], "required":[ "name" ] }