catalystwan 0.41.2__py3-none-any.whl → 0.41.2.dev0__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 (504) hide show
  1. catalystwan/__init__.py +3 -2
  2. catalystwan/api/administration.py +13 -2
  3. catalystwan/api/api_container.py +4 -1
  4. catalystwan/api/builders/__init__.py +14 -0
  5. catalystwan/api/builders/feature_profiles/__init__.py +0 -0
  6. catalystwan/api/builders/feature_profiles/application_priority.py +58 -0
  7. catalystwan/api/builders/feature_profiles/builder_factory.py +59 -0
  8. catalystwan/api/builders/feature_profiles/cli.py +76 -0
  9. catalystwan/api/builders/feature_profiles/mixins.py +44 -0
  10. catalystwan/api/builders/feature_profiles/other.py +79 -0
  11. catalystwan/api/builders/feature_profiles/report.py +155 -0
  12. catalystwan/api/builders/feature_profiles/service.py +248 -0
  13. catalystwan/api/builders/feature_profiles/system.py +80 -0
  14. catalystwan/api/builders/feature_profiles/transport.py +256 -0
  15. catalystwan/api/builders/feature_profiles/uc_voice.py +287 -0
  16. catalystwan/api/config_group_api.py +41 -16
  17. catalystwan/api/configuration_groups/parcel.py +100 -30
  18. catalystwan/api/feature_profile_api.py +2021 -242
  19. catalystwan/api/policy_api.py +470 -116
  20. catalystwan/api/template_api.py +113 -44
  21. catalystwan/api/templates/README.md +61 -47
  22. catalystwan/api/templates/cli_template.py +17 -7
  23. catalystwan/api/templates/device_template/device_template.py +127 -32
  24. catalystwan/api/templates/feature_template.py +3 -3
  25. catalystwan/api/templates/models/aaa_model.py +387 -0
  26. catalystwan/api/templates/models/cisco_aaa_model.py +289 -42
  27. catalystwan/api/templates/models/cisco_banner_model.py +11 -2
  28. catalystwan/api/templates/models/cisco_bfd_model.py +31 -36
  29. catalystwan/api/templates/models/cisco_bgp_model.py +382 -131
  30. catalystwan/api/templates/models/cisco_logging_model.py +80 -43
  31. catalystwan/api/templates/models/cisco_ntp_model.py +34 -15
  32. catalystwan/api/templates/models/cisco_omp_model.py +70 -60
  33. catalystwan/api/templates/models/cisco_ospf.py +143 -74
  34. catalystwan/api/templates/models/cisco_ospfv3.py +217 -95
  35. catalystwan/api/templates/models/cisco_secure_internet_gateway.py +304 -142
  36. catalystwan/api/templates/models/cisco_snmp_model.py +66 -52
  37. catalystwan/api/templates/models/cisco_system.py +238 -129
  38. catalystwan/api/templates/models/cisco_vpn_interface_model.py +632 -275
  39. catalystwan/api/templates/models/cisco_vpn_model.py +433 -270
  40. catalystwan/api/templates/models/cli_template.py +3 -2
  41. catalystwan/api/templates/models/omp_vsmart_model.py +46 -10
  42. catalystwan/api/templates/models/security_vsmart_model.py +11 -8
  43. catalystwan/api/templates/models/supported.py +10 -4
  44. catalystwan/api/templates/models/system_vsmart_model.py +164 -27
  45. catalystwan/api/templates/models/vpn_vsmart_interface_model.py +198 -0
  46. catalystwan/api/templates/models/vpn_vsmart_model.py +124 -0
  47. catalystwan/apigw_auth.py +6 -2
  48. catalystwan/dataclasses.py +2 -53
  49. catalystwan/endpoints/__init__.py +41 -41
  50. catalystwan/endpoints/certificate_management_device.py +4 -0
  51. catalystwan/endpoints/cluster_management.py +27 -7
  52. catalystwan/endpoints/configuration/feature_profile/sdwan/application_priority.py +107 -0
  53. catalystwan/endpoints/configuration/feature_profile/sdwan/cli.py +60 -0
  54. catalystwan/endpoints/configuration/feature_profile/sdwan/dns_security.py +83 -0
  55. catalystwan/endpoints/configuration/feature_profile/sdwan/embedded_security.py +88 -0
  56. catalystwan/endpoints/configuration/feature_profile/sdwan/other.py +62 -0
  57. catalystwan/endpoints/configuration/feature_profile/sdwan/policy_object.py +35 -12
  58. catalystwan/endpoints/configuration/feature_profile/sdwan/service.py +154 -0
  59. catalystwan/endpoints/configuration/feature_profile/sdwan/sig_security.py +88 -0
  60. catalystwan/endpoints/configuration/feature_profile/sdwan/system.py +164 -11
  61. catalystwan/endpoints/configuration/feature_profile/sdwan/topology.py +93 -0
  62. catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py +144 -26
  63. catalystwan/endpoints/configuration/feature_profile/sdwan/uc_voice.py +77 -0
  64. catalystwan/endpoints/configuration/network_hierarchy.py +32 -0
  65. catalystwan/endpoints/configuration/policy/abstractions.py +49 -0
  66. catalystwan/endpoints/configuration/policy/definition/access_control_list.py +6 -11
  67. catalystwan/endpoints/configuration/policy/definition/access_control_list_ipv6.py +6 -11
  68. catalystwan/endpoints/configuration/policy/definition/aip.py +52 -0
  69. catalystwan/endpoints/configuration/policy/definition/amp.py +52 -0
  70. catalystwan/endpoints/configuration/policy/definition/app_route.py +50 -0
  71. catalystwan/endpoints/configuration/policy/definition/cflowd.py +46 -0
  72. catalystwan/endpoints/configuration/policy/definition/control.py +6 -11
  73. catalystwan/endpoints/configuration/policy/definition/device_access.py +6 -11
  74. catalystwan/endpoints/configuration/policy/definition/device_access_ipv6.py +6 -11
  75. catalystwan/endpoints/configuration/policy/definition/dial_peer.py +57 -0
  76. catalystwan/endpoints/configuration/policy/definition/dns_security.py +50 -0
  77. catalystwan/endpoints/configuration/policy/definition/fxo_port.py +57 -0
  78. catalystwan/endpoints/configuration/policy/definition/fxs_did_port.py +57 -0
  79. catalystwan/endpoints/configuration/policy/definition/fxs_port.py +57 -0
  80. catalystwan/endpoints/configuration/policy/definition/hub_and_spoke.py +6 -11
  81. catalystwan/endpoints/configuration/policy/definition/intrusion_prevention.py +52 -0
  82. catalystwan/endpoints/configuration/policy/definition/mesh.py +2 -11
  83. catalystwan/endpoints/configuration/policy/definition/pri_isdn_port.py +57 -0
  84. catalystwan/endpoints/configuration/policy/definition/qos_map.py +2 -11
  85. catalystwan/endpoints/configuration/policy/definition/rewrite.py +6 -11
  86. catalystwan/endpoints/configuration/policy/definition/route_policy.py +50 -0
  87. catalystwan/endpoints/configuration/policy/definition/rule_set.py +2 -11
  88. catalystwan/endpoints/configuration/policy/definition/security_group.py +6 -11
  89. catalystwan/endpoints/configuration/policy/definition/srst_phone_profile.py +59 -0
  90. catalystwan/endpoints/configuration/policy/definition/ssl_decryption.py +50 -0
  91. catalystwan/endpoints/configuration/policy/definition/ssl_decryption_utd_profile.py +52 -0
  92. catalystwan/endpoints/configuration/policy/definition/traffic_data.py +6 -11
  93. catalystwan/endpoints/configuration/policy/definition/url_filtering.py +50 -0
  94. catalystwan/endpoints/configuration/policy/definition/vpn_membership.py +6 -11
  95. catalystwan/endpoints/configuration/policy/definition/vpn_qos_map.py +50 -0
  96. catalystwan/endpoints/configuration/policy/definition/zone_based_firewall.py +6 -11
  97. catalystwan/endpoints/configuration/policy/list/app.py +3 -16
  98. catalystwan/endpoints/configuration/policy/list/app_probe.py +6 -15
  99. catalystwan/endpoints/configuration/policy/list/as_path.py +3 -16
  100. catalystwan/endpoints/configuration/policy/list/class_map.py +3 -16
  101. catalystwan/endpoints/configuration/policy/list/color.py +3 -16
  102. catalystwan/endpoints/configuration/policy/list/community.py +3 -16
  103. catalystwan/endpoints/configuration/policy/list/data_ipv6_prefix.py +6 -15
  104. catalystwan/endpoints/configuration/policy/list/data_prefix.py +3 -16
  105. catalystwan/endpoints/configuration/policy/list/expanded_community.py +6 -15
  106. catalystwan/endpoints/configuration/policy/list/extended_community.py +52 -0
  107. catalystwan/endpoints/configuration/policy/list/fax_protocol.py +48 -0
  108. catalystwan/endpoints/configuration/policy/list/fqdn.py +3 -16
  109. catalystwan/endpoints/configuration/policy/list/geo_location.py +3 -16
  110. catalystwan/endpoints/configuration/policy/list/identity.py +48 -0
  111. catalystwan/endpoints/configuration/policy/list/ips_signature.py +6 -15
  112. catalystwan/endpoints/configuration/policy/list/ipv6_prefix.py +3 -16
  113. catalystwan/endpoints/configuration/policy/list/local_app.py +3 -16
  114. catalystwan/endpoints/configuration/policy/list/local_domain.py +3 -16
  115. catalystwan/endpoints/configuration/policy/list/media_profile.py +52 -0
  116. catalystwan/endpoints/configuration/policy/list/mirror.py +3 -16
  117. catalystwan/endpoints/configuration/policy/list/modem_pass_through.py +52 -0
  118. catalystwan/endpoints/configuration/policy/list/policer.py +3 -16
  119. catalystwan/endpoints/configuration/policy/list/port.py +3 -16
  120. catalystwan/endpoints/configuration/policy/list/preferred_color_group.py +6 -15
  121. catalystwan/endpoints/configuration/policy/list/prefix.py +4 -16
  122. catalystwan/endpoints/configuration/policy/list/protocol_name.py +6 -15
  123. catalystwan/endpoints/configuration/policy/list/region.py +2 -10
  124. catalystwan/endpoints/configuration/policy/list/scalable_group_tag.py +52 -0
  125. catalystwan/endpoints/configuration/policy/list/site.py +3 -16
  126. catalystwan/endpoints/configuration/policy/list/sla.py +3 -16
  127. catalystwan/endpoints/configuration/policy/list/supervisory_disconnect.py +52 -0
  128. catalystwan/endpoints/configuration/policy/list/threat_grid_api_key.py +52 -0
  129. catalystwan/endpoints/configuration/policy/list/tloc.py +3 -16
  130. catalystwan/endpoints/configuration/policy/list/translation_profile.py +52 -0
  131. catalystwan/endpoints/configuration/policy/list/translation_rules.py +52 -0
  132. catalystwan/endpoints/configuration/policy/list/trunkgroup.py +48 -0
  133. catalystwan/endpoints/configuration/policy/list/umbrella_data.py +52 -0
  134. catalystwan/endpoints/configuration/policy/list/url_allow_list.py +3 -16
  135. catalystwan/endpoints/configuration/policy/list/url_block_list.py +3 -16
  136. catalystwan/endpoints/configuration/policy/list/vpn.py +3 -16
  137. catalystwan/endpoints/configuration/policy/list/zone.py +3 -16
  138. catalystwan/endpoints/configuration/policy/security_template.py +2 -3
  139. catalystwan/endpoints/configuration/policy/voice_template.py +39 -0
  140. catalystwan/endpoints/configuration/policy_group.py +30 -0
  141. catalystwan/endpoints/configuration/software_actions.py +2 -4
  142. catalystwan/endpoints/configuration/topology_group.py +51 -0
  143. catalystwan/endpoints/configuration_dashboard_status.py +2 -2
  144. catalystwan/endpoints/configuration_device_template.py +15 -1
  145. catalystwan/endpoints/configuration_feature_profile.py +8 -11
  146. catalystwan/endpoints/configuration_general_template.py +31 -0
  147. catalystwan/endpoints/configuration_group.py +28 -5
  148. catalystwan/endpoints/configuration_settings.py +90 -1
  149. catalystwan/endpoints/configuration_template_master.py +48 -0
  150. catalystwan/endpoints/endpoints_container.py +79 -19
  151. catalystwan/endpoints/real_time_monitoring/reboot_history.py +1 -3
  152. catalystwan/endpoints/tenant_migration.py +2 -0
  153. catalystwan/exceptions.py +17 -0
  154. catalystwan/integration_tests/base.py +81 -0
  155. catalystwan/integration_tests/feature_profile/sdwan/__init__.py +0 -0
  156. catalystwan/integration_tests/feature_profile/sdwan/policy/__init__.py +0 -0
  157. catalystwan/integration_tests/feature_profile/sdwan/policy/base.py +33 -0
  158. catalystwan/integration_tests/feature_profile/sdwan/policy/test_extended_community.py +33 -0
  159. catalystwan/integration_tests/feature_profile/sdwan/policy/test_security_app_list.py +32 -0
  160. catalystwan/integration_tests/feature_profile/sdwan/test_application_priority.py +433 -0
  161. catalystwan/integration_tests/feature_profile/sdwan/test_cli.py +54 -0
  162. catalystwan/integration_tests/feature_profile/sdwan/test_dns_security.py +106 -0
  163. catalystwan/integration_tests/feature_profile/sdwan/test_other.py +49 -0
  164. catalystwan/integration_tests/feature_profile/sdwan/test_service.py +1078 -0
  165. catalystwan/integration_tests/feature_profile/sdwan/test_sig_security.py +322 -0
  166. catalystwan/integration_tests/feature_profile/sdwan/test_ssl_decryption.py +85 -0
  167. catalystwan/integration_tests/feature_profile/sdwan/test_system.py +368 -0
  168. catalystwan/integration_tests/feature_profile/sdwan/test_tracker.py +127 -0
  169. catalystwan/integration_tests/feature_profile/sdwan/test_transport.py +1698 -0
  170. catalystwan/integration_tests/feature_profile/sdwan/topology/test_topology.py +93 -0
  171. catalystwan/integration_tests/profile_builder/__init__.py +0 -0
  172. catalystwan/integration_tests/profile_builder/test_pb_service.py +197 -0
  173. catalystwan/integration_tests/profile_builder/test_pb_transport.py +226 -0
  174. catalystwan/integration_tests/profile_builder/test_pb_uc_voice.py +277 -0
  175. catalystwan/integration_tests/test_data/__init__.py +117 -0
  176. catalystwan/integration_tests/test_find_template_values.py +7 -18
  177. catalystwan/integration_tests/test_network_hierarchy.py +82 -0
  178. catalystwan/integration_tests/test_settings.py +30 -0
  179. catalystwan/models/common.py +1898 -2
  180. catalystwan/models/configuration/common.py +1 -0
  181. catalystwan/models/configuration/feature_profile/common.py +634 -149
  182. catalystwan/models/configuration/feature_profile/parcel.py +238 -0
  183. catalystwan/models/configuration/feature_profile/sdwan/acl/__init__.py +13 -0
  184. catalystwan/models/configuration/feature_profile/sdwan/acl/ipv4acl.py +298 -0
  185. catalystwan/models/configuration/feature_profile/sdwan/acl/ipv6acl.py +344 -0
  186. catalystwan/models/configuration/feature_profile/sdwan/application_priority/__init__.py +218 -0
  187. catalystwan/models/configuration/feature_profile/sdwan/application_priority/cloud_probe.py +61 -0
  188. catalystwan/models/configuration/feature_profile/sdwan/application_priority/policy_settings.py +31 -0
  189. catalystwan/models/configuration/feature_profile/sdwan/application_priority/qos_policy.py +102 -0
  190. catalystwan/models/configuration/feature_profile/sdwan/application_priority/traffic_policy.py +1057 -0
  191. catalystwan/models/configuration/feature_profile/sdwan/cli/__init__.py +23 -0
  192. catalystwan/models/configuration/feature_profile/sdwan/cli/config.py +18 -0
  193. catalystwan/models/configuration/feature_profile/sdwan/cli/full_config.py +15 -0
  194. catalystwan/models/configuration/feature_profile/sdwan/dns_security/__init__.py +13 -0
  195. catalystwan/models/configuration/feature_profile/sdwan/dns_security/dns.py +110 -0
  196. catalystwan/models/configuration/feature_profile/sdwan/embedded_security/__init__.py +23 -0
  197. catalystwan/models/configuration/feature_profile/sdwan/embedded_security/ngfirewall.py +493 -0
  198. catalystwan/models/configuration/feature_profile/sdwan/embedded_security/policy.py +171 -0
  199. catalystwan/models/configuration/feature_profile/sdwan/other/__init__.py +25 -0
  200. catalystwan/models/configuration/feature_profile/sdwan/other/cybervision.py +44 -0
  201. catalystwan/models/configuration/feature_profile/sdwan/other/thousandeyes.py +147 -0
  202. catalystwan/models/configuration/feature_profile/sdwan/other/ucse.py +110 -0
  203. catalystwan/models/configuration/feature_profile/sdwan/policy_object/__init__.py +62 -48
  204. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/app_probe.py +34 -20
  205. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/application_list.py +8 -6
  206. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/as_path.py +22 -0
  207. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/color_list.py +7 -5
  208. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/data_prefix.py +13 -4
  209. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/expanded_community_list.py +9 -7
  210. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/extended_community.py +34 -0
  211. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/fowarding_class.py +7 -5
  212. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/ipv4_network_object.py +15 -0
  213. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/ipv4_service_object.py +254 -0
  214. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/ipv6_data_prefix.py +11 -9
  215. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/ipv6_prefix_list.py +25 -10
  216. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/mirror.py +27 -0
  217. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/network_object_group.py +15 -0
  218. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/object_group.py +15 -0
  219. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/{policier.py → policer.py} +12 -10
  220. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/prefered_group_color.py +29 -10
  221. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/prefix_list.py +23 -8
  222. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/service_object_group.py +21 -0
  223. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/sla_class.py +12 -31
  224. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/standard_community.py +16 -10
  225. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/tloc_list.py +8 -7
  226. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/aip.py +64 -0
  227. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/amp.py +79 -0
  228. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/application_list.py +8 -6
  229. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/data_prefix.py +7 -5
  230. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/fqdn.py +7 -5
  231. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/geolocation_list.py +7 -5
  232. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/identity.py +30 -0
  233. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/intrusion_prevention.py +58 -0
  234. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/ips_signature.py +7 -5
  235. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/local_domain.py +7 -5
  236. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/object_group.py +72 -0
  237. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/protocol_list.py +7 -5
  238. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/rule_set.py +137 -0
  239. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/scalable_group_tag.py +26 -0
  240. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/security_port.py +21 -11
  241. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/ssl_decryption.py +126 -0
  242. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/ssl_decryption_profile.py +165 -0
  243. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/url.py +15 -10
  244. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/url_filtering.py +148 -0
  245. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/zone.py +14 -18
  246. catalystwan/models/configuration/feature_profile/sdwan/routing/__init__.py +26 -0
  247. catalystwan/models/configuration/feature_profile/sdwan/routing/bgp.py +609 -0
  248. catalystwan/models/configuration/feature_profile/sdwan/{service → routing}/ospf.py +55 -47
  249. catalystwan/models/configuration/feature_profile/sdwan/{service → routing}/ospfv3.py +74 -72
  250. catalystwan/models/configuration/feature_profile/sdwan/service/__init__.py +91 -0
  251. catalystwan/models/configuration/feature_profile/sdwan/service/appqoe.py +76 -41
  252. catalystwan/models/configuration/feature_profile/sdwan/service/dhcp_server.py +107 -64
  253. catalystwan/models/configuration/feature_profile/sdwan/service/dual_router_ha.py +26 -0
  254. catalystwan/models/configuration/feature_profile/sdwan/service/eigrp.py +39 -42
  255. catalystwan/models/configuration/feature_profile/sdwan/service/lan/common.py +7 -88
  256. catalystwan/models/configuration/feature_profile/sdwan/service/lan/ethernet.py +231 -155
  257. catalystwan/models/configuration/feature_profile/sdwan/service/lan/gre.py +38 -108
  258. catalystwan/models/configuration/feature_profile/sdwan/service/lan/ipsec.py +77 -84
  259. catalystwan/models/configuration/feature_profile/sdwan/service/lan/multilink.py +101 -0
  260. catalystwan/models/configuration/feature_profile/sdwan/service/lan/svi.py +62 -56
  261. catalystwan/models/configuration/feature_profile/sdwan/service/lan/vpn.py +111 -120
  262. catalystwan/models/configuration/feature_profile/sdwan/service/multicast.py +56 -57
  263. catalystwan/models/configuration/feature_profile/sdwan/service/object_tracker.py +15 -21
  264. catalystwan/models/configuration/feature_profile/sdwan/service/route_policy.py +358 -110
  265. catalystwan/models/configuration/feature_profile/sdwan/service/service_chain.py +38 -0
  266. catalystwan/models/configuration/feature_profile/sdwan/service/service_insertion_attachment.py +17 -25
  267. catalystwan/models/configuration/feature_profile/sdwan/service/switchport.py +50 -58
  268. catalystwan/models/configuration/feature_profile/sdwan/service/tracker.py +12 -21
  269. catalystwan/models/configuration/feature_profile/sdwan/service/wireless_lan.py +27 -31
  270. catalystwan/models/configuration/feature_profile/sdwan/sig_security/__init__.py +19 -0
  271. catalystwan/models/configuration/feature_profile/sdwan/sig_security/sig_security.py +379 -0
  272. catalystwan/models/configuration/feature_profile/sdwan/system/__init__.py +59 -0
  273. catalystwan/models/configuration/feature_profile/sdwan/system/aaa.py +58 -10
  274. catalystwan/models/configuration/feature_profile/sdwan/system/banner.py +30 -0
  275. catalystwan/models/configuration/feature_profile/sdwan/system/basic.py +290 -0
  276. catalystwan/models/configuration/feature_profile/sdwan/system/bfd.py +69 -0
  277. catalystwan/models/configuration/feature_profile/sdwan/system/device_access.py +157 -0
  278. catalystwan/models/configuration/feature_profile/sdwan/system/device_access_ipv6.py +157 -0
  279. catalystwan/models/configuration/feature_profile/sdwan/system/global_parcel.py +163 -0
  280. catalystwan/models/configuration/feature_profile/sdwan/system/logging_parcel.py +162 -0
  281. catalystwan/models/configuration/feature_profile/sdwan/system/mrf.py +75 -0
  282. catalystwan/models/configuration/feature_profile/sdwan/system/ntp.py +103 -0
  283. catalystwan/models/configuration/feature_profile/sdwan/system/omp.py +120 -0
  284. catalystwan/models/configuration/feature_profile/sdwan/system/security.py +179 -0
  285. catalystwan/models/configuration/feature_profile/sdwan/system/snmp.py +173 -0
  286. catalystwan/models/configuration/feature_profile/sdwan/topology/__init__.py +29 -0
  287. catalystwan/models/configuration/feature_profile/sdwan/topology/custom_control.py +425 -0
  288. catalystwan/models/configuration/feature_profile/sdwan/topology/hubspoke.py +60 -0
  289. catalystwan/models/configuration/feature_profile/sdwan/topology/mesh.py +23 -0
  290. catalystwan/models/configuration/feature_profile/sdwan/trackers/__init__.py +36 -0
  291. catalystwan/models/configuration/feature_profile/sdwan/trackers/tracker.py +96 -0
  292. catalystwan/models/configuration/feature_profile/sdwan/trackers/tracker_group.py +63 -0
  293. catalystwan/models/configuration/feature_profile/sdwan/transport/__init__.py +93 -0
  294. catalystwan/models/configuration/feature_profile/sdwan/transport/cellular_controller.py +26 -23
  295. catalystwan/models/configuration/feature_profile/sdwan/transport/cellular_profile.py +71 -0
  296. catalystwan/models/configuration/feature_profile/sdwan/transport/gps.py +37 -0
  297. catalystwan/models/configuration/feature_profile/sdwan/transport/management/ethernet.py +121 -0
  298. catalystwan/models/configuration/feature_profile/sdwan/transport/t1e1controller.py +124 -0
  299. catalystwan/models/configuration/feature_profile/sdwan/transport/vpn.py +285 -0
  300. catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/cellular.py +173 -0
  301. catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/ethernet.py +389 -0
  302. catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/gre.py +46 -0
  303. catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/ipsec.py +137 -0
  304. catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/multilink.py +219 -0
  305. catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/protocol_over.py +405 -0
  306. catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/t1e1serial.py +195 -0
  307. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/__init__.py +62 -0
  308. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/analog_interface.py +436 -0
  309. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/call_routing.py +179 -0
  310. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/digital_interface.py +380 -0
  311. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/dsp_farm.py +193 -0
  312. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/media_profile.py +17 -0
  313. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/server_group.py +51 -0
  314. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/srst.py +86 -0
  315. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/supervisory_disconnect.py +69 -0
  316. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/translation_profile.py +42 -0
  317. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/translation_rule.py +31 -0
  318. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/trunk_group.py +26 -0
  319. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/voice_global.py +55 -0
  320. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/voice_tenant.py +40 -0
  321. catalystwan/models/configuration/network_hierarchy/__init__.py +22 -0
  322. catalystwan/models/configuration/network_hierarchy/cflowd.py +120 -0
  323. catalystwan/models/configuration/network_hierarchy/node.py +88 -0
  324. catalystwan/models/configuration/policy_group.py +74 -0
  325. catalystwan/models/configuration/profile_type.py +1 -6
  326. catalystwan/models/configuration/topology_group.py +52 -0
  327. catalystwan/models/policy/__init__.py +275 -69
  328. catalystwan/models/policy/centralized.py +26 -29
  329. catalystwan/models/policy/{definitions → definition}/access_control_list.py +47 -17
  330. catalystwan/models/policy/{definitions → definition}/access_control_list_ipv6.py +42 -18
  331. catalystwan/models/policy/definition/aip.py +60 -0
  332. catalystwan/models/policy/definition/amp.py +65 -0
  333. catalystwan/models/policy/definition/app_route.py +246 -0
  334. catalystwan/models/policy/definition/cflowd.py +95 -0
  335. catalystwan/models/policy/{definitions → definition}/control.py +48 -25
  336. catalystwan/models/policy/{definitions → definition}/device_access.py +22 -11
  337. catalystwan/models/policy/{definitions → definition}/device_access_ipv6.py +20 -11
  338. catalystwan/models/policy/definition/dial_peer.py +60 -0
  339. catalystwan/models/policy/definition/dns_security.py +130 -0
  340. catalystwan/models/policy/definition/fxo_port.py +63 -0
  341. catalystwan/models/policy/definition/fxs_did_port.py +58 -0
  342. catalystwan/models/policy/definition/fxs_port.py +56 -0
  343. catalystwan/models/policy/{definitions → definition}/hub_and_spoke.py +18 -4
  344. catalystwan/models/policy/definition/intrusion_prevention.py +55 -0
  345. catalystwan/models/policy/{definitions → definition}/mesh.py +13 -1
  346. catalystwan/models/policy/definition/pri_isdn_port.py +48 -0
  347. catalystwan/models/policy/{definitions → definition}/qos_map.py +39 -32
  348. catalystwan/models/policy/{definitions → definition}/rewrite.py +12 -2
  349. catalystwan/models/policy/definition/route_policy.py +187 -0
  350. catalystwan/models/policy/{definitions → definition}/rule_set.py +66 -48
  351. catalystwan/models/policy/{definitions → definition}/security_group.py +38 -14
  352. catalystwan/models/policy/definition/srst_phone_profile.py +37 -0
  353. catalystwan/models/policy/definition/ssl_decryption.py +209 -0
  354. catalystwan/models/policy/definition/ssl_decryption_utd_profile.py +87 -0
  355. catalystwan/models/policy/{definitions → definition}/traffic_data.py +184 -61
  356. catalystwan/models/policy/definition/url_filtering.py +70 -0
  357. catalystwan/models/policy/{definitions → definition}/vpn_membership.py +13 -1
  358. catalystwan/models/policy/definition/vpn_qos_map.py +46 -0
  359. catalystwan/models/policy/{definitions → definition}/zone_based_firewall.py +93 -32
  360. catalystwan/models/policy/list/app.py +44 -0
  361. catalystwan/models/policy/list/app_probe.py +42 -0
  362. catalystwan/models/policy/list/as_path.py +30 -0
  363. catalystwan/models/policy/list/class_map.py +30 -0
  364. catalystwan/models/policy/list/color.py +28 -0
  365. catalystwan/models/policy/list/communities.py +83 -0
  366. catalystwan/models/policy/list/data_ipv6_prefix.py +30 -0
  367. catalystwan/models/policy/list/data_prefix.py +30 -0
  368. catalystwan/models/policy/list/fax_protocol.py +45 -0
  369. catalystwan/models/policy/list/fqdn.py +24 -0
  370. catalystwan/models/policy/list/geo_location.py +33 -0
  371. catalystwan/models/policy/list/identity.py +29 -0
  372. catalystwan/models/policy/list/ips_signature.py +27 -0
  373. catalystwan/models/policy/list/ipv6_prefix.py +33 -0
  374. catalystwan/models/policy/list/local_app.py +45 -0
  375. catalystwan/models/policy/list/local_domain.py +36 -0
  376. catalystwan/models/policy/list/media_profile.py +44 -0
  377. catalystwan/models/policy/list/mirror.py +27 -0
  378. catalystwan/models/policy/list/modem_pass_through.py +27 -0
  379. catalystwan/models/policy/list/policer.py +39 -0
  380. catalystwan/models/policy/list/port.py +33 -0
  381. catalystwan/models/policy/list/preferred_color_group.py +82 -0
  382. catalystwan/models/policy/list/prefix.py +33 -0
  383. catalystwan/models/policy/list/protocol_name.py +26 -0
  384. catalystwan/models/policy/list/region.py +45 -0
  385. catalystwan/models/policy/list/scalable_group_tag.py +30 -0
  386. catalystwan/models/policy/list/site.py +34 -0
  387. catalystwan/models/policy/list/sla.py +77 -0
  388. catalystwan/models/policy/list/supervisory_disconnect.py +62 -0
  389. catalystwan/models/policy/list/threat_grid_api_key.py +32 -0
  390. catalystwan/models/policy/list/tloc.py +32 -0
  391. catalystwan/models/policy/list/translation_profile.py +32 -0
  392. catalystwan/models/policy/list/translation_rules.py +29 -0
  393. catalystwan/models/policy/list/trunkgroup.py +56 -0
  394. catalystwan/models/policy/list/umbrella_data.py +30 -0
  395. catalystwan/models/policy/list/url.py +39 -0
  396. catalystwan/models/policy/list/vpn.py +40 -0
  397. catalystwan/models/policy/list/zone.py +46 -0
  398. catalystwan/models/policy/localized.py +34 -16
  399. catalystwan/models/policy/policy.py +13 -9
  400. catalystwan/models/policy/policy_definition.py +673 -173
  401. catalystwan/models/policy/policy_list.py +38 -27
  402. catalystwan/models/policy/security.py +145 -46
  403. catalystwan/models/policy/voice.py +77 -0
  404. catalystwan/models/settings.py +41 -0
  405. catalystwan/models/templates.py +79 -0
  406. catalystwan/response.py +6 -2
  407. catalystwan/session.py +1 -1
  408. catalystwan/tests/builders/test_report.py +60 -0
  409. catalystwan/tests/builders/uc_voice.py +85 -0
  410. catalystwan/tests/models/__init__.py +0 -0
  411. catalystwan/tests/models/test_digital_interface.py +56 -0
  412. catalystwan/tests/templates/definitions/aaa_basic.json +96 -0
  413. catalystwan/tests/templates/definitions/aaa_complex.json +464 -0
  414. catalystwan/tests/templates/definitions/{iuo.json → cisco_aaa.json} +44 -15
  415. catalystwan/tests/templates/definitions/cisco_aaa_complex.json +361 -0
  416. catalystwan/tests/templates/definitions/cisco_logging_complex.json +268 -0
  417. catalystwan/tests/templates/definitions/cisco_ntp_complex.json +143 -0
  418. catalystwan/tests/templates/definitions/cisco_omp_complex.json +175 -0
  419. catalystwan/tests/templates/definitions/cisco_ospf_complex.json +302 -0
  420. catalystwan/tests/templates/definitions/cisco_sig.json +405 -0
  421. catalystwan/tests/templates/definitions/cisco_snmp_complex.json +258 -0
  422. catalystwan/tests/templates/definitions/cisco_system_complex.json +502 -0
  423. catalystwan/tests/templates/definitions/{Basic_Cisco_VPN_Model.json → cisco_vpn_basic.json} +2 -2
  424. catalystwan/tests/templates/definitions/{complex_cisco_vpn.json → cisco_vpn_complex.json} +27 -12
  425. catalystwan/tests/templates/definitions/cisco_vpn_interface_complex.json +821 -0
  426. catalystwan/tests/templates/definitions/omp_vsmart_1.json +26 -0
  427. catalystwan/tests/templates/definitions/{omp_2.json → omp_vsmart_2.json} +16 -2
  428. catalystwan/tests/templates/definitions/{omp_3.json → omp_vsmart_3.json} +16 -2
  429. catalystwan/tests/templates/definitions/omp_vsmart_complex.json +73 -0
  430. catalystwan/tests/templates/definitions/security_vsmart_complex.json +24 -0
  431. catalystwan/tests/templates/definitions/system_vsmart_complex.json +193 -0
  432. catalystwan/tests/templates/definitions/vpn_vsmart_basic.json +17 -0
  433. catalystwan/tests/templates/definitions/vpn_vsmart_complex.json +179 -0
  434. catalystwan/tests/templates/definitions/vpn_vsmart_interface_basic.json +42 -0
  435. catalystwan/tests/templates/definitions/vpn_vsmart_interface_complex.json +208 -0
  436. catalystwan/tests/templates/models/__init__.py +46 -13
  437. catalystwan/tests/templates/models/aaa.py +106 -0
  438. catalystwan/tests/templates/models/cisco_aaa.py +81 -48
  439. catalystwan/tests/templates/models/cisco_banner.py +2 -2
  440. catalystwan/tests/templates/models/cisco_bfd.py +4 -6
  441. catalystwan/tests/templates/models/cisco_logging.py +65 -0
  442. catalystwan/tests/templates/models/cisco_ntp.py +17 -0
  443. catalystwan/tests/templates/models/cisco_omp.py +37 -0
  444. catalystwan/tests/templates/models/cisco_ospf.py +60 -0
  445. catalystwan/tests/templates/models/cisco_secure_internet_gateway.py +95 -0
  446. catalystwan/tests/templates/models/cisco_snmp.py +40 -0
  447. catalystwan/tests/templates/models/cisco_system.py +108 -3
  448. catalystwan/tests/templates/models/cisco_vpn.py +42 -72
  449. catalystwan/tests/templates/models/cisco_vpn_interface.py +200 -0
  450. catalystwan/tests/templates/models/omp_vsmart.py +28 -8
  451. catalystwan/tests/templates/models/security_vsmart.py +11 -0
  452. catalystwan/tests/templates/models/system_vsmart.py +37 -0
  453. catalystwan/tests/templates/models/vpn_vsmart.py +32 -0
  454. catalystwan/tests/templates/models/vpn_vsmart_interface.py +54 -0
  455. catalystwan/tests/templates/schemas/aaa.json +1096 -0
  456. catalystwan/tests/templates/schemas/cedge_aaa.json +1 -1
  457. catalystwan/tests/templates/schemas/cisco_logging.json +577 -0
  458. catalystwan/tests/templates/schemas/cisco_ntp.json +265 -0
  459. catalystwan/tests/templates/schemas/cisco_omp.json +479 -0
  460. catalystwan/tests/templates/schemas/cisco_ospf.json +908 -0
  461. catalystwan/tests/templates/schemas/cisco_secure_internet_gateway.json +1520 -0
  462. catalystwan/tests/templates/schemas/cisco_snmp.json +561 -0
  463. catalystwan/tests/templates/schemas/cisco_system.json +242 -0
  464. catalystwan/tests/templates/schemas/cisco_vpn.json +53 -1
  465. catalystwan/tests/templates/schemas/cisco_vpn_interface.json +3348 -0
  466. catalystwan/tests/templates/schemas/omp-vsmart.json +20 -0
  467. catalystwan/tests/templates/schemas/security-vsmart.json +58 -0
  468. catalystwan/tests/templates/schemas/system-vsmart.json +2585 -0
  469. catalystwan/tests/templates/schemas/vpn-vsmart-interface.json +859 -0
  470. catalystwan/tests/templates/schemas/vpn-vsmart.json +445 -0
  471. catalystwan/tests/templates/test_chose_model.py +6 -10
  472. catalystwan/tests/templates/test_deserialize_model.py +4 -4
  473. catalystwan/tests/templates/test_find_template_values.py +229 -0
  474. catalystwan/tests/templates/test_find_template_values_2.py +193 -0
  475. catalystwan/tests/templates/test_serialize_model.py +1 -2
  476. catalystwan/tests/test_cli_template.py +8 -9
  477. catalystwan/tests/test_endpoints.py +42 -11
  478. catalystwan/tests/test_feature_profile_api.py +282 -0
  479. catalystwan/tests/test_models_common.py +53 -0
  480. catalystwan/tests/test_templates.py +16 -19
  481. catalystwan/utils/feature_template/find_template_values.py +17 -4
  482. catalystwan/utils/model.py +45 -0
  483. catalystwan/utils/persona.py +5 -0
  484. catalystwan/utils/type_check.py +22 -0
  485. catalystwan/workflows/backup_restore_device_templates.py +467 -0
  486. catalystwan/workflows/tenant_migration.py +1 -1
  487. {catalystwan-0.41.2.dist-info → catalystwan-0.41.2.dev0.dist-info}/METADATA +20 -1
  488. catalystwan-0.41.2.dev0.dist-info/RECORD +636 -0
  489. catalystwan/ENDPOINTS.md +0 -611
  490. catalystwan/api/configuration_groups/parcels/cellular_controller.py +0 -33
  491. catalystwan/api/templates/device_template/device_template_payload.json.j2 +0 -19
  492. catalystwan/models/configuration/config_migration.py +0 -36
  493. catalystwan/models/configuration/feature_profile/sdwan/management/vpn.py +0 -26
  494. catalystwan/models/configuration/feature_profile/sdwan/service/acl.py +0 -409
  495. catalystwan/models/configuration/feature_profile/sdwan/service/bgp.py +0 -288
  496. catalystwan/models/policy/lists.py +0 -330
  497. catalystwan/models/policy/lists_entries.py +0 -444
  498. catalystwan/tests/templates/definitions/complex_aaa.json +0 -277
  499. catalystwan/tests/templates/definitions/omp_1.json +0 -11
  500. catalystwan/utils/timezone.py +0 -422
  501. catalystwan-0.41.2.dist-info/RECORD +0 -353
  502. /catalystwan/tests/templates/definitions/{banner_1.json → cisco_banner.json} +0 -0
  503. {catalystwan-0.41.2.dist-info → catalystwan-0.41.2.dev0.dist-info}/LICENSE +0 -0
  504. {catalystwan-0.41.2.dist-info → catalystwan-0.41.2.dev0.dist-info}/WHEEL +0 -0
@@ -4,25 +4,12 @@
4
4
  from uuid import UUID
5
5
 
6
6
  from catalystwan.endpoints import APIEndpoints, delete, get, post, put
7
- from catalystwan.models.policy.lists import LocalAppList
8
- from catalystwan.models.policy.policy_list import (
9
- InfoTag,
10
- PolicyListEndpoints,
11
- PolicyListId,
12
- PolicyListInfo,
13
- PolicyListPreview,
14
- )
7
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyListEndpoints
8
+ from catalystwan.models.policy.list.local_app import LocalAppList, LocalAppListEditPayload, LocalAppListInfo
9
+ from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
15
10
  from catalystwan.typed_list import DataSequence
16
11
 
17
12
 
18
- class LocalAppListEditPayload(LocalAppList, PolicyListId):
19
- pass
20
-
21
-
22
- class LocalAppListInfo(LocalAppList, PolicyListInfo):
23
- pass
24
-
25
-
26
13
  class ConfigurationPolicyLocalAppList(APIEndpoints, PolicyListEndpoints):
27
14
  @post("/template/policy/list/localapp")
28
15
  def create_policy_list(self, payload: LocalAppList) -> PolicyListId:
@@ -4,25 +4,12 @@
4
4
  from uuid import UUID
5
5
 
6
6
  from catalystwan.endpoints import APIEndpoints, delete, get, post, put
7
- from catalystwan.models.policy.lists import LocalDomainList
8
- from catalystwan.models.policy.policy_list import (
9
- InfoTag,
10
- PolicyListEndpoints,
11
- PolicyListId,
12
- PolicyListInfo,
13
- PolicyListPreview,
14
- )
7
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyListEndpoints
8
+ from catalystwan.models.policy.list.local_domain import LocalDomainList, LocalDomainListEditPayload, LocalDomainListInfo
9
+ from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
15
10
  from catalystwan.typed_list import DataSequence
16
11
 
17
12
 
18
- class LocalDomainListEditPayload(LocalDomainList, PolicyListId):
19
- pass
20
-
21
-
22
- class LocalDomainListInfo(LocalDomainList, PolicyListInfo):
23
- pass
24
-
25
-
26
13
  class ConfigurationPolicyLocalDomainList(APIEndpoints, PolicyListEndpoints):
27
14
  @post("/template/policy/list/localdomain")
28
15
  def create_policy_list(self, payload: LocalDomainList) -> PolicyListId:
@@ -0,0 +1,52 @@
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
7
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyListEndpoints
8
+ from catalystwan.models.policy.list.media_profile import (
9
+ MediaProfileList,
10
+ MediaProfileListEditPayload,
11
+ MediaProfileListInfo,
12
+ )
13
+ from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
14
+ from catalystwan.typed_list import DataSequence
15
+
16
+
17
+ class ConfigurationPolicyMediaProfileList(APIEndpoints, PolicyListEndpoints):
18
+ @post("/template/policy/list/mediaprofile")
19
+ def create_policy_list(self, payload: MediaProfileList) -> PolicyListId:
20
+ ...
21
+
22
+ @delete("/template/policy/list/mediaprofile/{id}")
23
+ def delete_policy_list(self, id: UUID) -> None:
24
+ ...
25
+
26
+ @delete("/template/policy/list/mediaprofile")
27
+ def delete_policy_lists_with_info_tag(self, params: InfoTag) -> None:
28
+ ...
29
+
30
+ @put("/template/policy/list/mediaprofile/{id}")
31
+ def edit_policy_list(self, id: UUID, payload: MediaProfileListEditPayload) -> None:
32
+ ...
33
+
34
+ @get("/template/policy/list/mediaprofile/{id}")
35
+ def get_lists_by_id(self, id: UUID) -> MediaProfileListInfo:
36
+ ...
37
+
38
+ @get("/template/policy/list/mediaprofile", "data")
39
+ def get_policy_lists(self) -> DataSequence[MediaProfileListInfo]:
40
+ ...
41
+
42
+ @get("/template/policy/list/mediaprofile/filtered", "data")
43
+ def get_policy_lists_with_info_tag(self, params: InfoTag) -> DataSequence[MediaProfileListInfo]:
44
+ ...
45
+
46
+ @post("/template/policy/list/mediaprofile/preview")
47
+ def preview_policy_list(self, payload: MediaProfileList) -> PolicyListPreview:
48
+ ...
49
+
50
+ @get("/template/policy/list/mediaprofile/preview/{id}")
51
+ def preview_policy_list_by_id(self, id: UUID) -> PolicyListPreview:
52
+ ...
@@ -4,25 +4,12 @@
4
4
  from uuid import UUID
5
5
 
6
6
  from catalystwan.endpoints import APIEndpoints, delete, get, post, put
7
- from catalystwan.models.policy.lists import MirrorList
8
- from catalystwan.models.policy.policy_list import (
9
- InfoTag,
10
- PolicyListEndpoints,
11
- PolicyListId,
12
- PolicyListInfo,
13
- PolicyListPreview,
14
- )
7
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyListEndpoints
8
+ from catalystwan.models.policy.list.mirror import MirrorList, MirrorListEditPayload, MirrorListInfo
9
+ from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
15
10
  from catalystwan.typed_list import DataSequence
16
11
 
17
12
 
18
- class MirrorListEditPayload(MirrorList, PolicyListId):
19
- pass
20
-
21
-
22
- class MirrorListInfo(MirrorList, PolicyListInfo):
23
- pass
24
-
25
-
26
13
  class ConfigurationPolicyMirrorList(APIEndpoints, PolicyListEndpoints):
27
14
  @post("/template/policy/list/mirror")
28
15
  def create_policy_list(self, payload: MirrorList) -> PolicyListId:
@@ -0,0 +1,52 @@
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
7
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyListEndpoints
8
+ from catalystwan.models.policy.list.modem_pass_through import (
9
+ ModemPassThroughList,
10
+ ModemPassThroughListEditPayload,
11
+ ModemPassThroughListInfo,
12
+ )
13
+ from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
14
+ from catalystwan.typed_list import DataSequence
15
+
16
+
17
+ class ConfigurationPolicyModemPassThroughList(APIEndpoints, PolicyListEndpoints):
18
+ @post("/template/policy/list/modempassthrough")
19
+ def create_policy_list(self, payload: ModemPassThroughList) -> PolicyListId:
20
+ ...
21
+
22
+ @delete("/template/policy/list/modempassthrough/{id}")
23
+ def delete_policy_list(self, id: UUID) -> None:
24
+ ...
25
+
26
+ @delete("/template/policy/list/modempassthrough")
27
+ def delete_policy_lists_with_info_tag(self, params: InfoTag) -> None:
28
+ ...
29
+
30
+ @put("/template/policy/list/modempassthrough/{id}")
31
+ def edit_policy_list(self, id: UUID, payload: ModemPassThroughListEditPayload) -> None:
32
+ ...
33
+
34
+ @get("/template/policy/list/modempassthrough/{id}")
35
+ def get_lists_by_id(self, id: UUID) -> ModemPassThroughListInfo:
36
+ ...
37
+
38
+ @get("/template/policy/list/modempassthrough", "data")
39
+ def get_policy_lists(self) -> DataSequence[ModemPassThroughListInfo]:
40
+ ...
41
+
42
+ @get("/template/policy/list/modempassthrough/filtered", "data")
43
+ def get_policy_lists_with_info_tag(self, params: InfoTag) -> DataSequence[ModemPassThroughListInfo]:
44
+ ...
45
+
46
+ @post("/template/policy/list/modempassthrough/preview")
47
+ def preview_policy_list(self, payload: ModemPassThroughList) -> PolicyListPreview:
48
+ ...
49
+
50
+ @get("/template/policy/list/modempassthrough/preview/{id}")
51
+ def preview_policy_list_by_id(self, id: UUID) -> PolicyListPreview:
52
+ ...
@@ -4,25 +4,12 @@
4
4
  from uuid import UUID
5
5
 
6
6
  from catalystwan.endpoints import APIEndpoints, delete, get, post, put
7
- from catalystwan.models.policy.lists import PolicerList
8
- from catalystwan.models.policy.policy_list import (
9
- InfoTag,
10
- PolicyListEndpoints,
11
- PolicyListId,
12
- PolicyListInfo,
13
- PolicyListPreview,
14
- )
7
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyListEndpoints
8
+ from catalystwan.models.policy.list.policer import PolicerList, PolicerListEditPayload, PolicerListInfo
9
+ from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
15
10
  from catalystwan.typed_list import DataSequence
16
11
 
17
12
 
18
- class PolicerListEditPayload(PolicerList, PolicyListId):
19
- pass
20
-
21
-
22
- class PolicerListInfo(PolicerList, PolicyListInfo):
23
- pass
24
-
25
-
26
13
  class ConfigurationPolicyPolicerClassList(APIEndpoints, PolicyListEndpoints):
27
14
  @post("/template/policy/list/policer")
28
15
  def create_policy_list(self, payload: PolicerList) -> PolicyListId:
@@ -4,25 +4,12 @@
4
4
  from uuid import UUID
5
5
 
6
6
  from catalystwan.endpoints import APIEndpoints, delete, get, post, put
7
- from catalystwan.models.policy.lists import PortList
8
- from catalystwan.models.policy.policy_list import (
9
- InfoTag,
10
- PolicyListEndpoints,
11
- PolicyListId,
12
- PolicyListInfo,
13
- PolicyListPreview,
14
- )
7
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyListEndpoints
8
+ from catalystwan.models.policy.list.port import PortList, PortListEditPayload, PortListInfo
9
+ from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
15
10
  from catalystwan.typed_list import DataSequence
16
11
 
17
12
 
18
- class PortListEditPayload(PortList, PolicyListId):
19
- pass
20
-
21
-
22
- class PortListInfo(PortList, PolicyListInfo):
23
- pass
24
-
25
-
26
13
  class ConfigurationPolicyPortList(APIEndpoints, PolicyListEndpoints):
27
14
  @post("/template/policy/list/port")
28
15
  def create_policy_list(self, payload: PortList) -> PolicyListId:
@@ -4,25 +4,16 @@
4
4
  from uuid import UUID
5
5
 
6
6
  from catalystwan.endpoints import APIEndpoints, delete, get, post, put
7
- from catalystwan.models.policy.lists import PreferredColorGroupList
8
- from catalystwan.models.policy.policy_list import (
9
- InfoTag,
10
- PolicyListEndpoints,
11
- PolicyListId,
12
- PolicyListInfo,
13
- PolicyListPreview,
7
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyListEndpoints
8
+ from catalystwan.models.policy.list.preferred_color_group import (
9
+ PreferredColorGroupList,
10
+ PreferredColorGroupListEditPayload,
11
+ PreferredColorGroupListInfo,
14
12
  )
13
+ from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
15
14
  from catalystwan.typed_list import DataSequence
16
15
 
17
16
 
18
- class PreferredColorGroupListEditPayload(PreferredColorGroupList, PolicyListId):
19
- pass
20
-
21
-
22
- class PreferredColorGroupListInfo(PreferredColorGroupList, PolicyListInfo):
23
- pass
24
-
25
-
26
17
  class ConfigurationPreferredColorGroupList(APIEndpoints, PolicyListEndpoints):
27
18
  @post("/template/policy/list/preferredcolorgroup")
28
19
  def create_policy_list(self, payload: PreferredColorGroupList) -> PolicyListId:
@@ -3,26 +3,14 @@
3
3
  # mypy: disable-error-code="empty-body"
4
4
  from uuid import UUID
5
5
 
6
+ from catalystwan.api.templates.models.cisco_vpn_model import PrefixList
6
7
  from catalystwan.endpoints import APIEndpoints, delete, get, post, put
7
- from catalystwan.models.policy.lists import PrefixList
8
- from catalystwan.models.policy.policy_list import (
9
- InfoTag,
10
- PolicyListEndpoints,
11
- PolicyListId,
12
- PolicyListInfo,
13
- PolicyListPreview,
14
- )
8
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyListEndpoints
9
+ from catalystwan.models.policy.list.prefix import PrefixListEditPayload, PrefixListInfo
10
+ from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
15
11
  from catalystwan.typed_list import DataSequence
16
12
 
17
13
 
18
- class PrefixListEditPayload(PrefixList, PolicyListId):
19
- pass
20
-
21
-
22
- class PrefixListInfo(PrefixList, PolicyListInfo):
23
- pass
24
-
25
-
26
14
  class ConfigurationPolicyPrefixList(APIEndpoints, PolicyListEndpoints):
27
15
  @post("/template/policy/list/prefix")
28
16
  def create_policy_list(self, payload: PrefixList) -> PolicyListId:
@@ -4,25 +4,16 @@
4
4
  from uuid import UUID
5
5
 
6
6
  from catalystwan.endpoints import APIEndpoints, delete, get, post, put
7
- from catalystwan.models.policy.lists import ProtocolNameList
8
- from catalystwan.models.policy.policy_list import (
9
- InfoTag,
10
- PolicyListEndpoints,
11
- PolicyListId,
12
- PolicyListInfo,
13
- PolicyListPreview,
7
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyListEndpoints
8
+ from catalystwan.models.policy.list.protocol_name import (
9
+ ProtocolNameList,
10
+ ProtocolNameListEditPayload,
11
+ ProtocolNameListInfo,
14
12
  )
13
+ from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
15
14
  from catalystwan.typed_list import DataSequence
16
15
 
17
16
 
18
- class ProtocolNameListEditPayload(ProtocolNameList, PolicyListId):
19
- pass
20
-
21
-
22
- class ProtocolNameListInfo(ProtocolNameList, PolicyListInfo):
23
- pass
24
-
25
-
26
17
  class ConfigurationPolicyProtocolNameList(APIEndpoints, PolicyListEndpoints):
27
18
  @post("/template/policy/list/protocolname")
28
19
  def create_policy_list(self, payload: ProtocolNameList) -> PolicyListId:
@@ -4,19 +4,11 @@
4
4
  from uuid import UUID
5
5
 
6
6
  from catalystwan.endpoints import APIEndpoints, delete, get, post, put
7
- from catalystwan.models.policy.lists import RegionList
8
- from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListInfo, PolicyListPreview
7
+ from catalystwan.models.policy.list.region import RegionList, RegionListEditPayload, RegionListInfo
8
+ from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
9
9
  from catalystwan.typed_list import DataSequence
10
10
 
11
11
 
12
- class RegionListEditPayload(RegionList, PolicyListId):
13
- pass
14
-
15
-
16
- class RegionListInfo(RegionList, PolicyListInfo):
17
- pass
18
-
19
-
20
12
  class ConfigurationPolicyRegionList(APIEndpoints):
21
13
  @post("/template/policy/list/region")
22
14
  def create_policy_list(self, payload: RegionList) -> PolicyListId:
@@ -0,0 +1,52 @@
1
+ # Copyright 2023 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
7
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyListEndpoints
8
+ from catalystwan.models.policy.list.scalable_group_tag import (
9
+ ScalableGroupTagList,
10
+ ScalableGroupTagListEditPayload,
11
+ ScalableGroupTagListInfo,
12
+ )
13
+ from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
14
+ from catalystwan.typed_list import DataSequence
15
+
16
+
17
+ class ConfigurationPolicyScalableGroupTagList(APIEndpoints, PolicyListEndpoints):
18
+ @post("/template/policy/list/scalablegrouptag")
19
+ def create_policy_list(self, payload: ScalableGroupTagList) -> PolicyListId:
20
+ ...
21
+
22
+ @delete("/template/policy/list/scalablegrouptag/{id}")
23
+ def delete_policy_list(self, id: UUID) -> None:
24
+ ...
25
+
26
+ @delete("/template/policy/list/scalablegrouptag")
27
+ def delete_policy_lists_with_info_tag(self, params: InfoTag) -> None:
28
+ ...
29
+
30
+ @put("/template/policy/list/scalablegrouptag/{id}")
31
+ def edit_policy_list(self, id: UUID, payload: ScalableGroupTagListEditPayload) -> None:
32
+ ...
33
+
34
+ @get("/template/policy/list/scalablegrouptag/{id}")
35
+ def get_lists_by_id(self, id: UUID) -> ScalableGroupTagListInfo:
36
+ ...
37
+
38
+ @get("/template/policy/list/scalablegrouptag", "data")
39
+ def get_policy_lists(self) -> DataSequence[ScalableGroupTagListInfo]:
40
+ ...
41
+
42
+ @get("/template/policy/list/scalablegrouptag/filtered", "data")
43
+ def get_policy_lists_with_info_tag(self, params: InfoTag) -> DataSequence[ScalableGroupTagListInfo]:
44
+ ...
45
+
46
+ @post("/template/policy/list/scalablegrouptag/preview")
47
+ def preview_policy_list(self, payload: ScalableGroupTagList) -> PolicyListPreview:
48
+ ...
49
+
50
+ @get("/template/policy/list/scalablegrouptag/preview/{id}")
51
+ def preview_policy_list_by_id(self, id: UUID) -> PolicyListPreview:
52
+ ...
@@ -4,25 +4,12 @@
4
4
  from uuid import UUID
5
5
 
6
6
  from catalystwan.endpoints import APIEndpoints, delete, get, post, put
7
- from catalystwan.models.policy.lists import SiteList
8
- from catalystwan.models.policy.policy_list import (
9
- InfoTag,
10
- PolicyListEndpoints,
11
- PolicyListId,
12
- PolicyListInfo,
13
- PolicyListPreview,
14
- )
7
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyListEndpoints
8
+ from catalystwan.models.policy.list.site import SiteList, SiteListEditPayload, SiteListInfo
9
+ from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
15
10
  from catalystwan.typed_list import DataSequence
16
11
 
17
12
 
18
- class SiteListEditPayload(SiteList, PolicyListId):
19
- pass
20
-
21
-
22
- class SiteListInfo(SiteList, PolicyListInfo):
23
- pass
24
-
25
-
26
13
  class ConfigurationPolicySiteList(APIEndpoints, PolicyListEndpoints):
27
14
  @post("/template/policy/list/site/defaultsite")
28
15
  def create_default_site_list(self, payload: SiteList) -> PolicyListId:
@@ -4,25 +4,12 @@
4
4
  from uuid import UUID
5
5
 
6
6
  from catalystwan.endpoints import APIEndpoints, delete, get, post, put
7
- from catalystwan.models.policy.lists import SLAClassList
8
- from catalystwan.models.policy.policy_list import (
9
- InfoTag,
10
- PolicyListEndpoints,
11
- PolicyListId,
12
- PolicyListInfo,
13
- PolicyListPreview,
14
- )
7
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyListEndpoints
8
+ from catalystwan.models.policy.list.sla import SLAClassList, SLAClassListEditPayload, SLAClassListInfo
9
+ from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
15
10
  from catalystwan.typed_list import DataSequence
16
11
 
17
12
 
18
- class SLAClassListEditPayload(SLAClassList, PolicyListId):
19
- pass
20
-
21
-
22
- class SLAClassListInfo(SLAClassList, PolicyListInfo):
23
- pass
24
-
25
-
26
13
  class ConfigurationPolicySLAClassList(APIEndpoints, PolicyListEndpoints):
27
14
  @post("/template/policy/list/sla")
28
15
  def create_policy_list(self, payload: SLAClassList) -> PolicyListId:
@@ -0,0 +1,52 @@
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
7
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyListEndpoints
8
+ from catalystwan.models.policy.list.supervisory_disconnect import (
9
+ SupervisoryDisconnectList,
10
+ SupervisoryDisconnectListEditPayload,
11
+ SupervisoryDisconnectListInfo,
12
+ )
13
+ from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
14
+ from catalystwan.typed_list import DataSequence
15
+
16
+
17
+ class ConfigurationPolicySupervisoryDisconnectList(APIEndpoints, PolicyListEndpoints):
18
+ @post("/template/policy/list/supervisorydisc")
19
+ def create_policy_list(self, payload: SupervisoryDisconnectList) -> PolicyListId:
20
+ ...
21
+
22
+ @delete("/template/policy/list/supervisorydisc/{id}")
23
+ def delete_policy_list(self, id: UUID) -> None:
24
+ ...
25
+
26
+ @delete("/template/policy/list/supervisorydisc")
27
+ def delete_policy_lists_with_info_tag(self, params: InfoTag) -> None:
28
+ ...
29
+
30
+ @put("/template/policy/list/supervisorydisc/{id}")
31
+ def edit_policy_list(self, id: UUID, payload: SupervisoryDisconnectListEditPayload) -> None:
32
+ ...
33
+
34
+ @get("/template/policy/list/supervisorydisc/{id}")
35
+ def get_lists_by_id(self, id: UUID) -> SupervisoryDisconnectListInfo:
36
+ ...
37
+
38
+ @get("/template/policy/list/supervisorydisc", "data")
39
+ def get_policy_lists(self) -> DataSequence[SupervisoryDisconnectListInfo]:
40
+ ...
41
+
42
+ @get("/template/policy/list/supervisorydisc/filtered", "data")
43
+ def get_policy_lists_with_info_tag(self, params: InfoTag) -> DataSequence[SupervisoryDisconnectListInfo]:
44
+ ...
45
+
46
+ @post("/template/policy/list/supervisorydisc/preview")
47
+ def preview_policy_list(self, payload: SupervisoryDisconnectList) -> PolicyListPreview:
48
+ ...
49
+
50
+ @get("/template/policy/list/supervisorydisc/preview/{id}")
51
+ def preview_policy_list_by_id(self, id: UUID) -> PolicyListPreview:
52
+ ...
@@ -0,0 +1,52 @@
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
7
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyListEndpoints
8
+ from catalystwan.models.policy.list.threat_grid_api_key import (
9
+ ThreatGridApiKeyList,
10
+ ThreatGridApiKeyListEditPayload,
11
+ ThreatGridApiKeyListInfo,
12
+ )
13
+ from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
14
+ from catalystwan.typed_list import DataSequence
15
+
16
+
17
+ class ConfigurationPolicyThreatGridApiKeyList(APIEndpoints, PolicyListEndpoints):
18
+ @post("/template/policy/list/tgapikey")
19
+ def create_policy_list(self, payload: ThreatGridApiKeyList) -> PolicyListId:
20
+ ...
21
+
22
+ @delete("/template/policy/list/tgapikey/{id}")
23
+ def delete_policy_list(self, id: UUID) -> None:
24
+ ...
25
+
26
+ @delete("/template/policy/list/tgapikey")
27
+ def delete_policy_lists_with_info_tag(self, params: InfoTag) -> None:
28
+ ...
29
+
30
+ @put("/template/policy/list/tgapikey/{id}")
31
+ def edit_policy_list(self, id: UUID, payload: ThreatGridApiKeyListEditPayload) -> None:
32
+ ...
33
+
34
+ @get("/template/policy/list/tgapikey/{id}")
35
+ def get_lists_by_id(self, id: UUID) -> ThreatGridApiKeyListInfo:
36
+ ...
37
+
38
+ @get("/template/policy/list/tgapikey", "data")
39
+ def get_policy_lists(self) -> DataSequence[ThreatGridApiKeyListInfo]:
40
+ ...
41
+
42
+ @get("/template/policy/list/tgapikey/filtered", "data")
43
+ def get_policy_lists_with_info_tag(self, params: InfoTag) -> DataSequence[ThreatGridApiKeyListInfo]:
44
+ ...
45
+
46
+ @post("/template/policy/list/tgapikey/preview")
47
+ def preview_policy_list(self, payload: ThreatGridApiKeyList) -> PolicyListPreview:
48
+ ...
49
+
50
+ @get("/template/policy/list/tgapikey/preview/{id}")
51
+ def preview_policy_list_by_id(self, id: UUID) -> PolicyListPreview:
52
+ ...
@@ -4,25 +4,12 @@
4
4
  from uuid import UUID
5
5
 
6
6
  from catalystwan.endpoints import APIEndpoints, delete, get, post, put
7
- from catalystwan.models.policy.lists import TLOCList
8
- from catalystwan.models.policy.policy_list import (
9
- InfoTag,
10
- PolicyListEndpoints,
11
- PolicyListId,
12
- PolicyListInfo,
13
- PolicyListPreview,
14
- )
7
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyListEndpoints
8
+ from catalystwan.models.policy.list.tloc import TLOCList, TLOCListEditPayload, TLOCListInfo
9
+ from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
15
10
  from catalystwan.typed_list import DataSequence
16
11
 
17
12
 
18
- class TLOCListEditPayload(TLOCList, PolicyListId):
19
- pass
20
-
21
-
22
- class TLOCListInfo(TLOCList, PolicyListInfo):
23
- pass
24
-
25
-
26
13
  class ConfigurationPolicyTLOCList(APIEndpoints, PolicyListEndpoints):
27
14
  @post("/template/policy/list/tloc")
28
15
  def create_policy_list(self, payload: TLOCList) -> PolicyListId: