UNPKG

@pulumi/openstack

Version:

A Pulumi package for creating and managing OpenStack cloud resources.

320 lines (319 loc) • 12 kB
import * as pulumi from "@pulumi/pulumi"; /** * Manages a V2 monitor resource within OpenStack. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as openstack from "@pulumi/openstack"; * * const monitor1 = new openstack.loadbalancer.Monitor("monitor_1", { * poolId: pool1.id, * type: "PING", * delay: 20, * timeout: 10, * maxRetries: 5, * }); * ``` * * ## Import * * Load Balancer Pool Monitor can be imported using the Monitor ID, e.g.: * * ```sh * $ pulumi import openstack:loadbalancer/monitor:Monitor monitor_1 47c26fc3-2403-427a-8c79-1589bd0533c2 * ``` * In case of using OpenContrail, the import may not work properly. If you face an issue, try to import the monitor providing its parent pool ID: * * ```sh * $ pulumi import openstack:loadbalancer/monitor:Monitor monitor_1 47c26fc3-2403-427a-8c79-1589bd0533c2/708bc224-0f8c-4981-ac82-97095fe051b6 * ``` */ 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 administrative state of the monitor. * A valid value is true (UP) or false (DOWN). */ readonly adminStateUp: pulumi.Output<boolean | undefined>; /** * The time, in seconds, between sending probes to members. */ readonly delay: pulumi.Output<number>; /** * The domain name to use in the HTTP host header * health monitor requests. Supported in Octavia API version 2.10 or later. */ readonly domainName: pulumi.Output<string | undefined>; /** * Required for HTTP(S) types. Expected HTTP codes * for a passing HTTP(S) monitor. You can either specify a single status like * "200", a list like "200, 202" or a range like "200-202". Default is "200". */ readonly expectedCodes: pulumi.Output<string>; /** * Required for HTTP(S) types. The HTTP method that * the health monitor uses for requests. One of CONNECT, DELETE, GET, HEAD, * OPTIONS, PATCH, POST, PUT, or TRACE. The default is GET. */ readonly httpMethod: pulumi.Output<string>; /** * Required for HTTP(S) types. The HTTP version that * the health monitor uses for requests. One of `1.0` or 1.1` is supported * for HTTP(S) monitors. The default is `1.0`. Supported in Octavia API version * 2.10 or later. */ readonly httpVersion: pulumi.Output<string | undefined>; /** * Number of permissible ping failures before * changing the member's status to INACTIVE. Must be a number between 1 * and 10. */ readonly maxRetries: pulumi.Output<number>; /** * Number of permissible ping failures before * changing the member's status to ERROR. Must be a number between 1 and 10. * The default is 3. Changing this updates the maxRetriesDown of the * existing monitor. */ readonly maxRetriesDown: pulumi.Output<number>; /** * The Name of the Monitor. */ readonly name: pulumi.Output<string>; /** * The id of the pool that this monitor will be assigned to. */ readonly poolId: pulumi.Output<string>; /** * The region in which to obtain the V2 Networking client. * A Networking client is needed to create a monitor. If omitted, the * `region` argument of the provider is used. Changing this creates a new * monitor. */ readonly region: pulumi.Output<string>; /** * Required for admins. The UUID of the tenant who owns * the monitor. Only administrative users can specify a tenant UUID * other than their own. Changing this creates a new monitor. */ readonly tenantId: pulumi.Output<string>; /** * Maximum number of seconds for a monitor to wait for a * ping reply before it times out. The value must be less than the delay * value. */ readonly timeout: pulumi.Output<number>; /** * The type of probe, which is PING, TCP, HTTP, HTTPS, * TLS-HELLO, SCTP or UDP-CONNECT, that is sent by the loadbalancer to * verify the member state. Changing this creates a new monitor. */ readonly type: pulumi.Output<string>; /** * Required for HTTP(S) types. URI path that will be * accessed if monitor type is HTTP or HTTPS. Default is `/`. */ 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 administrative state of the monitor. * A valid value is true (UP) or false (DOWN). */ adminStateUp?: pulumi.Input<boolean>; /** * The time, in seconds, between sending probes to members. */ delay?: pulumi.Input<number>; /** * The domain name to use in the HTTP host header * health monitor requests. Supported in Octavia API version 2.10 or later. */ domainName?: pulumi.Input<string>; /** * Required for HTTP(S) types. Expected HTTP codes * for a passing HTTP(S) monitor. You can either specify a single status like * "200", a list like "200, 202" or a range like "200-202". Default is "200". */ expectedCodes?: pulumi.Input<string>; /** * Required for HTTP(S) types. The HTTP method that * the health monitor uses for requests. One of CONNECT, DELETE, GET, HEAD, * OPTIONS, PATCH, POST, PUT, or TRACE. The default is GET. */ httpMethod?: pulumi.Input<string>; /** * Required for HTTP(S) types. The HTTP version that * the health monitor uses for requests. One of `1.0` or 1.1` is supported * for HTTP(S) monitors. The default is `1.0`. Supported in Octavia API version * 2.10 or later. */ httpVersion?: pulumi.Input<string>; /** * Number of permissible ping failures before * changing the member's status to INACTIVE. Must be a number between 1 * and 10. */ maxRetries?: pulumi.Input<number>; /** * Number of permissible ping failures before * changing the member's status to ERROR. Must be a number between 1 and 10. * The default is 3. Changing this updates the maxRetriesDown of the * existing monitor. */ maxRetriesDown?: pulumi.Input<number>; /** * The Name of the Monitor. */ name?: pulumi.Input<string>; /** * The id of the pool that this monitor will be assigned to. */ poolId?: pulumi.Input<string>; /** * The region in which to obtain the V2 Networking client. * A Networking client is needed to create a monitor. If omitted, the * `region` argument of the provider is used. Changing this creates a new * monitor. */ region?: pulumi.Input<string>; /** * Required for admins. The UUID of the tenant who owns * the monitor. Only administrative users can specify a tenant UUID * other than their own. Changing this creates a new monitor. */ tenantId?: pulumi.Input<string>; /** * Maximum number of seconds for a monitor to wait for a * ping reply before it times out. The value must be less than the delay * value. */ timeout?: pulumi.Input<number>; /** * The type of probe, which is PING, TCP, HTTP, HTTPS, * TLS-HELLO, SCTP or UDP-CONNECT, that is sent by the loadbalancer to * verify the member state. Changing this creates a new monitor. */ type?: pulumi.Input<string>; /** * Required for HTTP(S) types. URI path that will be * accessed if monitor type is HTTP or HTTPS. Default is `/`. */ urlPath?: pulumi.Input<string>; } /** * The set of arguments for constructing a Monitor resource. */ export interface MonitorArgs { /** * The administrative state of the monitor. * A valid value is true (UP) or false (DOWN). */ adminStateUp?: pulumi.Input<boolean>; /** * The time, in seconds, between sending probes to members. */ delay: pulumi.Input<number>; /** * The domain name to use in the HTTP host header * health monitor requests. Supported in Octavia API version 2.10 or later. */ domainName?: pulumi.Input<string>; /** * Required for HTTP(S) types. Expected HTTP codes * for a passing HTTP(S) monitor. You can either specify a single status like * "200", a list like "200, 202" or a range like "200-202". Default is "200". */ expectedCodes?: pulumi.Input<string>; /** * Required for HTTP(S) types. The HTTP method that * the health monitor uses for requests. One of CONNECT, DELETE, GET, HEAD, * OPTIONS, PATCH, POST, PUT, or TRACE. The default is GET. */ httpMethod?: pulumi.Input<string>; /** * Required for HTTP(S) types. The HTTP version that * the health monitor uses for requests. One of `1.0` or 1.1` is supported * for HTTP(S) monitors. The default is `1.0`. Supported in Octavia API version * 2.10 or later. */ httpVersion?: pulumi.Input<string>; /** * Number of permissible ping failures before * changing the member's status to INACTIVE. Must be a number between 1 * and 10. */ maxRetries: pulumi.Input<number>; /** * Number of permissible ping failures before * changing the member's status to ERROR. Must be a number between 1 and 10. * The default is 3. Changing this updates the maxRetriesDown of the * existing monitor. */ maxRetriesDown?: pulumi.Input<number>; /** * The Name of the Monitor. */ name?: pulumi.Input<string>; /** * The id of the pool that this monitor will be assigned to. */ poolId: pulumi.Input<string>; /** * The region in which to obtain the V2 Networking client. * A Networking client is needed to create a monitor. If omitted, the * `region` argument of the provider is used. Changing this creates a new * monitor. */ region?: pulumi.Input<string>; /** * Required for admins. The UUID of the tenant who owns * the monitor. Only administrative users can specify a tenant UUID * other than their own. Changing this creates a new monitor. */ tenantId?: pulumi.Input<string>; /** * Maximum number of seconds for a monitor to wait for a * ping reply before it times out. The value must be less than the delay * value. */ timeout: pulumi.Input<number>; /** * The type of probe, which is PING, TCP, HTTP, HTTPS, * TLS-HELLO, SCTP or UDP-CONNECT, that is sent by the loadbalancer to * verify the member state. Changing this creates a new monitor. */ type: pulumi.Input<string>; /** * Required for HTTP(S) types. URI path that will be * accessed if monitor type is HTTP or HTTPS. Default is `/`. */ urlPath?: pulumi.Input<string>; }