import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../types/output"; /** * Data Source schema for Volcengine::CLB::Listener */ export declare function getListener(args: GetListenerArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getListener. */ export interface GetListenerArgs { /** * Uniquely identifies the resource. */ id: string; } /** * A collection of values returned by getListener. */ export interface GetListenerResult { /** * ID of the access control policy group bound to the listener. Returned only when the AclStatus parameter is set to on. */ readonly aclIds: string[]; /** * Enable access control. Values: on: enabled. off (default): disabled. */ readonly aclStatus: string; /** * Access control mode. white: Allowlist. black: Denylist. This parameter is valid only when the AclStatus parameter is on. */ readonly aclType: string; /** * Bandwidth limit for the listener, which means this listener exclusively uses the bandwidth of the CLB instance. Unit: Mbps. -1 (default): This listener does not exclusively use CLB bandwidth and shares the non-exclusive bandwidth of the CLB instance with other listeners. Value range: 1 to the non-exclusive bandwidth of the CLB instance. */ readonly bandwidth: number; /** * CA certificate for mutual authentication. */ readonly caCertificateId: string; /** * Enable mutual authentication. on: enabled. off (default): disabled. */ readonly caEnabled: string; /** * Certificate ID from Certificate Center. */ readonly certCenterCertificateId: string; /** * Certificate ID from the CLB certificate management module. */ readonly certificateId: string; /** * Certificate source. clb (default): certificate uploaded to CLB. cert_center: certificate uploaded to Certificate Center. user: certificate uploaded by user. */ readonly certificateSource: string; /** * Timeout for reading the client request body. This timeout applies only between two consecutive read operations, not the entire request transmission. Range: 30–120 seconds, default is 60 seconds. This parameter is valid only when Protocol is set to HTTP or HTTPS. */ readonly clientBodyTimeout: number; /** * Timeout for reading the client request header. Value range: 30–120 seconds. Default is 60 seconds. This parameter is valid only when Protocol is set to HTTP or HTTPS. */ readonly clientHeaderTimeout: number; /** * Whether the listener enables graceful connection termination. on: enabled. off: not enabled. When Protocol returns HTTP or HTTPS, this parameter always returns off. */ readonly connectionDrainEnabled: string; /** * Timeout for graceful connection termination, in seconds. If ConnectionDrainEnabled returns off, this parameter returns 0. */ readonly connectionDrainTimeout: number; /** * Name of the session persistence cookie configured on the backend server. This parameter is valid and required only when PersistenceType is set to server. Only letters, numbers, underscores (_), and hyphens (-) are allowed. Length must be between 1 and 200 characters. */ readonly cookie: string; /** * Maximum number of new connections per second. -1 (default): No limit, which means the maximum number of new connections allowed by the CLB instance. Value range: 1 to the maximum number of new connections allowed by the CLB instance. */ readonly cps: number; /** * Creation time of the listener. */ readonly createdTime: string; /** * Listener description. Must start with a letter, digit, or Chinese character. Can include letters, digits, Chinese characters, and the following special characters: comma (,), period (.), underscore (_), space ( ), equals sign (=), hyphen (-), Chinese comma (,), and Chinese period (。). Length: 0–255 characters. If not specified, the default is an empty string. */ readonly description: string; /** * List of extended domain names associated with the HTTPS listener. Each HTTPS listener can be associated with up to 20 extended domain names. */ readonly domainExtensions: outputs.clb.GetListenerDomainExtension[]; /** * Enable listener. on (default): enabled. off: disabled. */ readonly enabled: string; /** * End port for all-port listening. Range: 1–65535. When Port is '0', this parameter is required and must be greater than startPort. */ readonly endPort: number; /** * Listener connection timeout. This parameter is valid only when Protocol is set to TCP or UDP. Values: TCP protocol: 10–900 seconds, default is 900 seconds. UDP protocol: 1–300 seconds, default is 90 seconds. */ readonly establishedTimeout: number; /** * Health check information. */ readonly healthCheck: outputs.clb.GetListenerHealthCheck; /** * Whether the listener enables frontend HTTP 2.0 protocol. This parameter is valid only when Protocol is set to HTTPS. Values: on: enabled. off (default): disabled. */ readonly http2Enabled: string; /** * Uniquely identifies the resource. */ readonly id: string; /** * Keep-alive timeout between the client and CLB. Range: 0–900 seconds, default is 75 seconds. 0 disables keep-alive. This parameter is valid only when Protocol is set to HTTP or HTTPS. */ readonly keepaliveTimeout: number; /** * Listener ID. */ readonly listenerId: string; /** * Listener name. Must start with a letter, number, or Chinese character. Can include letters, numbers, Chinese characters, and the following special characters: period (.), underscore (_), and hyphen (-). Length must be between 1 and 128 characters. If left blank, 'Protocol-Port' will be used as the default listener name. */ readonly listenerName: string; /** * ID of the CLB instance. */ readonly loadBalancerId: string; /** * Maximum concurrent connections limit. -1 (default): unlimited (up to the maximum concurrent connections supported by the CLB instance). Value range: 1 to the maximum concurrent connections limit of the CLB instance. */ readonly maxConnections: number; /** * Session persistence timeout, in seconds. The value range depends on the PersistenceType parameter. When PersistenceType is set to source_ip, the range is 1–3600. When PersistenceType is set to insert, the range is 1–86400. */ readonly persistenceTimeout: number; /** * Session persistence type. Values: off (default): session persistence disabled. source_ip: source IP address, valid only when Protocol is TCP or UDP. insert: insert Cookie, valid only when Protocol is HTTP or HTTPS and Scheduler is wrr. server: rewrite Cookie, valid only when Protocol is HTTP or HTTPS and Scheduler is wrr. */ readonly persistenceType: string; /** * Port used by the listener to receive requests. Value range: 0–65535. When the Protocol parameter is 'TCP' or 'UDP', 0 is supported, which enables listening on all ports. */ readonly port: number; /** * Listener protocol. Includes: TCP, UDP, HTTP, HTTPS. */ readonly protocol: string; /** * Connection establishment timeout between CLB and backend server. Recommended to be greater than the health check timeout. Range: 4–120 seconds, default is 4. This parameter is valid only when Protocol is set to HTTP or HTTPS. */ readonly proxyConnectTimeout: number; /** * Enable Proxy-Protocol. This parameter is valid only when Protocol is TCP or UDP. Values: off (default): disabled. standard: enabled. */ readonly proxyProtocolType: string; /** * Timeout for CLB to read responses from backend servers. This timeout applies only between two consecutive read operations, not for the entire response transmission. Value range: 30–3600 seconds. Default: 60 seconds. This parameter is valid only when Protocol is set to HTTP or HTTPS. */ readonly proxyReadTimeout: number; /** * Timeout for CLB to transmit requests to backend servers. This timeout applies only between two consecutive write operations, not the entire request transmission process. Value range: 30–3600 seconds. Default is 60 seconds. This parameter is valid only when Protocol is set to HTTP or HTTPS. */ readonly proxySendTimeout: number; /** * List of rule IDs bound to the listener. */ readonly ruleIds: string[]; /** * Scheduling algorithm used by the listener. wrr (default): Weighted round robin. wlc: Weighted least connections. sh: Source address hash. */ readonly scheduler: string; /** * TLS security policy for HTTPS listeners. This parameter is valid only when Protocol is set to HTTPS. Values: default*policy (default): supports SSL v3, TLS v1.0, TLS v1.1, TLS v1.2. tls*cipher*policy*1*0: supports TLS v1.0, TLS v1.1, TLS v1.2. tls*cipher*policy*1*1: supports TLS v1.1, TLS v1.2. tls*cipher*policy*1*2: supports TLS v1.2. tls*cipher*policy*1*2*strict: supports TLS v1.2. */ readonly securityPolicyId: string; /** * Timeout for CLB to send responses to the client. This timeout applies only between two consecutive write operations, not the entire response transmission. Range: 1–3600 seconds, default is 60 seconds. This parameter is valid only when Protocol is set to HTTP or HTTPS. */ readonly sendTimeout: number; /** * ID of the backend server group associated with the listener. */ readonly serverGroupId: string; /** * Start port for all-port listening. Range: 1–65535. When Port is '0', this parameter is required. */ readonly startPort: number; /** * Listener status. Creating: being created. Active: running. Deleting: being deleted. Disabled: disabled. */ readonly status: string; /** * Tag associated with the listener. */ readonly tags: outputs.clb.GetListenerTag[]; /** * Last operation time of the listener. */ readonly updatedTime: string; /** * Send traffic passing through the Layer 7 listener to the Web Application Firewall for inspection and filtering. on: yes. off: no. */ readonly wafProtectionEnabled: string; } /** * Data Source schema for Volcengine::CLB::Listener */ export declare function getListenerOutput(args: GetListenerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getListener. */ export interface GetListenerOutputArgs { /** * Uniquely identifies the resource. */ id: pulumi.Input; }