@pulumi/juniper-mist
Version:
A Pulumi package for creating and managing Juniper Mist resources.
1,277 lines • 875 kB
TypeScript
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