// *** 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 SystemAlarmGroup
    {
        /// <summary>
        /// Admin authentication failure threshold.
        /// </summary>
        public readonly int? AdminAuthFailureThreshold;
        /// <summary>
        /// Admin authentication lockout threshold.
        /// </summary>
        public readonly int? AdminAuthLockoutThreshold;
        /// <summary>
        /// Decryption failure threshold.
        /// </summary>
        public readonly int? DecryptionFailureThreshold;
        /// <summary>
        /// Encryption failure threshold.
        /// </summary>
        public readonly int? EncryptionFailureThreshold;
        /// <summary>
        /// Firewall policy ID.
        /// </summary>
        public readonly int? FwPolicyId;
        /// <summary>
        /// Firewall policy ID threshold.
        /// </summary>
        public readonly int? FwPolicyIdThreshold;
        /// <summary>
        /// Firewall policy violations. The structure of `fw_policy_violations` block is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.SystemAlarmGroupFwPolicyViolation> FwPolicyViolations;
        /// <summary>
        /// Group ID.
        /// </summary>
        public readonly int? Id;
        /// <summary>
        /// Log full warning threshold.
        /// </summary>
        public readonly int? LogFullWarningThreshold;
        /// <summary>
        /// Time period in seconds (0 = from start up).
        /// </summary>
        public readonly int? Period;
        /// <summary>
        /// Replay attempt threshold.
        /// </summary>
        public readonly int? ReplayAttemptThreshold;
        /// <summary>
        /// Self-test failure threshold.
        /// </summary>
        public readonly int? SelfTestFailureThreshold;
        /// <summary>
        /// User authentication failure threshold.
        /// </summary>
        public readonly int? UserAuthFailureThreshold;
        /// <summary>
        /// User authentication lockout threshold.
        /// </summary>
        public readonly int? UserAuthLockoutThreshold;

        [OutputConstructor]
        private SystemAlarmGroup(
            int? adminAuthFailureThreshold,

            int? adminAuthLockoutThreshold,

            int? decryptionFailureThreshold,

            int? encryptionFailureThreshold,

            int? fwPolicyId,

            int? fwPolicyIdThreshold,

            ImmutableArray<Outputs.SystemAlarmGroupFwPolicyViolation> fwPolicyViolations,

            int? id,

            int? logFullWarningThreshold,

            int? period,

            int? replayAttemptThreshold,

            int? selfTestFailureThreshold,

            int? userAuthFailureThreshold,

            int? userAuthLockoutThreshold)
        {
            AdminAuthFailureThreshold = adminAuthFailureThreshold;
            AdminAuthLockoutThreshold = adminAuthLockoutThreshold;
            DecryptionFailureThreshold = decryptionFailureThreshold;
            EncryptionFailureThreshold = encryptionFailureThreshold;
            FwPolicyId = fwPolicyId;
            FwPolicyIdThreshold = fwPolicyIdThreshold;
            FwPolicyViolations = fwPolicyViolations;
            Id = id;
            LogFullWarningThreshold = logFullWarningThreshold;
            Period = period;
            ReplayAttemptThreshold = replayAttemptThreshold;
            SelfTestFailureThreshold = selfTestFailureThreshold;
            UserAuthFailureThreshold = userAuthFailureThreshold;
            UserAuthLockoutThreshold = userAuthLockoutThreshold;
        }
    }
}
