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

    [OutputType]
    public sealed class FirewallSslsshprofileSslServer
    {
        /// <summary>
        /// Action based on client certificate request during the FTPS handshake. Valid values: `bypass`, `inspect`, `block`.
        /// </summary>
        public readonly string? FtpsClientCertRequest;
        /// <summary>
        /// Action based on received client certificate during the FTPS handshake. Valid values: `bypass`, `inspect`, `block`.
        /// </summary>
        public readonly string? FtpsClientCertificate;
        /// <summary>
        /// Action based on client certificate request during the HTTPS handshake. Valid values: `bypass`, `inspect`, `block`.
        /// </summary>
        public readonly string? HttpsClientCertRequest;
        /// <summary>
        /// Action based on received client certificate during the HTTPS handshake. Valid values: `bypass`, `inspect`, `block`.
        /// </summary>
        public readonly string? HttpsClientCertificate;
        /// <summary>
        /// SSL server ID.
        /// </summary>
        public readonly int? Id;
        /// <summary>
        /// Action based on client certificate request during the IMAPS handshake. Valid values: `bypass`, `inspect`, `block`.
        /// </summary>
        public readonly string? ImapsClientCertRequest;
        /// <summary>
        /// Action based on received client certificate during the IMAPS handshake. Valid values: `bypass`, `inspect`, `block`.
        /// </summary>
        public readonly string? ImapsClientCertificate;
        /// <summary>
        /// IPv4 address of the SSL server.
        /// </summary>
        public readonly string? Ip;
        /// <summary>
        /// Action based on client certificate request during the POP3S handshake. Valid values: `bypass`, `inspect`, `block`.
        /// </summary>
        public readonly string? Pop3sClientCertRequest;
        /// <summary>
        /// Action based on received client certificate during the POP3S handshake. Valid values: `bypass`, `inspect`, `block`.
        /// </summary>
        public readonly string? Pop3sClientCertificate;
        /// <summary>
        /// Action based on client certificate request during the SMTPS handshake. Valid values: `bypass`, `inspect`, `block`.
        /// </summary>
        public readonly string? SmtpsClientCertRequest;
        /// <summary>
        /// Action based on received client certificate during the SMTPS handshake. Valid values: `bypass`, `inspect`, `block`.
        /// </summary>
        public readonly string? SmtpsClientCertificate;
        /// <summary>
        /// Action based on client certificate request during an SSL protocol handshake. Valid values: `bypass`, `inspect`, `block`.
        /// </summary>
        public readonly string? SslOtherClientCertRequest;
        /// <summary>
        /// Action based on received client certificate during an SSL protocol handshake. Valid values: `bypass`, `inspect`, `block`.
        /// </summary>
        public readonly string? SslOtherClientCertificate;

        [OutputConstructor]
        private FirewallSslsshprofileSslServer(
            string? ftpsClientCertRequest,

            string? ftpsClientCertificate,

            string? httpsClientCertRequest,

            string? httpsClientCertificate,

            int? id,

            string? imapsClientCertRequest,

            string? imapsClientCertificate,

            string? ip,

            string? pop3sClientCertRequest,

            string? pop3sClientCertificate,

            string? smtpsClientCertRequest,

            string? smtpsClientCertificate,

            string? sslOtherClientCertRequest,

            string? sslOtherClientCertificate)
        {
            FtpsClientCertRequest = ftpsClientCertRequest;
            FtpsClientCertificate = ftpsClientCertificate;
            HttpsClientCertRequest = httpsClientCertRequest;
            HttpsClientCertificate = httpsClientCertificate;
            Id = id;
            ImapsClientCertRequest = imapsClientCertRequest;
            ImapsClientCertificate = imapsClientCertificate;
            Ip = ip;
            Pop3sClientCertRequest = pop3sClientCertRequest;
            Pop3sClientCertificate = pop3sClientCertificate;
            SmtpsClientCertRequest = smtpsClientCertRequest;
            SmtpsClientCertificate = smtpsClientCertificate;
            SslOtherClientCertRequest = sslOtherClientCertRequest;
            SslOtherClientCertificate = sslOtherClientCertificate;
        }
    }
}
