<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 RouterIsisIsisInterface
    {
        /// <summary>
        /// Authentication key-chain for level 1 PDUs.
        /// </summary>
        public readonly string? AuthKeychainL1;
        /// <summary>
        /// Authentication key-chain for level 2 PDUs.
        /// </summary>
        public readonly string? AuthKeychainL2;
        /// <summary>
        /// Level 1 authentication mode. Valid values: `md5`, `password`.
        /// </summary>
        public readonly string? AuthModeL1;
        /// <summary>
        /// Level 2 authentication mode. Valid values: `md5`, `password`.
        /// </summary>
        public readonly string? AuthModeL2;
        /// <summary>
        /// Authentication password for level 1 PDUs.
        /// </summary>
        public readonly string? AuthPasswordL1;
        /// <summary>
        /// Authentication password for level 2 PDUs.
        /// </summary>
        public readonly string? AuthPasswordL2;
        /// <summary>
        /// Enable/disable authentication send-only for level 1 PDUs. Valid values: `enable`, `disable`.
        /// </summary>
        public readonly string? AuthSendOnlyL1;
        /// <summary>
        /// Enable/disable authentication send-only for level 2 PDUs. Valid values: `enable`, `disable`.
        /// </summary>
        public readonly string? AuthSendOnlyL2;
        /// <summary>
        /// IS-IS interface's circuit type Valid values: `level-1-2`, `level-1`, `level-2`.
        /// </summary>
        public readonly string? CircuitType;
        /// <summary>
        /// Level 1 CSNP interval.
        /// </summary>
        public readonly int? CsnpIntervalL1;
        /// <summary>
        /// Level 2 CSNP interval.
        /// </summary>
        public readonly int? CsnpIntervalL2;
        /// <summary>
        /// Level 1 hello interval.
        /// </summary>
        public readonly int? HelloIntervalL1;
        /// <summary>
        /// Level 2 hello interval.
        /// </summary>
        public readonly int? HelloIntervalL2;
        /// <summary>
        /// Level 1 multiplier for Hello holding time.
        /// </summary>
        public readonly int? HelloMultiplierL1;
        /// <summary>
        /// Level 2 multiplier for Hello holding time.
        /// </summary>
        public readonly int? HelloMultiplierL2;
        /// <summary>
        /// Enable/disable padding to IS-IS hello packets. Valid values: `enable`, `disable`.
        /// </summary>
        public readonly string? HelloPadding;
        /// <summary>
        /// LSP transmission interval (milliseconds).
        /// </summary>
        public readonly int? LspInterval;
        /// <summary>
        /// LSP retransmission interval (sec).
        /// </summary>
        public readonly int? LspRetransmitInterval;
        /// <summary>
        /// Enable/disable IS-IS mesh group. Valid values: `enable`, `disable`.
        /// </summary>
        public readonly string? MeshGroup;
        /// <summary>
        /// Mesh group ID &lt;0-4294967295&gt;, 0: mesh-group blocked.
        /// </summary>
        public readonly int? MeshGroupId;
        /// <summary>
        /// Level 1 metric for interface.
        /// </summary>
        public readonly int? MetricL1;
        /// <summary>
        /// Level 2 metric for interface.
        /// </summary>
        public readonly int? MetricL2;
        /// <summary>
        /// IS-IS interface name.
        /// </summary>
        public readonly string? Name;
        /// <summary>
        /// IS-IS interface's network type Valid values: `broadcast`, `point-to-point`, `loopback`.
        /// </summary>
        public readonly string? NetworkType;
        /// <summary>
        /// Level 1 priority.
        /// </summary>
        public readonly int? PriorityL1;
        /// <summary>
        /// Level 2 priority.
        /// </summary>
        public readonly int? PriorityL2;
        /// <summary>
        /// Enable/disable interface for IS-IS. Valid values: `enable`, `disable`.
        /// </summary>
        public readonly string? Status;
        /// <summary>
        /// Enable/disable IPv6 interface for IS-IS. Valid values: `enable`, `disable`.
        /// </summary>
        public readonly string? Status6;
        /// <summary>
        /// Level 1 wide metric for interface.
        /// </summary>
        public readonly int? WideMetricL1;
        /// <summary>
        /// Level 2 wide metric for interface.
        /// </summary>
        public readonly int? WideMetricL2;

        [OutputConstructor]
        private RouterIsisIsisInterface(
            string? authKeychainL1,

            string? authKeychainL2,

            string? authModeL1,

            string? authModeL2,

            string? authPasswordL1,

            string? authPasswordL2,

            string? authSendOnlyL1,

            string? authSendOnlyL2,

            string? circuitType,

            int? csnpIntervalL1,

            int? csnpIntervalL2,

            int? helloIntervalL1,

            int? helloIntervalL2,

            int? helloMultiplierL1,

            int? helloMultiplierL2,

            string? helloPadding,

            int? lspInterval,

            int? lspRetransmitInterval,

            string? meshGroup,

            int? meshGroupId,

            int? metricL1,

            int? metricL2,

            string? name,

            string? networkType,

            int? priorityL1,

            int? priorityL2,

            string? status,

            string? status6,

            int? wideMetricL1,

            int? wideMetricL2)
        {
            AuthKeychainL1 = authKeychainL1;
            AuthKeychainL2 = authKeychainL2;
            AuthModeL1 = authModeL1;
            AuthModeL2 = authModeL2;
            AuthPasswordL1 = authPasswordL1;
            AuthPasswordL2 = authPasswordL2;
            AuthSendOnlyL1 = authSendOnlyL1;
            AuthSendOnlyL2 = authSendOnlyL2;
            CircuitType = circuitType;
            CsnpIntervalL1 = csnpIntervalL1;
            CsnpIntervalL2 = csnpIntervalL2;
            HelloIntervalL1 = helloIntervalL1;
            HelloIntervalL2 = helloIntervalL2;
            HelloMultiplierL1 = helloMultiplierL1;
            HelloMultiplierL2 = helloMultiplierL2;
            HelloPadding = helloPadding;
            LspInterval = lspInterval;
            LspRetransmitInterval = lspRetransmitInterval;
            MeshGroup = meshGroup;
            MeshGroupId = meshGroupId;
            MetricL1 = metricL1;
            MetricL2 = metricL2;
            Name = name;
            NetworkType = networkType;
            PriorityL1 = priorityL1;
            PriorityL2 = priorityL2;
            Status = status;
            Status6 = status6;
            WideMetricL1 = wideMetricL1;
            WideMetricL2 = wideMetricL2;
        }
    }
}
