import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "./types"; /** * Provides a Cloudflare Load Balancer pool resource. This provides a pool of origins that can be used by a Cloudflare Load Balancer. Note that the load balancing feature must be enabled in your Cloudflare account before you can use this resource. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cloudflare from "@pulumi/cloudflare"; * * const foo = new cloudflare.LoadBalancerPool("foo", { * description: "example load balancer pool", * enabled: false, * latitude: 55, * loadSheddings: [{ * defaultPercent: 55, * defaultPolicy: "random", * sessionPercent: 12, * sessionPolicy: "hash", * }], * longitude: -12, * minimumOrigins: 1, * name: "example-pool", * notificationEmail: "someone@example.com", * originSteerings: [{ * policy: "random", * }], * origins: [ * { * address: "192.0.2.1", * enabled: false, * headers: [{ * header: "Host", * values: ["example-1"], * }], * name: "example-1", * }, * { * address: "192.0.2.2", * headers: [{ * header: "Host", * values: ["example-2"], * }], * name: "example-2", * }, * ], * }); * ``` */ export declare class LoadBalancerPool extends pulumi.CustomResource { /** * Get an existing LoadBalancerPool resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: LoadBalancerPoolState, opts?: pulumi.CustomResourceOptions): LoadBalancerPool; /** * Returns true if the given object is an instance of LoadBalancerPool. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is LoadBalancerPool; /** * A list of regions (specified by region code) from which to run health checks. Empty means every Cloudflare data center (the default), but requires an Enterprise plan. Region codes can be found [here](https://support.cloudflare.com/hc/en-us/articles/115000540888-Load-Balancing-Geographic-Regions). */ readonly checkRegions: pulumi.Output; /** * The RFC3339 timestamp of when the load balancer was created. */ readonly createdOn: pulumi.Output; /** * Free text description. */ readonly description: pulumi.Output; /** * Whether to enable (the default) this origin within the Pool. Disabled origins will not receive traffic and are excluded from health checks. The origin will only be disabled for the current pool. */ readonly enabled: pulumi.Output; /** * The latitude this pool is physically located at; used for proximity steering. Values should be between -90 and 90. */ readonly latitude: pulumi.Output; /** * Setting for controlling load shedding for this pool. */ readonly loadSheddings: pulumi.Output; /** * The longitude this pool is physically located at; used for proximity steering. Values should be between -180 and 180. */ readonly longitude: pulumi.Output; /** * 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. Default: 1. */ readonly minimumOrigins: pulumi.Output; /** * The RFC3339 timestamp of when the load balancer was last modified. */ readonly modifiedOn: pulumi.Output; /** * The ID of the Monitor to use for health checking origins within this pool. */ readonly monitor: pulumi.Output; /** * A human-identifiable name for the origin. */ readonly name: pulumi.Output; /** * The email address to send health status notifications to. This can be an individual mailbox or a mailing list. Multiple emails can be supplied as a comma delimited list. */ readonly notificationEmail: pulumi.Output; /** * Set an origin steering policy to control origin selection within a pool. */ readonly originSteerings: pulumi.Output; /** * 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. It's a complex value. See description below. */ readonly origins: pulumi.Output; /** * Create a LoadBalancerPool resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: LoadBalancerPoolArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering LoadBalancerPool resources. */ export interface LoadBalancerPoolState { /** * A list of regions (specified by region code) from which to run health checks. Empty means every Cloudflare data center (the default), but requires an Enterprise plan. Region codes can be found [here](https://support.cloudflare.com/hc/en-us/articles/115000540888-Load-Balancing-Geographic-Regions). */ checkRegions?: pulumi.Input[]>; /** * The RFC3339 timestamp of when the load balancer was created. */ createdOn?: pulumi.Input; /** * Free text description. */ description?: pulumi.Input; /** * Whether to enable (the default) this origin within the Pool. Disabled origins will not receive traffic and are excluded from health checks. The origin will only be disabled for the current pool. */ enabled?: pulumi.Input; /** * The latitude this pool is physically located at; used for proximity steering. Values should be between -90 and 90. */ latitude?: pulumi.Input; /** * Setting for controlling load shedding for this pool. */ loadSheddings?: pulumi.Input[]>; /** * The longitude this pool is physically located at; used for proximity steering. Values should be between -180 and 180. */ longitude?: pulumi.Input; /** * 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. Default: 1. */ minimumOrigins?: pulumi.Input; /** * The RFC3339 timestamp of when the load balancer was last modified. */ modifiedOn?: pulumi.Input; /** * The ID of the Monitor to use for health checking origins within this pool. */ monitor?: pulumi.Input; /** * A human-identifiable name for the origin. */ name?: pulumi.Input; /** * The email address to send health status notifications to. This can be an individual mailbox or a mailing list. Multiple emails can be supplied as a comma delimited list. */ notificationEmail?: pulumi.Input; /** * Set an origin steering policy to control origin selection within a pool. */ originSteerings?: pulumi.Input[]>; /** * 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. It's a complex value. See description below. */ origins?: pulumi.Input[]>; } /** * The set of arguments for constructing a LoadBalancerPool resource. */ export interface LoadBalancerPoolArgs { /** * A list of regions (specified by region code) from which to run health checks. Empty means every Cloudflare data center (the default), but requires an Enterprise plan. Region codes can be found [here](https://support.cloudflare.com/hc/en-us/articles/115000540888-Load-Balancing-Geographic-Regions). */ checkRegions?: pulumi.Input[]>; /** * Free text description. */ description?: pulumi.Input; /** * Whether to enable (the default) this origin within the Pool. Disabled origins will not receive traffic and are excluded from health checks. The origin will only be disabled for the current pool. */ enabled?: pulumi.Input; /** * The latitude this pool is physically located at; used for proximity steering. Values should be between -90 and 90. */ latitude?: pulumi.Input; /** * Setting for controlling load shedding for this pool. */ loadSheddings?: pulumi.Input[]>; /** * The longitude this pool is physically located at; used for proximity steering. Values should be between -180 and 180. */ longitude?: pulumi.Input; /** * 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. Default: 1. */ minimumOrigins?: pulumi.Input; /** * The ID of the Monitor to use for health checking origins within this pool. */ monitor?: pulumi.Input; /** * A human-identifiable name for the origin. */ name: pulumi.Input; /** * The email address to send health status notifications to. This can be an individual mailbox or a mailing list. Multiple emails can be supplied as a comma delimited list. */ notificationEmail?: pulumi.Input; /** * Set an origin steering policy to control origin selection within a pool. */ originSteerings?: pulumi.Input[]>; /** * 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. It's a complex value. See description below. */ origins: pulumi.Input[]>; }