UNPKG

@pulumi/juniper-mist

Version:

A Pulumi package for creating and managing Juniper Mist resources.

1,277 lines 875 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; export interface UpgradeDeviceAutoUpgradeStat { /** * Time when the device last checked for auto-upgrade, in epoch seconds */ lastcheck?: pulumi.Input<number | undefined>; } export interface UpgradeDeviceFwupdate { /** * Firmware update progress percentage, or null when unavailable */ progress?: pulumi.Input<number | undefined>; /** * Current firmware update status */ status?: pulumi.Input<string | undefined>; /** * Numeric firmware update status identifier */ statusId?: pulumi.Input<number | undefined>; /** * Time when the firmware update status was last updated */ timestamp?: pulumi.Input<number | undefined>; /** * Whether the firmware update process will retry after the current status */ willRetry?: pulumi.Input<boolean | undefined>; } export declare namespace device { interface ApAeroscout { /** * Whether to enable aeroscout config */ enabled?: pulumi.Input<boolean | undefined>; /** * Required if enabled, aeroscout server host */ host?: pulumi.Input<string | undefined>; /** * Whether to enable the feature to allow wireless clients data received and sent to AES server for location calculation */ locateConnected?: pulumi.Input<boolean | undefined>; /** * Optional if enabled, Aeroscout server port. Defaults to 1144 */ port?: pulumi.Input<number | undefined>; } interface ApAirista { /** * Whether to enable Airista config */ enabled?: pulumi.Input<boolean | undefined>; /** * Required if enabled, Airista server host */ host?: pulumi.Input<string | undefined>; /** * Optional if enabled, Airista server port. Defaults to 1144 */ port?: pulumi.Input<number | undefined>; } interface ApBleConfig { /** * Whether Mist beacons is enabled */ beaconEnabled?: pulumi.Input<boolean | undefined>; /** * Required if `beaconRateMode`==`custom`, 1-10, in number-beacons-per-second */ beaconRate?: pulumi.Input<number | undefined>; /** * Beacon rate mode for Mist BLE beacons; use custom to set beacon_rate */ beaconRateMode?: pulumi.Input<string | undefined>; /** * AP BLE beam numbers disabled for location advertisements */ beamDisableds?: pulumi.Input<pulumi.Input<number>[] | undefined>; /** * Can be enabled if `beaconEnabled`==`true`, whether to send custom packet */ customBlePacketEnabled?: pulumi.Input<boolean | undefined>; /** * The custom frame to be sent out in this beacon. The frame must be a hexstring */ customBlePacketFrame?: pulumi.Input<string | undefined>; /** * Frequency (msec) of data emitted by custom ble beacon */ customBlePacketFreqMsec?: pulumi.Input<number | undefined>; /** * Advertised TX Power, -100 to 20 (dBm), omit this attribute to use default */ eddystoneUidAdvPower?: pulumi.Input<number | undefined>; /** * BLE beams used to transmit Eddystone-UID advertisements, expressed as ranges such as `2-4,7` */ eddystoneUidBeams?: pulumi.Input<string | undefined>; /** * Only if `beaconEnabled`==`false`, Whether Eddystone-UID beacon is enabled */ eddystoneUidEnabled?: pulumi.Input<boolean | undefined>; /** * Frequency (msec) of data emit by Eddystone-UID beacon */ eddystoneUidFreqMsec?: pulumi.Input<number | undefined>; /** * Eddystone-UID instance for the device */ eddystoneUidInstance?: pulumi.Input<string | undefined>; /** * Eddystone-UID namespace broadcast by the AP, as a 10-byte hex string */ eddystoneUidNamespace?: pulumi.Input<string | undefined>; /** * Advertised TX Power, -100 to 20 (dBm), omit this attribute to use default */ eddystoneUrlAdvPower?: pulumi.Input<number | undefined>; /** * BLE beams used to transmit Eddystone-URL advertisements, expressed as ranges such as `2-4,7` */ eddystoneUrlBeams?: pulumi.Input<string | undefined>; /** * Only if `beaconEnabled`==`false`, Whether Eddystone-URL beacon is enabled */ eddystoneUrlEnabled?: pulumi.Input<boolean | undefined>; /** * Frequency (msec) of data emitted by Eddystone-URL beacon */ eddystoneUrlFreqMsec?: pulumi.Input<number | undefined>; /** * URL pointed by Eddystone-URL beacon */ eddystoneUrlUrl?: pulumi.Input<string | undefined>; /** * Advertised TX Power, -100 to 20 (dBm), omit this attribute to use default */ ibeaconAdvPower?: pulumi.Input<number | undefined>; /** * BLE beams used to transmit iBeacon advertisements, expressed as ranges such as `2-4,7` */ ibeaconBeams?: pulumi.Input<string | undefined>; /** * Can be enabled if `beaconEnabled`==`true`, whether to send iBeacon */ ibeaconEnabled?: pulumi.Input<boolean | undefined>; /** * Frequency (msec) of data emit for iBeacon */ ibeaconFreqMsec?: pulumi.Input<number | undefined>; /** * iBeacon major value broadcast by the AP */ ibeaconMajor?: pulumi.Input<number | undefined>; /** * iBeacon minor value broadcast by the AP */ ibeaconMinor?: pulumi.Input<number | undefined>; /** * Optional, if not specified, the same UUID as the beacon will be used */ ibeaconUuid?: pulumi.Input<string | undefined>; /** * Required if `powerMode`==`custom`; else use `powerMode` as default */ power?: pulumi.Input<number | undefined>; /** * Transmit power mode for BLE beacons; use custom to set `power` */ powerMode?: pulumi.Input<string | undefined>; } interface ApCentrak { /** * Whether to enable Centrak config */ enabled?: pulumi.Input<boolean | undefined>; } interface ApClientBridge { /** * Credentials and security mode used when the AP connects as a wireless client bridge */ auth?: pulumi.Input<inputs.device.ApClientBridgeAuth | undefined>; /** * When acted as client bridge: * * only 5G radio can be used * * will not serve as AP on any radios */ enabled?: pulumi.Input<boolean | undefined>; /** * Uplink SSID used by the AP when client bridge mode is enabled */ ssid?: pulumi.Input<string | undefined>; } interface ApClientBridgeAuth { /** * Pre-shared key used when `type`==`psk` for client bridge authentication */ psk?: pulumi.Input<string | undefined>; /** * Authentication mode for the client bridge connection */ type?: pulumi.Input<string | undefined>; } interface ApEslConfig { /** * Only if `type`==`imagotag` or `type`==`native` */ cacert?: pulumi.Input<string | undefined>; /** * Only if `type`==`imagotag` or `type`==`native` */ channel?: pulumi.Input<number | undefined>; /** * usb_config is ignored if eslConfig enabled */ enabled?: pulumi.Input<boolean | undefined>; /** * Only if `type`==`imagotag` or `type`==`native` */ host?: pulumi.Input<string | undefined>; /** * Only if `type`==`imagotag` or `type`==`native` */ port?: pulumi.Input<number | undefined>; /** * ESL integration type to enable on the AP */ type?: pulumi.Input<string | undefined>; /** * Only if `type`==`imagotag` or `type`==`native` */ verifyCert?: pulumi.Input<boolean | undefined>; /** * Only if `type`==`solum` or `type`==`hanshow` */ vlanId?: pulumi.Input<number | undefined>; } interface ApIpConfig { /** * If `type`==`static`. DNS server IP addresses for AP management traffic */ dns?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * If `type`==`static`. DNS search suffixes applied to AP management lookups */ dnsSuffixes?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * Required if `type`==`static`. IPv4 default gateway for AP management traffic */ gateway?: pulumi.Input<string | undefined>; /** * Required if `type6`==`static`. IPv6 default gateway for AP management traffic when static IPv6 addressing is used */ gateway6?: pulumi.Input<string | undefined>; /** * Required if `type`==`static`. Static IPv4 address for the AP management interface */ ip?: pulumi.Input<string | undefined>; /** * Required if `type6`==`static`. Static IPv6 address for the AP management interface */ ip6?: pulumi.Input<string | undefined>; /** * Maximum transmission unit for AP management traffic */ mtu?: pulumi.Input<number | undefined>; /** * Required if `type`==`static`. IPv4 netmask for the AP management interface */ netmask?: pulumi.Input<string | undefined>; /** * Required if `type6`==`static`. IPv6 prefix length for the AP management interface */ netmask6?: pulumi.Input<string | undefined>; /** * IPv4 address assignment mode for AP management traffic */ type?: pulumi.Input<string | undefined>; /** * IPv6 address assignment mode for AP management traffic */ type6?: pulumi.Input<string | undefined>; /** * Management VLAN ID, default is 1 (untagged) */ vlanId?: pulumi.Input<number | undefined>; } interface ApLacpConfig { /** * Whether to enable LACP on supported AP Ethernet uplinks */ enabled?: pulumi.Input<boolean | undefined>; } interface ApLed { /** * Indicator LED brightness level from 0 to 255 */ brightness?: pulumi.Input<number | undefined>; /** * Whether the AP indicator LED is enabled */ enabled?: pulumi.Input<boolean | undefined>; } interface ApMesh { /** * Radio bands allowed for AP mesh links */ bands?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * Whether mesh is enabled on this AP */ enabled?: pulumi.Input<boolean | undefined>; /** * Mesh group, base AP(s) will only allow remote AP(s) in the same mesh group to join, 1-9, optional */ group?: pulumi.Input<number | undefined>; /** * Mesh role for this AP, either base or remote */ role?: pulumi.Input<string | undefined>; /** * Whether to use WPA3 on the 5 GHz band for mesh links */ useWpa3On5?: pulumi.Input<boolean | undefined>; } interface ApMqttConfig { /** * MQTT broker hostname or IP address; required when `enabled` is `true` */ brokerHost?: pulumi.Input<string | undefined>; /** * MQTT broker port; defaults to `1883` for `tcp` and `8883` for `ssl` */ brokerPort?: pulumi.Input<number | undefined>; /** * MQTT broker transport protocol */ brokerProto?: pulumi.Input<string | undefined>; /** * Whether to enable MQTT publishing */ enabled?: pulumi.Input<boolean | undefined>; /** * Payload format for published messages */ format?: pulumi.Input<string | undefined>; /** * Optional MQTT password; masked in GET responses */ password?: pulumi.Input<string | undefined>; /** * Optional MQTT username */ username?: pulumi.Input<string | undefined>; } interface ApPortConfig { /** * Whether this AP Ethernet port is disabled */ disabled?: pulumi.Input<boolean | undefined>; /** * RADIUS-assigned VLAN settings for AP port authentication */ dynamicVlan?: pulumi.Input<inputs.device.ApPortConfigDynamicVlan | undefined>; /** * Whether MAC authentication is enabled on this AP port */ enableMacAuth?: pulumi.Input<boolean | undefined>; /** * Traffic forwarding mode for this AP Ethernet port */ forwarding?: pulumi.Input<string | undefined>; /** * When `true`, we'll do dot1x then mac_auth. enable this to prefer mac_auth */ macAuthPreferred?: pulumi.Input<boolean | undefined>; /** * Protocol used for MAC authentication when `enableMacAuth` is `true` */ macAuthProtocol?: pulumi.Input<string | undefined>; /** * Juniper Mist NAC settings used by AP port authentication */ mistNac?: pulumi.Input<inputs.device.ApPortConfigMistNac | undefined>; /** * If `forwarding`==`mxtunnel`, vlanIds comes from mxtunnel */ mxTunnelId?: pulumi.Input<string | undefined>; /** * If `forwarding`==`siteMxedge`, vlanIds comes from siteMxedge (`mxtunnels` under site setting) */ mxtunnelName?: pulumi.Input<string | undefined>; /** * Authentication mode for this AP Ethernet port */ portAuth?: pulumi.Input<string | undefined>; /** * If `forwarding`==`limited`. VLAN ID allowed on this AP Ethernet port */ portVlanId?: pulumi.Input<number | undefined>; /** * RADIUS authentication and accounting settings for this AP port */ radiusConfig?: pulumi.Input<inputs.device.ApPortConfigRadiusConfig | undefined>; /** * TLS-secured RADIUS settings for this AP port */ radsec?: pulumi.Input<inputs.device.ApPortConfigRadsec | undefined>; /** * Optional to specify the VLAN ID for a tunnel if forwarding is for `wxtunnel`, `mxtunnel` or `siteMxedge`. * * if vlanId is not specified then it will use first one in vlan_ids[] of the mxtunnel. * * if forwarding == site_mxedge, vlanIds comes from siteMxedge (`mxtunnels` under site setting) */ vlanId?: pulumi.Input<number | undefined>; /** * If `forwarding`==`limited`, comma separated list of additional VLAN IDs allowed on this port */ vlanIds?: pulumi.Input<string | undefined>; /** * If `forwarding`==`wxtunnel`, the port is bridged to the vlan of the session */ wxtunnelId?: pulumi.Input<string | undefined>; /** * If `forwarding`==`wxtunnel`, the port is bridged to the vlan of the session */ wxtunnelRemoteId?: pulumi.Input<string | undefined>; } interface ApPortConfigDynamicVlan { /** * Fallback VLAN ID used when RADIUS does not return a dynamic VLAN match */ defaultVlanId?: pulumi.Input<number | undefined>; /** * Whether dynamic VLAN assignment is enabled for this AP port */ enabled?: pulumi.Input<boolean | undefined>; /** * Mapping mode for interpreting dynamic VLAN attributes returned by RADIUS */ type?: pulumi.Input<string | undefined>; /** * Mapping entries for RADIUS-assigned VLAN values on this AP port. For `type`==`airespace-interface-name`, the property key is the Airespace interface name returned by RADIUS (e.g. "guest"), and the value is the corresponding VLAN ID (e.g. 100). For `type`==`standard`, the property key is the VLAN ID number returned by RADIUS, and the value is ignored. */ vlans?: pulumi.Input<{ [key: string]: pulumi.Input<string>; } | undefined>; } interface ApPortConfigMistNac { /** * How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from Server). Very frequent messages can affect the performance of the RADIUS server, 600 and up is recommended when enabled. */ acctInterimInterval?: pulumi.Input<number | undefined>; /** * RADIUS auth session retries. Following fast timers are set if `fastDot1xTimers` knob is enabled. "retries" are set to value of `authServersTimeout`. "max-requests" is also set when setting `authServersRetries` is set to default value to 3. */ authServersRetries?: pulumi.Input<number | undefined>; /** * RADIUS auth session timeout. Following fast timers are set if `fastDot1xTimers` knob is enabled. "quite-period" and "transmit-period" are set to half the value of `authServersTimeout`. "supplicant-timeout" is also set when setting `authServersTimeout` is set to default value of 10. */ authServersTimeout?: pulumi.Input<number | undefined>; /** * Allows a RADIUS server to dynamically modify the authorization status of a user session. */ coaEnabled?: pulumi.Input<boolean | undefined>; /** * the communication port used for “Change of Authorization” (CoA) messages */ coaPort?: pulumi.Input<number | undefined>; /** * When enabled: * * `authServers` is ignored * * `acctServers` is ignored * * `auth_servers_*` are ignored * * `coaServers` is ignored * * `radsec` is ignored * * `coaEnabled` is assumed */ enabled?: pulumi.Input<boolean | undefined>; /** * If set to true, sets default fast-timers with values calculated from `authServersTimeout` and `authServerRetries`. */ fastDot1xTimers?: pulumi.Input<boolean | undefined>; /** * Which network the mist nac server resides in */ network?: pulumi.Input<string | undefined>; /** * In case there is a static IP for this network, we can specify it using source ip */ sourceIp?: pulumi.Input<string | undefined>; } interface ApPortConfigRadiusConfig { /** * How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the RADIUS server, 600 and up is recommended when enabled */ acctInterimInterval?: pulumi.Input<number | undefined>; /** * RADIUS accounting servers used by this Junos configuration */ acctServers?: pulumi.Input<pulumi.Input<inputs.device.ApPortConfigRadiusConfigAcctServer>[] | undefined>; /** * RADIUS authentication servers used by this Junos configuration */ authServers?: pulumi.Input<pulumi.Input<inputs.device.ApPortConfigRadiusConfigAuthServer>[] | undefined>; /** * Number of RADIUS authentication request retries before failover */ authServersRetries?: pulumi.Input<number | undefined>; /** * RADIUS authentication server timeout, in seconds */ authServersTimeout?: pulumi.Input<number | undefined>; /** * Whether RADIUS Change of Authorization (CoA) is enabled */ coaEnabled?: pulumi.Input<boolean | undefined>; /** * UDP port used for RADIUS Change of Authorization (CoA) */ coaPort?: pulumi.Input<number | undefined>; /** * Use `network` or `sourceIp`. Network where the RADIUS server resides; if the network has a static IP, Mist uses it as the source IP */ network?: pulumi.Input<string | undefined>; /** * Use `network` or `sourceIp`. Explicit source IP address for RADIUS traffic */ sourceIp?: pulumi.Input<string | undefined>; } interface ApPortConfigRadiusConfigAcctServer { /** * Address or hostname of the RADIUS accounting server */ host: pulumi.Input<string>; /** * Whether RADIUS keywrap is enabled for messages sent to this accounting server */ keywrapEnabled?: pulumi.Input<boolean | undefined>; /** * Encoding format for RADIUS keywrap KEK and MACK values */ keywrapFormat?: pulumi.Input<string | undefined>; /** * RADIUS keywrap key encryption key (KEK) */ keywrapKek?: pulumi.Input<string | undefined>; /** * RADIUS keywrap message authentication code key (MACK) */ keywrapMack?: pulumi.Input<string | undefined>; /** * UDP port used by the RADIUS accounting server */ port?: pulumi.Input<string | undefined>; /** * Shared secret used with this RADIUS accounting server */ secret: pulumi.Input<string>; } interface ApPortConfigRadiusConfigAuthServer { /** * Address or hostname of the RADIUS authentication server */ host: pulumi.Input<string>; /** * Whether RADIUS keywrap is enabled for messages sent to this authentication server */ keywrapEnabled?: pulumi.Input<boolean | undefined>; /** * Encoding format for RADIUS keywrap KEK and MACK values */ keywrapFormat?: pulumi.Input<string | undefined>; /** * RADIUS keywrap key encryption key (KEK) */ keywrapKek?: pulumi.Input<string | undefined>; /** * RADIUS keywrap message authentication code key (MACK) */ keywrapMack?: pulumi.Input<string | undefined>; /** * UDP port used by the RADIUS authentication server */ port?: pulumi.Input<string | undefined>; /** * Whether to require Message-Authenticator in requests */ requireMessageAuthenticator?: pulumi.Input<boolean | undefined>; /** * Shared secret used with this RADIUS authentication server */ secret: pulumi.Input<string>; } interface ApPortConfigRadsec { /** * Whether RADIUS Change of Authorization (CoA) is enabled for RadSec traffic */ coaEnabled?: pulumi.Input<boolean | undefined>; /** * Whether RadSec is enabled */ enabled?: pulumi.Input<boolean | undefined>; /** * Idle timeout, in seconds, for RadSec connections */ idleTimeout?: pulumi.Input<string | undefined>; /** * Mist Edge cluster IDs used as RadSec proxies when the WLAN does not use mxtunnel */ mxclusterIds?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * RadSec proxy hostnames advertised to APs */ proxyHosts?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * TLS server name to verify against the CA certificates in Org Setting. Only if not Mist Edge. */ serverName?: pulumi.Input<string | undefined>; /** * External RadSec servers. Only if not Mist Edge. */ servers?: pulumi.Input<pulumi.Input<inputs.device.ApPortConfigRadsecServer>[] | undefined>; /** * Whether to use organization Mist Edge instances as RadSec proxies */ useMxedge?: pulumi.Input<boolean | undefined>; /** * Whether to use site Mist Edge instances when this WLAN does not use mxtunnel */ useSiteMxedge?: pulumi.Input<boolean | undefined>; } interface ApPortConfigRadsecServer { /** * Address or hostname of the RadSec server */ host?: pulumi.Input<string | undefined>; /** * TCP port used by the RadSec server */ port?: pulumi.Input<number | undefined>; } interface ApPwrConfig { /** * Additional power to request during negotiating with PSE over PoE, in mW */ base?: pulumi.Input<number | undefined>; /** * Whether to enable power out to peripheral, meanwhile will reduce power to Wi-Fi (only for AP45 at power mode) */ preferUsbOverWifi?: pulumi.Input<boolean | undefined>; } interface ApRadioConfig { /** * Whether RRM can be disabled for individual radio-band settings */ allowRrmDisable?: pulumi.Input<boolean | undefined>; /** * Antenna gain for 2.4G - for models with external antenna only */ antGain24?: pulumi.Input<number | undefined>; /** * Antenna gain for 5G - for models with external antenna only */ antGain5?: pulumi.Input<number | undefined>; /** * Antenna gain for 6G - for models with external antenna only */ antGain6?: pulumi.Input<number | undefined>; /** * Selected radio chain mode for AP models that support antenna mode control */ antennaMode?: pulumi.Input<string | undefined>; /** * Internal or external antenna selection for AP models with selectable antennas */ antennaSelect?: pulumi.Input<string | undefined>; /** * 2.4 GHz radio settings for this access point */ band24?: pulumi.Input<inputs.device.ApRadioConfigBand24 | undefined>; /** * Radio usage mode for the 2.4 GHz-capable radio */ band24Usage?: pulumi.Input<string | undefined>; /** * 5 GHz radio settings for this access point */ band5?: pulumi.Input<inputs.device.ApRadioConfigBand5 | undefined>; /** * 5 GHz settings used when the 2.4 GHz radio operates in 5 GHz mode */ band5On24Radio?: pulumi.Input<inputs.device.ApRadioConfigBand5On24Radio | undefined>; /** * 6 GHz radio settings for this access point */ band6?: pulumi.Input<inputs.device.ApRadioConfigBand6 | undefined>; /** * Let RRM control everything, only the `channels` and `antGain` will be honored (i.e. disabled/bandwidth/power/band_24_usage are all controlled by RRM) */ fullAutomaticRrm?: pulumi.Input<boolean | undefined>; /** * To make an outdoor operate indoor. For an outdoor-ap, some channels are disallowed by default, this allows the user to use it as an indoor-ap */ indoorUse?: pulumi.Input<boolean | undefined>; /** * Enable RRM to manage all radio settings (ignores all bandXxx configs) */ rrmManaged?: pulumi.Input<boolean | undefined>; /** * Whether scanning radio is enabled */ scanningEnabled?: pulumi.Input<boolean | undefined>; } interface ApRadioConfigBand24 { /** * Whether RRM may disable the 2.4 GHz radio when optimizing RF settings */ allowRrmDisable?: pulumi.Input<boolean | undefined>; /** * External antenna gain for the 2.4 GHz radio */ antGain?: pulumi.Input<number | undefined>; /** * Radio chain mode for the 2.4 GHz radio */ antennaMode?: pulumi.Input<string | undefined>; /** * Channel width configured for the 2.4 GHz radio */ bandwidth?: pulumi.Input<number | undefined>; /** * For Device. (primary) channel for the band, 0 means using the Site Setting */ channel?: pulumi.Input<number | undefined>; /** * Allowed channel list for the 2.4 GHz radio; null or an empty array uses automatic selection */ channels?: pulumi.Input<pulumi.Input<number>[] | undefined>; /** * Whether to disable the radio */ disabled?: pulumi.Input<boolean | undefined>; /** * Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or `null` or unset for auto power mode */ power?: pulumi.Input<number | undefined>; /** * When power=null/unset, max tx power to use, HW-specific values will be used if not set */ powerMax?: pulumi.Input<number | undefined>; /** * When power=null/unset, min tx power to use, HW-specific values will be used if not set */ powerMin?: pulumi.Input<number | undefined>; /** * 802.11 preamble mode used by the 2.4 GHz radio */ preamble?: pulumi.Input<string | undefined>; } interface ApRadioConfigBand5 { /** * Whether RRM may disable the 5 GHz radio when optimizing RF settings */ allowRrmDisable?: pulumi.Input<boolean | undefined>; /** * External antenna gain for the 5 GHz radio */ antGain?: pulumi.Input<number | undefined>; /** * Beam pattern used by the 5 GHz radio antenna */ antennaBeamPattern?: pulumi.Input<string | undefined>; /** * Radio chain mode for the 5 GHz radio */ antennaMode?: pulumi.Input<string | undefined>; /** * Channel width configured for the 5 GHz radio */ bandwidth?: pulumi.Input<number | undefined>; /** * For Device. (primary) channel for the band, 0 means using the Site Setting */ channel?: pulumi.Input<number | undefined>; /** * Allowed channel list for the 5 GHz radio; null or an empty array uses automatic selection */ channels?: pulumi.Input<pulumi.Input<number>[] | undefined>; /** * Whether to disable the radio */ disabled?: pulumi.Input<boolean | undefined>; /** * Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or `null` or unset for auto power mode */ power?: pulumi.Input<number | undefined>; /** * When power=null/unset, max tx power to use, HW-specific values will be used if not set */ powerMax?: pulumi.Input<number | undefined>; /** * When power=null/unset, min tx power to use, HW-specific values will be used if not set */ powerMin?: pulumi.Input<number | undefined>; /** * 802.11 preamble mode used by the 5 GHz radio */ preamble?: pulumi.Input<string | undefined>; } interface ApRadioConfigBand5On24Radio { /** * Whether RRM may disable the 5 GHz radio when optimizing RF settings */ allowRrmDisable?: pulumi.Input<boolean | undefined>; /** * External antenna gain for the 5 GHz radio */ antGain?: pulumi.Input<number | undefined>; /** * Beam pattern used by the 5 GHz radio antenna */ antennaBeamPattern?: pulumi.Input<string | undefined>; /** * Radio chain mode for the 5 GHz radio */ antennaMode?: pulumi.Input<string | undefined>; /** * Channel width configured for the 5 GHz radio */ bandwidth?: pulumi.Input<number | undefined>; /** * For Device. (primary) channel for the band, 0 means using the Site Setting */ channel?: pulumi.Input<number | undefined>; /** * Allowed channel list for the 5 GHz radio; null or an empty array uses automatic selection */ channels?: pulumi.Input<pulumi.Input<number>[] | undefined>; /** * Whether to disable the radio */ disabled?: pulumi.Input<boolean | undefined>; /** * Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or `null` or unset for auto power mode */ power?: pulumi.Input<number | undefined>; /** * When power=null/unset, max tx power to use, HW-specific values will be used if not set */ powerMax?: pulumi.Input<number | undefined>; /** * When power=null/unset, min tx power to use, HW-specific values will be used if not set */ powerMin?: pulumi.Input<number | undefined>; /** * 802.11 preamble mode used by the 5 GHz radio */ preamble?: pulumi.Input<string | undefined>; } interface ApRadioConfigBand6 { /** * Whether RRM may disable the 6 GHz radio when optimizing RF settings */ allowRrmDisable?: pulumi.Input<boolean | undefined>; /** * External antenna gain for the 6 GHz radio */ antGain?: pulumi.Input<number | undefined>; /** * Beam pattern used by the 6 GHz radio antenna */ antennaBeamPattern?: pulumi.Input<string | undefined>; /** * Radio chain mode for the 6 GHz radio */ antennaMode?: pulumi.Input<string | undefined>; /** * Channel width configured for the 6 GHz radio */ bandwidth?: pulumi.Input<number | undefined>; /** * For Device. (primary) channel for the band, 0 means using the Site Setting */ channel?: pulumi.Input<number | undefined>; /** * Allowed channel list for the 6 GHz radio; null or an empty array uses automatic selection */ channels?: pulumi.Input<pulumi.Input<number>[] | undefined>; /** * Whether to disable the radio */ disabled?: pulumi.Input<boolean | undefined>; /** * Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or `null` or unset for auto power mode */ power?: pulumi.Input<number | undefined>; /** * When power=null/unset, max tx power to use, HW-specific values will be used if not set */ powerMax?: pulumi.Input<number | undefined>; /** * When power=null/unset, min tx power to use, HW-specific values will be used if not set */ powerMin?: pulumi.Input<number | undefined>; /** * 802.11 preamble mode used by the 6 GHz radio */ preamble?: pulumi.Input<string | undefined>; /** * For 6GHz Only, standard-power operation, AFC (Automatic Frequency Coordination) will be performed, and we'll fall back to Low Power Indoor if AFC failed */ standardPower?: pulumi.Input<boolean | undefined>; } interface ApUplinkPortConfig { /** * Whether to do 802.1x against uplink switch. When enabled, AP cert will be used to do EAP-TLS and the Org's CA Cert has to be provisioned at the switch */ dot1x?: pulumi.Input<boolean | undefined>; /** * By default, WLANs are disabled when uplink is down. In some scenario, like SiteSurvey, one would want the AP to keep sending beacons. */ keepWlansUpIfDown?: pulumi.Input<boolean | undefined>; } interface ApUsbConfig { /** * Only if `type`==`imagotag`. CA certificate used to validate the Imagotag service certificate */ cacert?: pulumi.Input<string | undefined>; /** * Only if `type`==`imagotag`, channel selection, not needed by default, required for manual channel override only */ channel?: pulumi.Input<number | undefined>; /** * Whether to enable any usb config */ enabled?: pulumi.Input<boolean | undefined>; /** * Only if `type`==`imagotag`. Imagotag service host or IP address contacted by the AP */ host?: pulumi.Input<string | undefined>; /** * Only if `type`==`imagotag`. TCP port used to reach the Imagotag service */ port?: pulumi.Input<number | undefined>; /** * USB integration type for this legacy AP USB configuration */ type?: pulumi.Input<string | undefined>; /** * Only if `type`==`imagotag`, whether to turn on SSL verification */ verifyCert?: pulumi.Input<boolean | undefined>; /** * Only if `type`==`solum` or `type`==`hanshow` */ vlanId?: pulumi.Input<number | undefined>; } interface ApZigbeeConfig { /** * Join policy for new Zigbee devices on this AP */ allowJoin?: pulumi.Input<string | undefined>; /** * Zigbee channel (2.4 GHz). `0` means auto; valid fixed values are 11–26 */ channel?: pulumi.Input<number | undefined>; /** * Whether to enable Zigbee on this AP */ enabled?: pulumi.Input<boolean | undefined>; /** * Extended PAN ID in hex string format; only applicable when `panId` is also specified */ extendedPanId?: pulumi.Input<string | undefined>; /** * PAN ID in hex string format; if not specified, assigned automatically */ panId?: pulumi.Input<string | undefined>; } interface BaseLatlng { /** * Geographic latitude in decimal degrees */ lat: pulumi.Input<number>; /** * Geographic longitude in decimal degrees */ lng: pulumi.Input<number>; } interface GatewayBgpConfig { /** * Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan` */ authKey?: pulumi.Input<string | undefined>; /** * Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`, when bfdMultiplier is configured alone. Default: * * 1000 if `type`==`external` * * 350 `type`==`internal` */ bfdMinimumInterval?: pulumi.Input<number | undefined>; /** * Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`, when bfdMinimumIntervalIsConfigured alone */ bfdMultiplier?: pulumi.Input<number | undefined>; /** * Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. BFD provides faster path failure detection and is enabled by default */ disableBfd?: pulumi.Input<boolean | undefined>; /** * Routing policy applied to routes exported by this BGP session */ export?: pulumi.Input<string | undefined>; /** * Default export policies if no per-neighbor policies defined */ exportPolicy?: pulumi.Input<string | undefined>; /** * Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. By default, either inet/net6 unicast depending on neighbor IP family (v4 or v6). For v6 neighbors, to exchange v4 nexthop, which allows dual-stack support, enable this */ extendedV4Nexthop?: pulumi.Input<boolean | undefined>; /** * Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. `0` means disable */ gracefulRestartTime?: pulumi.Input<number | undefined>; /** * Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. Default is 90. */ holdTime?: pulumi.Input<number | undefined>; /** * Routing policy applied to routes imported by this BGP session */ import?: pulumi.Input<string | undefined>; /** * Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. Default import policies if no per-neighbor policies defined */ importPolicy?: pulumi.Input<string | undefined>; /** * Required if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. BGPLocal AS. Value must be in range 1-4294967295 or a variable (e.g. `{{as_variable}}`) */ localAs?: pulumi.Input<string | undefined>; /** * Neighbor AS. If `type`==`internal`, must be equal to `localAs`. Value must be in range 1-4294967295 or a variable (e.g. `{{as_variable}}`) */ neighborAs?: pulumi.Input<string | undefined>; /** * Required if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. If per-neighbor as is desired. Property key is the neighbor address */ neighbors?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.device.GatewayBgpConfigNeighbors>; } | undefined>; /** * Optional if `via`==`lan`; networks where BGP neighbors can connect to or from */ networks?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. If true, we will not advertise private ASNs (AS 64512-65534) to this neighbor */ noPrivateAs?: pulumi.Input<boolean | undefined>; /** * Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. By default, we'll re-advertise all learned BGP routers toward overlay */ noReadvertiseToOverlay?: pulumi.Input<boolean | undefined>; /** * Optional if `via`==`tunnel`; tunnel name used for this BGP session */ tunnelName?: pulumi.Input<string | undefined>; /** * Required if `via`==`lan`, `via`==`tunnel` or `via`==`wan`; BGP session type, internal or external */ type?: pulumi.Input<string | undefined>; /** * Transport used for this BGP session, such as LAN, tunnel, VPN, or WAN */ via: pulumi.Input<string>; /** * Optional if `via`==`vpn`; VPN name used for this BGP session */ vpnName?: pulumi.Input<string | undefined>; /** * Optional if `via`==`wan`; WAN interface name used for this BGP session */ wanName?: pulumi.Input<string | undefined>; } interface GatewayBgpConfigNeighbors { /** * If true, the BGP session to this neighbor will be administratively disabled/shutdown */ disabled?: pulumi.Input<boolean | undefined>; /** * Export policy applied only to this BGP neighbor */ exportPolicy?: pulumi.Input<string | undefined>; /** * BGP hold time for this neighbor, in seconds */ holdTime?: pulumi.Input<number | undefined>; /** * Import policy applied only to this BGP neighbor */ importPolicy?: pulumi.Input<string | undefined>; /** * Assuming BGP neighbor is directly connected */ multihopTtl?: pulumi.Input<number | undefined>; /** * Neighbor AS. Value must be in range 1-4294967295 or a variable (e.g. `{{as_variable}}`) */ neighborAs: pulumi.Input<string>; /** * If `via`==`tunnel`, primary or secondary tunnel associated with this BGP neighbor */ tunnelVia?: pulumi.Input<string | undefined>; } interface GatewayClusterNode { /** * Gateway device MAC address. Format is `[0-9a-f]{12}` (e.g. "5684dae9ac8b") */ mac: pulumi.Input<string>; } interface GatewayDhcpdConfig { /** * Property key is the network name */ config?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.device.GatewayDhcpdConfigConfig>; } | undefined>; /** * If set to `false`, disable the DHCP server */ enabled?: pulumi.Input<boolean | undefined>; } interface GatewayDhcpdConfigConfig { /** * If `type`==`local` or `type6`==`local`, DNS servers advertised to DHCP clients */ dnsServers?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * If `type`==`local` or `type6`==`local`, DNS search suffixes advertised to DHCP clients * * @deprecated Configuring `dnsSuffix` is deprecated and will not be supported in the future, please configure Code 15 or Code 119 in Server `options` instead */ dnsSuffixes?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * If `type`==`local` or `type6`==`local`, fixed client bindings for local DHCP service */ fixedBindings?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.device.GatewayDhcpdConfigConfigFixedBindings>; } | undefined>; /** * If `type`==`local` - optional, `ip` will be used if not provided */ gateway?: pulumi.Input<string | undefined>; /** * If `type6`==`local`, ending IPv6 address for the DHCP lease pool */ ip6End?: pulumi.Input<string | undefined>; /** * If `type6`==`local`, starting IPv6 address for the DHCP lease pool */ ip6Start?: pulumi.Input<string | undefined>; /** * If `type`==`local`, ending IPv4 address for the DHCP lease pool */ ipEnd?: pulumi.Input<string | undefined>; /** * If `type`==`local`, starting IPv4 address for the DHCP lease pool */ ipStart?: pulumi.Input<string | undefined>; /** * In seconds, lease time has to be between 3600 [1hr] - 604800 [1 week], default is 86400 [1 day] */ leaseTime?: pulumi.Input<number | undefined>; /** * If `type`==`local` or `type6`==`local`, custom DHCP options advertised to clients */ options?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.device.GatewayDhcpdConfigConfigOptions>; } | undefined>; /** * `serverIdOverride`==`true` means the device, when acts as DHCP relay and forwards DHCP responses from DHCP server to clients, * should overwrite the Sever Identifier option (i.e. DHCP option 54) in DHCP responses with its own IP address. */ serverIdOverride?: pulumi.Input<boolean | undefined>; /** * If `type`==`relay`, upstream IPv4 DHCP servers */ servers?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * If `type6`==`relay`, upstream IPv6 DHCP servers */ serversv6s?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * IPv4 DHCP mode for this network */ type?: pulumi.Input<string | undefined>; /** * IPv6 DHCP mode for this network */ type6?: pulumi.Input<string | undefined>; /** * If `type`==`local` or `type6`==`local`, vendor-encapsulated DHCP options advertised to clients */ vendorEncapsulated?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.device.GatewayDhcpdConfigConfigVendorEncapsulated>; } | undefined>; } interface GatewayDhcpdConfigConfigFixedBindings { /** * Reserved IPv4 address for this fixed DHCP binding */ ip?: pulumi.Input<string | undefined>; /** * Reserved IPv6 address for this fixed DHCP binding */ ip6?: pulumi.Input<string | undefined>; /** * Friendly name for this fixed DHCP binding */ name?: pulumi.Input<string | undefined>; } interface GatewayDhcpdConfigConfigOptions { /** * Data type used to encode this DHCP option value */ type?: pulumi.Input<string | undefined>; /** * Option value to send for this DHCP option */ value?: pulumi.Input<string | undefined>; } interface GatewayDhcpdConfigConfigVendorEncapsulated { /** * Data type used to encode this vendor option value */ type?: pulumi.Input<string | undefined>; /** * Option value to send for this vendor option */ value?: pulumi.Input<string | undefined>; } interface GatewayExtraRoutes { /** * Next-hop IPv4 address for the gateway extra route */ via: pulumi.Input<string>; } interface GatewayExtraRoutes6 { /** * Next-hop IPv6 address for the gateway extra route */ via: pulumi.Input<string>; } interface GatewayGatewayMgmt { /** * SSR-only SSH public keys for administrative access */ adminSshkeys?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * Application probing configuration for gateway monitoring */ appProbing?: pulumi.Input<inputs.device.GatewayGatewayMgmtAppProbing | undefined>; /** * Consumes uplink bandwidth, requires WA license */ appUsage?: pulumi.Input<boolean | undefined>; /** * Schedule for automatic security signature updates */ autoSignatureUpdate?: pulumi.Input<inputs.device.GatewayGatewayMgmtAutoSignatureUpdate | undefined>; /** * Rollback timer for commit confirmed */ configRevertTimer?: pulumi.Input<number | undefined>; /** * For SSR and SRX, disable cons