catalystwan 0.41.2.dev2__py3-none-any.whl → 0.41.2.dev4__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/models/configuration/feature_profile/sdwan/service/appqoe.py +2 -2
- catalystwan/models/configuration/network_hierarchy/cflowd.py +16 -15
- catalystwan/models/policy/definition/dns_security.py +1 -1
- catalystwan/utils/feature_template/find_template_values.py +5 -5
- {catalystwan-0.41.2.dev2.dist-info → catalystwan-0.41.2.dev4.dist-info}/METADATA +1 -1
- {catalystwan-0.41.2.dev2.dist-info → catalystwan-0.41.2.dev4.dist-info}/RECORD +8 -8
- {catalystwan-0.41.2.dev2.dist-info → catalystwan-0.41.2.dev4.dist-info}/LICENSE +0 -0
- {catalystwan-0.41.2.dev2.dist-info → catalystwan-0.41.2.dev4.dist-info}/WHEEL +0 -0
|
@@ -5,7 +5,7 @@ from typing import List, Literal, Optional, Union
|
|
|
5
5
|
|
|
6
6
|
from pydantic import AliasPath, BaseModel, ConfigDict, Field
|
|
7
7
|
|
|
8
|
-
from catalystwan.api.configuration_groups.parcel import Default, Global, Variable, _ParcelBase,
|
|
8
|
+
from catalystwan.api.configuration_groups.parcel import Default, Global, Variable, _ParcelBase, as_global
|
|
9
9
|
|
|
10
10
|
VirtualApplicationType = Literal["dreopt"]
|
|
11
11
|
|
|
@@ -254,7 +254,7 @@ class AppqoeParcel(_ParcelBase):
|
|
|
254
254
|
model_config = ConfigDict(arbitrary_types_allowed=True, populate_by_name=True, extra="forbid")
|
|
255
255
|
|
|
256
256
|
dreopt: Optional[Union[Global[bool], Default[bool]]] = Field(
|
|
257
|
-
default=
|
|
257
|
+
default=None, validation_alias=AliasPath("data", "dreopt")
|
|
258
258
|
)
|
|
259
259
|
virtual_application: Optional[List[VirtualApplication]] = Field(
|
|
260
260
|
default=None, validation_alias=AliasPath("data", "virtualApplication")
|
|
@@ -3,7 +3,7 @@ from typing import List, Literal, Optional
|
|
|
3
3
|
|
|
4
4
|
from pydantic import AliasPath, BaseModel, ConfigDict, Field
|
|
5
5
|
|
|
6
|
-
from catalystwan.api.configuration_groups.parcel import Global, _ParcelBase,
|
|
6
|
+
from catalystwan.api.configuration_groups.parcel import Global, _ParcelBase, as_optional_global
|
|
7
7
|
|
|
8
8
|
Protocol = Literal[
|
|
9
9
|
"both",
|
|
@@ -73,7 +73,9 @@ class CflowdParcel(_ParcelBase):
|
|
|
73
73
|
flow_sampling_interval: Optional[Global[int]] = Field(
|
|
74
74
|
default=Global[int](value=1), validation_alias=AliasPath("data", "flowSamplingInterval")
|
|
75
75
|
)
|
|
76
|
-
protocol: Optional[Global[Protocol]] = Field(
|
|
76
|
+
protocol: Optional[Global[Protocol]] = Field(
|
|
77
|
+
default=Global[Protocol](value="ipv4"), validation_alias=AliasPath("data", "protocol")
|
|
78
|
+
)
|
|
77
79
|
|
|
78
80
|
def add_collector(
|
|
79
81
|
self,
|
|
@@ -97,24 +99,23 @@ class CflowdParcel(_ParcelBase):
|
|
|
97
99
|
)
|
|
98
100
|
)
|
|
99
101
|
|
|
100
|
-
def set_customized_ipv4_record_fields(
|
|
101
|
-
self, collect_dscp_output: Optional[bool] = False, collect_tos: Optional[bool] = False
|
|
102
|
-
):
|
|
102
|
+
def set_customized_ipv4_record_fields(self, collect_dscp_output: bool = False, collect_tos: bool = False):
|
|
103
103
|
self.customized_ipv4_record_fields = CustomizedIpv4RecordFields(
|
|
104
|
-
collect_dscp_output=
|
|
104
|
+
collect_dscp_output=Global[bool](value=collect_dscp_output),
|
|
105
|
+
collect_tos=Global[bool](value=collect_tos),
|
|
105
106
|
)
|
|
106
107
|
|
|
107
108
|
def set_flow(
|
|
108
109
|
self,
|
|
109
|
-
active_timeout: Optional[int]
|
|
110
|
-
inactive_timeout: Optional[int]
|
|
111
|
-
refresh_time: Optional[int]
|
|
112
|
-
sampling_interval: Optional[int]
|
|
110
|
+
active_timeout: Optional[int],
|
|
111
|
+
inactive_timeout: Optional[int],
|
|
112
|
+
refresh_time: Optional[int],
|
|
113
|
+
sampling_interval: Optional[int],
|
|
113
114
|
):
|
|
114
|
-
self.flow_active_timeout =
|
|
115
|
-
self.flow_inactive_timeout =
|
|
116
|
-
self.flow_refresh_time =
|
|
117
|
-
self.flow_sampling_interval =
|
|
115
|
+
self.flow_active_timeout = Global[int](value=active_timeout or 600)
|
|
116
|
+
self.flow_inactive_timeout = Global[int](value=inactive_timeout or 60)
|
|
117
|
+
self.flow_refresh_time = Global[int](value=refresh_time or 600)
|
|
118
|
+
self.flow_sampling_interval = Global[int](value=sampling_interval or 1)
|
|
118
119
|
|
|
119
120
|
def set_protocol(self, protocol: Protocol):
|
|
120
|
-
self.protocol =
|
|
121
|
+
self.protocol = Global[Protocol](value=protocol)
|
|
@@ -118,7 +118,7 @@ class DnsSecurityDefinition(BaseModel):
|
|
|
118
118
|
|
|
119
119
|
|
|
120
120
|
class DnsSecurityPolicy(PolicyDefinitionBase):
|
|
121
|
-
type: Literal["dnsSecurity"] = "
|
|
121
|
+
type: Literal["DNSSecurity", "dnsSecurity"] = "DNSSecurity"
|
|
122
122
|
definition: DnsSecurityDefinition
|
|
123
123
|
|
|
124
124
|
|
|
@@ -11,7 +11,7 @@ def find_template_values(
|
|
|
11
11
|
template_definition: dict,
|
|
12
12
|
templated_values: Optional[dict] = None,
|
|
13
13
|
target_key: str = "vipType",
|
|
14
|
-
|
|
14
|
+
target_key_default_values: List[str] = ["ignore", "notIgnore"],
|
|
15
15
|
target_key_for_template_value: str = "vipValue",
|
|
16
16
|
path: Optional[List[str]] = None,
|
|
17
17
|
) -> Dict[str, Union[str, list, dict]]:
|
|
@@ -22,8 +22,8 @@ def find_template_values(
|
|
|
22
22
|
templated_values: dictionary, empty at the beginning and filed out with names of fields as keys
|
|
23
23
|
and values of those fields as values
|
|
24
24
|
target_key: name of the key specifying if field is used in template, defaults to 'vipType'
|
|
25
|
-
|
|
26
|
-
that field is not used in template, defaults to 'ignore'
|
|
25
|
+
target_key_default_values: list of values of the target key indicating
|
|
26
|
+
that a field is not used in template, defaults to ['ignore', 'notIgnore']
|
|
27
27
|
target_key_for_template_value: name of the key specifying value of field used in template,
|
|
28
28
|
defaults to 'vipValue'
|
|
29
29
|
path: a list of keys indicating current path, defaults to None
|
|
@@ -36,7 +36,7 @@ def find_template_values(
|
|
|
36
36
|
templated_values = {}
|
|
37
37
|
# if value object is reached, try to extract the value
|
|
38
38
|
if target_key in template_definition:
|
|
39
|
-
if template_definition[target_key]
|
|
39
|
+
if template_definition[target_key] in target_key_default_values:
|
|
40
40
|
return templated_values
|
|
41
41
|
|
|
42
42
|
value = template_definition[target_key] # vipType
|
|
@@ -88,7 +88,7 @@ def find_template_values(
|
|
|
88
88
|
|
|
89
89
|
# iterate the dict to extract values and assign them to their fields
|
|
90
90
|
for key, value in template_definition.items():
|
|
91
|
-
if isinstance(value, dict) and value
|
|
91
|
+
if isinstance(value, dict) and value not in target_key_default_values:
|
|
92
92
|
find_template_values(value, templated_values, path=path + [key])
|
|
93
93
|
return templated_values
|
|
94
94
|
|
|
@@ -314,7 +314,7 @@ catalystwan/models/configuration/feature_profile/sdwan/routing/bgp.py,sha256=4vX
|
|
|
314
314
|
catalystwan/models/configuration/feature_profile/sdwan/routing/ospf.py,sha256=hfsfL9Fy4q7eUybhSzPDGTFgdlK1VO3zPUy1aNOOCIc,7647
|
|
315
315
|
catalystwan/models/configuration/feature_profile/sdwan/routing/ospfv3.py,sha256=KW0UgMPt08OxLbX4JoShNby83HCMhlHICRLLW8pYinQ,13268
|
|
316
316
|
catalystwan/models/configuration/feature_profile/sdwan/service/__init__.py,sha256=AzPWWFozmwg5nzwEj-bYhg2HTeJJ8FFPQHmvyxDvSnQ,2378
|
|
317
|
-
catalystwan/models/configuration/feature_profile/sdwan/service/appqoe.py,sha256=
|
|
317
|
+
catalystwan/models/configuration/feature_profile/sdwan/service/appqoe.py,sha256=4V5BWUYDBJEQJ7OWZRXe9Qasw4VzD52_XqmMIUv6cK8,10210
|
|
318
318
|
catalystwan/models/configuration/feature_profile/sdwan/service/dhcp_server.py,sha256=XCYUektYRLZaIzJAiAuSeuKg2DdAYio38t0niN8CkhA,5289
|
|
319
319
|
catalystwan/models/configuration/feature_profile/sdwan/service/dual_router_ha.py,sha256=MMwnBKBth3E91EYCPLtGJqwQYilZPWelGF6KLJmtOPw,1134
|
|
320
320
|
catalystwan/models/configuration/feature_profile/sdwan/service/eigrp.py,sha256=d02hMwUFq5ycoknQci0SAgRlxuiYh0kSKDBxOzn-ves,4075
|
|
@@ -385,7 +385,7 @@ catalystwan/models/configuration/feature_profile/sdwan/uc_voice/trunk_group.py,s
|
|
|
385
385
|
catalystwan/models/configuration/feature_profile/sdwan/uc_voice/voice_global.py,sha256=9v3-IBHo0Qzxlguq6k8UbCE1SKJdoeoOO0q65HsoWIQ,2290
|
|
386
386
|
catalystwan/models/configuration/feature_profile/sdwan/uc_voice/voice_tenant.py,sha256=7av6UzCBbztqFNbfhRIbJGDJg87n3QrTzZL9KT7Pems,1365
|
|
387
387
|
catalystwan/models/configuration/network_hierarchy/__init__.py,sha256=jGlyKaRRsfrK0gGKoPXqRPmO-myVgfbZVm3FzVkWSts,425
|
|
388
|
-
catalystwan/models/configuration/network_hierarchy/cflowd.py,sha256=
|
|
388
|
+
catalystwan/models/configuration/network_hierarchy/cflowd.py,sha256=AEWc29t-fF3eKJDfTzlBFfBEP5z4RyaGWMAXPgshgOg,5216
|
|
389
389
|
catalystwan/models/configuration/network_hierarchy/node.py,sha256=Ex1OMLl00uU3y4fSSD-xl-t1AJYotYhFRr0KQ826pK8,2792
|
|
390
390
|
catalystwan/models/configuration/policy_group.py,sha256=8A_TsNmjSRVx1BAlYUgQQWkpp_SizDL_ZTS8zUTtHgs,2235
|
|
391
391
|
catalystwan/models/configuration/profile_type.py,sha256=qIlobJmEYQ5qEGZeYJZsVMaXtFbR7RgFr6eH8YyoNAo,157
|
|
@@ -407,7 +407,7 @@ catalystwan/models/policy/definition/control.py,sha256=tjS8SjhbMUIt8LPfA3HVX7t09
|
|
|
407
407
|
catalystwan/models/policy/definition/device_access.py,sha256=SOVwcqtZRN1aKABnGpsxqsSArc_hK_Lpslsh6EuzH_o,4219
|
|
408
408
|
catalystwan/models/policy/definition/device_access_ipv6.py,sha256=AGX8Ax4UNXs7nOjd2DeB1r12QZoDPszUgFI3UUEdiZ8,4303
|
|
409
409
|
catalystwan/models/policy/definition/dial_peer.py,sha256=GRKlK-vY1A1i6sB5cNKzRim8970d16ba16707OefD2M,2190
|
|
410
|
-
catalystwan/models/policy/definition/dns_security.py,sha256=
|
|
410
|
+
catalystwan/models/policy/definition/dns_security.py,sha256=UHx1k4e_eTHu3ytPaP0Kr2C5H7Ls_D3xinTbz8QPo_g,4632
|
|
411
411
|
catalystwan/models/policy/definition/fxo_port.py,sha256=_6que7pcvvIELqj6Vfm4B7a2DxXRdLB2lP2mvRkeSmE,2461
|
|
412
412
|
catalystwan/models/policy/definition/fxs_did_port.py,sha256=CVEWHAT_17EAOhwyjlFdZf15sHFNlZthuQFmG2wvoO8,2214
|
|
413
413
|
catalystwan/models/policy/definition/fxs_port.py,sha256=L7Ot4ZupJdaK9IJQNYVlgiqk8I_WqGuGVBcArEBx7ms,2045
|
|
@@ -614,7 +614,7 @@ catalystwan/utils/dashboard.py,sha256=5DBDdnFuNEebo9R8UpXDETrYJsfZp-vv9OCr9ahU6V
|
|
|
614
614
|
catalystwan/utils/device_model.py,sha256=IPEQD7yYyhCH91Uw9P-dF34TcIEimYEnImYVaaQOjRY,15996
|
|
615
615
|
catalystwan/utils/dict.py,sha256=1IC4pcPFQ7yS39-ZWSFwyCvQKYzfZoxsz3YtJ-S6l7w,2110
|
|
616
616
|
catalystwan/utils/feature_template/choose_model.py,sha256=JoQ7l_TF2PTH8bciOSVAFavevo35n2F4DbusIIvapM8,953
|
|
617
|
-
catalystwan/utils/feature_template/find_template_values.py,sha256=
|
|
617
|
+
catalystwan/utils/feature_template/find_template_values.py,sha256=nEi-hFmOaX5cHeS4VBSJmhxIl3jOn42o6mNSkS9Htak,5405
|
|
618
618
|
catalystwan/utils/model.py,sha256=UCqpk2kpgT8YYRp4prv9kmR4ciBNvQDCl3ZB8Ln941k,1506
|
|
619
619
|
catalystwan/utils/operation_status.py,sha256=SeT34c_x8F98mwl9x0-klvGTMKbrKSTY_w0zaKyuds8,584
|
|
620
620
|
catalystwan/utils/persona.py,sha256=fZEMM2wgvvSuNaGwsLk-qWJUuZzkhYm1C3YUnRGOqRw,147
|
|
@@ -630,7 +630,7 @@ catalystwan/version.py,sha256=X5yIMPIrWPbdoF9eJfwxfjcvWr7JMfWQF98hQhlGB5I,3032
|
|
|
630
630
|
catalystwan/vmanage_auth.py,sha256=UZ57lTihsLsXw4AdU7Vn8XuY1jo3732Vc9WuFoHSiiQ,10780
|
|
631
631
|
catalystwan/workflows/backup_restore_device_templates.py,sha256=BoR2KlRbpCI6RxIWG7j7tucaLpw5w3ESN20dLhsrZFY,19796
|
|
632
632
|
catalystwan/workflows/tenant_migration.py,sha256=4KLbqUwH4gEegE92PCGfRd226eZd_crCUpaYUWoGXDI,9790
|
|
633
|
-
catalystwan-0.41.2.
|
|
634
|
-
catalystwan-0.41.2.
|
|
635
|
-
catalystwan-0.41.2.
|
|
636
|
-
catalystwan-0.41.2.
|
|
633
|
+
catalystwan-0.41.2.dev4.dist-info/LICENSE,sha256=97ROi91Vxrj_Jio2v8FI9E8-y6x2uYdQRaFlrEbVjkc,11375
|
|
634
|
+
catalystwan-0.41.2.dev4.dist-info/METADATA,sha256=ZkC0Yt4J1N7cnoV_D_9X0FMsVLZEq2rhO1v7FFtfQ9M,21275
|
|
635
|
+
catalystwan-0.41.2.dev4.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
636
|
+
catalystwan-0.41.2.dev4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|