import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
 * Use this data source to get the list of members under the current project.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const test = pulumi.output(huaweicloud.DedicatedElb.getAllMembers());
 * ```
 */
export declare function getAllMembers(args?: GetAllMembersArgs, opts?: pulumi.InvokeOptions): Promise<GetAllMembersResult>;
/**
 * A collection of arguments for invoking getAllMembers.
 */
export interface GetAllMembersArgs {
    /**
     * Specifies the IP address of the backend server.
     * Multiple IP addresses can be queried.
     */
    addresses?: string[];
    /**
     * Specifies the ID of the enterprise project.
     * + If `enterpriseProjectId` is not specified, resources in all enterprise projects are queried by default.
     * + If `enterpriseProjectId` is specified, the value can be a specific enterprise project ID or **all_granted_eps**.
     * Multiple values can be queried.
     */
    enterpriseProjectIds?: string[];
    /**
     * Specifies the IP address version supported by the backend server group.
     * The value can be **v4** or **v6**.
     * Multiple versions can be queried.
     */
    ipVersions?: string[];
    /**
     * Specifies the ID of the load balancer with which the load balancer is associated.
     * Multiple IDs can be queried.
     */
    loadbalancerIds?: string[];
    /**
     * Specifies the backend server ID.
     * Multiple IDs can be queried.
     */
    memberIds?: string[];
    /**
     * Specifies the backend server name.
     * Multiple IDs can be queried.
     */
    names?: string[];
    /**
     * Specifies the operating status of the backend server.
     * Value options:
     * + **ONLINE**: The backend server is running normally.
     * + **NO_MONITOR**: No health check is configured for the backend server group to which the backend server belongs.
     * + **OFFLINE**: The cloud server used as the backend server is stopped or does not exist.
     * Multiple statuses can be queried.
     */
    operatingStatuses?: string[];
    /**
     * Specifies the ID of the backend server group to which the backend server belongs.
     * Multiple IDs can be queried.
     */
    poolIds?: string[];
    /**
     * Specifies the port used by the backend servers.
     * Multiple ports can be queried.
     */
    protocolPorts?: number[];
    /**
     * Specifies the region in which to query the resource.
     * If omitted, the provider-level region will be used.
     */
    region?: string;
    /**
     * Specifies the ID of the subnet where the backend server works.
     * Multiple IDs can be queried.
     */
    subnetCidrIds?: string[];
    /**
     * Specifies the weight of the backend server.
     * Multiple weights can be queried.
     */
    weights?: number[];
}
/**
 * A collection of values returned by getAllMembers.
 */
export interface GetAllMembersResult {
    /**
     * Indicates the private IP address bound to the backend server.
     */
    readonly addresses?: string[];
    readonly enterpriseProjectIds?: string[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Indicates the IP version supported by the backend server.
     */
    readonly ipVersions?: string[];
    /**
     * Indicates the ID of the load balancer with which the backend server is associated.
     */
    readonly loadbalancerIds?: string[];
    readonly memberIds?: string[];
    /**
     * Indicates the list of backend servers.
     */
    readonly members: outputs.DedicatedElb.GetAllMembersMember[];
    /**
     * Indicates the backend server name.
     */
    readonly names?: string[];
    /**
     * Indicates the health status of the backend server.
     */
    readonly operatingStatuses?: string[];
    /**
     * Indicates the ID of the backend server group to which the backend server belongs.
     */
    readonly poolIds?: string[];
    /**
     * Indicates the port used by the backend server to receive requests.
     */
    readonly protocolPorts?: number[];
    readonly region: string;
    /**
     * Indicates the ID of the IPv4 or IPv6 subnet where the backend server resides.
     */
    readonly subnetCidrIds?: string[];
    /**
     * Indicates the weight of the backend server.
     */
    readonly weights?: number[];
}
export declare function getAllMembersOutput(args?: GetAllMembersOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetAllMembersResult>;
/**
 * A collection of arguments for invoking getAllMembers.
 */
export interface GetAllMembersOutputArgs {
    /**
     * Specifies the IP address of the backend server.
     * Multiple IP addresses can be queried.
     */
    addresses?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Specifies the ID of the enterprise project.
     * + If `enterpriseProjectId` is not specified, resources in all enterprise projects are queried by default.
     * + If `enterpriseProjectId` is specified, the value can be a specific enterprise project ID or **all_granted_eps**.
     * Multiple values can be queried.
     */
    enterpriseProjectIds?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Specifies the IP address version supported by the backend server group.
     * The value can be **v4** or **v6**.
     * Multiple versions can be queried.
     */
    ipVersions?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Specifies the ID of the load balancer with which the load balancer is associated.
     * Multiple IDs can be queried.
     */
    loadbalancerIds?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Specifies the backend server ID.
     * Multiple IDs can be queried.
     */
    memberIds?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Specifies the backend server name.
     * Multiple IDs can be queried.
     */
    names?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Specifies the operating status of the backend server.
     * Value options:
     * + **ONLINE**: The backend server is running normally.
     * + **NO_MONITOR**: No health check is configured for the backend server group to which the backend server belongs.
     * + **OFFLINE**: The cloud server used as the backend server is stopped or does not exist.
     * Multiple statuses can be queried.
     */
    operatingStatuses?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Specifies the ID of the backend server group to which the backend server belongs.
     * Multiple IDs can be queried.
     */
    poolIds?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Specifies the port used by the backend servers.
     * Multiple ports can be queried.
     */
    protocolPorts?: pulumi.Input<pulumi.Input<number>[]>;
    /**
     * Specifies the region in which to query the resource.
     * If omitted, the provider-level region will be used.
     */
    region?: pulumi.Input<string>;
    /**
     * Specifies the ID of the subnet where the backend server works.
     * Multiple IDs can be queried.
     */
    subnetCidrIds?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Specifies the weight of the backend server.
     * Multiple weights can be queried.
     */
    weights?: pulumi.Input<pulumi.Input<number>[]>;
}
