@huaweicloudos/pulumi
Version:
A Pulumi package for creating and managing Huaweicloud cloud resources.
343 lines (342 loc) • 16.5 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* Manages an ELB monitor resource within HuaweiCloud.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as pulumi from "@huaweicloudos/pulumi";
*
* const config = new pulumi.Config();
* const poolId = config.requireObject("poolId");
* const monitor1 = new huaweicloud.dedicatedelb.Monitor("monitor1", {
* poolId: poolId,
* protocol: "HTTPS",
* interval: 30,
* timeout: 20,
* maxRetries: 8,
* urlPath: "/bb",
* domainName: "www.bb.com",
* port: 8888,
* statusCode: "200,301,404-500,504",
* });
* ```
*
* ## Import
*
* ELB monitor can be imported using the monitor `id`, e.g. bash
*
* ```sh
* $ pulumi import huaweicloud:DedicatedElb/monitor:Monitor test <id>
* ```
*/
export declare class Monitor extends pulumi.CustomResource {
/**
* Get an existing Monitor 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?: MonitorState, opts?: pulumi.CustomResourceOptions): Monitor;
/**
* Returns true if the given object is an instance of Monitor. 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 Monitor;
/**
* The creation time of the monitor.
*/
readonly createdAt: pulumi.Output<string>;
/**
* Specifies the domain name that HTTP requests are sent to during the health check.
* The domain name consists of 1 to 100 characters, can contain only digits, letters, hyphens (-), and periods (.) and
* must start with a digit or letter. The value is left blank by default, indicating that the virtual IP address of the
* load balancer is used as the destination address of HTTP requests. This parameter is available only when `protocol`
* is set to **HTTP** or **HTTPS**.
*/
readonly domainName: pulumi.Output<string>;
/**
* Specifies whether the health check is enabled.
* + **true(default)**: Health check is enabled.
* + **false**: Health check is disabled.
*/
readonly enabled: pulumi.Output<boolean | undefined>;
/**
* Specifies the HTTP method. Value options: **GET**, **HEAD**, **POST**. Defaults to **GET**.
*/
readonly httpMethod: pulumi.Output<string>;
/**
* Specifies the interval between health checks, in seconds.
* Value ranges from `1` to `50`.
*/
readonly interval: pulumi.Output<number>;
/**
* Specifies the number of consecutive health checks when the health check result of
* a backend server changes from OFFLINE to ONLINE. Value ranges from `1` to `10`.
*/
readonly maxRetries: pulumi.Output<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`, and the default value is `3`.
*/
readonly maxRetriesDown: pulumi.Output<number>;
/**
* Specifies the health check name.
*/
readonly name: pulumi.Output<string>;
/**
* Specifies the ID of the backend server group for which the health check is
* configured. Changing this creates a new monitor.
*/
readonly poolId: pulumi.Output<string>;
/**
* Specifies the port used for the health check. If this parameter is left blank, a port of
* the backend server will be used by default. It is mandatory when the `protocol` of the backend server group is **IP**.
* Value ranges from `1` to `65,535`.
*/
readonly port: pulumi.Output<number>;
/**
* Specifies the health check protocol. Value options: **TCP**, **UDP_CONNECT**,
* **HTTP**, **HTTPS**, **GRPC** or **TLS**.
* + If the protocol of the backend server is **QUIC**, the value can only be **UDP_CONNECT**.
* + If the protocol of the backend server is **UDP**, the value can only be **UDP_CONNECT**.
* + If the protocol of the backend server is **TCP**, the value can only be **TCP**, **HTTP** or **HTTPS**.
* + If the protocol of the backend server is **HTTP**, the value can only be **TCP**, **HTTP**, **HTTPS**, **TLS** or **GRPC**.
* + If the protocol of the backend server is **HTTPS**, the value can only be **TCP**, **HTTP**, **HTTPS**, **TLS** or **GRPC**.
* + If the protocol of the backend server is **GRPC**, the value can only be **TCP**, **HTTP**, **HTTPS**, **TLS** or **GRPC**.
* + If the protocol of the backend server is **TLS**, the value can only be **TCP**, **HTTP**, **HTTPS**, **TLS** or **GRPC**.
*/
readonly protocol: pulumi.Output<string>;
/**
* The region in which to create the ELB monitor resource. If omitted, the
* provider-level region will be used. Changing this creates a new monitor.
*/
readonly region: pulumi.Output<string>;
/**
* Specifies the expected HTTP status code. This parameter will take effect only when
* `protocol` is set to **HTTP** or **HTTPS**. Value options are as follows:
* + 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**.
*/
readonly statusCode: pulumi.Output<string>;
/**
* Specifies the maximum time required for waiting for a response from the health check,
* in seconds. Value ranges from `1` to `50`. It is recommended that you set the value less than that of
* parameter `interval`.
*/
readonly timeout: pulumi.Output<number>;
/**
* The update time of the monitor.
*/
readonly updatedAt: pulumi.Output<string>;
/**
* Specifies the HTTP request path for the health check. The value must start with a
* slash (/), can contain letters, digits, hyphens (-), slash (/), periods (.), percent signs (%), hashes(#), and(&)
* and the special characters: `~!()*[]@$^:',+`, and the default value is **/**. This parameter is available only when
* `protocol` is set to **HTTP** or **HTTPS**.
*/
readonly urlPath: pulumi.Output<string>;
/**
* Create a Monitor 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: MonitorArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Monitor resources.
*/
export interface MonitorState {
/**
* The creation time of the monitor.
*/
createdAt?: pulumi.Input<string>;
/**
* Specifies the domain name that HTTP requests are sent to during the health check.
* The domain name consists of 1 to 100 characters, can contain only digits, letters, hyphens (-), and periods (.) and
* must start with a digit or letter. The value is left blank by default, indicating that the virtual IP address of the
* load balancer is used as the destination address of HTTP requests. This parameter is available only when `protocol`
* is set to **HTTP** or **HTTPS**.
*/
domainName?: pulumi.Input<string>;
/**
* Specifies whether the health check is enabled.
* + **true(default)**: Health check is enabled.
* + **false**: Health check is disabled.
*/
enabled?: pulumi.Input<boolean>;
/**
* Specifies the HTTP method. Value options: **GET**, **HEAD**, **POST**. Defaults to **GET**.
*/
httpMethod?: pulumi.Input<string>;
/**
* Specifies the interval between health checks, in seconds.
* 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. Value ranges from `1` to `10`.
*/
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`, and the default value is `3`.
*/
maxRetriesDown?: pulumi.Input<number>;
/**
* Specifies the health check name.
*/
name?: pulumi.Input<string>;
/**
* Specifies the ID of the backend server group for which the health check is
* configured. Changing this creates a new monitor.
*/
poolId?: pulumi.Input<string>;
/**
* Specifies the port used for the health check. If this parameter is left blank, a port of
* the backend server will be used by default. It is mandatory when the `protocol` of the backend server group is **IP**.
* Value ranges from `1` to `65,535`.
*/
port?: pulumi.Input<number>;
/**
* Specifies the health check protocol. Value options: **TCP**, **UDP_CONNECT**,
* **HTTP**, **HTTPS**, **GRPC** or **TLS**.
* + If the protocol of the backend server is **QUIC**, the value can only be **UDP_CONNECT**.
* + If the protocol of the backend server is **UDP**, the value can only be **UDP_CONNECT**.
* + If the protocol of the backend server is **TCP**, the value can only be **TCP**, **HTTP** or **HTTPS**.
* + If the protocol of the backend server is **HTTP**, the value can only be **TCP**, **HTTP**, **HTTPS**, **TLS** or **GRPC**.
* + If the protocol of the backend server is **HTTPS**, the value can only be **TCP**, **HTTP**, **HTTPS**, **TLS** or **GRPC**.
* + If the protocol of the backend server is **GRPC**, the value can only be **TCP**, **HTTP**, **HTTPS**, **TLS** or **GRPC**.
* + If the protocol of the backend server is **TLS**, the value can only be **TCP**, **HTTP**, **HTTPS**, **TLS** or **GRPC**.
*/
protocol?: pulumi.Input<string>;
/**
* The region in which to create the ELB monitor resource. If omitted, the
* provider-level region will be used. Changing this creates a new monitor.
*/
region?: pulumi.Input<string>;
/**
* Specifies the expected HTTP status code. This parameter will take effect only when
* `protocol` is set to **HTTP** or **HTTPS**. Value options are as follows:
* + 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. Value ranges from `1` to `50`. It is recommended that you set the value less than that of
* parameter `interval`.
*/
timeout?: pulumi.Input<number>;
/**
* The update time of the monitor.
*/
updatedAt?: pulumi.Input<string>;
/**
* Specifies the HTTP request path for the health check. The value must start with a
* slash (/), can contain letters, digits, hyphens (-), slash (/), periods (.), percent signs (%), hashes(#), and(&)
* and the special characters: `~!()*[]@$^:',+`, and the default value is **/**. This parameter is available only when
* `protocol` is set to **HTTP** or **HTTPS**.
*/
urlPath?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a Monitor resource.
*/
export interface MonitorArgs {
/**
* Specifies the domain name that HTTP requests are sent to during the health check.
* The domain name consists of 1 to 100 characters, can contain only digits, letters, hyphens (-), and periods (.) and
* must start with a digit or letter. The value is left blank by default, indicating that the virtual IP address of the
* load balancer is used as the destination address of HTTP requests. This parameter is available only when `protocol`
* is set to **HTTP** or **HTTPS**.
*/
domainName?: pulumi.Input<string>;
/**
* Specifies whether the health check is enabled.
* + **true(default)**: Health check is enabled.
* + **false**: Health check is disabled.
*/
enabled?: pulumi.Input<boolean>;
/**
* Specifies the HTTP method. Value options: **GET**, **HEAD**, **POST**. Defaults to **GET**.
*/
httpMethod?: pulumi.Input<string>;
/**
* Specifies the interval between health checks, in seconds.
* 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. Value ranges from `1` to `10`.
*/
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`, and the default value is `3`.
*/
maxRetriesDown?: pulumi.Input<number>;
/**
* Specifies the health check name.
*/
name?: pulumi.Input<string>;
/**
* Specifies the ID of the backend server group for which the health check is
* configured. Changing this creates a new monitor.
*/
poolId: pulumi.Input<string>;
/**
* Specifies the port used for the health check. If this parameter is left blank, a port of
* the backend server will be used by default. It is mandatory when the `protocol` of the backend server group is **IP**.
* Value ranges from `1` to `65,535`.
*/
port?: pulumi.Input<number>;
/**
* Specifies the health check protocol. Value options: **TCP**, **UDP_CONNECT**,
* **HTTP**, **HTTPS**, **GRPC** or **TLS**.
* + If the protocol of the backend server is **QUIC**, the value can only be **UDP_CONNECT**.
* + If the protocol of the backend server is **UDP**, the value can only be **UDP_CONNECT**.
* + If the protocol of the backend server is **TCP**, the value can only be **TCP**, **HTTP** or **HTTPS**.
* + If the protocol of the backend server is **HTTP**, the value can only be **TCP**, **HTTP**, **HTTPS**, **TLS** or **GRPC**.
* + If the protocol of the backend server is **HTTPS**, the value can only be **TCP**, **HTTP**, **HTTPS**, **TLS** or **GRPC**.
* + If the protocol of the backend server is **GRPC**, the value can only be **TCP**, **HTTP**, **HTTPS**, **TLS** or **GRPC**.
* + If the protocol of the backend server is **TLS**, the value can only be **TCP**, **HTTP**, **HTTPS**, **TLS** or **GRPC**.
*/
protocol: pulumi.Input<string>;
/**
* The region in which to create the ELB monitor resource. If omitted, the
* provider-level region will be used. Changing this creates a new monitor.
*/
region?: pulumi.Input<string>;
/**
* Specifies the expected HTTP status code. This parameter will take effect only when
* `protocol` is set to **HTTP** or **HTTPS**. Value options are as follows:
* + 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. Value ranges from `1` to `50`. It is recommended that you set the value less than that of
* parameter `interval`.
*/
timeout: pulumi.Input<number>;
/**
* Specifies the HTTP request path for the health check. The value must start with a
* slash (/), can contain letters, digits, hyphens (-), slash (/), periods (.), percent signs (%), hashes(#), and(&)
* and the special characters: `~!()*[]@$^:',+`, and the default value is **/**. This parameter is available only when
* `protocol` is set to **HTTP** or **HTTPS**.
*/
urlPath?: pulumi.Input<string>;
}