- Property Manager name: Site Failover
- Behavior version: The
v2024-05-31
rule format supports thefail_action
behavior v1.7. - Rule format status: GA, stable
- Access: Read/Write
- Allowed in includes: Yes
Specifies how to respond when the origin is not available: by serving stale content, by serving an error page, or by redirecting. To apply this behavior, you should match on an origin_timeout
or match_response_code
.
Option | Type | Description | Requires | |
---|---|---|---|---|
enabled | boolean | When enabled in case of a failure to contact the origin, the current behavior applies. | {"displayType":"boolean","tag":"input","type":"checkbox"} | |
action_type | enum | Specifies the basic action to take when there is a failure to contact the origin. | {"displayType":"enum","options":["SERVE_STALE","REDIRECT","RECREATED_CO","RECREATED_CEX","RECREATED_NS","DYNAMIC"],"tag":"select"} {"if":{"attribute":"enabled","op":"eq","value":true}} | |
SERVE_STALE | Serves content that is already in the cache. | |||
REDIRECT | Specifies a redirect action. (Use with these options: | |||
RECREATED_CO | Serves alternate content from your network. (Use with these options: | |||
RECREATED_CEX | Serves alternate content from an external network. (Use with these options: | |||
RECREATED_NS | Serves NetStorage content. (Use with these options: | |||
DYNAMIC | Allows you to serve dynamic SaaS content if SaaS acceleration is available on your contract. (Use with these options: | |||
saas_type | enum | Identifies the component of the request that identifies the SaaS dynamic fail action. | action_type is DYNAMIC | {"displayType":"enum","options":["HOSTNAME","PATH","QUERY_STRING","COOKIE"],"tag":"select"} {"if":{"attribute":"actionType","op":"eq","value":"DYNAMIC"}} |
Supported values: COOKIE HOSTNAME PATH QUERY_STRING | ||||
saas_cname_enabled | boolean | Specifies whether to use a CNAME chain to determine the hostname for the SaaS dynamic failaction. | saas_type is HOSTNAME | {"displayType":"boolean","tag":"input","type":"checkbox"} {"if":{"attribute":"saasType","op":"eq","value":"HOSTNAME"}} |
saas_cname_level | number | Specifies the number of elements in the CNAME chain backwards from the edge hostname that determines the hostname for the SaaS dynamic failaction. | saas_cname_enabled is true | {"displayType":"number","tag":"input","type":"number"} {"if":{"attribute":"saasCnameEnabled","op":"eq","value":true}} |
saas_cookie | string (allows variables) | Specifies the name of the cookie that identifies this SaaS dynamic failaction. | saas_type is COOKIE | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"saasType","op":"eq","value":"COOKIE"}} |
saas_query_string | string (allows variables) | Specifies the name of the query parameter that identifies this SaaS dynamic failaction. | saas_type is QUERY_STRING | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"saasType","op":"eq","value":"QUERY_STRING"}} |
saas_regex | string | Specifies the substitution pattern (a Perl-compatible regular expression) that defines the SaaS dynamic failaction. | action_type is DYNAMIC | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"actionType","op":"eq","value":"DYNAMIC"}} |
saas_replace | string (allows variables) | Specifies the replacement pattern that defines the SaaS dynamic failaction. | action_type is DYNAMIC | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"actionType","op":"eq","value":"DYNAMIC"}} |
saas_suffix | string (allows variables) | Specifies the static portion of the SaaS dynamic failaction. | action_type is DYNAMIC | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"actionType","op":"eq","value":"DYNAMIC"}} |
dynamic_method | enum | Specifies the redirect method. | action_type is DYNAMIC | {"displayType":"enum","options":["SERVE_301","SERVE_302","SERVE_ALTERNATE"],"tag":"select"} {"if":{"attribute":"actionType","op":"eq","value":"DYNAMIC"}} |
SERVE_301 | A 301 redirect response. | |||
SERVE_302 | A 302 redirect response. | |||
SERVE_ALTERNATE | Serve an alternate response. | |||
dynamic_custom_path | boolean | Allows you to modify the original requested path. | action_type is DYNAMIC | {"displayType":"boolean","tag":"input","type":"checkbox"} {"if":{"attribute":"actionType","op":"eq","value":"DYNAMIC"}} |
dynamic_path | string (allows variables) | Specifies the new path. | dynamic_custom_path is true | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"dynamicCustomPath","op":"eq","value":true}} |
redirect_hostname_type | enum | Whether to preserve or customize the hostname. | action_type is REDIRECT | {"displayType":"enum","options":["ORIGINAL","ALTERNATE"],"tag":"select"} {"if":{"attribute":"actionType","op":"eq","value":"REDIRECT"}} |
ORIGINAL | Preserve the original hostname in the redirect. | |||
ALTERNATE | Specify a | |||
redirect_hostname | string (allows variables) | When the | redirect_hostname_type is ALTERNATE | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"redirectHostnameType","op":"eq","value":"ALTERNATE"}} |
redirect_custom_path | boolean | Uses the | action_type is REDIRECT | {"displayType":"boolean","tag":"input","type":"checkbox"} {"if":{"attribute":"actionType","op":"eq","value":"REDIRECT"}} |
redirect_path | string (allows variables) | Specifies a new path. | redirect_custom_path is true | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"redirectCustomPath","op":"eq","value":true}} |
redirect_method | enum | Specifies the HTTP response code. | action_type is REDIRECT | {"displayType":"enum","options":["302","301"],"tag":"select"} {"if":{"attribute":"actionType","op":"eq","value":"REDIRECT"}} |
Supported values: 301 302 | ||||
content_hostname | string (allows variables) | Specifies the static hostname for the alternate redirect. | action_type is RECREATED_CO | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"actionType","op":"eq","value":"RECREATED_CO"}} |
content_custom_path | boolean | Specifies a custom redirect path. | action_type is RECREATED_CO | {"displayType":"boolean","tag":"input","type":"checkbox"} {"if":{"attribute":"actionType","op":"eq","value":"RECREATED_CO"}} |
content_path | string (allows variables) | Specifies a custom redirect path. | content_custom_path is true | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"contentCustomPath","op":"eq","value":true}} |
net_storage_hostname | object | When the | action_type is RECREATED_NS | {"displayType":"object","tag":"input","todo":true} {"if":{"attribute":"actionType","op":"eq","value":"RECREATED_NS"}} |
net_storage_hostname.cp_code | integer | Identifies a CP code assigned to this storage group. | ||
net_storage_hostname.downloadDomainName | string | Domain name from which content can be downloaded. | ||
net_storage_hostname.g2oToken | string | Signature Header Authentication key. | ||
net_storage_hostname.id | integer | Unique identifier for the storage group. | ||
net_storage_hostname.name | string | Name of the storage group. | ||
net_storage_path | string (allows variables) | When the | action_type is RECREATED_NS | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"actionType","op":"eq","value":"RECREATED_NS"}} |
cex_hostname | string (allows variables) | Specifies a hostname. | action_type is RECREATED_CEX | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"actionType","op":"eq","value":"RECREATED_CEX"}} |
cex_custom_path | boolean | Specifies a custom path. | action_type is RECREATED_CEX | {"displayType":"boolean","tag":"input","type":"checkbox"} {"if":{"attribute":"actionType","op":"eq","value":"RECREATED_CEX"}} |
cex_path | string (allows variables) | Specifies a custom path. | cex_custom_path is true | {"displayType":"string","tag":"input","type":"text"} {"if":{"attribute":"cexCustomPath","op":"eq","value":true}} |
cp_code | object | Specifies a CP code for which to log errors for the NetStorage location. You only need to provide the initial | action_type is RECREATED_NS | {"displayType":"object","tag":"input","todo":true} {"if":{"attribute":"actionType","op":"eq","value":"RECREATED_NS"}} |
cp_code.cp_codeLimits | array | Read-only. Describes the current usage limit for the CP code. | ||
cp_code.createdDate | integer | Read-only. UNIX epoch timestamp reflecting when the CP code was originally created. | ||
cp_code.description | string | Read-only. Additional description for the CP code. | ||
cp_code.id | integer | Unique identifier for each CP code. Initially, you get this value when creating a new CP code in PAPI. You can also assign a | ||
cp_code.name | string | Read-only. The name of the CP code you specify as the | ||
cp_code.products | array | Read-only. The set of products the CP code is assigned to. This reflects | ||
status_code | enum | Assigns a new HTTP status code to the failure response. | action_type is RECREATED_NS | {"displayType":"enum","options":["200","404","500","100","101","102","103","122","201","202","203","204","205","206","207","226","400","401","402","403","405","406","407","408","409","410","411","412","413","414","415","416","417","422","423","424","425","426","428","429","431","444","449","450","499","501","502","503","504","505","506","507","509","510","511","598","599"],"tag":"select"} {"if":{"attribute":"actionType","op":"eq","value":"RECREATED_NS"}} |
Supported values: 100 101 102 103 122 200 201 202 203 204 205 206 207 226 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 422 423 424 425 426 428 429 431 444 449 450 499 500 501 502 503 504 505 506 507 509 510 511 598 599 | ||||
preserve_query_string | boolean | When using either | content_custom_path is true OR cex_custom_path is true OR redirect_custom_path is true OR dynamic_custom_path is true | {"displayType":"boolean","tag":"input","type":"checkbox"} {"if":{"op":"or","params":[{"attribute":"contentCustomPath","op":"eq","value":true},{"attribute":"cexCustomPath","op":"eq","value":true},{"attribute":"redirectCustomPath","op":"eq","value":true},{"attribute":"dynamicCustomPath","op":"eq","value":true}]}} |
modify_protocol | boolean | Modifies the redirect's protocol using the value of the | action_type is REDIRECT OR dynamic_method is either: SERVE_301 , SERVE_302 | {"displayType":"boolean","tag":"input","type":"checkbox"} {"if":{"op":"or","params":[{"attribute":"actionType","op":"eq","value":"REDIRECT"},{"attribute":"dynamicMethod","op":"in","value":["SERVE_301","SERVE_302"]}]}} |
protocol | enum | When the | modify_protocol is true | {"displayType":"enum","options":["HTTP","HTTPS"],"tag":"select"} {"if":{"attribute":"modifyProtocol","op":"eq","value":true}} |
Supported values: HTTP HTTPS |