APIs.io Engineering Platform · Schema
load-balancing_session_affinity_attributes
Configures attributes for session affinity.
APIs.ioEngineeringPlatform
Properties
| Name | Type | Description |
|---|---|---|
| drain_duration | number | Configures the drain duration in seconds. This field is only used when session affinity is enabled on the load balancer. |
| headers | array | Configures the names of HTTP headers to base session affinity on when header `session_affinity` is enabled. At least one HTTP header name must be provided. To specify the exact cookies to be used, inc |
| require_all_headers | boolean | When header `session_affinity` is enabled, this option can be used to specify how HTTP headers on load balancing requests will be used. The supported values are: - `"true"`: Load balancing requests mu |
| samesite | string | Configures the SameSite attribute on session affinity cookie. Value "Auto" will be translated to "Lax" or "None" depending if Always Use HTTPS is enabled. Note: when using value "None", the secure att |
| secure | string | Configures the Secure attribute on session affinity cookie. Value "Always" indicates the Secure attribute will be set in the Set-Cookie header, "Never" indicates the Secure attribute will not be set, |
| zero_downtime_failover | string | Configures the zero-downtime failover between origins within a pool when session affinity is enabled. This feature is currently incompatible with Argo, Tiered Cache, and Bandwidth Alliance. The suppor |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/load-balancing_session_affinity_attributes",
"title": "load-balancing_session_affinity_attributes",
"description": "Configures attributes for session affinity.",
"properties": {
"drain_duration": {
"description": "Configures the drain duration in seconds. This field is only used when session affinity is enabled on the load balancer.",
"example": 100,
"type": "number"
},
"headers": {
"default": "none",
"description": "Configures the names of HTTP headers to base session affinity on when header `session_affinity` is enabled. At least one HTTP header name must be provided. To specify the exact cookies to be used, include an item in the following format: `\"cookie:<cookie-name-1>,<cookie-name-2>\"` (example) where everything after the colon is a comma-separated list of cookie names. Providing only `\"cookie\"` will result in all cookies being used. The default max number of HTTP header names that can be provided depends on your plan: 5 for Enterprise, 1 for all other plans.",
"items": {
"description": "An HTTP header name.",
"maxLength": 100,
"minLength": 1,
"pattern": "^[a-zA-Z0-9_-]+$",
"type": "string"
},
"type": "array",
"uniqueItems": true
},
"require_all_headers": {
"default": false,
"description": "When header `session_affinity` is enabled, this option can be used to specify how HTTP headers on load balancing requests will be used. The supported values are:\n- `\"true\"`: Load balancing requests must contain *all* of the HTTP headers specified by the `headers` session affinity attribute, otherwise sessions aren't created.\n- `\"false\"`: Load balancing requests must contain *at least one* of the HTTP headers specified by the `headers` session affinity attribute, otherwise sessions aren't created.",
"type": "boolean"
},
"samesite": {
"default": "Auto",
"description": "Configures the SameSite attribute on session affinity cookie. Value \"Auto\" will be translated to \"Lax\" or \"None\" depending if Always Use HTTPS is enabled. Note: when using value \"None\", the secure attribute can not be set to \"Never\".",
"enum": [
"Auto",
"Lax",
"None",
"Strict"
],
"example": "Auto",
"type": "string"
},
"secure": {
"default": "Auto",
"description": "Configures the Secure attribute on session affinity cookie. Value \"Always\" indicates the Secure attribute will be set in the Set-Cookie header, \"Never\" indicates the Secure attribute will not be set, and \"Auto\" will set the Secure attribute depending if Always Use HTTPS is enabled.",
"enum": [
"Auto",
"Always",
"Never"
],
"example": "Auto",
"type": "string"
},
"zero_downtime_failover": {
"default": "none",
"description": "Configures the zero-downtime failover between origins within a pool when session affinity is enabled. This feature is currently incompatible with Argo, Tiered Cache, and Bandwidth Alliance. The supported values are:\n- `\"none\"`: No failover takes place for sessions pinned to the origin (default).\n- `\"temporary\"`: Traffic will be sent to another other healthy origin until the originally pinned origin is available; note that this can potentially result in heavy origin flapping.\n- `\"sticky\"`: The session affinity cookie is updated and subsequent requests are sent to the new origin. Note: Zero-downtime failover with sticky sessions is currently not supported for session affinity by header.",
"enum": [
"none",
"temporary",
"sticky"
],
"example": "sticky",
"type": "string"
}
},
"type": "object"
}