<filename>sdk/dotnet/Tencentcloud/Clb/Outputs/GetListenersListenerListResult.cs// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
using Pulumi;

namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb.Outputs
{

    [OutputType]
    public sealed class GetListenersListenerListResult
    {
        /// <summary>
        /// Id of the client certificate. It must be set when SSLMode is `mutual`. NOTES: only supported by listeners of `HTTPS` and `TCP_SSL` protocol.
        /// </summary>
        public readonly string CertificateCaId;
        /// <summary>
        /// Id of the server certificate. It must be set when protocol is `HTTPS` or `TCP_SSL`. NOTES: only supported by listeners of `HTTPS` and `TCP_SSL` protocol and must be set when it is available.
        /// </summary>
        public readonly string CertificateId;
        /// <summary>
        /// Type of certificate, and available values inclue `UNIDIRECTIONAL`, `MUTUAL`. NOTES: Only supports listeners of `HTTPS` and `TCP_SSL` protocol and must be set when it is available.
        /// </summary>
        public readonly string CertificateSslMode;
        /// <summary>
        /// Id of the CLB to be queried.
        /// </summary>
        public readonly string ClbId;
        /// <summary>
        /// Health check protocol.
        /// </summary>
        public readonly string HealthCheckContextType;
        /// <summary>
        /// Health threshold of health check, and the default is `3`. If a success result is returned for the health check three consecutive times, the CVM is identified as healthy. The value range is 2-10. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in tencentcloud_clb_listener_rule.
        /// </summary>
        public readonly int HealthCheckHealthNum;
        /// <summary>
        /// HTTP health check code of TCP listener.
        /// </summary>
        public readonly int HealthCheckHttpCode;
        /// <summary>
        /// HTTP health check domain of TCP listener.
        /// </summary>
        public readonly string HealthCheckHttpDomain;
        /// <summary>
        /// HTTP health check method of TCP listener.
        /// </summary>
        public readonly string HealthCheckHttpMethod;
        /// <summary>
        /// HTTP health check path of TCP listener.
        /// </summary>
        public readonly string HealthCheckHttpPath;
        /// <summary>
        /// The HTTP version of the backend service.
        /// </summary>
        public readonly string HealthCheckHttpVersion;
        /// <summary>
        /// Interval time of health check. The value range is 5-300 sec, and the default is `5` sec. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in tencentcloud_clb_listener_rule.
        /// </summary>
        public readonly int HealthCheckIntervalTime;
        /// <summary>
        /// The health check port is the port of the backend service.
        /// </summary>
        public readonly int HealthCheckPort;
        /// <summary>
        /// It represents the result returned by the health check.
        /// </summary>
        public readonly string HealthCheckRecvContext;
        /// <summary>
        /// It represents the content of the request sent by the health check.
        /// </summary>
        public readonly string HealthCheckSendContext;
        /// <summary>
        /// Indicates whether health check is enabled.
        /// </summary>
        public readonly bool HealthCheckSwitch;
        /// <summary>
        /// Response timeout of health check. The value range is 2-60 sec, and the default is `2` sec. Response timeout needs to be less than check interval. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration.
        /// </summary>
        public readonly int HealthCheckTimeOut;
        /// <summary>
        /// Protocol used for health check.
        /// </summary>
        public readonly string HealthCheckType;
        /// <summary>
        /// Unhealthy threshold of health check, and the default is `3`. If a success result is returned for the health check three consecutive times, the CVM is identified as unhealthy. The value range is 2-10. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in tencentcloud_clb_listener_rule.
        /// </summary>
        public readonly int HealthCheckUnhealthNum;
        /// <summary>
        /// Id of the listener to be queried.
        /// </summary>
        public readonly string ListenerId;
        /// <summary>
        /// Name of the CLB listener.
        /// </summary>
        public readonly string ListenerName;
        /// <summary>
        /// Port of the CLB listener.
        /// </summary>
        public readonly int Port;
        /// <summary>
        /// Type of protocol within the listener, and available values are `TCP`, `UDP`, `HTTP`, `HTTPS` and `TCP_SSL`.
        /// </summary>
        public readonly string Protocol;
        /// <summary>
        /// Scheduling method of the CLB listener, and available values are `WRR` and `LEAST_CONN`. The default is `WRR`. NOTES: The listener of 'HTTP' and `HTTPS` protocol additionally supports the `IP HASH` method. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in tencentcloud_clb_listener_rule.
        /// </summary>
        public readonly string Scheduler;
        /// <summary>
        /// Time of session persistence within the CLB listener. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in tencentcloud_clb_listener_rule.
        /// </summary>
        public readonly int SessionExpireTime;
        /// <summary>
        /// Indicates whether SNI is enabled. NOTES: Only supported by `HTTPS` protocol.
        /// </summary>
        public readonly bool SniSwitch;

        [OutputConstructor]
        private GetListenersListenerListResult(
            string certificateCaId,

            string certificateId,

            string certificateSslMode,

            string clbId,

            string healthCheckContextType,

            int healthCheckHealthNum,

            int healthCheckHttpCode,

            string healthCheckHttpDomain,

            string healthCheckHttpMethod,

            string healthCheckHttpPath,

            string healthCheckHttpVersion,

            int healthCheckIntervalTime,

            int healthCheckPort,

            string healthCheckRecvContext,

            string healthCheckSendContext,

            bool healthCheckSwitch,

            int healthCheckTimeOut,

            string healthCheckType,

            int healthCheckUnhealthNum,

            string listenerId,

            string listenerName,

            int port,

            string protocol,

            string scheduler,

            int sessionExpireTime,

            bool sniSwitch)
        {
            CertificateCaId = certificateCaId;
            CertificateId = certificateId;
            CertificateSslMode = certificateSslMode;
            ClbId = clbId;
            HealthCheckContextType = healthCheckContextType;
            HealthCheckHealthNum = healthCheckHealthNum;
            HealthCheckHttpCode = healthCheckHttpCode;
            HealthCheckHttpDomain = healthCheckHttpDomain;
            HealthCheckHttpMethod = healthCheckHttpMethod;
            HealthCheckHttpPath = healthCheckHttpPath;
            HealthCheckHttpVersion = healthCheckHttpVersion;
            HealthCheckIntervalTime = healthCheckIntervalTime;
            HealthCheckPort = healthCheckPort;
            HealthCheckRecvContext = healthCheckRecvContext;
            HealthCheckSendContext = healthCheckSendContext;
            HealthCheckSwitch = healthCheckSwitch;
            HealthCheckTimeOut = healthCheckTimeOut;
            HealthCheckType = healthCheckType;
            HealthCheckUnhealthNum = healthCheckUnhealthNum;
            ListenerId = listenerId;
            ListenerName = listenerName;
            Port = port;
            Protocol = protocol;
            Scheduler = scheduler;
            SessionExpireTime = sessionExpireTime;
            SniSwitch = sniSwitch;
        }
    }
}
