// *** 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.Cdn.Outputs
{

    [OutputType]
    public sealed class DomainHttpsConfig
    {
        /// <summary>
        /// Client certificate configuration information.
        /// </summary>
        public readonly Outputs.DomainHttpsConfigClientCertificateConfig? ClientCertificateConfig;
        /// <summary>
        /// Configuration of forced HTTP or HTTPS redirects.
        /// </summary>
        public readonly Outputs.DomainHttpsConfigForceRedirect? ForceRedirect;
        /// <summary>
        /// HTTP2 configuration switch. Valid values are `on` and `off`. and default value is `off`.
        /// </summary>
        public readonly string? Http2Switch;
        /// <summary>
        /// HTTPS configuration switch. Valid values are `on` and `off`.
        /// </summary>
        public readonly string HttpsSwitch;
        /// <summary>
        /// OCSP configuration switch. Valid values are `on` and `off`. and default value is `off`.
        /// </summary>
        public readonly string? OcspStaplingSwitch;
        /// <summary>
        /// Server certificate configuration information.
        /// </summary>
        public readonly Outputs.DomainHttpsConfigServerCertificateConfig? ServerCertificateConfig;
        /// <summary>
        /// Spdy configuration switch. Valid values are `on` and `off`. and default value is `off`. This parameter is for white-list customer.
        /// </summary>
        public readonly string? SpdySwitch;
        /// <summary>
        /// Tls version settings, only support some Advanced domain names, support settings TLSv1, TLSV1.1, TLSV1.2, TLSv1.3, when modifying must open consecutive versions.
        /// </summary>
        public readonly ImmutableArray<string> TlsVersions;
        /// <summary>
        /// Client certificate authentication feature. Valid values are `on` and `off`. and default value is `off`.
        /// </summary>
        public readonly string? VerifyClient;

        [OutputConstructor]
        private DomainHttpsConfig(
            Outputs.DomainHttpsConfigClientCertificateConfig? clientCertificateConfig,

            Outputs.DomainHttpsConfigForceRedirect? forceRedirect,

            string? http2Switch,

            string httpsSwitch,

            string? ocspStaplingSwitch,

            Outputs.DomainHttpsConfigServerCertificateConfig? serverCertificateConfig,

            string? spdySwitch,

            ImmutableArray<string> tlsVersions,

            string? verifyClient)
        {
            ClientCertificateConfig = clientCertificateConfig;
            ForceRedirect = forceRedirect;
            Http2Switch = http2Switch;
            HttpsSwitch = httpsSwitch;
            OcspStaplingSwitch = ocspStaplingSwitch;
            ServerCertificateConfig = serverCertificateConfig;
            SpdySwitch = spdySwitch;
            TlsVersions = tlsVersions;
            VerifyClient = verifyClient;
        }
    }
}
