// *** 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.Inputs
{

    public sealed class WirelesscontrollerWtpprofileRadio1Args : global::Pulumi.ResourceArgs
    {
        /// <summary>
        /// Enable/disable airtime fairness (default = disable). Valid values: `enable`, `disable`.
        /// </summary>
        [Input("airtimeFairness")]
        public Input<string>? AirtimeFairness { get; set; }

        /// <summary>
        /// Enable/disable 802.11n AMSDU support. AMSDU can improve performance if supported by your WiFi clients (default = enable). Valid values: `enable`, `disable`.
        /// </summary>
        [Input("amsdu")]
        public Input<string>? Amsdu { get; set; }

        /// <summary>
        /// Enable/disable AP handoff of clients to other APs (default = disable). Valid values: `enable`, `disable`.
        /// </summary>
        [Input("apHandoff")]
        public Input<string>? ApHandoff { get; set; }

        /// <summary>
        /// MAC address to monitor.
        /// </summary>
        [Input("apSnifferAddr")]
        public Input<string>? ApSnifferAddr { get; set; }

        /// <summary>
        /// Sniffer buffer size (1 - 32 MB, default = 16).
        /// </summary>
        [Input("apSnifferBufsize")]
        public Input<int>? ApSnifferBufsize { get; set; }

        /// <summary>
        /// Channel on which to operate the sniffer (default = 6).
        /// </summary>
        [Input("apSnifferChan")]
        public Input<int>? ApSnifferChan { get; set; }

        /// <summary>
        /// Enable/disable sniffer on WiFi control frame (default = enable). Valid values: `enable`, `disable`.
        /// </summary>
        [Input("apSnifferCtl")]
        public Input<string>? ApSnifferCtl { get; set; }

        /// <summary>
        /// Enable/disable sniffer on WiFi data frame (default = enable). Valid values: `enable`, `disable`.
        /// </summary>
        [Input("apSnifferData")]
        public Input<string>? ApSnifferData { get; set; }

        /// <summary>
        /// Enable/disable sniffer on WiFi management Beacon frames (default = enable). Valid values: `enable`, `disable`.
        /// </summary>
        [Input("apSnifferMgmtBeacon")]
        public Input<string>? ApSnifferMgmtBeacon { get; set; }

        /// <summary>
        /// Enable/disable sniffer on WiFi management other frames  (default = enable). Valid values: `enable`, `disable`.
        /// </summary>
        [Input("apSnifferMgmtOther")]
        public Input<string>? ApSnifferMgmtOther { get; set; }

        /// <summary>
        /// Enable/disable sniffer on WiFi management probe frames (default = enable). Valid values: `enable`, `disable`.
        /// </summary>
        [Input("apSnifferMgmtProbe")]
        public Input<string>? ApSnifferMgmtProbe { get; set; }

        /// <summary>
        /// Distributed Automatic Radio Resource Provisioning (DARRP) profile name to assign to the radio.
        /// </summary>
        [Input("arrpProfile")]
        public Input<string>? ArrpProfile { get; set; }

        /// <summary>
        /// Automatic transmit power high limit in dBm (the actual range of transmit power depends on the AP platform type).
        /// </summary>
        [Input("autoPowerHigh")]
        public Input<int>? AutoPowerHigh { get; set; }

        /// <summary>
        /// Enable/disable automatic power-level adjustment to prevent co-channel interference (default = disable). Valid values: `enable`, `disable`.
        /// </summary>
        [Input("autoPowerLevel")]
        public Input<string>? AutoPowerLevel { get; set; }

        /// <summary>
        /// Automatic transmission power low limit in dBm (the actual range of transmit power depends on the AP platform type).
        /// </summary>
        [Input("autoPowerLow")]
        public Input<int>? AutoPowerLow { get; set; }

        /// <summary>
        /// The target of automatic transmit power adjustment in dBm. (-95 to -20, default = -70).
        /// </summary>
        [Input("autoPowerTarget")]
        public Input<string>? AutoPowerTarget { get; set; }

        /// <summary>
        /// WiFi band that Radio 1 operates on.
        /// </summary>
        [Input("band")]
        public Input<string>? Band { get; set; }

        /// <summary>
        /// WiFi 5G band type. Valid values: `5g-full`, `5g-high`, `5g-low`.
        /// </summary>
        [Input("band5gType")]
        public Input<string>? Band5gType { get; set; }

        /// <summary>
        /// Enable/disable WiFi multimedia (WMM) bandwidth admission control to optimize WiFi bandwidth use. A request to join the wireless network is only allowed if the access point has enough bandwidth to support it. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("bandwidthAdmissionControl")]
        public Input<string>? BandwidthAdmissionControl { get; set; }

        /// <summary>
        /// Maximum bandwidth capacity allowed (1 - 600000 Kbps, default = 2000).
        /// </summary>
        [Input("bandwidthCapacity")]
        public Input<int>? BandwidthCapacity { get; set; }

        /// <summary>
        /// Beacon interval. The time between beacon frames in msec (the actual range of beacon interval depends on the AP platform type, default = 100).
        /// </summary>
        [Input("beaconInterval")]
        public Input<int>? BeaconInterval { get; set; }

        /// <summary>
        /// BSS color value for this 11ax radio (0 - 63, 0 means disable. default = 0).
        /// </summary>
        [Input("bssColor")]
        public Input<int>? BssColor { get; set; }

        /// <summary>
        /// BSS color mode for this 11ax radio (default = auto). Valid values: `auto`, `static`.
        /// </summary>
        [Input("bssColorMode")]
        public Input<string>? BssColorMode { get; set; }

        /// <summary>
        /// Enable/disable WiFi multimedia (WMM) call admission control to optimize WiFi bandwidth use for VoIP calls. New VoIP calls are only accepted if there is enough bandwidth available to support them. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("callAdmissionControl")]
        public Input<string>? CallAdmissionControl { get; set; }

        /// <summary>
        /// Maximum number of Voice over WLAN (VoWLAN) phones supported by the radio (0 - 60, default = 10).
        /// </summary>
        [Input("callCapacity")]
        public Input<int>? CallCapacity { get; set; }

        /// <summary>
        /// Channel bandwidth: 80, 40, or 20MHz. Channels may use both 20 and 40 by enabling coexistence.
        /// </summary>
        [Input("channelBonding")]
        public Input<string>? ChannelBonding { get; set; }

        /// <summary>
        /// Enable/disable measuring channel utilization. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("channelUtilization")]
        public Input<string>? ChannelUtilization { get; set; }

        [Input("channels")]
        private InputList<Inputs.WirelesscontrollerWtpprofileRadio1ChannelArgs>? _channels;

        /// <summary>
        /// Selected list of wireless radio channels. The structure of `channel` block is documented below.
        /// </summary>
        public InputList<Inputs.WirelesscontrollerWtpprofileRadio1ChannelArgs> Channels
        {
            get => _channels ?? (_channels = new InputList<Inputs.WirelesscontrollerWtpprofileRadio1ChannelArgs>());
            set => _channels = value;
        }

        /// <summary>
        /// Enable/disable allowing both HT20 and HT40 on the same radio (default = enable). Valid values: `enable`, `disable`.
        /// </summary>
        [Input("coexistence")]
        public Input<string>? Coexistence { get; set; }

        /// <summary>
        /// Enable/disable Distributed Automatic Radio Resource Provisioning (DARRP) to make sure the radio is always using the most optimal channel (default = disable). Valid values: `enable`, `disable`.
        /// </summary>
        [Input("darrp")]
        public Input<string>? Darrp { get; set; }

        /// <summary>
        /// Enable/disable dynamic radio mode assignment (DRMA) (default = disable). Valid values: `disable`, `enable`.
        /// </summary>
        [Input("drma")]
        public Input<string>? Drma { get; set; }

        /// <summary>
        /// Network Coverage Factor (NCF) percentage required to consider a radio as redundant (default = low). Valid values: `low`, `medium`, `high`.
        /// </summary>
        [Input("drmaSensitivity")]
        public Input<string>? DrmaSensitivity { get; set; }

        /// <summary>
        /// DTIM interval. The frequency to transmit Delivery Traffic Indication Message (or Map) (DTIM) messages (1 - 255, default = 1). Set higher to save client battery life.
        /// </summary>
        [Input("dtim")]
        public Input<int>? Dtim { get; set; }

        /// <summary>
        /// Maximum packet size that can be sent without fragmentation (800 - 2346 bytes, default = 2346).
        /// </summary>
        [Input("fragThreshold")]
        public Input<int>? FragThreshold { get; set; }

        /// <summary>
        /// Enable/disable frequency handoff of clients to other channels (default = disable). Valid values: `enable`, `disable`.
        /// </summary>
        [Input("frequencyHandoff")]
        public Input<string>? FrequencyHandoff { get; set; }

        /// <summary>
        /// Iperf test protocol (default = "UDP"). Valid values: `udp`, `tcp`.
        /// </summary>
        [Input("iperfProtocol")]
        public Input<string>? IperfProtocol { get; set; }

        /// <summary>
        /// Iperf service port number.
        /// </summary>
        [Input("iperfServerPort")]
        public Input<int>? IperfServerPort { get; set; }

        /// <summary>
        /// Maximum number of stations (STAs) supported by the WTP (default = 0, meaning no client limitation).
        /// </summary>
        [Input("maxClients")]
        public Input<int>? MaxClients { get; set; }

        /// <summary>
        /// Maximum expected distance between the AP and clients (0 - 54000 m, default = 0).
        /// </summary>
        [Input("maxDistance")]
        public Input<int>? MaxDistance { get; set; }

        /// <summary>
        /// Configure operation mode of 5G radios (default = single-5G). Valid values: `single-5G`, `dual-5G`.
        /// </summary>
        [Input("mode")]
        public Input<string>? Mode { get; set; }

        /// <summary>
        /// Enable/disable 802.11d countryie(default = enable). Valid values: `enable`, `disable`.
        /// </summary>
        [Input("n80211d")]
        public Input<string>? N80211d { get; set; }

        /// <summary>
        /// Radio power level as a percentage of the maximum transmit power (0 - 100, default = 100).
        /// </summary>
        [Input("powerLevel")]
        public Input<int>? PowerLevel { get; set; }

        /// <summary>
        /// Set radio effective isotropic radiated power (EIRP) in dBm or by a percentage of the maximum EIRP (default = percentage). This power takes into account both radio transmit power and antenna gain. Higher power level settings may be constrained by local regulatory requirements and AP capabilities. Valid values: `dBm`, `percentage`.
        /// </summary>
        [Input("powerMode")]
        public Input<string>? PowerMode { get; set; }

        /// <summary>
        /// Radio EIRP power in dBm (1 - 33, default = 27).
        /// </summary>
        [Input("powerValue")]
        public Input<int>? PowerValue { get; set; }

        /// <summary>
        /// Enable client power-saving features such as TIM, AC VO, and OBSS etc. Valid values: `tim`, `ac-vo`, `no-obss-scan`, `no-11b-rate`, `client-rate-follow`.
        /// </summary>
        [Input("powersaveOptimize")]
        public Input<string>? PowersaveOptimize { get; set; }

        /// <summary>
        /// Enable/disable 802.11g protection modes to support backwards compatibility with older clients (rtscts, ctsonly, disable). Valid values: `rtscts`, `ctsonly`, `disable`.
        /// </summary>
        [Input("protectionMode")]
        public Input<string>? ProtectionMode { get; set; }

        /// <summary>
        /// radio-id
        /// </summary>
        [Input("radioId")]
        public Input<int>? RadioId { get; set; }

        /// <summary>
        /// Maximum packet size for RTS transmissions, specifying the maximum size of a data packet before RTS/CTS (256 - 2346 bytes, default = 2346).
        /// </summary>
        [Input("rtsThreshold")]
        public Input<int>? RtsThreshold { get; set; }

        /// <summary>
        /// BSSID for WiFi network.
        /// </summary>
        [Input("samBssid")]
        public Input<string>? SamBssid { get; set; }

        /// <summary>
        /// Enable/disable Captive Portal Authentication (default = disable). Valid values: `enable`, `disable`.
        /// </summary>
        [Input("samCaptivePortal")]
        public Input<string>? SamCaptivePortal { get; set; }

        /// <summary>
        /// Failure identification on the page after an incorrect login.
        /// </summary>
        [Input("samCwpFailureString")]
        public Input<string>? SamCwpFailureString { get; set; }

        /// <summary>
        /// Identification string from the captive portal login form.
        /// </summary>
        [Input("samCwpMatchString")]
        public Input<string>? SamCwpMatchString { get; set; }

        /// <summary>
        /// Password for captive portal authentication.
        /// </summary>
        [Input("samCwpPassword")]
        public Input<string>? SamCwpPassword { get; set; }

        /// <summary>
        /// Success identification on the page after a successful login.
        /// </summary>
        [Input("samCwpSuccessString")]
        public Input<string>? SamCwpSuccessString { get; set; }

        /// <summary>
        /// Website the client is trying to access.
        /// </summary>
        [Input("samCwpTestUrl")]
        public Input<string>? SamCwpTestUrl { get; set; }

        /// <summary>
        /// Username for captive portal authentication.
        /// </summary>
        [Input("samCwpUsername")]
        public Input<string>? SamCwpUsername { get; set; }

        /// <summary>
        /// Passphrase for WiFi network connection.
        /// </summary>
        [Input("samPassword")]
        public Input<string>? SamPassword { get; set; }

        /// <summary>
        /// SAM report interval (sec), 0 for a one-time report.
        /// </summary>
        [Input("samReportIntv")]
        public Input<int>? SamReportIntv { get; set; }

        /// <summary>
        /// Select WiFi network security type (default = "wpa-personal"). Valid values: `open`, `wpa-personal`, `wpa-enterprise`.
        /// </summary>
        [Input("samSecurityType")]
        public Input<string>? SamSecurityType { get; set; }

        /// <summary>
        /// SAM test server domain name.
        /// </summary>
        [Input("samServerFqdn")]
        public Input<string>? SamServerFqdn { get; set; }

        /// <summary>
        /// SAM test server IP address.
        /// </summary>
        [Input("samServerIp")]
        public Input<string>? SamServerIp { get; set; }

        /// <summary>
        /// Select SAM server type (default = "IP"). Valid values: `ip`, `fqdn`.
        /// </summary>
        [Input("samServerType")]
        public Input<string>? SamServerType { get; set; }

        /// <summary>
        /// SSID for WiFi network.
        /// </summary>
        [Input("samSsid")]
        public Input<string>? SamSsid { get; set; }

        /// <summary>
        /// Select SAM test type (default = "PING"). Valid values: `ping`, `iperf`.
        /// </summary>
        [Input("samTest")]
        public Input<string>? SamTest { get; set; }

        /// <summary>
        /// Username for WiFi network connection.
        /// </summary>
        [Input("samUsername")]
        public Input<string>? SamUsername { get; set; }

        /// <summary>
        /// Use either the short guard interval (Short GI) of 400 ns or the long guard interval (Long GI) of 800 ns. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("shortGuardInterval")]
        public Input<string>? ShortGuardInterval { get; set; }

        /// <summary>
        /// Enable/disable spectrum analysis to find interference that would negatively impact wireless performance.
        /// </summary>
        [Input("spectrumAnalysis")]
        public Input<string>? SpectrumAnalysis { get; set; }

        /// <summary>
        /// Packet transmission optimization options including power saving, aggregation limiting, retry limiting, etc. All are enabled by default. Valid values: `disable`, `power-save`, `aggr-limit`, `retry-limit`, `send-bar`.
        /// </summary>
        [Input("transmitOptimize")]
        public Input<string>? TransmitOptimize { get; set; }

        /// <summary>
        /// Enable/disable the automatic inheritance of all Virtual Access Points (VAPs) (default = enable).
        /// </summary>
        [Input("vapAll")]
        public Input<string>? VapAll { get; set; }

        [Input("vaps")]
        private InputList<Inputs.WirelesscontrollerWtpprofileRadio1VapArgs>? _vaps;

        /// <summary>
        /// Manually selected list of Virtual Access Points (VAPs). The structure of `vaps` block is documented below.
        /// </summary>
        public InputList<Inputs.WirelesscontrollerWtpprofileRadio1VapArgs> Vaps
        {
            get => _vaps ?? (_vaps = new InputList<Inputs.WirelesscontrollerWtpprofileRadio1VapArgs>());
            set => _vaps = value;
        }

        /// <summary>
        /// Wireless Intrusion Detection System (WIDS) profile name to assign to the radio.
        /// </summary>
        [Input("widsProfile")]
        public Input<string>? WidsProfile { get; set; }

        /// <summary>
        /// Enable/disable zero wait DFS on radio (default = enable). Valid values: `enable`, `disable`.
        /// </summary>
        [Input("zeroWaitDfs")]
        public Input<string>? ZeroWaitDfs { get; set; }

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