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
@@ -4,16 +4,25 @@
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 PolicyListEndpoints
8
- from catalystwan.models.policy.list.protocol_name import (
9
- ProtocolNameList,
10
- ProtocolNameListEditPayload,
11
- ProtocolNameListInfo,
7
+ from catalystwan.models.policy.lists import ProtocolNameList
8
+ from catalystwan.models.policy.policy_list import (
9
+ InfoTag,
10
+ PolicyListEndpoints,
11
+ PolicyListId,
12
+ PolicyListInfo,
13
+ PolicyListPreview,
12
14
  )
13
- from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
14
15
  from catalystwan.typed_list import DataSequence
15
16
 
16
17
 
18
+ class ProtocolNameListEditPayload(ProtocolNameList, PolicyListId):
19
+ pass
20
+
21
+
22
+ class ProtocolNameListInfo(ProtocolNameList, PolicyListInfo):
23
+ pass
24
+
25
+
17
26
  class ConfigurationPolicyProtocolNameList(APIEndpoints, PolicyListEndpoints):
18
27
  @post("/template/policy/list/protocolname")
19
28
  def create_policy_list(self, payload: ProtocolNameList) -> PolicyListId:
@@ -4,11 +4,19 @@
4
4
  from uuid import UUID
5
5
 
6
6
  from catalystwan.endpoints import APIEndpoints, delete, get, post, put
7
- from catalystwan.models.policy.list.region import RegionList, RegionListEditPayload, RegionListInfo
8
- from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
7
+ from catalystwan.models.policy.lists import RegionList
8
+ from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListInfo, PolicyListPreview
9
9
  from catalystwan.typed_list import DataSequence
10
10
 
11
11
 
12
+ class RegionListEditPayload(RegionList, PolicyListId):
13
+ pass
14
+
15
+
16
+ class RegionListInfo(RegionList, PolicyListInfo):
17
+ pass
18
+
19
+
12
20
  class ConfigurationPolicyRegionList(APIEndpoints):
13
21
  @post("/template/policy/list/region")
14
22
  def create_policy_list(self, payload: RegionList) -> PolicyListId:
@@ -4,12 +4,25 @@
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 PolicyListEndpoints
8
- from catalystwan.models.policy.list.site import SiteList, SiteListEditPayload, SiteListInfo
9
- from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
7
+ from catalystwan.models.policy.lists import SiteList
8
+ from catalystwan.models.policy.policy_list import (
9
+ InfoTag,
10
+ PolicyListEndpoints,
11
+ PolicyListId,
12
+ PolicyListInfo,
13
+ PolicyListPreview,
14
+ )
10
15
  from catalystwan.typed_list import DataSequence
11
16
 
12
17
 
18
+ class SiteListEditPayload(SiteList, PolicyListId):
19
+ pass
20
+
21
+
22
+ class SiteListInfo(SiteList, PolicyListInfo):
23
+ pass
24
+
25
+
13
26
  class ConfigurationPolicySiteList(APIEndpoints, PolicyListEndpoints):
14
27
  @post("/template/policy/list/site/defaultsite")
15
28
  def create_default_site_list(self, payload: SiteList) -> PolicyListId:
@@ -4,12 +4,25 @@
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 PolicyListEndpoints
8
- from catalystwan.models.policy.list.sla import SLAClassList, SLAClassListEditPayload, SLAClassListInfo
9
- from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
7
+ from catalystwan.models.policy.lists import SLAClassList
8
+ from catalystwan.models.policy.policy_list import (
9
+ InfoTag,
10
+ PolicyListEndpoints,
11
+ PolicyListId,
12
+ PolicyListInfo,
13
+ PolicyListPreview,
14
+ )
10
15
  from catalystwan.typed_list import DataSequence
11
16
 
12
17
 
18
+ class SLAClassListEditPayload(SLAClassList, PolicyListId):
19
+ pass
20
+
21
+
22
+ class SLAClassListInfo(SLAClassList, PolicyListInfo):
23
+ pass
24
+
25
+
13
26
  class ConfigurationPolicySLAClassList(APIEndpoints, PolicyListEndpoints):
14
27
  @post("/template/policy/list/sla")
15
28
  def create_policy_list(self, payload: SLAClassList) -> PolicyListId:
@@ -4,12 +4,25 @@
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 PolicyListEndpoints
8
- from catalystwan.models.policy.list.tloc import TLOCList, TLOCListEditPayload, TLOCListInfo
9
- from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
7
+ from catalystwan.models.policy.lists import TLOCList
8
+ from catalystwan.models.policy.policy_list import (
9
+ InfoTag,
10
+ PolicyListEndpoints,
11
+ PolicyListId,
12
+ PolicyListInfo,
13
+ PolicyListPreview,
14
+ )
10
15
  from catalystwan.typed_list import DataSequence
11
16
 
12
17
 
18
+ class TLOCListEditPayload(TLOCList, PolicyListId):
19
+ pass
20
+
21
+
22
+ class TLOCListInfo(TLOCList, PolicyListInfo):
23
+ pass
24
+
25
+
13
26
  class ConfigurationPolicyTLOCList(APIEndpoints, PolicyListEndpoints):
14
27
  @post("/template/policy/list/tloc")
15
28
  def create_policy_list(self, payload: TLOCList) -> PolicyListId:
@@ -4,12 +4,25 @@
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 PolicyListEndpoints
8
- from catalystwan.models.policy.list.url import URLAllowList, URLAllowListEditPayload, URLAllowListInfo
9
- from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
7
+ from catalystwan.models.policy.lists import URLAllowList
8
+ from catalystwan.models.policy.policy_list import (
9
+ InfoTag,
10
+ PolicyListEndpoints,
11
+ PolicyListId,
12
+ PolicyListInfo,
13
+ PolicyListPreview,
14
+ )
10
15
  from catalystwan.typed_list import DataSequence
11
16
 
12
17
 
18
+ class URLAllowListEditPayload(URLAllowList, PolicyListId):
19
+ pass
20
+
21
+
22
+ class URLAllowListInfo(URLAllowList, PolicyListInfo):
23
+ pass
24
+
25
+
13
26
  class ConfigurationPolicyURLAllowList(APIEndpoints, PolicyListEndpoints):
14
27
  @post("/template/policy/list/urlwhitelist")
15
28
  def create_policy_list(self, payload: URLAllowList) -> PolicyListId:
@@ -4,12 +4,25 @@
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 PolicyListEndpoints
8
- from catalystwan.models.policy.list.url import URLBlockList, URLBlockListEditPayload, URLBlockListInfo
9
- from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
7
+ from catalystwan.models.policy.lists import URLBlockList
8
+ from catalystwan.models.policy.policy_list import (
9
+ InfoTag,
10
+ PolicyListEndpoints,
11
+ PolicyListId,
12
+ PolicyListInfo,
13
+ PolicyListPreview,
14
+ )
10
15
  from catalystwan.typed_list import DataSequence
11
16
 
12
17
 
18
+ class URLBlockListEditPayload(URLBlockList, PolicyListId):
19
+ pass
20
+
21
+
22
+ class URLBlockListInfo(URLBlockList, PolicyListInfo):
23
+ pass
24
+
25
+
13
26
  class ConfigurationPolicyURLBlockList(APIEndpoints, PolicyListEndpoints):
14
27
  @post("/template/policy/list/urlblacklist")
15
28
  def create_policy_list(self, payload: URLBlockList) -> PolicyListId:
@@ -6,12 +6,25 @@
6
6
  from uuid import UUID
7
7
 
8
8
  from catalystwan.endpoints import APIEndpoints, delete, get, post, put
9
- from catalystwan.endpoints.configuration.policy.abstractions import PolicyListEndpoints
10
- from catalystwan.models.policy.list.vpn import VPNList, VPNListEditPayload, VPNListInfo
11
- from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
9
+ from catalystwan.models.policy.lists import VPNList
10
+ from catalystwan.models.policy.policy_list import (
11
+ InfoTag,
12
+ PolicyListEndpoints,
13
+ PolicyListId,
14
+ PolicyListInfo,
15
+ PolicyListPreview,
16
+ )
12
17
  from catalystwan.typed_list import DataSequence
13
18
 
14
19
 
20
+ class VPNListEditPayload(VPNList, PolicyListId):
21
+ pass
22
+
23
+
24
+ class VPNListInfo(VPNList, PolicyListInfo):
25
+ pass
26
+
27
+
15
28
  class ConfigurationPolicyVPNList(APIEndpoints, PolicyListEndpoints):
16
29
  @post("/template/policy/list/vpn")
17
30
  def create_policy_list(self, payload: VPNList) -> PolicyListId:
@@ -4,12 +4,25 @@
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 PolicyListEndpoints
8
- from catalystwan.models.policy.list.zone import ZoneList, ZoneListEditPayload, ZoneListInfo
9
- from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview
7
+ from catalystwan.models.policy.lists import ZoneList
8
+ from catalystwan.models.policy.policy_list import (
9
+ InfoTag,
10
+ PolicyListEndpoints,
11
+ PolicyListId,
12
+ PolicyListInfo,
13
+ PolicyListPreview,
14
+ )
10
15
  from catalystwan.typed_list import DataSequence
11
16
 
12
17
 
18
+ class ZoneListEditPayload(ZoneList, PolicyListId):
19
+ pass
20
+
21
+
22
+ class ZoneListInfo(ZoneList, PolicyListInfo):
23
+ pass
24
+
25
+
13
26
  class ConfigurationPolicyZoneList(APIEndpoints, PolicyListEndpoints):
14
27
  @post("/template/policy/list/zone")
15
28
  def create_policy_list(self, payload: ZoneList) -> PolicyListId:
@@ -6,10 +6,11 @@ from uuid import UUID
6
6
  from catalystwan.endpoints import JSON, APIEndpoints, delete, get, post, put
7
7
  from catalystwan.models.policy.security import (
8
8
  AnySecurityPolicy,
9
- AnySecurityPolicyInfoList,
10
9
  SecurityPolicyEditResponse,
10
+ SecurityPolicyInfoRoot,
11
11
  SecurityPolicyRoot,
12
12
  )
13
+ from catalystwan.typed_list import DataSequence
13
14
 
14
15
 
15
16
  class ConfigurationSecurityTemplatePolicy(APIEndpoints):
@@ -35,7 +36,7 @@ class ConfigurationSecurityTemplatePolicy(APIEndpoints):
35
36
  ...
36
37
 
37
38
  @get("/template/policy/security", "data")
38
- def generate_security_template_list(self) -> AnySecurityPolicyInfoList:
39
+ def generate_security_template_list(self) -> DataSequence[SecurityPolicyInfoRoot]:
39
40
  ...
40
41
 
41
42
  def get_device_list_by_id(self):
@@ -100,8 +100,10 @@ class RemoteServerInfo(BaseModel):
100
100
  class SoftwareRemoteServer(BaseModel):
101
101
  model_config = ConfigDict(populate_by_name=True)
102
102
 
103
- filename: str = Field(serialization_alias="fileName", validation_alias="fileName")
104
- remote_server_id: str = Field(serialization_alias="remoteServerId", validation_alias="remoteServerId")
103
+ filename: Optional[str] = Field(default=None, serialization_alias="fileName", validation_alias="fileName")
104
+ remote_server_id: Optional[str] = Field(
105
+ default=None, serialization_alias="remoteServerId", validation_alias="remoteServerId"
106
+ )
105
107
  smu_defect_id: Optional[str] = Field(
106
108
  default=None, serialization_alias="smuDefectId", validation_alias="smuDefectId"
107
109
  )
@@ -61,7 +61,7 @@ class Validation(BaseModel):
61
61
  device_id: Optional[str] = Field(default=None, serialization_alias="deviceID", validation_alias="deviceID")
62
62
  uuid: Optional[str] = Field(default=None, serialization_alias="uuid", validation_alias="uuid")
63
63
  rid: Optional[int] = Field(default=None, serialization_alias="@rid", validation_alias="@rid")
64
- status_id: str = Field(serialization_alias="statusId", validation_alias="statusId")
64
+ status_id: Optional[str] = Field(default=None, serialization_alias="statusId", validation_alias="statusId")
65
65
  process_id: Optional[str] = Field(default=None, serialization_alias="processId", validation_alias="processId")
66
66
  action_config: Optional[Union[str, Dict]] = Field(
67
67
  default=None, serialization_alias="actionConfig", validation_alias="actionConfig"
@@ -74,7 +74,7 @@ class Validation(BaseModel):
74
74
  request_status: Optional[str] = Field(
75
75
  default=None, serialization_alias="requestStatus", validation_alias="requestStatus"
76
76
  )
77
- status: OperationStatus = Field(serialization_alias="status", validation_alias="status")
77
+ status: Optional[OperationStatus] = Field(default=None, serialization_alias="status", validation_alias="status")
78
78
  order: Optional[int] = Field(default=None, serialization_alias="order", validation_alias="order")
79
79
 
80
80
 
@@ -5,13 +5,7 @@ from typing import Dict
5
5
 
6
6
  from pydantic import BaseModel, ConfigDict, Field
7
7
 
8
- from catalystwan.api.templates.device_template.device_template import (
9
- CreateDeviceInputPayload,
10
- DeviceInputValues,
11
- DeviceTemplateConfigAttached,
12
- )
13
- from catalystwan.endpoints import APIEndpoints, get, post, view
14
- from catalystwan.typed_list import DataSequence
8
+ from catalystwan.endpoints import APIEndpoints, post, view
15
9
  from catalystwan.utils.session_type import ProviderView
16
10
 
17
11
 
@@ -29,11 +23,3 @@ class ConfigurationDeviceTemplate(APIEndpoints):
29
23
  @post("/template/device/config/config/")
30
24
  def get_device_configuration_preview(self, payload: FeatureToCLIPayload) -> str:
31
25
  ...
32
-
33
- @get("/template/device/config/attached/{template_id}", resp_json_key="data")
34
- def get_device_config_attached(self, template_id: str) -> DataSequence[DeviceTemplateConfigAttached]:
35
- ...
36
-
37
- @post("/template/device/config/input/", resp_json_key="data")
38
- def create_device_input(self, payload: CreateDeviceInputPayload) -> DataSequence[DeviceInputValues]:
39
- ...
@@ -1,4 +1,4 @@
1
- # Copyright 2024 Cisco Systems, Inc. and its affiliates
1
+ # Copyright 2023 Cisco Systems, Inc. and its affiliates
2
2
 
3
3
  # mypy: disable-error-code="empty-body"
4
4
  from enum import Enum
@@ -13,7 +13,6 @@ from catalystwan.models.configuration.feature_profile.common import (
13
13
  FeatureProfileCreationResponse,
14
14
  FeatureProfileInfo,
15
15
  )
16
- from catalystwan.models.configuration.feature_profile.parcel import ParcelId
17
16
  from catalystwan.models.feature_profile_parcel import FullConfigParcel
18
17
  from catalystwan.typed_list import DataSequence
19
18
 
@@ -29,6 +28,10 @@ class SchemaTypeQuery(BaseModel):
29
28
  schema_type: SchemaType = Field(alias="schemaType")
30
29
 
31
30
 
31
+ class ParcelId(BaseModel):
32
+ id: str = Field(alias="parcelId")
33
+
34
+
32
35
  class GetFeatureProfilesPayload(BaseModel):
33
36
  limit: Optional[int]
34
37
  offset: Optional[int]
@@ -102,32 +105,32 @@ class ConfigurationFeatureProfile(APIEndpoints):
102
105
 
103
106
 
104
107
  class SDRoutingConfigurationFeatureProfile(APIEndpoints):
105
- @versions(supported_versions=(">=20.12"), raises=False)
108
+ @versions(supported_versions=(">=20.13"), raises=False)
106
109
  @post("/v1/feature-profile/sd-routing/cli")
107
110
  def create_cli_feature_profile(self, payload: FeatureProfileCreationPayload) -> FeatureProfileCreationResponse:
108
111
  ...
109
112
 
110
- @versions(supported_versions=(">=20.12"), raises=False)
113
+ @versions(supported_versions=(">=20.13"), raises=False)
111
114
  @post("/v1/feature-profile/sd-routing/cli/{cli_fp_id}/full-config")
112
115
  def create_cli_full_config_parcel(self, cli_fp_id: str, payload: FullConfigParcel) -> ParcelId:
113
116
  ...
114
117
 
115
- @versions(supported_versions=(">=20.12"), raises=False)
118
+ @versions(supported_versions=(">=20.13"), raises=False)
116
119
  @delete("/v1/feature-profile/sd-routing/cli/{cli_fp_id}")
117
120
  def delete_cli_feature_profile(self, cli_fp_id: str) -> None:
118
121
  ...
119
122
 
120
- @versions(supported_versions=(">=20.12"), raises=False)
123
+ @versions(supported_versions=(">=20.13"), raises=False)
121
124
  @delete("/v1/feature-profile/sd-routing/cli/{cli_fp_id}/full-config/{parcel_id}")
122
125
  def delete_cli_full_config_parcel(self, cli_fp_id: str, parcel_id: str) -> None:
123
126
  ...
124
127
 
125
- @versions(supported_versions=(">=20.12"), raises=False)
128
+ @versions(supported_versions=(">=20.13"), raises=False)
126
129
  @put("/v1/feature-profile/sd-routing/cli/{cli_fp_id}/full-config/{parcel_id}")
127
130
  def edit_cli_full_config_parcel(self, cli_fp_id: str, parcel_id: str, payload: FullConfigParcel) -> None:
128
131
  ...
129
132
 
130
- @versions(supported_versions=(">=20.12"), raises=False)
133
+ @versions(supported_versions=(">=20.13"), raises=False)
131
134
  @get("/v1/feature-profile/sd-routing/cli")
132
135
  def get_cli_feature_profiles(
133
136
  self, payload: Optional[GetFeatureProfilesPayload]
@@ -2,8 +2,7 @@
2
2
 
3
3
  # mypy: disable-error-code="empty-body"
4
4
  from datetime import datetime
5
- from typing import Any, List, Optional, Union
6
- from uuid import UUID
5
+ from typing import List, Optional
7
6
 
8
7
  from pydantic import BaseModel, ConfigDict, Field
9
8
 
@@ -14,7 +13,7 @@ from catalystwan.typed_list import DataSequence
14
13
 
15
14
 
16
15
  class ProfileId(BaseModel):
17
- id: UUID
16
+ id: str
18
17
 
19
18
 
20
19
  # TODO Get mode from schema
@@ -39,29 +38,10 @@ class FeatureProfile(BaseModel):
39
38
 
40
39
 
41
40
  class ConfigGroup(BaseModel):
42
- model_config = ConfigDict(populate_by_name=True)
43
- id: UUID
44
41
  name: str
45
42
  description: Optional[str]
46
43
  solution: Solution
47
44
  profiles: Optional[List[FeatureProfile]]
48
- source: Optional[str] = None
49
- state: Optional[str] = None
50
- devices: Optional[List] = Field(default=[])
51
- created_by: Optional[str] = Field(serialization_alias="createdBy", validation_alias="createdBy")
52
- last_updated_by: Optional[str] = Field(serialization_alias="lastUpdatedBy", validation_alias="lastUpdatedBy")
53
- created_on: Optional[datetime] = Field(serialization_alias="createdOn", validation_alias="createdOn")
54
- last_updated_on: Optional[datetime] = Field(serialization_alias="lastUpdatedOn", validation_alias="lastUpdatedOn")
55
- version: int
56
- number_of_devices: int = Field(serialization_alias="numberOfDevices", validation_alias="numberOfDevices")
57
- number_of_devices_up_to_date: int = Field(
58
- serialization_alias="numberOfDevicesUpToDate", validation_alias="numberOfDevicesUpToDate"
59
- )
60
- origin: Optional[str] = None
61
- topology: Any = None
62
- full_config_cli: Optional[bool] = Field(
63
- default=None, serialization_alias="fullConfigCli", validation_alias="fullConfigCli"
64
- )
65
45
 
66
46
 
67
47
  class ConfigGroupResponsePayload(BaseModel):
@@ -88,12 +68,9 @@ class ConfigGroupVariablesCreatePayload(BaseModel):
88
68
  suggestions: bool = True
89
69
 
90
70
 
91
- VariableType = Union[str, int, bool, List[Union[str, int, bool]]]
92
-
93
-
94
71
  class VariableData(BaseModel):
95
72
  name: str
96
- value: Optional[VariableType] = None
73
+ value: str
97
74
 
98
75
 
99
76
  class DeviceVariables(BaseModel):
@@ -134,7 +111,7 @@ class ConfigGroupDisassociateResponse(BaseModel):
134
111
 
135
112
 
136
113
  class ConfigGroupCreationResponse(BaseModel):
137
- id: UUID
114
+ id: str
138
115
 
139
116
 
140
117
  class EditedProfileId(BaseModel):
@@ -166,7 +143,7 @@ class ConfigurationGroup(APIEndpoints):
166
143
 
167
144
  @versions(supported_versions=(">=20.9"), raises=False)
168
145
  @delete("/v1/config-group/{config_group_id}")
169
- def delete_config_group(self, config_group_id: UUID) -> None:
146
+ def delete_config_group(self, config_group_id: str) -> None:
170
147
  ...
171
148
 
172
149
  @versions(supported_versions=(">=20.9"), raises=False)
@@ -1,4 +1,4 @@
1
- # Copyright 2024 Cisco Systems, Inc. and its affiliates
1
+ # Copyright 2023 Cisco Systems, Inc. and its affiliates
2
2
 
3
3
  # mypy: disable-error-code="empty-body"
4
4
  import datetime
@@ -7,7 +7,6 @@ from typing import List, Literal, Optional, Union
7
7
  from pydantic import BaseModel, ConfigDict, Field, IPvAnyAddress, field_validator
8
8
 
9
9
  from catalystwan.endpoints import JSON, APIEndpoints, get, post, put, view
10
- from catalystwan.models.settings import ThreatGridApi
11
10
  from catalystwan.typed_list import DataSequence
12
11
  from catalystwan.utils.session_type import ProviderView, SingleTenantView
13
12
 
@@ -61,18 +60,6 @@ class Certificate(BaseModel):
61
60
  email: Optional[str] = Field(default=None)
62
61
 
63
62
 
64
- class EnterpriseRootCA(BaseModel):
65
- model_config = ConfigDict(populate_by_name=True)
66
- enterprise_root_ca: Optional[str] = Field(
67
- default=None,
68
- serialization_alias="enterpriseRootCA",
69
- validation_alias="enterpriseRootCA"
70
- )
71
- control_connection_up: Optional[bool] = Field(
72
- default=False, serialization_alias="controlConnectionUp", validation_alias="controlConnectionUp"
73
- )
74
-
75
-
76
63
  class VEdgeCloud(BaseModel):
77
64
  certificateauthority: Optional[str] = None
78
65
 
@@ -352,52 +339,6 @@ class CRLSettings(BaseModel):
352
339
  return vpn_str
353
340
 
354
341
 
355
- class CloudCredentials(BaseModel):
356
- model_config = ConfigDict(populate_by_name=True)
357
-
358
- umbrella_org_id: Optional[str] = Field(
359
- default=None, validation_alias="umbrellaOrgId", serialization_alias="umbrellaOrgId"
360
- )
361
- umbrella_sig_auth_key: Optional[str] = Field(
362
- default=None, validation_alias="umbrellaSIGAuthKey", serialization_alias="umbrellaSIGAuthKey"
363
- )
364
- umbrella_sig_auth_secret: Optional[str] = Field(
365
- default=None, validation_alias="umbrellaSIGAuthSecret", serialization_alias="umbrellaSIGAuthSecret"
366
- )
367
- umbrella_dns_auth_key: Optional[str] = Field(
368
- default=None, validation_alias="umbrellaDNSAuthKey", serialization_alias="umbrellaDNSAuthKey"
369
- )
370
- umbrella_dns_auth_secret: Optional[str] = Field(
371
- default=None, validation_alias="umbrellaDNSAuthSecret", serialization_alias="umbrellaDNSAuthSecret"
372
- )
373
-
374
- zscaler_organization: Optional[str] = Field(
375
- default=None, validation_alias="zscalerOrganization", serialization_alias="zscalerOrganization"
376
- )
377
- zscaler_partner_base_uri: Optional[str] = Field(
378
- default=None, validation_alias="zscalerPartnerBaseUri", serialization_alias="zscalerPartnerBaseUri"
379
- )
380
- zscaler_partner_key: Optional[str] = Field(
381
- default=None, validation_alias="zscalerPartnerKey", serialization_alias="zscalerPartnerKey"
382
- )
383
- zscaler_username: Optional[str] = Field(
384
- default=None, validation_alias="zscalerUsername", serialization_alias="zscalerUsername"
385
- )
386
- zscaler_password: Optional[str] = Field(
387
- default=None, validation_alias="zscalerPassword", serialization_alias="zscalerPassword"
388
- )
389
-
390
- cisco_sse_org_id: Optional[str] = Field(
391
- default=None, validation_alias="ciscoSSEOrgId", serialization_alias="ciscoSSEOrgId"
392
- )
393
- cisco_sse_auth_key: Optional[str] = Field(
394
- default=None, validation_alias="ciscoSSEAuthKey", serialization_alias="ciscoSSEAuthKey"
395
- )
396
- cisco_sse_auth_secret: Optional[str] = Field(
397
- default=None, validation_alias="ciscoSSEAuthSecret", serialization_alias="ciscoSSEAuthSecret"
398
- )
399
-
400
-
401
342
  class ConfigurationSettings(APIEndpoints):
402
343
  def create_analytics_data_file(self):
403
344
  # POST /settings/configuration/analytics/dca
@@ -442,11 +383,6 @@ class ConfigurationSettings(APIEndpoints):
442
383
  def get_certificates(self) -> DataSequence[Certificate]:
443
384
  ...
444
385
 
445
- @view({SingleTenantView, ProviderView})
446
- @get("/settings/configuration/certificate/enterpriserootca", "data")
447
- def get_enterprise_root_ca(self) -> DataSequence[EnterpriseRootCA]:
448
- ...
449
-
450
386
  @view({SingleTenantView, ProviderView})
451
387
  @get("/settings/configuration/vedgecloud", "data")
452
388
  def get_vedge_cloud(self) -> DataSequence[VEdgeCloud]:
@@ -570,10 +506,6 @@ class ConfigurationSettings(APIEndpoints):
570
506
  def get_smart_licensing_settings(self) -> DataSequence[SmartLicensingSetting]:
571
507
  ...
572
508
 
573
- @get("/settings/configuration/cloudProviderSetting", "data")
574
- def get_cloud_credentials(self) -> DataSequence[CloudCredentials]:
575
- ...
576
-
577
509
  def new_cert_configuration(self):
578
510
  # POST /settings/configuration/certificate/{settingType}
579
511
  ...
@@ -611,11 +543,6 @@ class ConfigurationSettings(APIEndpoints):
611
543
  def edit_certificates(self, payload: Certificate) -> DataSequence[Certificate]:
612
544
  ...
613
545
 
614
- @view({SingleTenantView, ProviderView})
615
- @put("/settings/configuration/certificate/enterpriserootca", "data")
616
- def edit_enterprise_root_ca(self, payload: EnterpriseRootCA) -> DataSequence[EnterpriseRootCA]:
617
- ...
618
-
619
546
  @view({SingleTenantView, ProviderView})
620
547
  @put("/settings/configuration/vedgecloud", "data")
621
548
  def edit_vedge_cloud(self, payload: VEdgeCloud) -> DataSequence[VEdgeCloud]:
@@ -735,19 +662,3 @@ class ConfigurationSettings(APIEndpoints):
735
662
  @put("/settings/configuration/smartLicensing", "data")
736
663
  def edit_smart_licensing_settings(self, payload: SmartLicensingSetting) -> DataSequence[SmartLicensingSetting]:
737
664
  ...
738
-
739
- @put("/settings/configuration/cloudProviderSetting", "data")
740
- def edit_cloud_credentials(self, payload: CloudCredentials) -> DataSequence[CloudCredentials]:
741
- ...
742
-
743
- @post("/settings/configuration/cloudProviderSetting", "data")
744
- def create_cloud_credentials(self, payload: CloudCredentials) -> DataSequence[CloudCredentials]:
745
- ...
746
-
747
- @put("/settings/configuration/threatGridApiKey")
748
- def edit_threat_grid_api_key(self, payload: ThreatGridApi) -> ThreatGridApi:
749
- ...
750
-
751
- @post("/settings/configuration/threatGridApiKey")
752
- def create_threat_grid_api_key(self, payload: ThreatGridApi) -> ThreatGridApi:
753
- ...