// *** 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
{
    /// <summary>
    /// Configure alert email settings.
    /// 
    /// ## Example Usage
    /// 
    /// ```csharp
    /// using System.Collections.Generic;
    /// using System.Linq;
    /// using Pulumi;
    /// using Fortios = Pulumiverse.Fortios;
    /// 
    /// return await Deployment.RunAsync(() =&gt; 
    /// {
    ///     var trname = new Fortios.AlertemailSetting("trname", new()
    ///     {
    ///         AdminLoginLogs = "disable",
    ///         AlertInterval = 2,
    ///         AmcInterfaceBypassMode = "disable",
    ///         AntivirusLogs = "disable",
    ///         ConfigurationChangesLogs = "disable",
    ///         CriticalInterval = 3,
    ///         DebugInterval = 60,
    ///         EmailInterval = 5,
    ///         EmergencyInterval = 1,
    ///         ErrorInterval = 5,
    ///         FdsLicenseExpiringDays = 15,
    ///         InformationInterval = 30,
    ///     });
    /// 
    /// });
    /// ```
    /// 
    /// ## Import
    /// 
    /// Alertemail Setting can be imported using any of these accepted formats
    /// 
    /// ```sh
    ///  $ pulumi import fortios:index/alertemailSetting:AlertemailSetting labelname AlertemailSetting
    /// ```
    /// 
    ///  If you do not want to import arguments of block$ export "FORTIOS_IMPORT_TABLE"="false"
    /// 
    /// ```sh
    ///  $ pulumi import fortios:index/alertemailSetting:AlertemailSetting labelname AlertemailSetting
    /// ```
    /// 
    ///  $ unset "FORTIOS_IMPORT_TABLE"
    /// </summary>
    [FortiosResourceType("fortios:index/alertemailSetting:AlertemailSetting")]
    public partial class AlertemailSetting : global::Pulumi.CustomResource
    {
        /// <summary>
        /// Enable/disable administrator login/logout logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Output("adminLoginLogs")]
        public Output<string> AdminLoginLogs { get; private set; } = null!;

        /// <summary>
        /// Alert alert interval in minutes.
        /// </summary>
        [Output("alertInterval")]
        public Output<int> AlertInterval { get; private set; } = null!;

        /// <summary>
        /// Enable/disable Fortinet Advanced Mezzanine Card (AMC) interface bypass mode logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Output("amcInterfaceBypassMode")]
        public Output<string> AmcInterfaceBypassMode { get; private set; } = null!;

        /// <summary>
        /// Enable/disable antivirus logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Output("antivirusLogs")]
        public Output<string> AntivirusLogs { get; private set; } = null!;

        /// <summary>
        /// Enable/disable configuration change logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Output("configurationChangesLogs")]
        public Output<string> ConfigurationChangesLogs { get; private set; } = null!;

        /// <summary>
        /// Critical alert interval in minutes.
        /// </summary>
        [Output("criticalInterval")]
        public Output<int> CriticalInterval { get; private set; } = null!;

        /// <summary>
        /// Debug alert interval in minutes.
        /// </summary>
        [Output("debugInterval")]
        public Output<int> DebugInterval { get; private set; } = null!;

        /// <summary>
        /// Interval between sending alert emails (1 - 99999 min, default = 5).
        /// </summary>
        [Output("emailInterval")]
        public Output<int> EmailInterval { get; private set; } = null!;

        /// <summary>
        /// Emergency alert interval in minutes.
        /// </summary>
        [Output("emergencyInterval")]
        public Output<int> EmergencyInterval { get; private set; } = null!;

        /// <summary>
        /// Error alert interval in minutes.
        /// </summary>
        [Output("errorInterval")]
        public Output<int> ErrorInterval { get; private set; } = null!;

        /// <summary>
        /// Number of days to send alert email prior to FortiGuard license expiration (1 - 100 days, default = 100).
        /// </summary>
        [Output("fdsLicenseExpiringDays")]
        public Output<int> FdsLicenseExpiringDays { get; private set; } = null!;

        /// <summary>
        /// Enable/disable FortiGuard license expiration warnings in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Output("fdsLicenseExpiringWarning")]
        public Output<string> FdsLicenseExpiringWarning { get; private set; } = null!;

        /// <summary>
        /// Enable/disable FortiGuard update logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Output("fdsUpdateLogs")]
        public Output<string> FdsUpdateLogs { get; private set; } = null!;

        /// <summary>
        /// How to filter log messages that are sent to alert emails. Valid values: `category`, `threshold`.
        /// </summary>
        [Output("filterMode")]
        public Output<string> FilterMode { get; private set; } = null!;

        /// <summary>
        /// Enable/disable FIPS and Common Criteria error logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Output("fipsCcErrors")]
        public Output<string> FipsCcErrors { get; private set; } = null!;

        /// <summary>
        /// Enable/disable firewall authentication failure logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Output("firewallAuthenticationFailureLogs")]
        public Output<string> FirewallAuthenticationFailureLogs { get; private set; } = null!;

        /// <summary>
        /// Enable/disable FortiCloud log quota warnings in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Output("fortiguardLogQuotaWarning")]
        public Output<string> FortiguardLogQuotaWarning { get; private set; } = null!;

        /// <summary>
        /// Enable/disable logging of FSSO collector agent disconnect. Valid values: `enable`, `disable`.
        /// </summary>
        [Output("fssoDisconnectLogs")]
        public Output<string> FssoDisconnectLogs { get; private set; } = null!;

        /// <summary>
        /// Enable/disable HA logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Output("haLogs")]
        public Output<string> HaLogs { get; private set; } = null!;

        /// <summary>
        /// Information alert interval in minutes.
        /// </summary>
        [Output("informationInterval")]
        public Output<int> InformationInterval { get; private set; } = null!;

        /// <summary>
        /// Enable/disable IPS logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Output("ipsLogs")]
        public Output<string> IpsLogs { get; private set; } = null!;

        /// <summary>
        /// Enable/disable IPsec error logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Output("ipsecErrorsLogs")]
        public Output<string> IpsecErrorsLogs { get; private set; } = null!;

        /// <summary>
        /// Disk usage percentage at which to send alert email (1 - 99 percent, default = 75).
        /// </summary>
        [Output("localDiskUsage")]
        public Output<int> LocalDiskUsage { get; private set; } = null!;

        /// <summary>
        /// Enable/disable disk usage warnings in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Output("logDiskUsageWarning")]
        public Output<string> LogDiskUsageWarning { get; private set; } = null!;

        /// <summary>
        /// Email address to send alert email to (usually a system administrator) (max. 64 characters).
        /// </summary>
        [Output("mailto1")]
        public Output<string> Mailto1 { get; private set; } = null!;

        /// <summary>
        /// Optional second email address to send alert email to (max. 64 characters).
        /// </summary>
        [Output("mailto2")]
        public Output<string> Mailto2 { get; private set; } = null!;

        /// <summary>
        /// Optional third email address to send alert email to (max. 64 characters).
        /// </summary>
        [Output("mailto3")]
        public Output<string> Mailto3 { get; private set; } = null!;

        /// <summary>
        /// Notification alert interval in minutes.
        /// </summary>
        [Output("notificationInterval")]
        public Output<int> NotificationInterval { get; private set; } = null!;

        /// <summary>
        /// Enable/disable PPP error logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Output("pppErrorsLogs")]
        public Output<string> PppErrorsLogs { get; private set; } = null!;

        /// <summary>
        /// Lowest severity level to log. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.
        /// </summary>
        [Output("severity")]
        public Output<string> Severity { get; private set; } = null!;

        /// <summary>
        /// Enable/disable SSH logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Output("sshLogs")]
        public Output<string> SshLogs { get; private set; } = null!;

        /// <summary>
        /// Enable/disable SSL-VPN authentication error logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Output("sslvpnAuthenticationErrorsLogs")]
        public Output<string> SslvpnAuthenticationErrorsLogs { get; private set; } = null!;

        /// <summary>
        /// Name that appears in the From: field of alert emails (max. 36 characters).
        /// </summary>
        [Output("username")]
        public Output<string> Username { get; private set; } = null!;

        /// <summary>
        /// Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.
        /// </summary>
        [Output("vdomparam")]
        public Output<string?> Vdomparam { get; private set; } = null!;

        /// <summary>
        /// Enable/disable violation traffic logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Output("violationTrafficLogs")]
        public Output<string> ViolationTrafficLogs { get; private set; } = null!;

        /// <summary>
        /// Warning alert interval in minutes.
        /// </summary>
        [Output("warningInterval")]
        public Output<int> WarningInterval { get; private set; } = null!;

        /// <summary>
        /// Enable/disable web filter logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Output("webfilterLogs")]
        public Output<string> WebfilterLogs { get; private set; } = null!;


        /// <summary>
        /// Create a AlertemailSetting resource with the given unique name, arguments, and options.
        /// </summary>
        ///
        /// <param name="name">The unique name of the resource</param>
        /// <param name="args">The arguments used to populate this resource's properties</param>
        /// <param name="options">A bag of options that control this resource's behavior</param>
        public AlertemailSetting(string name, AlertemailSettingArgs? args = null, CustomResourceOptions? options = null)
            : base("fortios:index/alertemailSetting:AlertemailSetting", name, args ?? new AlertemailSettingArgs(), MakeResourceOptions(options, ""))
        {
        }

        private AlertemailSetting(string name, Input<string> id, AlertemailSettingState? state = null, CustomResourceOptions? options = null)
            : base("fortios:index/alertemailSetting:AlertemailSetting", name, state, MakeResourceOptions(options, id))
        {
        }

        private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input<string>? id)
        {
            var defaultOptions = new CustomResourceOptions
            {
                Version = Utilities.Version,
                PluginDownloadURL = "github://api.github.com/pulumiverse/pulumi-fortios",
            };
            var merged = CustomResourceOptions.Merge(defaultOptions, options);
            // Override the ID if one was specified for consistency with other language SDKs.
            merged.Id = id ?? merged.Id;
            return merged;
        }
        /// <summary>
        /// Get an existing AlertemailSetting resource's state with the given name, ID, and optional extra
        /// properties used to qualify the lookup.
        /// </summary>
        ///
        /// <param name="name">The unique name of the resulting resource.</param>
        /// <param name="id">The unique provider ID of the resource to lookup.</param>
        /// <param name="state">Any extra arguments used during the lookup.</param>
        /// <param name="options">A bag of options that control this resource's behavior</param>
        public static AlertemailSetting Get(string name, Input<string> id, AlertemailSettingState? state = null, CustomResourceOptions? options = null)
        {
            return new AlertemailSetting(name, id, state, options);
        }
    }

    public sealed class AlertemailSettingArgs : global::Pulumi.ResourceArgs
    {
        /// <summary>
        /// Enable/disable administrator login/logout logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("adminLoginLogs")]
        public Input<string>? AdminLoginLogs { get; set; }

        /// <summary>
        /// Alert alert interval in minutes.
        /// </summary>
        [Input("alertInterval")]
        public Input<int>? AlertInterval { get; set; }

        /// <summary>
        /// Enable/disable Fortinet Advanced Mezzanine Card (AMC) interface bypass mode logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("amcInterfaceBypassMode")]
        public Input<string>? AmcInterfaceBypassMode { get; set; }

        /// <summary>
        /// Enable/disable antivirus logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("antivirusLogs")]
        public Input<string>? AntivirusLogs { get; set; }

        /// <summary>
        /// Enable/disable configuration change logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("configurationChangesLogs")]
        public Input<string>? ConfigurationChangesLogs { get; set; }

        /// <summary>
        /// Critical alert interval in minutes.
        /// </summary>
        [Input("criticalInterval")]
        public Input<int>? CriticalInterval { get; set; }

        /// <summary>
        /// Debug alert interval in minutes.
        /// </summary>
        [Input("debugInterval")]
        public Input<int>? DebugInterval { get; set; }

        /// <summary>
        /// Interval between sending alert emails (1 - 99999 min, default = 5).
        /// </summary>
        [Input("emailInterval")]
        public Input<int>? EmailInterval { get; set; }

        /// <summary>
        /// Emergency alert interval in minutes.
        /// </summary>
        [Input("emergencyInterval")]
        public Input<int>? EmergencyInterval { get; set; }

        /// <summary>
        /// Error alert interval in minutes.
        /// </summary>
        [Input("errorInterval")]
        public Input<int>? ErrorInterval { get; set; }

        /// <summary>
        /// Number of days to send alert email prior to FortiGuard license expiration (1 - 100 days, default = 100).
        /// </summary>
        [Input("fdsLicenseExpiringDays")]
        public Input<int>? FdsLicenseExpiringDays { get; set; }

        /// <summary>
        /// Enable/disable FortiGuard license expiration warnings in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("fdsLicenseExpiringWarning")]
        public Input<string>? FdsLicenseExpiringWarning { get; set; }

        /// <summary>
        /// Enable/disable FortiGuard update logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("fdsUpdateLogs")]
        public Input<string>? FdsUpdateLogs { get; set; }

        /// <summary>
        /// How to filter log messages that are sent to alert emails. Valid values: `category`, `threshold`.
        /// </summary>
        [Input("filterMode")]
        public Input<string>? FilterMode { get; set; }

        /// <summary>
        /// Enable/disable FIPS and Common Criteria error logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("fipsCcErrors")]
        public Input<string>? FipsCcErrors { get; set; }

        /// <summary>
        /// Enable/disable firewall authentication failure logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("firewallAuthenticationFailureLogs")]
        public Input<string>? FirewallAuthenticationFailureLogs { get; set; }

        /// <summary>
        /// Enable/disable FortiCloud log quota warnings in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("fortiguardLogQuotaWarning")]
        public Input<string>? FortiguardLogQuotaWarning { get; set; }

        /// <summary>
        /// Enable/disable logging of FSSO collector agent disconnect. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("fssoDisconnectLogs")]
        public Input<string>? FssoDisconnectLogs { get; set; }

        /// <summary>
        /// Enable/disable HA logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("haLogs")]
        public Input<string>? HaLogs { get; set; }

        /// <summary>
        /// Information alert interval in minutes.
        /// </summary>
        [Input("informationInterval")]
        public Input<int>? InformationInterval { get; set; }

        /// <summary>
        /// Enable/disable IPS logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("ipsLogs")]
        public Input<string>? IpsLogs { get; set; }

        /// <summary>
        /// Enable/disable IPsec error logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("ipsecErrorsLogs")]
        public Input<string>? IpsecErrorsLogs { get; set; }

        /// <summary>
        /// Disk usage percentage at which to send alert email (1 - 99 percent, default = 75).
        /// </summary>
        [Input("localDiskUsage")]
        public Input<int>? LocalDiskUsage { get; set; }

        /// <summary>
        /// Enable/disable disk usage warnings in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("logDiskUsageWarning")]
        public Input<string>? LogDiskUsageWarning { get; set; }

        /// <summary>
        /// Email address to send alert email to (usually a system administrator) (max. 64 characters).
        /// </summary>
        [Input("mailto1")]
        public Input<string>? Mailto1 { get; set; }

        /// <summary>
        /// Optional second email address to send alert email to (max. 64 characters).
        /// </summary>
        [Input("mailto2")]
        public Input<string>? Mailto2 { get; set; }

        /// <summary>
        /// Optional third email address to send alert email to (max. 64 characters).
        /// </summary>
        [Input("mailto3")]
        public Input<string>? Mailto3 { get; set; }

        /// <summary>
        /// Notification alert interval in minutes.
        /// </summary>
        [Input("notificationInterval")]
        public Input<int>? NotificationInterval { get; set; }

        /// <summary>
        /// Enable/disable PPP error logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("pppErrorsLogs")]
        public Input<string>? PppErrorsLogs { get; set; }

        /// <summary>
        /// Lowest severity level to log. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.
        /// </summary>
        [Input("severity")]
        public Input<string>? Severity { get; set; }

        /// <summary>
        /// Enable/disable SSH logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("sshLogs")]
        public Input<string>? SshLogs { get; set; }

        /// <summary>
        /// Enable/disable SSL-VPN authentication error logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("sslvpnAuthenticationErrorsLogs")]
        public Input<string>? SslvpnAuthenticationErrorsLogs { get; set; }

        /// <summary>
        /// Name that appears in the From: field of alert emails (max. 36 characters).
        /// </summary>
        [Input("username")]
        public Input<string>? Username { get; set; }

        /// <summary>
        /// Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.
        /// </summary>
        [Input("vdomparam")]
        public Input<string>? Vdomparam { get; set; }

        /// <summary>
        /// Enable/disable violation traffic logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("violationTrafficLogs")]
        public Input<string>? ViolationTrafficLogs { get; set; }

        /// <summary>
        /// Warning alert interval in minutes.
        /// </summary>
        [Input("warningInterval")]
        public Input<int>? WarningInterval { get; set; }

        /// <summary>
        /// Enable/disable web filter logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("webfilterLogs")]
        public Input<string>? WebfilterLogs { get; set; }

        public AlertemailSettingArgs()
        {
        }
        public static new AlertemailSettingArgs Empty => new AlertemailSettingArgs();
    }

    public sealed class AlertemailSettingState : global::Pulumi.ResourceArgs
    {
        /// <summary>
        /// Enable/disable administrator login/logout logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("adminLoginLogs")]
        public Input<string>? AdminLoginLogs { get; set; }

        /// <summary>
        /// Alert alert interval in minutes.
        /// </summary>
        [Input("alertInterval")]
        public Input<int>? AlertInterval { get; set; }

        /// <summary>
        /// Enable/disable Fortinet Advanced Mezzanine Card (AMC) interface bypass mode logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("amcInterfaceBypassMode")]
        public Input<string>? AmcInterfaceBypassMode { get; set; }

        /// <summary>
        /// Enable/disable antivirus logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("antivirusLogs")]
        public Input<string>? AntivirusLogs { get; set; }

        /// <summary>
        /// Enable/disable configuration change logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("configurationChangesLogs")]
        public Input<string>? ConfigurationChangesLogs { get; set; }

        /// <summary>
        /// Critical alert interval in minutes.
        /// </summary>
        [Input("criticalInterval")]
        public Input<int>? CriticalInterval { get; set; }

        /// <summary>
        /// Debug alert interval in minutes.
        /// </summary>
        [Input("debugInterval")]
        public Input<int>? DebugInterval { get; set; }

        /// <summary>
        /// Interval between sending alert emails (1 - 99999 min, default = 5).
        /// </summary>
        [Input("emailInterval")]
        public Input<int>? EmailInterval { get; set; }

        /// <summary>
        /// Emergency alert interval in minutes.
        /// </summary>
        [Input("emergencyInterval")]
        public Input<int>? EmergencyInterval { get; set; }

        /// <summary>
        /// Error alert interval in minutes.
        /// </summary>
        [Input("errorInterval")]
        public Input<int>? ErrorInterval { get; set; }

        /// <summary>
        /// Number of days to send alert email prior to FortiGuard license expiration (1 - 100 days, default = 100).
        /// </summary>
        [Input("fdsLicenseExpiringDays")]
        public Input<int>? FdsLicenseExpiringDays { get; set; }

        /// <summary>
        /// Enable/disable FortiGuard license expiration warnings in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("fdsLicenseExpiringWarning")]
        public Input<string>? FdsLicenseExpiringWarning { get; set; }

        /// <summary>
        /// Enable/disable FortiGuard update logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("fdsUpdateLogs")]
        public Input<string>? FdsUpdateLogs { get; set; }

        /// <summary>
        /// How to filter log messages that are sent to alert emails. Valid values: `category`, `threshold`.
        /// </summary>
        [Input("filterMode")]
        public Input<string>? FilterMode { get; set; }

        /// <summary>
        /// Enable/disable FIPS and Common Criteria error logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("fipsCcErrors")]
        public Input<string>? FipsCcErrors { get; set; }

        /// <summary>
        /// Enable/disable firewall authentication failure logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("firewallAuthenticationFailureLogs")]
        public Input<string>? FirewallAuthenticationFailureLogs { get; set; }

        /// <summary>
        /// Enable/disable FortiCloud log quota warnings in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("fortiguardLogQuotaWarning")]
        public Input<string>? FortiguardLogQuotaWarning { get; set; }

        /// <summary>
        /// Enable/disable logging of FSSO collector agent disconnect. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("fssoDisconnectLogs")]
        public Input<string>? FssoDisconnectLogs { get; set; }

        /// <summary>
        /// Enable/disable HA logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("haLogs")]
        public Input<string>? HaLogs { get; set; }

        /// <summary>
        /// Information alert interval in minutes.
        /// </summary>
        [Input("informationInterval")]
        public Input<int>? InformationInterval { get; set; }

        /// <summary>
        /// Enable/disable IPS logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("ipsLogs")]
        public Input<string>? IpsLogs { get; set; }

        /// <summary>
        /// Enable/disable IPsec error logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("ipsecErrorsLogs")]
        public Input<string>? IpsecErrorsLogs { get; set; }

        /// <summary>
        /// Disk usage percentage at which to send alert email (1 - 99 percent, default = 75).
        /// </summary>
        [Input("localDiskUsage")]
        public Input<int>? LocalDiskUsage { get; set; }

        /// <summary>
        /// Enable/disable disk usage warnings in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("logDiskUsageWarning")]
        public Input<string>? LogDiskUsageWarning { get; set; }

        /// <summary>
        /// Email address to send alert email to (usually a system administrator) (max. 64 characters).
        /// </summary>
        [Input("mailto1")]
        public Input<string>? Mailto1 { get; set; }

        /// <summary>
        /// Optional second email address to send alert email to (max. 64 characters).
        /// </summary>
        [Input("mailto2")]
        public Input<string>? Mailto2 { get; set; }

        /// <summary>
        /// Optional third email address to send alert email to (max. 64 characters).
        /// </summary>
        [Input("mailto3")]
        public Input<string>? Mailto3 { get; set; }

        /// <summary>
        /// Notification alert interval in minutes.
        /// </summary>
        [Input("notificationInterval")]
        public Input<int>? NotificationInterval { get; set; }

        /// <summary>
        /// Enable/disable PPP error logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("pppErrorsLogs")]
        public Input<string>? PppErrorsLogs { get; set; }

        /// <summary>
        /// Lowest severity level to log. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.
        /// </summary>
        [Input("severity")]
        public Input<string>? Severity { get; set; }

        /// <summary>
        /// Enable/disable SSH logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("sshLogs")]
        public Input<string>? SshLogs { get; set; }

        /// <summary>
        /// Enable/disable SSL-VPN authentication error logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("sslvpnAuthenticationErrorsLogs")]
        public Input<string>? SslvpnAuthenticationErrorsLogs { get; set; }

        /// <summary>
        /// Name that appears in the From: field of alert emails (max. 36 characters).
        /// </summary>
        [Input("username")]
        public Input<string>? Username { get; set; }

        /// <summary>
        /// Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.
        /// </summary>
        [Input("vdomparam")]
        public Input<string>? Vdomparam { get; set; }

        /// <summary>
        /// Enable/disable violation traffic logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("violationTrafficLogs")]
        public Input<string>? ViolationTrafficLogs { get; set; }

        /// <summary>
        /// Warning alert interval in minutes.
        /// </summary>
        [Input("warningInterval")]
        public Input<int>? WarningInterval { get; set; }

        /// <summary>
        /// Enable/disable web filter logs in alert email. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("webfilterLogs")]
        public Input<string>? WebfilterLogs { get; set; }

        public AlertemailSettingState()
        {
        }
        public static new AlertemailSettingState Empty => new AlertemailSettingState();
    }
}
