<reponame>pulumiverse/pulumi-fortios<filename>sdk/dotnet/Outputs/SwitchcontrollerManagedswitchPort.cs<gh_stars>0// *** 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 SwitchcontrollerManagedswitchPort
    {
        /// <summary>
        /// Access mode of the port.
        /// </summary>
        public readonly string? AccessMode;
        /// <summary>
        /// LACP member select mode. Valid values: `bandwidth`, `count`.
        /// </summary>
        public readonly string? AggregatorMode;
        /// <summary>
        /// Configure switch port tagged vlans The structure of `allowed_vlans` block is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.SwitchcontrollerManagedswitchPortAllowedVlan> AllowedVlans;
        /// <summary>
        /// Enable/disable all defined vlans on this port. Valid values: `enable`, `disable`.
        /// </summary>
        public readonly string? AllowedVlansAll;
        /// <summary>
        /// Trusted or untrusted dynamic ARP inspection. Valid values: `untrusted`, `trusted`.
        /// </summary>
        public readonly string? ArpInspectionTrust;
        /// <summary>
        /// Enable/disable Link Aggregation Group (LAG) bundling for non-FortiLink interfaces. Valid values: `enable`, `disable`.
        /// </summary>
        public readonly string? Bundle;
        /// <summary>
        /// Description for port.
        /// </summary>
        public readonly string? Description;
        /// <summary>
        /// Enable/disable allowance of DHCP with option-82 on untrusted interface. Valid values: `enable`, `disable`.
        /// </summary>
        public readonly string? DhcpSnoopOption82Trust;
        /// <summary>
        /// Trusted or untrusted DHCP-snooping interface. Valid values: `untrusted`, `trusted`.
        /// </summary>
        public readonly string? DhcpSnooping;
        /// <summary>
        /// Configure discard mode for port. Valid values: `none`, `all-untagged`, `all-tagged`.
        /// </summary>
        public readonly string? DiscardMode;
        /// <summary>
        /// Enable/disable this interface as an edge port, bridging connections between workstations and/or computers. Valid values: `enable`, `disable`.
        /// </summary>
        public readonly string? EdgePort;
        /// <summary>
        /// Switch controller export tag name. The structure of `export_tags` block is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.SwitchcontrollerManagedswitchPortExportTag> ExportTags;
        /// <summary>
        /// Export managed-switch port to a tenant VDOM.
        /// </summary>
        public readonly string? ExportTo;
        /// <summary>
        /// Switch controller export port to pool-list.
        /// </summary>
        public readonly string? ExportToPool;
        /// <summary>
        /// Switch controller export port to pool-list.
        /// </summary>
        public readonly int? ExportToPoolFlag;
        /// <summary>
        /// FEC capable.
        /// </summary>
        public readonly int? FecCapable;
        /// <summary>
        /// State of forward error correction. Valid values: `disabled`, `cl74`, `cl91`.
        /// </summary>
        public readonly string? FecState;
        /// <summary>
        /// FGT peer device name.
        /// </summary>
        public readonly string? FgtPeerDeviceName;
        /// <summary>
        /// FGT peer port name.
        /// </summary>
        public readonly string? FgtPeerPortName;
        /// <summary>
        /// Fiber-port.
        /// </summary>
        public readonly int? FiberPort;
        /// <summary>
        /// Port properties flags.
        /// </summary>
        public readonly int? Flags;
        /// <summary>
        /// Period over which flap events are calculated (seconds).
        /// </summary>
        public readonly int? FlapDuration;
        /// <summary>
        /// Number of stage change events needed within flap-duration.
        /// </summary>
        public readonly int? FlapRate;
        /// <summary>
        /// Flap guard disabling protection (min).
        /// </summary>
        public readonly int? FlapTimeout;
        /// <summary>
        /// Enable/disable flap guard. Valid values: `enable`, `disable`.
        /// </summary>
        public readonly string? Flapguard;
        /// <summary>
        /// Flow control direction. Valid values: `disable`, `tx`, `rx`, `both`.
        /// </summary>
        public readonly string? FlowControl;
        /// <summary>
        /// FortiLink uplink port.
        /// </summary>
        public readonly int? FortilinkPort;
        /// <summary>
        /// Set IGMP snooping mode for the physical port interface. Valid values: `enable`, `disable`.
        /// </summary>
        public readonly string? IgmpSnooping;
        /// <summary>
        /// Enable/disable flooding of IGMP reports to this interface when igmp-snooping enabled. Valid values: `enable`, `disable`.
        /// </summary>
        public readonly string? IgmpSnoopingFloodReports;
        /// <summary>
        /// Enable/disable flooding of IGMP reports to this interface when igmp-snooping enabled. Valid values: `enable`, `disable`.
        /// </summary>
        public readonly string? IgmpsFloodReports;
        /// <summary>
        /// Enable/disable flooding of IGMP snooping traffic to this interface. Valid values: `enable`, `disable`.
        /// </summary>
        public readonly string? IgmpsFloodTraffic;
        /// <summary>
        /// Tag(s) associated with the interface for various features including virtual port pool, dynamic port policy. The structure of `interface_tags` block is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.SwitchcontrollerManagedswitchPortInterfaceTag> InterfaceTags;
        /// <summary>
        /// Enable/disable IP source guard. Valid values: `disable`, `enable`.
        /// </summary>
        public readonly string? IpSourceGuard;
        /// <summary>
        /// ISL local trunk name.
        /// </summary>
        public readonly string? IslLocalTrunkName;
        /// <summary>
        /// ISL peer device name.
        /// </summary>
        public readonly string? IslPeerDeviceName;
        /// <summary>
        /// ISL peer port name.
        /// </summary>
        public readonly string? IslPeerPortName;
        /// <summary>
        /// end Link Aggregation Control Protocol (LACP) messages every 30 seconds (slow) or every second (fast). Valid values: `slow`, `fast`.
        /// </summary>
        public readonly string? LacpSpeed;
        /// <summary>
        /// Limit the number of dynamic MAC addresses on this Port (1 - 128, 0 = no limit, default).
        /// </summary>
        public readonly int? LearningLimit;
        /// <summary>
        /// LLDP port TLV profile.
        /// </summary>
        public readonly string? LldpProfile;
        /// <summary>
        /// LLDP transmit and receive status. Valid values: `disable`, `rx-only`, `tx-only`, `tx-rx`.
        /// </summary>
        public readonly string? LldpStatus;
        /// <summary>
        /// Enable/disable loop-guard on this interface, an STP optimization used to prevent network loops. Valid values: `enabled`, `disabled`.
        /// </summary>
        public readonly string? LoopGuard;
        /// <summary>
        /// Loop-guard timeout (0 - 120 min, default = 45).
        /// </summary>
        public readonly int? LoopGuardTimeout;
        /// <summary>
        /// Port/Trunk MAC.
        /// </summary>
        public readonly string? MacAddr;
        /// <summary>
        /// Matched interface tags in the dynamic port policy.
        /// </summary>
        public readonly string? MatchedDppIntfTags;
        /// <summary>
        /// Matched child policy in the dynamic port policy.
        /// </summary>
        public readonly string? MatchedDppPolicy;
        /// <summary>
        /// Maximum size of LAG bundle (1 - 24, default = 24)
        /// </summary>
        public readonly int? MaxBundle;
        /// <summary>
        /// Enable/disable flooding of IGMP snooping traffic to this interface. Valid values: `enable`, `disable`.
        /// </summary>
        public readonly string? McastSnoopingFloodTraffic;
        /// <summary>
        /// Enable/disable multi-chassis link aggregation (MCLAG). Valid values: `enable`, `disable`.
        /// </summary>
        public readonly string? Mclag;
        /// <summary>
        /// MCLAG-ICL port.
        /// </summary>
        public readonly int? MclagIclPort;
        /// <summary>
        /// Media type.
        /// </summary>
        public readonly string? MediaType;
        /// <summary>
        /// Port behavior after it withdraws because of loss of control packets. Valid values: `forward`, `block`.
        /// </summary>
        public readonly string? MemberWithdrawalBehavior;
        /// <summary>
        /// Aggregated LAG bundle interfaces. The structure of `members` block is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.SwitchcontrollerManagedswitchPortMember> Members;
        /// <summary>
        /// Minimum size of LAG bundle (1 - 24, default = 1)
        /// </summary>
        public readonly int? MinBundle;
        /// <summary>
        /// LACP mode: ignore and do not send control messages, or negotiate 802.3ad aggregation passively or actively. Valid values: `static`, `lacp-passive`, `lacp-active`.
        /// </summary>
        public readonly string? Mode;
        /// <summary>
        /// General peer to peer tunnel port.
        /// </summary>
        public readonly int? P2pPort;
        /// <summary>
        /// Packet sampling rate (0 - 99999 p/sec).
        /// </summary>
        public readonly int? PacketSampleRate;
        /// <summary>
        /// Enable/disable packet sampling on this interface. Valid values: `enabled`, `disabled`.
        /// </summary>
        public readonly string? PacketSampler;
        /// <summary>
        /// Configure ingress pause metering rate, in kbps (default = 0, disabled).
        /// </summary>
        public readonly int? PauseMeter;
        /// <summary>
        /// Resume threshold for resuming traffic on ingress port. Valid values: `75%`, `50%`, `25%`.
        /// </summary>
        public readonly string? PauseMeterResume;
        /// <summary>
        /// PoE capable.
        /// </summary>
        public readonly int? PoeCapable;
        /// <summary>
        /// PoE maximum power.
        /// </summary>
        public readonly string? PoeMaxPower;
        /// <summary>
        /// Enable/disable PoE pre-standard detection. Valid values: `enable`, `disable`.
        /// </summary>
        public readonly string? PoePreStandardDetection;
        /// <summary>
        /// PoE standard supported.
        /// </summary>
        public readonly string? PoeStandard;
        /// <summary>
        /// Enable/disable PoE status. Valid values: `enable`, `disable`.
        /// </summary>
        public readonly string? PoeStatus;
        /// <summary>
        /// Switch port name.
        /// </summary>
        public readonly string? PortName;
        /// <summary>
        /// Port number.
        /// </summary>
        public readonly int? PortNumber;
        /// <summary>
        /// Switch port name.
        /// </summary>
        public readonly string? PortOwner;
        /// <summary>
        /// Switch controller dynamic port policy from available options.
        /// </summary>
        public readonly string? PortPolicy;
        /// <summary>
        /// Port prefix type.
        /// </summary>
        public readonly int? PortPrefixType;
        /// <summary>
        /// Switch controller authentication policy to apply to this managed switch from available options.
        /// </summary>
        public readonly string? PortSecurityPolicy;
        /// <summary>
        /// Algorithm for aggregate port selection. Valid values: `src-mac`, `dst-mac`, `src-dst-mac`, `src-ip`, `dst-ip`, `src-dst-ip`.
        /// </summary>
        public readonly string? PortSelectionCriteria;
        /// <summary>
        /// PTP policy configuration.
        /// </summary>
        public readonly string? PtpPolicy;
        /// <summary>
        /// Switch controller QoS policy from available options.
        /// </summary>
        public readonly string? QosPolicy;
        /// <summary>
        /// Enable/disable inter-operability with rapid PVST on this interface. Valid values: `disabled`, `enabled`.
        /// </summary>
        public readonly string? RpvstPort;
        /// <summary>
        /// sFlow sample direction. Valid values: `tx`, `rx`, `both`.
        /// </summary>
        public readonly string? SampleDirection;
        /// <summary>
        /// sFlow sampler counter polling interval (1 - 255 sec).
        /// </summary>
        public readonly int? SflowCounterInterval;
        /// <summary>
        /// sFlow sampler sample rate (0 - 99999 p/sec).
        /// </summary>
        public readonly int? SflowSampleRate;
        /// <summary>
        /// Enable/disable sFlow protocol on this interface. Valid values: `enabled`, `disabled`.
        /// </summary>
        public readonly string? SflowSampler;
        /// <summary>
        /// Switch port speed; default and available settings depend on hardware.
        /// </summary>
        public readonly string? Speed;
        /// <summary>
        /// Switch port speed mask.
        /// </summary>
        public readonly int? SpeedMask;
        /// <summary>
        /// Stacking port.
        /// </summary>
        public readonly int? StackingPort;
        /// <summary>
        /// Switch port admin status: up or down. Valid values: `up`, `down`.
        /// </summary>
        public readonly string? Status;
        /// <summary>
        /// Enable or disable sticky-mac on the interface. Valid values: `enable`, `disable`.
        /// </summary>
        public readonly string? StickyMac;
        /// <summary>
        /// Switch controller storm control policy from available options.
        /// </summary>
        public readonly string? StormControlPolicy;
        /// <summary>
        /// Enable/disable STP BPDU guard on this interface. Valid values: `enabled`, `disabled`.
        /// </summary>
        public readonly string? StpBpduGuard;
        /// <summary>
        /// BPDU Guard disabling protection (0 - 120 min).
        /// </summary>
        public readonly int? StpBpduGuardTimeout;
        /// <summary>
        /// Enable/disable STP root guard on this interface. Valid values: `enabled`, `disabled`.
        /// </summary>
        public readonly string? StpRootGuard;
        /// <summary>
        /// Enable/disable Spanning Tree Protocol (STP) on this interface. Valid values: `enabled`, `disabled`.
        /// </summary>
        public readonly string? StpState;
        /// <summary>
        /// Switch id.
        /// </summary>
        public readonly string? SwitchId;
        /// <summary>
        /// Interface type: physical or trunk port. Valid values: `physical`, `trunk`.
        /// </summary>
        public readonly string? Type;
        /// <summary>
        /// Configure switch port untagged vlans The structure of `untagged_vlans` block is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.SwitchcontrollerManagedswitchPortUntaggedVlan> UntaggedVlans;
        /// <summary>
        /// Virtualized switch port.
        /// </summary>
        public readonly int? VirtualPort;
        /// <summary>
        /// Assign switch ports to a VLAN.
        /// </summary>
        public readonly string? Vlan;

        [OutputConstructor]
        private SwitchcontrollerManagedswitchPort(
            string? accessMode,

            string? aggregatorMode,

            ImmutableArray<Outputs.SwitchcontrollerManagedswitchPortAllowedVlan> allowedVlans,

            string? allowedVlansAll,

            string? arpInspectionTrust,

            string? bundle,

            string? description,

            string? dhcpSnoopOption82Trust,

            string? dhcpSnooping,

            string? discardMode,

            string? edgePort,

            ImmutableArray<Outputs.SwitchcontrollerManagedswitchPortExportTag> exportTags,

            string? exportTo,

            string? exportToPool,

            int? exportToPoolFlag,

            int? fecCapable,

            string? fecState,

            string? fgtPeerDeviceName,

            string? fgtPeerPortName,

            int? fiberPort,

            int? flags,

            int? flapDuration,

            int? flapRate,

            int? flapTimeout,

            string? flapguard,

            string? flowControl,

            int? fortilinkPort,

            string? igmpSnooping,

            string? igmpSnoopingFloodReports,

            string? igmpsFloodReports,

            string? igmpsFloodTraffic,

            ImmutableArray<Outputs.SwitchcontrollerManagedswitchPortInterfaceTag> interfaceTags,

            string? ipSourceGuard,

            string? islLocalTrunkName,

            string? islPeerDeviceName,

            string? islPeerPortName,

            string? lacpSpeed,

            int? learningLimit,

            string? lldpProfile,

            string? lldpStatus,

            string? loopGuard,

            int? loopGuardTimeout,

            string? macAddr,

            string? matchedDppIntfTags,

            string? matchedDppPolicy,

            int? maxBundle,

            string? mcastSnoopingFloodTraffic,

            string? mclag,

            int? mclagIclPort,

            string? mediaType,

            string? memberWithdrawalBehavior,

            ImmutableArray<Outputs.SwitchcontrollerManagedswitchPortMember> members,

            int? minBundle,

            string? mode,

            int? p2pPort,

            int? packetSampleRate,

            string? packetSampler,

            int? pauseMeter,

            string? pauseMeterResume,

            int? poeCapable,

            string? poeMaxPower,

            string? poePreStandardDetection,

            string? poeStandard,

            string? poeStatus,

            string? portName,

            int? portNumber,

            string? portOwner,

            string? portPolicy,

            int? portPrefixType,

            string? portSecurityPolicy,

            string? portSelectionCriteria,

            string? ptpPolicy,

            string? qosPolicy,

            string? rpvstPort,

            string? sampleDirection,

            int? sflowCounterInterval,

            int? sflowSampleRate,

            string? sflowSampler,

            string? speed,

            int? speedMask,

            int? stackingPort,

            string? status,

            string? stickyMac,

            string? stormControlPolicy,

            string? stpBpduGuard,

            int? stpBpduGuardTimeout,

            string? stpRootGuard,

            string? stpState,

            string? switchId,

            string? type,

            ImmutableArray<Outputs.SwitchcontrollerManagedswitchPortUntaggedVlan> untaggedVlans,

            int? virtualPort,

            string? vlan)
        {
            AccessMode = accessMode;
            AggregatorMode = aggregatorMode;
            AllowedVlans = allowedVlans;
            AllowedVlansAll = allowedVlansAll;
            ArpInspectionTrust = arpInspectionTrust;
            Bundle = bundle;
            Description = description;
            DhcpSnoopOption82Trust = dhcpSnoopOption82Trust;
            DhcpSnooping = dhcpSnooping;
            DiscardMode = discardMode;
            EdgePort = edgePort;
            ExportTags = exportTags;
            ExportTo = exportTo;
            ExportToPool = exportToPool;
            ExportToPoolFlag = exportToPoolFlag;
            FecCapable = fecCapable;
            FecState = fecState;
            FgtPeerDeviceName = fgtPeerDeviceName;
            FgtPeerPortName = fgtPeerPortName;
            FiberPort = fiberPort;
            Flags = flags;
            FlapDuration = flapDuration;
            FlapRate = flapRate;
            FlapTimeout = flapTimeout;
            Flapguard = flapguard;
            FlowControl = flowControl;
            FortilinkPort = fortilinkPort;
            IgmpSnooping = igmpSnooping;
            IgmpSnoopingFloodReports = igmpSnoopingFloodReports;
            IgmpsFloodReports = igmpsFloodReports;
            IgmpsFloodTraffic = igmpsFloodTraffic;
            InterfaceTags = interfaceTags;
            IpSourceGuard = ipSourceGuard;
            IslLocalTrunkName = islLocalTrunkName;
            IslPeerDeviceName = islPeerDeviceName;
            IslPeerPortName = islPeerPortName;
            LacpSpeed = lacpSpeed;
            LearningLimit = learningLimit;
            LldpProfile = lldpProfile;
            LldpStatus = lldpStatus;
            LoopGuard = loopGuard;
            LoopGuardTimeout = loopGuardTimeout;
            MacAddr = macAddr;
            MatchedDppIntfTags = matchedDppIntfTags;
            MatchedDppPolicy = matchedDppPolicy;
            MaxBundle = maxBundle;
            McastSnoopingFloodTraffic = mcastSnoopingFloodTraffic;
            Mclag = mclag;
            MclagIclPort = mclagIclPort;
            MediaType = mediaType;
            MemberWithdrawalBehavior = memberWithdrawalBehavior;
            Members = members;
            MinBundle = minBundle;
            Mode = mode;
            P2pPort = p2pPort;
            PacketSampleRate = packetSampleRate;
            PacketSampler = packetSampler;
            PauseMeter = pauseMeter;
            PauseMeterResume = pauseMeterResume;
            PoeCapable = poeCapable;
            PoeMaxPower = poeMaxPower;
            PoePreStandardDetection = poePreStandardDetection;
            PoeStandard = poeStandard;
            PoeStatus = poeStatus;
            PortName = portName;
            PortNumber = portNumber;
            PortOwner = portOwner;
            PortPolicy = portPolicy;
            PortPrefixType = portPrefixType;
            PortSecurityPolicy = portSecurityPolicy;
            PortSelectionCriteria = portSelectionCriteria;
            PtpPolicy = ptpPolicy;
            QosPolicy = qosPolicy;
            RpvstPort = rpvstPort;
            SampleDirection = sampleDirection;
            SflowCounterInterval = sflowCounterInterval;
            SflowSampleRate = sflowSampleRate;
            SflowSampler = sflowSampler;
            Speed = speed;
            SpeedMask = speedMask;
            StackingPort = stackingPort;
            Status = status;
            StickyMac = stickyMac;
            StormControlPolicy = stormControlPolicy;
            StpBpduGuard = stpBpduGuard;
            StpBpduGuardTimeout = stpBpduGuardTimeout;
            StpRootGuard = stpRootGuard;
            StpState = stpState;
            SwitchId = switchId;
            Type = type;
            UntaggedVlans = untaggedVlans;
            VirtualPort = virtualPort;
            Vlan = vlan;
        }
    }
}
