import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
 * Use this data source to get the list of active standby ELB pools.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const config = new pulumi.Config();
 * const poolName = config.requireObject("poolName");
 * const test = huaweicloud.DedicatedElb.getActiveStandbyPools({
 *     name: poolName,
 * });
 * ```
 */
export declare function getActiveStandbyPools(args?: GetActiveStandbyPoolsArgs, opts?: pulumi.InvokeOptions): Promise<GetActiveStandbyPoolsResult>;
/**
 * A collection of arguments for invoking getActiveStandbyPools.
 */
export interface GetActiveStandbyPoolsArgs {
    /**
     * Specifies whether delayed logout is enabled. Value options:
     * + **false**: Disable this option.
     * + **true**: Enable this option.
     */
    connectionDrain?: string;
    /**
     * Specifies supplementary information about the active-standby pool.
     */
    description?: string;
    /**
     * Specifies the ID of the health check configured for the active-standby pool.
     */
    healthmonitorId?: string;
    /**
     * Specifies the IP address version supported by the pool.
     */
    ipVersion?: string;
    /**
     * Specifies the load balancing algorithm used by the load balancer to route requests
     * to backend servers in the associated pool. Value options:
     * + **ROUND_ROBIN**: weighted round robin.
     * + **LEAST_CONNECTIONS**: weighted least connections.
     * + **SOURCE_IP**: source IP hash.
     * + **QUIC_CID**: connection ID.
     */
    lbAlgorithm?: string;
    /**
     * Specifies the ID of the listener to which the forwarding policy is added.
     */
    listenerId?: string;
    /**
     * Specifies the ID of the load balancer with which the active-standby pool is
     * associated.
     */
    loadbalancerId?: string;
    /**
     * Specifies the private IP address bound to the member. This parameter is used
     * only as a query condition and is not included in the response.
     */
    memberAddress?: string;
    /**
     * Specifies the ID of the ECS used as the member. This parameter is used only
     * as a query condition and is not included in the response.
     */
    memberInstanceId?: string;
    /**
     * Specifies the name of the active-standby pool.
     */
    name?: string;
    /**
     * Specifies the ID of the active-standby pool.
     */
    poolId?: string;
    /**
     * Specifies the protocol used by the active-standby pool to receive requests from the
     * load balancer. Value options: **TCP**, **UDP**, **QUIC** or **TLS**.
     */
    protocol?: string;
    /**
     * Specifies the region in which to query the data source.
     * If omitted, the provider-level region will be used.
     */
    region?: string;
    /**
     * Specifies the type of the active-standby pool.
     * The valid values are as follows:
     * + **instance**: Any type of backend servers can be added.
     * + **ip**: Only IP as backend servers can be added.
     */
    type?: string;
    /**
     * Specifies the ID of the VPC where the active-standby pool works.
     */
    vpcId?: string;
}
/**
 * A collection of values returned by getActiveStandbyPools.
 */
export interface GetActiveStandbyPoolsResult {
    readonly connectionDrain?: string;
    /**
     * The description of the active-standby pool.
     */
    readonly description?: string;
    readonly healthmonitorId?: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The IP version supported by the member.
     */
    readonly ipVersion?: string;
    /**
     * The load balancing algorithm used by the load balancer to route requests to backend servers in the
     * associated pool.
     */
    readonly lbAlgorithm?: string;
    /**
     * The ID of the listener associated with the backend server.
     */
    readonly listenerId?: string;
    readonly loadbalancerId?: string;
    readonly memberAddress?: string;
    readonly memberInstanceId?: string;
    /**
     * The health check name.
     */
    readonly name?: string;
    readonly poolId?: string;
    /**
     * The pool list. For details, see data structure of the pool field.
     * The pools structure is documented below.
     */
    readonly pools: outputs.DedicatedElb.GetActiveStandbyPoolsPool[];
    /**
     * The protocol used by the active-standby pool to receive requests.
     */
    readonly protocol?: string;
    readonly region?: string;
    /**
     * The health check protocol.
     */
    readonly type?: string;
    /**
     * The ID of the VPC where the active-standby pool works.
     */
    readonly vpcId?: string;
}
export declare function getActiveStandbyPoolsOutput(args?: GetActiveStandbyPoolsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetActiveStandbyPoolsResult>;
/**
 * A collection of arguments for invoking getActiveStandbyPools.
 */
export interface GetActiveStandbyPoolsOutputArgs {
    /**
     * Specifies whether delayed logout is enabled. Value options:
     * + **false**: Disable this option.
     * + **true**: Enable this option.
     */
    connectionDrain?: pulumi.Input<string>;
    /**
     * Specifies supplementary information about the active-standby pool.
     */
    description?: pulumi.Input<string>;
    /**
     * Specifies the ID of the health check configured for the active-standby pool.
     */
    healthmonitorId?: pulumi.Input<string>;
    /**
     * Specifies the IP address version supported by the pool.
     */
    ipVersion?: pulumi.Input<string>;
    /**
     * Specifies the load balancing algorithm used by the load balancer to route requests
     * to backend servers in the associated pool. Value options:
     * + **ROUND_ROBIN**: weighted round robin.
     * + **LEAST_CONNECTIONS**: weighted least connections.
     * + **SOURCE_IP**: source IP hash.
     * + **QUIC_CID**: connection ID.
     */
    lbAlgorithm?: pulumi.Input<string>;
    /**
     * Specifies the ID of the listener to which the forwarding policy is added.
     */
    listenerId?: pulumi.Input<string>;
    /**
     * Specifies the ID of the load balancer with which the active-standby pool is
     * associated.
     */
    loadbalancerId?: pulumi.Input<string>;
    /**
     * Specifies the private IP address bound to the member. This parameter is used
     * only as a query condition and is not included in the response.
     */
    memberAddress?: pulumi.Input<string>;
    /**
     * Specifies the ID of the ECS used as the member. This parameter is used only
     * as a query condition and is not included in the response.
     */
    memberInstanceId?: pulumi.Input<string>;
    /**
     * Specifies the name of the active-standby pool.
     */
    name?: pulumi.Input<string>;
    /**
     * Specifies the ID of the active-standby pool.
     */
    poolId?: pulumi.Input<string>;
    /**
     * Specifies the protocol used by the active-standby pool to receive requests from the
     * load balancer. Value options: **TCP**, **UDP**, **QUIC** or **TLS**.
     */
    protocol?: pulumi.Input<string>;
    /**
     * Specifies the region in which to query the data source.
     * If omitted, the provider-level region will be used.
     */
    region?: pulumi.Input<string>;
    /**
     * Specifies the type of the active-standby pool.
     * The valid values are as follows:
     * + **instance**: Any type of backend servers can be added.
     * + **ip**: Only IP as backend servers can be added.
     */
    type?: pulumi.Input<string>;
    /**
     * Specifies the ID of the VPC where the active-standby pool works.
     */
    vpcId?: pulumi.Input<string>;
}
