import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Each ALB instance requires at least one listener to function properly. The listener receives client requests and distributes them to backend servers based on your configured forwarding rules and load balancing algorithm. You can create multiple listeners under a single ALB instance and configure different listening protocols for each listener to handle client requests using different protocols. * * ## Import * * ```sh * $ pulumi import volcenginecc:alb/listener:Listener example "listener_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, 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; /** * Whether the listener has enabled 'Record custom header in access logs': on: enabled. off: not enabled. */ readonly accessLogRecordCustomizedHeadersEnabled: pulumi.Output; /** * Access control policy group ID bound to the listener. When the AclStatus parameter is set to on, AclIds is required. */ readonly aclIds: pulumi.Output; /** * Whether access control is enabled. Values: on: enabled. off: not enabled (default). */ readonly aclStatus: pulumi.Output; /** * Access control mode. Available values: white: allowlist mode. The listener only forwards requests from IP addresses or address ranges specified in the selected access control policy group. If no IP addresses are added to the selected policy group, the listener will not forward any requests. black: denylist mode. The listener only rejects requests from IP addresses or address ranges specified in the selected access control policy group. If no IP addresses are added to the selected policy group, the listener will forward all requests. When the AclStatus parameter is set to on, AclType is a required parameter. */ readonly aclType: pulumi.Output; /** * CA certificate ID associated with the HTTPS listener. This parameter is used for mutual authentication of the HTTPS listener. When the certificate source is alb, you must specify the CACertificateId parameter. */ readonly caCertificateId: pulumi.Output; /** * Source of the CA certificate associated with the HTTPS listener, used for mutual authentication. alb (default): Certificate uploaded via ALB. Standard ALB instances do not support certificates from this source. pca*root: Private root CA certificate purchased or uploaded via Volcano Engine Certificate Center. pca*sub: Private subordinate CA certificate purchased or uploaded via Volcano Engine Certificate Center. */ readonly caCertificateSource: pulumi.Output; /** * Certificate ID associated with the HTTPS listener. Required when creating an HTTPS listener and the certificate source is cert_center. */ readonly certCenterCertificateId: pulumi.Output; /** * Certificate ID associated with the HTTPS listener. Required when creating an HTTPS listener and the certificate source is alb. */ readonly certificateId: pulumi.Output; /** * Source of the default certificate associated with the HTTPS listener. Values: alb: certificate uploaded via ALB; cert*center: SSL certificate purchased or uploaded via Volcano Engine Certificate Center; pca*leaf: private leaf certificate purchased or uploaded via Volcano Engine Certificate Center. */ readonly certificateSource: pulumi.Output; /** * Listener creation time. */ readonly createdTime: pulumi.Output; /** * Personalized configuration ID. If not bound, the value is an empty string. */ readonly customizedCfgId: pulumi.Output; /** * Listener description. Cannot start with http:// or https://. Must start with a letter or Chinese character. Can include numbers, commas (,), periods (.), underscores (_), spaces, equals signs (=), hyphens (-), Chinese commas (,), and Chinese periods (。). Length limit: 1 to 255 characters. If not specified, defaults to an empty string. */ readonly description: pulumi.Output; readonly domainExtensions: pulumi.Output; /** * HTTP 2.0 feature switch. This parameter is only valid for HTTPS listeners. Values: on: enabled; off: disabled (default). */ readonly enableHttp2: pulumi.Output; /** * QUIC feature switch. This parameter is only valid for HTTPS listeners. Available values: on: enabled. off: disabled (default). Only Standard ALB instances support QUIC. */ readonly enableQuic: pulumi.Output; /** * Listener on/off status. Values: on: enabled (default); off: disabled. */ readonly enabled: pulumi.Output; /** * Listener ID. */ readonly listenerId: pulumi.Output; /** * Listener name. If not specified, it is named in the "protocol-port" format. Cannot start with http:// or https://. Must start with a letter or Chinese character. Can include numbers, periods (.), underscores (_), and hyphens (-). Length limit: 1-128 characters. */ readonly listenerName: pulumi.Output; /** * Load balancer instance ID associated with the listener. */ readonly loadBalancerId: pulumi.Output; /** * Private leaf certificate ID associated with the HTTPS listener. Required when creating an HTTPS listener and the certificate source is pca_leaf. */ readonly pcaLeafCertificateId: pulumi.Output; /** * CA certificate ID associated with the HTTPS listener. This parameter is used for mutual authentication of the HTTPS listener. When the certificate source is pca_root, you must specify the PcaRootCACertificateId parameter. */ readonly pcaRootCaCertificateId: pulumi.Output; /** * CA certificate ID associated with the HTTPS listener. This parameter is used for two-way authentication on HTTPS listeners. When the certificate source is pca_sub, you must specify the PcaSubCACertificateId parameter. */ readonly pcaSubCaCertificateId: pulumi.Output; /** * Listener port. Value range: 1 - 65535. */ readonly port: pulumi.Output; /** * Project name to which the listener belongs. */ readonly projectName: pulumi.Output; /** * Listener protocol. Supports HTTP and HTTPS protocols. */ readonly protocol: pulumi.Output; /** * Default server group for the listener. */ readonly serverGroupId: pulumi.Output; readonly serverGroups: pulumi.Output; /** * Listener status. Values: Creating: creating. Active: running. Pending: configuration changing. Disabled: stopped. Deleting: deleting. */ readonly status: pulumi.Output; readonly tags: pulumi.Output; /** * The most recent operation time of the listener. */ readonly updatedTime: pulumi.Output; /** * 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 { /** * Whether the listener has enabled 'Record custom header in access logs': on: enabled. off: not enabled. */ accessLogRecordCustomizedHeadersEnabled?: pulumi.Input; /** * Access control policy group ID bound to the listener. When the AclStatus parameter is set to on, AclIds is required. */ aclIds?: pulumi.Input[]>; /** * Whether access control is enabled. Values: on: enabled. off: not enabled (default). */ aclStatus?: pulumi.Input; /** * Access control mode. Available values: white: allowlist mode. The listener only forwards requests from IP addresses or address ranges specified in the selected access control policy group. If no IP addresses are added to the selected policy group, the listener will not forward any requests. black: denylist mode. The listener only rejects requests from IP addresses or address ranges specified in the selected access control policy group. If no IP addresses are added to the selected policy group, the listener will forward all requests. When the AclStatus parameter is set to on, AclType is a required parameter. */ aclType?: pulumi.Input; /** * CA certificate ID associated with the HTTPS listener. This parameter is used for mutual authentication of the HTTPS listener. When the certificate source is alb, you must specify the CACertificateId parameter. */ caCertificateId?: pulumi.Input; /** * Source of the CA certificate associated with the HTTPS listener, used for mutual authentication. alb (default): Certificate uploaded via ALB. Standard ALB instances do not support certificates from this source. pca*root: Private root CA certificate purchased or uploaded via Volcano Engine Certificate Center. pca*sub: Private subordinate CA certificate purchased or uploaded via Volcano Engine Certificate Center. */ caCertificateSource?: pulumi.Input; /** * Certificate ID associated with the HTTPS listener. Required when creating an HTTPS listener and the certificate source is cert_center. */ certCenterCertificateId?: pulumi.Input; /** * Certificate ID associated with the HTTPS listener. Required when creating an HTTPS listener and the certificate source is alb. */ certificateId?: pulumi.Input; /** * Source of the default certificate associated with the HTTPS listener. Values: alb: certificate uploaded via ALB; cert*center: SSL certificate purchased or uploaded via Volcano Engine Certificate Center; pca*leaf: private leaf certificate purchased or uploaded via Volcano Engine Certificate Center. */ certificateSource?: pulumi.Input; /** * Listener creation time. */ createdTime?: pulumi.Input; /** * Personalized configuration ID. If not bound, the value is an empty string. */ customizedCfgId?: pulumi.Input; /** * Listener description. Cannot start with http:// or https://. Must start with a letter or Chinese character. Can include numbers, commas (,), periods (.), underscores (_), spaces, equals signs (=), hyphens (-), Chinese commas (,), and Chinese periods (。). Length limit: 1 to 255 characters. If not specified, defaults to an empty string. */ description?: pulumi.Input; domainExtensions?: pulumi.Input[]>; /** * HTTP 2.0 feature switch. This parameter is only valid for HTTPS listeners. Values: on: enabled; off: disabled (default). */ enableHttp2?: pulumi.Input; /** * QUIC feature switch. This parameter is only valid for HTTPS listeners. Available values: on: enabled. off: disabled (default). Only Standard ALB instances support QUIC. */ enableQuic?: pulumi.Input; /** * Listener on/off status. Values: on: enabled (default); off: disabled. */ enabled?: pulumi.Input; /** * Listener ID. */ listenerId?: pulumi.Input; /** * Listener name. If not specified, it is named in the "protocol-port" format. Cannot start with http:// or https://. Must start with a letter or Chinese character. Can include numbers, periods (.), underscores (_), and hyphens (-). Length limit: 1-128 characters. */ listenerName?: pulumi.Input; /** * Load balancer instance ID associated with the listener. */ loadBalancerId?: pulumi.Input; /** * Private leaf certificate ID associated with the HTTPS listener. Required when creating an HTTPS listener and the certificate source is pca_leaf. */ pcaLeafCertificateId?: pulumi.Input; /** * CA certificate ID associated with the HTTPS listener. This parameter is used for mutual authentication of the HTTPS listener. When the certificate source is pca_root, you must specify the PcaRootCACertificateId parameter. */ pcaRootCaCertificateId?: pulumi.Input; /** * CA certificate ID associated with the HTTPS listener. This parameter is used for two-way authentication on HTTPS listeners. When the certificate source is pca_sub, you must specify the PcaSubCACertificateId parameter. */ pcaSubCaCertificateId?: pulumi.Input; /** * Listener port. Value range: 1 - 65535. */ port?: pulumi.Input; /** * Project name to which the listener belongs. */ projectName?: pulumi.Input; /** * Listener protocol. Supports HTTP and HTTPS protocols. */ protocol?: pulumi.Input; /** * Default server group for the listener. */ serverGroupId?: pulumi.Input; serverGroups?: pulumi.Input[]>; /** * Listener status. Values: Creating: creating. Active: running. Pending: configuration changing. Disabled: stopped. Deleting: deleting. */ status?: pulumi.Input; tags?: pulumi.Input[]>; /** * The most recent operation time of the listener. */ updatedTime?: pulumi.Input; } /** * The set of arguments for constructing a Listener resource. */ export interface ListenerArgs { /** * Whether the listener has enabled 'Record custom header in access logs': on: enabled. off: not enabled. */ accessLogRecordCustomizedHeadersEnabled?: pulumi.Input; /** * Access control policy group ID bound to the listener. When the AclStatus parameter is set to on, AclIds is required. */ aclIds?: pulumi.Input[]>; /** * Whether access control is enabled. Values: on: enabled. off: not enabled (default). */ aclStatus?: pulumi.Input; /** * Access control mode. Available values: white: allowlist mode. The listener only forwards requests from IP addresses or address ranges specified in the selected access control policy group. If no IP addresses are added to the selected policy group, the listener will not forward any requests. black: denylist mode. The listener only rejects requests from IP addresses or address ranges specified in the selected access control policy group. If no IP addresses are added to the selected policy group, the listener will forward all requests. When the AclStatus parameter is set to on, AclType is a required parameter. */ aclType?: pulumi.Input; /** * CA certificate ID associated with the HTTPS listener. This parameter is used for mutual authentication of the HTTPS listener. When the certificate source is alb, you must specify the CACertificateId parameter. */ caCertificateId?: pulumi.Input; /** * Source of the CA certificate associated with the HTTPS listener, used for mutual authentication. alb (default): Certificate uploaded via ALB. Standard ALB instances do not support certificates from this source. pca*root: Private root CA certificate purchased or uploaded via Volcano Engine Certificate Center. pca*sub: Private subordinate CA certificate purchased or uploaded via Volcano Engine Certificate Center. */ caCertificateSource?: pulumi.Input; /** * Certificate ID associated with the HTTPS listener. Required when creating an HTTPS listener and the certificate source is cert_center. */ certCenterCertificateId?: pulumi.Input; /** * Certificate ID associated with the HTTPS listener. Required when creating an HTTPS listener and the certificate source is alb. */ certificateId?: pulumi.Input; /** * Source of the default certificate associated with the HTTPS listener. Values: alb: certificate uploaded via ALB; cert*center: SSL certificate purchased or uploaded via Volcano Engine Certificate Center; pca*leaf: private leaf certificate purchased or uploaded via Volcano Engine Certificate Center. */ certificateSource?: pulumi.Input; /** * Personalized configuration ID. If not bound, the value is an empty string. */ customizedCfgId?: pulumi.Input; /** * Listener description. Cannot start with http:// or https://. Must start with a letter or Chinese character. Can include numbers, commas (,), periods (.), underscores (_), spaces, equals signs (=), hyphens (-), Chinese commas (,), and Chinese periods (。). Length limit: 1 to 255 characters. If not specified, defaults to an empty string. */ description?: pulumi.Input; domainExtensions?: pulumi.Input[]>; /** * HTTP 2.0 feature switch. This parameter is only valid for HTTPS listeners. Values: on: enabled; off: disabled (default). */ enableHttp2?: pulumi.Input; /** * QUIC feature switch. This parameter is only valid for HTTPS listeners. Available values: on: enabled. off: disabled (default). Only Standard ALB instances support QUIC. */ enableQuic?: pulumi.Input; /** * Listener on/off status. Values: on: enabled (default); off: disabled. */ enabled?: pulumi.Input; /** * Listener name. If not specified, it is named in the "protocol-port" format. Cannot start with http:// or https://. Must start with a letter or Chinese character. Can include numbers, periods (.), underscores (_), and hyphens (-). Length limit: 1-128 characters. */ listenerName?: pulumi.Input; /** * Load balancer instance ID associated with the listener. */ loadBalancerId: pulumi.Input; /** * Private leaf certificate ID associated with the HTTPS listener. Required when creating an HTTPS listener and the certificate source is pca_leaf. */ pcaLeafCertificateId?: pulumi.Input; /** * CA certificate ID associated with the HTTPS listener. This parameter is used for mutual authentication of the HTTPS listener. When the certificate source is pca_root, you must specify the PcaRootCACertificateId parameter. */ pcaRootCaCertificateId?: pulumi.Input; /** * CA certificate ID associated with the HTTPS listener. This parameter is used for two-way authentication on HTTPS listeners. When the certificate source is pca_sub, you must specify the PcaSubCACertificateId parameter. */ pcaSubCaCertificateId?: pulumi.Input; /** * Listener port. Value range: 1 - 65535. */ port: pulumi.Input; /** * Listener protocol. Supports HTTP and HTTPS protocols. */ protocol: pulumi.Input; /** * Default server group for the listener. */ serverGroupId: pulumi.Input; serverGroups?: pulumi.Input[]>; tags?: pulumi.Input[]>; }