UNPKG

@huaweicloudos/pulumi

Version:

A Pulumi package for creating and managing Huaweicloud cloud resources.

251 lines (250 loc) 9.73 kB
import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "../types"; /** * Manages an ELB pool resource within HuaweiCloud. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as huaweicloud from "@pulumi/huaweicloud"; * * const pool1 = new huaweicloud.Elb.Pool("pool_1", { * lbMethod: "ROUND_ROBIN", * listenerId: "d9415786-5f1a-428b-b35f-2f1523e146d2", * persistences: [{ * cookieName: "testCookie", * type: "HTTP_COOKIE", * }], * protocol: "HTTP", * }); * ``` * * ## Import * * ELB pool can be imported using the pool ID, e.g. bash * * ```sh * $ pulumi import huaweicloud:Elb/pool:Pool pool_1 5c20fdad-7288-11eb-b817-0255ac10158b * ``` */ export declare class Pool extends pulumi.CustomResource { /** * Get an existing Pool 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<pulumi.ID>, state?: PoolState, opts?: pulumi.CustomResourceOptions): Pool; /** * Returns true if the given object is an instance of Pool. 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 Pool; /** * @deprecated this field is deprecated */ readonly adminStateUp: pulumi.Output<boolean | undefined>; /** * Human-readable description for the pool. */ readonly description: pulumi.Output<string | undefined>; /** * The load balancing algorithm to distribute traffic to the pool's members. Must be one * of ROUND_ROBIN, LEAST_CONNECTIONS, or SOURCE_IP. */ readonly lbMethod: pulumi.Output<string>; /** * The Listener on which the members of the pool will be associated with. * Changing this creates a new pool. Note: At least one of LoadbalancerID or ListenerID must be provided. */ readonly listenerId: pulumi.Output<string>; /** * The load balancer on which to provision this pool. Changing this * creates a new pool. Note: At least one of LoadbalancerID or ListenerID must be provided. */ readonly loadbalancerId: pulumi.Output<string>; /** * The ID of the health check configured for the backend server group. */ readonly monitorId: pulumi.Output<string>; /** * Human-readable name for the pool. */ readonly name: pulumi.Output<string>; /** * Omit this field to prevent session persistence. Indicates whether * connections in the same session will be processed by the same Pool member or not. */ readonly persistences: pulumi.Output<outputs.Elb.PoolPersistence[] | undefined>; /** * The reason for update protection. Only valid when `protectionStatus` is * **consoleProtection**. */ readonly protectionReason: pulumi.Output<string | undefined>; /** * The protection status for update. Value options: * + **nonProtection**: No protection. * + **consoleProtection**: Console modification protection. */ readonly protectionStatus: pulumi.Output<string>; /** * The protocol - can either be TCP, UDP or HTTP. * + When the protocol used by the listener is UDP, the protocol of the backend pool must be UDP. * + When the protocol used by the listener is TCP, the protocol of the backend pool must be TCP. * + When the protocol used by the listener is HTTP or TERMINATED_HTTPS, the protocol of the backend pool must be HTTP. */ readonly protocol: pulumi.Output<string>; /** * The region in which to create the ELB pool resource. If omitted, the the * provider-level region will be used. Changing this creates a new pool. */ readonly region: pulumi.Output<string>; /** * @deprecated tenant_id is deprecated */ readonly tenantId: pulumi.Output<string>; /** * Create a Pool 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: PoolArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Pool resources. */ export interface PoolState { /** * @deprecated this field is deprecated */ adminStateUp?: pulumi.Input<boolean>; /** * Human-readable description for the pool. */ description?: pulumi.Input<string>; /** * The load balancing algorithm to distribute traffic to the pool's members. Must be one * of ROUND_ROBIN, LEAST_CONNECTIONS, or SOURCE_IP. */ lbMethod?: pulumi.Input<string>; /** * The Listener on which the members of the pool will be associated with. * Changing this creates a new pool. Note: At least one of LoadbalancerID or ListenerID must be provided. */ listenerId?: pulumi.Input<string>; /** * The load balancer on which to provision this pool. Changing this * creates a new pool. Note: At least one of LoadbalancerID or ListenerID must be provided. */ loadbalancerId?: pulumi.Input<string>; /** * The ID of the health check configured for the backend server group. */ monitorId?: pulumi.Input<string>; /** * Human-readable name for the pool. */ name?: pulumi.Input<string>; /** * Omit this field to prevent session persistence. Indicates whether * connections in the same session will be processed by the same Pool member or not. */ persistences?: pulumi.Input<pulumi.Input<inputs.Elb.PoolPersistence>[]>; /** * The reason for update protection. Only valid when `protectionStatus` is * **consoleProtection**. */ protectionReason?: pulumi.Input<string>; /** * The protection status for update. Value options: * + **nonProtection**: No protection. * + **consoleProtection**: Console modification protection. */ protectionStatus?: pulumi.Input<string>; /** * The protocol - can either be TCP, UDP or HTTP. * + When the protocol used by the listener is UDP, the protocol of the backend pool must be UDP. * + When the protocol used by the listener is TCP, the protocol of the backend pool must be TCP. * + When the protocol used by the listener is HTTP or TERMINATED_HTTPS, the protocol of the backend pool must be HTTP. */ protocol?: pulumi.Input<string>; /** * The region in which to create the ELB pool resource. If omitted, the the * provider-level region will be used. Changing this creates a new pool. */ region?: pulumi.Input<string>; /** * @deprecated tenant_id is deprecated */ tenantId?: pulumi.Input<string>; } /** * The set of arguments for constructing a Pool resource. */ export interface PoolArgs { /** * @deprecated this field is deprecated */ adminStateUp?: pulumi.Input<boolean>; /** * Human-readable description for the pool. */ description?: pulumi.Input<string>; /** * The load balancing algorithm to distribute traffic to the pool's members. Must be one * of ROUND_ROBIN, LEAST_CONNECTIONS, or SOURCE_IP. */ lbMethod: pulumi.Input<string>; /** * The Listener on which the members of the pool will be associated with. * Changing this creates a new pool. Note: At least one of LoadbalancerID or ListenerID must be provided. */ listenerId?: pulumi.Input<string>; /** * The load balancer on which to provision this pool. Changing this * creates a new pool. Note: At least one of LoadbalancerID or ListenerID must be provided. */ loadbalancerId?: pulumi.Input<string>; /** * Human-readable name for the pool. */ name?: pulumi.Input<string>; /** * Omit this field to prevent session persistence. Indicates whether * connections in the same session will be processed by the same Pool member or not. */ persistences?: pulumi.Input<pulumi.Input<inputs.Elb.PoolPersistence>[]>; /** * The reason for update protection. Only valid when `protectionStatus` is * **consoleProtection**. */ protectionReason?: pulumi.Input<string>; /** * The protection status for update. Value options: * + **nonProtection**: No protection. * + **consoleProtection**: Console modification protection. */ protectionStatus?: pulumi.Input<string>; /** * The protocol - can either be TCP, UDP or HTTP. * + When the protocol used by the listener is UDP, the protocol of the backend pool must be UDP. * + When the protocol used by the listener is TCP, the protocol of the backend pool must be TCP. * + When the protocol used by the listener is HTTP or TERMINATED_HTTPS, the protocol of the backend pool must be HTTP. */ protocol: pulumi.Input<string>; /** * The region in which to create the ELB pool resource. If omitted, the the * provider-level region will be used. Changing this creates a new pool. */ region?: pulumi.Input<string>; /** * @deprecated tenant_id is deprecated */ tenantId?: pulumi.Input<string>; }