@huaweicloudos/pulumi
Version:
A Pulumi package for creating and managing Huaweicloud cloud resources.
251 lines (250 loc) • 9.73 kB
TypeScript
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>;
}