UNPKG

@pulumi/juniper-mist

Version:

A Pulumi package for creating and managing Juniper Mist resources.

1,576 lines 948 kB
import * as outputs from "../types/output"; export interface GetConstAlarmsConstAlarm { /** * Description of the alarm type */ display: string; /** * Group to which the alarm belongs */ group: string; /** * Key name of the alarm type */ key: string; /** * Severity of the alarm */ severity: string; } export interface GetConstAppCategoriesConstAppCategory { /** * Description of the app category */ display: string; filters: outputs.GetConstAppCategoriesConstAppCategoryFilters; /** * List of other App Categories contained by this one */ includes: string[]; /** * Key name of the app category */ key: string; } export interface GetConstAppCategoriesConstAppCategoryFilters { srxes: string[]; ssrs: string[]; } export interface GetConstAppSubCategoriesConstAppSubCategory { /** * Description of the app subcategory */ display: string; /** * Key name of the app subcategory */ key: string; /** * Type of traffic (QoS) of the app subcategory */ trafficType: string; } export interface GetConstApplicationsConstApplication { appId: boolean; appImageUrl: string; appProbe: boolean; category: string; group: string; key: string; name: string; signatureBased: boolean; ssrAppId: boolean; } export interface GetConstCountriesConstCountry { /** * Country code, in two-character */ alpha2: string; certified: boolean; name: string; /** * Country code, ISO 3166-1 numeric */ numeric: number; } export interface GetConstTrafficTypesConstTrafficType { display: string; dscp: number; failoverPolicy: string; maxJitter: number; maxLatency: number; maxLoss: number; name: string; trafficClass: string; } export interface GetConstWebhooksConstWebhook { /** * supports single event per message results */ allowsSingleEventPerMessage: boolean; /** * Can be used in org webhooks, optional */ forOrg: boolean; /** * Supports webhook delivery results /api/v1/:scope/:scope*id/webhooks/:webhook*id/events/search */ hasDeliveryResults: boolean; /** * Internal topic (not selectable in site/org webhooks) */ internal: boolean; /** * Webhook topic name */ key: string; } export interface GetSitesSite { /** * full address of the site */ address: string; /** * Alarm Template ID, this takes precedence over the Org-level alarmtemplate_id */ alarmtemplateId: string; /** * AP Template ID, used by APs */ aptemplateId: string; /** * country code for the site (for AP config generation), in two-character */ countryCode: string; createdTime: number; /** * Gateway Template ID, used by gateways */ gatewaytemplateId: string; id: string; latlng: outputs.GetSitesSiteLatlng; modifiedTime: number; name: string; /** * Network Template ID, this takes precedence over Site Settings */ networktemplateId: string; /** * optional, any notes about the site */ notes: string; orgId: string; /** * RF Template ID, this takes precedence over Site Settings */ rftemplateId: string; /** * SecPolicy ID */ secpolicyId: string; /** * sitegroups this site belongs to */ sitegroupIds: string[]; /** * Site Template ID */ sitetemplateId: string; /** * Timezone the site is at */ timezone: string; } export interface GetSitesSiteLatlng { lat: number; lng: number; } export interface UpgradeDeviceAutoUpgradeStat { /** * Time when the device last checked for auto-upgrade, in epoch seconds */ lastcheck: number; } export interface UpgradeDeviceFwupdate { /** * Firmware update progress percentage, or null when unavailable */ progress: number; /** * Current firmware update status */ status: string; /** * Numeric firmware update status identifier */ statusId: number; /** * Time when the firmware update status was last updated */ timestamp: number; /** * Whether the firmware update process will retry after the current status */ willRetry: boolean; } export declare namespace device { interface ApAeroscout { /** * Whether to enable aeroscout config */ enabled: boolean; /** * Required if enabled, aeroscout server host */ host: string; /** * Whether to enable the feature to allow wireless clients data received and sent to AES server for location calculation */ locateConnected: boolean; /** * Optional if enabled, Aeroscout server port. Defaults to 1144 */ port: number; } interface ApAirista { /** * Whether to enable Airista config */ enabled?: boolean; /** * Required if enabled, Airista server host */ host?: string; /** * Optional if enabled, Airista server port. Defaults to 1144 */ port?: number; } interface ApBleConfig { /** * Whether Mist beacons is enabled */ beaconEnabled: boolean; /** * Required if `beaconRateMode`==`custom`, 1-10, in number-beacons-per-second */ beaconRate?: number; /** * Beacon rate mode for Mist BLE beacons; use custom to set beacon_rate */ beaconRateMode?: string; /** * AP BLE beam numbers disabled for location advertisements */ beamDisableds?: number[]; /** * Can be enabled if `beaconEnabled`==`true`, whether to send custom packet */ customBlePacketEnabled?: boolean; /** * The custom frame to be sent out in this beacon. The frame must be a hexstring */ customBlePacketFrame?: string; /** * Frequency (msec) of data emitted by custom ble beacon */ customBlePacketFreqMsec?: number; /** * Advertised TX Power, -100 to 20 (dBm), omit this attribute to use default */ eddystoneUidAdvPower?: number; /** * BLE beams used to transmit Eddystone-UID advertisements, expressed as ranges such as `2-4,7` */ eddystoneUidBeams?: string; /** * Only if `beaconEnabled`==`false`, Whether Eddystone-UID beacon is enabled */ eddystoneUidEnabled?: boolean; /** * Frequency (msec) of data emit by Eddystone-UID beacon */ eddystoneUidFreqMsec?: number; /** * Eddystone-UID instance for the device */ eddystoneUidInstance?: string; /** * Eddystone-UID namespace broadcast by the AP, as a 10-byte hex string */ eddystoneUidNamespace?: string; /** * Advertised TX Power, -100 to 20 (dBm), omit this attribute to use default */ eddystoneUrlAdvPower?: number; /** * BLE beams used to transmit Eddystone-URL advertisements, expressed as ranges such as `2-4,7` */ eddystoneUrlBeams?: string; /** * Only if `beaconEnabled`==`false`, Whether Eddystone-URL beacon is enabled */ eddystoneUrlEnabled?: boolean; /** * Frequency (msec) of data emitted by Eddystone-URL beacon */ eddystoneUrlFreqMsec?: number; /** * URL pointed by Eddystone-URL beacon */ eddystoneUrlUrl?: string; /** * Advertised TX Power, -100 to 20 (dBm), omit this attribute to use default */ ibeaconAdvPower?: number; /** * BLE beams used to transmit iBeacon advertisements, expressed as ranges such as `2-4,7` */ ibeaconBeams?: string; /** * Can be enabled if `beaconEnabled`==`true`, whether to send iBeacon */ ibeaconEnabled?: boolean; /** * Frequency (msec) of data emit for iBeacon */ ibeaconFreqMsec?: number; /** * iBeacon major value broadcast by the AP */ ibeaconMajor?: number; /** * iBeacon minor value broadcast by the AP */ ibeaconMinor?: number; /** * Optional, if not specified, the same UUID as the beacon will be used */ ibeaconUuid?: string; /** * Required if `powerMode`==`custom`; else use `powerMode` as default */ power?: number; /** * Transmit power mode for BLE beacons; use custom to set `power` */ powerMode?: string; } interface ApCentrak { /** * Whether to enable Centrak config */ enabled: boolean; } interface ApClientBridge { /** * Credentials and security mode used when the AP connects as a wireless client bridge */ auth?: outputs.device.ApClientBridgeAuth; /** * When acted as client bridge: * * only 5G radio can be used * * will not serve as AP on any radios */ enabled: boolean; /** * Uplink SSID used by the AP when client bridge mode is enabled */ ssid?: string; } interface ApClientBridgeAuth { /** * Pre-shared key used when `type`==`psk` for client bridge authentication */ psk?: string; /** * Authentication mode for the client bridge connection */ type: string; } interface ApEslConfig { /** * Only if `type`==`imagotag` or `type`==`native` */ cacert?: string; /** * Only if `type`==`imagotag` or `type`==`native` */ channel?: number; /** * usb_config is ignored if eslConfig enabled */ enabled: boolean; /** * Only if `type`==`imagotag` or `type`==`native` */ host: string; /** * Only if `type`==`imagotag` or `type`==`native` */ port?: number; /** * ESL integration type to enable on the AP */ type: string; /** * Only if `type`==`imagotag` or `type`==`native` */ verifyCert?: boolean; /** * Only if `type`==`solum` or `type`==`hanshow` */ vlanId: number; } interface ApIpConfig { /** * If `type`==`static`. DNS server IP addresses for AP management traffic */ dns?: string[]; /** * If `type`==`static`. DNS search suffixes applied to AP management lookups */ dnsSuffixes?: string[]; /** * Required if `type`==`static`. IPv4 default gateway for AP management traffic */ gateway?: string; /** * Required if `type6`==`static`. IPv6 default gateway for AP management traffic when static IPv6 addressing is used */ gateway6?: string; /** * Required if `type`==`static`. Static IPv4 address for the AP management interface */ ip?: string; /** * Required if `type6`==`static`. Static IPv6 address for the AP management interface */ ip6?: string; /** * Maximum transmission unit for AP management traffic */ mtu: number; /** * Required if `type`==`static`. IPv4 netmask for the AP management interface */ netmask?: string; /** * Required if `type6`==`static`. IPv6 prefix length for the AP management interface */ netmask6?: string; /** * IPv4 address assignment mode for AP management traffic */ type: string; /** * IPv6 address assignment mode for AP management traffic */ type6?: string; /** * Management VLAN ID, default is 1 (untagged) */ vlanId?: number; } interface ApLacpConfig { /** * Whether to enable LACP on supported AP Ethernet uplinks */ enabled: boolean; } interface ApLed { /** * Indicator LED brightness level from 0 to 255 */ brightness: number; /** * Whether the AP indicator LED is enabled */ enabled: boolean; } interface ApMesh { /** * Radio bands allowed for AP mesh links */ bands?: string[]; /** * Whether mesh is enabled on this AP */ enabled: boolean; /** * Mesh group, base AP(s) will only allow remote AP(s) in the same mesh group to join, 1-9, optional */ group?: number; /** * Mesh role for this AP, either base or remote */ role?: string; /** * Whether to use WPA3 on the 5 GHz band for mesh links */ useWpa3On5?: boolean; } interface ApMqttConfig { /** * MQTT broker hostname or IP address; required when `enabled` is `true` */ brokerHost?: string; /** * MQTT broker port; defaults to `1883` for `tcp` and `8883` for `ssl` */ brokerPort?: number; /** * MQTT broker transport protocol */ brokerProto?: string; /** * Whether to enable MQTT publishing */ enabled?: boolean; /** * Payload format for published messages */ format?: string; /** * Optional MQTT password; masked in GET responses */ password?: string; /** * Optional MQTT username */ username?: string; } interface ApPortConfig { /** * Whether this AP Ethernet port is disabled */ disabled: boolean; /** * RADIUS-assigned VLAN settings for AP port authentication */ dynamicVlan?: outputs.device.ApPortConfigDynamicVlan; /** * Whether MAC authentication is enabled on this AP port */ enableMacAuth: boolean; /** * Traffic forwarding mode for this AP Ethernet port */ forwarding: string; /** * When `true`, we'll do dot1x then mac_auth. enable this to prefer mac_auth */ macAuthPreferred: boolean; /** * Protocol used for MAC authentication when `enableMacAuth` is `true` */ macAuthProtocol: string; /** * Juniper Mist NAC settings used by AP port authentication */ mistNac?: outputs.device.ApPortConfigMistNac; /** * If `forwarding`==`mxtunnel`, vlanIds comes from mxtunnel */ mxTunnelId: string; /** * If `forwarding`==`siteMxedge`, vlanIds comes from siteMxedge (`mxtunnels` under site setting) */ mxtunnelName: string; /** * Authentication mode for this AP Ethernet port */ portAuth: string; /** * If `forwarding`==`limited`. VLAN ID allowed on this AP Ethernet port */ portVlanId?: number; /** * RADIUS authentication and accounting settings for this AP port */ radiusConfig?: outputs.device.ApPortConfigRadiusConfig; /** * TLS-secured RADIUS settings for this AP port */ radsec?: outputs.device.ApPortConfigRadsec; /** * 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?: number; /** * If `forwarding`==`limited`, comma separated list of additional VLAN IDs allowed on this port */ vlanIds?: string; /** * If `forwarding`==`wxtunnel`, the port is bridged to the vlan of the session */ wxtunnelId: string; /** * If `forwarding`==`wxtunnel`, the port is bridged to the vlan of the session */ wxtunnelRemoteId: string; } interface ApPortConfigDynamicVlan { /** * Fallback VLAN ID used when RADIUS does not return a dynamic VLAN match */ defaultVlanId?: number; /** * Whether dynamic VLAN assignment is enabled for this AP port */ enabled?: boolean; /** * Mapping mode for interpreting dynamic VLAN attributes returned by RADIUS */ type?: string; /** * 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?: { [key: string]: string; }; } 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?: number; /** * 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?: number; /** * 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?: number; /** * Allows a RADIUS server to dynamically modify the authorization status of a user session. */ coaEnabled?: boolean; /** * the communication port used for “Change of Authorization” (CoA) messages */ coaPort?: number; /** * When enabled: * * `authServers` is ignored * * `acctServers` is ignored * * `auth_servers_*` are ignored * * `coaServers` is ignored * * `radsec` is ignored * * `coaEnabled` is assumed */ enabled: boolean; /** * If set to true, sets default fast-timers with values calculated from `authServersTimeout` and `authServerRetries`. */ fastDot1xTimers?: boolean; /** * Which network the mist nac server resides in */ network?: string; /** * In case there is a static IP for this network, we can specify it using source ip */ sourceIp?: string; } 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: number; /** * RADIUS accounting servers used by this Junos configuration */ acctServers?: outputs.device.ApPortConfigRadiusConfigAcctServer[]; /** * RADIUS authentication servers used by this Junos configuration */ authServers?: outputs.device.ApPortConfigRadiusConfigAuthServer[]; /** * Number of RADIUS authentication request retries before failover */ authServersRetries: number; /** * RADIUS authentication server timeout, in seconds */ authServersTimeout: number; /** * Whether RADIUS Change of Authorization (CoA) is enabled */ coaEnabled: boolean; /** * UDP port used for RADIUS Change of Authorization (CoA) */ coaPort: number; /** * 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?: string; /** * Use `network` or `sourceIp`. Explicit source IP address for RADIUS traffic */ sourceIp?: string; } interface ApPortConfigRadiusConfigAcctServer { /** * Address or hostname of the RADIUS accounting server */ host: string; /** * Whether RADIUS keywrap is enabled for messages sent to this accounting server */ keywrapEnabled?: boolean; /** * Encoding format for RADIUS keywrap KEK and MACK values */ keywrapFormat?: string; /** * RADIUS keywrap key encryption key (KEK) */ keywrapKek?: string; /** * RADIUS keywrap message authentication code key (MACK) */ keywrapMack?: string; /** * UDP port used by the RADIUS accounting server */ port?: string; /** * Shared secret used with this RADIUS accounting server */ secret: string; } interface ApPortConfigRadiusConfigAuthServer { /** * Address or hostname of the RADIUS authentication server */ host: string; /** * Whether RADIUS keywrap is enabled for messages sent to this authentication server */ keywrapEnabled?: boolean; /** * Encoding format for RADIUS keywrap KEK and MACK values */ keywrapFormat?: string; /** * RADIUS keywrap key encryption key (KEK) */ keywrapKek?: string; /** * RADIUS keywrap message authentication code key (MACK) */ keywrapMack?: string; /** * UDP port used by the RADIUS authentication server */ port?: string; /** * Whether to require Message-Authenticator in requests */ requireMessageAuthenticator: boolean; /** * Shared secret used with this RADIUS authentication server */ secret: string; } interface ApPortConfigRadsec { /** * Whether RADIUS Change of Authorization (CoA) is enabled for RadSec traffic */ coaEnabled: boolean; /** * Whether RadSec is enabled */ enabled?: boolean; /** * Idle timeout, in seconds, for RadSec connections */ idleTimeout?: string; /** * Mist Edge cluster IDs used as RadSec proxies when the WLAN does not use mxtunnel */ mxclusterIds?: string[]; /** * RadSec proxy hostnames advertised to APs */ proxyHosts?: string[]; /** * TLS server name to verify against the CA certificates in Org Setting. Only if not Mist Edge. */ serverName?: string; /** * External RadSec servers. Only if not Mist Edge. */ servers?: outputs.device.ApPortConfigRadsecServer[]; /** * Whether to use organization Mist Edge instances as RadSec proxies */ useMxedge?: boolean; /** * Whether to use site Mist Edge instances when this WLAN does not use mxtunnel */ useSiteMxedge: boolean; } interface ApPortConfigRadsecServer { /** * Address or hostname of the RadSec server */ host?: string; /** * TCP port used by the RadSec server */ port?: number; } interface ApPwrConfig { /** * Additional power to request during negotiating with PSE over PoE, in mW */ base: number; /** * Whether to enable power out to peripheral, meanwhile will reduce power to Wi-Fi (only for AP45 at power mode) */ preferUsbOverWifi: boolean; } interface ApRadioConfig { /** * Whether RRM can be disabled for individual radio-band settings */ allowRrmDisable?: boolean; /** * Antenna gain for 2.4G - for models with external antenna only */ antGain24?: number; /** * Antenna gain for 5G - for models with external antenna only */ antGain5?: number; /** * Antenna gain for 6G - for models with external antenna only */ antGain6?: number; /** * Selected radio chain mode for AP models that support antenna mode control */ antennaMode?: string; /** * Internal or external antenna selection for AP models with selectable antennas */ antennaSelect?: string; /** * 2.4 GHz radio settings for this access point */ band24?: outputs.device.ApRadioConfigBand24; /** * Radio usage mode for the 2.4 GHz-capable radio */ band24Usage?: string; /** * 5 GHz radio settings for this access point */ band5?: outputs.device.ApRadioConfigBand5; /** * 5 GHz settings used when the 2.4 GHz radio operates in 5 GHz mode */ band5On24Radio?: outputs.device.ApRadioConfigBand5On24Radio; /** * 6 GHz radio settings for this access point */ band6?: outputs.device.ApRadioConfigBand6; /** * 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: boolean; /** * 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?: boolean; /** * Enable RRM to manage all radio settings (ignores all bandXxx configs) */ rrmManaged?: boolean; /** * Whether scanning radio is enabled */ scanningEnabled?: boolean; } interface ApRadioConfigBand24 { /** * Whether RRM may disable the 2.4 GHz radio when optimizing RF settings */ allowRrmDisable: boolean; /** * External antenna gain for the 2.4 GHz radio */ antGain: number; /** * Radio chain mode for the 2.4 GHz radio */ antennaMode: string; /** * Channel width configured for the 2.4 GHz radio */ bandwidth: number; /** * For Device. (primary) channel for the band, 0 means using the Site Setting */ channel: number; /** * Allowed channel list for the 2.4 GHz radio; null or an empty array uses automatic selection */ channels?: number[]; /** * Whether to disable the radio */ disabled: boolean; /** * Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or `null` or unset for auto power mode */ power?: number; /** * When power=null/unset, max tx power to use, HW-specific values will be used if not set */ powerMax?: number; /** * When power=null/unset, min tx power to use, HW-specific values will be used if not set */ powerMin?: number; /** * 802.11 preamble mode used by the 2.4 GHz radio */ preamble: string; } interface ApRadioConfigBand5 { /** * Whether RRM may disable the 5 GHz radio when optimizing RF settings */ allowRrmDisable: boolean; /** * External antenna gain for the 5 GHz radio */ antGain: number; /** * Beam pattern used by the 5 GHz radio antenna */ antennaBeamPattern?: string; /** * Radio chain mode for the 5 GHz radio */ antennaMode: string; /** * Channel width configured for the 5 GHz radio */ bandwidth: number; /** * For Device. (primary) channel for the band, 0 means using the Site Setting */ channel: number; /** * Allowed channel list for the 5 GHz radio; null or an empty array uses automatic selection */ channels?: number[]; /** * Whether to disable the radio */ disabled: boolean; /** * Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or `null` or unset for auto power mode */ power?: number; /** * When power=null/unset, max tx power to use, HW-specific values will be used if not set */ powerMax?: number; /** * When power=null/unset, min tx power to use, HW-specific values will be used if not set */ powerMin?: number; /** * 802.11 preamble mode used by the 5 GHz radio */ preamble: string; } interface ApRadioConfigBand5On24Radio { /** * Whether RRM may disable the 5 GHz radio when optimizing RF settings */ allowRrmDisable: boolean; /** * External antenna gain for the 5 GHz radio */ antGain: number; /** * Beam pattern used by the 5 GHz radio antenna */ antennaBeamPattern?: string; /** * Radio chain mode for the 5 GHz radio */ antennaMode: string; /** * Channel width configured for the 5 GHz radio */ bandwidth: number; /** * For Device. (primary) channel for the band, 0 means using the Site Setting */ channel: number; /** * Allowed channel list for the 5 GHz radio; null or an empty array uses automatic selection */ channels?: number[]; /** * Whether to disable the radio */ disabled: boolean; /** * Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or `null` or unset for auto power mode */ power?: number; /** * When power=null/unset, max tx power to use, HW-specific values will be used if not set */ powerMax?: number; /** * When power=null/unset, min tx power to use, HW-specific values will be used if not set */ powerMin?: number; /** * 802.11 preamble mode used by the 5 GHz radio */ preamble: string; } interface ApRadioConfigBand6 { /** * Whether RRM may disable the 6 GHz radio when optimizing RF settings */ allowRrmDisable: boolean; /** * External antenna gain for the 6 GHz radio */ antGain: number; /** * Beam pattern used by the 6 GHz radio antenna */ antennaBeamPattern?: string; /** * Radio chain mode for the 6 GHz radio */ antennaMode: string; /** * Channel width configured for the 6 GHz radio */ bandwidth: number; /** * For Device. (primary) channel for the band, 0 means using the Site Setting */ channel: number; /** * Allowed channel list for the 6 GHz radio; null or an empty array uses automatic selection */ channels?: number[]; /** * Whether to disable the radio */ disabled: boolean; /** * Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or `null` or unset for auto power mode */ power?: number; /** * When power=null/unset, max tx power to use, HW-specific values will be used if not set */ powerMax?: number; /** * When power=null/unset, min tx power to use, HW-specific values will be used if not set */ powerMin?: number; /** * 802.11 preamble mode used by the 6 GHz radio */ preamble: string; /** * 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: boolean; } 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: boolean; /** * By default, WLANs are disabled when uplink is down. In some scenario, like SiteSurvey, one would want the AP to keep sending beacons. */ keepWlansUpIfDown?: boolean; } interface ApUsbConfig { /** * Only if `type`==`imagotag`. CA certificate used to validate the Imagotag service certificate */ cacert: string; /** * Only if `type`==`imagotag`, channel selection, not needed by default, required for manual channel override only */ channel?: number; /** * Whether to enable any usb config */ enabled?: boolean; /** * Only if `type`==`imagotag`. Imagotag service host or IP address contacted by the AP */ host: string; /** * Only if `type`==`imagotag`. TCP port used to reach the Imagotag service */ port?: number; /** * USB integration type for this legacy AP USB configuration */ type?: string; /** * Only if `type`==`imagotag`, whether to turn on SSL verification */ verifyCert?: boolean; /** * Only if `type`==`solum` or `type`==`hanshow` */ vlanId?: number; } interface ApZigbeeConfig { /** * Join policy for new Zigbee devices on this AP */ allowJoin: string; /** * Zigbee channel (2.4 GHz). `0` means auto; valid fixed values are 11–26 */ channel: number; /** * Whether to enable Zigbee on this AP */ enabled: boolean; /** * Extended PAN ID in hex string format; only applicable when `panId` is also specified */ extendedPanId?: string; /** * PAN ID in hex string format; if not specified, assigned automatically */ panId?: string; } interface BaseLatlng { /** * Geographic latitude in decimal degrees */ lat: number; /** * Geographic longitude in decimal degrees */ lng: number; } interface GatewayBgpConfig { /** * Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan` */ authKey?: string; /** * Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`, when bfdMultiplier is configured alone. Default: * * 1000 if `type`==`external` * * 350 `type`==`internal` */ bfdMinimumInterval?: number; /** * Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`, when bfdMinimumIntervalIsConfigured alone */ bfdMultiplier?: number; /** * Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. BFD provides faster path failure detection and is enabled by default */ disableBfd?: boolean; /** * Routing policy applied to routes exported by this BGP session */ export?: string; /** * Default export policies if no per-neighbor policies defined */ exportPolicy?: string; /** * 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?: boolean; /** * Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. `0` means disable */ gracefulRestartTime?: number; /** * Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. Default is 90. */ holdTime?: number; /** * Routing policy applied to routes imported by this BGP session */ import?: string; /** * Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. Default import policies if no per-neighbor policies defined */ importPolicy?: string; /** * 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?: string; /** * 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?: string; /** * Required if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. If per-neighbor as is desired. Property key is the neighbor address */ neighbors?: { [key: string]: outputs.device.GatewayBgpConfigNeighbors; }; /** * Optional if `via`==`lan`; networks where BGP neighbors can connect to or from */ networks?: string[]; /** * Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. If true, we will not advertise private ASNs (AS 64512-65534) to this neighbor */ noPrivateAs?: boolean; /** * Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. By default, we'll re-advertise all learned BGP routers toward overlay */ noReadvertiseToOverlay?: boolean; /** * Optional if `via`==`tunnel`; tunnel name used for this BGP session */ tunnelName?: string; /** * Required if `via`==`lan`, `via`==`tunnel` or `via`==`wan`; BGP session type, internal or external */ type?: string; /** * Transport used for this BGP session, such as LAN, tunnel, VPN, or WAN */ via: string; /** * Optional if `via`==`vpn`; VPN name used for this BGP session */ vpnName?: string; /** * Optional if `via`==`wan`; WAN interface name used for this BGP session */ wanName?: string; } interface GatewayBgpConfigNeighbors { /** * If true, the BGP session to this neighbor will be administratively disabled/shutdown */ disabled: boolean; /** * Export policy applied only to this BGP neighbor */ exportPolicy?: string; /** * BGP hold time for this neighbor, in seconds */ holdTime?: number; /** * Import policy applied only to this BGP neighbor */ importPolicy?: string; /** * Assuming BGP neighbor is directly connected */ multihopTtl?: number; /** * Neighbor AS. Value must be in range 1-4294967295 or a variable (e.g. `{{as_variable}}`) */ neighborAs: string; /** * If `via`==`tunnel`, primary or secondary tunnel associated with this BGP neighbor */ tunnelVia: string; } interface GatewayClusterNode { /** * Gateway device MAC address. Format is `[0-9a-f]{12}` (e.g. "5684dae9ac8b") */ mac: string; } interface GatewayDhcpdConfig { /** * Property key is the network name */ config?: { [key: string]: outputs.device.GatewayDhcpdConfigConfig; }; /** * If set to `false`, disable the DHCP server */ enabled?: boolean; } interface GatewayDhcpdConfigConfig { /** * If `type`==`local` or `type6`==`local`, DNS servers advertised to DHCP clients */ dnsServers?: string[]; /** * 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?: string[]; /** * If `type`==`local` or `type6`==`local`, fixed client bindings for local DHCP service */ fixedBindings?: { [key: string]: outputs.device.GatewayDhcpdConfigConfigFixedBindings; }; /** * If `type`==`local` - optional, `ip` will be used if not provided */ gateway?: string; /** * If `type6`==`local`, ending IPv6 address for the DHCP lease pool */ ip6End?: string; /** * If `type6`==`local`, starting IPv6 address for the DHCP lease pool */ ip6Start?: string; /** * If `type`==`local`, ending IPv4 address for the DHCP lease pool */ ipEnd?: string; /** * If `type`==`local`, starting IPv4 address for the DHCP lease pool */ ipStart?: string; /** * In seconds, lease time has to be between 3600 [1hr] - 604800 [1 week], default is 86400 [1 day] */ leaseTime?: number; /** * If `type`==`local` or `type6`==`local`, custom DHCP options advertised to clients */ options?: { [key: string]: outputs.device.GatewayDhcpdConfigConfigOptions; }; /** * `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?: boolean; /** * If `type`==`relay`, upstream IPv4 DHCP servers */ servers?: string[]; /** * If `type6`==`relay`, upstream IPv6 DHCP servers */ serversv6s?: string[]; /** * IPv4 DHCP mode for this network */ type?: string; /** * IPv6 DHCP mode for this network */ type6?: string; /** * If `type`==`local` or `type6`==`local`, vendor-encapsulated DHCP options advertised to clients */ vendorEncapsulated?: { [key: string]: outputs.device.GatewayDhcpdConfigConfigVendorEncapsulated; }; } interface GatewayDhcpdConfigConfigFixedBindings { /** * Reserved IPv4 address for this fixed DHCP binding */ ip?: string; /** * Reserved IPv6 address for this fixed DHCP binding */ ip6?: string; /** * Friendly name for this fixed DHCP binding */ name?: string; } interface GatewayDhcpdConfigConfigOptions { /** * Data type used to encode this DHCP option value */ type?: string; /** * Option value to send for this DHCP option */ value?: string; } interface GatewayDhcpdConfigConfigVendorEncapsulated { /** * Data type used to encode this vendor option value */ type?: string; /** * Option value to send for this vendor option */ value?: string; } interface GatewayExtraRoutes { /** * Next-hop IPv4 address for the gateway extra route */ via: string; } interface GatewayExtraRoutes6 { /** * Next-hop IPv6 address for the gateway extra route */ via: string; } interface GatewayGatewayMgmt { /** * SSR-only SSH public keys for administrative access */ adminSshkeys?: string[]; /** * Application probing configuration for gateway monitoring */ appProbing?: outputs.device.GatewayGatewayMgmtAppProbing; /** * Consumes uplink bandwidth, requires WA license */ appUsage?: boolean; /** * Schedule for automatic security signature updates */ autoSignatureUpdate?: outputs.device.GatewayGatewayMgmtAutoSignatureUpdate; /** * Rollback timer for commit confirmed */ configRevertTimer?: number; /** * For SSR and SRX, disable console port */ disableConsole?: boolean; /** * For SSR and SRX, disable management interface */ disableOob?: boolean; /** * For SSR and SRX, disable usb interface */ disableUsb?: boolean; /** * Whether FIPS mode is enabled on the gateway */ fipsEnabled?: boolean; /** * IPv4 probe targets used for gateway connectivity checks */ probeHosts?: string[]; /** * IPv6 probe targets used for gateway connectivity checks */ probeHostsv6s?: string[]; /** * Control-plane protection settings for the gateway */ protectRe?: outputs.device.GatewayGatewayMgmtProtectRe; /** * SRX only. Root password for local gateway access */ rootPassword?: string; /** * IPv4 source address used for gateway security log traffic */ securityLogSourceAddress?: string; /** * Source interface used for gateway security log traffic */ securityLogSourceInterface?: string; } interface GatewayGatewayMgmtAppProbing { /** * Predefined application keys to probe */ apps?: string[]; /** * User-defined application probe definitions */ customApps?: outputs.device.GatewayGatewayMgmtAppProbingCustomApp[]; /** * Whether gateway application probing is enabled */ enabled?: boolean; } interface GatewayGatewayMgmtAppProbingCustomApp { /** * Required if `protocol`==`icmp`. IP address probed by the ICMP custom app */ address?: string; /** * Category label used for this custom application probe */ appType?: string; /** * If `protocol`==`http`. Hostnames or URLs probed by this custom app */ hostnames?: string[]; /** * Stable key used to identify this custom application probe */ key?: string; /** * Display name for this custom application probe */ name?: string; /** * Gateway network used as the source context for this probe */ network?: string; /** * If `protocol`==`icmp`. ICMP packet size used by this custom app probe */ packetSize?: number; /** * Probe protocol used by this custom application definition */ protocol: string; /** * If `protocol`==`http`. HTTP URL or hostname probed by this custom app */ url?: string; /** * Gateway VRF used as the source context for this probe */ vrf?: string; } interface GatewayGatewayMgmtAutoSignatureUpdate { /** * Scheduled weekday for automatic signature updates */ dayOfWeek?: string; /** * Whether automatic security signature updates are enabled */ enable?: boolean; /** * Optional, Mist will decide the timing */ timeOfDay?: string; } interface GatewayGatewayMgmtProtectRe { /** * Built-in services explicitly allowed by the Protect RE policy */ allowedServices?: string[]; /** * Additional ACL entries allowed by the Protect RE policy */ customs?: outputs.device.GatewayGatewayMgmtProtectReCustom[]; /** * When enabled, all traffic that is not essential to our operation will be dropped * e.g. ntp / dns / traffic to mist will be allowed by default * if dhcpd is enabled, we'll make sure it works */ enabled?: boolean; /** * Whether to enable hit count for Protect_RE policy */ hitCount?: boolean; /** * Trusted host or subnet entries allowed by the Protect RE policy */ trustedHosts?: string[]; } interface GatewayGatewayMgmtProtectR