import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
 * Use this data source to get the list of ELB monitors.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const config = new pulumi.Config();
 * const domainName = config.requireObject("domainName");
 * const test = huaweicloud.DedicatedElb.getMonitors({
 *     domainName: domainName,
 * });
 * ```
 */
export declare function getMonitors(args?: GetMonitorsArgs, opts?: pulumi.InvokeOptions): Promise<GetMonitorsResult>;
/**
 * A collection of arguments for invoking getMonitors.
 */
export interface GetMonitorsArgs {
    /**
     * Specifies the domain name to which HTTP requests are sent during the health check.
     * The value can be digits, letters, hyphens (-), or periods (.) and must start with a digit or letter.
     */
    domainName?: string;
    /**
     * Specifies the enterprise project ID.
     */
    enterpriseProjectId?: string;
    /**
     * Specifies the HTTP method. Value options: **GET**, **HEAD**, **POST**.
     */
    httpMethod?: string;
    /**
     * Specifies the interval between health checks, in seconds.
     * The value ranges from `1` to `50`.
     */
    interval?: number;
    /**
     * Specifies the number of consecutive health checks when the health check result of a
     * backend server changes from **OFFLINE** to **ONLINE**.
     */
    maxRetries?: number;
    /**
     * Specifies the number of consecutive health checks when the health check result of
     * a backend server changes from **ONLINE** to **OFFLINE**. The value ranges from `1` to `10`.
     */
    maxRetriesDown?: number;
    /**
     * Specifies the health check ID.
     */
    monitorId?: string;
    /**
     * Specifies the health check name.
     */
    name?: string;
    /**
     * Specifies the ID of backend server groups for which the health check is configured.
     */
    poolId?: string;
    /**
     * Specifies the port used for the health check.
     */
    port?: number;
    /**
     * Specifies the health check protocol. The value can be **TCP**, **UDP_CONNECT**,
     * **HTTP**, **HTTPS**, **GRPC** 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 expected HTTP status code. This parameter will take effect only when
     * type is set to **HTTP** or **HTTPS**.Value options:
     * + A specific value, for example, **200**
     * + A list of values that are separated with commas (,), for example, **200**, **202**
     * + A value range, for example, **200**-**204**
     */
    statusCode?: string;
    /**
     * Specifies the maximum time required for waiting for a response from the health check, in
     * seconds.
     */
    timeout?: number;
    /**
     * Specifies the HTTP request path for the health check. The value must start with a slash
     * (/), and the default value is **&#47;**. This parameter is available only when type is set to **HTTP**.
     */
    urlPath?: string;
}
/**
 * A collection of values returned by getMonitors.
 */
export interface GetMonitorsResult {
    /**
     * The domain name that HTTP requests are sent to during the health check.
     */
    readonly domainName?: string;
    readonly enterpriseProjectId?: string;
    /**
     * The HTTP method
     */
    readonly httpMethod?: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The interval between health checks, in seconds.
     */
    readonly interval?: number;
    /**
     * The number of consecutive health checks when the health check result of a backend server changes from
     * **OFFLINE** to **ONLINE**.
     */
    readonly maxRetries?: number;
    /**
     * The number of consecutive health checks when the health check result of a backend server changes from
     * **ONLINE** to **OFFLINE**.
     */
    readonly maxRetriesDown?: number;
    readonly monitorId?: string;
    /**
     * Lists the monitors.
     * The monitors structure is documented below.
     */
    readonly monitors: outputs.DedicatedElb.GetMonitorsMonitor[];
    /**
     * The health check name.
     */
    readonly name?: string;
    /**
     * The ID of backend server groups for which the health check is configured.
     */
    readonly poolId?: string;
    /**
     * The port used for the health check.
     */
    readonly port?: number;
    /**
     * The health check protocol.
     */
    readonly protocol?: string;
    readonly region: string;
    /**
     * The expected HTTP status code.
     */
    readonly statusCode?: string;
    /**
     * The maximum time required for waiting for a response from the health check, in seconds.
     */
    readonly timeout?: number;
    /**
     * The HTTP request path for the health check.
     */
    readonly urlPath?: string;
}
export declare function getMonitorsOutput(args?: GetMonitorsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetMonitorsResult>;
/**
 * A collection of arguments for invoking getMonitors.
 */
export interface GetMonitorsOutputArgs {
    /**
     * Specifies the domain name to which HTTP requests are sent during the health check.
     * The value can be digits, letters, hyphens (-), or periods (.) and must start with a digit or letter.
     */
    domainName?: pulumi.Input<string>;
    /**
     * Specifies the enterprise project ID.
     */
    enterpriseProjectId?: pulumi.Input<string>;
    /**
     * Specifies the HTTP method. Value options: **GET**, **HEAD**, **POST**.
     */
    httpMethod?: pulumi.Input<string>;
    /**
     * Specifies the interval between health checks, in seconds.
     * The value ranges from `1` to `50`.
     */
    interval?: pulumi.Input<number>;
    /**
     * Specifies the number of consecutive health checks when the health check result of a
     * backend server changes from **OFFLINE** to **ONLINE**.
     */
    maxRetries?: pulumi.Input<number>;
    /**
     * Specifies the number of consecutive health checks when the health check result of
     * a backend server changes from **ONLINE** to **OFFLINE**. The value ranges from `1` to `10`.
     */
    maxRetriesDown?: pulumi.Input<number>;
    /**
     * Specifies the health check ID.
     */
    monitorId?: pulumi.Input<string>;
    /**
     * Specifies the health check name.
     */
    name?: pulumi.Input<string>;
    /**
     * Specifies the ID of backend server groups for which the health check is configured.
     */
    poolId?: pulumi.Input<string>;
    /**
     * Specifies the port used for the health check.
     */
    port?: pulumi.Input<number>;
    /**
     * Specifies the health check protocol. The value can be **TCP**, **UDP_CONNECT**,
     * **HTTP**, **HTTPS**, **GRPC** 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 expected HTTP status code. This parameter will take effect only when
     * type is set to **HTTP** or **HTTPS**.Value options:
     * + A specific value, for example, **200**
     * + A list of values that are separated with commas (,), for example, **200**, **202**
     * + A value range, for example, **200**-**204**
     */
    statusCode?: pulumi.Input<string>;
    /**
     * Specifies the maximum time required for waiting for a response from the health check, in
     * seconds.
     */
    timeout?: pulumi.Input<number>;
    /**
     * Specifies the HTTP request path for the health check. The value must start with a slash
     * (/), and the default value is **&#47;**. This parameter is available only when type is set to **HTTP**.
     */
    urlPath?: pulumi.Input<string>;
}
