catalystwan 0.41.2.dev7__py3-none-any.whl → 0.41.2.dev8__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.
@@ -14,7 +14,7 @@ TenancyModes = Literal["SingleTenant", "MultiTenant"]
14
14
 
15
15
  class TenancyMode(BaseModel):
16
16
  mode: TenancyModes
17
- deploymentmode: str
17
+ deploymentmode: Optional[str] = None
18
18
  domain: Optional[str] = None
19
19
  clusterid: Optional[str] = None
20
20
 
@@ -125,6 +125,7 @@ class ClusterManagement(APIEndpoints):
125
125
  # POST /clusterManagement/remove
126
126
  ...
127
127
 
128
- def set_tenancy_mode(self):
128
+ @post("/clusterManagement/tenancy/mode")
129
+ def set_tenancy_mode(self, payload: TenancyMode) -> None:
129
130
  # POST /clusterManagement/tenancy/mode
130
131
  ...
@@ -6,7 +6,7 @@ from typing import List, Literal, Optional, Union
6
6
 
7
7
  from pydantic import AliasPath, BaseModel, ConfigDict, Field
8
8
 
9
- from catalystwan.api.configuration_groups.parcel import Default, Global, Variable, _ParcelBase, as_default, as_variable
9
+ from catalystwan.api.configuration_groups.parcel import Default, Global, Variable, _ParcelBase
10
10
 
11
11
  FailOverType = Literal["ge2", "te2"]
12
12
  LomType = Literal["ge1", "ge2", "ge3", "te2", "te3", "console", "failover"]
@@ -27,8 +27,8 @@ class AccessPort(BaseModel):
27
27
  model_config = ConfigDict(
28
28
  populate_by_name=True,
29
29
  )
30
- dedicated: Union[Global[bool], Default[bool]] = Field(default=as_default(True), description="Dedicated")
31
- shared_lom: SharedLom = Field(..., serialization_alias="sharedLom", validation_alias="sharedLom")
30
+ dedicated: Union[Global[bool], Default[bool]] = Field(default=Default[bool](value=True), description="Dedicated")
31
+ shared_lom: Optional[SharedLom] = Field(default=None, serialization_alias="sharedLom", validation_alias="sharedLom")
32
32
 
33
33
 
34
34
  class Ip(BaseModel):
@@ -37,7 +37,7 @@ class Ip(BaseModel):
37
37
  populate_by_name=True,
38
38
  )
39
39
  address: Union[Global[str], Global[IPv4Interface], Variable] = Field(
40
- default=as_variable("{{ipv4Addr}}"), description="Assign IPv4 address"
40
+ default=Variable(value="{{ipv4Addr}}"), description="Assign IPv4 address"
41
41
  )
42
42
  default_gateway: Union[Global[IPv4Address], Variable, Default[None]] = Field(
43
43
  default=Default[None](value=None),
@@ -82,7 +82,7 @@ class InterfaceItem(BaseModel):
82
82
  validation_alias="ifName",
83
83
  description="Set Inteface name",
84
84
  )
85
- l3: Default[bool] = Field(default=as_default(True), description="L3")
85
+ l3: Default[bool] = Field(default=Default[bool](value=True), description="L3")
86
86
  ucse_interface_vpn: Optional[Union[Global[int], Variable, Default[None]]] = Field(
87
87
  default=Default[None](value=None),
88
88
  serialization_alias="ucseInterfaceVpn",
@@ -29,7 +29,7 @@ class Collectors(BaseModel):
29
29
  default=Global[bool](value=False), validation_alias="bfdMetricsExport", serialization_alias="bfdMetricsExport"
30
30
  )
31
31
  export_interval: Optional[Global[int]] = Field(
32
- default=Global[int](value=600), validation_alias="exportInterval", serialization_alias="exportInterval"
32
+ default=None, validation_alias="exportInterval", serialization_alias="exportInterval"
33
33
  )
34
34
  export_spread: Optional[Global[bool]] = Field(
35
35
  default=Global[bool](value=False), validation_alias="exportSpread", serialization_alias="exportSpread"
@@ -81,13 +81,20 @@ class CflowdParcel(_ParcelBase):
81
81
  self,
82
82
  address: Optional[str] = None,
83
83
  bfd_metrics_export: Optional[bool] = False,
84
- export_interval: Optional[int] = 600,
84
+ export_interval: Optional[int] = None,
85
85
  export_spread: Optional[bool] = False,
86
86
  udp_port: Optional[int] = 4739,
87
87
  vpn_id: Optional[int] = None,
88
88
  ):
89
89
  if self.collectors is None:
90
90
  self.collectors = []
91
+ if export_interval is not None:
92
+ # bfd_metrics_export must be True if export_interval is set
93
+ bfd_metrics_export = True
94
+ if bfd_metrics_export and export_interval is None:
95
+ # export_interval should be default 600 only if bfd_metrics_export is True
96
+ export_interval = 600
97
+
91
98
  self.collectors.append(
92
99
  Collectors(
93
100
  address=as_optional_global(address),
@@ -2,11 +2,12 @@
2
2
 
3
3
  from itertools import chain
4
4
  from typing import List, Literal, Optional
5
+ from uuid import UUID
5
6
 
6
7
  from pydantic import BaseModel, ConfigDict, Field
7
8
 
8
9
  from catalystwan.models.common import PolicyModeType, WebCategory, WebReputation
9
- from catalystwan.models.policy import URLAllowListInfo, URLBlockListInfo
10
+ from catalystwan.models.policy import URLAllowList, URLBlockList
10
11
  from catalystwan.models.policy.policy_definition import (
11
12
  PolicyDefinitionBase,
12
13
  PolicyDefinitionGetResponse,
@@ -35,10 +36,10 @@ class SslDecryptionUtdProfileDefinition(BaseModel):
35
36
  default=None, validation_alias="decryptThreshold", serialization_alias="decryptThreshold"
36
37
  )
37
38
 
38
- filtered_url_white_list: List[URLAllowListInfo] = Field(
39
+ filtered_url_white_list: List[URLAllowList] = Field(
39
40
  default_factory=list, validation_alias="filteredUrlWhiteList", serialization_alias="filteredUrlWhiteList"
40
41
  )
41
- filtered_url_black_list: List[URLBlockListInfo] = Field(
42
+ filtered_url_black_list: List[URLBlockList] = Field(
42
43
  default_factory=list, validation_alias="filteredUrlBlackList", serialization_alias="filteredUrlBlackList"
43
44
  )
44
45
 
@@ -62,11 +63,11 @@ class SslDecryptionUtdProfileDefinition(BaseModel):
62
63
  self._check_category_already_added(category)
63
64
  self.decrypt_categories.append(category)
64
65
 
65
- def add_decrypt_domain_list(self, black_list: URLBlockListInfo):
66
- self.url_black_list = Reference(ref=black_list.list_id)
66
+ def add_decrypt_domain_list(self, black_list_id: UUID):
67
+ self.url_black_list = Reference(ref=black_list_id)
67
68
 
68
- def add_no_decrypt_domain_list(self, white_list: URLAllowListInfo):
69
- self.url_white_list = Reference(ref=white_list.list_id)
69
+ def add_no_decrypt_domain_list(self, white_list_id: UUID):
70
+ self.url_white_list = Reference(ref=white_list_id)
70
71
 
71
72
  def _check_category_already_added(self, category: WebCategory):
72
73
  if category in chain(self.decrypt_categories, self.never_decrypt_categories, self.skip_decrypt_categories):
@@ -14,7 +14,7 @@ class URLListEntry(BaseModel):
14
14
 
15
15
 
16
16
  class URLAllowList(PolicyListBase):
17
- type: Literal["urlWhiteList"] = "urlWhiteList"
17
+ type: Literal["urlWhiteList", "urlwhitelist"] = "urlWhiteList"
18
18
  entries: List[URLListEntry] = []
19
19
 
20
20
 
@@ -27,7 +27,7 @@ class URLAllowListInfo(URLAllowList, PolicyListInfo):
27
27
 
28
28
 
29
29
  class URLBlockList(PolicyListBase):
30
- type: Literal["urlBlackList"] = "urlBlackList"
30
+ type: Literal["urlBlackList", "urlblacklist"] = "urlBlackList"
31
31
  entries: List[URLListEntry] = []
32
32
 
33
33
 
@@ -39,7 +39,7 @@ class NGFirewallAssemblyItem(AssemblyItemBase):
39
39
 
40
40
 
41
41
  class DNSSecurityAssemblyItem(AssemblyItemBase):
42
- type: Literal["DNSSecurity"] = "DNSSecurity"
42
+ type: Literal["DNSSecurity", "dnsSecurity"] = "DNSSecurity"
43
43
 
44
44
 
45
45
  class IntrusionPreventionAssemblyItem(AssemblyItemBase):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: catalystwan
3
- Version: 0.41.2.dev7
3
+ Version: 0.41.2.dev8
4
4
  Summary: Cisco Catalyst WAN SDK for Python
5
5
  Author: kagorski
6
6
  Author-email: kagorski@cisco.com
@@ -94,7 +94,7 @@ catalystwan/endpoints/api_gateway.py,sha256=O5vZlGEqkSJksKqiz9VLHha-arl4Hu2qgopE
94
94
  catalystwan/endpoints/certificate_management_device.py,sha256=idWO5xjz9SrxJrVN8PePWtoWDDoy294yZZb3RtXpir4,7073
95
95
  catalystwan/endpoints/certificate_management_vmanage.py,sha256=Xcrnh8v7FduXxc4n8814AGLBWJsNvvGgeaEE1SATgzM,1476
96
96
  catalystwan/endpoints/client.py,sha256=4YY08AT0jhybuJ9BN_VNBAVTp-rHlIRc8Xvdyj9uk38,4035
97
- catalystwan/endpoints/cluster_management.py,sha256=5KRRAkMTZC9xmvDaUD09kFzvjrwt2AZp7Typ0aCyvsY,3719
97
+ catalystwan/endpoints/cluster_management.py,sha256=IqEoxrYD7n8wKCBn--t8Q3mhK-pome0MlrXyz3dM4g8,3811
98
98
  catalystwan/endpoints/configuration/device/software_update.py,sha256=wr58GMuRxAbTJ5ISTrN3Zlo7-bYl7s_cKfST1dKCWsY,983
99
99
  catalystwan/endpoints/configuration/disaster_recovery.py,sha256=RsHqUz61RIO4msN23FackQW8BzfC2u_8GpozXfdsKuw,9447
100
100
  catalystwan/endpoints/configuration/feature_profile/sdwan/application_priority.py,sha256=eL1r6A94BpsUCSdd0ae8fpSY23b_etV8Dfz2kCZYxnY,4543
@@ -266,7 +266,7 @@ catalystwan/models/configuration/feature_profile/sdwan/embedded_security/policy.
266
266
  catalystwan/models/configuration/feature_profile/sdwan/other/__init__.py,sha256=BhTiGcP5hnp2m4zdnDFgsktAVeiwxaxSYLKtPolu450,560
267
267
  catalystwan/models/configuration/feature_profile/sdwan/other/cybervision.py,sha256=lrnbpHvceKTYZM73FbYtY_1_G_dXjfat7x5g_BAnfSM,2070
268
268
  catalystwan/models/configuration/feature_profile/sdwan/other/thousandeyes.py,sha256=aA5PmFl5v_uvGIIAt16tlVf0OxQKuc-FkEEyg2OmD_I,4806
269
- catalystwan/models/configuration/feature_profile/sdwan/other/ucse.py,sha256=VZKXkct2QQRp_W7lbvrTcyli1lU8n7QoePYhe8z0DNI,4006
269
+ catalystwan/models/configuration/feature_profile/sdwan/other/ucse.py,sha256=fdaqQQSutvGXClaXsn89IfR2fQS2AJNKZqhCg3pWqPg,4021
270
270
  catalystwan/models/configuration/feature_profile/sdwan/policy_object/__init__.py,sha256=RbQgaZxz7dEikwAYVdh4oSA6rZUA0muZIS-bhOUWzBM,6047
271
271
  catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/app_probe.py,sha256=sLmhwa63b5OnxXqHrCMLMSQspUDx3LBcmEyCssup9CY,1989
272
272
  catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/application_list.py,sha256=-ctN0OraZt3rG-Wddn8oQ4R4z4rxYcz2YXhiQptQtec,1275
@@ -386,7 +386,7 @@ catalystwan/models/configuration/feature_profile/sdwan/uc_voice/trunk_group.py,s
386
386
  catalystwan/models/configuration/feature_profile/sdwan/uc_voice/voice_global.py,sha256=9v3-IBHo0Qzxlguq6k8UbCE1SKJdoeoOO0q65HsoWIQ,2290
387
387
  catalystwan/models/configuration/feature_profile/sdwan/uc_voice/voice_tenant.py,sha256=7av6UzCBbztqFNbfhRIbJGDJg87n3QrTzZL9KT7Pems,1365
388
388
  catalystwan/models/configuration/network_hierarchy/__init__.py,sha256=jGlyKaRRsfrK0gGKoPXqRPmO-myVgfbZVm3FzVkWSts,425
389
- catalystwan/models/configuration/network_hierarchy/cflowd.py,sha256=AEWc29t-fF3eKJDfTzlBFfBEP5z4RyaGWMAXPgshgOg,5216
389
+ catalystwan/models/configuration/network_hierarchy/cflowd.py,sha256=3C6UHFpc1isuBvpui9HLoIn63esS2-ucpnLBQS8I-Ak,5530
390
390
  catalystwan/models/configuration/network_hierarchy/node.py,sha256=Ex1OMLl00uU3y4fSSD-xl-t1AJYotYhFRr0KQ826pK8,2792
391
391
  catalystwan/models/configuration/policy_group.py,sha256=8A_TsNmjSRVx1BAlYUgQQWkpp_SizDL_ZTS8zUTtHgs,2235
392
392
  catalystwan/models/configuration/profile_type.py,sha256=qIlobJmEYQ5qEGZeYJZsVMaXtFbR7RgFr6eH8YyoNAo,157
@@ -423,7 +423,7 @@ catalystwan/models/policy/definition/rule_set.py,sha256=LePxWLSKyJ8AlwoclkunACh2
423
423
  catalystwan/models/policy/definition/security_group.py,sha256=VAzeOU7l9g79YG78oFvnbkDDgHLvbKe5Ct0p_6V380Q,3698
424
424
  catalystwan/models/policy/definition/srst_phone_profile.py,sha256=xd8k_fz8Z1qnU3v5A1EmIScKXEoUGgcr132pwD_0kyU,1201
425
425
  catalystwan/models/policy/definition/ssl_decryption.py,sha256=UC4dSbARM5p3dqfRl6OKjCCVWeO-RT4Y-nzfjJ4pEFo,8062
426
- catalystwan/models/policy/definition/ssl_decryption_utd_profile.py,sha256=fSTdZShL_LNWa3-HsWnXQBgyABuY7vXQfQm2o0DRxmE,3589
426
+ catalystwan/models/policy/definition/ssl_decryption_utd_profile.py,sha256=m8-G9Q0AkxwtzhZrCcCmImfqWKAzvz6SKu1aSqfx8DU,3567
427
427
  catalystwan/models/policy/definition/traffic_data.py,sha256=dME5uXiBR3c4E6p_P25991R6wHqzqt8Ef9Gku3Xojq4,16606
428
428
  catalystwan/models/policy/definition/url_filtering.py,sha256=BXRfsvA4IS1UABk4nBivHsp3gn4N86MaeGzFwQZVObc,2741
429
429
  catalystwan/models/policy/definition/vpn_membership.py,sha256=gXTkYSIt8eVxt0DPDjlyQkZDYvHD9pTnXkX-ZAltSTQ,1329
@@ -464,11 +464,11 @@ catalystwan/models/policy/list/translation_profile.py,sha256=GF10P3m7vVuB5jc5rrJ
464
464
  catalystwan/models/policy/list/translation_rules.py,sha256=xdAXlJfKzGC4QEHhHK3lnYu3inpcC4wIUgbi6toeaGo,982
465
465
  catalystwan/models/policy/list/trunkgroup.py,sha256=sv5FcOE-C0L9oM5WUOQOTH6PMoZqziWlIoy4-9Thz0U,2075
466
466
  catalystwan/models/policy/list/umbrella_data.py,sha256=ZpoqTx3J5ZWUtMiZaYwsKqJABTUZDNMPGpFe_2a4hrk,1140
467
- catalystwan/models/policy/list/url.py,sha256=zcZK8MdWTdoVezjPTFBn0r7-h8k1v5AuDaxdQfvOOb8,856
467
+ catalystwan/models/policy/list/url.py,sha256=vl09xXKNsPV6bcZ4z7wFJvQyDOXbBtZDdOfRtiAA4OA,888
468
468
  catalystwan/models/policy/list/vpn.py,sha256=X6yK8skSRn3tPooCeKVouS54tud7QAT302nRls0tU6w,1071
469
469
  catalystwan/models/policy/list/zone.py,sha256=0NWmXUcEwgmXSM2nb-OspTPsULBDaqXvF9cpBwx8He8,1439
470
470
  catalystwan/models/policy/localized.py,sha256=ijgqi9fEODD_qAnszGrphaSiXA75ZId2Vfci7EiBoCA,6382
471
- catalystwan/models/policy/policy.py,sha256=q8jJ54X-BNti9UB1xFAgYYzj8ZhLc4Lfz8PBlhmC60s,3713
471
+ catalystwan/models/policy/policy.py,sha256=k3wv-1LEFFbsEfD3bxp_Pq8Rh5rlIsz84EE1T-mvcUo,3728
472
472
  catalystwan/models/policy/policy_definition.py,sha256=JeZIj53iaNoBXfE3sOQaOo142JYi9IEDWLvhgF61Jeo,49437
473
473
  catalystwan/models/policy/policy_list.py,sha256=SaGjY7wNWwCHu9VoVIzqWGAbHJ-VWIxZg7QgQ7FJ-Ak,1881
474
474
  catalystwan/models/policy/security.py,sha256=v1RkFg9--BrOOdgcBcUvk6G4byZ27h8-fG3xBJYrsAE,11125
@@ -631,7 +631,7 @@ catalystwan/version.py,sha256=X5yIMPIrWPbdoF9eJfwxfjcvWr7JMfWQF98hQhlGB5I,3032
631
631
  catalystwan/vmanage_auth.py,sha256=UZ57lTihsLsXw4AdU7Vn8XuY1jo3732Vc9WuFoHSiiQ,10780
632
632
  catalystwan/workflows/backup_restore_device_templates.py,sha256=BoR2KlRbpCI6RxIWG7j7tucaLpw5w3ESN20dLhsrZFY,19796
633
633
  catalystwan/workflows/tenant_migration.py,sha256=4KLbqUwH4gEegE92PCGfRd226eZd_crCUpaYUWoGXDI,9790
634
- catalystwan-0.41.2.dev7.dist-info/LICENSE,sha256=97ROi91Vxrj_Jio2v8FI9E8-y6x2uYdQRaFlrEbVjkc,11375
635
- catalystwan-0.41.2.dev7.dist-info/METADATA,sha256=upW34fgE4q1jntiyM33WOUIhkzJJXzO-2yqf9g7w6A4,21275
636
- catalystwan-0.41.2.dev7.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
637
- catalystwan-0.41.2.dev7.dist-info/RECORD,,
634
+ catalystwan-0.41.2.dev8.dist-info/LICENSE,sha256=97ROi91Vxrj_Jio2v8FI9E8-y6x2uYdQRaFlrEbVjkc,11375
635
+ catalystwan-0.41.2.dev8.dist-info/METADATA,sha256=E80Sr2BaABziMkStuVLgJ3yWOf5DNI0qgYgGIKzr9N4,21275
636
+ catalystwan-0.41.2.dev8.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
637
+ catalystwan-0.41.2.dev8.dist-info/RECORD,,