<reponame>pulumiverse/pulumi-fortios// *** 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 GetSystemVirtualwanlinkHealthCheckResult
    {
        /// <summary>
        /// Address mode (IPv4 or IPv6).
        /// </summary>
        public readonly string AddrMode;
        /// <summary>
        /// Differentiated services code point (DSCP) in the IP header of the probe packet.
        /// </summary>
        public readonly string Diffservcode;
        /// <summary>
        /// Fully qualified domain name to resolve for the DNS probe.
        /// </summary>
        public readonly string DnsRequestDomain;
        /// <summary>
        /// Number of failures before server is considered lost (1 - 3600, default = 5).
        /// </summary>
        public readonly int Failtime;
        /// <summary>
        /// HA election priority (1 - 50).
        /// </summary>
        public readonly int HaPriority;
        /// <summary>
        /// String in the http-agent field in the HTTP header.
        /// </summary>
        public readonly string HttpAgent;
        /// <summary>
        /// URL used to communicate with the server if the protocol if the protocol is HTTP.
        /// </summary>
        public readonly string HttpGet;
        /// <summary>
        /// Response string expected from the server if the protocol is HTTP.
        /// </summary>
        public readonly string HttpMatch;
        /// <summary>
        /// Status check interval, or the time between attempting to connect to the server (1 - 3600 sec, default = 5).
        /// </summary>
        public readonly int Interval;
        /// <summary>
        /// Member sequence number list. The structure of `members` block is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetSystemVirtualwanlinkHealthCheckMemberResult> Members;
        /// <summary>
        /// Control-based Internet Service group name.
        /// </summary>
        public readonly string Name;
        /// <summary>
        /// Packet size of a twamp test session,
        /// </summary>
        public readonly int PacketSize;
        /// <summary>
        /// Twamp controller password in authentication mode
        /// </summary>
        public readonly string Password;
        /// <summary>
        /// Port number used to communicate with the server over the selected protocol.
        /// </summary>
        public readonly int Port;
        /// <summary>
        /// Number of most recent probes that should be used to calculate latency and jitter (5 - 30, default = 30).
        /// </summary>
        public readonly int ProbeCount;
        /// <summary>
        /// Enable/disable transmission of probe packets.
        /// </summary>
        public readonly string ProbePackets;
        /// <summary>
        /// Time to wait before a probe packet is considered lost (500 - 5000 msec, default = 500).
        /// </summary>
        public readonly int ProbeTimeout;
        /// <summary>
        /// Protocol number.
        /// </summary>
        public readonly string Protocol;
        /// <summary>
        /// Number of successful responses received before server is considered recovered (1 - 3600, default = 5).
        /// </summary>
        public readonly int Recoverytime;
        /// <summary>
        /// Twamp controller security mode.
        /// </summary>
        public readonly string SecurityMode;
        /// <summary>
        /// IP address or FQDN name of the server.
        /// </summary>
        public readonly string Server;
        /// <summary>
        /// Time interval in seconds that SLA fail log messages will be generated (0 - 3600, default = 0).
        /// </summary>
        public readonly int SlaFailLogPeriod;
        /// <summary>
        /// Time interval in seconds that SLA pass log messages will be generated (0 - 3600, default = 0).
        /// </summary>
        public readonly int SlaPassLogPeriod;
        /// <summary>
        /// Service level agreement (SLA). The structure of `sla` block is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetSystemVirtualwanlinkHealthCheckSlaResult> Slas;
        /// <summary>
        /// Enable/disable system DNS as the probe server.
        /// </summary>
        public readonly string SystemDns;
        /// <summary>
        /// Alert threshold for jitter (ms, default = 0).
        /// </summary>
        public readonly int ThresholdAlertJitter;
        /// <summary>
        /// Alert threshold for latency (ms, default = 0).
        /// </summary>
        public readonly int ThresholdAlertLatency;
        /// <summary>
        /// Alert threshold for packet loss (percentage, default = 0).
        /// </summary>
        public readonly int ThresholdAlertPacketloss;
        /// <summary>
        /// Warning threshold for jitter (ms, default = 0).
        /// </summary>
        public readonly int ThresholdWarningJitter;
        /// <summary>
        /// Warning threshold for latency (ms, default = 0).
        /// </summary>
        public readonly int ThresholdWarningLatency;
        /// <summary>
        /// Warning threshold for packet loss (percentage, default = 0).
        /// </summary>
        public readonly int ThresholdWarningPacketloss;
        /// <summary>
        /// Enable/disable update cascade interface.
        /// </summary>
        public readonly string UpdateCascadeInterface;
        /// <summary>
        /// Enable/disable updating the static route.
        /// </summary>
        public readonly string UpdateStaticRoute;

        [OutputConstructor]
        private GetSystemVirtualwanlinkHealthCheckResult(
            string addrMode,

            string diffservcode,

            string dnsRequestDomain,

            int failtime,

            int haPriority,

            string httpAgent,

            string httpGet,

            string httpMatch,

            int interval,

            ImmutableArray<Outputs.GetSystemVirtualwanlinkHealthCheckMemberResult> members,

            string name,

            int packetSize,

            string password,

            int port,

            int probeCount,

            string probePackets,

            int probeTimeout,

            string protocol,

            int recoverytime,

            string securityMode,

            string server,

            int slaFailLogPeriod,

            int slaPassLogPeriod,

            ImmutableArray<Outputs.GetSystemVirtualwanlinkHealthCheckSlaResult> slas,

            string systemDns,

            int thresholdAlertJitter,

            int thresholdAlertLatency,

            int thresholdAlertPacketloss,

            int thresholdWarningJitter,

            int thresholdWarningLatency,

            int thresholdWarningPacketloss,

            string updateCascadeInterface,

            string updateStaticRoute)
        {
            AddrMode = addrMode;
            Diffservcode = diffservcode;
            DnsRequestDomain = dnsRequestDomain;
            Failtime = failtime;
            HaPriority = haPriority;
            HttpAgent = httpAgent;
            HttpGet = httpGet;
            HttpMatch = httpMatch;
            Interval = interval;
            Members = members;
            Name = name;
            PacketSize = packetSize;
            Password = password;
            Port = port;
            ProbeCount = probeCount;
            ProbePackets = probePackets;
            ProbeTimeout = probeTimeout;
            Protocol = protocol;
            Recoverytime = recoverytime;
            SecurityMode = securityMode;
            Server = server;
            SlaFailLogPeriod = slaFailLogPeriod;
            SlaPassLogPeriod = slaPassLogPeriod;
            Slas = slas;
            SystemDns = systemDns;
            ThresholdAlertJitter = thresholdAlertJitter;
            ThresholdAlertLatency = thresholdAlertLatency;
            ThresholdAlertPacketloss = thresholdAlertPacketloss;
            ThresholdWarningJitter = thresholdWarningJitter;
            ThresholdWarningLatency = thresholdWarningLatency;
            ThresholdWarningPacketloss = thresholdWarningPacketloss;
            UpdateCascadeInterface = updateCascadeInterface;
            UpdateStaticRoute = updateStaticRoute;
        }
    }
}
