catalystwan 0.41.2.dev9__py3-none-any.whl → 0.41.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (509) hide show
  1. catalystwan/ENDPOINTS.md +611 -0
  2. catalystwan/__init__.py +2 -3
  3. catalystwan/api/administration.py +2 -13
  4. catalystwan/api/api_container.py +1 -4
  5. catalystwan/api/config_group_api.py +16 -41
  6. catalystwan/api/configuration_groups/parcel.py +30 -100
  7. catalystwan/api/configuration_groups/parcels/cellular_controller.py +33 -0
  8. catalystwan/api/feature_profile_api.py +237 -2016
  9. catalystwan/api/policy_api.py +116 -470
  10. catalystwan/api/template_api.py +44 -113
  11. catalystwan/api/templates/README.md +47 -61
  12. catalystwan/api/templates/cli_template.py +7 -17
  13. catalystwan/api/templates/device_template/device_template.py +32 -127
  14. catalystwan/api/templates/device_template/device_template_payload.json.j2 +19 -0
  15. catalystwan/api/templates/feature_template.py +3 -3
  16. catalystwan/api/templates/models/cisco_aaa_model.py +42 -289
  17. catalystwan/api/templates/models/cisco_banner_model.py +2 -11
  18. catalystwan/api/templates/models/cisco_bfd_model.py +36 -31
  19. catalystwan/api/templates/models/cisco_bgp_model.py +131 -382
  20. catalystwan/api/templates/models/cisco_logging_model.py +43 -80
  21. catalystwan/api/templates/models/cisco_ntp_model.py +15 -34
  22. catalystwan/api/templates/models/cisco_omp_model.py +60 -70
  23. catalystwan/api/templates/models/cisco_ospf.py +74 -143
  24. catalystwan/api/templates/models/cisco_ospfv3.py +95 -217
  25. catalystwan/api/templates/models/cisco_secure_internet_gateway.py +142 -304
  26. catalystwan/api/templates/models/cisco_snmp_model.py +52 -66
  27. catalystwan/api/templates/models/cisco_system.py +129 -238
  28. catalystwan/api/templates/models/cisco_vpn_interface_model.py +275 -632
  29. catalystwan/api/templates/models/cisco_vpn_model.py +270 -433
  30. catalystwan/api/templates/models/cli_template.py +2 -3
  31. catalystwan/api/templates/models/omp_vsmart_model.py +10 -46
  32. catalystwan/api/templates/models/security_vsmart_model.py +8 -11
  33. catalystwan/api/templates/models/supported.py +4 -10
  34. catalystwan/api/templates/models/system_vsmart_model.py +27 -164
  35. catalystwan/apigw_auth.py +2 -6
  36. catalystwan/dataclasses.py +53 -2
  37. catalystwan/endpoints/__init__.py +41 -41
  38. catalystwan/endpoints/certificate_management_device.py +0 -4
  39. catalystwan/endpoints/cluster_management.py +9 -30
  40. catalystwan/endpoints/configuration/feature_profile/sdwan/policy_object.py +12 -35
  41. catalystwan/endpoints/configuration/feature_profile/sdwan/system.py +11 -164
  42. catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py +26 -144
  43. catalystwan/endpoints/configuration/policy/definition/access_control_list.py +11 -6
  44. catalystwan/endpoints/configuration/policy/definition/access_control_list_ipv6.py +11 -6
  45. catalystwan/endpoints/configuration/policy/definition/control.py +11 -6
  46. catalystwan/endpoints/configuration/policy/definition/device_access.py +11 -6
  47. catalystwan/endpoints/configuration/policy/definition/device_access_ipv6.py +11 -6
  48. catalystwan/endpoints/configuration/policy/definition/hub_and_spoke.py +11 -6
  49. catalystwan/endpoints/configuration/policy/definition/mesh.py +11 -2
  50. catalystwan/endpoints/configuration/policy/definition/qos_map.py +11 -2
  51. catalystwan/endpoints/configuration/policy/definition/rewrite.py +11 -6
  52. catalystwan/endpoints/configuration/policy/definition/rule_set.py +11 -2
  53. catalystwan/endpoints/configuration/policy/definition/security_group.py +11 -6
  54. catalystwan/endpoints/configuration/policy/definition/traffic_data.py +11 -6
  55. catalystwan/endpoints/configuration/policy/definition/vpn_membership.py +11 -6
  56. catalystwan/endpoints/configuration/policy/definition/zone_based_firewall.py +11 -6
  57. catalystwan/endpoints/configuration/policy/list/app.py +16 -3
  58. catalystwan/endpoints/configuration/policy/list/app_probe.py +15 -6
  59. catalystwan/endpoints/configuration/policy/list/as_path.py +16 -3
  60. catalystwan/endpoints/configuration/policy/list/class_map.py +16 -3
  61. catalystwan/endpoints/configuration/policy/list/color.py +16 -3
  62. catalystwan/endpoints/configuration/policy/list/community.py +16 -3
  63. catalystwan/endpoints/configuration/policy/list/data_ipv6_prefix.py +15 -6
  64. catalystwan/endpoints/configuration/policy/list/data_prefix.py +16 -3
  65. catalystwan/endpoints/configuration/policy/list/expanded_community.py +15 -6
  66. catalystwan/endpoints/configuration/policy/list/fqdn.py +16 -3
  67. catalystwan/endpoints/configuration/policy/list/geo_location.py +16 -3
  68. catalystwan/endpoints/configuration/policy/list/ips_signature.py +15 -6
  69. catalystwan/endpoints/configuration/policy/list/ipv6_prefix.py +16 -3
  70. catalystwan/endpoints/configuration/policy/list/local_app.py +16 -3
  71. catalystwan/endpoints/configuration/policy/list/local_domain.py +16 -3
  72. catalystwan/endpoints/configuration/policy/list/mirror.py +16 -3
  73. catalystwan/endpoints/configuration/policy/list/policer.py +16 -3
  74. catalystwan/endpoints/configuration/policy/list/port.py +16 -3
  75. catalystwan/endpoints/configuration/policy/list/preferred_color_group.py +15 -6
  76. catalystwan/endpoints/configuration/policy/list/prefix.py +16 -4
  77. catalystwan/endpoints/configuration/policy/list/protocol_name.py +15 -6
  78. catalystwan/endpoints/configuration/policy/list/region.py +10 -2
  79. catalystwan/endpoints/configuration/policy/list/site.py +16 -3
  80. catalystwan/endpoints/configuration/policy/list/sla.py +16 -3
  81. catalystwan/endpoints/configuration/policy/list/tloc.py +16 -3
  82. catalystwan/endpoints/configuration/policy/list/url_allow_list.py +16 -3
  83. catalystwan/endpoints/configuration/policy/list/url_block_list.py +16 -3
  84. catalystwan/endpoints/configuration/policy/list/vpn.py +16 -3
  85. catalystwan/endpoints/configuration/policy/list/zone.py +16 -3
  86. catalystwan/endpoints/configuration/policy/security_template.py +3 -2
  87. catalystwan/endpoints/configuration/software_actions.py +4 -2
  88. catalystwan/endpoints/configuration_dashboard_status.py +2 -2
  89. catalystwan/endpoints/configuration_device_template.py +1 -15
  90. catalystwan/endpoints/configuration_feature_profile.py +11 -8
  91. catalystwan/endpoints/configuration_group.py +5 -28
  92. catalystwan/endpoints/configuration_settings.py +1 -90
  93. catalystwan/endpoints/endpoints_container.py +18 -82
  94. catalystwan/endpoints/real_time_monitoring/reboot_history.py +3 -1
  95. catalystwan/endpoints/tenant_migration.py +0 -2
  96. catalystwan/exceptions.py +0 -24
  97. catalystwan/integration_tests/test_find_template_values.py +18 -7
  98. catalystwan/models/common.py +2 -1898
  99. catalystwan/models/configuration/common.py +0 -1
  100. catalystwan/models/configuration/config_migration.py +36 -0
  101. catalystwan/models/configuration/feature_profile/common.py +149 -634
  102. catalystwan/models/configuration/feature_profile/sdwan/management/vpn.py +26 -0
  103. catalystwan/models/configuration/feature_profile/sdwan/policy_object/__init__.py +60 -69
  104. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/app_probe.py +20 -34
  105. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/application_list.py +6 -8
  106. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/color_list.py +5 -7
  107. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/data_prefix.py +4 -13
  108. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/expanded_community_list.py +7 -9
  109. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/fowarding_class.py +5 -7
  110. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/ipv6_data_prefix.py +9 -11
  111. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/ipv6_prefix_list.py +10 -25
  112. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/{policer.py → policier.py} +10 -12
  113. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/prefered_group_color.py +10 -29
  114. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/prefix_list.py +8 -23
  115. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/sla_class.py +31 -12
  116. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/standard_community.py +10 -16
  117. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/tloc_list.py +7 -8
  118. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/application_list.py +6 -8
  119. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/data_prefix.py +5 -7
  120. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/fqdn.py +5 -7
  121. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/geolocation_list.py +5 -7
  122. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/ips_signature.py +5 -7
  123. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/local_domain.py +5 -7
  124. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/protocol_list.py +5 -7
  125. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/security_port.py +11 -21
  126. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/url.py +15 -36
  127. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/zone.py +18 -14
  128. catalystwan/models/configuration/feature_profile/sdwan/service/acl.py +409 -0
  129. catalystwan/models/configuration/feature_profile/sdwan/service/appqoe.py +42 -77
  130. catalystwan/models/configuration/feature_profile/sdwan/service/bgp.py +288 -0
  131. catalystwan/models/configuration/feature_profile/sdwan/service/dhcp_server.py +64 -107
  132. catalystwan/models/configuration/feature_profile/sdwan/service/eigrp.py +42 -39
  133. catalystwan/models/configuration/feature_profile/sdwan/service/lan/common.py +88 -7
  134. catalystwan/models/configuration/feature_profile/sdwan/service/lan/ethernet.py +156 -232
  135. catalystwan/models/configuration/feature_profile/sdwan/service/lan/gre.py +108 -38
  136. catalystwan/models/configuration/feature_profile/sdwan/service/lan/ipsec.py +84 -77
  137. catalystwan/models/configuration/feature_profile/sdwan/service/lan/svi.py +56 -62
  138. catalystwan/models/configuration/feature_profile/sdwan/service/lan/vpn.py +121 -112
  139. catalystwan/models/configuration/feature_profile/sdwan/service/multicast.py +57 -56
  140. catalystwan/models/configuration/feature_profile/sdwan/service/object_tracker.py +21 -15
  141. catalystwan/models/configuration/feature_profile/sdwan/{routing → service}/ospf.py +47 -55
  142. catalystwan/models/configuration/feature_profile/sdwan/{routing → service}/ospfv3.py +72 -74
  143. catalystwan/models/configuration/feature_profile/sdwan/service/route_policy.py +110 -358
  144. catalystwan/models/configuration/feature_profile/sdwan/service/service_insertion_attachment.py +25 -17
  145. catalystwan/models/configuration/feature_profile/sdwan/service/switchport.py +58 -50
  146. catalystwan/models/configuration/feature_profile/sdwan/service/tracker.py +21 -12
  147. catalystwan/models/configuration/feature_profile/sdwan/service/wireless_lan.py +31 -27
  148. catalystwan/models/configuration/feature_profile/sdwan/system/aaa.py +10 -58
  149. catalystwan/models/configuration/feature_profile/sdwan/transport/cellular_controller.py +23 -26
  150. catalystwan/models/configuration/profile_type.py +6 -1
  151. catalystwan/models/policy/__init__.py +69 -282
  152. catalystwan/models/policy/centralized.py +29 -26
  153. catalystwan/models/policy/{definition → definitions}/access_control_list.py +17 -47
  154. catalystwan/models/policy/{definition → definitions}/access_control_list_ipv6.py +18 -42
  155. catalystwan/models/policy/{definition → definitions}/control.py +25 -48
  156. catalystwan/models/policy/{definition → definitions}/device_access.py +11 -22
  157. catalystwan/models/policy/{definition → definitions}/device_access_ipv6.py +11 -20
  158. catalystwan/models/policy/{definition → definitions}/hub_and_spoke.py +4 -18
  159. catalystwan/models/policy/{definition → definitions}/mesh.py +1 -13
  160. catalystwan/models/policy/{definition → definitions}/qos_map.py +32 -39
  161. catalystwan/models/policy/{definition → definitions}/rewrite.py +2 -12
  162. catalystwan/models/policy/{definition → definitions}/rule_set.py +48 -66
  163. catalystwan/models/policy/{definition → definitions}/security_group.py +14 -38
  164. catalystwan/models/policy/{definition → definitions}/traffic_data.py +61 -184
  165. catalystwan/models/policy/{definition → definitions}/vpn_membership.py +1 -13
  166. catalystwan/models/policy/{definition → definitions}/zone_based_firewall.py +32 -93
  167. catalystwan/models/policy/lists.py +330 -0
  168. catalystwan/models/policy/lists_entries.py +444 -0
  169. catalystwan/models/policy/localized.py +16 -34
  170. catalystwan/models/policy/policy.py +10 -14
  171. catalystwan/models/policy/policy_definition.py +173 -673
  172. catalystwan/models/policy/policy_list.py +27 -38
  173. catalystwan/models/policy/security.py +46 -145
  174. catalystwan/response.py +2 -6
  175. catalystwan/session.py +1 -1
  176. catalystwan/tests/templates/definitions/{cisco_vpn_basic.json → Basic_Cisco_VPN_Model.json} +2 -2
  177. catalystwan/tests/templates/definitions/complex_aaa.json +277 -0
  178. catalystwan/tests/templates/definitions/{cisco_vpn_complex.json → complex_cisco_vpn.json} +12 -27
  179. catalystwan/tests/templates/definitions/{cisco_aaa.json → iuo.json} +15 -44
  180. catalystwan/tests/templates/definitions/omp_1.json +11 -0
  181. catalystwan/tests/templates/definitions/{omp_vsmart_2.json → omp_2.json} +2 -16
  182. catalystwan/tests/templates/definitions/{omp_vsmart_3.json → omp_3.json} +2 -16
  183. catalystwan/tests/templates/models/__init__.py +13 -46
  184. catalystwan/tests/templates/models/cisco_aaa.py +48 -81
  185. catalystwan/tests/templates/models/cisco_banner.py +2 -2
  186. catalystwan/tests/templates/models/cisco_bfd.py +6 -4
  187. catalystwan/tests/templates/models/cisco_system.py +3 -108
  188. catalystwan/tests/templates/models/cisco_vpn.py +72 -42
  189. catalystwan/tests/templates/models/omp_vsmart.py +8 -28
  190. catalystwan/tests/templates/schemas/cedge_aaa.json +1 -1
  191. catalystwan/tests/templates/schemas/cisco_system.json +0 -242
  192. catalystwan/tests/templates/schemas/cisco_vpn.json +1 -53
  193. catalystwan/tests/templates/schemas/omp-vsmart.json +0 -20
  194. catalystwan/tests/templates/test_chose_model.py +10 -6
  195. catalystwan/tests/templates/test_deserialize_model.py +4 -4
  196. catalystwan/tests/templates/test_find_template_values.py +0 -229
  197. catalystwan/tests/templates/test_serialize_model.py +2 -1
  198. catalystwan/tests/test_cli_template.py +9 -8
  199. catalystwan/tests/test_endpoints.py +11 -42
  200. catalystwan/tests/test_templates.py +19 -16
  201. catalystwan/utils/feature_template/find_template_values.py +9 -22
  202. catalystwan/utils/timezone.py +422 -0
  203. catalystwan/workflows/tenant_migration.py +1 -1
  204. {catalystwan-0.41.2.dev9.dist-info → catalystwan-0.41.3.dist-info}/METADATA +1 -20
  205. catalystwan-0.41.3.dist-info/RECORD +353 -0
  206. catalystwan/api/builders/__init__.py +0 -14
  207. catalystwan/api/builders/feature_profiles/__init__.py +0 -0
  208. catalystwan/api/builders/feature_profiles/application_priority.py +0 -58
  209. catalystwan/api/builders/feature_profiles/builder_factory.py +0 -59
  210. catalystwan/api/builders/feature_profiles/cli.py +0 -76
  211. catalystwan/api/builders/feature_profiles/mixins.py +0 -44
  212. catalystwan/api/builders/feature_profiles/other.py +0 -79
  213. catalystwan/api/builders/feature_profiles/report.py +0 -155
  214. catalystwan/api/builders/feature_profiles/service.py +0 -248
  215. catalystwan/api/builders/feature_profiles/system.py +0 -80
  216. catalystwan/api/builders/feature_profiles/transport.py +0 -256
  217. catalystwan/api/builders/feature_profiles/uc_voice.py +0 -287
  218. catalystwan/api/templates/models/aaa_model.py +0 -387
  219. catalystwan/api/templates/models/vpn_vsmart_interface_model.py +0 -198
  220. catalystwan/api/templates/models/vpn_vsmart_model.py +0 -124
  221. catalystwan/endpoints/configuration/feature_profile/sdwan/application_priority.py +0 -107
  222. catalystwan/endpoints/configuration/feature_profile/sdwan/cli.py +0 -60
  223. catalystwan/endpoints/configuration/feature_profile/sdwan/dns_security.py +0 -83
  224. catalystwan/endpoints/configuration/feature_profile/sdwan/embedded_security.py +0 -88
  225. catalystwan/endpoints/configuration/feature_profile/sdwan/other.py +0 -62
  226. catalystwan/endpoints/configuration/feature_profile/sdwan/service.py +0 -154
  227. catalystwan/endpoints/configuration/feature_profile/sdwan/sig_security.py +0 -88
  228. catalystwan/endpoints/configuration/feature_profile/sdwan/topology.py +0 -93
  229. catalystwan/endpoints/configuration/feature_profile/sdwan/uc_voice.py +0 -77
  230. catalystwan/endpoints/configuration/network_hierarchy.py +0 -47
  231. catalystwan/endpoints/configuration/packages.py +0 -36
  232. catalystwan/endpoints/configuration/policy/abstractions.py +0 -49
  233. catalystwan/endpoints/configuration/policy/definition/aip.py +0 -52
  234. catalystwan/endpoints/configuration/policy/definition/amp.py +0 -52
  235. catalystwan/endpoints/configuration/policy/definition/app_route.py +0 -50
  236. catalystwan/endpoints/configuration/policy/definition/cflowd.py +0 -46
  237. catalystwan/endpoints/configuration/policy/definition/dial_peer.py +0 -57
  238. catalystwan/endpoints/configuration/policy/definition/dns_security.py +0 -50
  239. catalystwan/endpoints/configuration/policy/definition/fxo_port.py +0 -57
  240. catalystwan/endpoints/configuration/policy/definition/fxs_did_port.py +0 -57
  241. catalystwan/endpoints/configuration/policy/definition/fxs_port.py +0 -57
  242. catalystwan/endpoints/configuration/policy/definition/intrusion_prevention.py +0 -52
  243. catalystwan/endpoints/configuration/policy/definition/pri_isdn_port.py +0 -57
  244. catalystwan/endpoints/configuration/policy/definition/route_policy.py +0 -50
  245. catalystwan/endpoints/configuration/policy/definition/srst_phone_profile.py +0 -59
  246. catalystwan/endpoints/configuration/policy/definition/ssl_decryption.py +0 -50
  247. catalystwan/endpoints/configuration/policy/definition/ssl_decryption_utd_profile.py +0 -52
  248. catalystwan/endpoints/configuration/policy/definition/url_filtering.py +0 -50
  249. catalystwan/endpoints/configuration/policy/definition/vpn_qos_map.py +0 -50
  250. catalystwan/endpoints/configuration/policy/list/extended_community.py +0 -52
  251. catalystwan/endpoints/configuration/policy/list/fax_protocol.py +0 -48
  252. catalystwan/endpoints/configuration/policy/list/identity.py +0 -48
  253. catalystwan/endpoints/configuration/policy/list/media_profile.py +0 -52
  254. catalystwan/endpoints/configuration/policy/list/modem_pass_through.py +0 -52
  255. catalystwan/endpoints/configuration/policy/list/scalable_group_tag.py +0 -52
  256. catalystwan/endpoints/configuration/policy/list/supervisory_disconnect.py +0 -52
  257. catalystwan/endpoints/configuration/policy/list/threat_grid_api_key.py +0 -52
  258. catalystwan/endpoints/configuration/policy/list/translation_profile.py +0 -52
  259. catalystwan/endpoints/configuration/policy/list/translation_rules.py +0 -52
  260. catalystwan/endpoints/configuration/policy/list/trunkgroup.py +0 -48
  261. catalystwan/endpoints/configuration/policy/list/umbrella_data.py +0 -52
  262. catalystwan/endpoints/configuration/policy/voice_template.py +0 -39
  263. catalystwan/endpoints/configuration/policy_group.py +0 -30
  264. catalystwan/endpoints/configuration/topology_group.py +0 -51
  265. catalystwan/endpoints/configuration_general_template.py +0 -31
  266. catalystwan/endpoints/configuration_template_master.py +0 -48
  267. catalystwan/integration_tests/base.py +0 -81
  268. catalystwan/integration_tests/feature_profile/sdwan/__init__.py +0 -0
  269. catalystwan/integration_tests/feature_profile/sdwan/policy/__init__.py +0 -0
  270. catalystwan/integration_tests/feature_profile/sdwan/policy/base.py +0 -33
  271. catalystwan/integration_tests/feature_profile/sdwan/policy/test_extended_community.py +0 -33
  272. catalystwan/integration_tests/feature_profile/sdwan/policy/test_security_app_list.py +0 -32
  273. catalystwan/integration_tests/feature_profile/sdwan/test_application_priority.py +0 -433
  274. catalystwan/integration_tests/feature_profile/sdwan/test_cli.py +0 -54
  275. catalystwan/integration_tests/feature_profile/sdwan/test_dns_security.py +0 -106
  276. catalystwan/integration_tests/feature_profile/sdwan/test_other.py +0 -49
  277. catalystwan/integration_tests/feature_profile/sdwan/test_service.py +0 -1078
  278. catalystwan/integration_tests/feature_profile/sdwan/test_sig_security.py +0 -322
  279. catalystwan/integration_tests/feature_profile/sdwan/test_ssl_decryption.py +0 -85
  280. catalystwan/integration_tests/feature_profile/sdwan/test_system.py +0 -368
  281. catalystwan/integration_tests/feature_profile/sdwan/test_tracker.py +0 -127
  282. catalystwan/integration_tests/feature_profile/sdwan/test_transport.py +0 -1698
  283. catalystwan/integration_tests/feature_profile/sdwan/topology/test_topology.py +0 -93
  284. catalystwan/integration_tests/feature_profile/test_parcel.py +0 -54
  285. catalystwan/integration_tests/profile_builder/__init__.py +0 -0
  286. catalystwan/integration_tests/profile_builder/test_pb_service.py +0 -197
  287. catalystwan/integration_tests/profile_builder/test_pb_transport.py +0 -226
  288. catalystwan/integration_tests/profile_builder/test_pb_uc_voice.py +0 -277
  289. catalystwan/integration_tests/test_data/__init__.py +0 -117
  290. catalystwan/integration_tests/test_network_hierarchy.py +0 -82
  291. catalystwan/integration_tests/test_settings.py +0 -30
  292. catalystwan/models/configuration/feature_profile/parcel.py +0 -245
  293. catalystwan/models/configuration/feature_profile/sdwan/acl/__init__.py +0 -13
  294. catalystwan/models/configuration/feature_profile/sdwan/acl/ipv4acl.py +0 -298
  295. catalystwan/models/configuration/feature_profile/sdwan/acl/ipv6acl.py +0 -344
  296. catalystwan/models/configuration/feature_profile/sdwan/application_priority/__init__.py +0 -218
  297. catalystwan/models/configuration/feature_profile/sdwan/application_priority/cloud_probe.py +0 -61
  298. catalystwan/models/configuration/feature_profile/sdwan/application_priority/policy_settings.py +0 -31
  299. catalystwan/models/configuration/feature_profile/sdwan/application_priority/qos_policy.py +0 -102
  300. catalystwan/models/configuration/feature_profile/sdwan/application_priority/traffic_policy.py +0 -1057
  301. catalystwan/models/configuration/feature_profile/sdwan/cli/__init__.py +0 -23
  302. catalystwan/models/configuration/feature_profile/sdwan/cli/config.py +0 -18
  303. catalystwan/models/configuration/feature_profile/sdwan/cli/full_config.py +0 -15
  304. catalystwan/models/configuration/feature_profile/sdwan/dns_security/__init__.py +0 -13
  305. catalystwan/models/configuration/feature_profile/sdwan/dns_security/dns.py +0 -110
  306. catalystwan/models/configuration/feature_profile/sdwan/embedded_security/__init__.py +0 -23
  307. catalystwan/models/configuration/feature_profile/sdwan/embedded_security/ngfirewall.py +0 -493
  308. catalystwan/models/configuration/feature_profile/sdwan/embedded_security/policy.py +0 -171
  309. catalystwan/models/configuration/feature_profile/sdwan/other/__init__.py +0 -25
  310. catalystwan/models/configuration/feature_profile/sdwan/other/cybervision.py +0 -44
  311. catalystwan/models/configuration/feature_profile/sdwan/other/thousandeyes.py +0 -147
  312. catalystwan/models/configuration/feature_profile/sdwan/other/ucse.py +0 -110
  313. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/as_path.py +0 -22
  314. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/extended_community.py +0 -34
  315. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/ipv4_network_object.py +0 -15
  316. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/ipv4_service_object.py +0 -254
  317. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/mirror.py +0 -27
  318. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/network_object_group.py +0 -15
  319. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/object_group.py +0 -15
  320. catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/service_object_group.py +0 -21
  321. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/aip.py +0 -64
  322. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/amp.py +0 -79
  323. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/identity.py +0 -30
  324. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/intrusion_prevention.py +0 -58
  325. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/object_group.py +0 -72
  326. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/rule_set.py +0 -137
  327. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/scalable_group_tag.py +0 -26
  328. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/ssl_decryption.py +0 -126
  329. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/ssl_decryption_profile.py +0 -165
  330. catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/url_filtering.py +0 -148
  331. catalystwan/models/configuration/feature_profile/sdwan/routing/__init__.py +0 -26
  332. catalystwan/models/configuration/feature_profile/sdwan/routing/bgp.py +0 -609
  333. catalystwan/models/configuration/feature_profile/sdwan/service/__init__.py +0 -91
  334. catalystwan/models/configuration/feature_profile/sdwan/service/dual_router_ha.py +0 -26
  335. catalystwan/models/configuration/feature_profile/sdwan/service/lan/multilink.py +0 -101
  336. catalystwan/models/configuration/feature_profile/sdwan/service/service_chain.py +0 -38
  337. catalystwan/models/configuration/feature_profile/sdwan/sig_security/__init__.py +0 -19
  338. catalystwan/models/configuration/feature_profile/sdwan/sig_security/sig_security.py +0 -379
  339. catalystwan/models/configuration/feature_profile/sdwan/system/__init__.py +0 -59
  340. catalystwan/models/configuration/feature_profile/sdwan/system/banner.py +0 -30
  341. catalystwan/models/configuration/feature_profile/sdwan/system/basic.py +0 -290
  342. catalystwan/models/configuration/feature_profile/sdwan/system/bfd.py +0 -69
  343. catalystwan/models/configuration/feature_profile/sdwan/system/device_access.py +0 -157
  344. catalystwan/models/configuration/feature_profile/sdwan/system/device_access_ipv6.py +0 -157
  345. catalystwan/models/configuration/feature_profile/sdwan/system/global_parcel.py +0 -163
  346. catalystwan/models/configuration/feature_profile/sdwan/system/logging_parcel.py +0 -162
  347. catalystwan/models/configuration/feature_profile/sdwan/system/mrf.py +0 -75
  348. catalystwan/models/configuration/feature_profile/sdwan/system/ntp.py +0 -103
  349. catalystwan/models/configuration/feature_profile/sdwan/system/omp.py +0 -120
  350. catalystwan/models/configuration/feature_profile/sdwan/system/security.py +0 -179
  351. catalystwan/models/configuration/feature_profile/sdwan/system/snmp.py +0 -173
  352. catalystwan/models/configuration/feature_profile/sdwan/topology/__init__.py +0 -29
  353. catalystwan/models/configuration/feature_profile/sdwan/topology/custom_control.py +0 -425
  354. catalystwan/models/configuration/feature_profile/sdwan/topology/hubspoke.py +0 -60
  355. catalystwan/models/configuration/feature_profile/sdwan/topology/mesh.py +0 -23
  356. catalystwan/models/configuration/feature_profile/sdwan/trackers/__init__.py +0 -36
  357. catalystwan/models/configuration/feature_profile/sdwan/trackers/tracker.py +0 -96
  358. catalystwan/models/configuration/feature_profile/sdwan/trackers/tracker_group.py +0 -63
  359. catalystwan/models/configuration/feature_profile/sdwan/transport/__init__.py +0 -93
  360. catalystwan/models/configuration/feature_profile/sdwan/transport/cellular_profile.py +0 -71
  361. catalystwan/models/configuration/feature_profile/sdwan/transport/gps.py +0 -37
  362. catalystwan/models/configuration/feature_profile/sdwan/transport/management/ethernet.py +0 -121
  363. catalystwan/models/configuration/feature_profile/sdwan/transport/t1e1controller.py +0 -124
  364. catalystwan/models/configuration/feature_profile/sdwan/transport/vpn.py +0 -285
  365. catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/cellular.py +0 -173
  366. catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/ethernet.py +0 -389
  367. catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/gre.py +0 -46
  368. catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/ipsec.py +0 -137
  369. catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/multilink.py +0 -219
  370. catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/protocol_over.py +0 -405
  371. catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/t1e1serial.py +0 -195
  372. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/__init__.py +0 -62
  373. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/analog_interface.py +0 -436
  374. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/call_routing.py +0 -179
  375. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/digital_interface.py +0 -380
  376. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/dsp_farm.py +0 -193
  377. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/media_profile.py +0 -17
  378. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/server_group.py +0 -51
  379. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/srst.py +0 -86
  380. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/supervisory_disconnect.py +0 -69
  381. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/translation_profile.py +0 -42
  382. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/translation_rule.py +0 -31
  383. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/trunk_group.py +0 -26
  384. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/voice_global.py +0 -57
  385. catalystwan/models/configuration/feature_profile/sdwan/uc_voice/voice_tenant.py +0 -40
  386. catalystwan/models/configuration/network_hierarchy/__init__.py +0 -24
  387. catalystwan/models/configuration/network_hierarchy/cflowd.py +0 -128
  388. catalystwan/models/configuration/network_hierarchy/node.py +0 -88
  389. catalystwan/models/configuration/network_hierarchy/security_logging.py +0 -91
  390. catalystwan/models/configuration/packages.py +0 -57
  391. catalystwan/models/configuration/policy_group.py +0 -74
  392. catalystwan/models/configuration/topology_group.py +0 -52
  393. catalystwan/models/policy/definition/aip.py +0 -60
  394. catalystwan/models/policy/definition/amp.py +0 -65
  395. catalystwan/models/policy/definition/app_route.py +0 -246
  396. catalystwan/models/policy/definition/cflowd.py +0 -95
  397. catalystwan/models/policy/definition/dial_peer.py +0 -60
  398. catalystwan/models/policy/definition/dns_security.py +0 -130
  399. catalystwan/models/policy/definition/fxo_port.py +0 -63
  400. catalystwan/models/policy/definition/fxs_did_port.py +0 -58
  401. catalystwan/models/policy/definition/fxs_port.py +0 -56
  402. catalystwan/models/policy/definition/intrusion_prevention.py +0 -55
  403. catalystwan/models/policy/definition/pri_isdn_port.py +0 -48
  404. catalystwan/models/policy/definition/route_policy.py +0 -187
  405. catalystwan/models/policy/definition/srst_phone_profile.py +0 -37
  406. catalystwan/models/policy/definition/ssl_decryption.py +0 -209
  407. catalystwan/models/policy/definition/ssl_decryption_utd_profile.py +0 -88
  408. catalystwan/models/policy/definition/url_filtering.py +0 -70
  409. catalystwan/models/policy/definition/vpn_qos_map.py +0 -46
  410. catalystwan/models/policy/list/app.py +0 -44
  411. catalystwan/models/policy/list/app_probe.py +0 -42
  412. catalystwan/models/policy/list/as_path.py +0 -30
  413. catalystwan/models/policy/list/class_map.py +0 -30
  414. catalystwan/models/policy/list/color.py +0 -28
  415. catalystwan/models/policy/list/communities.py +0 -83
  416. catalystwan/models/policy/list/data_ipv6_prefix.py +0 -30
  417. catalystwan/models/policy/list/data_prefix.py +0 -30
  418. catalystwan/models/policy/list/fax_protocol.py +0 -45
  419. catalystwan/models/policy/list/fqdn.py +0 -24
  420. catalystwan/models/policy/list/geo_location.py +0 -33
  421. catalystwan/models/policy/list/identity.py +0 -29
  422. catalystwan/models/policy/list/ips_signature.py +0 -27
  423. catalystwan/models/policy/list/ipv6_prefix.py +0 -33
  424. catalystwan/models/policy/list/local_app.py +0 -45
  425. catalystwan/models/policy/list/local_domain.py +0 -36
  426. catalystwan/models/policy/list/media_profile.py +0 -44
  427. catalystwan/models/policy/list/mirror.py +0 -27
  428. catalystwan/models/policy/list/modem_pass_through.py +0 -27
  429. catalystwan/models/policy/list/policer.py +0 -39
  430. catalystwan/models/policy/list/port.py +0 -33
  431. catalystwan/models/policy/list/preferred_color_group.py +0 -82
  432. catalystwan/models/policy/list/prefix.py +0 -33
  433. catalystwan/models/policy/list/protocol_name.py +0 -26
  434. catalystwan/models/policy/list/region.py +0 -45
  435. catalystwan/models/policy/list/scalable_group_tag.py +0 -30
  436. catalystwan/models/policy/list/site.py +0 -34
  437. catalystwan/models/policy/list/sla.py +0 -77
  438. catalystwan/models/policy/list/supervisory_disconnect.py +0 -62
  439. catalystwan/models/policy/list/threat_grid_api_key.py +0 -32
  440. catalystwan/models/policy/list/tloc.py +0 -32
  441. catalystwan/models/policy/list/translation_profile.py +0 -32
  442. catalystwan/models/policy/list/translation_rules.py +0 -29
  443. catalystwan/models/policy/list/trunkgroup.py +0 -56
  444. catalystwan/models/policy/list/umbrella_data.py +0 -30
  445. catalystwan/models/policy/list/url.py +0 -39
  446. catalystwan/models/policy/list/vpn.py +0 -40
  447. catalystwan/models/policy/list/zone.py +0 -46
  448. catalystwan/models/policy/voice.py +0 -77
  449. catalystwan/models/settings.py +0 -41
  450. catalystwan/models/templates.py +0 -79
  451. catalystwan/tests/builders/test_report.py +0 -60
  452. catalystwan/tests/builders/uc_voice.py +0 -85
  453. catalystwan/tests/models/__init__.py +0 -0
  454. catalystwan/tests/models/configuration/feature_profile/sdwan/policy_object/security/test_url.py +0 -73
  455. catalystwan/tests/models/test_digital_interface.py +0 -56
  456. catalystwan/tests/templates/definitions/aaa_basic.json +0 -96
  457. catalystwan/tests/templates/definitions/aaa_complex.json +0 -464
  458. catalystwan/tests/templates/definitions/cisco_aaa_complex.json +0 -361
  459. catalystwan/tests/templates/definitions/cisco_logging_complex.json +0 -268
  460. catalystwan/tests/templates/definitions/cisco_ntp_complex.json +0 -143
  461. catalystwan/tests/templates/definitions/cisco_omp_complex.json +0 -175
  462. catalystwan/tests/templates/definitions/cisco_ospf_complex.json +0 -302
  463. catalystwan/tests/templates/definitions/cisco_sig.json +0 -405
  464. catalystwan/tests/templates/definitions/cisco_snmp_complex.json +0 -258
  465. catalystwan/tests/templates/definitions/cisco_system_complex.json +0 -502
  466. catalystwan/tests/templates/definitions/cisco_vpn_interface_complex.json +0 -821
  467. catalystwan/tests/templates/definitions/omp_vsmart_1.json +0 -26
  468. catalystwan/tests/templates/definitions/omp_vsmart_complex.json +0 -73
  469. catalystwan/tests/templates/definitions/security_vsmart_complex.json +0 -24
  470. catalystwan/tests/templates/definitions/system_vsmart_complex.json +0 -193
  471. catalystwan/tests/templates/definitions/vpn_vsmart_basic.json +0 -17
  472. catalystwan/tests/templates/definitions/vpn_vsmart_complex.json +0 -179
  473. catalystwan/tests/templates/definitions/vpn_vsmart_interface_basic.json +0 -42
  474. catalystwan/tests/templates/definitions/vpn_vsmart_interface_complex.json +0 -208
  475. catalystwan/tests/templates/models/aaa.py +0 -106
  476. catalystwan/tests/templates/models/cisco_logging.py +0 -65
  477. catalystwan/tests/templates/models/cisco_ntp.py +0 -17
  478. catalystwan/tests/templates/models/cisco_omp.py +0 -37
  479. catalystwan/tests/templates/models/cisco_ospf.py +0 -60
  480. catalystwan/tests/templates/models/cisco_secure_internet_gateway.py +0 -95
  481. catalystwan/tests/templates/models/cisco_snmp.py +0 -40
  482. catalystwan/tests/templates/models/cisco_vpn_interface.py +0 -200
  483. catalystwan/tests/templates/models/security_vsmart.py +0 -11
  484. catalystwan/tests/templates/models/system_vsmart.py +0 -37
  485. catalystwan/tests/templates/models/vpn_vsmart.py +0 -32
  486. catalystwan/tests/templates/models/vpn_vsmart_interface.py +0 -54
  487. catalystwan/tests/templates/schemas/aaa.json +0 -1096
  488. catalystwan/tests/templates/schemas/cisco_logging.json +0 -577
  489. catalystwan/tests/templates/schemas/cisco_ntp.json +0 -265
  490. catalystwan/tests/templates/schemas/cisco_omp.json +0 -479
  491. catalystwan/tests/templates/schemas/cisco_ospf.json +0 -908
  492. catalystwan/tests/templates/schemas/cisco_secure_internet_gateway.json +0 -1520
  493. catalystwan/tests/templates/schemas/cisco_snmp.json +0 -561
  494. catalystwan/tests/templates/schemas/cisco_vpn_interface.json +0 -3348
  495. catalystwan/tests/templates/schemas/security-vsmart.json +0 -58
  496. catalystwan/tests/templates/schemas/system-vsmart.json +0 -2585
  497. catalystwan/tests/templates/schemas/vpn-vsmart-interface.json +0 -859
  498. catalystwan/tests/templates/schemas/vpn-vsmart.json +0 -445
  499. catalystwan/tests/templates/test_find_template_values_2.py +0 -193
  500. catalystwan/tests/test_feature_profile_api.py +0 -282
  501. catalystwan/tests/test_models_common.py +0 -53
  502. catalystwan/utils/model.py +0 -48
  503. catalystwan/utils/persona.py +0 -5
  504. catalystwan/utils/type_check.py +0 -22
  505. catalystwan/workflows/backup_restore_device_templates.py +0 -467
  506. catalystwan-0.41.2.dev9.dist-info/RECORD +0 -641
  507. /catalystwan/tests/templates/definitions/{cisco_banner.json → banner_1.json} +0 -0
  508. {catalystwan-0.41.2.dev9.dist-info → catalystwan-0.41.3.dist-info}/LICENSE +0 -0
  509. {catalystwan-0.41.2.dev9.dist-info → catalystwan-0.41.3.dist-info}/WHEEL +0 -0
@@ -1,8 +1,7 @@
1
1
  # Copyright 2024 Cisco Systems, Inc. and its affiliates
2
2
 
3
3
  # mypy: disable-error-code="empty-body"
4
- from typing import Optional, Union
5
- from uuid import UUID
4
+ from typing import Optional
6
5
 
7
6
  from catalystwan.api.configuration_groups.parcel import _ParcelBase
8
7
  from catalystwan.endpoints import JSON, APIEndpoints, delete, get, post, put, versions
@@ -12,158 +11,80 @@ from catalystwan.models.configuration.feature_profile.common import (
12
11
  FeatureProfileDetail,
13
12
  FeatureProfileEditPayload,
14
13
  FeatureProfileInfo,
15
- GetFeatureProfilesParams,
16
- SchemaTypeQuery,
17
- )
18
- from catalystwan.models.configuration.feature_profile.parcel import (
19
- Parcel,
20
- ParcelAssociationPayload,
14
+ GetFeatureProfilesPayload,
21
15
  ParcelCreationResponse,
22
16
  ParcelId,
17
+ SchemaTypeQuery,
23
18
  )
24
- from catalystwan.models.configuration.feature_profile.sdwan.routing import AnyRoutingParcel
25
- from catalystwan.models.configuration.feature_profile.sdwan.transport import (
26
- AnyTransportParcel,
27
- CellularControllerParcel,
28
- )
29
- from catalystwan.models.configuration.feature_profile.sdwan.transport.vpn import ManagementVpnParcel
19
+ from catalystwan.models.configuration.feature_profile.sdwan.management.vpn import ManagementVPN
20
+ from catalystwan.models.configuration.feature_profile.sdwan.transport.cellular_controller import CellularController
30
21
  from catalystwan.typed_list import DataSequence
31
22
 
32
23
 
33
24
  class TransportFeatureProfile(APIEndpoints):
34
- @versions(supported_versions=(">=20.12"), raises=False)
25
+ @versions(supported_versions=(">=20.13"), raises=False)
35
26
  @post("/v1/feature-profile/sdwan/transport")
36
27
  def create_transport_feature_profile(
37
28
  self, payload: FeatureProfileCreationPayload
38
29
  ) -> FeatureProfileCreationResponse:
39
30
  ...
40
31
 
41
- @versions(supported_versions=(">=20.12"), raises=False)
32
+ @versions(supported_versions=(">=20.13"), raises=False)
42
33
  @get("/v1/feature-profile/sdwan/transport")
43
- def get_transport_feature_profiles(self, params: GetFeatureProfilesParams) -> DataSequence[FeatureProfileInfo]:
34
+ def get_transport_feature_profiles(self, params: GetFeatureProfilesPayload) -> DataSequence[FeatureProfileInfo]:
44
35
  ...
45
36
 
46
- @versions(supported_versions=(">=20.12"), raises=False)
37
+ @versions(supported_versions=(">=20.13"), raises=False)
47
38
  @get("/v1/feature-profile/sdwan/transport/{profile_id}")
48
- def get_transport_feature_profile(self, profile_id: UUID, params: GetFeatureProfilesParams) -> FeatureProfileDetail:
39
+ def get_transport_feature_profile(self, profile_id: str, params: GetFeatureProfilesPayload) -> FeatureProfileDetail:
49
40
  ...
50
41
 
51
- @versions(supported_versions=(">=20.12"), raises=False)
42
+ @versions(supported_versions=(">=20.13"), raises=False)
52
43
  @put("/v1/feature-profile/sdwan/transport/{profile_id}")
53
44
  def edit_transport_feature_profile(
54
- self, profile_id: UUID, payload: FeatureProfileEditPayload
45
+ self, profile_id: str, payload: FeatureProfileEditPayload
55
46
  ) -> FeatureProfileCreationResponse:
56
47
  ...
57
48
 
58
- @versions(supported_versions=(">=20.12"), raises=False)
49
+ @versions(supported_versions=(">=20.13"), raises=False)
59
50
  @delete("/v1/feature-profile/sdwan/transport/{profile_id}")
60
- def delete_transport_feature_profile(self, profile_id: UUID) -> None:
61
- ...
62
-
63
- @versions(supported_versions=(">=20.12"), raises=False)
64
- @post("/v1/feature-profile/sdwan/transport/{profile_id}/{parcel_type}")
65
- def create_transport_parcel(
66
- self, profile_id: UUID, parcel_type: str, payload: _ParcelBase
67
- ) -> ParcelCreationResponse:
68
- ...
69
-
70
- @versions(supported_versions=(">=20.12"), raises=False)
71
- @post("/v1/feature-profile/sdwan/transport/{profile_id}/wan/vpn/{vpn_id}/{parcel_type}")
72
- def create_transport_vpn_sub_parcel(
73
- self, profile_id: UUID, vpn_id: UUID, parcel_type: str, payload: _ParcelBase
74
- ) -> ParcelCreationResponse:
75
- ...
76
-
77
- @versions(supported_versions=(">=20.12"), raises=False)
78
- @post("/v1/feature-profile/sdwan/transport/{profile_id}/management/vpn/{vpn_id}/{parcel_type}")
79
- def create_management_vpn_sub_parcel(
80
- self, profile_id: UUID, vpn_id: UUID, parcel_type: str, payload: _ParcelBase
81
- ) -> ParcelCreationResponse:
82
- ...
83
-
84
- @versions(supported_versions=(">=20.12"), raises=False)
85
- @get("/v1/feature-profile/sdwan/transport/{profile_id}/{parcel_type}")
86
- def get_transport_parcels(
87
- self, profile_id: UUID, parcel_type: str
88
- ) -> DataSequence[Parcel[Union[AnyTransportParcel, AnyRoutingParcel]]]:
89
- ...
90
-
91
- @versions(supported_versions=(">=20.12"), raises=False)
92
- @get("/v1/feature-profile/sdwan/transport/{profile_id}/{parcel_type}/{parcel_id}")
93
- def get_transport_parcel(
94
- self, profile_id: UUID, parcel_type: str, parcel_id: UUID
95
- ) -> Parcel[Union[AnyTransportParcel, AnyRoutingParcel]]:
96
- ...
97
-
98
- @versions(supported_versions=(">=20.12"), raises=False)
99
- @put("/v1/feature-profile/sdwan/transport/{profile_id}/{parcel_type}/{parcel_id}")
100
- def update_transport_parcel(
101
- self, profile_id: UUID, parcel_type: str, parcel_id: UUID, payload: _ParcelBase
102
- ) -> ParcelCreationResponse:
103
- ...
104
-
105
- @versions(supported_versions=(">=20.12"), raises=False)
106
- @get("/v1/feature-profile/sdwan/transport/{profile_id}/wan/vpn/{vpn_id}/{parcel_type}/{parcel_id}")
107
- def get_transport_vpn_sub_parcel(
108
- self, profile_id: UUID, vpn_id: UUID, parcel_type: str, parcel_id: UUID
109
- ) -> Parcel[AnyTransportParcel]:
110
- ...
111
-
112
- @versions(supported_versions=(">=20.12"), raises=False)
113
- @get("/v1/feature-profile/sdwan/transport/{profile_id}/management/vpn/{vpn_id}/{parcel_type}/{parcel_id}")
114
- def get_management_vpn_sub_parcel(
115
- self, profile_id: UUID, vpn_id: UUID, parcel_type: str, parcel_id: UUID
116
- ) -> Parcel[AnyTransportParcel]:
117
- ...
118
-
119
- @versions(supported_versions=(">=20.12"), raises=False)
120
- @put("/v1/feature-profile/sdwan/transport/{profile_id}/wan/vpn/{vpn_id}/{parcel_type}/{parcel_id}")
121
- def update_transport_vpn_sub_parcel(
122
- self, profile_id: UUID, vpn_id: UUID, parcel_type: str, parcel_id: UUID, payload: _ParcelBase
123
- ) -> ParcelCreationResponse:
124
- ...
125
-
126
- @versions(supported_versions=(">=20.12"), raises=False)
127
- @put("/v1/feature-profile/sdwan/transport/{profile_id}/management/vpn/{vpn_id}/{parcel_type}/{parcel_id}")
128
- def update_management_vpn_sub_parcel(
129
- self, profile_id: UUID, vpn_id: UUID, parcel_type: str, parcel_id: UUID, payload: _ParcelBase
130
- ) -> ParcelCreationResponse:
51
+ def delete_transport_feature_profile(self, profile_id: str) -> None:
131
52
  ...
132
53
 
133
54
  #
134
55
  # ManagementVPN parcel
135
56
  #
136
- @versions(supported_versions=(">=20.12"), raises=False)
57
+ @versions(supported_versions=(">=20.13"), raises=False)
137
58
  @post("/v1/feature-profile/sdwan/transport/{profile_id}/management/vpn")
138
- def create_management_vpn_parcel(self, profile_id: UUID, payload: _ParcelBase) -> ParcelCreationResponse:
59
+ def create_management_vpn_parcel(self, profile_id: str, payload: _ParcelBase) -> ParcelCreationResponse:
139
60
  ...
140
61
 
141
- # @versions(supported_versions=(">=20.12"), raises=False)
62
+ # @versions(supported_versions=(">=20.13"), raises=False)
142
63
  # @get("/v1/feature-profile/sdwan/transport/{profile_id}/management/vpn")
143
- # def get_management_vpn_parcels(self, profile_id: UUID) -> ParcelSequence[ManagementVPN]:
64
+ # def get_management_vpn_parcels(self, profile_id: str) -> ParcelSequence[ManagementVPN]:
144
65
  # ...
145
66
 
146
- # @versions(supported_versions=(">=20.12"), raises=False)
67
+ # @versions(supported_versions=(">=20.13"), raises=False)
147
68
  # @get("/v1/feature-profile/sdwan/transport/{profile_id}/management/vpn/{parcel_id}")
148
- # def get_management_vpn_parcel(self, profile_id: UUID, parcel_id: str) -> Parcel[ManagementVPN]:
69
+ # def get_management_vpn_parcel(self, profile_id: str, parcel_id: str) -> Parcel[ManagementVPN]:
149
70
  # ...
150
71
 
151
- @versions(supported_versions=(">=20.12"), raises=False)
72
+ @versions(supported_versions=(">=20.13"), raises=False)
152
73
  @put("/v1/feature-profile/sdwan/transport/{profile_id}/management/vpn/{parcel_id}")
153
74
  def edit_management_vpn_parcel(
154
- self, profile_id: UUID, parcel_id: str, payload: ManagementVpnParcel
75
+ self, profile_id: str, parcel_id: str, payload: ManagementVPN
155
76
  ) -> ParcelCreationResponse:
156
77
  ...
157
78
 
158
- @versions(supported_versions=(">=20.12"), raises=False)
79
+ @versions(supported_versions=(">=20.13"), raises=False)
159
80
  @delete("/v1/feature-profile/sdwan/transport/{profile_id}/management/vpn/{parcel_id}")
160
- def delete_management_vpn_parcel(self, profile_id: UUID, parcel_id: str) -> None:
81
+ def delete_management_vpn_parcel(self, profile_id: str, parcel_id: str) -> None:
161
82
  ...
162
83
 
163
84
  @versions(supported_versions=(">=20.9"), raises=False)
164
85
  @get("/v1/feature-profile/sdwan/transport")
165
86
  def get_sdwan_transport_feature_profiles(
166
- self, payload: Optional[GetFeatureProfilesParams]
87
+ self, payload: Optional[GetFeatureProfilesPayload]
167
88
  ) -> DataSequence[FeatureProfileInfo]:
168
89
  ...
169
90
 
@@ -187,45 +108,6 @@ class TransportFeatureProfile(APIEndpoints):
187
108
  @versions(supported_versions=(">=20.9"), raises=False)
188
109
  @post("/v1/feature-profile/sdwan/transport/{transport_id}/cellular-controller")
189
110
  def create_cellular_controller_profile_parcel_for_transport(
190
- self, transport_id: str, payload: CellularControllerParcel
191
- ) -> ParcelId:
192
- ...
193
-
194
- #
195
- # Cellular controller
196
- #
197
-
198
- @versions(supported_versions=(">=20.9"), raises=False)
199
- @post("/v1/feature-profile/sdwan/transport/{profile_id}/cellular-controller/{cellular_controler_id}/{parcel_type}")
200
- def associate_with_cellular_controller(
201
- self, profile_id: UUID, cellular_controler_id: UUID, parcel_type: str, payload: ParcelAssociationPayload
111
+ self, transport_id: str, payload: CellularController
202
112
  ) -> ParcelId:
203
113
  ...
204
-
205
- #
206
- # Routing
207
- #
208
-
209
- @versions(supported_versions=(">=20.9"), raises=False)
210
- @post("/v1/feature-profile/sdwan/transport/{profile_id}/wan/vpn/{vpn_id}/{parcel_type}")
211
- def associate_with_vpn(
212
- self, profile_id: UUID, vpn_id: UUID, parcel_type: str, payload: ParcelAssociationPayload
213
- ) -> ParcelCreationResponse:
214
- ...
215
-
216
- # Tracker, TrackerGroup, IPv6Tracker, TrackerGroupIPv6
217
- @versions(supported_versions=(">=20.9"), raises=False)
218
- @post(
219
- "/v1/feature-profile/sdwan/transport/{profile_uuid}/wan/vpn/"
220
- "{vpn_uuid}/{interface_parcel_type}/{interface_uuid}/{tracker_type}"
221
- )
222
- def associate_tracker_with_vpn_interface(
223
- self,
224
- profile_uuid: UUID,
225
- vpn_uuid: UUID,
226
- interface_parcel_type: str,
227
- interface_uuid: UUID,
228
- tracker_type: str,
229
- payload: ParcelAssociationPayload,
230
- ) -> ParcelCreationResponse:
231
- ...
@@ -4,14 +4,11 @@
4
4
  from uuid import UUID
5
5
 
6
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.access_control_list import (
9
- AclPolicy,
10
- AclPolicyEditPayload,
11
- AclPolicyGetResponse,
12
- )
7
+ from catalystwan.models.policy.definitions.access_control_list import AclPolicy
13
8
  from catalystwan.models.policy.policy_definition import (
14
9
  PolicyDefinitionEditResponse,
10
+ PolicyDefinitionEndpoints,
11
+ PolicyDefinitionGetResponse,
15
12
  PolicyDefinitionId,
16
13
  PolicyDefinitionInfo,
17
14
  PolicyDefinitionPreview,
@@ -19,6 +16,14 @@ from catalystwan.models.policy.policy_definition import (
19
16
  from catalystwan.typed_list import DataSequence
20
17
 
21
18
 
19
+ class AclPolicyEditPayload(AclPolicy, PolicyDefinitionId):
20
+ pass
21
+
22
+
23
+ class AclPolicyGetResponse(AclPolicy, PolicyDefinitionGetResponse):
24
+ pass
25
+
26
+
22
27
  class ConfigurationPolicyAclDefinition(APIEndpoints, PolicyDefinitionEndpoints):
23
28
  @post("/template/policy/definition/acl")
24
29
  def create_policy_definition(self, payload: AclPolicy) -> PolicyDefinitionId:
@@ -4,14 +4,11 @@
4
4
  from uuid import UUID
5
5
 
6
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.access_control_list_ipv6 import (
9
- AclIPv6Policy,
10
- AclIPv6PolicyEditPayload,
11
- AclIPv6PolicyGetResponse,
12
- )
7
+ from catalystwan.models.policy.definitions.access_control_list_ipv6 import AclIPv6Policy
13
8
  from catalystwan.models.policy.policy_definition import (
14
9
  PolicyDefinitionEditResponse,
10
+ PolicyDefinitionEndpoints,
11
+ PolicyDefinitionGetResponse,
15
12
  PolicyDefinitionId,
16
13
  PolicyDefinitionInfo,
17
14
  PolicyDefinitionPreview,
@@ -19,6 +16,14 @@ from catalystwan.models.policy.policy_definition import (
19
16
  from catalystwan.typed_list import DataSequence
20
17
 
21
18
 
19
+ class AclIPv6PolicyEditPayload(AclIPv6Policy, PolicyDefinitionId):
20
+ pass
21
+
22
+
23
+ class AclIPv6PolicyGetResponse(AclIPv6Policy, PolicyDefinitionGetResponse):
24
+ pass
25
+
26
+
22
27
  class ConfigurationPolicyAclIPv6Definition(APIEndpoints, PolicyDefinitionEndpoints):
23
28
  @post("/template/policy/definition/aclv6")
24
29
  def create_policy_definition(self, payload: AclIPv6Policy) -> PolicyDefinitionId:
@@ -4,14 +4,11 @@
4
4
  from uuid import UUID
5
5
 
6
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.control import (
9
- ControlPolicy,
10
- ControlPolicyEditPayload,
11
- ControlPolicyGetResponse,
12
- )
7
+ from catalystwan.models.policy.definitions.control import ControlPolicy
13
8
  from catalystwan.models.policy.policy_definition import (
14
9
  PolicyDefinitionEditResponse,
10
+ PolicyDefinitionEndpoints,
11
+ PolicyDefinitionGetResponse,
15
12
  PolicyDefinitionId,
16
13
  PolicyDefinitionInfo,
17
14
  PolicyDefinitionPreview,
@@ -19,6 +16,14 @@ from catalystwan.models.policy.policy_definition import (
19
16
  from catalystwan.typed_list import DataSequence
20
17
 
21
18
 
19
+ class ControlPolicyEditPayload(ControlPolicy, PolicyDefinitionId):
20
+ pass
21
+
22
+
23
+ class ControlPolicyGetResponse(ControlPolicy, PolicyDefinitionGetResponse):
24
+ pass
25
+
26
+
22
27
  class ConfigurationPolicyControlDefinition(APIEndpoints, PolicyDefinitionEndpoints):
23
28
  @post("/template/policy/definition/control")
24
29
  def create_policy_definition(self, payload: ControlPolicy) -> PolicyDefinitionId:
@@ -4,14 +4,11 @@
4
4
  from uuid import UUID
5
5
 
6
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.device_access import (
9
- DeviceAccessPolicy,
10
- DeviceAccessPolicyEditPayload,
11
- DeviceAccessPolicyGetResponse,
12
- )
7
+ from catalystwan.models.policy.definitions.device_access import DeviceAccessPolicy
13
8
  from catalystwan.models.policy.policy_definition import (
14
9
  PolicyDefinitionEditResponse,
10
+ PolicyDefinitionEndpoints,
11
+ PolicyDefinitionGetResponse,
15
12
  PolicyDefinitionId,
16
13
  PolicyDefinitionInfo,
17
14
  PolicyDefinitionPreview,
@@ -19,6 +16,14 @@ from catalystwan.models.policy.policy_definition import (
19
16
  from catalystwan.typed_list import DataSequence
20
17
 
21
18
 
19
+ class DeviceAccessPolicyEditPayload(DeviceAccessPolicy, PolicyDefinitionId):
20
+ pass
21
+
22
+
23
+ class DeviceAccessPolicyGetResponse(DeviceAccessPolicy, PolicyDefinitionGetResponse):
24
+ pass
25
+
26
+
22
27
  class ConfigurationPolicyDeviceAccessDefinition(APIEndpoints, PolicyDefinitionEndpoints):
23
28
  @post("/template/policy/definition/deviceaccesspolicy")
24
29
  def create_policy_definition(self, payload: DeviceAccessPolicy) -> PolicyDefinitionId:
@@ -4,14 +4,11 @@
4
4
  from uuid import UUID
5
5
 
6
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.device_access_ipv6 import (
9
- DeviceAccessIPv6Policy,
10
- DeviceAccessIPv6PolicyEditPayload,
11
- DeviceAccessIPv6PolicyGetResponse,
12
- )
7
+ from catalystwan.models.policy.definitions.device_access_ipv6 import DeviceAccessIPv6Policy
13
8
  from catalystwan.models.policy.policy_definition import (
14
9
  PolicyDefinitionEditResponse,
10
+ PolicyDefinitionEndpoints,
11
+ PolicyDefinitionGetResponse,
15
12
  PolicyDefinitionId,
16
13
  PolicyDefinitionInfo,
17
14
  PolicyDefinitionPreview,
@@ -19,6 +16,14 @@ from catalystwan.models.policy.policy_definition import (
19
16
  from catalystwan.typed_list import DataSequence
20
17
 
21
18
 
19
+ class DeviceAccessIPv6PolicyEditPayload(DeviceAccessIPv6Policy, PolicyDefinitionId):
20
+ pass
21
+
22
+
23
+ class DeviceAccessIPv6PolicyGetResponse(DeviceAccessIPv6Policy, PolicyDefinitionGetResponse):
24
+ pass
25
+
26
+
22
27
  class ConfigurationPolicyDeviceAccessIPv6Definition(APIEndpoints, PolicyDefinitionEndpoints):
23
28
  @post("/template/policy/definition/deviceaccesspolicyv6")
24
29
  def create_policy_definition(self, payload: DeviceAccessIPv6Policy) -> PolicyDefinitionId:
@@ -4,14 +4,11 @@
4
4
  from uuid import UUID
5
5
 
6
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.hub_and_spoke import (
9
- HubAndSpokePolicy,
10
- HubAndSpokePolicyEditPayload,
11
- HubAndSpokePolicyGetResponse,
12
- )
7
+ from catalystwan.models.policy.definitions.hub_and_spoke import HubAndSpokePolicy
13
8
  from catalystwan.models.policy.policy_definition import (
14
9
  PolicyDefinitionEditResponse,
10
+ PolicyDefinitionEndpoints,
11
+ PolicyDefinitionGetResponse,
15
12
  PolicyDefinitionId,
16
13
  PolicyDefinitionInfo,
17
14
  PolicyDefinitionPreview,
@@ -19,6 +16,14 @@ from catalystwan.models.policy.policy_definition import (
19
16
  from catalystwan.typed_list import DataSequence
20
17
 
21
18
 
19
+ class HubAndSpokePolicyEditPayload(HubAndSpokePolicy, PolicyDefinitionId):
20
+ pass
21
+
22
+
23
+ class HubAndSpokePolicyGetResponse(HubAndSpokePolicy, PolicyDefinitionGetResponse):
24
+ pass
25
+
26
+
22
27
  class ConfigurationPolicyHubAndSpokeDefinition(APIEndpoints, PolicyDefinitionEndpoints):
23
28
  @post("/template/policy/definition/hubandspoke")
24
29
  def create_policy_definition(self, payload: HubAndSpokePolicy) -> PolicyDefinitionId:
@@ -4,10 +4,11 @@
4
4
  from uuid import UUID
5
5
 
6
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.mesh import MeshPolicy, MeshPolicyEditPayload, MeshPolicyGetResponse
7
+ from catalystwan.models.policy.definitions.mesh import MeshPolicy
9
8
  from catalystwan.models.policy.policy_definition import (
10
9
  PolicyDefinitionEditResponse,
10
+ PolicyDefinitionEndpoints,
11
+ PolicyDefinitionGetResponse,
11
12
  PolicyDefinitionId,
12
13
  PolicyDefinitionInfo,
13
14
  PolicyDefinitionPreview,
@@ -15,6 +16,14 @@ from catalystwan.models.policy.policy_definition import (
15
16
  from catalystwan.typed_list import DataSequence
16
17
 
17
18
 
19
+ class MeshPolicyEditPayload(MeshPolicy, PolicyDefinitionId):
20
+ pass
21
+
22
+
23
+ class MeshPolicyGetResponse(MeshPolicy, PolicyDefinitionGetResponse):
24
+ pass
25
+
26
+
18
27
  class ConfigurationPolicyMeshDefinition(APIEndpoints, PolicyDefinitionEndpoints):
19
28
  @post("/template/policy/definition/mesh")
20
29
  def create_policy_definition(self, payload: MeshPolicy) -> PolicyDefinitionId:
@@ -4,10 +4,11 @@
4
4
  from uuid import UUID
5
5
 
6
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.qos_map import QoSMapPolicy, QoSMapPolicyEditPayload, QoSMapPolicyGetResponse
7
+ from catalystwan.models.policy.definitions.qos_map import QoSMapPolicy
9
8
  from catalystwan.models.policy.policy_definition import (
10
9
  PolicyDefinitionEditResponse,
10
+ PolicyDefinitionEndpoints,
11
+ PolicyDefinitionGetResponse,
11
12
  PolicyDefinitionId,
12
13
  PolicyDefinitionInfo,
13
14
  PolicyDefinitionPreview,
@@ -15,6 +16,14 @@ from catalystwan.models.policy.policy_definition import (
15
16
  from catalystwan.typed_list import DataSequence
16
17
 
17
18
 
19
+ class QoSMapPolicyEditPayload(QoSMapPolicy, PolicyDefinitionId):
20
+ pass
21
+
22
+
23
+ class QoSMapPolicyGetResponse(QoSMapPolicy, PolicyDefinitionGetResponse):
24
+ pass
25
+
26
+
18
27
  class ConfigurationPolicyQoSMapDefinition(APIEndpoints, PolicyDefinitionEndpoints):
19
28
  @post("/template/policy/definition/qosmap")
20
29
  def create_policy_definition(self, payload: QoSMapPolicy) -> PolicyDefinitionId:
@@ -4,14 +4,11 @@
4
4
  from uuid import UUID
5
5
 
6
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.rewrite import (
9
- RewritePolicy,
10
- RewritePolicyEditPayload,
11
- RewritePolicyGetResponse,
12
- )
7
+ from catalystwan.models.policy.definitions.rewrite import RewritePolicy
13
8
  from catalystwan.models.policy.policy_definition import (
14
9
  PolicyDefinitionEditResponse,
10
+ PolicyDefinitionEndpoints,
11
+ PolicyDefinitionGetResponse,
15
12
  PolicyDefinitionId,
16
13
  PolicyDefinitionInfo,
17
14
  PolicyDefinitionPreview,
@@ -19,6 +16,14 @@ from catalystwan.models.policy.policy_definition import (
19
16
  from catalystwan.typed_list import DataSequence
20
17
 
21
18
 
19
+ class RewritePolicyEditPayload(RewritePolicy, PolicyDefinitionId):
20
+ pass
21
+
22
+
23
+ class RewritePolicyGetResponse(RewritePolicy, PolicyDefinitionGetResponse):
24
+ pass
25
+
26
+
22
27
  class ConfigurationPolicyRewriteRuleDefinition(APIEndpoints, PolicyDefinitionEndpoints):
23
28
  @post("/template/policy/definition/rewriterule")
24
29
  def create_policy_definition(self, payload: RewritePolicy) -> PolicyDefinitionId:
@@ -4,10 +4,11 @@
4
4
  from uuid import UUID
5
5
 
6
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.rule_set import RuleSet, RuleSetEditPayload, RuleSetGetResponse
7
+ from catalystwan.models.policy.definitions.rule_set import RuleSet
9
8
  from catalystwan.models.policy.policy_definition import (
10
9
  PolicyDefinitionEditResponse,
10
+ PolicyDefinitionEndpoints,
11
+ PolicyDefinitionGetResponse,
11
12
  PolicyDefinitionId,
12
13
  PolicyDefinitionInfo,
13
14
  PolicyDefinitionPreview,
@@ -15,6 +16,14 @@ from catalystwan.models.policy.policy_definition import (
15
16
  from catalystwan.typed_list import DataSequence
16
17
 
17
18
 
19
+ class RuleSetEditPayload(RuleSet, PolicyDefinitionId):
20
+ pass
21
+
22
+
23
+ class RuleSetGetResponse(RuleSet, PolicyDefinitionGetResponse):
24
+ pass
25
+
26
+
18
27
  class ConfigurationPolicyRuleSetDefinition(APIEndpoints, PolicyDefinitionEndpoints):
19
28
  @post("/template/policy/definition/ruleset")
20
29
  def create_policy_definition(self, payload: RuleSet) -> PolicyDefinitionId:
@@ -4,14 +4,11 @@
4
4
  from uuid import UUID
5
5
 
6
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.security_group import (
9
- SecurityGroup,
10
- SecurityGroupEditPayload,
11
- SecurityGroupGetResponse,
12
- )
7
+ from catalystwan.models.policy.definitions.security_group import SecurityGroup
13
8
  from catalystwan.models.policy.policy_definition import (
14
9
  PolicyDefinitionEditResponse,
10
+ PolicyDefinitionEndpoints,
11
+ PolicyDefinitionGetResponse,
15
12
  PolicyDefinitionId,
16
13
  PolicyDefinitionInfo,
17
14
  PolicyDefinitionPreview,
@@ -19,6 +16,14 @@ from catalystwan.models.policy.policy_definition import (
19
16
  from catalystwan.typed_list import DataSequence
20
17
 
21
18
 
19
+ class SecurityGroupEditPayload(SecurityGroup, PolicyDefinitionId):
20
+ pass
21
+
22
+
23
+ class SecurityGroupGetResponse(SecurityGroup, PolicyDefinitionGetResponse):
24
+ pass
25
+
26
+
22
27
  class ConfigurationPolicySecurityGroupDefinition(APIEndpoints, PolicyDefinitionEndpoints):
23
28
  @post("/template/policy/definition/securitygroup")
24
29
  def create_policy_definition(self, payload: SecurityGroup) -> PolicyDefinitionId:
@@ -5,14 +5,11 @@
5
5
  from uuid import UUID
6
6
 
7
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.traffic_data import (
10
- TrafficDataPolicy,
11
- TrafficDataPolicyEditPayload,
12
- TrafficDataPolicyGetResponse,
13
- )
8
+ from catalystwan.models.policy.definitions.traffic_data import TrafficDataPolicy
14
9
  from catalystwan.models.policy.policy_definition import (
15
10
  PolicyDefinitionEditResponse,
11
+ PolicyDefinitionEndpoints,
12
+ PolicyDefinitionGetResponse,
16
13
  PolicyDefinitionId,
17
14
  PolicyDefinitionInfo,
18
15
  PolicyDefinitionPreview,
@@ -20,6 +17,14 @@ from catalystwan.models.policy.policy_definition import (
20
17
  from catalystwan.typed_list import DataSequence
21
18
 
22
19
 
20
+ class TrafficDataPolicyEditPayload(TrafficDataPolicy, PolicyDefinitionId):
21
+ pass
22
+
23
+
24
+ class TrafficDataPolicyGetResponse(TrafficDataPolicy, PolicyDefinitionGetResponse):
25
+ pass
26
+
27
+
23
28
  class ConfigurationPolicyDataDefinition(APIEndpoints, PolicyDefinitionEndpoints):
24
29
  @post("/template/policy/definition/data")
25
30
  def create_policy_definition(self, payload: TrafficDataPolicy) -> PolicyDefinitionId:
@@ -4,14 +4,11 @@
4
4
  from uuid import UUID
5
5
 
6
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.vpn_membership import (
9
- VPNMembershipPolicy,
10
- VPNMembershipPolicyEditPayload,
11
- VPNMembershipPolicyGetResponse,
12
- )
7
+ from catalystwan.models.policy.definitions.vpn_membership import VPNMembershipPolicy
13
8
  from catalystwan.models.policy.policy_definition import (
14
9
  PolicyDefinitionEditResponse,
10
+ PolicyDefinitionEndpoints,
11
+ PolicyDefinitionGetResponse,
15
12
  PolicyDefinitionId,
16
13
  PolicyDefinitionInfo,
17
14
  PolicyDefinitionPreview,
@@ -19,6 +16,14 @@ from catalystwan.models.policy.policy_definition import (
19
16
  from catalystwan.typed_list import DataSequence
20
17
 
21
18
 
19
+ class VPNMembershipPolicyEditPayload(VPNMembershipPolicy, PolicyDefinitionId):
20
+ pass
21
+
22
+
23
+ class VPNMembershipPolicyGetResponse(VPNMembershipPolicy, PolicyDefinitionGetResponse):
24
+ pass
25
+
26
+
22
27
  class ConfigurationPolicyVPNMembershipGroupDefinition(APIEndpoints, PolicyDefinitionEndpoints):
23
28
  @post("/template/policy/definition/vpnmembershipgroup")
24
29
  def create_policy_definition(self, payload: VPNMembershipPolicy) -> PolicyDefinitionId: