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.
@@ -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, as_default, as_global
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=as_default(False), validation_alias=AliasPath("data", "dreopt")
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, as_global, as_optional_global
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(default=None, validation_alias=AliasPath("data", "protocol"))
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=as_optional_global(collect_dscp_output), collect_tos=as_optional_global(collect_tos)
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] = 600,
110
- inactive_timeout: Optional[int] = 60,
111
- refresh_time: Optional[int] = 600,
112
- sampling_interval: Optional[int] = 1,
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 = as_optional_global(active_timeout)
115
- self.flow_inactive_timeout = as_optional_global(inactive_timeout)
116
- self.flow_refresh_time = as_optional_global(refresh_time)
117
- self.flow_sampling_interval = as_optional_global(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 = as_global(protocol, 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"] = "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
- target_key_value_to_ignore: str = "ignore",
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
- target_key_value_to_ignore: value of the target key indicating
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] == target_key_value_to_ignore:
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 != target_key_value_to_ignore:
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
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: catalystwan
3
- Version: 0.41.2.dev2
3
+ Version: 0.41.2.dev4
4
4
  Summary: Cisco Catalyst WAN SDK for Python
5
5
  Author: kagorski
6
6
  Author-email: kagorski@cisco.com
@@ -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=08p0ZkVquudHG2BmGKJx81H9GdEIepbkXg5lkOzd32I,10235
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=dNeIZbUTcsu39vbRfq11Vww7wWiwWP6IzTxVqBwK5PA,5205
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=I9bMpzVwH6DXQwk0cyquyJCAqyTMxFSw2hYThDrzuLU,4617
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=UpGx4-MDhgyqOGkd-8bTKGXIVu8KxjI4ensxsRTSmqQ,5358
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.dev2.dist-info/LICENSE,sha256=97ROi91Vxrj_Jio2v8FI9E8-y6x2uYdQRaFlrEbVjkc,11375
634
- catalystwan-0.41.2.dev2.dist-info/METADATA,sha256=EdpUTh06aKf4INOCcCuVYw0uIiX7JStFwu9feSdVSo4,21275
635
- catalystwan-0.41.2.dev2.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
636
- catalystwan-0.41.2.dev2.dist-info/RECORD,,
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,,