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
@@ -0,0 +1,57 @@
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 PolicyDefinitionEndpoints
8
+ from catalystwan.models.policy.definition.fxs_port import (
9
+ FxsPortPolicy,
10
+ FxsPortPolicyEditPayload,
11
+ FxsPortPolicyGetResponse,
12
+ )
13
+ from catalystwan.models.policy.policy_definition import (
14
+ PolicyDefinitionEditResponse,
15
+ PolicyDefinitionId,
16
+ PolicyDefinitionInfo,
17
+ PolicyDefinitionPreview,
18
+ )
19
+ from catalystwan.typed_list import DataSequence
20
+
21
+
22
+ class ConfigurationPolicyFxsPortDefinition(APIEndpoints, PolicyDefinitionEndpoints):
23
+ @post("/template/policy/definition/fxsport")
24
+ def create_policy_definition(self, payload: FxsPortPolicy) -> PolicyDefinitionId:
25
+ ...
26
+
27
+ @delete("/template/policy/definition/fxsport/{id}")
28
+ def delete_policy_definition(self, id: UUID) -> None:
29
+ ...
30
+
31
+ def edit_multiple_policy_definition(self):
32
+ # PUT /template/policy/definition/fxsport/multiple/{id}
33
+ ...
34
+
35
+ @put("/template/policy/definition/fxsport/{id}")
36
+ def edit_policy_definition(self, id: UUID, payload: FxsPortPolicyEditPayload) -> PolicyDefinitionEditResponse:
37
+ ...
38
+
39
+ @get("/template/policy/definition/fxsport", "data")
40
+ def get_definitions(self) -> DataSequence[PolicyDefinitionInfo]:
41
+ ...
42
+
43
+ @get("/template/policy/definition/fxsport/{id}")
44
+ def get_policy_definition(self, id: UUID) -> FxsPortPolicyGetResponse:
45
+ ...
46
+
47
+ @post("/template/policy/definition/fxsport/preview")
48
+ def preview_policy_definition(self, payload: FxsPortPolicy) -> PolicyDefinitionPreview:
49
+ ...
50
+
51
+ @get("/template/policy/definition/fxsport/preview/{id}")
52
+ def preview_policy_definition_by_id(self, id: UUID) -> PolicyDefinitionPreview:
53
+ ...
54
+
55
+ def save_policy_definition_in_bulk(self):
56
+ # PUT /template/policy/definition/fxsport/bulk
57
+ ...
@@ -4,11 +4,14 @@
4
4
  from uuid import UUID
5
5
 
6
6
  from catalystwan.endpoints import APIEndpoints, delete, get, post, put
7
- from catalystwan.models.policy.definitions.hub_and_spoke import HubAndSpokePolicy
7
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
8
+ from catalystwan.models.policy.definition.hub_and_spoke import (
9
+ HubAndSpokePolicy,
10
+ HubAndSpokePolicyEditPayload,
11
+ HubAndSpokePolicyGetResponse,
12
+ )
8
13
  from catalystwan.models.policy.policy_definition import (
9
14
  PolicyDefinitionEditResponse,
10
- PolicyDefinitionEndpoints,
11
- PolicyDefinitionGetResponse,
12
15
  PolicyDefinitionId,
13
16
  PolicyDefinitionInfo,
14
17
  PolicyDefinitionPreview,
@@ -16,14 +19,6 @@ from catalystwan.models.policy.policy_definition import (
16
19
  from catalystwan.typed_list import DataSequence
17
20
 
18
21
 
19
- class HubAndSpokePolicyEditPayload(HubAndSpokePolicy, PolicyDefinitionId):
20
- pass
21
-
22
-
23
- class HubAndSpokePolicyGetResponse(HubAndSpokePolicy, PolicyDefinitionGetResponse):
24
- pass
25
-
26
-
27
22
  class ConfigurationPolicyHubAndSpokeDefinition(APIEndpoints, PolicyDefinitionEndpoints):
28
23
  @post("/template/policy/definition/hubandspoke")
29
24
  def create_policy_definition(self, payload: HubAndSpokePolicy) -> PolicyDefinitionId:
@@ -0,0 +1,52 @@
1
+ # Copyright 2024 Cisco Systems, Inc. and its affiliates
2
+
3
+ # mypy: disable-error-code="empty-body"
4
+
5
+ from uuid import UUID
6
+
7
+ from catalystwan.endpoints import APIEndpoints, delete, get, post, put
8
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
9
+ from catalystwan.models.policy.definition.intrusion_prevention import (
10
+ IntrusionPreventionPolicy,
11
+ IntrusionPreventionPolicyEditPayload,
12
+ IntrusionPreventionPolicyGetResponse,
13
+ )
14
+ from catalystwan.models.policy.policy_definition import (
15
+ PolicyDefinitionEditResponse,
16
+ PolicyDefinitionId,
17
+ PolicyDefinitionInfo,
18
+ PolicyDefinitionPreview,
19
+ )
20
+ from catalystwan.typed_list import DataSequence
21
+
22
+
23
+ class ConfigurationPolicyIntrusionPreventionDefinition(APIEndpoints, PolicyDefinitionEndpoints):
24
+ @post("/template/policy/definition/intrusionprevention")
25
+ def create_policy_definition(self, payload: IntrusionPreventionPolicy) -> PolicyDefinitionId:
26
+ ...
27
+
28
+ @delete("/template/policy/definition/intrusionprevention/{id}")
29
+ def delete_policy_definition(self, id: UUID) -> None:
30
+ ...
31
+
32
+ @put("/template/policy/definition/intrusionprevention/{id}")
33
+ def edit_policy_definition(
34
+ self, id: UUID, payload: IntrusionPreventionPolicyEditPayload
35
+ ) -> PolicyDefinitionEditResponse:
36
+ ...
37
+
38
+ @get("/template/policy/definition/intrusionprevention", "data")
39
+ def get_definitions(self) -> DataSequence[PolicyDefinitionInfo]:
40
+ ...
41
+
42
+ @get("/template/policy/definition/intrusionprevention/{id}")
43
+ def get_policy_definition(self, id: UUID) -> IntrusionPreventionPolicyGetResponse:
44
+ ...
45
+
46
+ @post("/template/policy/definition/intrusionprevention/preview")
47
+ def preview_policy_definition(self, payload: IntrusionPreventionPolicy) -> PolicyDefinitionPreview:
48
+ ...
49
+
50
+ @get("/template/policy/definition/intrusionprevention/preview/{id}")
51
+ def preview_policy_definition_by_id(self, id: UUID) -> PolicyDefinitionPreview:
52
+ ...
@@ -4,11 +4,10 @@
4
4
  from uuid import UUID
5
5
 
6
6
  from catalystwan.endpoints import APIEndpoints, delete, get, post, put
7
- from catalystwan.models.policy.definitions.mesh import MeshPolicy
7
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
8
+ from catalystwan.models.policy.definition.mesh import MeshPolicy, MeshPolicyEditPayload, MeshPolicyGetResponse
8
9
  from catalystwan.models.policy.policy_definition import (
9
10
  PolicyDefinitionEditResponse,
10
- PolicyDefinitionEndpoints,
11
- PolicyDefinitionGetResponse,
12
11
  PolicyDefinitionId,
13
12
  PolicyDefinitionInfo,
14
13
  PolicyDefinitionPreview,
@@ -16,14 +15,6 @@ from catalystwan.models.policy.policy_definition import (
16
15
  from catalystwan.typed_list import DataSequence
17
16
 
18
17
 
19
- class MeshPolicyEditPayload(MeshPolicy, PolicyDefinitionId):
20
- pass
21
-
22
-
23
- class MeshPolicyGetResponse(MeshPolicy, PolicyDefinitionGetResponse):
24
- pass
25
-
26
-
27
18
  class ConfigurationPolicyMeshDefinition(APIEndpoints, PolicyDefinitionEndpoints):
28
19
  @post("/template/policy/definition/mesh")
29
20
  def create_policy_definition(self, payload: MeshPolicy) -> PolicyDefinitionId:
@@ -0,0 +1,57 @@
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 PolicyDefinitionEndpoints
8
+ from catalystwan.models.policy.definition.pri_isdn_port import (
9
+ PriIsdnPortPolicy,
10
+ PriIsdnPortPolicyEditPayload,
11
+ PriIsdnPortPolicyGetResponse,
12
+ )
13
+ from catalystwan.models.policy.policy_definition import (
14
+ PolicyDefinitionEditResponse,
15
+ PolicyDefinitionId,
16
+ PolicyDefinitionInfo,
17
+ PolicyDefinitionPreview,
18
+ )
19
+ from catalystwan.typed_list import DataSequence
20
+
21
+
22
+ class ConfigurationPolicyPriIsdnPortDefinition(APIEndpoints, PolicyDefinitionEndpoints):
23
+ @post("/template/policy/definition/priisdnport")
24
+ def create_policy_definition(self, payload: PriIsdnPortPolicy) -> PolicyDefinitionId:
25
+ ...
26
+
27
+ @delete("/template/policy/definition/priisdnport/{id}")
28
+ def delete_policy_definition(self, id: UUID) -> None:
29
+ ...
30
+
31
+ def edit_multiple_policy_definition(self):
32
+ # PUT /template/policy/definition/priisdnport/multiple/{id}
33
+ ...
34
+
35
+ @put("/template/policy/definition/priisdnport/{id}")
36
+ def edit_policy_definition(self, id: UUID, payload: PriIsdnPortPolicyEditPayload) -> PolicyDefinitionEditResponse:
37
+ ...
38
+
39
+ @get("/template/policy/definition/priisdnport", "data")
40
+ def get_definitions(self) -> DataSequence[PolicyDefinitionInfo]:
41
+ ...
42
+
43
+ @get("/template/policy/definition/priisdnport/{id}")
44
+ def get_policy_definition(self, id: UUID) -> PriIsdnPortPolicyGetResponse:
45
+ ...
46
+
47
+ @post("/template/policy/definition/priisdnport/preview")
48
+ def preview_policy_definition(self, payload: PriIsdnPortPolicy) -> PolicyDefinitionPreview:
49
+ ...
50
+
51
+ @get("/template/policy/definition/priisdnport/preview/{id}")
52
+ def preview_policy_definition_by_id(self, id: UUID) -> PolicyDefinitionPreview:
53
+ ...
54
+
55
+ def save_policy_definition_in_bulk(self):
56
+ # PUT /template/policy/definition/priisdnport/bulk
57
+ ...
@@ -4,11 +4,10 @@
4
4
  from uuid import UUID
5
5
 
6
6
  from catalystwan.endpoints import APIEndpoints, delete, get, post, put
7
- from catalystwan.models.policy.definitions.qos_map import QoSMapPolicy
7
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
8
+ from catalystwan.models.policy.definition.qos_map import QoSMapPolicy, QoSMapPolicyEditPayload, QoSMapPolicyGetResponse
8
9
  from catalystwan.models.policy.policy_definition import (
9
10
  PolicyDefinitionEditResponse,
10
- PolicyDefinitionEndpoints,
11
- PolicyDefinitionGetResponse,
12
11
  PolicyDefinitionId,
13
12
  PolicyDefinitionInfo,
14
13
  PolicyDefinitionPreview,
@@ -16,14 +15,6 @@ from catalystwan.models.policy.policy_definition import (
16
15
  from catalystwan.typed_list import DataSequence
17
16
 
18
17
 
19
- class QoSMapPolicyEditPayload(QoSMapPolicy, PolicyDefinitionId):
20
- pass
21
-
22
-
23
- class QoSMapPolicyGetResponse(QoSMapPolicy, PolicyDefinitionGetResponse):
24
- pass
25
-
26
-
27
18
  class ConfigurationPolicyQoSMapDefinition(APIEndpoints, PolicyDefinitionEndpoints):
28
19
  @post("/template/policy/definition/qosmap")
29
20
  def create_policy_definition(self, payload: QoSMapPolicy) -> PolicyDefinitionId:
@@ -4,11 +4,14 @@
4
4
  from uuid import UUID
5
5
 
6
6
  from catalystwan.endpoints import APIEndpoints, delete, get, post, put
7
- from catalystwan.models.policy.definitions.rewrite import RewritePolicy
7
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
8
+ from catalystwan.models.policy.definition.rewrite import (
9
+ RewritePolicy,
10
+ RewritePolicyEditPayload,
11
+ RewritePolicyGetResponse,
12
+ )
8
13
  from catalystwan.models.policy.policy_definition import (
9
14
  PolicyDefinitionEditResponse,
10
- PolicyDefinitionEndpoints,
11
- PolicyDefinitionGetResponse,
12
15
  PolicyDefinitionId,
13
16
  PolicyDefinitionInfo,
14
17
  PolicyDefinitionPreview,
@@ -16,14 +19,6 @@ from catalystwan.models.policy.policy_definition import (
16
19
  from catalystwan.typed_list import DataSequence
17
20
 
18
21
 
19
- class RewritePolicyEditPayload(RewritePolicy, PolicyDefinitionId):
20
- pass
21
-
22
-
23
- class RewritePolicyGetResponse(RewritePolicy, PolicyDefinitionGetResponse):
24
- pass
25
-
26
-
27
22
  class ConfigurationPolicyRewriteRuleDefinition(APIEndpoints, PolicyDefinitionEndpoints):
28
23
  @post("/template/policy/definition/rewriterule")
29
24
  def create_policy_definition(self, payload: RewritePolicy) -> PolicyDefinitionId:
@@ -0,0 +1,50 @@
1
+ # Copyright 2024 Cisco Systems, Inc. and its affiliates
2
+
3
+ # mypy: disable-error-code="empty-body"
4
+
5
+ from uuid import UUID
6
+
7
+ from catalystwan.endpoints import APIEndpoints, delete, get, post, put
8
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
9
+ from catalystwan.models.policy.definition.route_policy import (
10
+ RoutePolicy,
11
+ RoutePolicyEditPayload,
12
+ RoutePolicyGetResponse,
13
+ )
14
+ from catalystwan.models.policy.policy_definition import (
15
+ PolicyDefinitionEditResponse,
16
+ PolicyDefinitionId,
17
+ PolicyDefinitionInfo,
18
+ PolicyDefinitionPreview,
19
+ )
20
+ from catalystwan.typed_list import DataSequence
21
+
22
+
23
+ class ConfigurationPolicyRouteDefinition(APIEndpoints, PolicyDefinitionEndpoints):
24
+ @post("/template/policy/definition/vedgeroute")
25
+ def create_policy_definition(self, payload: RoutePolicy) -> PolicyDefinitionId:
26
+ ...
27
+
28
+ @delete("/template/policy/definition/vedgeroute/{id}")
29
+ def delete_policy_definition(self, id: UUID) -> None:
30
+ ...
31
+
32
+ @put("/template/policy/definition/vedgeroute/{id}")
33
+ def edit_policy_definition(self, id: UUID, payload: RoutePolicyEditPayload) -> PolicyDefinitionEditResponse:
34
+ ...
35
+
36
+ @get("/template/policy/definition/vedgeroute", "data")
37
+ def get_definitions(self) -> DataSequence[PolicyDefinitionInfo]:
38
+ ...
39
+
40
+ @get("/template/policy/definition/vedgeroute/{id}")
41
+ def get_policy_definition(self, id: UUID) -> RoutePolicyGetResponse:
42
+ ...
43
+
44
+ @post("/template/policy/definition/vedgeroute/preview")
45
+ def preview_policy_definition(self, payload: RoutePolicy) -> PolicyDefinitionPreview:
46
+ ...
47
+
48
+ @get("/template/policy/definition/vedgeroute/preview/{id}")
49
+ def preview_policy_definition_by_id(self, id: UUID) -> PolicyDefinitionPreview:
50
+ ...
@@ -4,11 +4,10 @@
4
4
  from uuid import UUID
5
5
 
6
6
  from catalystwan.endpoints import APIEndpoints, delete, get, post, put
7
- from catalystwan.models.policy.definitions.rule_set import RuleSet
7
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
8
+ from catalystwan.models.policy.definition.rule_set import RuleSet, RuleSetEditPayload, RuleSetGetResponse
8
9
  from catalystwan.models.policy.policy_definition import (
9
10
  PolicyDefinitionEditResponse,
10
- PolicyDefinitionEndpoints,
11
- PolicyDefinitionGetResponse,
12
11
  PolicyDefinitionId,
13
12
  PolicyDefinitionInfo,
14
13
  PolicyDefinitionPreview,
@@ -16,14 +15,6 @@ from catalystwan.models.policy.policy_definition import (
16
15
  from catalystwan.typed_list import DataSequence
17
16
 
18
17
 
19
- class RuleSetEditPayload(RuleSet, PolicyDefinitionId):
20
- pass
21
-
22
-
23
- class RuleSetGetResponse(RuleSet, PolicyDefinitionGetResponse):
24
- pass
25
-
26
-
27
18
  class ConfigurationPolicyRuleSetDefinition(APIEndpoints, PolicyDefinitionEndpoints):
28
19
  @post("/template/policy/definition/ruleset")
29
20
  def create_policy_definition(self, payload: RuleSet) -> PolicyDefinitionId:
@@ -4,11 +4,14 @@
4
4
  from uuid import UUID
5
5
 
6
6
  from catalystwan.endpoints import APIEndpoints, delete, get, post, put
7
- from catalystwan.models.policy.definitions.security_group import SecurityGroup
7
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
8
+ from catalystwan.models.policy.definition.security_group import (
9
+ SecurityGroup,
10
+ SecurityGroupEditPayload,
11
+ SecurityGroupGetResponse,
12
+ )
8
13
  from catalystwan.models.policy.policy_definition import (
9
14
  PolicyDefinitionEditResponse,
10
- PolicyDefinitionEndpoints,
11
- PolicyDefinitionGetResponse,
12
15
  PolicyDefinitionId,
13
16
  PolicyDefinitionInfo,
14
17
  PolicyDefinitionPreview,
@@ -16,14 +19,6 @@ from catalystwan.models.policy.policy_definition import (
16
19
  from catalystwan.typed_list import DataSequence
17
20
 
18
21
 
19
- class SecurityGroupEditPayload(SecurityGroup, PolicyDefinitionId):
20
- pass
21
-
22
-
23
- class SecurityGroupGetResponse(SecurityGroup, PolicyDefinitionGetResponse):
24
- pass
25
-
26
-
27
22
  class ConfigurationPolicySecurityGroupDefinition(APIEndpoints, PolicyDefinitionEndpoints):
28
23
  @post("/template/policy/definition/securitygroup")
29
24
  def create_policy_definition(self, payload: SecurityGroup) -> PolicyDefinitionId:
@@ -0,0 +1,59 @@
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 PolicyDefinitionEndpoints
8
+ from catalystwan.models.policy.definition.srst_phone_profile import (
9
+ SrstPhoneProfilePolicy,
10
+ SrstPhoneProfilePolicyEditPayload,
11
+ SrstPhoneProfilePolicyGetResponse,
12
+ )
13
+ from catalystwan.models.policy.policy_definition import (
14
+ PolicyDefinitionEditResponse,
15
+ PolicyDefinitionId,
16
+ PolicyDefinitionInfo,
17
+ PolicyDefinitionPreview,
18
+ )
19
+ from catalystwan.typed_list import DataSequence
20
+
21
+
22
+ class ConfigurationPolicySrstPhoneProfileDefinition(APIEndpoints, PolicyDefinitionEndpoints):
23
+ @post("/template/policy/definition/srstphoneprofile")
24
+ def create_policy_definition(self, payload: SrstPhoneProfilePolicy) -> PolicyDefinitionId:
25
+ ...
26
+
27
+ @delete("/template/policy/definition/srstphoneprofile/{id}")
28
+ def delete_policy_definition(self, id: UUID) -> None:
29
+ ...
30
+
31
+ def edit_multiple_policy_definition(self):
32
+ # PUT /template/policy/definition/srstphoneprofile/multiple/{id}
33
+ ...
34
+
35
+ @put("/template/policy/definition/srstphoneprofile/{id}")
36
+ def edit_policy_definition(
37
+ self, id: UUID, payload: SrstPhoneProfilePolicyEditPayload
38
+ ) -> PolicyDefinitionEditResponse:
39
+ ...
40
+
41
+ @get("/template/policy/definition/srstphoneprofile", "data")
42
+ def get_definitions(self) -> DataSequence[PolicyDefinitionInfo]:
43
+ ...
44
+
45
+ @get("/template/policy/definition/srstphoneprofile/{id}")
46
+ def get_policy_definition(self, id: UUID) -> SrstPhoneProfilePolicyGetResponse:
47
+ ...
48
+
49
+ @post("/template/policy/definition/srstphoneprofile/preview")
50
+ def preview_policy_definition(self, payload: SrstPhoneProfilePolicy) -> PolicyDefinitionPreview:
51
+ ...
52
+
53
+ @get("/template/policy/definition/srstphoneprofile/preview/{id}")
54
+ def preview_policy_definition_by_id(self, id: UUID) -> PolicyDefinitionPreview:
55
+ ...
56
+
57
+ def save_policy_definition_in_bulk(self):
58
+ # PUT /template/policy/definition/srstphoneprofile/bulk
59
+ ...
@@ -0,0 +1,50 @@
1
+ # Copyright 2024 Cisco Systems, Inc. and its affiliates
2
+
3
+ # mypy: disable-error-code="empty-body"
4
+
5
+ from uuid import UUID
6
+
7
+ from catalystwan.endpoints import APIEndpoints, delete, get, post, put
8
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
9
+ from catalystwan.models.policy.definition.ssl_decryption import (
10
+ SslDecryptionPolicy,
11
+ SslDecryptionPolicyEditPayload,
12
+ SslDecryptionPolicyGetResponse,
13
+ )
14
+ from catalystwan.models.policy.policy_definition import (
15
+ PolicyDefinitionEditResponse,
16
+ PolicyDefinitionId,
17
+ PolicyDefinitionInfo,
18
+ PolicyDefinitionPreview,
19
+ )
20
+ from catalystwan.typed_list import DataSequence
21
+
22
+
23
+ class ConfigurationSslDecryptionDefinition(APIEndpoints, PolicyDefinitionEndpoints):
24
+ @post("/template/policy/definition/ssldecryption")
25
+ def create_policy_definition(self, payload: SslDecryptionPolicy) -> PolicyDefinitionId:
26
+ ...
27
+
28
+ @delete("/template/policy/definition/ssldecryption/{id}")
29
+ def delete_policy_definition(self, id: UUID) -> None:
30
+ ...
31
+
32
+ @put("/template/policy/definition/ssldecryption/{id}")
33
+ def edit_policy_definition(self, id: UUID, payload: SslDecryptionPolicyEditPayload) -> PolicyDefinitionEditResponse:
34
+ ...
35
+
36
+ @get("/template/policy/definition/ssldecryption", "data")
37
+ def get_definitions(self) -> DataSequence[PolicyDefinitionInfo]:
38
+ ...
39
+
40
+ @get("/template/policy/definition/ssldecryption/{id}")
41
+ def get_policy_definition(self, id: UUID) -> SslDecryptionPolicyGetResponse:
42
+ ...
43
+
44
+ @post("/template/policy/definition/ssldecryption/preview")
45
+ def preview_policy_definition(self, payload: SslDecryptionPolicy) -> PolicyDefinitionPreview:
46
+ ...
47
+
48
+ @get("/template/policy/definition/ssldecryption/preview/{id}")
49
+ def preview_policy_definition_by_id(self, id: UUID) -> PolicyDefinitionPreview:
50
+ ...
@@ -0,0 +1,52 @@
1
+ # Copyright 2024 Cisco Systems, Inc. and its affiliates
2
+
3
+ # mypy: disable-error-code="empty-body"
4
+
5
+ from uuid import UUID
6
+
7
+ from catalystwan.endpoints import APIEndpoints, delete, get, post, put
8
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
9
+ from catalystwan.models.policy.definition.ssl_decryption_utd_profile import (
10
+ SslDecryptionUtdProfilePolicy,
11
+ SslDecryptionUtdProfilePolicyEditPayload,
12
+ SslDecryptionUtdProfilePolicyGetResponse,
13
+ )
14
+ from catalystwan.models.policy.policy_definition import (
15
+ PolicyDefinitionEditResponse,
16
+ PolicyDefinitionId,
17
+ PolicyDefinitionInfo,
18
+ PolicyDefinitionPreview,
19
+ )
20
+ from catalystwan.typed_list import DataSequence
21
+
22
+
23
+ class ConfigurationSslDecryptionUtdProfileDefinition(APIEndpoints, PolicyDefinitionEndpoints):
24
+ @post("/template/policy/definition/sslutdprofile")
25
+ def create_policy_definition(self, payload: SslDecryptionUtdProfilePolicy) -> PolicyDefinitionId:
26
+ ...
27
+
28
+ @delete("/template/policy/definition/sslutdprofile/{id}")
29
+ def delete_policy_definition(self, id: UUID) -> None:
30
+ ...
31
+
32
+ @put("/template/policy/definition/sslutdprofile/{id}")
33
+ def edit_policy_definition(
34
+ self, id: UUID, payload: SslDecryptionUtdProfilePolicyEditPayload
35
+ ) -> PolicyDefinitionEditResponse:
36
+ ...
37
+
38
+ @get("/template/policy/definition/sslutdprofile", "data")
39
+ def get_definitions(self) -> DataSequence[PolicyDefinitionInfo]:
40
+ ...
41
+
42
+ @get("/template/policy/definition/sslutdprofile/{id}")
43
+ def get_policy_definition(self, id: UUID) -> SslDecryptionUtdProfilePolicyGetResponse:
44
+ ...
45
+
46
+ @post("/template/policy/definition/sslutdprofile/preview")
47
+ def preview_policy_definition(self, payload: SslDecryptionUtdProfilePolicy) -> PolicyDefinitionPreview:
48
+ ...
49
+
50
+ @get("/template/policy/definition/sslutdprofile/preview/{id}")
51
+ def preview_policy_definition_by_id(self, id: UUID) -> PolicyDefinitionPreview:
52
+ ...
@@ -5,11 +5,14 @@
5
5
  from uuid import UUID
6
6
 
7
7
  from catalystwan.endpoints import APIEndpoints, delete, get, post, put
8
- from catalystwan.models.policy.definitions.traffic_data import TrafficDataPolicy
8
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
9
+ from catalystwan.models.policy.definition.traffic_data import (
10
+ TrafficDataPolicy,
11
+ TrafficDataPolicyEditPayload,
12
+ TrafficDataPolicyGetResponse,
13
+ )
9
14
  from catalystwan.models.policy.policy_definition import (
10
15
  PolicyDefinitionEditResponse,
11
- PolicyDefinitionEndpoints,
12
- PolicyDefinitionGetResponse,
13
16
  PolicyDefinitionId,
14
17
  PolicyDefinitionInfo,
15
18
  PolicyDefinitionPreview,
@@ -17,14 +20,6 @@ from catalystwan.models.policy.policy_definition import (
17
20
  from catalystwan.typed_list import DataSequence
18
21
 
19
22
 
20
- class TrafficDataPolicyEditPayload(TrafficDataPolicy, PolicyDefinitionId):
21
- pass
22
-
23
-
24
- class TrafficDataPolicyGetResponse(TrafficDataPolicy, PolicyDefinitionGetResponse):
25
- pass
26
-
27
-
28
23
  class ConfigurationPolicyDataDefinition(APIEndpoints, PolicyDefinitionEndpoints):
29
24
  @post("/template/policy/definition/data")
30
25
  def create_policy_definition(self, payload: TrafficDataPolicy) -> PolicyDefinitionId:
@@ -0,0 +1,50 @@
1
+ # Copyright 2024 Cisco Systems, Inc. and its affiliates
2
+
3
+ # mypy: disable-error-code="empty-body"
4
+
5
+ from uuid import UUID
6
+
7
+ from catalystwan.endpoints import APIEndpoints, delete, get, post, put
8
+ from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
9
+ from catalystwan.models.policy.definition.url_filtering import (
10
+ UrlFilteringPolicy,
11
+ UrlFilteringPolicyEditPayload,
12
+ UrlFilteringPolicyGetResponse,
13
+ )
14
+ from catalystwan.models.policy.policy_definition import (
15
+ PolicyDefinitionEditResponse,
16
+ PolicyDefinitionId,
17
+ PolicyDefinitionInfo,
18
+ PolicyDefinitionPreview,
19
+ )
20
+ from catalystwan.typed_list import DataSequence
21
+
22
+
23
+ class ConfigurationPolicyUrlFilteringDefinition(APIEndpoints, PolicyDefinitionEndpoints):
24
+ @post("/template/policy/definition/urlfiltering")
25
+ def create_policy_definition(self, payload: UrlFilteringPolicy) -> PolicyDefinitionId:
26
+ ...
27
+
28
+ @delete("/template/policy/definition/urlfiltering/{id}")
29
+ def delete_policy_definition(self, id: UUID) -> None:
30
+ ...
31
+
32
+ @put("/template/policy/definition/urlfiltering/{id}")
33
+ def edit_policy_definition(self, id: UUID, payload: UrlFilteringPolicyEditPayload) -> PolicyDefinitionEditResponse:
34
+ ...
35
+
36
+ @get("/template/policy/definition/urlfiltering", "data")
37
+ def get_definitions(self) -> DataSequence[PolicyDefinitionInfo]:
38
+ ...
39
+
40
+ @get("/template/policy/definition/urlfiltering/{id}")
41
+ def get_policy_definition(self, id: UUID) -> UrlFilteringPolicyGetResponse:
42
+ ...
43
+
44
+ @post("/template/policy/definition/urlfiltering/preview")
45
+ def preview_policy_definition(self, payload: UrlFilteringPolicy) -> PolicyDefinitionPreview:
46
+ ...
47
+
48
+ @get("/template/policy/definition/urlfiltering/preview/{id}")
49
+ def preview_policy_definition_by_id(self, id: UUID) -> PolicyDefinitionPreview:
50
+ ...