Pool

WARNING: This information is part of a limited availability release. Portions of this API may be subject to changes and improvements over time. Fields marked deprecated may be removed in the future and their use is discouraged. For more information, see our product and feature lifecycle descriptions.

A pool is responsible for balancing requests among a group of servers. In addition to balancing, pools can be configured to attempt retrying failed requests. Pools have a quorum setting that can be used to determine when the pool as a whole is considered up, in order to prevent problems following an outage as servers come back up.

Data model

commentstringA freeform descriptive note.
healthcheckstringName of the healthcheck to use with this pool. Can be empty and could be reused across multiple backend and pools.
max_tls_versionintegerMaximum allowed TLS version on connections to this server. Optional.
min_tls_versionintegerMinimum allowed TLS version on connections to this server. Optional.
namestringName for the Pool.
override_hoststringThe hostname to override the Host header. Defaults to null meaning no override of the Host header will occur. This setting can also be added to a Server definition. If the field is set on a Server definition it will override the Pool setting.
request_conditionstringCondition which, if met, will select this configuration during a request. Optional.
shieldstringSelected POP to serve as a shield for the servers. Defaults to null meaning no origin shielding if not set. Refer to the POPs API endpoint to get a list of available POPs used for shielding.
tls_ciphersstringList of OpenSSL ciphers (see the openssl.org manpages for details). Optional.
tls_sni_hostnamestringSNI hostname. Optional.
typestringWhat type of load balance group to use.
between_bytes_timeoutintegerMaximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, the response received so far will be considered complete and the fetch will end. May be set at runtime using bereq.between_bytes_timeout. [Default 10000]
connect_timeoutintegerHow long to wait for a timeout in milliseconds. Optional.
created_atstringDate and time in ISO 8601 format. Read-only.
deleted_atstringDate and time in ISO 8601 format. Read-only.
first_byte_timeoutintegerHow long to wait for the first byte in milliseconds. Optional.
max_conn_defaultintegerMaximum number of connections. Optional. [Default 200]
quorumintegerPercentage of capacity (0-100) that needs to be operationally available for a pool to be considered up. [Default 75]
service_idstringAlphanumeric string identifying the service. Read-only.
tls_ca_certstringA secure certificate to authenticate a server with. Must be in PEM format.
tls_cert_hostnamestringThe hostname used to verify a server's certificate. It can either be the Common Name (CN) or a Subject Alternative Name (SAN).
tls_check_certintegerBe strict on checking TLS certs. Optional.
tls_client_certstringThe client certificate used to make authenticated requests. Must be in PEM format.
tls_client_keystringThe client private key used to make authenticated requests. Must be in PEM format.
updated_atstringDate and time in ISO 8601 format. Read-only.
use_tlsintegerWhether to use TLS. [Default 0]
versionstringString identifying a service version. Read-only.
idstringAlphanumeric string identifying a Pool. Read-only.

Endpoints

List server pools

GET/service/service_id/version/version_id/pool

Create a server pool

POST/service/service_id/version/version_id/pool

Get a server pool

GET/service/service_id/version/version_id/pool/pool_name

Update a server pool

PUT/service/service_id/version/version_id/pool/pool_name

Delete a server pool

DELETE/service/service_id/version/version_id/pool/pool_name