catalystwan 0.41.2.dev9__py3-none-any.whl → 0.41.3__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.
Files changed (509) hide show
  1. catalystwan/ENDPOINTS.md +611 -0
  2. catalystwan/__init__.py +2 -3
  3. catalystwan/api/administration.py +2 -13
  4. catalystwan/api/api_container.py +1 -4
  5. catalystwan/api/config_group_api.py +16 -41
  6. catalystwan/api/configuration_groups/parcel.py +30 -100
  7. catalystwan/api/configuration_groups/parcels/cellular_controller.py +33 -0
  8. catalystwan/api/feature_profile_api.py +237 -2016
  9. catalystwan/api/policy_api.py +116 -470
  10. catalystwan/api/template_api.py +44 -113
  11. catalystwan/api/templates/README.md +47 -61
  12. catalystwan/api/templates/cli_template.py +7 -17
  13. catalystwan/api/templates/device_template/device_template.py +32 -127
  14. catalystwan/api/templates/device_template/device_template_payload.json.j2 +19 -0
  15. catalystwan/api/templates/feature_template.py +3 -3
  16. catalystwan/api/templates/models/cisco_aaa_model.py +42 -289
  17. catalystwan/api/templates/models/cisco_banner_model.py +2 -11
  18. catalystwan/api/templates/models/cisco_bfd_model.py +36 -31
  19. catalystwan/api/templates/models/cisco_bgp_model.py +131 -382
  20. catalystwan/api/templates/models/cisco_logging_model.py +43 -80
  21. catalystwan/api/templates/models/cisco_ntp_model.py +15 -34
  22. catalystwan/api/templates/models/cisco_omp_model.py +60 -70
  23. catalystwan/api/templates/models/cisco_ospf.py +74 -143
  24. catalystwan/api/templates/models/cisco_ospfv3.py +95 -217
  25. catalystwan/api/templates/models/cisco_secure_internet_gateway.py +142 -304
  26. catalystwan/api/templates/models/cisco_snmp_model.py +52 -66
  27. catalystwan/api/templates/models/cisco_system.py +129 -238
  28. catalystwan/api/templates/models/cisco_vpn_interface_model.py +275 -632
  29. catalystwan/api/templates/models/cisco_vpn_model.py +270 -433
  30. catalystwan/api/templates/models/cli_template.py +2 -3
  31. catalystwan/api/templates/models/omp_vsmart_model.py +10 -46
  32. catalystwan/api/templates/models/security_vsmart_model.py +8 -11
  33. catalystwan/api/templates/models/supported.py +4 -10
  34. catalystwan/api/templates/models/system_vsmart_model.py +27 -164
  35. catalystwan/apigw_auth.py +2 -6
  36. catalystwan/dataclasses.py +53 -2
  37. catalystwan/endpoints/__init__.py +41 -41
  38. catalystwan/endpoints/certificate_management_device.py +0 -4
  39. catalystwan/endpoints/cluster_management.py +9 -30
  40. catalystwan/endpoints/configuration/feature_profile/sdwan/policy_object.py +12 -35
  41. catalystwan/endpoints/configuration/feature_profile/sdwan/system.py +11 -164
  42. catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py +26 -144
  43. catalystwan/endpoints/configuration/policy/definition/access_control_list.py +11 -6
  44. catalystwan/endpoints/configuration/policy/definition/access_control_list_ipv6.py +11 -6
  45. catalystwan/endpoints/configuration/policy/definition/control.py +11 -6
  46. catalystwan/endpoints/configuration/policy/definition/device_access.py +11 -6
  47. catalystwan/endpoints/configuration/policy/definition/device_access_ipv6.py +11 -6
  48. catalystwan/endpoints/configuration/policy/definition/hub_and_spoke.py +11 -6
  49. catalystwan/endpoints/configuration/policy/definition/mesh.py +11 -2
  50. catalystwan/endpoints/configuration/policy/definition/qos_map.py +11 -2
  51. catalystwan/endpoints/configuration/policy/definition/rewrite.py +11 -6
  52. catalystwan/endpoints/configuration/policy/definition/rule_set.py +11 -2
  53. catalystwan/endpoints/configuration/policy/definition/security_group.py +11 -6
  54. catalystwan/endpoints/configuration/policy/definition/traffic_data.py +11 -6
  55. catalystwan/endpoints/configuration/policy/definition/vpn_membership.py +11 -6
  56. catalystwan/endpoints/configuration/policy/definition/zone_based_firewall.py +11 -6
  57. catalystwan/endpoints/configuration/policy/list/app.py +16 -3
  58. catalystwan/endpoints/configuration/policy/list/app_probe.py +15 -6
  59. catalystwan/endpoints/configuration/policy/list/as_path.py +16 -3
  60. catalystwan/endpoints/configuration/policy/list/class_map.py +16 -3
  61. catalystwan/endpoints/configuration/policy/list/color.py +16 -3
  62. catalystwan/endpoints/configuration/policy/list/community.py +16 -3
  63. catalystwan/endpoints/configuration/policy/list/data_ipv6_prefix.py +15 -6
  64. catalystwan/endpoints/configuration/policy/list/data_prefix.py +16 -3
  65. catalystwan/endpoints/configuration/policy/list/expanded_community.py +15 -6
  66. catalystwan/endpoints/configuration/policy/list/fqdn.py +16 -3
  67. catalystwan/endpoints/configuration/policy/list/geo_location.py +16 -3
  68. catalystwan/endpoints/configuration/policy/list/ips_signature.py +15 -6
  69. catalystwan/endpoints/configuration/policy/list/ipv6_prefix.py +16 -3
  70. catalystwan/endpoints/configuration/policy/list/local_app.py +16 -3
  71. catalystwan/endpoints/configuration/policy/list/local_domain.py +16 -3
  72. catalystwan/endpoints/configuration/policy/list/mirror.py +16 -3
  73. catalystwan/endpoints/configuration/policy/list/policer.py +16 -3
  74. catalystwan/endpoints/configuration/policy/list/port.py +16 -3
  75. catalystwan/endpoints/configuration/policy/list/preferred_color_group.py +15 -6
  76. catalystwan/endpoints/configuration/policy/list/prefix.py +16 -4
  77. catalystwan/endpoints/configuration/policy/list/protocol_name.py +15 -6
  78. catalystwan/endpoints/configuration/policy/list/region.py +10 -2
  79. catalystwan/endpoints/configuration/policy/list/site.py +16 -3
  80. catalystwan/endpoints/configuration/policy/list/sla.py +16 -3
  81. catalystwan/endpoints/configuration/policy/list/tloc.py +16 -3
  82. catalystwan/endpoints/configuration/policy/list/url_allow_list.py +16 -3
  83. catalystwan/endpoints/configuration/policy/list/url_block_list.py +16 -3
  84. catalystwan/endpoints/configuration/policy/list/vpn.py +16 -3
  85. catalystwan/endpoints/configuration/policy/list/zone.py +16 -3
  86. catalystwan/endpoints/configuration/policy/security_template.py +3 -2
  87. catalystwan/endpoints/configuration/software_actions.py +4 -2
  88. catalystwan/endpoints/configuration_dashboard_status.py +2 -2
  89. catalystwan/endpoints/configuration_device_template.py +1 -15
  90. catalystwan/endpoints/configuration_feature_profile.py +11 -8
  91. catalystwan/endpoints/configuration_group.py +5 -28
  92. catalystwan/endpoints/configuration_settings.py +1 -90
  93. catalystwan/endpoints/endpoints_container.py +18 -82
  94. catalystwan/endpoints/real_time_monitoring/reboot_history.py +3 -1
  95. catalystwan/endpoints/tenant_migration.py +0 -2
  96. catalystwan/exceptions.py +0 -24
  97. catalystwan/integration_tests/test_find_template_values.py +18 -7
  98. catalystwan/models/common.py +2 -1898
  99. catalystwan/models/configuration/common.py +0 -1
  100. catalystwan/models/configuration/config_migration.py +36 -0
  101. catalystwan/models/configuration/feature_profile/common.py +149 -634
  102. catalystwan/models/configuration/feature_profile/sdwan/management/vpn.py +26 -0
  103. catalystwan/models/configuration/feature_profile/sdwan/policy_object/__init__.py +60 -69
  104. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/app_probe.py +20 -34
  105. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/application_list.py +6 -8
  106. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/color_list.py +5 -7
  107. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/data_prefix.py +4 -13
  108. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/expanded_community_list.py +7 -9
  109. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/fowarding_class.py +5 -7
  110. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/ipv6_data_prefix.py +9 -11
  111. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/ipv6_prefix_list.py +10 -25
  112. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/{policer.py → policier.py} +10 -12
  113. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/prefered_group_color.py +10 -29
  114. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/prefix_list.py +8 -23
  115. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/sla_class.py +31 -12
  116. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/standard_community.py +10 -16
  117. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/tloc_list.py +7 -8
  118. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/application_list.py +6 -8
  119. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/data_prefix.py +5 -7
  120. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/fqdn.py +5 -7
  121. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/geolocation_list.py +5 -7
  122. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/ips_signature.py +5 -7
  123. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/local_domain.py +5 -7
  124. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/protocol_list.py +5 -7
  125. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/security_port.py +11 -21
  126. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/url.py +15 -36
  127. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/zone.py +18 -14
  128. catalystwan/models/configuration/feature_profile/sdwan/service/acl.py +409 -0
  129. catalystwan/models/configuration/feature_profile/sdwan/service/appqoe.py +42 -77
  130. catalystwan/models/configuration/feature_profile/sdwan/service/bgp.py +288 -0
  131. catalystwan/models/configuration/feature_profile/sdwan/service/dhcp_server.py +64 -107
  132. catalystwan/models/configuration/feature_profile/sdwan/service/eigrp.py +42 -39
  133. catalystwan/models/configuration/feature_profile/sdwan/service/lan/common.py +88 -7
  134. catalystwan/models/configuration/feature_profile/sdwan/service/lan/ethernet.py +156 -232
  135. catalystwan/models/configuration/feature_profile/sdwan/service/lan/gre.py +108 -38
  136. catalystwan/models/configuration/feature_profile/sdwan/service/lan/ipsec.py +84 -77
  137. catalystwan/models/configuration/feature_profile/sdwan/service/lan/svi.py +56 -62
  138. catalystwan/models/configuration/feature_profile/sdwan/service/lan/vpn.py +121 -112
  139. catalystwan/models/configuration/feature_profile/sdwan/service/multicast.py +57 -56
  140. catalystwan/models/configuration/feature_profile/sdwan/service/object_tracker.py +21 -15
  141. catalystwan/models/configuration/feature_profile/sdwan/{routing → service}/ospf.py +47 -55
  142. catalystwan/models/configuration/feature_profile/sdwan/{routing → service}/ospfv3.py +72 -74
  143. catalystwan/models/configuration/feature_profile/sdwan/service/route_policy.py +110 -358
  144. catalystwan/models/configuration/feature_profile/sdwan/service/service_insertion_attachment.py +25 -17
  145. catalystwan/models/configuration/feature_profile/sdwan/service/switchport.py +58 -50
  146. catalystwan/models/configuration/feature_profile/sdwan/service/tracker.py +21 -12
  147. catalystwan/models/configuration/feature_profile/sdwan/service/wireless_lan.py +31 -27
  148. catalystwan/models/configuration/feature_profile/sdwan/system/aaa.py +10 -58
  149. catalystwan/models/configuration/feature_profile/sdwan/transport/cellular_controller.py +23 -26
  150. catalystwan/models/configuration/profile_type.py +6 -1
  151. catalystwan/models/policy/__init__.py +69 -282
  152. catalystwan/models/policy/centralized.py +29 -26
  153. catalystwan/models/policy/{definition → definitions}/access_control_list.py +17 -47
  154. catalystwan/models/policy/{definition → definitions}/access_control_list_ipv6.py +18 -42
  155. catalystwan/models/policy/{definition → definitions}/control.py +25 -48
  156. catalystwan/models/policy/{definition → definitions}/device_access.py +11 -22
  157. catalystwan/models/policy/{definition → definitions}/device_access_ipv6.py +11 -20
  158. catalystwan/models/policy/{definition → definitions}/hub_and_spoke.py +4 -18
  159. catalystwan/models/policy/{definition → definitions}/mesh.py +1 -13
  160. catalystwan/models/policy/{definition → definitions}/qos_map.py +32 -39
  161. catalystwan/models/policy/{definition → definitions}/rewrite.py +2 -12
  162. catalystwan/models/policy/{definition → definitions}/rule_set.py +48 -66
  163. catalystwan/models/policy/{definition → definitions}/security_group.py +14 -38
  164. catalystwan/models/policy/{definition → definitions}/traffic_data.py +61 -184
  165. catalystwan/models/policy/{definition → definitions}/vpn_membership.py +1 -13
  166. catalystwan/models/policy/{definition → definitions}/zone_based_firewall.py +32 -93
  167. catalystwan/models/policy/lists.py +330 -0
  168. catalystwan/models/policy/lists_entries.py +444 -0
  169. catalystwan/models/policy/localized.py +16 -34
  170. catalystwan/models/policy/policy.py +10 -14
  171. catalystwan/models/policy/policy_definition.py +173 -673
  172. catalystwan/models/policy/policy_list.py +27 -38
  173. catalystwan/models/policy/security.py +46 -145
  174. catalystwan/response.py +2 -6
  175. catalystwan/session.py +1 -1
  176. catalystwan/tests/templates/definitions/{cisco_vpn_basic.json → Basic_Cisco_VPN_Model.json} +2 -2
  177. catalystwan/tests/templates/definitions/complex_aaa.json +277 -0
  178. catalystwan/tests/templates/definitions/{cisco_vpn_complex.json → complex_cisco_vpn.json} +12 -27
  179. catalystwan/tests/templates/definitions/{cisco_aaa.json → iuo.json} +15 -44
  180. catalystwan/tests/templates/definitions/omp_1.json +11 -0
  181. catalystwan/tests/templates/definitions/{omp_vsmart_2.json → omp_2.json} +2 -16
  182. catalystwan/tests/templates/definitions/{omp_vsmart_3.json → omp_3.json} +2 -16
  183. catalystwan/tests/templates/models/__init__.py +13 -46
  184. catalystwan/tests/templates/models/cisco_aaa.py +48 -81
  185. catalystwan/tests/templates/models/cisco_banner.py +2 -2
  186. catalystwan/tests/templates/models/cisco_bfd.py +6 -4
  187. catalystwan/tests/templates/models/cisco_system.py +3 -108
  188. catalystwan/tests/templates/models/cisco_vpn.py +72 -42
  189. catalystwan/tests/templates/models/omp_vsmart.py +8 -28
  190. catalystwan/tests/templates/schemas/cedge_aaa.json +1 -1
  191. catalystwan/tests/templates/schemas/cisco_system.json +0 -242
  192. catalystwan/tests/templates/schemas/cisco_vpn.json +1 -53
  193. catalystwan/tests/templates/schemas/omp-vsmart.json +0 -20
  194. catalystwan/tests/templates/test_chose_model.py +10 -6
  195. catalystwan/tests/templates/test_deserialize_model.py +4 -4
  196. catalystwan/tests/templates/test_find_template_values.py +0 -229
  197. catalystwan/tests/templates/test_serialize_model.py +2 -1
  198. catalystwan/tests/test_cli_template.py +9 -8
  199. catalystwan/tests/test_endpoints.py +11 -42
  200. catalystwan/tests/test_templates.py +19 -16
  201. catalystwan/utils/feature_template/find_template_values.py +9 -22
  202. catalystwan/utils/timezone.py +422 -0
  203. catalystwan/workflows/tenant_migration.py +1 -1
  204. {catalystwan-0.41.2.dev9.dist-info → catalystwan-0.41.3.dist-info}/METADATA +1 -20
  205. catalystwan-0.41.3.dist-info/RECORD +353 -0
  206. catalystwan/api/builders/__init__.py +0 -14
  207. catalystwan/api/builders/feature_profiles/__init__.py +0 -0
  208. catalystwan/api/builders/feature_profiles/application_priority.py +0 -58
  209. catalystwan/api/builders/feature_profiles/builder_factory.py +0 -59
  210. catalystwan/api/builders/feature_profiles/cli.py +0 -76
  211. catalystwan/api/builders/feature_profiles/mixins.py +0 -44
  212. catalystwan/api/builders/feature_profiles/other.py +0 -79
  213. catalystwan/api/builders/feature_profiles/report.py +0 -155
  214. catalystwan/api/builders/feature_profiles/service.py +0 -248
  215. catalystwan/api/builders/feature_profiles/system.py +0 -80
  216. catalystwan/api/builders/feature_profiles/transport.py +0 -256
  217. catalystwan/api/builders/feature_profiles/uc_voice.py +0 -287
  218. catalystwan/api/templates/models/aaa_model.py +0 -387
  219. catalystwan/api/templates/models/vpn_vsmart_interface_model.py +0 -198
  220. catalystwan/api/templates/models/vpn_vsmart_model.py +0 -124
  221. catalystwan/endpoints/configuration/feature_profile/sdwan/application_priority.py +0 -107
  222. catalystwan/endpoints/configuration/feature_profile/sdwan/cli.py +0 -60
  223. catalystwan/endpoints/configuration/feature_profile/sdwan/dns_security.py +0 -83
  224. catalystwan/endpoints/configuration/feature_profile/sdwan/embedded_security.py +0 -88
  225. catalystwan/endpoints/configuration/feature_profile/sdwan/other.py +0 -62
  226. catalystwan/endpoints/configuration/feature_profile/sdwan/service.py +0 -154
  227. catalystwan/endpoints/configuration/feature_profile/sdwan/sig_security.py +0 -88
  228. catalystwan/endpoints/configuration/feature_profile/sdwan/topology.py +0 -93
  229. catalystwan/endpoints/configuration/feature_profile/sdwan/uc_voice.py +0 -77
  230. catalystwan/endpoints/configuration/network_hierarchy.py +0 -47
  231. catalystwan/endpoints/configuration/packages.py +0 -36
  232. catalystwan/endpoints/configuration/policy/abstractions.py +0 -49
  233. catalystwan/endpoints/configuration/policy/definition/aip.py +0 -52
  234. catalystwan/endpoints/configuration/policy/definition/amp.py +0 -52
  235. catalystwan/endpoints/configuration/policy/definition/app_route.py +0 -50
  236. catalystwan/endpoints/configuration/policy/definition/cflowd.py +0 -46
  237. catalystwan/endpoints/configuration/policy/definition/dial_peer.py +0 -57
  238. catalystwan/endpoints/configuration/policy/definition/dns_security.py +0 -50
  239. catalystwan/endpoints/configuration/policy/definition/fxo_port.py +0 -57
  240. catalystwan/endpoints/configuration/policy/definition/fxs_did_port.py +0 -57
  241. catalystwan/endpoints/configuration/policy/definition/fxs_port.py +0 -57
  242. catalystwan/endpoints/configuration/policy/definition/intrusion_prevention.py +0 -52
  243. catalystwan/endpoints/configuration/policy/definition/pri_isdn_port.py +0 -57
  244. catalystwan/endpoints/configuration/policy/definition/route_policy.py +0 -50
  245. catalystwan/endpoints/configuration/policy/definition/srst_phone_profile.py +0 -59
  246. catalystwan/endpoints/configuration/policy/definition/ssl_decryption.py +0 -50
  247. catalystwan/endpoints/configuration/policy/definition/ssl_decryption_utd_profile.py +0 -52
  248. catalystwan/endpoints/configuration/policy/definition/url_filtering.py +0 -50
  249. catalystwan/endpoints/configuration/policy/definition/vpn_qos_map.py +0 -50
  250. catalystwan/endpoints/configuration/policy/list/extended_community.py +0 -52
  251. catalystwan/endpoints/configuration/policy/list/fax_protocol.py +0 -48
  252. catalystwan/endpoints/configuration/policy/list/identity.py +0 -48
  253. catalystwan/endpoints/configuration/policy/list/media_profile.py +0 -52
  254. catalystwan/endpoints/configuration/policy/list/modem_pass_through.py +0 -52
  255. catalystwan/endpoints/configuration/policy/list/scalable_group_tag.py +0 -52
  256. catalystwan/endpoints/configuration/policy/list/supervisory_disconnect.py +0 -52
  257. catalystwan/endpoints/configuration/policy/list/threat_grid_api_key.py +0 -52
  258. catalystwan/endpoints/configuration/policy/list/translation_profile.py +0 -52
  259. catalystwan/endpoints/configuration/policy/list/translation_rules.py +0 -52
  260. catalystwan/endpoints/configuration/policy/list/trunkgroup.py +0 -48
  261. catalystwan/endpoints/configuration/policy/list/umbrella_data.py +0 -52
  262. catalystwan/endpoints/configuration/policy/voice_template.py +0 -39
  263. catalystwan/endpoints/configuration/policy_group.py +0 -30
  264. catalystwan/endpoints/configuration/topology_group.py +0 -51
  265. catalystwan/endpoints/configuration_general_template.py +0 -31
  266. catalystwan/endpoints/configuration_template_master.py +0 -48
  267. catalystwan/integration_tests/base.py +0 -81
  268. catalystwan/integration_tests/feature_profile/sdwan/__init__.py +0 -0
  269. catalystwan/integration_tests/feature_profile/sdwan/policy/__init__.py +0 -0
  270. catalystwan/integration_tests/feature_profile/sdwan/policy/base.py +0 -33
  271. catalystwan/integration_tests/feature_profile/sdwan/policy/test_extended_community.py +0 -33
  272. catalystwan/integration_tests/feature_profile/sdwan/policy/test_security_app_list.py +0 -32
  273. catalystwan/integration_tests/feature_profile/sdwan/test_application_priority.py +0 -433
  274. catalystwan/integration_tests/feature_profile/sdwan/test_cli.py +0 -54
  275. catalystwan/integration_tests/feature_profile/sdwan/test_dns_security.py +0 -106
  276. catalystwan/integration_tests/feature_profile/sdwan/test_other.py +0 -49
  277. catalystwan/integration_tests/feature_profile/sdwan/test_service.py +0 -1078
  278. catalystwan/integration_tests/feature_profile/sdwan/test_sig_security.py +0 -322
  279. catalystwan/integration_tests/feature_profile/sdwan/test_ssl_decryption.py +0 -85
  280. catalystwan/integration_tests/feature_profile/sdwan/test_system.py +0 -368
  281. catalystwan/integration_tests/feature_profile/sdwan/test_tracker.py +0 -127
  282. catalystwan/integration_tests/feature_profile/sdwan/test_transport.py +0 -1698
  283. catalystwan/integration_tests/feature_profile/sdwan/topology/test_topology.py +0 -93
  284. catalystwan/integration_tests/feature_profile/test_parcel.py +0 -54
  285. catalystwan/integration_tests/profile_builder/__init__.py +0 -0
  286. catalystwan/integration_tests/profile_builder/test_pb_service.py +0 -197
  287. catalystwan/integration_tests/profile_builder/test_pb_transport.py +0 -226
  288. catalystwan/integration_tests/profile_builder/test_pb_uc_voice.py +0 -277
  289. catalystwan/integration_tests/test_data/__init__.py +0 -117
  290. catalystwan/integration_tests/test_network_hierarchy.py +0 -82
  291. catalystwan/integration_tests/test_settings.py +0 -30
  292. catalystwan/models/configuration/feature_profile/parcel.py +0 -245
  293. catalystwan/models/configuration/feature_profile/sdwan/acl/__init__.py +0 -13
  294. catalystwan/models/configuration/feature_profile/sdwan/acl/ipv4acl.py +0 -298
  295. catalystwan/models/configuration/feature_profile/sdwan/acl/ipv6acl.py +0 -344
  296. catalystwan/models/configuration/feature_profile/sdwan/application_priority/__init__.py +0 -218
  297. catalystwan/models/configuration/feature_profile/sdwan/application_priority/cloud_probe.py +0 -61
  298. catalystwan/models/configuration/feature_profile/sdwan/application_priority/policy_settings.py +0 -31
  299. catalystwan/models/configuration/feature_profile/sdwan/application_priority/qos_policy.py +0 -102
  300. catalystwan/models/configuration/feature_profile/sdwan/application_priority/traffic_policy.py +0 -1057
  301. catalystwan/models/configuration/feature_profile/sdwan/cli/__init__.py +0 -23
  302. catalystwan/models/configuration/feature_profile/sdwan/cli/config.py +0 -18
  303. catalystwan/models/configuration/feature_profile/sdwan/cli/full_config.py +0 -15
  304. catalystwan/models/configuration/feature_profile/sdwan/dns_security/__init__.py +0 -13
  305. catalystwan/models/configuration/feature_profile/sdwan/dns_security/dns.py +0 -110
  306. catalystwan/models/configuration/feature_profile/sdwan/embedded_security/__init__.py +0 -23
  307. catalystwan/models/configuration/feature_profile/sdwan/embedded_security/ngfirewall.py +0 -493
  308. catalystwan/models/configuration/feature_profile/sdwan/embedded_security/policy.py +0 -171
  309. catalystwan/models/configuration/feature_profile/sdwan/other/__init__.py +0 -25
  310. catalystwan/models/configuration/feature_profile/sdwan/other/cybervision.py +0 -44
  311. catalystwan/models/configuration/feature_profile/sdwan/other/thousandeyes.py +0 -147
  312. catalystwan/models/configuration/feature_profile/sdwan/other/ucse.py +0 -110
  313. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/as_path.py +0 -22
  314. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/extended_community.py +0 -34
  315. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/ipv4_network_object.py +0 -15
  316. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/ipv4_service_object.py +0 -254
  317. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/mirror.py +0 -27
  318. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/network_object_group.py +0 -15
  319. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/object_group.py +0 -15
  320. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/service_object_group.py +0 -21
  321. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/aip.py +0 -64
  322. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/amp.py +0 -79
  323. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/identity.py +0 -30
  324. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/intrusion_prevention.py +0 -58
  325. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/object_group.py +0 -72
  326. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/rule_set.py +0 -137
  327. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/scalable_group_tag.py +0 -26
  328. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/ssl_decryption.py +0 -126
  329. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/ssl_decryption_profile.py +0 -165
  330. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/url_filtering.py +0 -148
  331. catalystwan/models/configuration/feature_profile/sdwan/routing/__init__.py +0 -26
  332. catalystwan/models/configuration/feature_profile/sdwan/routing/bgp.py +0 -609
  333. catalystwan/models/configuration/feature_profile/sdwan/service/__init__.py +0 -91
  334. catalystwan/models/configuration/feature_profile/sdwan/service/dual_router_ha.py +0 -26
  335. catalystwan/models/configuration/feature_profile/sdwan/service/lan/multilink.py +0 -101
  336. catalystwan/models/configuration/feature_profile/sdwan/service/service_chain.py +0 -38
  337. catalystwan/models/configuration/feature_profile/sdwan/sig_security/__init__.py +0 -19
  338. catalystwan/models/configuration/feature_profile/sdwan/sig_security/sig_security.py +0 -379
  339. catalystwan/models/configuration/feature_profile/sdwan/system/__init__.py +0 -59
  340. catalystwan/models/configuration/feature_profile/sdwan/system/banner.py +0 -30
  341. catalystwan/models/configuration/feature_profile/sdwan/system/basic.py +0 -290
  342. catalystwan/models/configuration/feature_profile/sdwan/system/bfd.py +0 -69
  343. catalystwan/models/configuration/feature_profile/sdwan/system/device_access.py +0 -157
  344. catalystwan/models/configuration/feature_profile/sdwan/system/device_access_ipv6.py +0 -157
  345. catalystwan/models/configuration/feature_profile/sdwan/system/global_parcel.py +0 -163
  346. catalystwan/models/configuration/feature_profile/sdwan/system/logging_parcel.py +0 -162
  347. catalystwan/models/configuration/feature_profile/sdwan/system/mrf.py +0 -75
  348. catalystwan/models/configuration/feature_profile/sdwan/system/ntp.py +0 -103
  349. catalystwan/models/configuration/feature_profile/sdwan/system/omp.py +0 -120
  350. catalystwan/models/configuration/feature_profile/sdwan/system/security.py +0 -179
  351. catalystwan/models/configuration/feature_profile/sdwan/system/snmp.py +0 -173
  352. catalystwan/models/configuration/feature_profile/sdwan/topology/__init__.py +0 -29
  353. catalystwan/models/configuration/feature_profile/sdwan/topology/custom_control.py +0 -425
  354. catalystwan/models/configuration/feature_profile/sdwan/topology/hubspoke.py +0 -60
  355. catalystwan/models/configuration/feature_profile/sdwan/topology/mesh.py +0 -23
  356. catalystwan/models/configuration/feature_profile/sdwan/trackers/__init__.py +0 -36
  357. catalystwan/models/configuration/feature_profile/sdwan/trackers/tracker.py +0 -96
  358. catalystwan/models/configuration/feature_profile/sdwan/trackers/tracker_group.py +0 -63
  359. catalystwan/models/configuration/feature_profile/sdwan/transport/__init__.py +0 -93
  360. catalystwan/models/configuration/feature_profile/sdwan/transport/cellular_profile.py +0 -71
  361. catalystwan/models/configuration/feature_profile/sdwan/transport/gps.py +0 -37
  362. catalystwan/models/configuration/feature_profile/sdwan/transport/management/ethernet.py +0 -121
  363. catalystwan/models/configuration/feature_profile/sdwan/transport/t1e1controller.py +0 -124
  364. catalystwan/models/configuration/feature_profile/sdwan/transport/vpn.py +0 -285
  365. catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/cellular.py +0 -173
  366. catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/ethernet.py +0 -389
  367. catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/gre.py +0 -46
  368. catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/ipsec.py +0 -137
  369. catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/multilink.py +0 -219
  370. catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/protocol_over.py +0 -405
  371. catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/t1e1serial.py +0 -195
  372. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/__init__.py +0 -62
  373. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/analog_interface.py +0 -436
  374. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/call_routing.py +0 -179
  375. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/digital_interface.py +0 -380
  376. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/dsp_farm.py +0 -193
  377. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/media_profile.py +0 -17
  378. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/server_group.py +0 -51
  379. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/srst.py +0 -86
  380. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/supervisory_disconnect.py +0 -69
  381. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/translation_profile.py +0 -42
  382. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/translation_rule.py +0 -31
  383. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/trunk_group.py +0 -26
  384. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/voice_global.py +0 -57
  385. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/voice_tenant.py +0 -40
  386. catalystwan/models/configuration/network_hierarchy/__init__.py +0 -24
  387. catalystwan/models/configuration/network_hierarchy/cflowd.py +0 -128
  388. catalystwan/models/configuration/network_hierarchy/node.py +0 -88
  389. catalystwan/models/configuration/network_hierarchy/security_logging.py +0 -91
  390. catalystwan/models/configuration/packages.py +0 -57
  391. catalystwan/models/configuration/policy_group.py +0 -74
  392. catalystwan/models/configuration/topology_group.py +0 -52
  393. catalystwan/models/policy/definition/aip.py +0 -60
  394. catalystwan/models/policy/definition/amp.py +0 -65
  395. catalystwan/models/policy/definition/app_route.py +0 -246
  396. catalystwan/models/policy/definition/cflowd.py +0 -95
  397. catalystwan/models/policy/definition/dial_peer.py +0 -60
  398. catalystwan/models/policy/definition/dns_security.py +0 -130
  399. catalystwan/models/policy/definition/fxo_port.py +0 -63
  400. catalystwan/models/policy/definition/fxs_did_port.py +0 -58
  401. catalystwan/models/policy/definition/fxs_port.py +0 -56
  402. catalystwan/models/policy/definition/intrusion_prevention.py +0 -55
  403. catalystwan/models/policy/definition/pri_isdn_port.py +0 -48
  404. catalystwan/models/policy/definition/route_policy.py +0 -187
  405. catalystwan/models/policy/definition/srst_phone_profile.py +0 -37
  406. catalystwan/models/policy/definition/ssl_decryption.py +0 -209
  407. catalystwan/models/policy/definition/ssl_decryption_utd_profile.py +0 -88
  408. catalystwan/models/policy/definition/url_filtering.py +0 -70
  409. catalystwan/models/policy/definition/vpn_qos_map.py +0 -46
  410. catalystwan/models/policy/list/app.py +0 -44
  411. catalystwan/models/policy/list/app_probe.py +0 -42
  412. catalystwan/models/policy/list/as_path.py +0 -30
  413. catalystwan/models/policy/list/class_map.py +0 -30
  414. catalystwan/models/policy/list/color.py +0 -28
  415. catalystwan/models/policy/list/communities.py +0 -83
  416. catalystwan/models/policy/list/data_ipv6_prefix.py +0 -30
  417. catalystwan/models/policy/list/data_prefix.py +0 -30
  418. catalystwan/models/policy/list/fax_protocol.py +0 -45
  419. catalystwan/models/policy/list/fqdn.py +0 -24
  420. catalystwan/models/policy/list/geo_location.py +0 -33
  421. catalystwan/models/policy/list/identity.py +0 -29
  422. catalystwan/models/policy/list/ips_signature.py +0 -27
  423. catalystwan/models/policy/list/ipv6_prefix.py +0 -33
  424. catalystwan/models/policy/list/local_app.py +0 -45
  425. catalystwan/models/policy/list/local_domain.py +0 -36
  426. catalystwan/models/policy/list/media_profile.py +0 -44
  427. catalystwan/models/policy/list/mirror.py +0 -27
  428. catalystwan/models/policy/list/modem_pass_through.py +0 -27
  429. catalystwan/models/policy/list/policer.py +0 -39
  430. catalystwan/models/policy/list/port.py +0 -33
  431. catalystwan/models/policy/list/preferred_color_group.py +0 -82
  432. catalystwan/models/policy/list/prefix.py +0 -33
  433. catalystwan/models/policy/list/protocol_name.py +0 -26
  434. catalystwan/models/policy/list/region.py +0 -45
  435. catalystwan/models/policy/list/scalable_group_tag.py +0 -30
  436. catalystwan/models/policy/list/site.py +0 -34
  437. catalystwan/models/policy/list/sla.py +0 -77
  438. catalystwan/models/policy/list/supervisory_disconnect.py +0 -62
  439. catalystwan/models/policy/list/threat_grid_api_key.py +0 -32
  440. catalystwan/models/policy/list/tloc.py +0 -32
  441. catalystwan/models/policy/list/translation_profile.py +0 -32
  442. catalystwan/models/policy/list/translation_rules.py +0 -29
  443. catalystwan/models/policy/list/trunkgroup.py +0 -56
  444. catalystwan/models/policy/list/umbrella_data.py +0 -30
  445. catalystwan/models/policy/list/url.py +0 -39
  446. catalystwan/models/policy/list/vpn.py +0 -40
  447. catalystwan/models/policy/list/zone.py +0 -46
  448. catalystwan/models/policy/voice.py +0 -77
  449. catalystwan/models/settings.py +0 -41
  450. catalystwan/models/templates.py +0 -79
  451. catalystwan/tests/builders/test_report.py +0 -60
  452. catalystwan/tests/builders/uc_voice.py +0 -85
  453. catalystwan/tests/models/__init__.py +0 -0
  454. catalystwan/tests/models/configuration/feature_profile/sdwan/policy_object/security/test_url.py +0 -73
  455. catalystwan/tests/models/test_digital_interface.py +0 -56
  456. catalystwan/tests/templates/definitions/aaa_basic.json +0 -96
  457. catalystwan/tests/templates/definitions/aaa_complex.json +0 -464
  458. catalystwan/tests/templates/definitions/cisco_aaa_complex.json +0 -361
  459. catalystwan/tests/templates/definitions/cisco_logging_complex.json +0 -268
  460. catalystwan/tests/templates/definitions/cisco_ntp_complex.json +0 -143
  461. catalystwan/tests/templates/definitions/cisco_omp_complex.json +0 -175
  462. catalystwan/tests/templates/definitions/cisco_ospf_complex.json +0 -302
  463. catalystwan/tests/templates/definitions/cisco_sig.json +0 -405
  464. catalystwan/tests/templates/definitions/cisco_snmp_complex.json +0 -258
  465. catalystwan/tests/templates/definitions/cisco_system_complex.json +0 -502
  466. catalystwan/tests/templates/definitions/cisco_vpn_interface_complex.json +0 -821
  467. catalystwan/tests/templates/definitions/omp_vsmart_1.json +0 -26
  468. catalystwan/tests/templates/definitions/omp_vsmart_complex.json +0 -73
  469. catalystwan/tests/templates/definitions/security_vsmart_complex.json +0 -24
  470. catalystwan/tests/templates/definitions/system_vsmart_complex.json +0 -193
  471. catalystwan/tests/templates/definitions/vpn_vsmart_basic.json +0 -17
  472. catalystwan/tests/templates/definitions/vpn_vsmart_complex.json +0 -179
  473. catalystwan/tests/templates/definitions/vpn_vsmart_interface_basic.json +0 -42
  474. catalystwan/tests/templates/definitions/vpn_vsmart_interface_complex.json +0 -208
  475. catalystwan/tests/templates/models/aaa.py +0 -106
  476. catalystwan/tests/templates/models/cisco_logging.py +0 -65
  477. catalystwan/tests/templates/models/cisco_ntp.py +0 -17
  478. catalystwan/tests/templates/models/cisco_omp.py +0 -37
  479. catalystwan/tests/templates/models/cisco_ospf.py +0 -60
  480. catalystwan/tests/templates/models/cisco_secure_internet_gateway.py +0 -95
  481. catalystwan/tests/templates/models/cisco_snmp.py +0 -40
  482. catalystwan/tests/templates/models/cisco_vpn_interface.py +0 -200
  483. catalystwan/tests/templates/models/security_vsmart.py +0 -11
  484. catalystwan/tests/templates/models/system_vsmart.py +0 -37
  485. catalystwan/tests/templates/models/vpn_vsmart.py +0 -32
  486. catalystwan/tests/templates/models/vpn_vsmart_interface.py +0 -54
  487. catalystwan/tests/templates/schemas/aaa.json +0 -1096
  488. catalystwan/tests/templates/schemas/cisco_logging.json +0 -577
  489. catalystwan/tests/templates/schemas/cisco_ntp.json +0 -265
  490. catalystwan/tests/templates/schemas/cisco_omp.json +0 -479
  491. catalystwan/tests/templates/schemas/cisco_ospf.json +0 -908
  492. catalystwan/tests/templates/schemas/cisco_secure_internet_gateway.json +0 -1520
  493. catalystwan/tests/templates/schemas/cisco_snmp.json +0 -561
  494. catalystwan/tests/templates/schemas/cisco_vpn_interface.json +0 -3348
  495. catalystwan/tests/templates/schemas/security-vsmart.json +0 -58
  496. catalystwan/tests/templates/schemas/system-vsmart.json +0 -2585
  497. catalystwan/tests/templates/schemas/vpn-vsmart-interface.json +0 -859
  498. catalystwan/tests/templates/schemas/vpn-vsmart.json +0 -445
  499. catalystwan/tests/templates/test_find_template_values_2.py +0 -193
  500. catalystwan/tests/test_feature_profile_api.py +0 -282
  501. catalystwan/tests/test_models_common.py +0 -53
  502. catalystwan/utils/model.py +0 -48
  503. catalystwan/utils/persona.py +0 -5
  504. catalystwan/utils/type_check.py +0 -22
  505. catalystwan/workflows/backup_restore_device_templates.py +0 -467
  506. catalystwan-0.41.2.dev9.dist-info/RECORD +0 -641
  507. /catalystwan/tests/templates/definitions/{cisco_banner.json → banner_1.json} +0 -0
  508. {catalystwan-0.41.2.dev9.dist-info → catalystwan-0.41.3.dist-info}/LICENSE +0 -0
  509. {catalystwan-0.41.2.dev9.dist-info → catalystwan-0.41.3.dist-info}/WHEEL +0 -0
@@ -1,124 +0,0 @@
1
- # Copyright 2023 Cisco Systems, Inc. and its affiliates
2
-
3
- from pathlib import Path
4
- from typing import ClassVar, List, Literal, Optional
5
-
6
- from pydantic import ConfigDict, Field
7
-
8
- from catalystwan.api.templates.bool_str import BoolStr
9
- from catalystwan.api.templates.feature_template import FeatureTemplate, FeatureTemplateValidator
10
-
11
- VpnId = Literal["0", "512"]
12
- Role = Literal["primary", "secondary"]
13
-
14
-
15
- class Dns(FeatureTemplateValidator):
16
- dns_addr: Optional[str] = Field(
17
- default=None, json_schema_extra={"vmanage_key": "dns-addr"}, description="The IP address of the DNS server."
18
- )
19
- role: Role = Field(description="The role of the DNS server, either 'PRIMARY' or 'SECONDARY'.")
20
- model_config = ConfigDict(populate_by_name=True)
21
-
22
-
23
- class Host(FeatureTemplateValidator):
24
- hostname: str = Field(..., description="The hostname of the device.")
25
- ip: List[str] = Field(..., description="A list of IP addresses associated with the hostname.")
26
-
27
-
28
- class NextHop(FeatureTemplateValidator):
29
- address: Optional[str] = Field(default=None, description="The IP address of the next hop for the route.")
30
- distance: Optional[int] = Field(default=1, description="The administrative distance of the next hop.")
31
-
32
-
33
- class RouteInterface(FeatureTemplateValidator):
34
- interface_name: str = Field(
35
- description="The name of the interface used for routing.", json_schema_extra={"vmanage_key": "interface-name"}
36
- )
37
- interface_next_hop: Optional[List[NextHop]] = Field(
38
- default=None,
39
- description="A list of next hops associated with the interface for routing purposes.",
40
- json_schema_extra={"vmanage_key": "interface-next-hop", "priority_order": ["address", "distance"]},
41
- )
42
- model_config = ConfigDict(populate_by_name=True)
43
-
44
-
45
- class Routev4(FeatureTemplateValidator):
46
- prefix: Optional[str] = Field(default=None, description="The IPv4 network prefix for the static route.")
47
- next_hop: Optional[List[NextHop]] = Field(
48
- default=None,
49
- description="A list of IPv4 next hops for the route.",
50
- json_schema_extra={"vmanage_key": "next-hop", "priority_order": ["address", "distance"]},
51
- )
52
- route_interface: Optional[RouteInterface] = Field(
53
- default=None,
54
- description="The interface configuration for the IPv4 static route.",
55
- json_schema_extra={"vmanage_key": "route-interface"},
56
- )
57
- null0: Optional[BoolStr] = Field(
58
- default=None, description="A flag indicating whether to route traffic to null0 for this static route."
59
- )
60
- distance: Optional[int] = Field(default=None, description="The administrative distance for the static route.")
61
- vpn: Optional[int] = Field(
62
- default=None, description="The VPN instance identifier associated with the static route."
63
- )
64
-
65
- model_config = ConfigDict(populate_by_name=True)
66
-
67
-
68
- class NextHopv6(FeatureTemplateValidator):
69
- address: str = Field(description="The IPv6 address of the next hop for the route.")
70
- distance: Optional[int] = Field(default=1, description="The administrative distance of the IPv6 next hop.")
71
-
72
-
73
- class Routev6(FeatureTemplateValidator):
74
- prefix: str = Field(description="The IPv6 network prefix for the static route.")
75
- next_hop: Optional[List[NextHopv6]] = Field(
76
- default=None,
77
- description="A list of IPv6 next hops for the route.",
78
- json_schema_extra={"vmanage_key": "next-hop"},
79
- )
80
- null0: Optional[BoolStr] = Field(
81
- default=None, description="A flag indicating whether to route IPv6 traffic to null0 for this static route."
82
- )
83
- distance: Optional[int] = Field(default=1, description="The administrative distance for the static route.")
84
- vpn: Optional[int] = Field(default=0, description="The VPN instance identifier associated with the static route.")
85
- model_config = ConfigDict(populate_by_name=True)
86
-
87
-
88
- class VpnVsmartModel(FeatureTemplate):
89
- model_config = ConfigDict(arbitrary_types_allowed=True, populate_by_name=True)
90
- _docs_description: str = "vSmart VPN Feature Template configuration."
91
-
92
- vpn_id: VpnId = Field(
93
- description="The unique identifier for the VPN, only 0 and 512 are allowed on vsmart",
94
- json_schema_extra={"vmanage_key": "vpn-id"},
95
- )
96
- name: Optional[str] = Field(
97
- default=None, description="The name of the VPN.", json_schema_extra={"vmanage_key": "name"}
98
- )
99
- dns: Optional[List[Dns]] = Field(
100
- default=None,
101
- description="A list of DNS configurations for the VPN instance.",
102
- )
103
- host: Optional[List[Host]] = Field(
104
- default=None,
105
- description="Static DNS mapping",
106
- json_schema_extra={"priority_order": ["hostname", "ip"]},
107
- )
108
- route_v4: Optional[List[Routev4]] = Field(
109
- default=None,
110
- description="A list of IPv4 route configurations within the VPN instance.",
111
- json_schema_extra={
112
- "data_path": ["ip"],
113
- "vmanage_key": "route",
114
- "priority_order": ["prefix", "next-hop", "next-hop-with-track"],
115
- },
116
- )
117
- route_v6: Optional[List[Routev6]] = Field(
118
- default=None,
119
- description="A list of IPv6 route configurations within the VPN instance.",
120
- json_schema_extra={"data_path": ["ipv6"], "vmanage_key": "route"},
121
- )
122
-
123
- payload_path: ClassVar[Path] = Path(__file__).parent / "DEPRECATED"
124
- type: ClassVar[str] = "vpn-vsmart"
@@ -1,107 +0,0 @@
1
- # Copyright 2024 Cisco Systems, Inc. and its affiliates
2
-
3
- # mypy: disable-error-code="empty-body"
4
- from uuid import UUID
5
-
6
- from catalystwan.endpoints import APIEndpoints, delete, get, post, put, versions
7
- from catalystwan.models.configuration.feature_profile.common import (
8
- FeatureProfileCreationPayload,
9
- FeatureProfileCreationResponse,
10
- FeatureProfileDetail,
11
- FeatureProfileEditPayload,
12
- FeatureProfileInfo,
13
- GetFeatureProfilesParams,
14
- )
15
- from catalystwan.models.configuration.feature_profile.parcel import Parcel, ParcelCreationResponse
16
- from catalystwan.models.configuration.feature_profile.sdwan.application_priority import AnyApplicationPriorityParcel
17
- from catalystwan.models.configuration.feature_profile.sdwan.application_priority.policy_settings import (
18
- PolicySettingsParcel,
19
- )
20
- from catalystwan.typed_list import DataSequence
21
-
22
-
23
- class ApplicationPriorityFeatureProfile(APIEndpoints):
24
- @versions(supported_versions=(">=20.12"), raises=False)
25
- @post("/v1/feature-profile/sdwan/application-priority")
26
- def create_application_priority_feature_profile(
27
- self, payload: FeatureProfileCreationPayload
28
- ) -> FeatureProfileCreationResponse:
29
- ...
30
-
31
- @versions(supported_versions=(">=20.12"), raises=False)
32
- @get("/v1/feature-profile/sdwan/application-priority")
33
- def get_application_priority_feature_profiles(
34
- self, params: GetFeatureProfilesParams
35
- ) -> DataSequence[FeatureProfileInfo]:
36
- ...
37
-
38
- @versions(supported_versions=(">=20.12"), raises=False)
39
- @get("/v1/feature-profile/sdwan/application-priority/{profile_id}")
40
- def get_application_priority_feature_profile(
41
- self, profile_id: str, params: GetFeatureProfilesParams
42
- ) -> FeatureProfileDetail:
43
- ...
44
-
45
- @versions(supported_versions=(">=20.12"), raises=False)
46
- @put("/v1/feature-profile/sdwan/application-priority/{profile_id}")
47
- def edit_application_priority_feature_profile(
48
- self, profile_id: str, payload: FeatureProfileEditPayload
49
- ) -> FeatureProfileCreationResponse:
50
- ...
51
-
52
- @versions(supported_versions=(">=20.12"), raises=False)
53
- @delete("/v1/feature-profile/sdwan/application-priority/{profile_id}")
54
- def delete_application_priority_feature_profile(self, profile_id: str) -> None:
55
- ...
56
-
57
- @versions(supported_versions=(">=20.12"), raises=False)
58
- @post("/v1/feature-profile/sdwan/application-priority/{profile_id}/{application_priority_list_type}")
59
- def create(
60
- self, profile_id: UUID, application_priority_list_type: str, payload: AnyApplicationPriorityParcel
61
- ) -> ParcelCreationResponse:
62
- ...
63
-
64
- @versions(supported_versions=(">=20.12"), raises=False)
65
- @delete(
66
- "/v1/feature-profile/sdwan/application-priority/{profile_id}/{application_priority_list_type}/{list_object_id}"
67
- )
68
- def delete(self, profile_id: UUID, application_priority_list_type: str, list_object_id: UUID) -> None:
69
- ...
70
-
71
- @versions(supported_versions=(">=20.12"), raises=False)
72
- @put(
73
- "/v1/feature-profile/sdwan/application-priority/{profile_id}/{application_priority_list_type}/{list_object_id}"
74
- )
75
- def update(
76
- self,
77
- profile_id: UUID,
78
- application_priority_list_type: str,
79
- list_object_id: UUID,
80
- payload: AnyApplicationPriorityParcel,
81
- ) -> ParcelCreationResponse:
82
- ...
83
-
84
- @versions(supported_versions=(">=20.12"), raises=False)
85
- @get(
86
- "/v1/feature-profile/sdwan/application-priority/{profile_id}/{application_priority_list_type}/{list_object_id}"
87
- )
88
- def get_by_id(self, profile_id: UUID, application_priority_list_type: str, list_object_id: UUID) -> Parcel:
89
- ...
90
-
91
- @versions(supported_versions=(">=20.12"), raises=False)
92
- @get(
93
- "/v1/feature-profile/sdwan/application-priority/{profile_id}/{application_priority_list_type}",
94
- resp_json_key="data",
95
- )
96
- def get_all(self, profile_id: UUID, application_priority_list_type: str) -> DataSequence[Parcel]:
97
- ...
98
-
99
- @versions(supported_versions=(">20.12"), raises=False)
100
- @post("/v1/feature-profile/sdwan/application-priority/{profile_id}/policy-settings")
101
- def create_policy_settings(self, profile_id: UUID, payload: PolicySettingsParcel) -> ParcelCreationResponse:
102
- ...
103
-
104
- @versions(supported_versions=(">20.12"), raises=False)
105
- @get("/v1/feature-profile/sdwan/application-priority/{profile_id}/policy-settings/{list_object_id}")
106
- def get_policy_settings(self, profile_id: UUID, list_object_id: UUID) -> Parcel:
107
- ...
@@ -1,60 +0,0 @@
1
- # Copyright 2024 Cisco Systems, Inc. and its affiliates
2
-
3
- # mypy: disable-error-code="empty-body"
4
- from typing import Optional
5
- from uuid import UUID
6
-
7
- from catalystwan.endpoints import APIEndpoints, delete, get, post, put, versions
8
- from catalystwan.models.configuration.feature_profile.common import (
9
- FeatureProfileCreationPayload,
10
- FeatureProfileCreationResponse,
11
- FeatureProfileInfo,
12
- GetFeatureProfilesParams,
13
- )
14
- from catalystwan.models.configuration.feature_profile.parcel import Parcel, ParcelCreationResponse
15
- from catalystwan.models.configuration.feature_profile.sdwan.cli import AnyCliParcel
16
- from catalystwan.typed_list import DataSequence
17
-
18
-
19
- class CliFeatureProfile(APIEndpoints):
20
- @versions(">=20.9")
21
- @get("/v1/feature-profile/sdwan/cli")
22
- def get_profiles(self, payload: Optional[GetFeatureProfilesParams]) -> DataSequence[FeatureProfileInfo]:
23
- ...
24
-
25
- @versions(">=20.9")
26
- @post("/v1/feature-profile/sdwan/cli")
27
- def create_profile(self, payload: FeatureProfileCreationPayload) -> FeatureProfileCreationResponse:
28
- ...
29
-
30
- @versions(">=20.9")
31
- @delete("/v1/feature-profile/sdwan/cli/{profile_id}")
32
- def delete_profile(self, profile_id: UUID) -> None:
33
- ...
34
-
35
- @versions(">=20.9")
36
- @get("/v1/feature-profile/sdwan/cli/{profile_id}/{parcel_type}")
37
- def get_all(self, profile_id: UUID, parcel_type: str) -> DataSequence[Parcel[AnyCliParcel]]:
38
- ...
39
-
40
- @versions(">=20.9")
41
- @get("/v1/feature-profile/sdwan/cli/{profile_id}/{parcel_type}/{parcel_id}")
42
- def get_by_id(self, profile_id: UUID, parcel_type: str, parcel_id: UUID) -> Parcel[AnyCliParcel]:
43
- ...
44
-
45
- @versions(">=20.9")
46
- @post("/v1/feature-profile/sdwan/cli/{profile_id}/{parcel_type}")
47
- def create(self, profile_id: UUID, parcel_type: str, payload: AnyCliParcel) -> ParcelCreationResponse:
48
- ...
49
-
50
- @versions(">=20.9")
51
- @put("/v1/feature-profile/sdwan/cli/{profile_id}/{parcel_type}/{parcel_id}")
52
- def update(
53
- self, profile_id: UUID, parcel_type: str, parcel_id: UUID, payload: AnyCliParcel
54
- ) -> ParcelCreationResponse:
55
- ...
56
-
57
- @versions(">=20.9")
58
- @delete("/v1/feature-profile/sdwan/cli/{profile_id}/{parcel_type}/{parcel_id}")
59
- def delete(self, profile_id: UUID, parcel_type: str, parcel_id: UUID) -> None:
60
- ...
@@ -1,83 +0,0 @@
1
- # Copyright 2024 Cisco Systems, Inc. and its affiliates
2
-
3
- # mypy: disable-error-code="empty-body"
4
- from uuid import UUID
5
-
6
- from catalystwan.endpoints import APIEndpoints, delete, get, post, put, versions
7
- from catalystwan.models.configuration.feature_profile.common import (
8
- FeatureProfileCreationPayload,
9
- FeatureProfileCreationResponse,
10
- FeatureProfileDetail,
11
- FeatureProfileEditPayload,
12
- FeatureProfileInfo,
13
- GetFeatureProfilesParams,
14
- )
15
- from catalystwan.models.configuration.feature_profile.parcel import Parcel, ParcelCreationResponse
16
- from catalystwan.models.configuration.feature_profile.sdwan.dns_security import AnyDnsSecurityParcel
17
- from catalystwan.typed_list import DataSequence
18
-
19
-
20
- class DnsSecurityFeatureProfile(APIEndpoints):
21
- @versions(supported_versions=(">=20.12"), raises=False)
22
- @post("/v1/feature-profile/sdwan/dns-security")
23
- def create_dns_security_feature_profile(
24
- self, payload: FeatureProfileCreationPayload
25
- ) -> FeatureProfileCreationResponse:
26
- ...
27
-
28
- @versions(supported_versions=(">=20.12"), raises=False)
29
- @get("/v1/feature-profile/sdwan/dns-security")
30
- def get_dns_security_feature_profiles(self, params: GetFeatureProfilesParams) -> DataSequence[FeatureProfileInfo]:
31
- ...
32
-
33
- @versions(supported_versions=(">=20.12"), raises=False)
34
- @get("/v1/feature-profile/sdwan/dns-security/{profile_id}")
35
- def get_dns_security_feature_profile(
36
- self, profile_id: str, params: GetFeatureProfilesParams
37
- ) -> FeatureProfileDetail:
38
- ...
39
-
40
- @versions(supported_versions=(">=20.12"), raises=False)
41
- @put("/v1/feature-profile/sdwan/dns-security/{profile_id}")
42
- def edit_dns_security_feature_profile(
43
- self, profile_id: str, payload: FeatureProfileEditPayload
44
- ) -> FeatureProfileCreationResponse:
45
- ...
46
-
47
- @versions(supported_versions=(">=20.12"), raises=False)
48
- @delete("/v1/feature-profile/sdwan/dns-security/{profile_id}")
49
- def delete_dns_security_feature_profile(self, profile_id: str) -> None:
50
- ...
51
-
52
- @versions(supported_versions=(">=20.12"), raises=False)
53
- @post("/v1/feature-profile/sdwan/dns-security/{profile_id}/{dns_security_list_type}")
54
- def create(
55
- self, profile_id: UUID, dns_security_list_type: str, payload: AnyDnsSecurityParcel
56
- ) -> ParcelCreationResponse:
57
- ...
58
-
59
- @versions(supported_versions=(">=20.12"), raises=False)
60
- @delete("/v1/feature-profile/sdwan/dns-security/{profile_id}/{dns_security_list_type}/{list_object_id}")
61
- def delete(self, profile_id: UUID, dns_security_list_type: str, list_object_id: UUID) -> None:
62
- ...
63
-
64
- @versions(supported_versions=(">=20.12"), raises=False)
65
- @put("/v1/feature-profile/sdwan/dns-security/{profile_id}/{dns_security_list_type}/{list_object_id}")
66
- def update(
67
- self,
68
- profile_id: UUID,
69
- dns_security_list_type: str,
70
- list_object_id: UUID,
71
- payload: AnyDnsSecurityParcel,
72
- ) -> ParcelCreationResponse:
73
- ...
74
-
75
- @versions(supported_versions=(">=20.12"), raises=False)
76
- @get("/v1/feature-profile/sdwan/dns-security/{profile_id}/{dns_security_list_type}/{list_object_id}")
77
- def get_by_id(self, profile_id: UUID, dns_security_list_type: str, list_object_id: UUID) -> Parcel:
78
- ...
79
-
80
- @versions(supported_versions=(">=20.12"), raises=False)
81
- @get("/v1/feature-profile/sdwan/dns-security/{profile_id}/{dns_security_list_type}", resp_json_key="data")
82
- def get_all(self, profile_id: UUID, dns_security_list_type: str) -> DataSequence[Parcel]:
83
- ...
@@ -1,88 +0,0 @@
1
- # Copyright 2024 Cisco Systems, Inc. and its affiliates
2
-
3
- # mypy: disable-error-code="empty-body"
4
- from uuid import UUID
5
-
6
- from catalystwan.endpoints import APIEndpoints, delete, get, post, put, versions
7
- from catalystwan.models.configuration.feature_profile.common import (
8
- FeatureProfileCreationPayload,
9
- FeatureProfileCreationResponse,
10
- FeatureProfileDetail,
11
- FeatureProfileEditPayload,
12
- FeatureProfileInfo,
13
- GetFeatureProfilesParams,
14
- )
15
- from catalystwan.models.configuration.feature_profile.parcel import Parcel, ParcelCreationResponse
16
- from catalystwan.models.configuration.feature_profile.sdwan.embedded_security import (
17
- AnyEmbeddedSecurityParcel,
18
- PolicyParcel,
19
- )
20
- from catalystwan.typed_list import DataSequence
21
-
22
-
23
- class EmbeddedSecurityFeatureProfile(APIEndpoints):
24
- @versions(supported_versions=(">=20.12"), raises=False)
25
- @post("/v1/feature-profile/sdwan/embedded-security")
26
- def create_embedded_security_feature_profile(
27
- self, payload: FeatureProfileCreationPayload
28
- ) -> FeatureProfileCreationResponse:
29
- ...
30
-
31
- @versions(supported_versions=(">=20.12"), raises=False)
32
- @get("/v1/feature-profile/sdwan/embedded-security")
33
- def get_embedded_security_feature_profiles(
34
- self, params: GetFeatureProfilesParams
35
- ) -> DataSequence[FeatureProfileInfo]:
36
- ...
37
-
38
- @versions(supported_versions=(">=20.12"), raises=False)
39
- @get("/v1/feature-profile/sdwan/embedded-security/{profile_id}")
40
- def get_embedded_security_feature_profile(
41
- self, profile_id: str, params: GetFeatureProfilesParams
42
- ) -> FeatureProfileDetail:
43
- ...
44
-
45
- @versions(supported_versions=(">=20.12"), raises=False)
46
- @put("/v1/feature-profile/sdwan/embedded-security/{profile_id}")
47
- def edit_embedded_security_feature_profile(
48
- self, profile_id: str, payload: FeatureProfileEditPayload
49
- ) -> FeatureProfileCreationResponse:
50
- ...
51
-
52
- @versions(supported_versions=(">=20.12"), raises=False)
53
- @delete("/v1/feature-profile/sdwan/embedded-security/{profile_id}")
54
- def delete_embedded_security_feature_profile(self, profile_id: str) -> None:
55
- ...
56
-
57
- @versions(supported_versions=(">=20.12"), raises=False)
58
- @post("/v1/feature-profile/sdwan/embedded-security/{profile_id}/{embedded_security_list_type}")
59
- def create(
60
- self, profile_id: UUID, embedded_security_list_type: str, payload: PolicyParcel
61
- ) -> ParcelCreationResponse:
62
- ...
63
-
64
- @versions(supported_versions=(">=20.12"), raises=False)
65
- @delete("/v1/feature-profile/sdwan/embedded-security/{profile_id}/{embedded_security_list_type}/{list_object_id}")
66
- def delete(self, profile_id: UUID, embedded_security_list_type: str, list_object_id: UUID) -> None:
67
- ...
68
-
69
- @versions(supported_versions=(">=20.12"), raises=False)
70
- @put("/v1/feature-profile/sdwan/embedded-security/{profile_id}/{embedded_security_list_type}/{list_object_id}")
71
- def update(
72
- self,
73
- profile_id: UUID,
74
- embedded_security_list_type: str,
75
- list_object_id: UUID,
76
- payload: AnyEmbeddedSecurityParcel,
77
- ) -> ParcelCreationResponse:
78
- ...
79
-
80
- @versions(supported_versions=(">=20.12"), raises=False)
81
- @get("/v1/feature-profile/sdwan/embedded-security/{profile_id}/{embedded_security_list_type}/{list_object_id}")
82
- def get_by_id(self, profile_id: UUID, embedded_security_list_type: str, list_object_id: UUID) -> Parcel:
83
- ...
84
-
85
- @versions(supported_versions=(">=20.12"), raises=False)
86
- @get("/v1/feature-profile/sdwan/embedded-security/{profile_id}/{embedded_security_list_type}", resp_json_key="data")
87
- def get_all(self, profile_id: UUID, embedded_security_list_type: str) -> DataSequence[Parcel]:
88
- ...
@@ -1,62 +0,0 @@
1
- # Copyright 2024 Cisco Systems, Inc. and its affiliates
2
-
3
- # mypy: disable-error-code="empty-body"
4
- from typing import Optional
5
- from uuid import UUID
6
-
7
- from catalystwan.api.configuration_groups.parcel import _ParcelBase
8
- from catalystwan.endpoints import APIEndpoints, delete, get, post, put, versions
9
- from catalystwan.models.configuration.feature_profile.common import (
10
- FeatureProfileCreationPayload,
11
- FeatureProfileCreationResponse,
12
- FeatureProfileInfo,
13
- GetFeatureProfilesParams,
14
- )
15
- from catalystwan.models.configuration.feature_profile.parcel import Parcel, ParcelId
16
- from catalystwan.typed_list import DataSequence
17
-
18
-
19
- class OtherFeatureProfile(APIEndpoints):
20
- @versions(supported_versions=(">=20.9"), raises=False)
21
- @get("/v1/feature-profile/sdwan/other")
22
- def get_sdwan_other_feature_profiles(
23
- self, payload: Optional[GetFeatureProfilesParams]
24
- ) -> DataSequence[FeatureProfileInfo]:
25
- ...
26
-
27
- @versions(supported_versions=(">=20.9"), raises=False)
28
- @post("/v1/feature-profile/sdwan/other")
29
- def create_sdwan_other_feature_profile(
30
- self, payload: FeatureProfileCreationPayload
31
- ) -> FeatureProfileCreationResponse:
32
- ...
33
-
34
- @versions(supported_versions=(">=20.9"), raises=False)
35
- @delete("/v1/feature-profile/sdwan/other/{profile_id}")
36
- def delete_sdwan_other_feature_profile(self, profile_id: UUID) -> None:
37
- ...
38
-
39
- @versions(supported_versions=(">=20.9"), raises=False)
40
- @get("/v1/feature-profile/sdwan/other/{profile_id}/{parcel_type}")
41
- def get_all(self, profile_id: UUID, parcel_type: UUID) -> DataSequence[Parcel]:
42
- ...
43
-
44
- @versions(supported_versions=(">=20.9"), raises=False)
45
- @get("/v1/feature-profile/sdwan/other/{profile_id}/{parcel_type}/{parcel_id}")
46
- def get_by_id(self, profile_id: UUID, parcel_type: str, parcel_id: UUID) -> Parcel:
47
- ...
48
-
49
- @versions(supported_versions=(">=20.9"), raises=False)
50
- @put("/v1/feature-profile/sdwan/other/{profile_id}/{parcel_type}/{parcel_id}")
51
- def update(self, profile_id: UUID, parcel_type: str, parcel_id: UUID, payload: _ParcelBase) -> None:
52
- ...
53
-
54
- @versions(supported_versions=(">=20.9"), raises=False)
55
- @delete("/v1/feature-profile/sdwan/other/{profile_id}/{parcel_type}/{parcel_id}")
56
- def delete(self, profile_id: UUID, parcel_type: str, parcel_id: UUID) -> None:
57
- ...
58
-
59
- @versions(supported_versions=(">=20.9"), raises=False)
60
- @post("/v1/feature-profile/sdwan/other/{profile_id}/{parcel_type}")
61
- def create(self, profile_id: UUID, parcel_type: str, payload: _ParcelBase) -> ParcelId:
62
- ...