@pulumi/juniper-mist 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/device/base.d.ts +1 -1
  2. package/device/gateway.d.ts +3 -1
  3. package/device/gateway.js +2 -0
  4. package/device/gateway.js.map +1 -1
  5. package/device/switch.d.ts +16 -9
  6. package/device/switch.js +3 -1
  7. package/device/switch.js.map +1 -1
  8. package/org/deviceprofileGateway.d.ts +1 -1
  9. package/org/evpnTopology.d.ts +162 -0
  10. package/org/evpnTopology.js +133 -0
  11. package/org/evpnTopology.js.map +1 -0
  12. package/org/gatewaytemplate.d.ts +1 -1
  13. package/org/index.d.ts +3 -0
  14. package/org/index.js +7 -2
  15. package/org/index.js.map +1 -1
  16. package/org/inventory.d.ts +9 -0
  17. package/org/inventory.js.map +1 -1
  18. package/org/networktemplate.d.ts +15 -6
  19. package/org/networktemplate.js.map +1 -1
  20. package/org/setting.d.ts +1 -2
  21. package/org/setting.js +1 -1
  22. package/org/setting.js.map +1 -1
  23. package/org/wlan.d.ts +30 -0
  24. package/org/wlan.js +4 -0
  25. package/org/wlan.js.map +1 -1
  26. package/package.json +2 -2
  27. package/site/base.d.ts +1 -1
  28. package/site/evpnTopology.d.ts +164 -0
  29. package/site/evpnTopology.js +135 -0
  30. package/site/evpnTopology.js.map +1 -0
  31. package/site/index.d.ts +3 -0
  32. package/site/index.js +6 -1
  33. package/site/index.js.map +1 -1
  34. package/site/networktemplate.d.ts +31 -9
  35. package/site/networktemplate.js +6 -2
  36. package/site/networktemplate.js.map +1 -1
  37. package/site/setting.d.ts +4 -12
  38. package/site/setting.js +4 -2
  39. package/site/setting.js.map +1 -1
  40. package/site/wlan.d.ts +30 -0
  41. package/site/wlan.js +4 -0
  42. package/site/wlan.js.map +1 -1
  43. package/types/input.d.ts +553 -90
  44. package/types/output.d.ts +592 -129
package/types/output.d.ts CHANGED
@@ -830,8 +830,8 @@ export declare namespace device {
830
830
  * * enterprise number: 1-65535 (https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers)
831
831
  * * sub option code: 1-255, sub-option code'
832
832
  */
833
- vendorEncapulated?: {
834
- [key: string]: outputs.device.GatewayDhcpdConfigConfigVendorEncapulated;
833
+ vendorEncapsulated?: {
834
+ [key: string]: outputs.device.GatewayDhcpdConfigConfigVendorEncapsulated;
835
835
  };
836
836
  }
837
837
  interface GatewayDhcpdConfigConfigFixedBindings {
@@ -845,7 +845,7 @@ export declare namespace device {
845
845
  type?: string;
846
846
  value?: string;
847
847
  }
848
- interface GatewayDhcpdConfigConfigVendorEncapulated {
848
+ interface GatewayDhcpdConfigConfigVendorEncapsulated {
849
849
  /**
850
850
  * enum: `boolean`, `hex`, `int16`, `int32`, `ip`, `string`, `uint16`, `uint32`
851
851
  */
@@ -1092,7 +1092,7 @@ export declare namespace device {
1092
1092
  /**
1093
1093
  * for HA Cluster, node1 can have different IP Config
1094
1094
  */
1095
- node1?: outputs.device.GatewayOobIpConfigNode1;
1095
+ node1: outputs.device.GatewayOobIpConfigNode1;
1096
1096
  /**
1097
1097
  * enum: `dhcp`, `static`
1098
1098
  */
@@ -1104,7 +1104,7 @@ export declare namespace device {
1104
1104
  /**
1105
1105
  * for host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired
1106
1106
  */
1107
- useMgmtVrfForHostOut: boolean;
1107
+ useMgmtVrfForHostOut?: boolean;
1108
1108
  vlanId?: string;
1109
1109
  }
1110
1110
  interface GatewayOobIpConfigNode1 {
@@ -1124,11 +1124,11 @@ export declare namespace device {
1124
1124
  /**
1125
1125
  * if supported on the platform. If enabled, DNS will be using this routing-instance, too
1126
1126
  */
1127
- useMgmtVrf: boolean;
1127
+ useMgmtVrf?: boolean;
1128
1128
  /**
1129
1129
  * whether to use `mgmtJunos` for host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired
1130
1130
  */
1131
- useMgmtVrfForHostOut: boolean;
1131
+ useMgmtVrfForHostOut?: boolean;
1132
1132
  vlanId?: string;
1133
1133
  }
1134
1134
  interface GatewayPathPreferences {
@@ -1265,7 +1265,7 @@ export declare namespace device {
1265
1265
  /**
1266
1266
  * if HA mode
1267
1267
  */
1268
- redundant?: boolean;
1268
+ redundant: boolean;
1269
1269
  /**
1270
1270
  * if HA mode
1271
1271
  */
@@ -1572,14 +1572,14 @@ export declare namespace device {
1572
1572
  profile: string;
1573
1573
  }
1574
1574
  interface GatewayServicePolicyIdp {
1575
- alertOnly?: boolean;
1575
+ alertOnly: boolean;
1576
1576
  enabled: boolean;
1577
1577
  /**
1578
1578
  * org_level IDP Profile can be used, this takes precedence over `profile`
1579
1579
  */
1580
1580
  idpprofileId?: string;
1581
1581
  /**
1582
- * `strict` (default) / `standard` / or keys from from idp_profiles
1582
+ * enum: `Custom`, `strict` (default), `standard` or keys from from idp_profiles
1583
1583
  */
1584
1584
  profile: string;
1585
1585
  }
@@ -3484,8 +3484,8 @@ export declare namespace device {
3484
3484
  * * enterprise number: 1-65535 (https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers)
3485
3485
  * * sub option code: 1-255, sub-option code'
3486
3486
  */
3487
- vendorEncapulated?: {
3488
- [key: string]: outputs.device.SwitchDhcpdConfigConfigVendorEncapulated;
3487
+ vendorEncapsulated?: {
3488
+ [key: string]: outputs.device.SwitchDhcpdConfigConfigVendorEncapsulated;
3489
3489
  };
3490
3490
  }
3491
3491
  interface SwitchDhcpdConfigConfigFixedBindings {
@@ -3499,7 +3499,7 @@ export declare namespace device {
3499
3499
  type?: string;
3500
3500
  value?: string;
3501
3501
  }
3502
- interface SwitchDhcpdConfigConfigVendorEncapulated {
3502
+ interface SwitchDhcpdConfigConfigVendorEncapsulated {
3503
3503
  /**
3504
3504
  * enum: `boolean`, `hex`, `int16`, `int32`, `ip`, `string`, `uint16`, `uint32`
3505
3505
  */
@@ -3507,11 +3507,11 @@ export declare namespace device {
3507
3507
  value?: string;
3508
3508
  }
3509
3509
  interface SwitchEvpnConfig {
3510
- enabled?: boolean;
3510
+ enabled: boolean;
3511
3511
  /**
3512
- * enum: `access`, `core`, `distribution`
3512
+ * enum: `access`, `collapsed-core`, `core`, `distribution`, `esilag-access`, `none`
3513
3513
  */
3514
- role?: string;
3514
+ role: string;
3515
3515
  }
3516
3516
  interface SwitchExtraRoutes {
3517
3517
  /**
@@ -3576,39 +3576,173 @@ export declare namespace device {
3576
3576
  }
3577
3577
  interface SwitchLocalPortConfig {
3578
3578
  /**
3579
- * if want to generate port up/down alarm
3579
+ * Only if `mode`==`trunk` whether to trunk all network/vlans
3580
3580
  */
3581
- critical?: boolean;
3581
+ allNetworks: boolean;
3582
+ /**
3583
+ * If DHCP snooping is enabled, whether DHCP server is allowed on the interfaces with.
3584
+ * All the interfaces from port configs using this port usage are effected. Please notice that allowDhcpd is a tri_state.
3585
+ * When it is not defined, it means using the system's default setting which depends on whether the port is a access or trunk port.
3586
+ */
3587
+ allowDhcpd?: boolean;
3588
+ allowMultipleSupplicants: boolean;
3589
+ /**
3590
+ * Only if `portAuth`==`dot1x` bypass auth for known clients if set to true when RADIUS server is down
3591
+ */
3592
+ bypassAuthWhenServerDown: boolean;
3593
+ /**
3594
+ * Only if `portAuth`=`dot1x` bypass auth for all (including unknown clients) if set to true when RADIUS server is down
3595
+ */
3596
+ bypassAuthWhenServerDownForUnkonwnClient: boolean;
3582
3597
  description?: string;
3583
3598
  /**
3584
- * if `speed` and `duplex` are specified, whether to disable autonegotiation
3599
+ * Only if `mode`!=`dynamic` if speed and duplex are specified, whether to disable autonegotiation
3585
3600
  */
3586
3601
  disableAutoneg: boolean;
3587
3602
  /**
3588
- * enum: `auto`, `full`, `half`
3603
+ * whether the port is disabled
3604
+ */
3605
+ disabled: boolean;
3606
+ /**
3607
+ * link connection mode. enum: `auto`, `full`, `half`
3589
3608
  */
3590
3609
  duplex: string;
3591
3610
  /**
3592
- * media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation
3611
+ * Only if `portAuth`==`dot1x`, if dynamic vlan is used, specify the possible networks/vlans RADIUS can return
3612
+ */
3613
+ dynamicVlanNetworks?: string[];
3614
+ /**
3615
+ * Only if `portAuth`==`dot1x` whether to enable MAC Auth
3616
+ */
3617
+ enableMacAuth: boolean;
3618
+ enableQos: boolean;
3619
+ /**
3620
+ * Only if `portAuth`==`dot1x` which network to put the device into if the device cannot do dot1x. default is null (i.e. not allowed)
3621
+ */
3622
+ guestNetwork?: string;
3623
+ /**
3624
+ * inter_switch_link is used together with "isolation" under networks
3625
+ * NOTE: interSwitchLink works only between Juniper device. This has to be applied to both ports connected together
3626
+ */
3627
+ interSwitchLink: boolean;
3628
+ /**
3629
+ * Only if `enableMacAuth`==`true`
3630
+ */
3631
+ macAuthOnly?: boolean;
3632
+ /**
3633
+ * Only if `enableMacAuth`==`true` + `macAuthOnly`==`false`, dot1x will be given priority then mac_auth. Enable this to prefer macAuth over dot1x.
3634
+ */
3635
+ macAuthPreferred?: boolean;
3636
+ /**
3637
+ * Only if `enableMacAuth` ==`true`. This type is ignored if mistNac is enabled. enum: `eap-md5`, `eap-peap`, `pap`
3638
+ */
3639
+ macAuthProtocol: string;
3640
+ /**
3641
+ * max number of mac addresses, default is 0 for unlimited, otherwise range is 1 or higher, with upper bound constrained by platform
3642
+ */
3643
+ macLimit: number;
3644
+ /**
3645
+ * enum: `access`, `inet`, `trunk`
3646
+ */
3647
+ mode?: string;
3648
+ /**
3649
+ * media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation. The default value is 1514.
3650
+ */
3651
+ mtu?: number;
3652
+ /**
3653
+ * Only if `mode`==`trunk`, the list of network/vlans
3654
+ */
3655
+ networks?: string[];
3656
+ /**
3657
+ * Only if `mode`==`access` and `portAuth`!=`dot1x` whether the port should retain dynamically learned MAC addresses
3658
+ */
3659
+ persistMac: boolean;
3660
+ /**
3661
+ * whether PoE capabilities are disabled for a port
3593
3662
  */
3594
- mtu: number;
3595
3663
  poeDisabled: boolean;
3596
3664
  /**
3597
- * enum: `100m`, `10m`, `1g`, `2.5g`, `5g`, `auto`
3665
+ * if dot1x is desired, set to dot1x. enum: `dot1x`
3666
+ */
3667
+ portAuth?: string;
3668
+ /**
3669
+ * native network/vlan for untagged traffic
3670
+ */
3671
+ portNetwork?: string;
3672
+ /**
3673
+ * Only if `portAuth`=`dot1x` reauthentication interval range
3674
+ */
3675
+ reauthInterval: number;
3676
+ /**
3677
+ * Only if `portAuth`==`dot1x` sets server fail fallback vlan
3678
+ */
3679
+ serverFailNetwork?: string;
3680
+ /**
3681
+ * Only if `portAuth`==`dot1x` when radius server reject / fails
3682
+ */
3683
+ serverRejectNetwork?: string;
3684
+ /**
3685
+ * enum: `100m`, `10m`, `1g`, `2.5g`, `5g`, `10g`, `25g`, `40g`, `100g`,`auto`
3598
3686
  */
3599
3687
  speed: string;
3688
+ /**
3689
+ * Switch storm control
3690
+ */
3691
+ stormControl?: outputs.device.SwitchLocalPortConfigStormControl;
3692
+ /**
3693
+ * when enabled, the port is not expected to receive BPDU frames
3694
+ */
3695
+ stpEdge: boolean;
3696
+ stpNoRootPort: boolean;
3697
+ stpP2p: boolean;
3600
3698
  /**
3601
3699
  * port usage name.
3602
- *
3603
- * If EVPN is used, use `evpnUplink`or `evpnDownlink`
3604
3700
  */
3605
3701
  usage: string;
3702
+ /**
3703
+ * if this is connected to a vstp network
3704
+ */
3705
+ useVstp: boolean;
3706
+ /**
3707
+ * network/vlan for voip traffic, must also set port_network. to authenticate device, set port_auth
3708
+ */
3709
+ voipNetwork?: string;
3710
+ }
3711
+ interface SwitchLocalPortConfigStormControl {
3712
+ /**
3713
+ * whether to disable storm control on broadcast traffic
3714
+ */
3715
+ noBroadcast: boolean;
3716
+ /**
3717
+ * whether to disable storm control on multicast traffic
3718
+ */
3719
+ noMulticast: boolean;
3720
+ /**
3721
+ * whether to disable storm control on registered multicast traffic
3722
+ */
3723
+ noRegisteredMulticast: boolean;
3724
+ /**
3725
+ * whether to disable storm control on unknown unicast traffic
3726
+ */
3727
+ noUnknownUnicast: boolean;
3728
+ /**
3729
+ * bandwidth-percentage, configures the storm control level as a percentage of the available bandwidth
3730
+ */
3731
+ percentage: number;
3606
3732
  }
3607
3733
  interface SwitchMistNac {
3608
3734
  enabled?: boolean;
3609
3735
  network?: string;
3610
3736
  }
3611
3737
  interface SwitchNetworks {
3738
+ /**
3739
+ * only required for EVPN-VXLAN networks, IPv4 Virtual Gateway
3740
+ */
3741
+ gateway?: string;
3742
+ /**
3743
+ * only required for EVPN-VXLAN networks, IPv6 Virtual Gateway
3744
+ */
3745
+ gateway6?: string;
3612
3746
  /**
3613
3747
  * whether to stop clients to talk to each other, default is false (when enabled, a unique isolationVlanId is required)
3614
3748
  * NOTE: this features requires uplink device to also a be Juniper device and `interSwitchLink` to be set
@@ -3619,6 +3753,10 @@ export declare namespace device {
3619
3753
  * optional for pure switching, required when L3 / routing features are used
3620
3754
  */
3621
3755
  subnet?: string;
3756
+ /**
3757
+ * optional for pure switching, required when L3 / routing features are used
3758
+ */
3759
+ subnet6?: string;
3622
3760
  vlanId: string;
3623
3761
  }
3624
3762
  interface SwitchOobIpConfig {
@@ -3637,13 +3775,13 @@ export declare namespace device {
3637
3775
  */
3638
3776
  type: string;
3639
3777
  /**
3640
- * f supported on the platform. If enabled, DNS will be using this routing-instance, too
3778
+ * if supported on the platform. If enabled, DNS will be using this routing-instance, too
3641
3779
  */
3642
3780
  useMgmtVrf: boolean;
3643
3781
  /**
3644
3782
  * for host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired
3645
3783
  */
3646
- useMgmtVrfForHostOut: boolean;
3784
+ useMgmtVrfForHostOut?: boolean;
3647
3785
  }
3648
3786
  interface SwitchOspfAreas {
3649
3787
  includeLoopback: boolean;
@@ -3731,7 +3869,7 @@ export declare namespace device {
3731
3869
  /**
3732
3870
  * to use fast timeout
3733
3871
  */
3734
- aeLacpSlow: boolean;
3872
+ aeLacpSlow?: boolean;
3735
3873
  aggregated: boolean;
3736
3874
  /**
3737
3875
  * if want to generate port up/down alarm
@@ -3761,13 +3899,11 @@ export declare namespace device {
3761
3899
  noLocalOverwrite?: boolean;
3762
3900
  poeDisabled: boolean;
3763
3901
  /**
3764
- * enum: `100m`, `10m`, `1g`, `2.5g`, `5g`, `auto`
3902
+ * enum: `100m`, `10m`, `1g`, `2.5g`, `5g`, `10g`, `25g`, `40g`, `100g`,`auto`
3765
3903
  */
3766
3904
  speed: string;
3767
3905
  /**
3768
- * port usage name.
3769
- *
3770
- * If EVPN is used, use `evpnUplink`or `evpnDownlink`
3906
+ * port usage name. If EVPN is used, use `evpnUplink`or `evpnDownlink`
3771
3907
  */
3772
3908
  usage: string;
3773
3909
  }
@@ -3799,9 +3935,9 @@ export declare namespace device {
3799
3935
  */
3800
3936
  allNetworks: boolean;
3801
3937
  /**
3802
- * Only if `mode`!=`dynamic` if DHCP snooping is enabled, whether DHCP server is allowed on the interfaces with. All the interfaces from port configs using this port usage are effected. Please notice that allowDhcpd is a tri_state.
3803
- *
3804
- * When it is not defined, it means using the systems default setting which depends on whether the port is a access or trunk port.
3938
+ * Only if `mode`!=`dynamic`. If DHCP snooping is enabled, whether DHCP server is allowed on the interfaces with.
3939
+ * All the interfaces from port configs using this port usage are effected. Please notice that allowDhcpd is a tri_state.
3940
+ * When it is not defined, it means using the system's default setting which depends on whether the port is a access or trunk port.
3805
3941
  */
3806
3942
  allowDhcpd?: boolean;
3807
3943
  /**
@@ -3870,7 +4006,7 @@ export declare namespace device {
3870
4006
  */
3871
4007
  macLimit: number;
3872
4008
  /**
3873
- * `mode`==`dynamic` must only be used with the port usage with the name `dynamic`. enum: `access`, `dynamic`, `inet`, `trunk`
4009
+ * `mode`==`dynamic` must only be used if the port usage name is `dynamic`. enum: `access`, `dynamic`, `inet`, `trunk`
3874
4010
  */
3875
4011
  mode?: string;
3876
4012
  /**
@@ -3918,9 +4054,9 @@ export declare namespace device {
3918
4054
  */
3919
4055
  serverRejectNetwork?: string;
3920
4056
  /**
3921
- * Only if `mode`!=`dynamic` speed, default is auto to automatically negotiate speed
4057
+ * Only if `mode`!=`dynamic` speed, default is auto to automatically negotiate speed enum: `100m`, `10m`, `1g`, `2.5g`, `5g`, `10g`, `25g`, `40g`, `100g`,`auto`
3922
4058
  */
3923
- speed?: string;
4059
+ speed: string;
3924
4060
  /**
3925
4061
  * Switch storm control
3926
4062
  * Only if `mode`!=`dynamic`
@@ -5224,8 +5360,8 @@ export declare namespace org {
5224
5360
  * * enterprise number: 1-65535 (https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers)
5225
5361
  * * sub option code: 1-255, sub-option code'
5226
5362
  */
5227
- vendorEncapulated?: {
5228
- [key: string]: outputs.org.DeviceprofileGatewayDhcpdConfigConfigVendorEncapulated;
5363
+ vendorEncapsulated?: {
5364
+ [key: string]: outputs.org.DeviceprofileGatewayDhcpdConfigConfigVendorEncapsulated;
5229
5365
  };
5230
5366
  }
5231
5367
  interface DeviceprofileGatewayDhcpdConfigConfigFixedBindings {
@@ -5239,7 +5375,7 @@ export declare namespace org {
5239
5375
  type?: string;
5240
5376
  value?: string;
5241
5377
  }
5242
- interface DeviceprofileGatewayDhcpdConfigConfigVendorEncapulated {
5378
+ interface DeviceprofileGatewayDhcpdConfigConfigVendorEncapsulated {
5243
5379
  /**
5244
5380
  * enum: `boolean`, `hex`, `int16`, `int32`, `ip`, `string`, `uint16`, `uint32`
5245
5381
  */
@@ -5482,7 +5618,7 @@ export declare namespace org {
5482
5618
  /**
5483
5619
  * for HA Cluster, node1 can have different IP Config
5484
5620
  */
5485
- node1?: outputs.org.DeviceprofileGatewayOobIpConfigNode1;
5621
+ node1: outputs.org.DeviceprofileGatewayOobIpConfigNode1;
5486
5622
  /**
5487
5623
  * enum: `dhcp`, `static`
5488
5624
  */
@@ -5490,11 +5626,11 @@ export declare namespace org {
5490
5626
  /**
5491
5627
  * if supported on the platform. If enabled, DNS will be using this routing-instance, too
5492
5628
  */
5493
- useMgmtVrf: boolean;
5629
+ useMgmtVrf?: boolean;
5494
5630
  /**
5495
5631
  * for host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired
5496
5632
  */
5497
- useMgmtVrfForHostOut: boolean;
5633
+ useMgmtVrfForHostOut?: boolean;
5498
5634
  vlanId?: string;
5499
5635
  }
5500
5636
  interface DeviceprofileGatewayOobIpConfigNode1 {
@@ -5514,11 +5650,11 @@ export declare namespace org {
5514
5650
  /**
5515
5651
  * if supported on the platform. If enabled, DNS will be using this routing-instance, too
5516
5652
  */
5517
- useMgmtVrf: boolean;
5653
+ useMgmtVrf?: boolean;
5518
5654
  /**
5519
5655
  * whether to use `mgmtJunos` for host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired
5520
5656
  */
5521
- useMgmtVrfForHostOut: boolean;
5657
+ useMgmtVrfForHostOut?: boolean;
5522
5658
  vlanId?: string;
5523
5659
  }
5524
5660
  interface DeviceprofileGatewayPathPreferences {
@@ -5655,7 +5791,7 @@ export declare namespace org {
5655
5791
  /**
5656
5792
  * if HA mode
5657
5793
  */
5658
- redundant?: boolean;
5794
+ redundant: boolean;
5659
5795
  /**
5660
5796
  * if HA mode
5661
5797
  */
@@ -5952,14 +6088,14 @@ export declare namespace org {
5952
6088
  profile: string;
5953
6089
  }
5954
6090
  interface DeviceprofileGatewayServicePolicyIdp {
5955
- alertOnly?: boolean;
6091
+ alertOnly: boolean;
5956
6092
  enabled: boolean;
5957
6093
  /**
5958
6094
  * org_level IDP Profile can be used, this takes precedence over `profile`
5959
6095
  */
5960
6096
  idpprofileId?: string;
5961
6097
  /**
5962
- * `strict` (default) / `standard` / or keys from from idp_profiles
6098
+ * enum: `Custom`, `strict` (default), `standard` or keys from from idp_profiles
5963
6099
  */
5964
6100
  profile: string;
5965
6101
  }
@@ -6235,6 +6371,93 @@ export declare namespace org {
6235
6371
  interface DeviceprofileGatewayVrfInstances {
6236
6372
  networks?: string[];
6237
6373
  }
6374
+ interface EvpnTopologyEvpnOptions {
6375
+ /**
6376
+ * optional, for dhcp_relay, unique loopback IPs are required for ERB or IPClos where we can set option-82 server_id-overrides
6377
+ */
6378
+ autoLoopbackSubnet: string;
6379
+ /**
6380
+ * optional, for dhcp_relay, unique loopback IPs are required for ERB or IPClos where we can set option-82 server_id-overrides
6381
+ */
6382
+ autoLoopbackSubnet6: string;
6383
+ /**
6384
+ * optional, this generates routerId automatically, if specified, `routerIdPrefix` is ignored
6385
+ */
6386
+ autoRouterIdSubnet: string;
6387
+ /**
6388
+ * optional, this generates routerId automatically, if specified, `routerIdPrefix` is ignored
6389
+ */
6390
+ autoRouterIdSubnet6?: string;
6391
+ /**
6392
+ * optional, for ERB or CLOS, you can either use esilag to upstream routers or to also be the virtual-gateway
6393
+ * when `routedAt` != `core`, whether to do virtual-gateway at core as well
6394
+ */
6395
+ coreAsBorder: boolean;
6396
+ overlay?: outputs.org.EvpnTopologyEvpnOptionsOverlay;
6397
+ /**
6398
+ * by default, JUNOS uses 00-00-5e-00-01-01 as the virtual-gateway-address's v4Mac
6399
+ * if enabled, 00-00-5e-00-XX-YY will be used (where XX=vlan_id/256, YY=vlan_id%256)
6400
+ */
6401
+ perVlanVgaV4Mac: boolean;
6402
+ /**
6403
+ * optional, where virtual-gateway should reside. enum: `core`, `distribution`, `edge`
6404
+ */
6405
+ routedAt: string;
6406
+ underlay?: outputs.org.EvpnTopologyEvpnOptionsUnderlay;
6407
+ /**
6408
+ * optional, for EX9200 only to seggregate virtual-switches
6409
+ */
6410
+ vsInstances?: {
6411
+ [key: string]: outputs.org.EvpnTopologyEvpnOptionsVsInstances;
6412
+ };
6413
+ }
6414
+ interface EvpnTopologyEvpnOptionsOverlay {
6415
+ /**
6416
+ * Overlay BGP Local AS Number
6417
+ */
6418
+ as: number;
6419
+ }
6420
+ interface EvpnTopologyEvpnOptionsUnderlay {
6421
+ /**
6422
+ * Underlay BGP Base AS Number
6423
+ */
6424
+ asBase: number;
6425
+ routedIdPrefix?: string;
6426
+ /**
6427
+ * underlay subnet, by default, `10.255.240.0/20`, or `fd31:5700::/64` for ipv6
6428
+ */
6429
+ subnet?: string;
6430
+ /**
6431
+ * if v6 is desired for underlay
6432
+ */
6433
+ useIpv6: boolean;
6434
+ }
6435
+ interface EvpnTopologyEvpnOptionsVsInstances {
6436
+ networks?: string[];
6437
+ }
6438
+ interface EvpnTopologySwitches {
6439
+ deviceprofileId: string;
6440
+ evpnId: number;
6441
+ mac: string;
6442
+ model: string;
6443
+ /**
6444
+ * optionally, for distribution / access / esilag-access, they can be placed into different pods. e.g.
6445
+ * * for CLOS, to group dist / access switches into pods
6446
+ * * for ERB/CRB, to group dist / esilag-access into pods
6447
+ */
6448
+ pod: number;
6449
+ /**
6450
+ * by default, core switches are assumed to be connecting all pods.
6451
+ * if you want to limit the pods, you can specify pods.
6452
+ */
6453
+ pods: number[];
6454
+ /**
6455
+ * use `role`==`none` to remove a switch from the topology. enum: `access`, `collapsed-core`, `core`, `distribution`, `esilag-access`, `none`
6456
+ */
6457
+ role: string;
6458
+ routerId: string;
6459
+ siteId: string;
6460
+ }
6238
6461
  interface GatewaytemplateBgpConfig {
6239
6462
  authKey?: string;
6240
6463
  /**
@@ -6402,8 +6625,8 @@ export declare namespace org {
6402
6625
  * * enterprise number: 1-65535 (https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers)
6403
6626
  * * sub option code: 1-255, sub-option code'
6404
6627
  */
6405
- vendorEncapulated?: {
6406
- [key: string]: outputs.org.GatewaytemplateDhcpdConfigConfigVendorEncapulated;
6628
+ vendorEncapsulated?: {
6629
+ [key: string]: outputs.org.GatewaytemplateDhcpdConfigConfigVendorEncapsulated;
6407
6630
  };
6408
6631
  }
6409
6632
  interface GatewaytemplateDhcpdConfigConfigFixedBindings {
@@ -6417,7 +6640,7 @@ export declare namespace org {
6417
6640
  type?: string;
6418
6641
  value?: string;
6419
6642
  }
6420
- interface GatewaytemplateDhcpdConfigConfigVendorEncapulated {
6643
+ interface GatewaytemplateDhcpdConfigConfigVendorEncapsulated {
6421
6644
  /**
6422
6645
  * enum: `boolean`, `hex`, `int16`, `int32`, `ip`, `string`, `uint16`, `uint32`
6423
6646
  */
@@ -6660,7 +6883,7 @@ export declare namespace org {
6660
6883
  /**
6661
6884
  * for HA Cluster, node1 can have different IP Config
6662
6885
  */
6663
- node1?: outputs.org.GatewaytemplateOobIpConfigNode1;
6886
+ node1: outputs.org.GatewaytemplateOobIpConfigNode1;
6664
6887
  /**
6665
6888
  * enum: `dhcp`, `static`
6666
6889
  */
@@ -6668,11 +6891,11 @@ export declare namespace org {
6668
6891
  /**
6669
6892
  * if supported on the platform. If enabled, DNS will be using this routing-instance, too
6670
6893
  */
6671
- useMgmtVrf: boolean;
6894
+ useMgmtVrf?: boolean;
6672
6895
  /**
6673
6896
  * for host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired
6674
6897
  */
6675
- useMgmtVrfForHostOut: boolean;
6898
+ useMgmtVrfForHostOut?: boolean;
6676
6899
  vlanId?: string;
6677
6900
  }
6678
6901
  interface GatewaytemplateOobIpConfigNode1 {
@@ -6692,11 +6915,11 @@ export declare namespace org {
6692
6915
  /**
6693
6916
  * if supported on the platform. If enabled, DNS will be using this routing-instance, too
6694
6917
  */
6695
- useMgmtVrf: boolean;
6918
+ useMgmtVrf?: boolean;
6696
6919
  /**
6697
6920
  * whether to use `mgmtJunos` for host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired
6698
6921
  */
6699
- useMgmtVrfForHostOut: boolean;
6922
+ useMgmtVrfForHostOut?: boolean;
6700
6923
  vlanId?: string;
6701
6924
  }
6702
6925
  interface GatewaytemplatePathPreferences {
@@ -7130,14 +7353,14 @@ export declare namespace org {
7130
7353
  profile: string;
7131
7354
  }
7132
7355
  interface GatewaytemplateServicePolicyIdp {
7133
- alertOnly?: boolean;
7356
+ alertOnly: boolean;
7134
7357
  enabled: boolean;
7135
7358
  /**
7136
7359
  * org_level IDP Profile can be used, this takes precedence over `profile`
7137
7360
  */
7138
7361
  idpprofileId?: string;
7139
7362
  /**
7140
- * `strict` (default) / `standard` / or keys from from idp_profiles
7363
+ * enum: `Custom`, `strict` (default), `standard` or keys from from idp_profiles
7141
7364
  */
7142
7365
  profile: string;
7143
7366
  }
@@ -7339,15 +7562,15 @@ export declare namespace org {
7339
7562
  numUsers?: number;
7340
7563
  }
7341
7564
  interface GatewaytemplateTunnelProviderOptionsZscaler {
7342
- aupAcceptanceRequired: boolean;
7565
+ aupAcceptanceRequired?: boolean;
7343
7566
  /**
7344
7567
  * days before AUP is requested again
7345
7568
  */
7346
- aupExpire: number;
7569
+ aupExpire?: number;
7347
7570
  /**
7348
7571
  * proxy HTTPs traffic, requiring Zscaler cert to be installed in browser
7349
7572
  */
7350
- aupSslProxy: boolean;
7573
+ aupSslProxy?: boolean;
7351
7574
  /**
7352
7575
  * the download bandwidth cap of the link, in Mbps
7353
7576
  */
@@ -7355,12 +7578,12 @@ export declare namespace org {
7355
7578
  /**
7356
7579
  * if `useXff`==`true`, display Acceptable Use Policy (AUP)
7357
7580
  */
7358
- enableAup: boolean;
7581
+ enableAup?: boolean;
7359
7582
  /**
7360
7583
  * when `enforceAuthentication`==`false`, display caution notification for non-authenticated users
7361
7584
  */
7362
- enableCaution: boolean;
7363
- enforceAuthentication: boolean;
7585
+ enableCaution?: boolean;
7586
+ enforceAuthentication?: boolean;
7364
7587
  name?: string;
7365
7588
  /**
7366
7589
  * if `useXff`==`true`
@@ -7905,7 +8128,7 @@ export declare namespace org {
7905
8128
  /**
7906
8129
  * Site ID. Used to assign device to a Site
7907
8130
  */
7908
- siteId: string;
8131
+ siteId?: string;
7909
8132
  /**
7910
8133
  * enum: `ap`, `gateway`, `switch`
7911
8134
  */
@@ -7952,7 +8175,7 @@ export declare namespace org {
7952
8175
  /**
7953
8176
  * Site ID. Used to assign device to a Site
7954
8177
  */
7955
- siteId: string;
8178
+ siteId?: string;
7956
8179
  /**
7957
8180
  * enum: `ap`, `gateway`, `switch`
7958
8181
  */
@@ -8273,6 +8496,14 @@ export declare namespace org {
8273
8496
  network?: string;
8274
8497
  }
8275
8498
  interface NetworktemplateNetworks {
8499
+ /**
8500
+ * only required for EVPN-VXLAN networks, IPv4 Virtual Gateway
8501
+ */
8502
+ gateway?: string;
8503
+ /**
8504
+ * only required for EVPN-VXLAN networks, IPv6 Virtual Gateway
8505
+ */
8506
+ gateway6?: string;
8276
8507
  /**
8277
8508
  * whether to stop clients to talk to each other, default is false (when enabled, a unique isolationVlanId is required)
8278
8509
  * NOTE: this features requires uplink device to also a be Juniper device and `interSwitchLink` to be set
@@ -8283,6 +8514,10 @@ export declare namespace org {
8283
8514
  * optional for pure switching, required when L3 / routing features are used
8284
8515
  */
8285
8516
  subnet?: string;
8517
+ /**
8518
+ * optional for pure switching, required when L3 / routing features are used
8519
+ */
8520
+ subnet6?: string;
8286
8521
  vlanId: string;
8287
8522
  }
8288
8523
  interface NetworktemplateOspfAreas {
@@ -8357,9 +8592,9 @@ export declare namespace org {
8357
8592
  */
8358
8593
  allNetworks: boolean;
8359
8594
  /**
8360
- * Only if `mode`!=`dynamic` if DHCP snooping is enabled, whether DHCP server is allowed on the interfaces with. All the interfaces from port configs using this port usage are effected. Please notice that allowDhcpd is a tri_state.
8361
- *
8362
- * When it is not defined, it means using the systems default setting which depends on whether the port is a access or trunk port.
8595
+ * Only if `mode`!=`dynamic`. If DHCP snooping is enabled, whether DHCP server is allowed on the interfaces with.
8596
+ * All the interfaces from port configs using this port usage are effected. Please notice that allowDhcpd is a tri_state.
8597
+ * When it is not defined, it means using the system's default setting which depends on whether the port is a access or trunk port.
8363
8598
  */
8364
8599
  allowDhcpd?: boolean;
8365
8600
  /**
@@ -8428,7 +8663,7 @@ export declare namespace org {
8428
8663
  */
8429
8664
  macLimit: number;
8430
8665
  /**
8431
- * `mode`==`dynamic` must only be used with the port usage with the name `dynamic`. enum: `access`, `dynamic`, `inet`, `trunk`
8666
+ * `mode`==`dynamic` must only be used if the port usage name is `dynamic`. enum: `access`, `dynamic`, `inet`, `trunk`
8432
8667
  */
8433
8668
  mode?: string;
8434
8669
  /**
@@ -8476,9 +8711,9 @@ export declare namespace org {
8476
8711
  */
8477
8712
  serverRejectNetwork?: string;
8478
8713
  /**
8479
- * Only if `mode`!=`dynamic` speed, default is auto to automatically negotiate speed
8714
+ * Only if `mode`!=`dynamic` speed, default is auto to automatically negotiate speed enum: `100m`, `10m`, `1g`, `2.5g`, `5g`, `10g`, `25g`, `40g`, `100g`,`auto`
8480
8715
  */
8481
- speed?: string;
8716
+ speed: string;
8482
8717
  /**
8483
8718
  * Switch storm control
8484
8719
  * Only if `mode`!=`dynamic`
@@ -8490,6 +8725,10 @@ export declare namespace org {
8490
8725
  stpEdge: boolean;
8491
8726
  stpNoRootPort: boolean;
8492
8727
  stpP2p: boolean;
8728
+ /**
8729
+ * optional for Campus Fabric Core-Distribution ESI-LAG profile. Helper used by the UI to select this port profile as the ESI-Lag between Distribution and Access switches
8730
+ */
8731
+ uiEvpntopoId?: string;
8493
8732
  /**
8494
8733
  * if this is connected to a vstp network
8495
8734
  */
@@ -8920,28 +9159,48 @@ export declare namespace org {
8920
9159
  }
8921
9160
  interface NetworktemplateSwitchMatching {
8922
9161
  enable?: boolean;
9162
+ /**
9163
+ * list of rules to define custom switch configuration based on different criterias. Each list must have at least one of `matchModel`, `matchName` or `matchRole` must be defined
9164
+ */
8923
9165
  rules?: outputs.org.NetworktemplateSwitchMatchingRule[];
8924
9166
  }
8925
9167
  interface NetworktemplateSwitchMatchingRule {
8926
9168
  /**
8927
- * additional CLI commands to append to the generated Junos config
8928
- *
8929
- * **Note**: no check is done
9169
+ * additional CLI commands to append to the generated Junos config. **Note**: no check is done
8930
9170
  */
8931
- additionalConfigCmds?: string[];
9171
+ additionalConfigCmds: string[];
8932
9172
  /**
8933
9173
  * In-Band Management interface configuration
8934
9174
  */
8935
9175
  ipConfig?: outputs.org.NetworktemplateSwitchMatchingRuleIpConfig;
8936
9176
  /**
8937
- * role to match
9177
+ * string the switch model must start with to use this rule. It is possible to combine with the `matchName` and `matchRole` attributes
9178
+ */
9179
+ matchModel: string;
9180
+ /**
9181
+ * string the switch name must start with to use this rule. Use the `matchNameOffset` to indicate the first character of the switch name to compare to. It is possible to combine with the `matchModel` and `matchRole` attributes
9182
+ */
9183
+ matchName: string;
9184
+ /**
9185
+ * first character of the switch name to compare to the `matchName` value
9186
+ */
9187
+ matchNameOffset: number;
9188
+ /**
9189
+ * string the switch role must start with to use this rule. It is possible to combine with the `matchName` and `matchModel` attributes
8938
9190
  */
8939
9191
  matchRole?: string;
8940
9192
  /**
8941
9193
  * 'property key define the type of matching, value is the string to match. e.g: `match_name[0:3]`, `match_name[2:6]`, `matchModel`, `match_model[0-6]`
9194
+ *
9195
+ * @deprecated The `matchType` attribute has been deprecated in version v0.2.8 of the Juniper-Mist Provider. It has been replaced with the `matchName`, `matchModel` and `matchRole`attribuites and may be removed in future versions.
9196
+ Please update your configurations.
8942
9197
  */
8943
- matchType?: string;
8944
- matchValue?: string;
9198
+ matchType: string;
9199
+ /**
9200
+ * @deprecated The `matchValue` attribute has been deprecated in version v0.2.8 of the Juniper-Mist Provider. It has been replaced with the `matchName`, `matchModel` and `matchRole`attribuites and may be removed in future versions.
9201
+ Please update your configurations.
9202
+ */
9203
+ matchValue: string;
8945
9204
  name?: string;
8946
9205
  /**
8947
9206
  * Out-of-Band Management interface configuration
@@ -8977,7 +9236,7 @@ export declare namespace org {
8977
9236
  */
8978
9237
  type: string;
8979
9238
  /**
8980
- * f supported on the platform. If enabled, DNS will be using this routing-instance, too
9239
+ * if supported on the platform. If enabled, DNS will be using this routing-instance, too
8981
9240
  */
8982
9241
  useMgmtVrf: boolean;
8983
9242
  /**
@@ -8997,7 +9256,7 @@ export declare namespace org {
8997
9256
  /**
8998
9257
  * to use fast timeout
8999
9258
  */
9000
- aeLacpSlow: boolean;
9259
+ aeLacpSlow?: boolean;
9001
9260
  aggregated: boolean;
9002
9261
  /**
9003
9262
  * if want to generate port up/down alarm
@@ -9027,13 +9286,11 @@ export declare namespace org {
9027
9286
  noLocalOverwrite?: boolean;
9028
9287
  poeDisabled: boolean;
9029
9288
  /**
9030
- * enum: `100m`, `10m`, `1g`, `2.5g`, `5g`, `auto`
9289
+ * enum: `100m`, `10m`, `1g`, `2.5g`, `5g`, `10g`, `25g`, `40g`, `100g`,`auto`
9031
9290
  */
9032
9291
  speed: string;
9033
9292
  /**
9034
- * port usage name.
9035
- *
9036
- * If EVPN is used, use `evpnUplink`or `evpnDownlink`
9293
+ * port usage name. If EVPN is used, use `evpnUplink`or `evpnDownlink`
9037
9294
  */
9038
9295
  usage: string;
9039
9296
  }
@@ -9563,6 +9820,7 @@ export declare namespace org {
9563
9820
  cpApiKey: string;
9564
9821
  ecmApiId: string;
9565
9822
  ecmApiKey: string;
9823
+ enableLldp: boolean;
9566
9824
  }
9567
9825
  interface SettingDeviceCert {
9568
9826
  cert: string;
@@ -9980,6 +10238,10 @@ export declare namespace org {
9980
10238
  * Auth port of RADIUS server
9981
10239
  */
9982
10240
  port: number;
10241
+ /**
10242
+ * whether to require Message-Authenticator in requests
10243
+ */
10244
+ requireMessageAuthenticator: boolean;
9983
10245
  /**
9984
10246
  * secret of RADIUS server
9985
10247
  */
@@ -10113,6 +10375,15 @@ export declare namespace org {
10113
10375
  venueName?: string;
10114
10376
  }
10115
10377
  interface WlanInjectDhcpOption82 {
10378
+ /**
10379
+ * information to set in the `circuitId` field of the DHCP Option 82. It is possible to use static string or the following variables (e.g. `{{SSID}}:{{AP_MAC}}`):
10380
+ * * {{AP_MAC}}
10381
+ * * {{AP_MAC_DASHED}}
10382
+ * * {{AP_MODEL}}
10383
+ * * {{AP_NAME}}
10384
+ * * {{SITE_NAME}}
10385
+ * * {{SSID}}
10386
+ */
10116
10387
  circuitId?: string;
10117
10388
  /**
10118
10389
  * whether to inject option 82 when forwarding DHCP packets
@@ -10132,6 +10403,10 @@ export declare namespace org {
10132
10403
  enabled: boolean;
10133
10404
  }
10134
10405
  interface WlanPortal {
10406
+ /**
10407
+ * whether to allow guest to connect to other Guest WLANs (with different `WLAN.ssid`) of same org without reauthentication (disable randomMac for seamless roaming)
10408
+ */
10409
+ allowWlanIdRoam: boolean;
10135
10410
  /**
10136
10411
  * amazon OAuth2 client id. This is optional. If not provided, it will use a default one.
10137
10412
  */
@@ -10381,28 +10656,31 @@ export declare namespace org {
10381
10656
  [key: string]: string;
10382
10657
  };
10383
10658
  /**
10384
- * default role to assign if there’s no match. By default, an assertion is treated as invalid when there’s no role matched
10659
+ * if `wlanPortalAuth`==`sso`, default role to assign if there’s no match. By default, an assertion is treated as invalid when there’s no role matched
10385
10660
  */
10386
10661
  ssoDefaultRole: string;
10662
+ /**
10663
+ * if `wlanPortalAuth`==`sso`
10664
+ */
10387
10665
  ssoForcedRole: string;
10388
10666
  /**
10389
- * IDP Cert (used to verify the signed response)
10667
+ * if `wlanPortalAuth`==`sso`, IDP Cert (used to verify the signed response)
10390
10668
  */
10391
10669
  ssoIdpCert: string;
10392
10670
  /**
10393
- * signing algorithm for SAML Assertion
10671
+ * if `wlanPortalAuth`==`sso`, Signing algorithm for SAML Assertion. enum: `sha1`, `sha256`, `sha384`, `sha512`
10394
10672
  */
10395
10673
  ssoIdpSignAlgo: string;
10396
10674
  /**
10397
- * IDP Single-Sign-On URL
10675
+ * if `wlanPortalAuth`==`sso`, IDP Single-Sign-On URL
10398
10676
  */
10399
10677
  ssoIdpSsoUrl: string;
10400
10678
  /**
10401
- * IDP issuer URL
10679
+ * if `wlanPortalAuth`==`sso`, IDP issuer URL
10402
10680
  */
10403
10681
  ssoIssuer: string;
10404
10682
  /**
10405
- * enum: `email`, `unspecified`
10683
+ * if `wlanPortalAuth`==`sso`. enum: `email`, `unspecified`
10406
10684
  */
10407
10685
  ssoNameidFormat: string;
10408
10686
  /**
@@ -11135,6 +11413,33 @@ export declare namespace org {
11135
11413
  host?: string;
11136
11414
  port?: number;
11137
11415
  }
11416
+ interface WlanRateset {
11417
+ /**
11418
+ * if `template`==`custom`. MCS bitmasks for 4 streams (16-bit for each stream, MCS0 is least significant bit), e.g. 00ff 00f0 001f limits HT rates to MCS 0-7 for 1 stream, MCS 4-7 for 2 stream (i.e. MCS 12-15), MCS 1-5 for 3 stream (i.e. MCS 16-20)
11419
+ */
11420
+ ht?: string;
11421
+ /**
11422
+ * if `template`==`custom`. List of supported rates (IE=1) and extended supported rates (IE=50) for custom template, append ‘b’ at the end to indicate a rate being basic/mandatory. If `template`==`custom` is configured and legacy does not define at least one basic rate, it will use `no-legacy` default values. enum: `1`, `11`, `11b`, `12`, `12b`, `18`, `18b`, `1b`, `2`, `24`, `24b`, `2b`, `36`, `36b`, `48`, `48b`, `5.5`, `5.5b`, `54`, `54b`, `6`, `6b`, `9`, `9b`
11423
+ */
11424
+ legacies: string[];
11425
+ /**
11426
+ * Minimum RSSI for client to connect, 0 means not enforcing
11427
+ */
11428
+ minRssi?: number;
11429
+ /**
11430
+ * Data Rates template to apply. enum:
11431
+ * * `no-legacy`: no 11b
11432
+ * * `compatible`: all, like before, default setting that Broadcom/Atheros used
11433
+ * * `legacy-only`: disable 802.11n and 802.11ac
11434
+ * * `high-density`: no 11b, no low rates
11435
+ * * `custom`: user defined
11436
+ */
11437
+ template?: string;
11438
+ /**
11439
+ * if `template`==`custom`. MCS bitmasks for 4 streams (16-bit for each stream, MCS0 is least significant bit), e.g. 03ff 01ff 00ff limits VHT rates to MCS 0-9 for 1 stream, MCS 0-8 for 2 streams, and MCS 0-7 for 3 streams.
11440
+ */
11441
+ vht?: string;
11442
+ }
11138
11443
  interface WlanSchedule {
11139
11444
  enabled: boolean;
11140
11445
  /**
@@ -11194,6 +11499,93 @@ export declare namespace site {
11194
11499
  lat: number;
11195
11500
  lng: number;
11196
11501
  }
11502
+ interface EvpnTopologyEvpnOptions {
11503
+ /**
11504
+ * optional, for dhcp_relay, unique loopback IPs are required for ERB or IPClos where we can set option-82 server_id-overrides
11505
+ */
11506
+ autoLoopbackSubnet: string;
11507
+ /**
11508
+ * optional, for dhcp_relay, unique loopback IPs are required for ERB or IPClos where we can set option-82 server_id-overrides
11509
+ */
11510
+ autoLoopbackSubnet6: string;
11511
+ /**
11512
+ * optional, this generates routerId automatically, if specified, `routerIdPrefix` is ignored
11513
+ */
11514
+ autoRouterIdSubnet: string;
11515
+ /**
11516
+ * optional, this generates routerId automatically, if specified, `routerIdPrefix` is ignored
11517
+ */
11518
+ autoRouterIdSubnet6?: string;
11519
+ /**
11520
+ * optional, for ERB or CLOS, you can either use esilag to upstream routers or to also be the virtual-gateway
11521
+ * when `routedAt` != `core`, whether to do virtual-gateway at core as well
11522
+ */
11523
+ coreAsBorder: boolean;
11524
+ overlay?: outputs.site.EvpnTopologyEvpnOptionsOverlay;
11525
+ /**
11526
+ * by default, JUNOS uses 00-00-5e-00-01-01 as the virtual-gateway-address's v4Mac
11527
+ * if enabled, 00-00-5e-00-XX-YY will be used (where XX=vlan_id/256, YY=vlan_id%256)
11528
+ */
11529
+ perVlanVgaV4Mac: boolean;
11530
+ /**
11531
+ * optional, where virtual-gateway should reside. enum: `core`, `distribution`, `edge`
11532
+ */
11533
+ routedAt: string;
11534
+ underlay?: outputs.site.EvpnTopologyEvpnOptionsUnderlay;
11535
+ /**
11536
+ * optional, for EX9200 only to seggregate virtual-switches
11537
+ */
11538
+ vsInstances?: {
11539
+ [key: string]: outputs.site.EvpnTopologyEvpnOptionsVsInstances;
11540
+ };
11541
+ }
11542
+ interface EvpnTopologyEvpnOptionsOverlay {
11543
+ /**
11544
+ * Overlay BGP Local AS Number
11545
+ */
11546
+ as: number;
11547
+ }
11548
+ interface EvpnTopologyEvpnOptionsUnderlay {
11549
+ /**
11550
+ * Underlay BGP Base AS Number
11551
+ */
11552
+ asBase: number;
11553
+ routedIdPrefix?: string;
11554
+ /**
11555
+ * underlay subnet, by default, `10.255.240.0/20`, or `fd31:5700::/64` for ipv6
11556
+ */
11557
+ subnet?: string;
11558
+ /**
11559
+ * if v6 is desired for underlay
11560
+ */
11561
+ useIpv6: boolean;
11562
+ }
11563
+ interface EvpnTopologyEvpnOptionsVsInstances {
11564
+ networks?: string[];
11565
+ }
11566
+ interface EvpnTopologySwitches {
11567
+ deviceprofileId: string;
11568
+ evpnId: number;
11569
+ mac: string;
11570
+ model: string;
11571
+ /**
11572
+ * optionally, for distribution / access / esilag-access, they can be placed into different pods. e.g.
11573
+ * * for CLOS, to group dist / access switches into pods
11574
+ * * for ERB/CRB, to group dist / esilag-access into pods
11575
+ */
11576
+ pod: number;
11577
+ /**
11578
+ * by default, core switches are assumed to be connecting all pods.
11579
+ * if you want to limit the pods, you can specify pods.
11580
+ */
11581
+ pods: number[];
11582
+ /**
11583
+ * use `role`==`none` to remove a switch from the topology. enum: `access`, `collapsed-core`, `core`, `distribution`, `esilag-access`, `none`
11584
+ */
11585
+ role: string;
11586
+ routerId: string;
11587
+ siteId: string;
11588
+ }
11197
11589
  interface GetPsksSitePsk {
11198
11590
  /**
11199
11591
  * sso id for psk created from psk portal
@@ -11468,6 +11860,14 @@ export declare namespace site {
11468
11860
  network?: string;
11469
11861
  }
11470
11862
  interface NetworktemplateNetworks {
11863
+ /**
11864
+ * only required for EVPN-VXLAN networks, IPv4 Virtual Gateway
11865
+ */
11866
+ gateway?: string;
11867
+ /**
11868
+ * only required for EVPN-VXLAN networks, IPv6 Virtual Gateway
11869
+ */
11870
+ gateway6?: string;
11471
11871
  /**
11472
11872
  * whether to stop clients to talk to each other, default is false (when enabled, a unique isolationVlanId is required)
11473
11873
  * NOTE: this features requires uplink device to also a be Juniper device and `interSwitchLink` to be set
@@ -11478,6 +11878,10 @@ export declare namespace site {
11478
11878
  * optional for pure switching, required when L3 / routing features are used
11479
11879
  */
11480
11880
  subnet?: string;
11881
+ /**
11882
+ * optional for pure switching, required when L3 / routing features are used
11883
+ */
11884
+ subnet6?: string;
11481
11885
  vlanId: string;
11482
11886
  }
11483
11887
  interface NetworktemplateOspfAreas {
@@ -11552,9 +11956,9 @@ export declare namespace site {
11552
11956
  */
11553
11957
  allNetworks: boolean;
11554
11958
  /**
11555
- * Only if `mode`!=`dynamic` if DHCP snooping is enabled, whether DHCP server is allowed on the interfaces with. All the interfaces from port configs using this port usage are effected. Please notice that allowDhcpd is a tri_state.
11556
- *
11557
- * When it is not defined, it means using the systems default setting which depends on whether the port is a access or trunk port.
11959
+ * Only if `mode`!=`dynamic`. If DHCP snooping is enabled, whether DHCP server is allowed on the interfaces with.
11960
+ * All the interfaces from port configs using this port usage are effected. Please notice that allowDhcpd is a tri_state.
11961
+ * When it is not defined, it means using the system's default setting which depends on whether the port is a access or trunk port.
11558
11962
  */
11559
11963
  allowDhcpd?: boolean;
11560
11964
  /**
@@ -11623,7 +12027,7 @@ export declare namespace site {
11623
12027
  */
11624
12028
  macLimit: number;
11625
12029
  /**
11626
- * `mode`==`dynamic` must only be used with the port usage with the name `dynamic`. enum: `access`, `dynamic`, `inet`, `trunk`
12030
+ * `mode`==`dynamic` must only be used if the port usage name is `dynamic`. enum: `access`, `dynamic`, `inet`, `trunk`
11627
12031
  */
11628
12032
  mode?: string;
11629
12033
  /**
@@ -11671,9 +12075,9 @@ export declare namespace site {
11671
12075
  */
11672
12076
  serverRejectNetwork?: string;
11673
12077
  /**
11674
- * Only if `mode`!=`dynamic` speed, default is auto to automatically negotiate speed
12078
+ * Only if `mode`!=`dynamic` speed, default is auto to automatically negotiate speed enum: `100m`, `10m`, `1g`, `2.5g`, `5g`, `10g`, `25g`, `40g`, `100g`,`auto`
11675
12079
  */
11676
- speed?: string;
12080
+ speed: string;
11677
12081
  /**
11678
12082
  * Switch storm control
11679
12083
  * Only if `mode`!=`dynamic`
@@ -11685,6 +12089,10 @@ export declare namespace site {
11685
12089
  stpEdge: boolean;
11686
12090
  stpNoRootPort: boolean;
11687
12091
  stpP2p: boolean;
12092
+ /**
12093
+ * optional for Campus Fabric Core-Distribution ESI-LAG profile. Helper used by the UI to select this port profile as the ESI-Lag between Distribution and Access switches
12094
+ */
12095
+ uiEvpntopoId?: string;
11688
12096
  /**
11689
12097
  * if this is connected to a vstp network
11690
12098
  */
@@ -12115,28 +12523,48 @@ export declare namespace site {
12115
12523
  }
12116
12524
  interface NetworktemplateSwitchMatching {
12117
12525
  enable?: boolean;
12526
+ /**
12527
+ * list of rules to define custom switch configuration based on different criterias. Each list must have at least one of `matchModel`, `matchName` or `matchRole` must be defined
12528
+ */
12118
12529
  rules?: outputs.site.NetworktemplateSwitchMatchingRule[];
12119
12530
  }
12120
12531
  interface NetworktemplateSwitchMatchingRule {
12121
12532
  /**
12122
- * additional CLI commands to append to the generated Junos config
12123
- *
12124
- * **Note**: no check is done
12533
+ * additional CLI commands to append to the generated Junos config. **Note**: no check is done
12125
12534
  */
12126
- additionalConfigCmds?: string[];
12535
+ additionalConfigCmds: string[];
12127
12536
  /**
12128
12537
  * In-Band Management interface configuration
12129
12538
  */
12130
12539
  ipConfig?: outputs.site.NetworktemplateSwitchMatchingRuleIpConfig;
12131
12540
  /**
12132
- * role to match
12541
+ * string the switch model must start with to use this rule. It is possible to combine with the `matchName` and `matchRole` attributes
12542
+ */
12543
+ matchModel: string;
12544
+ /**
12545
+ * string the switch name must start with to use this rule. Use the `matchNameOffset` to indicate the first character of the switch name to compare to. It is possible to combine with the `matchModel` and `matchRole` attributes
12546
+ */
12547
+ matchName: string;
12548
+ /**
12549
+ * first character of the switch name to compare to the `matchName` value
12550
+ */
12551
+ matchNameOffset: number;
12552
+ /**
12553
+ * string the switch role must start with to use this rule. It is possible to combine with the `matchName` and `matchModel` attributes
12133
12554
  */
12134
12555
  matchRole?: string;
12135
12556
  /**
12136
12557
  * 'property key define the type of matching, value is the string to match. e.g: `match_name[0:3]`, `match_name[2:6]`, `matchModel`, `match_model[0-6]`
12558
+ *
12559
+ * @deprecated The `matchType` attribute has been deprecated in version v0.2.8 of the Juniper-Mist Provider. It has been replaced with the `matchName`, `matchModel` and `matchRole`attribuites and may be removed in future versions.
12560
+ Please update your configurations.
12137
12561
  */
12138
- matchType?: string;
12139
- matchValue?: string;
12562
+ matchType: string;
12563
+ /**
12564
+ * @deprecated The `matchValue` attribute has been deprecated in version v0.2.8 of the Juniper-Mist Provider. It has been replaced with the `matchName`, `matchModel` and `matchRole`attribuites and may be removed in future versions.
12565
+ Please update your configurations.
12566
+ */
12567
+ matchValue: string;
12140
12568
  name?: string;
12141
12569
  /**
12142
12570
  * Out-of-Band Management interface configuration
@@ -12172,7 +12600,7 @@ export declare namespace site {
12172
12600
  */
12173
12601
  type: string;
12174
12602
  /**
12175
- * f supported on the platform. If enabled, DNS will be using this routing-instance, too
12603
+ * if supported on the platform. If enabled, DNS will be using this routing-instance, too
12176
12604
  */
12177
12605
  useMgmtVrf: boolean;
12178
12606
  /**
@@ -12192,7 +12620,7 @@ export declare namespace site {
12192
12620
  /**
12193
12621
  * to use fast timeout
12194
12622
  */
12195
- aeLacpSlow: boolean;
12623
+ aeLacpSlow?: boolean;
12196
12624
  aggregated: boolean;
12197
12625
  /**
12198
12626
  * if want to generate port up/down alarm
@@ -12222,13 +12650,11 @@ export declare namespace site {
12222
12650
  noLocalOverwrite?: boolean;
12223
12651
  poeDisabled: boolean;
12224
12652
  /**
12225
- * enum: `100m`, `10m`, `1g`, `2.5g`, `5g`, `auto`
12653
+ * enum: `100m`, `10m`, `1g`, `2.5g`, `5g`, `10g`, `25g`, `40g`, `100g`,`auto`
12226
12654
  */
12227
12655
  speed: string;
12228
12656
  /**
12229
- * port usage name.
12230
- *
12231
- * If EVPN is used, use `evpnUplink`or `evpnDownlink`
12657
+ * port usage name. If EVPN is used, use `evpnUplink`or `evpnDownlink`
12232
12658
  */
12233
12659
  usage: string;
12234
12660
  }
@@ -12357,16 +12783,6 @@ export declare namespace site {
12357
12783
  secret?: string;
12358
12784
  timeout: number;
12359
12785
  }
12360
- interface NetworktemplateUplinkPortConfig {
12361
- /**
12362
- * Whether to do 802.1x against uplink switch. When enaled, AP cert will be used to do EAP-TLS and the Org's CA Cert has to be provisioned at the switch
12363
- */
12364
- dot1x: boolean;
12365
- /**
12366
- * by default, WLANs are disabled when uplink is down. In some scenario, like SiteSurvey, one would want the AP to keep sending beacons.
12367
- */
12368
- keepWlansUpIfDown: boolean;
12369
- }
12370
12786
  interface NetworktemplateVrfConfig {
12371
12787
  /**
12372
12788
  * whether to enable VRF (when supported on the device)
@@ -12511,7 +12927,7 @@ export declare namespace site {
12511
12927
  */
12512
12928
  ibeaconUuid: string;
12513
12929
  /**
12514
- * required if `powerMode`==`custom`
12930
+ * required if `powerMode`==`custom`; else use `powerMode` as default
12515
12931
  */
12516
12932
  power: number;
12517
12933
  /**
@@ -12830,7 +13246,7 @@ export declare namespace site {
12830
13246
  /**
12831
13247
  * any / HH:MM (24-hour format)
12832
13248
  */
12833
- timeOdFay: string;
13249
+ timeOfDay: string;
12834
13250
  }
12835
13251
  interface SettingUplinkPortConfig {
12836
13252
  /**
@@ -13081,6 +13497,10 @@ export declare namespace site {
13081
13497
  * Auth port of RADIUS server
13082
13498
  */
13083
13499
  port: number;
13500
+ /**
13501
+ * whether to require Message-Authenticator in requests
13502
+ */
13503
+ requireMessageAuthenticator: boolean;
13084
13504
  /**
13085
13505
  * secret of RADIUS server
13086
13506
  */
@@ -13214,6 +13634,15 @@ export declare namespace site {
13214
13634
  venueName?: string;
13215
13635
  }
13216
13636
  interface WlanInjectDhcpOption82 {
13637
+ /**
13638
+ * information to set in the `circuitId` field of the DHCP Option 82. It is possible to use static string or the following variables (e.g. `{{SSID}}:{{AP_MAC}}`):
13639
+ * * {{AP_MAC}}
13640
+ * * {{AP_MAC_DASHED}}
13641
+ * * {{AP_MODEL}}
13642
+ * * {{AP_NAME}}
13643
+ * * {{SITE_NAME}}
13644
+ * * {{SSID}}
13645
+ */
13217
13646
  circuitId?: string;
13218
13647
  /**
13219
13648
  * whether to inject option 82 when forwarding DHCP packets
@@ -13233,6 +13662,10 @@ export declare namespace site {
13233
13662
  enabled: boolean;
13234
13663
  }
13235
13664
  interface WlanPortal {
13665
+ /**
13666
+ * whether to allow guest to connect to other Guest WLANs (with different `WLAN.ssid`) of same org without reauthentication (disable randomMac for seamless roaming)
13667
+ */
13668
+ allowWlanIdRoam: boolean;
13236
13669
  /**
13237
13670
  * amazon OAuth2 client id. This is optional. If not provided, it will use a default one.
13238
13671
  */
@@ -13482,28 +13915,31 @@ export declare namespace site {
13482
13915
  [key: string]: string;
13483
13916
  };
13484
13917
  /**
13485
- * default role to assign if there’s no match. By default, an assertion is treated as invalid when there’s no role matched
13918
+ * if `wlanPortalAuth`==`sso`, default role to assign if there’s no match. By default, an assertion is treated as invalid when there’s no role matched
13486
13919
  */
13487
13920
  ssoDefaultRole: string;
13921
+ /**
13922
+ * if `wlanPortalAuth`==`sso`
13923
+ */
13488
13924
  ssoForcedRole: string;
13489
13925
  /**
13490
- * IDP Cert (used to verify the signed response)
13926
+ * if `wlanPortalAuth`==`sso`, IDP Cert (used to verify the signed response)
13491
13927
  */
13492
13928
  ssoIdpCert: string;
13493
13929
  /**
13494
- * signing algorithm for SAML Assertion
13930
+ * if `wlanPortalAuth`==`sso`, Signing algorithm for SAML Assertion. enum: `sha1`, `sha256`, `sha384`, `sha512`
13495
13931
  */
13496
13932
  ssoIdpSignAlgo: string;
13497
13933
  /**
13498
- * IDP Single-Sign-On URL
13934
+ * if `wlanPortalAuth`==`sso`, IDP Single-Sign-On URL
13499
13935
  */
13500
13936
  ssoIdpSsoUrl: string;
13501
13937
  /**
13502
- * IDP issuer URL
13938
+ * if `wlanPortalAuth`==`sso`, IDP issuer URL
13503
13939
  */
13504
13940
  ssoIssuer: string;
13505
13941
  /**
13506
- * enum: `email`, `unspecified`
13942
+ * if `wlanPortalAuth`==`sso`. enum: `email`, `unspecified`
13507
13943
  */
13508
13944
  ssoNameidFormat: string;
13509
13945
  /**
@@ -14236,6 +14672,33 @@ export declare namespace site {
14236
14672
  host?: string;
14237
14673
  port?: number;
14238
14674
  }
14675
+ interface WlanRateset {
14676
+ /**
14677
+ * if `template`==`custom`. MCS bitmasks for 4 streams (16-bit for each stream, MCS0 is least significant bit), e.g. 00ff 00f0 001f limits HT rates to MCS 0-7 for 1 stream, MCS 4-7 for 2 stream (i.e. MCS 12-15), MCS 1-5 for 3 stream (i.e. MCS 16-20)
14678
+ */
14679
+ ht?: string;
14680
+ /**
14681
+ * if `template`==`custom`. List of supported rates (IE=1) and extended supported rates (IE=50) for custom template, append ‘b’ at the end to indicate a rate being basic/mandatory. If `template`==`custom` is configured and legacy does not define at least one basic rate, it will use `no-legacy` default values. enum: `1`, `11`, `11b`, `12`, `12b`, `18`, `18b`, `1b`, `2`, `24`, `24b`, `2b`, `36`, `36b`, `48`, `48b`, `5.5`, `5.5b`, `54`, `54b`, `6`, `6b`, `9`, `9b`
14682
+ */
14683
+ legacies: string[];
14684
+ /**
14685
+ * Minimum RSSI for client to connect, 0 means not enforcing
14686
+ */
14687
+ minRssi?: number;
14688
+ /**
14689
+ * Data Rates template to apply. enum:
14690
+ * * `no-legacy`: no 11b
14691
+ * * `compatible`: all, like before, default setting that Broadcom/Atheros used
14692
+ * * `legacy-only`: disable 802.11n and 802.11ac
14693
+ * * `high-density`: no 11b, no low rates
14694
+ * * `custom`: user defined
14695
+ */
14696
+ template?: string;
14697
+ /**
14698
+ * if `template`==`custom`. MCS bitmasks for 4 streams (16-bit for each stream, MCS0 is least significant bit), e.g. 03ff 01ff 00ff limits VHT rates to MCS 0-9 for 1 stream, MCS 0-8 for 2 streams, and MCS 0-7 for 3 streams.
14699
+ */
14700
+ vht?: string;
14701
+ }
14239
14702
  interface WlanSchedule {
14240
14703
  enabled: boolean;
14241
14704
  /**