pulumi-juniper-mist 0.7.1__py3-none-any.whl → 0.7.2__py3-none-any.whl

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.
@@ -52,6 +52,10 @@ __all__ = [
52
52
  'NetworktemplateRemoteSyslogServerContent',
53
53
  'NetworktemplateRemoteSyslogUser',
54
54
  'NetworktemplateRemoteSyslogUserContent',
55
+ 'NetworktemplateRoutingPolicies',
56
+ 'NetworktemplateRoutingPoliciesTerm',
57
+ 'NetworktemplateRoutingPoliciesTermActions',
58
+ 'NetworktemplateRoutingPoliciesTermMatching',
55
59
  'NetworktemplateSnmpConfig',
56
60
  'NetworktemplateSnmpConfigClientList',
57
61
  'NetworktemplateSnmpConfigTrapGroup',
@@ -511,12 +515,20 @@ class EvpnTopologySwitches(dict):
511
515
  suggest = None
512
516
  if key == "deviceprofileId":
513
517
  suggest = "deviceprofile_id"
518
+ elif key == "downlinkIps":
519
+ suggest = "downlink_ips"
514
520
  elif key == "evpnId":
515
521
  suggest = "evpn_id"
516
522
  elif key == "routerId":
517
523
  suggest = "router_id"
518
524
  elif key == "siteId":
519
525
  suggest = "site_id"
526
+ elif key == "suggestedDownlinks":
527
+ suggest = "suggested_downlinks"
528
+ elif key == "suggestedEsilaglinks":
529
+ suggest = "suggested_esilaglinks"
530
+ elif key == "suggestedUplinks":
531
+ suggest = "suggested_uplinks"
520
532
 
521
533
  if suggest:
522
534
  pulumi.log.warn(f"Key '{key}' not found in EvpnTopologySwitches. Access the value via the '{suggest}' property getter instead.")
@@ -532,13 +544,20 @@ class EvpnTopologySwitches(dict):
532
544
  def __init__(__self__, *,
533
545
  role: _builtins.str,
534
546
  deviceprofile_id: Optional[_builtins.str] = None,
547
+ downlink_ips: Optional[Sequence[_builtins.str]] = None,
548
+ downlinks: Optional[Sequence[_builtins.str]] = None,
549
+ esilaglinks: Optional[Sequence[_builtins.str]] = None,
535
550
  evpn_id: Optional[_builtins.int] = None,
536
551
  mac: Optional[_builtins.str] = None,
537
552
  model: Optional[_builtins.str] = None,
538
553
  pod: Optional[_builtins.int] = None,
539
554
  pods: Optional[Sequence[_builtins.int]] = None,
540
555
  router_id: Optional[_builtins.str] = None,
541
- site_id: Optional[_builtins.str] = None):
556
+ site_id: Optional[_builtins.str] = None,
557
+ suggested_downlinks: Optional[Sequence[_builtins.str]] = None,
558
+ suggested_esilaglinks: Optional[Sequence[_builtins.str]] = None,
559
+ suggested_uplinks: Optional[Sequence[_builtins.str]] = None,
560
+ uplinks: Optional[Sequence[_builtins.str]] = None):
542
561
  """
543
562
  :param _builtins.str role: use `role`==`none` to remove a switch from the topology. enum: `access`, `collapsed-core`, `core`, `distribution`, `esilag-access`, `none`
544
563
  :param _builtins.int pod: Optionally, for distribution / access / esilag-access, they can be placed into different pods. e.g.
@@ -550,6 +569,12 @@ class EvpnTopologySwitches(dict):
550
569
  pulumi.set(__self__, "role", role)
551
570
  if deviceprofile_id is not None:
552
571
  pulumi.set(__self__, "deviceprofile_id", deviceprofile_id)
572
+ if downlink_ips is not None:
573
+ pulumi.set(__self__, "downlink_ips", downlink_ips)
574
+ if downlinks is not None:
575
+ pulumi.set(__self__, "downlinks", downlinks)
576
+ if esilaglinks is not None:
577
+ pulumi.set(__self__, "esilaglinks", esilaglinks)
553
578
  if evpn_id is not None:
554
579
  pulumi.set(__self__, "evpn_id", evpn_id)
555
580
  if mac is not None:
@@ -564,6 +589,14 @@ class EvpnTopologySwitches(dict):
564
589
  pulumi.set(__self__, "router_id", router_id)
565
590
  if site_id is not None:
566
591
  pulumi.set(__self__, "site_id", site_id)
592
+ if suggested_downlinks is not None:
593
+ pulumi.set(__self__, "suggested_downlinks", suggested_downlinks)
594
+ if suggested_esilaglinks is not None:
595
+ pulumi.set(__self__, "suggested_esilaglinks", suggested_esilaglinks)
596
+ if suggested_uplinks is not None:
597
+ pulumi.set(__self__, "suggested_uplinks", suggested_uplinks)
598
+ if uplinks is not None:
599
+ pulumi.set(__self__, "uplinks", uplinks)
567
600
 
568
601
  @_builtins.property
569
602
  @pulumi.getter
@@ -578,6 +611,21 @@ class EvpnTopologySwitches(dict):
578
611
  def deviceprofile_id(self) -> Optional[_builtins.str]:
579
612
  return pulumi.get(self, "deviceprofile_id")
580
613
 
614
+ @_builtins.property
615
+ @pulumi.getter(name="downlinkIps")
616
+ def downlink_ips(self) -> Optional[Sequence[_builtins.str]]:
617
+ return pulumi.get(self, "downlink_ips")
618
+
619
+ @_builtins.property
620
+ @pulumi.getter
621
+ def downlinks(self) -> Optional[Sequence[_builtins.str]]:
622
+ return pulumi.get(self, "downlinks")
623
+
624
+ @_builtins.property
625
+ @pulumi.getter
626
+ def esilaglinks(self) -> Optional[Sequence[_builtins.str]]:
627
+ return pulumi.get(self, "esilaglinks")
628
+
581
629
  @_builtins.property
582
630
  @pulumi.getter(name="evpnId")
583
631
  def evpn_id(self) -> Optional[_builtins.int]:
@@ -622,6 +670,26 @@ class EvpnTopologySwitches(dict):
622
670
  def site_id(self) -> Optional[_builtins.str]:
623
671
  return pulumi.get(self, "site_id")
624
672
 
673
+ @_builtins.property
674
+ @pulumi.getter(name="suggestedDownlinks")
675
+ def suggested_downlinks(self) -> Optional[Sequence[_builtins.str]]:
676
+ return pulumi.get(self, "suggested_downlinks")
677
+
678
+ @_builtins.property
679
+ @pulumi.getter(name="suggestedEsilaglinks")
680
+ def suggested_esilaglinks(self) -> Optional[Sequence[_builtins.str]]:
681
+ return pulumi.get(self, "suggested_esilaglinks")
682
+
683
+ @_builtins.property
684
+ @pulumi.getter(name="suggestedUplinks")
685
+ def suggested_uplinks(self) -> Optional[Sequence[_builtins.str]]:
686
+ return pulumi.get(self, "suggested_uplinks")
687
+
688
+ @_builtins.property
689
+ @pulumi.getter
690
+ def uplinks(self) -> Optional[Sequence[_builtins.str]]:
691
+ return pulumi.get(self, "uplinks")
692
+
625
693
 
626
694
  @pulumi.output_type
627
695
  class NetworktemplateAclPolicy(dict):
@@ -1828,7 +1896,7 @@ class NetworktemplatePortUsages(dict):
1828
1896
  voip_network: Optional[_builtins.str] = None):
1829
1897
  """
1830
1898
  :param _builtins.bool all_networks: Only if `mode`==`trunk`. Whether to trunk all network/vlans
1831
- :param _builtins.bool allow_dhcpd: Only applies when `mode`!=`dynamic`. Controls whether DHCP server traffic is allowed on ports using this configuration if DHCP snooping is enabled. This is a tri-state setting; true: ports become trusted ports allowing DHCP server traffic, false: ports become untrusted blocking DHCP server traffic, undefined: use system defaults (access ports default to untrusted, trunk ports default to trusted).
1899
+ :param _builtins.bool allow_dhcpd: Only applies when `mode`!=`dynamic`. Controls whether DHCP server traffic is allowed on ports using this configuration if DHCP snooping is enabled. This is a tri-state setting; `true`: ports become trusted ports allowing DHCP server traffic, `false`: ports become untrusted blocking DHCP server traffic, undefined: use system defaults (access ports default to untrusted, trunk ports default to trusted).
1832
1900
  :param _builtins.bool allow_multiple_supplicants: Only if `mode`!=`dynamic`
1833
1901
  :param _builtins.bool bypass_auth_when_server_down: Only if `mode`!=`dynamic` and `port_auth`==`dot1x`. Bypass auth for known clients if set to true when RADIUS server is down
1834
1902
  :param _builtins.bool bypass_auth_when_server_down_for_unknown_client: Only if `mode`!=`dynamic` and `port_auth`=`dot1x`. Bypass auth for all (including unknown clients) if set to true when RADIUS server is down
@@ -1973,7 +2041,7 @@ class NetworktemplatePortUsages(dict):
1973
2041
  @pulumi.getter(name="allowDhcpd")
1974
2042
  def allow_dhcpd(self) -> Optional[_builtins.bool]:
1975
2043
  """
1976
- Only applies when `mode`!=`dynamic`. Controls whether DHCP server traffic is allowed on ports using this configuration if DHCP snooping is enabled. This is a tri-state setting; true: ports become trusted ports allowing DHCP server traffic, false: ports become untrusted blocking DHCP server traffic, undefined: use system defaults (access ports default to untrusted, trunk ports default to trusted).
2044
+ Only applies when `mode`!=`dynamic`. Controls whether DHCP server traffic is allowed on ports using this configuration if DHCP snooping is enabled. This is a tri-state setting; `true`: ports become trusted ports allowing DHCP server traffic, `false`: ports become untrusted blocking DHCP server traffic, undefined: use system defaults (access ports default to untrusted, trunk ports default to trusted).
1977
2045
  """
1978
2046
  return pulumi.get(self, "allow_dhcpd")
1979
2047
 
@@ -3437,6 +3505,201 @@ class NetworktemplateRemoteSyslogUserContent(dict):
3437
3505
  return pulumi.get(self, "severity")
3438
3506
 
3439
3507
 
3508
+ @pulumi.output_type
3509
+ class NetworktemplateRoutingPolicies(dict):
3510
+ def __init__(__self__, *,
3511
+ terms: Optional[Sequence['outputs.NetworktemplateRoutingPoliciesTerm']] = None):
3512
+ """
3513
+ :param Sequence['NetworktemplateRoutingPoliciesTermArgs'] terms: at least criteria/filter must be specified to match the term, all criteria have to be met
3514
+ """
3515
+ if terms is not None:
3516
+ pulumi.set(__self__, "terms", terms)
3517
+
3518
+ @_builtins.property
3519
+ @pulumi.getter
3520
+ def terms(self) -> Optional[Sequence['outputs.NetworktemplateRoutingPoliciesTerm']]:
3521
+ """
3522
+ at least criteria/filter must be specified to match the term, all criteria have to be met
3523
+ """
3524
+ return pulumi.get(self, "terms")
3525
+
3526
+
3527
+ @pulumi.output_type
3528
+ class NetworktemplateRoutingPoliciesTerm(dict):
3529
+ def __init__(__self__, *,
3530
+ name: _builtins.str,
3531
+ actions: Optional['outputs.NetworktemplateRoutingPoliciesTermActions'] = None,
3532
+ matching: Optional['outputs.NetworktemplateRoutingPoliciesTermMatching'] = None):
3533
+ """
3534
+ :param 'NetworktemplateRoutingPoliciesTermActionsArgs' actions: When used as import policy
3535
+ :param 'NetworktemplateRoutingPoliciesTermMatchingArgs' matching: zero or more criteria/filter can be specified to match the term, all criteria have to be met
3536
+ """
3537
+ pulumi.set(__self__, "name", name)
3538
+ if actions is not None:
3539
+ pulumi.set(__self__, "actions", actions)
3540
+ if matching is not None:
3541
+ pulumi.set(__self__, "matching", matching)
3542
+
3543
+ @_builtins.property
3544
+ @pulumi.getter
3545
+ def name(self) -> _builtins.str:
3546
+ return pulumi.get(self, "name")
3547
+
3548
+ @_builtins.property
3549
+ @pulumi.getter
3550
+ def actions(self) -> Optional['outputs.NetworktemplateRoutingPoliciesTermActions']:
3551
+ """
3552
+ When used as import policy
3553
+ """
3554
+ return pulumi.get(self, "actions")
3555
+
3556
+ @_builtins.property
3557
+ @pulumi.getter
3558
+ def matching(self) -> Optional['outputs.NetworktemplateRoutingPoliciesTermMatching']:
3559
+ """
3560
+ zero or more criteria/filter can be specified to match the term, all criteria have to be met
3561
+ """
3562
+ return pulumi.get(self, "matching")
3563
+
3564
+
3565
+ @pulumi.output_type
3566
+ class NetworktemplateRoutingPoliciesTermActions(dict):
3567
+ @staticmethod
3568
+ def __key_warning(key: str):
3569
+ suggest = None
3570
+ if key == "localPreference":
3571
+ suggest = "local_preference"
3572
+ elif key == "prependAsPaths":
3573
+ suggest = "prepend_as_paths"
3574
+
3575
+ if suggest:
3576
+ pulumi.log.warn(f"Key '{key}' not found in NetworktemplateRoutingPoliciesTermActions. Access the value via the '{suggest}' property getter instead.")
3577
+
3578
+ def __getitem__(self, key: str) -> Any:
3579
+ NetworktemplateRoutingPoliciesTermActions.__key_warning(key)
3580
+ return super().__getitem__(key)
3581
+
3582
+ def get(self, key: str, default = None) -> Any:
3583
+ NetworktemplateRoutingPoliciesTermActions.__key_warning(key)
3584
+ return super().get(key, default)
3585
+
3586
+ def __init__(__self__, *,
3587
+ accept: Optional[_builtins.bool] = None,
3588
+ communities: Optional[Sequence[_builtins.str]] = None,
3589
+ local_preference: Optional[_builtins.str] = None,
3590
+ prepend_as_paths: Optional[Sequence[_builtins.str]] = None):
3591
+ """
3592
+ :param Sequence[_builtins.str] communities: When used as export policy, optional
3593
+ :param _builtins.str local_preference: Optional, for an import policy, local_preference can be changed, value in range 1-4294967294. Can be a Variable (e.g. `{{bgp_as}}`)
3594
+ :param Sequence[_builtins.str] prepend_as_paths: When used as export policy, optional. By default, the local AS will be prepended, to change it. Can be a Variable (e.g. `{{as_path}}`)
3595
+ """
3596
+ if accept is not None:
3597
+ pulumi.set(__self__, "accept", accept)
3598
+ if communities is not None:
3599
+ pulumi.set(__self__, "communities", communities)
3600
+ if local_preference is not None:
3601
+ pulumi.set(__self__, "local_preference", local_preference)
3602
+ if prepend_as_paths is not None:
3603
+ pulumi.set(__self__, "prepend_as_paths", prepend_as_paths)
3604
+
3605
+ @_builtins.property
3606
+ @pulumi.getter
3607
+ def accept(self) -> Optional[_builtins.bool]:
3608
+ return pulumi.get(self, "accept")
3609
+
3610
+ @_builtins.property
3611
+ @pulumi.getter
3612
+ def communities(self) -> Optional[Sequence[_builtins.str]]:
3613
+ """
3614
+ When used as export policy, optional
3615
+ """
3616
+ return pulumi.get(self, "communities")
3617
+
3618
+ @_builtins.property
3619
+ @pulumi.getter(name="localPreference")
3620
+ def local_preference(self) -> Optional[_builtins.str]:
3621
+ """
3622
+ Optional, for an import policy, local_preference can be changed, value in range 1-4294967294. Can be a Variable (e.g. `{{bgp_as}}`)
3623
+ """
3624
+ return pulumi.get(self, "local_preference")
3625
+
3626
+ @_builtins.property
3627
+ @pulumi.getter(name="prependAsPaths")
3628
+ def prepend_as_paths(self) -> Optional[Sequence[_builtins.str]]:
3629
+ """
3630
+ When used as export policy, optional. By default, the local AS will be prepended, to change it. Can be a Variable (e.g. `{{as_path}}`)
3631
+ """
3632
+ return pulumi.get(self, "prepend_as_paths")
3633
+
3634
+
3635
+ @pulumi.output_type
3636
+ class NetworktemplateRoutingPoliciesTermMatching(dict):
3637
+ @staticmethod
3638
+ def __key_warning(key: str):
3639
+ suggest = None
3640
+ if key == "asPaths":
3641
+ suggest = "as_paths"
3642
+
3643
+ if suggest:
3644
+ pulumi.log.warn(f"Key '{key}' not found in NetworktemplateRoutingPoliciesTermMatching. Access the value via the '{suggest}' property getter instead.")
3645
+
3646
+ def __getitem__(self, key: str) -> Any:
3647
+ NetworktemplateRoutingPoliciesTermMatching.__key_warning(key)
3648
+ return super().__getitem__(key)
3649
+
3650
+ def get(self, key: str, default = None) -> Any:
3651
+ NetworktemplateRoutingPoliciesTermMatching.__key_warning(key)
3652
+ return super().get(key, default)
3653
+
3654
+ def __init__(__self__, *,
3655
+ as_paths: Optional[Sequence[_builtins.str]] = None,
3656
+ communities: Optional[Sequence[_builtins.str]] = None,
3657
+ prefixes: Optional[Sequence[_builtins.str]] = None,
3658
+ protocols: Optional[Sequence[_builtins.str]] = None):
3659
+ """
3660
+ :param Sequence[_builtins.str] as_paths: BGP AS, value in range 1-4294967294. Can be a Variable (e.g. `{{bgp_as}}`)
3661
+ :param Sequence[_builtins.str] prefixes: zero or more criteria/filter can be specified to match the term, all criteria have to be met
3662
+ :param Sequence[_builtins.str] protocols: enum: `bgp`, `direct`, `evpn`, `ospf`, `static`
3663
+ """
3664
+ if as_paths is not None:
3665
+ pulumi.set(__self__, "as_paths", as_paths)
3666
+ if communities is not None:
3667
+ pulumi.set(__self__, "communities", communities)
3668
+ if prefixes is not None:
3669
+ pulumi.set(__self__, "prefixes", prefixes)
3670
+ if protocols is not None:
3671
+ pulumi.set(__self__, "protocols", protocols)
3672
+
3673
+ @_builtins.property
3674
+ @pulumi.getter(name="asPaths")
3675
+ def as_paths(self) -> Optional[Sequence[_builtins.str]]:
3676
+ """
3677
+ BGP AS, value in range 1-4294967294. Can be a Variable (e.g. `{{bgp_as}}`)
3678
+ """
3679
+ return pulumi.get(self, "as_paths")
3680
+
3681
+ @_builtins.property
3682
+ @pulumi.getter
3683
+ def communities(self) -> Optional[Sequence[_builtins.str]]:
3684
+ return pulumi.get(self, "communities")
3685
+
3686
+ @_builtins.property
3687
+ @pulumi.getter
3688
+ def prefixes(self) -> Optional[Sequence[_builtins.str]]:
3689
+ """
3690
+ zero or more criteria/filter can be specified to match the term, all criteria have to be met
3691
+ """
3692
+ return pulumi.get(self, "prefixes")
3693
+
3694
+ @_builtins.property
3695
+ @pulumi.getter
3696
+ def protocols(self) -> Optional[Sequence[_builtins.str]]:
3697
+ """
3698
+ enum: `bgp`, `direct`, `evpn`, `ospf`, `static`
3699
+ """
3700
+ return pulumi.get(self, "protocols")
3701
+
3702
+
3440
3703
  @pulumi.output_type
3441
3704
  class NetworktemplateSnmpConfig(dict):
3442
3705
  @staticmethod
@@ -4907,6 +5170,7 @@ class NetworktemplateSwitchMatchingRulePortConfig(dict):
4907
5170
  dynamic_usage: Optional[_builtins.str] = None,
4908
5171
  esilag: Optional[_builtins.bool] = None,
4909
5172
  mtu: Optional[_builtins.int] = None,
5173
+ networks: Optional[Sequence[_builtins.str]] = None,
4910
5174
  no_local_overwrite: Optional[_builtins.bool] = None,
4911
5175
  poe_disabled: Optional[_builtins.bool] = None,
4912
5176
  port_network: Optional[_builtins.str] = None,
@@ -4921,6 +5185,7 @@ class NetworktemplateSwitchMatchingRulePortConfig(dict):
4921
5185
  :param _builtins.str duplex: enum: `auto`, `full`, `half`
4922
5186
  :param _builtins.str dynamic_usage: Enable dynamic usage for this port. Set to `dynamic` to enable.
4923
5187
  :param _builtins.int mtu: Media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation
5188
+ :param Sequence[_builtins.str] networks: List of network names. Required if `usage`==`inet`
4924
5189
  :param _builtins.bool no_local_overwrite: Prevent helpdesk to override the port config
4925
5190
  :param _builtins.str port_network: Required if `usage`==`vlan_tunnel`. Q-in-Q tunneling using All-in-one bundling. This also enables standard L2PT for interfaces that are not encapsulation tunnel interfaces and uses MAC rewrite operation. [View more information](https://www.juniper.net/documentation/us/en/software/junos/multicast-l2/topics/topic-map/q-in-q.html#id-understanding-qinq-tunneling-and-vlan-translation)
4926
5191
  :param _builtins.str speed: enum: `100m`, `10m`, `1g`, `2.5g`, `5g`, `10g`, `25g`, `40g`, `100g`,`auto`
@@ -4948,6 +5213,8 @@ class NetworktemplateSwitchMatchingRulePortConfig(dict):
4948
5213
  pulumi.set(__self__, "esilag", esilag)
4949
5214
  if mtu is not None:
4950
5215
  pulumi.set(__self__, "mtu", mtu)
5216
+ if networks is not None:
5217
+ pulumi.set(__self__, "networks", networks)
4951
5218
  if no_local_overwrite is not None:
4952
5219
  pulumi.set(__self__, "no_local_overwrite", no_local_overwrite)
4953
5220
  if poe_disabled is not None:
@@ -5044,6 +5311,14 @@ class NetworktemplateSwitchMatchingRulePortConfig(dict):
5044
5311
  """
5045
5312
  return pulumi.get(self, "mtu")
5046
5313
 
5314
+ @_builtins.property
5315
+ @pulumi.getter
5316
+ def networks(self) -> Optional[Sequence[_builtins.str]]:
5317
+ """
5318
+ List of network names. Required if `usage`==`inet`
5319
+ """
5320
+ return pulumi.get(self, "networks")
5321
+
5047
5322
  @_builtins.property
5048
5323
  @pulumi.getter(name="noLocalOverwrite")
5049
5324
  def no_local_overwrite(self) -> Optional[_builtins.bool]:
@@ -15436,6 +15711,7 @@ class GetEvpnTopologiesSiteEvpnTopologyEvpnOptionsResult(dict):
15436
15711
  auto_router_id_subnet: _builtins.str,
15437
15712
  auto_router_id_subnet6: _builtins.str,
15438
15713
  core_as_border: _builtins.bool,
15714
+ enable_inband_ztp: _builtins.bool,
15439
15715
  overlay: 'outputs.GetEvpnTopologiesSiteEvpnTopologyEvpnOptionsOverlayResult',
15440
15716
  per_vlan_vga_v4_mac: _builtins.bool,
15441
15717
  per_vlan_vga_v6_mac: _builtins.bool,
@@ -15448,6 +15724,7 @@ class GetEvpnTopologiesSiteEvpnTopologyEvpnOptionsResult(dict):
15448
15724
  :param _builtins.str auto_router_id_subnet: Optional, this generates router_id automatically, if specified, `router_id_prefix` is ignored
15449
15725
  :param _builtins.str auto_router_id_subnet6: Optional, this generates router_id automatically, if specified, `router_id_prefix` is ignored
15450
15726
  :param _builtins.bool core_as_border: Optional, for ERB or CLOS, you can either use esilag to upstream routers or to also be the virtual-gateway. When `routed_at` != `core`, whether to do virtual-gateway at core as well
15727
+ :param _builtins.bool enable_inband_ztp: if the mangement traffic goes inbnd, during installation, only the border/core switches are connected to the Internet to allow initial configuration to be pushed down and leave the downstream access switches stay in the Factory Default state enabling inband-ztp allows upstream switches to use LLDP to assign IP and gives Internet to downstream switches in that state
15451
15728
  :param _builtins.bool per_vlan_vga_v4_mac: Only for by Core-Distribution architecture when `evpn_options.routed_at`==`core`. By default, JUNOS uses 00-00-5e-00-01-01 as the virtual-gateway-address's v4*mac. If enabled, 00-00-5e-00-0X-YY will be used (where XX=vlan*id/256, YY=vlan_id%256)
15452
15729
  :param _builtins.bool per_vlan_vga_v6_mac: Only for by Core-Distribution architecture when `evpn_options.routed_at`==`core`. By default, JUNOS uses 00-00-5e-00-02-01 as the virtual-gateway-address's v6*mac. If enabled, 00-00-5e-00-1X-YY will be used (where XX=vlan*id/256, YY=vlan_id%256)
15453
15730
  :param _builtins.str routed_at: optional, where virtual-gateway should reside. enum: `core`, `distribution`, `edge`
@@ -15458,6 +15735,7 @@ class GetEvpnTopologiesSiteEvpnTopologyEvpnOptionsResult(dict):
15458
15735
  pulumi.set(__self__, "auto_router_id_subnet", auto_router_id_subnet)
15459
15736
  pulumi.set(__self__, "auto_router_id_subnet6", auto_router_id_subnet6)
15460
15737
  pulumi.set(__self__, "core_as_border", core_as_border)
15738
+ pulumi.set(__self__, "enable_inband_ztp", enable_inband_ztp)
15461
15739
  pulumi.set(__self__, "overlay", overlay)
15462
15740
  pulumi.set(__self__, "per_vlan_vga_v4_mac", per_vlan_vga_v4_mac)
15463
15741
  pulumi.set(__self__, "per_vlan_vga_v6_mac", per_vlan_vga_v6_mac)
@@ -15505,6 +15783,14 @@ class GetEvpnTopologiesSiteEvpnTopologyEvpnOptionsResult(dict):
15505
15783
  """
15506
15784
  return pulumi.get(self, "core_as_border")
15507
15785
 
15786
+ @_builtins.property
15787
+ @pulumi.getter(name="enableInbandZtp")
15788
+ def enable_inband_ztp(self) -> _builtins.bool:
15789
+ """
15790
+ if the mangement traffic goes inbnd, during installation, only the border/core switches are connected to the Internet to allow initial configuration to be pushed down and leave the downstream access switches stay in the Factory Default state enabling inband-ztp allows upstream switches to use LLDP to assign IP and gives Internet to downstream switches in that state
15791
+ """
15792
+ return pulumi.get(self, "enable_inband_ztp")
15793
+
15508
15794
  @_builtins.property
15509
15795
  @pulumi.getter
15510
15796
  def overlay(self) -> 'outputs.GetEvpnTopologiesSiteEvpnTopologyEvpnOptionsOverlayResult':
@@ -15831,6 +16117,7 @@ class GetPsksSitePskResult(dict):
15831
16117
  @pulumi.output_type
15832
16118
  class GetWebhooksSiteWebhookResult(dict):
15833
16119
  def __init__(__self__, *,
16120
+ assetfilter_ids: Sequence[_builtins.str],
15834
16121
  created_time: _builtins.float,
15835
16122
  enabled: _builtins.bool,
15836
16123
  headers: Mapping[str, _builtins.str],
@@ -15854,6 +16141,7 @@ class GetWebhooksSiteWebhookResult(dict):
15854
16141
  url: _builtins.str,
15855
16142
  verify_cert: _builtins.bool):
15856
16143
  """
16144
+ :param Sequence[_builtins.str] assetfilter_ids: Only if `type`==`asset-raw-rssi`. List of ids to associated asset filters. These filters will be applied to messages routed to a filtered-asset-rssi webhook
15857
16145
  :param _builtins.float created_time: When the object has been created, in epoch
15858
16146
  :param _builtins.bool enabled: Whether webhook is enabled
15859
16147
  :param Mapping[str, _builtins.str] headers: If `type`=`http-post`, additional custom HTTP headers to add. The headers name and value must be string, total bytes of headers name and value must be less than 1000
@@ -15874,6 +16162,7 @@ class GetWebhooksSiteWebhookResult(dict):
15874
16162
  :param _builtins.str type: enum: `aws-sns`, `google-pubsub`, `http-post`, `oauth2`, `splunk`
15875
16163
  :param _builtins.bool verify_cert: When url uses HTTPS, whether to verify the certificate
15876
16164
  """
16165
+ pulumi.set(__self__, "assetfilter_ids", assetfilter_ids)
15877
16166
  pulumi.set(__self__, "created_time", created_time)
15878
16167
  pulumi.set(__self__, "enabled", enabled)
15879
16168
  pulumi.set(__self__, "headers", headers)
@@ -15897,6 +16186,14 @@ class GetWebhooksSiteWebhookResult(dict):
15897
16186
  pulumi.set(__self__, "url", url)
15898
16187
  pulumi.set(__self__, "verify_cert", verify_cert)
15899
16188
 
16189
+ @_builtins.property
16190
+ @pulumi.getter(name="assetfilterIds")
16191
+ def assetfilter_ids(self) -> Sequence[_builtins.str]:
16192
+ """
16193
+ Only if `type`==`asset-raw-rssi`. List of ids to associated asset filters. These filters will be applied to messages routed to a filtered-asset-rssi webhook
16194
+ """
16195
+ return pulumi.get(self, "assetfilter_ids")
16196
+
15900
16197
  @_builtins.property
15901
16198
  @pulumi.getter(name="createdTime")
15902
16199
  def created_time(self) -> _builtins.float:
@@ -16171,12 +16468,12 @@ class GetWlansSiteWlanResult(dict):
16171
16468
  :param _builtins.int acct_interim_interval: 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
16172
16469
  :param Sequence['GetWlansSiteWlanAcctServerArgs'] acct_servers: List of RADIUS accounting servers, optional, order matters where the first one is treated as primary
16173
16470
  :param 'GetWlansSiteWlanAirwatchArgs' airwatch: Airwatch wlan settings
16174
- :param _builtins.bool allow_ipv6_ndp: Only applicable when limit_bcast==true, which allows or disallows ipv6 Neighbor Discovery packets to go through
16175
- :param _builtins.bool allow_mdns: Only applicable when limit_bcast==true, which allows mDNS / Bonjour packets to go through
16471
+ :param _builtins.bool allow_ipv6_ndp: Only applicable when `limit_bcast`==`true`, which allows or disallows ipv6 Neighbor Discovery packets to go through
16472
+ :param _builtins.bool allow_mdns: Only applicable when `limit_bcast`==`true`, which allows mDNS / Bonjour packets to go through
16176
16473
  :param _builtins.bool allow_ssdp: Only applicable when `limit_bcast`==`true`, which allows SSDP
16177
16474
  :param Sequence[_builtins.str] ap_ids: List of device ids
16178
16475
  :param 'GetWlansSiteWlanAppLimitArgs' app_limit: Bandwidth limiting for apps (applies to up/down)
16179
- :param 'GetWlansSiteWlanAppQosArgs' app_qos: APp qos wlan settings
16476
+ :param 'GetWlansSiteWlanAppQosArgs' app_qos: APP qos wlan settings
16180
16477
  :param _builtins.str apply_to: enum: `aps`, `site`, `wxtags`
16181
16478
  :param _builtins.bool arp_filter: Whether to enable smart arp filter
16182
16479
  :param 'GetWlansSiteWlanAuthArgs' auth: Authentication wlan settings
@@ -16243,9 +16540,10 @@ class GetWlansSiteWlanResult(dict):
16243
16540
  :param 'GetWlansSiteWlanPortalArgs' portal: Portal wlan settings
16244
16541
  :param Sequence[_builtins.str] portal_allowed_hostnames: List of hostnames without http(s):// (matched by substring)
16245
16542
  :param Sequence[_builtins.str] portal_allowed_subnets: List of CIDRs
16246
- :param _builtins.str portal_api_secret: APi secret (auto-generated) that can be used to sign guest authorization requests
16543
+ :param _builtins.str portal_api_secret: API secret (auto-generated) that can be used to sign guest authorization requests, only generated when auth is set to `external`
16247
16544
  :param Sequence[_builtins.str] portal_denied_hostnames: List of hostnames without http(s):// (matched by substring), this takes precedence over portal_allowed_hostnames
16248
16545
  :param _builtins.str portal_image: Url of portal background image
16546
+ :param _builtins.str portal_sso_url: URL used in the SSO process, auto-generated when auth is set to `sso`
16249
16547
  :param 'GetWlansSiteWlanRadsecArgs' radsec: RadSec settings
16250
16548
  :param Mapping[str, 'GetWlansSiteWlanRatesetArgs'] rateset: Property key is the RF band. enum: `24`, `5`, `6`
16251
16549
  :param _builtins.bool reconnect_clients_when_roaming_mxcluster: When different mxcluster is on different subnet, we'd want to disconnect clients (so they'll reconnect and get new IPs)
@@ -16398,7 +16696,7 @@ class GetWlansSiteWlanResult(dict):
16398
16696
  @pulumi.getter(name="allowIpv6Ndp")
16399
16697
  def allow_ipv6_ndp(self) -> _builtins.bool:
16400
16698
  """
16401
- Only applicable when limit_bcast==true, which allows or disallows ipv6 Neighbor Discovery packets to go through
16699
+ Only applicable when `limit_bcast`==`true`, which allows or disallows ipv6 Neighbor Discovery packets to go through
16402
16700
  """
16403
16701
  return pulumi.get(self, "allow_ipv6_ndp")
16404
16702
 
@@ -16406,7 +16704,7 @@ class GetWlansSiteWlanResult(dict):
16406
16704
  @pulumi.getter(name="allowMdns")
16407
16705
  def allow_mdns(self) -> _builtins.bool:
16408
16706
  """
16409
- Only applicable when limit_bcast==true, which allows mDNS / Bonjour packets to go through
16707
+ Only applicable when `limit_bcast`==`true`, which allows mDNS / Bonjour packets to go through
16410
16708
  """
16411
16709
  return pulumi.get(self, "allow_mdns")
16412
16710
 
@@ -16438,7 +16736,7 @@ class GetWlansSiteWlanResult(dict):
16438
16736
  @pulumi.getter(name="appQos")
16439
16737
  def app_qos(self) -> 'outputs.GetWlansSiteWlanAppQosResult':
16440
16738
  """
16441
- APp qos wlan settings
16739
+ APP qos wlan settings
16442
16740
  """
16443
16741
  return pulumi.get(self, "app_qos")
16444
16742
 
@@ -16937,7 +17235,7 @@ class GetWlansSiteWlanResult(dict):
16937
17235
  @pulumi.getter(name="portalApiSecret")
16938
17236
  def portal_api_secret(self) -> _builtins.str:
16939
17237
  """
16940
- APi secret (auto-generated) that can be used to sign guest authorization requests
17238
+ API secret (auto-generated) that can be used to sign guest authorization requests, only generated when auth is set to `external`
16941
17239
  """
16942
17240
  return pulumi.get(self, "portal_api_secret")
16943
17241
 
@@ -16960,6 +17258,9 @@ class GetWlansSiteWlanResult(dict):
16960
17258
  @_builtins.property
16961
17259
  @pulumi.getter(name="portalSsoUrl")
16962
17260
  def portal_sso_url(self) -> _builtins.str:
17261
+ """
17262
+ URL used in the SSO process, auto-generated when auth is set to `sso`
17263
+ """
16963
17264
  return pulumi.get(self, "portal_sso_url")
16964
17265
 
16965
17266
  @_builtins.property
@@ -18025,8 +18326,21 @@ class GetWlansSiteWlanInjectDhcpOption82Result(dict):
18025
18326
  @pulumi.output_type
18026
18327
  class GetWlansSiteWlanMistNacResult(dict):
18027
18328
  def __init__(__self__, *,
18028
- enabled: _builtins.bool):
18329
+ acct_interim_interval: _builtins.int,
18330
+ auth_servers_retries: _builtins.int,
18331
+ auth_servers_timeout: _builtins.int,
18332
+ coa_enabled: _builtins.bool,
18333
+ coa_port: _builtins.int,
18334
+ enabled: _builtins.bool,
18335
+ fast_dot1x_timers: _builtins.bool,
18336
+ network: _builtins.str,
18337
+ source_ip: _builtins.str):
18029
18338
  """
18339
+ :param _builtins.int acct_interim_interval: 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.
18340
+ :param _builtins.int auth_servers_retries: Radius auth session retries. Following fast timers are set if `fast_dot1x_timers` knob is enabled. "retries" are set to value of `auth_servers_timeout`. "max-requests" is also set when setting `auth_servers_retries` is set to default value to 3.
18341
+ :param _builtins.int auth_servers_timeout: Radius auth session timeout. Following fast timers are set if `fast_dot1x_timers` knob is enabled. "quite-period" and "transmit-period" are set to half the value of `auth_servers_timeout`. "supplicant-timeout" is also set when setting `auth_servers_timeout` is set to default value of 10.
18342
+ :param _builtins.bool coa_enabled: Allows a RADIUS server to dynamically modify the authorization status of a user session.
18343
+ :param _builtins.int coa_port: the communication port used for “Change of Authorization” (CoA) messages
18030
18344
  :param _builtins.bool enabled: When enabled:
18031
18345
  * `auth_servers` is ignored
18032
18346
  * `acct_servers` is ignored
@@ -18034,8 +18348,59 @@ class GetWlansSiteWlanMistNacResult(dict):
18034
18348
  * `coa_servers` is ignored
18035
18349
  * `radsec` is ignored
18036
18350
  * `coa_enabled` is assumed
18351
+ :param _builtins.bool fast_dot1x_timers: If set to true, sets default fast-timers with values calculated from `auth_servers_timeout` and `auth_server_retries`.
18352
+ :param _builtins.str network: Which network the mist nac server resides in
18353
+ :param _builtins.str source_ip: In case there is a static IP for this network, we can specify it using source ip
18037
18354
  """
18355
+ pulumi.set(__self__, "acct_interim_interval", acct_interim_interval)
18356
+ pulumi.set(__self__, "auth_servers_retries", auth_servers_retries)
18357
+ pulumi.set(__self__, "auth_servers_timeout", auth_servers_timeout)
18358
+ pulumi.set(__self__, "coa_enabled", coa_enabled)
18359
+ pulumi.set(__self__, "coa_port", coa_port)
18038
18360
  pulumi.set(__self__, "enabled", enabled)
18361
+ pulumi.set(__self__, "fast_dot1x_timers", fast_dot1x_timers)
18362
+ pulumi.set(__self__, "network", network)
18363
+ pulumi.set(__self__, "source_ip", source_ip)
18364
+
18365
+ @_builtins.property
18366
+ @pulumi.getter(name="acctInterimInterval")
18367
+ def acct_interim_interval(self) -> _builtins.int:
18368
+ """
18369
+ 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.
18370
+ """
18371
+ return pulumi.get(self, "acct_interim_interval")
18372
+
18373
+ @_builtins.property
18374
+ @pulumi.getter(name="authServersRetries")
18375
+ def auth_servers_retries(self) -> _builtins.int:
18376
+ """
18377
+ Radius auth session retries. Following fast timers are set if `fast_dot1x_timers` knob is enabled. "retries" are set to value of `auth_servers_timeout`. "max-requests" is also set when setting `auth_servers_retries` is set to default value to 3.
18378
+ """
18379
+ return pulumi.get(self, "auth_servers_retries")
18380
+
18381
+ @_builtins.property
18382
+ @pulumi.getter(name="authServersTimeout")
18383
+ def auth_servers_timeout(self) -> _builtins.int:
18384
+ """
18385
+ Radius auth session timeout. Following fast timers are set if `fast_dot1x_timers` knob is enabled. "quite-period" and "transmit-period" are set to half the value of `auth_servers_timeout`. "supplicant-timeout" is also set when setting `auth_servers_timeout` is set to default value of 10.
18386
+ """
18387
+ return pulumi.get(self, "auth_servers_timeout")
18388
+
18389
+ @_builtins.property
18390
+ @pulumi.getter(name="coaEnabled")
18391
+ def coa_enabled(self) -> _builtins.bool:
18392
+ """
18393
+ Allows a RADIUS server to dynamically modify the authorization status of a user session.
18394
+ """
18395
+ return pulumi.get(self, "coa_enabled")
18396
+
18397
+ @_builtins.property
18398
+ @pulumi.getter(name="coaPort")
18399
+ def coa_port(self) -> _builtins.int:
18400
+ """
18401
+ the communication port used for “Change of Authorization” (CoA) messages
18402
+ """
18403
+ return pulumi.get(self, "coa_port")
18039
18404
 
18040
18405
  @_builtins.property
18041
18406
  @pulumi.getter
@@ -18051,6 +18416,30 @@ class GetWlansSiteWlanMistNacResult(dict):
18051
18416
  """
18052
18417
  return pulumi.get(self, "enabled")
18053
18418
 
18419
+ @_builtins.property
18420
+ @pulumi.getter(name="fastDot1xTimers")
18421
+ def fast_dot1x_timers(self) -> _builtins.bool:
18422
+ """
18423
+ If set to true, sets default fast-timers with values calculated from `auth_servers_timeout` and `auth_server_retries`.
18424
+ """
18425
+ return pulumi.get(self, "fast_dot1x_timers")
18426
+
18427
+ @_builtins.property
18428
+ @pulumi.getter
18429
+ def network(self) -> _builtins.str:
18430
+ """
18431
+ Which network the mist nac server resides in
18432
+ """
18433
+ return pulumi.get(self, "network")
18434
+
18435
+ @_builtins.property
18436
+ @pulumi.getter(name="sourceIp")
18437
+ def source_ip(self) -> _builtins.str:
18438
+ """
18439
+ In case there is a static IP for this network, we can specify it using source ip
18440
+ """
18441
+ return pulumi.get(self, "source_ip")
18442
+
18054
18443
 
18055
18444
  @pulumi.output_type
18056
18445
  class GetWlansSiteWlanPortalResult(dict):
@@ -18109,6 +18498,8 @@ class GetWlansSiteWlanPortalResult(dict):
18109
18498
  sms_expire: _builtins.int,
18110
18499
  sms_message_format: _builtins.str,
18111
18500
  sms_provider: _builtins.str,
18501
+ smsglobal_api_key: _builtins.str,
18502
+ smsglobal_api_secret: _builtins.str,
18112
18503
  sponsor_auto_approve: _builtins.bool,
18113
18504
  sponsor_email_domains: Sequence[_builtins.str],
18114
18505
  sponsor_enabled: _builtins.bool,
@@ -18174,7 +18565,7 @@ class GetWlansSiteWlanPortalResult(dict):
18174
18565
  :param _builtins.bool passphrase_enabled: Whether password is enabled
18175
18566
  :param _builtins.int passphrase_expire: Optional if `passphrase_enabled`==`true`. Interval for which guest remains authorized using passphrase auth (in minutes), if not provided, uses `expire`
18176
18567
  :param _builtins.str password: Required if `passphrase_enabled`==`true`.
18177
- :param _builtins.bool predefined_sponsors_enabled: Whether to show list of sponsor emails mentioned in `sponsors` object as a dropdown. If both `sponsor_notify_all` and `predefined_sponsors_enabled` are false, behaviour is acc to `sponsor_email_domains`
18568
+ :param _builtins.bool predefined_sponsors_enabled: Whether to show list of sponsor emails mentioned in `sponsors` object as a dropdown. If both `sponsor_notify_all` and `predefined_sponsors_enabled` are false, behavior is acc to `sponsor_email_domains`
18178
18569
  :param _builtins.bool predefined_sponsors_hide_email: Whether to hide sponsor’s email from list of sponsors
18179
18570
  :param _builtins.str puzzel_password: Required if `sms_provider`==`puzzel`
18180
18571
  :param _builtins.str puzzel_service_id: Required if `sms_provider`==`puzzel`
@@ -18182,7 +18573,9 @@ class GetWlansSiteWlanPortalResult(dict):
18182
18573
  :param _builtins.bool sms_enabled: Whether sms is enabled as a login method
18183
18574
  :param _builtins.int sms_expire: Optional if `sms_enabled`==`true`. Interval for which guest remains authorized using sms auth (in minutes), if not provided, uses expire`
18184
18575
  :param _builtins.str sms_message_format: Optional if `sms_enabled`==`true`. SMS Message format
18185
- :param _builtins.str sms_provider: Optioanl if `sms_enabled`==`true`. enum: `broadnet`, `clickatell`, `gupshup`, `manual`, `puzzel`, `telstra`, `twilio`
18576
+ :param _builtins.str sms_provider: Optional if `sms_enabled`==`true`. enum: `broadnet`, `clickatell`, `gupshup`, `manual`, `puzzel`, `smsglobal`, `telstra`, `twilio`
18577
+ :param _builtins.str smsglobal_api_key: Required if `sms_provider`==`smsglobal`, Client API Key
18578
+ :param _builtins.str smsglobal_api_secret: Required if `sms_provider`==`smsglobal`, Client secret
18186
18579
  :param _builtins.bool sponsor_auto_approve: Optional if `sponsor_enabled`==`true`. Whether to automatically approve guest and allow sponsor to revoke guest access, needs predefined_sponsors_enabled enabled and sponsor_notify_all disabled
18187
18580
  :param Sequence[_builtins.str] sponsor_email_domains: List of domain allowed for sponsor email. Required if `sponsor_enabled` is `true` and `sponsors` is empty.
18188
18581
  :param _builtins.bool sponsor_enabled: Whether sponsor is enabled
@@ -18196,7 +18589,7 @@ class GetWlansSiteWlanPortalResult(dict):
18196
18589
  :param _builtins.str sso_default_role: Optional if `wlan_portal_auth`==`sso`, default role to assign if there’s no match. By default, an assertion is treated as invalid when there’s no role matched
18197
18590
  :param _builtins.str sso_forced_role: Optional if `wlan_portal_auth`==`sso`
18198
18591
  :param _builtins.str sso_idp_cert: Required if `wlan_portal_auth`==`sso`. IDP Cert (used to verify the signed response)
18199
- :param _builtins.str sso_idp_sign_algo: Optioanl if `wlan_portal_auth`==`sso`, Signing algorithm for SAML Assertion. enum: `sha1`, `sha256`, `sha384`, `sha512`
18592
+ :param _builtins.str sso_idp_sign_algo: Optional if `wlan_portal_auth`==`sso`, Signing algorithm for SAML Assertion. enum: `sha1`, `sha256`, `sha384`, `sha512`
18200
18593
  :param _builtins.str sso_idp_sso_url: Required if `wlan_portal_auth`==`sso`, IDP Single-Sign-On URL
18201
18594
  :param _builtins.str sso_issuer: Required if `wlan_portal_auth`==`sso`, IDP issuer URL
18202
18595
  :param _builtins.str sso_nameid_format: Optional if `wlan_portal_auth`==`sso`. enum: `email`, `unspecified`
@@ -18260,6 +18653,8 @@ class GetWlansSiteWlanPortalResult(dict):
18260
18653
  pulumi.set(__self__, "sms_expire", sms_expire)
18261
18654
  pulumi.set(__self__, "sms_message_format", sms_message_format)
18262
18655
  pulumi.set(__self__, "sms_provider", sms_provider)
18656
+ pulumi.set(__self__, "smsglobal_api_key", smsglobal_api_key)
18657
+ pulumi.set(__self__, "smsglobal_api_secret", smsglobal_api_secret)
18263
18658
  pulumi.set(__self__, "sponsor_auto_approve", sponsor_auto_approve)
18264
18659
  pulumi.set(__self__, "sponsor_email_domains", sponsor_email_domains)
18265
18660
  pulumi.set(__self__, "sponsor_enabled", sponsor_enabled)
@@ -18637,7 +19032,7 @@ class GetWlansSiteWlanPortalResult(dict):
18637
19032
  @pulumi.getter(name="predefinedSponsorsEnabled")
18638
19033
  def predefined_sponsors_enabled(self) -> _builtins.bool:
18639
19034
  """
18640
- Whether to show list of sponsor emails mentioned in `sponsors` object as a dropdown. If both `sponsor_notify_all` and `predefined_sponsors_enabled` are false, behaviour is acc to `sponsor_email_domains`
19035
+ Whether to show list of sponsor emails mentioned in `sponsors` object as a dropdown. If both `sponsor_notify_all` and `predefined_sponsors_enabled` are false, behavior is acc to `sponsor_email_domains`
18641
19036
  """
18642
19037
  return pulumi.get(self, "predefined_sponsors_enabled")
18643
19038
 
@@ -18706,10 +19101,26 @@ class GetWlansSiteWlanPortalResult(dict):
18706
19101
  @pulumi.getter(name="smsProvider")
18707
19102
  def sms_provider(self) -> _builtins.str:
18708
19103
  """
18709
- Optioanl if `sms_enabled`==`true`. enum: `broadnet`, `clickatell`, `gupshup`, `manual`, `puzzel`, `telstra`, `twilio`
19104
+ Optional if `sms_enabled`==`true`. enum: `broadnet`, `clickatell`, `gupshup`, `manual`, `puzzel`, `smsglobal`, `telstra`, `twilio`
18710
19105
  """
18711
19106
  return pulumi.get(self, "sms_provider")
18712
19107
 
19108
+ @_builtins.property
19109
+ @pulumi.getter(name="smsglobalApiKey")
19110
+ def smsglobal_api_key(self) -> _builtins.str:
19111
+ """
19112
+ Required if `sms_provider`==`smsglobal`, Client API Key
19113
+ """
19114
+ return pulumi.get(self, "smsglobal_api_key")
19115
+
19116
+ @_builtins.property
19117
+ @pulumi.getter(name="smsglobalApiSecret")
19118
+ def smsglobal_api_secret(self) -> _builtins.str:
19119
+ """
19120
+ Required if `sms_provider`==`smsglobal`, Client secret
19121
+ """
19122
+ return pulumi.get(self, "smsglobal_api_secret")
19123
+
18713
19124
  @_builtins.property
18714
19125
  @pulumi.getter(name="sponsorAutoApprove")
18715
19126
  def sponsor_auto_approve(self) -> _builtins.bool:
@@ -18802,7 +19213,7 @@ class GetWlansSiteWlanPortalResult(dict):
18802
19213
  @pulumi.getter(name="ssoIdpSignAlgo")
18803
19214
  def sso_idp_sign_algo(self) -> _builtins.str:
18804
19215
  """
18805
- Optioanl if `wlan_portal_auth`==`sso`, Signing algorithm for SAML Assertion. enum: `sha1`, `sha256`, `sha384`, `sha512`
19216
+ Optional if `wlan_portal_auth`==`sso`, Signing algorithm for SAML Assertion. enum: `sha1`, `sha256`, `sha384`, `sha512`
18806
19217
  """
18807
19218
  return pulumi.get(self, "sso_idp_sign_algo")
18808
19219