UNPKG

@huaweicloudos/pulumi

Version:

A Pulumi package for creating and managing Huaweicloud cloud resources.

343 lines (342 loc) 16.5 kB
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 **&#47;**. 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 **&#47;**. 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 **&#47;**. This parameter is available only when * `protocol` is set to **HTTP** or **HTTPS**. */ urlPath?: pulumi.Input<string>; }