[][src]Struct cloudflare_rs::endpoints::load_balancing::Pool

pub struct Pool {
    pub id: String,
    pub created_on: DateTime<Utc>,
    pub modified_on: DateTime<Utc>,
    pub description: String,
    pub name: String,
    pub enabled: bool,
    pub minimum_origins: u8,
    pub monitor: String,
    pub check_regions: Option<Vec<String>>,
    pub origins: HashSet<Origin>,
    pub notification_email: String,
}

A pool is a set of origins that requests could be routed to (e.g. each of your data centers or regions have its own pool). Requests will be routed to particular pools according to your steering policy, and then balanced across origins in that pool, proportional to each origin's weight.

For example, you might have two pools: one for the US, and one for Oceania. Inside each pool, there would be many origins, with weight roughly proportional to the number of requests they can handle. Then you might use a "dynamic latency" steering policy to ensure requests get routed to whatever pool can serve them fastest. So US users will probably get routed to the US pool. If the US pool becomes unavailable, they'll fail over to the Oceania pool.

Fields

id: Stringcreated_on: DateTime<Utc>modified_on: DateTime<Utc>description: String

A human-readable description of the pool. e.g. "Primary data center - Provider XYZ"

name: Stringenabled: bool

Whether to enable (the default) this pool. Disabled pools will not receive traffic and are excluded from health checks. Disabling a pool will cause any load balancers using it to failover to the next pool (if any).

minimum_origins: u8

The minimum number of origins that must be healthy for this pool to serve traffic. If the number of healthy origins falls below this number, the pool will be marked unhealthy and we will failover to the next available pool.

monitor: String

The ID of the Monitor to use for health checking origins within this pool.

check_regions: Option<Vec<String>>origins: HashSet<Origin>

The list of origins within this pool. Traffic directed at this pool is balanced across all currently healthy origins, provided the pool itself is healthy.

notification_email: String

The email address to send health status notifications to. This can be an individual mailbox or a mailing list.

Trait Implementations

impl ApiResult for Pool[src]

impl Clone for Pool[src]

impl Debug for Pool[src]

impl<'de> Deserialize<'de> for Pool[src]

impl<'a> Endpoint<Pool, (), ()> for PoolDetails<'a>[src]

impl<'a> Endpoint<Pool, (), Params<'a>> for CreatePool<'a>[src]

impl Eq for Pool[src]

impl PartialEq<Pool> for Pool[src]

impl Serialize for Pool[src]

impl StructuralEq for Pool[src]

impl StructuralPartialEq for Pool[src]

Auto Trait Implementations

impl RefUnwindSafe for Pool

impl Send for Pool

impl Sync for Pool

impl Unpin for Pool

impl UnwindSafe for Pool

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?Sized
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.