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.
- catalystwan/endpoints/cluster_management.py +3 -2
- catalystwan/models/configuration/feature_profile/sdwan/other/ucse.py +5 -5
- catalystwan/models/configuration/network_hierarchy/cflowd.py +9 -2
- catalystwan/models/policy/definition/ssl_decryption_utd_profile.py +8 -7
- catalystwan/models/policy/list/url.py +2 -2
- catalystwan/models/policy/policy.py +1 -1
- {catalystwan-0.41.2.dev7.dist-info → catalystwan-0.41.2.dev8.dist-info}/METADATA +1 -1
- {catalystwan-0.41.2.dev7.dist-info → catalystwan-0.41.2.dev8.dist-info}/RECORD +10 -10
- {catalystwan-0.41.2.dev7.dist-info → catalystwan-0.41.2.dev8.dist-info}/LICENSE +0 -0
- {catalystwan-0.41.2.dev7.dist-info → catalystwan-0.41.2.dev8.dist-info}/WHEEL +0 -0
|
@@ -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
|
-
|
|
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
|
|
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=
|
|
31
|
-
shared_lom: SharedLom = Field(
|
|
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=
|
|
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=
|
|
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=
|
|
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] =
|
|
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
|
|
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[
|
|
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[
|
|
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,
|
|
66
|
-
self.url_black_list = Reference(ref=
|
|
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,
|
|
69
|
-
self.url_white_list = Reference(ref=
|
|
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):
|
|
@@ -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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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.
|
|
635
|
-
catalystwan-0.41.2.
|
|
636
|
-
catalystwan-0.41.2.
|
|
637
|
-
catalystwan-0.41.2.
|
|
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,,
|
|
File without changes
|
|
File without changes
|