import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Creates and manages Scaleway Load Balancer backends. * * or more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/reference-content/configuring-backends/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-backends). * * ## Example Usage * * ### Basic * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@ediri/scaleway"; * * const backend01 = new scaleway.LbBackend("backend01", { * lbId: scaleway_lb.lb01.id, * forwardProtocol: "http", * forwardPort: 80, * }); * ``` * * ### With HTTP Health Check * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@ediri/scaleway"; * * const backend01 = new scaleway.LbBackend("backend01", { * lbId: scaleway_lb.lb01.id, * forwardProtocol: "http", * forwardPort: 80, * healthCheckHttp: { * uri: "www.test.com/health", * }, * }); * ``` * * ## Import * * Load Balancer backends can be imported using `{zone}/{id}`, e.g. * * bash * * ```sh * $ pulumi import scaleway:index/lbBackend:LbBackend backend01 fr-par-1/11111111-1111-1111-1111-111111111111 * ``` */ export declare class LbBackend extends pulumi.CustomResource { /** * Get an existing LbBackend 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?: LbBackendState, opts?: pulumi.CustomResourceOptions): LbBackend; /** * Returns true if the given object is an instance of LbBackend. 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 LbBackend; /** * Scaleway S3 bucket website to be served in case all backend servers are down **NOTE** : Only the host part of the * Scaleway S3 bucket website is expected. E.g. 'failover-website.s3-website.fr-par.scw.cloud' if your bucket website URL * is 'https://failover-website.s3-website.fr-par.scw.cloud/'. */ readonly failoverHost: pulumi.Output; /** * User sessions will be forwarded to this port of backend servers */ readonly forwardPort: pulumi.Output; /** * Load balancing algorithm */ readonly forwardPortAlgorithm: pulumi.Output; /** * Backend protocol */ readonly forwardProtocol: pulumi.Output; /** * Interval between two HC requests */ readonly healthCheckDelay: pulumi.Output; readonly healthCheckHttp: pulumi.Output; readonly healthCheckHttps: pulumi.Output; /** * Number of allowed failed HC requests before the backend server is marked down */ readonly healthCheckMaxRetries: pulumi.Output; /** * Port the HC requests will be send to. Default to `forwardPort` */ readonly healthCheckPort: pulumi.Output; /** * Defines whether proxy protocol should be activated for the health check */ readonly healthCheckSendProxy: pulumi.Output; readonly healthCheckTcp: pulumi.Output; /** * Timeout before we consider a HC request failed */ readonly healthCheckTimeout: pulumi.Output; /** * Time to wait between two consecutive health checks when a backend server is in a transient state (going UP or DOWN) */ readonly healthCheckTransientDelay: pulumi.Output; /** * Specifies whether the Load Balancer should check the backend server’s certificate before initiating a connection */ readonly ignoreSslServerVerify: pulumi.Output; /** * The load-balancer ID */ readonly lbId: pulumi.Output; /** * Maximum number of connections allowed per backend server */ readonly maxConnections: pulumi.Output; /** * Number of retries when a backend server connection failed */ readonly maxRetries: pulumi.Output; /** * The name of the backend */ readonly name: pulumi.Output; /** * Modify what occurs when a backend server is marked down */ readonly onMarkedDownAction: pulumi.Output; /** * Type of PROXY protocol to enable */ readonly proxyProtocol: pulumi.Output; /** * Whether to use another backend server on each attempt */ readonly redispatchAttemptCount: pulumi.Output; /** * Enables PROXY protocol version 2 * * @deprecated Please use proxyProtocol instead */ readonly sendProxyV2: pulumi.Output; /** * Backend server IP addresses list (IPv4 or IPv6) */ readonly serverIps: pulumi.Output; /** * Enables SSL between load balancer and backend servers */ readonly sslBridging: pulumi.Output; /** * The type of sticky sessions */ readonly stickySessions: pulumi.Output; /** * Cookie name for sticky sessions */ readonly stickySessionsCookieName: pulumi.Output; /** * Maximum initial server connection establishment time */ readonly timeoutConnect: pulumi.Output; /** * Maximum time (in seconds) for a request to be left pending in queue when `maxConnections` is reached */ readonly timeoutQueue: pulumi.Output; /** * Maximum server connection inactivity time */ readonly timeoutServer: pulumi.Output; /** * Maximum tunnel inactivity time */ readonly timeoutTunnel: pulumi.Output; /** * Create a LbBackend 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: LbBackendArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering LbBackend resources. */ export interface LbBackendState { /** * Scaleway S3 bucket website to be served in case all backend servers are down **NOTE** : Only the host part of the * Scaleway S3 bucket website is expected. E.g. 'failover-website.s3-website.fr-par.scw.cloud' if your bucket website URL * is 'https://failover-website.s3-website.fr-par.scw.cloud/'. */ failoverHost?: pulumi.Input; /** * User sessions will be forwarded to this port of backend servers */ forwardPort?: pulumi.Input; /** * Load balancing algorithm */ forwardPortAlgorithm?: pulumi.Input; /** * Backend protocol */ forwardProtocol?: pulumi.Input; /** * Interval between two HC requests */ healthCheckDelay?: pulumi.Input; healthCheckHttp?: pulumi.Input; healthCheckHttps?: pulumi.Input; /** * Number of allowed failed HC requests before the backend server is marked down */ healthCheckMaxRetries?: pulumi.Input; /** * Port the HC requests will be send to. Default to `forwardPort` */ healthCheckPort?: pulumi.Input; /** * Defines whether proxy protocol should be activated for the health check */ healthCheckSendProxy?: pulumi.Input; healthCheckTcp?: pulumi.Input; /** * Timeout before we consider a HC request failed */ healthCheckTimeout?: pulumi.Input; /** * Time to wait between two consecutive health checks when a backend server is in a transient state (going UP or DOWN) */ healthCheckTransientDelay?: pulumi.Input; /** * Specifies whether the Load Balancer should check the backend server’s certificate before initiating a connection */ ignoreSslServerVerify?: pulumi.Input; /** * The load-balancer ID */ lbId?: pulumi.Input; /** * Maximum number of connections allowed per backend server */ maxConnections?: pulumi.Input; /** * Number of retries when a backend server connection failed */ maxRetries?: pulumi.Input; /** * The name of the backend */ name?: pulumi.Input; /** * Modify what occurs when a backend server is marked down */ onMarkedDownAction?: pulumi.Input; /** * Type of PROXY protocol to enable */ proxyProtocol?: pulumi.Input; /** * Whether to use another backend server on each attempt */ redispatchAttemptCount?: pulumi.Input; /** * Enables PROXY protocol version 2 * * @deprecated Please use proxyProtocol instead */ sendProxyV2?: pulumi.Input; /** * Backend server IP addresses list (IPv4 or IPv6) */ serverIps?: pulumi.Input[]>; /** * Enables SSL between load balancer and backend servers */ sslBridging?: pulumi.Input; /** * The type of sticky sessions */ stickySessions?: pulumi.Input; /** * Cookie name for sticky sessions */ stickySessionsCookieName?: pulumi.Input; /** * Maximum initial server connection establishment time */ timeoutConnect?: pulumi.Input; /** * Maximum time (in seconds) for a request to be left pending in queue when `maxConnections` is reached */ timeoutQueue?: pulumi.Input; /** * Maximum server connection inactivity time */ timeoutServer?: pulumi.Input; /** * Maximum tunnel inactivity time */ timeoutTunnel?: pulumi.Input; } /** * The set of arguments for constructing a LbBackend resource. */ export interface LbBackendArgs { /** * Scaleway S3 bucket website to be served in case all backend servers are down **NOTE** : Only the host part of the * Scaleway S3 bucket website is expected. E.g. 'failover-website.s3-website.fr-par.scw.cloud' if your bucket website URL * is 'https://failover-website.s3-website.fr-par.scw.cloud/'. */ failoverHost?: pulumi.Input; /** * User sessions will be forwarded to this port of backend servers */ forwardPort: pulumi.Input; /** * Load balancing algorithm */ forwardPortAlgorithm?: pulumi.Input; /** * Backend protocol */ forwardProtocol: pulumi.Input; /** * Interval between two HC requests */ healthCheckDelay?: pulumi.Input; healthCheckHttp?: pulumi.Input; healthCheckHttps?: pulumi.Input; /** * Number of allowed failed HC requests before the backend server is marked down */ healthCheckMaxRetries?: pulumi.Input; /** * Port the HC requests will be send to. Default to `forwardPort` */ healthCheckPort?: pulumi.Input; /** * Defines whether proxy protocol should be activated for the health check */ healthCheckSendProxy?: pulumi.Input; healthCheckTcp?: pulumi.Input; /** * Timeout before we consider a HC request failed */ healthCheckTimeout?: pulumi.Input; /** * Time to wait between two consecutive health checks when a backend server is in a transient state (going UP or DOWN) */ healthCheckTransientDelay?: pulumi.Input; /** * Specifies whether the Load Balancer should check the backend server’s certificate before initiating a connection */ ignoreSslServerVerify?: pulumi.Input; /** * The load-balancer ID */ lbId: pulumi.Input; /** * Maximum number of connections allowed per backend server */ maxConnections?: pulumi.Input; /** * Number of retries when a backend server connection failed */ maxRetries?: pulumi.Input; /** * The name of the backend */ name?: pulumi.Input; /** * Modify what occurs when a backend server is marked down */ onMarkedDownAction?: pulumi.Input; /** * Type of PROXY protocol to enable */ proxyProtocol?: pulumi.Input; /** * Whether to use another backend server on each attempt */ redispatchAttemptCount?: pulumi.Input; /** * Enables PROXY protocol version 2 * * @deprecated Please use proxyProtocol instead */ sendProxyV2?: pulumi.Input; /** * Backend server IP addresses list (IPv4 or IPv6) */ serverIps?: pulumi.Input[]>; /** * Enables SSL between load balancer and backend servers */ sslBridging?: pulumi.Input; /** * The type of sticky sessions */ stickySessions?: pulumi.Input; /** * Cookie name for sticky sessions */ stickySessionsCookieName?: pulumi.Input; /** * Maximum initial server connection establishment time */ timeoutConnect?: pulumi.Input; /** * Maximum time (in seconds) for a request to be left pending in queue when `maxConnections` is reached */ timeoutQueue?: pulumi.Input; /** * Maximum server connection inactivity time */ timeoutServer?: pulumi.Input; /** * Maximum tunnel inactivity time */ timeoutTunnel?: pulumi.Input; }