UNPKG

@huaweicloudos/pulumi

Version:

A Pulumi package for creating and managing Huaweicloud cloud resources.

357 lines (356 loc) 14.1 kB
import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "../types"; /** * Manages an ELB listener resource within HuaweiCloud. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as huaweicloud from "@pulumi/huaweicloud"; * * const listener1 = new huaweicloud.Elb.Listener("listener_1", { * loadbalancerId: "d9415786-5f1a-428b-b35f-2f1523e146d2", * protocol: "HTTP", * protocolPort: 8080, * tags: { * key: "value", * }, * }); * ``` * * ## Import * * ELB listener can be imported using the `id`, e.g. bash * * ```sh * $ pulumi import huaweicloud:Elb/listener:Listener test <id> * ``` */ export declare class Listener extends pulumi.CustomResource { /** * Get an existing Listener 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?: ListenerState, opts?: pulumi.CustomResourceOptions): Listener; /** * Returns true if the given object is an instance of Listener. 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 Listener; /** * @deprecated admin_state_up is deprecated */ readonly adminStateUp: pulumi.Output<boolean | undefined>; /** * Specifies the ID of the CA certificate used by the listener. This * parameter is mandatory when `protocol` is set to **TERMINATED_HTTPS**. */ readonly clientCaTlsContainerRef: pulumi.Output<string>; /** * @deprecated connection_limit is deprecated */ readonly connectionLimit: pulumi.Output<number>; /** * The creation time of the listener. */ readonly createdAt: pulumi.Output<string>; /** * The ID of the default pool with which the listener is associated. */ readonly defaultPoolId: pulumi.Output<string>; /** * Specifies the ID of the server certificate used by the listener. This * parameter is mandatory when `protocol` is set to **TERMINATED_HTTPS**. */ readonly defaultTlsContainerRef: pulumi.Output<string>; /** * Human-readable description for the listener. */ readonly description: pulumi.Output<string | undefined>; /** * Specifies whether to use HTTP/2. The default value is false. This parameter is valid * only when the `protocol` is set to **TERMINATED_HTTPS**. */ readonly http2Enable: pulumi.Output<boolean | undefined>; /** * Specifies whether to insert HTTP extension headers and sent them to backend servers. * All headers are synchronized. If this parameter is not set, default values are used. Information required by backend * servers can be written into HTTP headers and passed to backend servers. This parameter is mandatory when `protocol` is * set to **TERMINATED_HTTPS**. * The insertHeaders structure is documented below. */ readonly insertHeaders: pulumi.Output<outputs.Elb.ListenerInsertHeaders>; /** * The load balancer on which to provision this listener. */ readonly loadbalancerId: pulumi.Output<string>; /** * Human-readable name for the listener. Does not have to be unique. */ readonly name: pulumi.Output<string>; /** * The reason to enable modification protection. This parameter is valid only when * `protectionStatus` is set to **consoleProtection**. */ readonly protectionReason: pulumi.Output<string | undefined>; /** * Specifies whether modification protection is enabled. Value options: * + **nonProtection (default)**: Modification protection is not enabled. * + **consoleProtection**: Modification protection is enabled to avoid that resources are modified by accident on the console. */ readonly protectionStatus: pulumi.Output<string>; /** * The protocol can either be **TCP**, **UDP**, **HTTP** or **TERMINATED_HTTPS**. */ readonly protocol: pulumi.Output<string>; /** * The port on which to listen for client traffic. */ readonly protocolPort: pulumi.Output<number>; /** * The region in which to create the listener resource. If omitted, the * provider-level region will be used. Changing this creates a new listener. */ readonly region: pulumi.Output<string>; /** * Lists the IDs of SNI certificates (server certificates with a domain name) * used by the listener. This parameter is valid when `protocol` is set to **TERMINATED_HTTPS**. */ readonly sniContainerRefs: pulumi.Output<string[]>; /** * Specifies the reason to enable modification protection. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * @deprecated tenant_id is deprecated */ readonly tenantId: pulumi.Output<string>; /** * Specifies the security policy used by the listener. This parameter takes effect * only when the `protocol` used by the listener is set to **TERMINATED_HTTPS**. Value options: **tls-1-0-inherit**, * **tls-1-0**, **tls-1-1**, **tls-1-2** or **tls-1-2-strict**. Defaults to **tls-1-0**. */ readonly tlsCiphersPolicy: pulumi.Output<string>; /** * The update time of the listener. */ readonly updatedAt: pulumi.Output<string>; /** * Create a Listener 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: ListenerArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Listener resources. */ export interface ListenerState { /** * @deprecated admin_state_up is deprecated */ adminStateUp?: pulumi.Input<boolean>; /** * Specifies the ID of the CA certificate used by the listener. This * parameter is mandatory when `protocol` is set to **TERMINATED_HTTPS**. */ clientCaTlsContainerRef?: pulumi.Input<string>; /** * @deprecated connection_limit is deprecated */ connectionLimit?: pulumi.Input<number>; /** * The creation time of the listener. */ createdAt?: pulumi.Input<string>; /** * The ID of the default pool with which the listener is associated. */ defaultPoolId?: pulumi.Input<string>; /** * Specifies the ID of the server certificate used by the listener. This * parameter is mandatory when `protocol` is set to **TERMINATED_HTTPS**. */ defaultTlsContainerRef?: pulumi.Input<string>; /** * Human-readable description for the listener. */ description?: pulumi.Input<string>; /** * Specifies whether to use HTTP/2. The default value is false. This parameter is valid * only when the `protocol` is set to **TERMINATED_HTTPS**. */ http2Enable?: pulumi.Input<boolean>; /** * Specifies whether to insert HTTP extension headers and sent them to backend servers. * All headers are synchronized. If this parameter is not set, default values are used. Information required by backend * servers can be written into HTTP headers and passed to backend servers. This parameter is mandatory when `protocol` is * set to **TERMINATED_HTTPS**. * The insertHeaders structure is documented below. */ insertHeaders?: pulumi.Input<inputs.Elb.ListenerInsertHeaders>; /** * The load balancer on which to provision this listener. */ loadbalancerId?: pulumi.Input<string>; /** * Human-readable name for the listener. Does not have to be unique. */ name?: pulumi.Input<string>; /** * The reason to enable modification protection. This parameter is valid only when * `protectionStatus` is set to **consoleProtection**. */ protectionReason?: pulumi.Input<string>; /** * Specifies whether modification protection is enabled. Value options: * + **nonProtection (default)**: Modification protection is not enabled. * + **consoleProtection**: Modification protection is enabled to avoid that resources are modified by accident on the console. */ protectionStatus?: pulumi.Input<string>; /** * The protocol can either be **TCP**, **UDP**, **HTTP** or **TERMINATED_HTTPS**. */ protocol?: pulumi.Input<string>; /** * The port on which to listen for client traffic. */ protocolPort?: pulumi.Input<number>; /** * The region in which to create the listener resource. If omitted, the * provider-level region will be used. Changing this creates a new listener. */ region?: pulumi.Input<string>; /** * Lists the IDs of SNI certificates (server certificates with a domain name) * used by the listener. This parameter is valid when `protocol` is set to **TERMINATED_HTTPS**. */ sniContainerRefs?: pulumi.Input<pulumi.Input<string>[]>; /** * Specifies the reason to enable modification protection. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * @deprecated tenant_id is deprecated */ tenantId?: pulumi.Input<string>; /** * Specifies the security policy used by the listener. This parameter takes effect * only when the `protocol` used by the listener is set to **TERMINATED_HTTPS**. Value options: **tls-1-0-inherit**, * **tls-1-0**, **tls-1-1**, **tls-1-2** or **tls-1-2-strict**. Defaults to **tls-1-0**. */ tlsCiphersPolicy?: pulumi.Input<string>; /** * The update time of the listener. */ updatedAt?: pulumi.Input<string>; } /** * The set of arguments for constructing a Listener resource. */ export interface ListenerArgs { /** * @deprecated admin_state_up is deprecated */ adminStateUp?: pulumi.Input<boolean>; /** * Specifies the ID of the CA certificate used by the listener. This * parameter is mandatory when `protocol` is set to **TERMINATED_HTTPS**. */ clientCaTlsContainerRef?: pulumi.Input<string>; /** * @deprecated connection_limit is deprecated */ connectionLimit?: pulumi.Input<number>; /** * The ID of the default pool with which the listener is associated. */ defaultPoolId?: pulumi.Input<string>; /** * Specifies the ID of the server certificate used by the listener. This * parameter is mandatory when `protocol` is set to **TERMINATED_HTTPS**. */ defaultTlsContainerRef?: pulumi.Input<string>; /** * Human-readable description for the listener. */ description?: pulumi.Input<string>; /** * Specifies whether to use HTTP/2. The default value is false. This parameter is valid * only when the `protocol` is set to **TERMINATED_HTTPS**. */ http2Enable?: pulumi.Input<boolean>; /** * Specifies whether to insert HTTP extension headers and sent them to backend servers. * All headers are synchronized. If this parameter is not set, default values are used. Information required by backend * servers can be written into HTTP headers and passed to backend servers. This parameter is mandatory when `protocol` is * set to **TERMINATED_HTTPS**. * The insertHeaders structure is documented below. */ insertHeaders?: pulumi.Input<inputs.Elb.ListenerInsertHeaders>; /** * The load balancer on which to provision this listener. */ loadbalancerId: pulumi.Input<string>; /** * Human-readable name for the listener. Does not have to be unique. */ name?: pulumi.Input<string>; /** * The reason to enable modification protection. This parameter is valid only when * `protectionStatus` is set to **consoleProtection**. */ protectionReason?: pulumi.Input<string>; /** * Specifies whether modification protection is enabled. Value options: * + **nonProtection (default)**: Modification protection is not enabled. * + **consoleProtection**: Modification protection is enabled to avoid that resources are modified by accident on the console. */ protectionStatus?: pulumi.Input<string>; /** * The protocol can either be **TCP**, **UDP**, **HTTP** or **TERMINATED_HTTPS**. */ protocol: pulumi.Input<string>; /** * The port on which to listen for client traffic. */ protocolPort: pulumi.Input<number>; /** * The region in which to create the listener resource. If omitted, the * provider-level region will be used. Changing this creates a new listener. */ region?: pulumi.Input<string>; /** * Lists the IDs of SNI certificates (server certificates with a domain name) * used by the listener. This parameter is valid when `protocol` is set to **TERMINATED_HTTPS**. */ sniContainerRefs?: pulumi.Input<pulumi.Input<string>[]>; /** * Specifies the reason to enable modification protection. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * @deprecated tenant_id is deprecated */ tenantId?: pulumi.Input<string>; /** * Specifies the security policy used by the listener. This parameter takes effect * only when the `protocol` used by the listener is set to **TERMINATED_HTTPS**. Value options: **tls-1-0-inherit**, * **tls-1-0**, **tls-1-1**, **tls-1-2** or **tls-1-2-strict**. Defaults to **tls-1-0**. */ tlsCiphersPolicy?: pulumi.Input<string>; }