catalystwan 0.41.2__py3-none-any.whl → 0.41.2.dev1__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.
- catalystwan/__init__.py +3 -2
- catalystwan/api/administration.py +13 -2
- catalystwan/api/api_container.py +4 -1
- catalystwan/api/builders/__init__.py +14 -0
- catalystwan/api/builders/feature_profiles/__init__.py +0 -0
- catalystwan/api/builders/feature_profiles/application_priority.py +58 -0
- catalystwan/api/builders/feature_profiles/builder_factory.py +59 -0
- catalystwan/api/builders/feature_profiles/cli.py +76 -0
- catalystwan/api/builders/feature_profiles/mixins.py +44 -0
- catalystwan/api/builders/feature_profiles/other.py +79 -0
- catalystwan/api/builders/feature_profiles/report.py +155 -0
- catalystwan/api/builders/feature_profiles/service.py +248 -0
- catalystwan/api/builders/feature_profiles/system.py +80 -0
- catalystwan/api/builders/feature_profiles/transport.py +256 -0
- catalystwan/api/builders/feature_profiles/uc_voice.py +287 -0
- catalystwan/api/config_group_api.py +41 -16
- catalystwan/api/configuration_groups/parcel.py +100 -30
- catalystwan/api/feature_profile_api.py +2021 -242
- catalystwan/api/policy_api.py +470 -116
- catalystwan/api/template_api.py +113 -44
- catalystwan/api/templates/README.md +61 -47
- catalystwan/api/templates/cli_template.py +17 -7
- catalystwan/api/templates/device_template/device_template.py +127 -32
- catalystwan/api/templates/feature_template.py +3 -3
- catalystwan/api/templates/models/aaa_model.py +387 -0
- catalystwan/api/templates/models/cisco_aaa_model.py +289 -42
- catalystwan/api/templates/models/cisco_banner_model.py +11 -2
- catalystwan/api/templates/models/cisco_bfd_model.py +31 -36
- catalystwan/api/templates/models/cisco_bgp_model.py +382 -131
- catalystwan/api/templates/models/cisco_logging_model.py +80 -43
- catalystwan/api/templates/models/cisco_ntp_model.py +34 -15
- catalystwan/api/templates/models/cisco_omp_model.py +70 -60
- catalystwan/api/templates/models/cisco_ospf.py +143 -74
- catalystwan/api/templates/models/cisco_ospfv3.py +217 -95
- catalystwan/api/templates/models/cisco_secure_internet_gateway.py +304 -142
- catalystwan/api/templates/models/cisco_snmp_model.py +66 -52
- catalystwan/api/templates/models/cisco_system.py +238 -129
- catalystwan/api/templates/models/cisco_vpn_interface_model.py +632 -275
- catalystwan/api/templates/models/cisco_vpn_model.py +433 -270
- catalystwan/api/templates/models/cli_template.py +3 -2
- catalystwan/api/templates/models/omp_vsmart_model.py +46 -10
- catalystwan/api/templates/models/security_vsmart_model.py +11 -8
- catalystwan/api/templates/models/supported.py +10 -4
- catalystwan/api/templates/models/system_vsmart_model.py +164 -27
- catalystwan/api/templates/models/vpn_vsmart_interface_model.py +198 -0
- catalystwan/api/templates/models/vpn_vsmart_model.py +124 -0
- catalystwan/apigw_auth.py +6 -2
- catalystwan/dataclasses.py +2 -53
- catalystwan/endpoints/__init__.py +41 -41
- catalystwan/endpoints/certificate_management_device.py +4 -0
- catalystwan/endpoints/cluster_management.py +27 -7
- catalystwan/endpoints/configuration/feature_profile/sdwan/application_priority.py +107 -0
- catalystwan/endpoints/configuration/feature_profile/sdwan/cli.py +60 -0
- catalystwan/endpoints/configuration/feature_profile/sdwan/dns_security.py +83 -0
- catalystwan/endpoints/configuration/feature_profile/sdwan/embedded_security.py +88 -0
- catalystwan/endpoints/configuration/feature_profile/sdwan/other.py +62 -0
- catalystwan/endpoints/configuration/feature_profile/sdwan/policy_object.py +35 -12
- catalystwan/endpoints/configuration/feature_profile/sdwan/service.py +154 -0
- catalystwan/endpoints/configuration/feature_profile/sdwan/sig_security.py +88 -0
- catalystwan/endpoints/configuration/feature_profile/sdwan/system.py +164 -11
- catalystwan/endpoints/configuration/feature_profile/sdwan/topology.py +93 -0
- catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py +144 -26
- catalystwan/endpoints/configuration/feature_profile/sdwan/uc_voice.py +77 -0
- catalystwan/endpoints/configuration/network_hierarchy.py +32 -0
- catalystwan/endpoints/configuration/policy/abstractions.py +49 -0
- catalystwan/endpoints/configuration/policy/definition/access_control_list.py +6 -11
- catalystwan/endpoints/configuration/policy/definition/access_control_list_ipv6.py +6 -11
- catalystwan/endpoints/configuration/policy/definition/aip.py +52 -0
- catalystwan/endpoints/configuration/policy/definition/amp.py +52 -0
- catalystwan/endpoints/configuration/policy/definition/app_route.py +50 -0
- catalystwan/endpoints/configuration/policy/definition/cflowd.py +46 -0
- catalystwan/endpoints/configuration/policy/definition/control.py +6 -11
- catalystwan/endpoints/configuration/policy/definition/device_access.py +6 -11
- catalystwan/endpoints/configuration/policy/definition/device_access_ipv6.py +6 -11
- catalystwan/endpoints/configuration/policy/definition/dial_peer.py +57 -0
- catalystwan/endpoints/configuration/policy/definition/dns_security.py +50 -0
- catalystwan/endpoints/configuration/policy/definition/fxo_port.py +57 -0
- catalystwan/endpoints/configuration/policy/definition/fxs_did_port.py +57 -0
- catalystwan/endpoints/configuration/policy/definition/fxs_port.py +57 -0
- catalystwan/endpoints/configuration/policy/definition/hub_and_spoke.py +6 -11
- catalystwan/endpoints/configuration/policy/definition/intrusion_prevention.py +52 -0
- catalystwan/endpoints/configuration/policy/definition/mesh.py +2 -11
- catalystwan/endpoints/configuration/policy/definition/pri_isdn_port.py +57 -0
- catalystwan/endpoints/configuration/policy/definition/qos_map.py +2 -11
- catalystwan/endpoints/configuration/policy/definition/rewrite.py +6 -11
- catalystwan/endpoints/configuration/policy/definition/route_policy.py +50 -0
- catalystwan/endpoints/configuration/policy/definition/rule_set.py +2 -11
- catalystwan/endpoints/configuration/policy/definition/security_group.py +6 -11
- catalystwan/endpoints/configuration/policy/definition/srst_phone_profile.py +59 -0
- catalystwan/endpoints/configuration/policy/definition/ssl_decryption.py +50 -0
- catalystwan/endpoints/configuration/policy/definition/ssl_decryption_utd_profile.py +52 -0
- catalystwan/endpoints/configuration/policy/definition/traffic_data.py +6 -11
- catalystwan/endpoints/configuration/policy/definition/url_filtering.py +50 -0
- catalystwan/endpoints/configuration/policy/definition/vpn_membership.py +6 -11
- catalystwan/endpoints/configuration/policy/definition/vpn_qos_map.py +50 -0
- catalystwan/endpoints/configuration/policy/definition/zone_based_firewall.py +6 -11
- catalystwan/endpoints/configuration/policy/list/app.py +3 -16
- catalystwan/endpoints/configuration/policy/list/app_probe.py +6 -15
- catalystwan/endpoints/configuration/policy/list/as_path.py +3 -16
- catalystwan/endpoints/configuration/policy/list/class_map.py +3 -16
- catalystwan/endpoints/configuration/policy/list/color.py +3 -16
- catalystwan/endpoints/configuration/policy/list/community.py +3 -16
- catalystwan/endpoints/configuration/policy/list/data_ipv6_prefix.py +6 -15
- catalystwan/endpoints/configuration/policy/list/data_prefix.py +3 -16
- catalystwan/endpoints/configuration/policy/list/expanded_community.py +6 -15
- catalystwan/endpoints/configuration/policy/list/extended_community.py +52 -0
- catalystwan/endpoints/configuration/policy/list/fax_protocol.py +48 -0
- catalystwan/endpoints/configuration/policy/list/fqdn.py +3 -16
- catalystwan/endpoints/configuration/policy/list/geo_location.py +3 -16
- catalystwan/endpoints/configuration/policy/list/identity.py +48 -0
- catalystwan/endpoints/configuration/policy/list/ips_signature.py +6 -15
- catalystwan/endpoints/configuration/policy/list/ipv6_prefix.py +3 -16
- catalystwan/endpoints/configuration/policy/list/local_app.py +3 -16
- catalystwan/endpoints/configuration/policy/list/local_domain.py +3 -16
- catalystwan/endpoints/configuration/policy/list/media_profile.py +52 -0
- catalystwan/endpoints/configuration/policy/list/mirror.py +3 -16
- catalystwan/endpoints/configuration/policy/list/modem_pass_through.py +52 -0
- catalystwan/endpoints/configuration/policy/list/policer.py +3 -16
- catalystwan/endpoints/configuration/policy/list/port.py +3 -16
- catalystwan/endpoints/configuration/policy/list/preferred_color_group.py +6 -15
- catalystwan/endpoints/configuration/policy/list/prefix.py +4 -16
- catalystwan/endpoints/configuration/policy/list/protocol_name.py +6 -15
- catalystwan/endpoints/configuration/policy/list/region.py +2 -10
- catalystwan/endpoints/configuration/policy/list/scalable_group_tag.py +52 -0
- catalystwan/endpoints/configuration/policy/list/site.py +3 -16
- catalystwan/endpoints/configuration/policy/list/sla.py +3 -16
- catalystwan/endpoints/configuration/policy/list/supervisory_disconnect.py +52 -0
- catalystwan/endpoints/configuration/policy/list/threat_grid_api_key.py +52 -0
- catalystwan/endpoints/configuration/policy/list/tloc.py +3 -16
- catalystwan/endpoints/configuration/policy/list/translation_profile.py +52 -0
- catalystwan/endpoints/configuration/policy/list/translation_rules.py +52 -0
- catalystwan/endpoints/configuration/policy/list/trunkgroup.py +48 -0
- catalystwan/endpoints/configuration/policy/list/umbrella_data.py +52 -0
- catalystwan/endpoints/configuration/policy/list/url_allow_list.py +3 -16
- catalystwan/endpoints/configuration/policy/list/url_block_list.py +3 -16
- catalystwan/endpoints/configuration/policy/list/vpn.py +3 -16
- catalystwan/endpoints/configuration/policy/list/zone.py +3 -16
- catalystwan/endpoints/configuration/policy/security_template.py +2 -3
- catalystwan/endpoints/configuration/policy/voice_template.py +39 -0
- catalystwan/endpoints/configuration/policy_group.py +30 -0
- catalystwan/endpoints/configuration/software_actions.py +2 -4
- catalystwan/endpoints/configuration/topology_group.py +51 -0
- catalystwan/endpoints/configuration_dashboard_status.py +2 -2
- catalystwan/endpoints/configuration_device_template.py +15 -1
- catalystwan/endpoints/configuration_feature_profile.py +8 -11
- catalystwan/endpoints/configuration_general_template.py +31 -0
- catalystwan/endpoints/configuration_group.py +28 -5
- catalystwan/endpoints/configuration_settings.py +90 -1
- catalystwan/endpoints/configuration_template_master.py +48 -0
- catalystwan/endpoints/endpoints_container.py +79 -19
- catalystwan/endpoints/real_time_monitoring/reboot_history.py +1 -3
- catalystwan/endpoints/tenant_migration.py +2 -0
- catalystwan/exceptions.py +17 -0
- catalystwan/integration_tests/base.py +81 -0
- catalystwan/integration_tests/feature_profile/sdwan/__init__.py +0 -0
- catalystwan/integration_tests/feature_profile/sdwan/policy/__init__.py +0 -0
- catalystwan/integration_tests/feature_profile/sdwan/policy/base.py +33 -0
- catalystwan/integration_tests/feature_profile/sdwan/policy/test_extended_community.py +33 -0
- catalystwan/integration_tests/feature_profile/sdwan/policy/test_security_app_list.py +32 -0
- catalystwan/integration_tests/feature_profile/sdwan/test_application_priority.py +433 -0
- catalystwan/integration_tests/feature_profile/sdwan/test_cli.py +54 -0
- catalystwan/integration_tests/feature_profile/sdwan/test_dns_security.py +106 -0
- catalystwan/integration_tests/feature_profile/sdwan/test_other.py +49 -0
- catalystwan/integration_tests/feature_profile/sdwan/test_service.py +1078 -0
- catalystwan/integration_tests/feature_profile/sdwan/test_sig_security.py +322 -0
- catalystwan/integration_tests/feature_profile/sdwan/test_ssl_decryption.py +85 -0
- catalystwan/integration_tests/feature_profile/sdwan/test_system.py +368 -0
- catalystwan/integration_tests/feature_profile/sdwan/test_tracker.py +127 -0
- catalystwan/integration_tests/feature_profile/sdwan/test_transport.py +1698 -0
- catalystwan/integration_tests/feature_profile/sdwan/topology/test_topology.py +93 -0
- catalystwan/integration_tests/profile_builder/__init__.py +0 -0
- catalystwan/integration_tests/profile_builder/test_pb_service.py +197 -0
- catalystwan/integration_tests/profile_builder/test_pb_transport.py +226 -0
- catalystwan/integration_tests/profile_builder/test_pb_uc_voice.py +277 -0
- catalystwan/integration_tests/test_data/__init__.py +117 -0
- catalystwan/integration_tests/test_find_template_values.py +7 -18
- catalystwan/integration_tests/test_network_hierarchy.py +82 -0
- catalystwan/integration_tests/test_settings.py +30 -0
- catalystwan/models/common.py +1898 -2
- catalystwan/models/configuration/common.py +1 -0
- catalystwan/models/configuration/feature_profile/common.py +634 -149
- catalystwan/models/configuration/feature_profile/parcel.py +238 -0
- catalystwan/models/configuration/feature_profile/sdwan/acl/__init__.py +13 -0
- catalystwan/models/configuration/feature_profile/sdwan/acl/ipv4acl.py +298 -0
- catalystwan/models/configuration/feature_profile/sdwan/acl/ipv6acl.py +344 -0
- catalystwan/models/configuration/feature_profile/sdwan/application_priority/__init__.py +218 -0
- catalystwan/models/configuration/feature_profile/sdwan/application_priority/cloud_probe.py +61 -0
- catalystwan/models/configuration/feature_profile/sdwan/application_priority/policy_settings.py +31 -0
- catalystwan/models/configuration/feature_profile/sdwan/application_priority/qos_policy.py +102 -0
- catalystwan/models/configuration/feature_profile/sdwan/application_priority/traffic_policy.py +1057 -0
- catalystwan/models/configuration/feature_profile/sdwan/cli/__init__.py +23 -0
- catalystwan/models/configuration/feature_profile/sdwan/cli/config.py +18 -0
- catalystwan/models/configuration/feature_profile/sdwan/cli/full_config.py +15 -0
- catalystwan/models/configuration/feature_profile/sdwan/dns_security/__init__.py +13 -0
- catalystwan/models/configuration/feature_profile/sdwan/dns_security/dns.py +110 -0
- catalystwan/models/configuration/feature_profile/sdwan/embedded_security/__init__.py +23 -0
- catalystwan/models/configuration/feature_profile/sdwan/embedded_security/ngfirewall.py +493 -0
- catalystwan/models/configuration/feature_profile/sdwan/embedded_security/policy.py +171 -0
- catalystwan/models/configuration/feature_profile/sdwan/other/__init__.py +25 -0
- catalystwan/models/configuration/feature_profile/sdwan/other/cybervision.py +44 -0
- catalystwan/models/configuration/feature_profile/sdwan/other/thousandeyes.py +147 -0
- catalystwan/models/configuration/feature_profile/sdwan/other/ucse.py +110 -0
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/__init__.py +62 -48
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/app_probe.py +34 -20
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/application_list.py +8 -6
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/as_path.py +22 -0
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/color_list.py +7 -5
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/data_prefix.py +13 -4
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/expanded_community_list.py +9 -7
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/extended_community.py +34 -0
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/fowarding_class.py +7 -5
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/ipv4_network_object.py +15 -0
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/ipv4_service_object.py +254 -0
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/ipv6_data_prefix.py +11 -9
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/ipv6_prefix_list.py +25 -10
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/mirror.py +27 -0
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/network_object_group.py +15 -0
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/object_group.py +15 -0
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/{policier.py → policer.py} +12 -10
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/prefered_group_color.py +29 -10
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/prefix_list.py +23 -8
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/service_object_group.py +21 -0
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/sla_class.py +12 -31
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/standard_community.py +16 -10
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/policy/tloc_list.py +8 -7
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/aip.py +64 -0
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/amp.py +79 -0
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/application_list.py +8 -6
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/data_prefix.py +7 -5
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/fqdn.py +7 -5
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/geolocation_list.py +7 -5
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/identity.py +30 -0
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/intrusion_prevention.py +58 -0
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/ips_signature.py +7 -5
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/local_domain.py +7 -5
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/object_group.py +72 -0
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/protocol_list.py +7 -5
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/rule_set.py +137 -0
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/scalable_group_tag.py +26 -0
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/security_port.py +21 -11
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/ssl_decryption.py +126 -0
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/ssl_decryption_profile.py +165 -0
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/url.py +15 -10
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/url_filtering.py +148 -0
- catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/zone.py +14 -18
- catalystwan/models/configuration/feature_profile/sdwan/routing/__init__.py +26 -0
- catalystwan/models/configuration/feature_profile/sdwan/routing/bgp.py +609 -0
- catalystwan/models/configuration/feature_profile/sdwan/{service → routing}/ospf.py +55 -47
- catalystwan/models/configuration/feature_profile/sdwan/{service → routing}/ospfv3.py +74 -72
- catalystwan/models/configuration/feature_profile/sdwan/service/__init__.py +91 -0
- catalystwan/models/configuration/feature_profile/sdwan/service/appqoe.py +76 -41
- catalystwan/models/configuration/feature_profile/sdwan/service/dhcp_server.py +107 -64
- catalystwan/models/configuration/feature_profile/sdwan/service/dual_router_ha.py +26 -0
- catalystwan/models/configuration/feature_profile/sdwan/service/eigrp.py +39 -42
- catalystwan/models/configuration/feature_profile/sdwan/service/lan/common.py +7 -88
- catalystwan/models/configuration/feature_profile/sdwan/service/lan/ethernet.py +231 -155
- catalystwan/models/configuration/feature_profile/sdwan/service/lan/gre.py +38 -108
- catalystwan/models/configuration/feature_profile/sdwan/service/lan/ipsec.py +77 -84
- catalystwan/models/configuration/feature_profile/sdwan/service/lan/multilink.py +101 -0
- catalystwan/models/configuration/feature_profile/sdwan/service/lan/svi.py +62 -56
- catalystwan/models/configuration/feature_profile/sdwan/service/lan/vpn.py +111 -120
- catalystwan/models/configuration/feature_profile/sdwan/service/multicast.py +56 -57
- catalystwan/models/configuration/feature_profile/sdwan/service/object_tracker.py +15 -21
- catalystwan/models/configuration/feature_profile/sdwan/service/route_policy.py +358 -110
- catalystwan/models/configuration/feature_profile/sdwan/service/service_chain.py +38 -0
- catalystwan/models/configuration/feature_profile/sdwan/service/service_insertion_attachment.py +17 -25
- catalystwan/models/configuration/feature_profile/sdwan/service/switchport.py +50 -58
- catalystwan/models/configuration/feature_profile/sdwan/service/tracker.py +12 -21
- catalystwan/models/configuration/feature_profile/sdwan/service/wireless_lan.py +27 -31
- catalystwan/models/configuration/feature_profile/sdwan/sig_security/__init__.py +19 -0
- catalystwan/models/configuration/feature_profile/sdwan/sig_security/sig_security.py +379 -0
- catalystwan/models/configuration/feature_profile/sdwan/system/__init__.py +59 -0
- catalystwan/models/configuration/feature_profile/sdwan/system/aaa.py +58 -10
- catalystwan/models/configuration/feature_profile/sdwan/system/banner.py +30 -0
- catalystwan/models/configuration/feature_profile/sdwan/system/basic.py +290 -0
- catalystwan/models/configuration/feature_profile/sdwan/system/bfd.py +69 -0
- catalystwan/models/configuration/feature_profile/sdwan/system/device_access.py +157 -0
- catalystwan/models/configuration/feature_profile/sdwan/system/device_access_ipv6.py +157 -0
- catalystwan/models/configuration/feature_profile/sdwan/system/global_parcel.py +163 -0
- catalystwan/models/configuration/feature_profile/sdwan/system/logging_parcel.py +162 -0
- catalystwan/models/configuration/feature_profile/sdwan/system/mrf.py +75 -0
- catalystwan/models/configuration/feature_profile/sdwan/system/ntp.py +103 -0
- catalystwan/models/configuration/feature_profile/sdwan/system/omp.py +120 -0
- catalystwan/models/configuration/feature_profile/sdwan/system/security.py +179 -0
- catalystwan/models/configuration/feature_profile/sdwan/system/snmp.py +173 -0
- catalystwan/models/configuration/feature_profile/sdwan/topology/__init__.py +29 -0
- catalystwan/models/configuration/feature_profile/sdwan/topology/custom_control.py +425 -0
- catalystwan/models/configuration/feature_profile/sdwan/topology/hubspoke.py +60 -0
- catalystwan/models/configuration/feature_profile/sdwan/topology/mesh.py +23 -0
- catalystwan/models/configuration/feature_profile/sdwan/trackers/__init__.py +36 -0
- catalystwan/models/configuration/feature_profile/sdwan/trackers/tracker.py +96 -0
- catalystwan/models/configuration/feature_profile/sdwan/trackers/tracker_group.py +63 -0
- catalystwan/models/configuration/feature_profile/sdwan/transport/__init__.py +93 -0
- catalystwan/models/configuration/feature_profile/sdwan/transport/cellular_controller.py +26 -23
- catalystwan/models/configuration/feature_profile/sdwan/transport/cellular_profile.py +71 -0
- catalystwan/models/configuration/feature_profile/sdwan/transport/gps.py +37 -0
- catalystwan/models/configuration/feature_profile/sdwan/transport/management/ethernet.py +121 -0
- catalystwan/models/configuration/feature_profile/sdwan/transport/t1e1controller.py +124 -0
- catalystwan/models/configuration/feature_profile/sdwan/transport/vpn.py +285 -0
- catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/cellular.py +173 -0
- catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/ethernet.py +389 -0
- catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/gre.py +46 -0
- catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/ipsec.py +137 -0
- catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/multilink.py +219 -0
- catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/protocol_over.py +405 -0
- catalystwan/models/configuration/feature_profile/sdwan/transport/wan/interface/t1e1serial.py +195 -0
- catalystwan/models/configuration/feature_profile/sdwan/uc_voice/__init__.py +62 -0
- catalystwan/models/configuration/feature_profile/sdwan/uc_voice/analog_interface.py +436 -0
- catalystwan/models/configuration/feature_profile/sdwan/uc_voice/call_routing.py +179 -0
- catalystwan/models/configuration/feature_profile/sdwan/uc_voice/digital_interface.py +380 -0
- catalystwan/models/configuration/feature_profile/sdwan/uc_voice/dsp_farm.py +193 -0
- catalystwan/models/configuration/feature_profile/sdwan/uc_voice/media_profile.py +17 -0
- catalystwan/models/configuration/feature_profile/sdwan/uc_voice/server_group.py +51 -0
- catalystwan/models/configuration/feature_profile/sdwan/uc_voice/srst.py +86 -0
- catalystwan/models/configuration/feature_profile/sdwan/uc_voice/supervisory_disconnect.py +69 -0
- catalystwan/models/configuration/feature_profile/sdwan/uc_voice/translation_profile.py +42 -0
- catalystwan/models/configuration/feature_profile/sdwan/uc_voice/translation_rule.py +31 -0
- catalystwan/models/configuration/feature_profile/sdwan/uc_voice/trunk_group.py +26 -0
- catalystwan/models/configuration/feature_profile/sdwan/uc_voice/voice_global.py +57 -0
- catalystwan/models/configuration/feature_profile/sdwan/uc_voice/voice_tenant.py +40 -0
- catalystwan/models/configuration/network_hierarchy/__init__.py +22 -0
- catalystwan/models/configuration/network_hierarchy/cflowd.py +120 -0
- catalystwan/models/configuration/network_hierarchy/node.py +88 -0
- catalystwan/models/configuration/policy_group.py +74 -0
- catalystwan/models/configuration/profile_type.py +1 -6
- catalystwan/models/configuration/topology_group.py +52 -0
- catalystwan/models/policy/__init__.py +275 -69
- catalystwan/models/policy/centralized.py +26 -29
- catalystwan/models/policy/{definitions → definition}/access_control_list.py +47 -17
- catalystwan/models/policy/{definitions → definition}/access_control_list_ipv6.py +42 -18
- catalystwan/models/policy/definition/aip.py +60 -0
- catalystwan/models/policy/definition/amp.py +65 -0
- catalystwan/models/policy/definition/app_route.py +246 -0
- catalystwan/models/policy/definition/cflowd.py +95 -0
- catalystwan/models/policy/{definitions → definition}/control.py +48 -25
- catalystwan/models/policy/{definitions → definition}/device_access.py +22 -11
- catalystwan/models/policy/{definitions → definition}/device_access_ipv6.py +20 -11
- catalystwan/models/policy/definition/dial_peer.py +60 -0
- catalystwan/models/policy/definition/dns_security.py +130 -0
- catalystwan/models/policy/definition/fxo_port.py +63 -0
- catalystwan/models/policy/definition/fxs_did_port.py +58 -0
- catalystwan/models/policy/definition/fxs_port.py +56 -0
- catalystwan/models/policy/{definitions → definition}/hub_and_spoke.py +18 -4
- catalystwan/models/policy/definition/intrusion_prevention.py +55 -0
- catalystwan/models/policy/{definitions → definition}/mesh.py +13 -1
- catalystwan/models/policy/definition/pri_isdn_port.py +48 -0
- catalystwan/models/policy/{definitions → definition}/qos_map.py +39 -32
- catalystwan/models/policy/{definitions → definition}/rewrite.py +12 -2
- catalystwan/models/policy/definition/route_policy.py +187 -0
- catalystwan/models/policy/{definitions → definition}/rule_set.py +66 -48
- catalystwan/models/policy/{definitions → definition}/security_group.py +38 -14
- catalystwan/models/policy/definition/srst_phone_profile.py +37 -0
- catalystwan/models/policy/definition/ssl_decryption.py +209 -0
- catalystwan/models/policy/definition/ssl_decryption_utd_profile.py +87 -0
- catalystwan/models/policy/{definitions → definition}/traffic_data.py +184 -61
- catalystwan/models/policy/definition/url_filtering.py +70 -0
- catalystwan/models/policy/{definitions → definition}/vpn_membership.py +13 -1
- catalystwan/models/policy/definition/vpn_qos_map.py +46 -0
- catalystwan/models/policy/{definitions → definition}/zone_based_firewall.py +93 -32
- catalystwan/models/policy/list/app.py +44 -0
- catalystwan/models/policy/list/app_probe.py +42 -0
- catalystwan/models/policy/list/as_path.py +30 -0
- catalystwan/models/policy/list/class_map.py +30 -0
- catalystwan/models/policy/list/color.py +28 -0
- catalystwan/models/policy/list/communities.py +83 -0
- catalystwan/models/policy/list/data_ipv6_prefix.py +30 -0
- catalystwan/models/policy/list/data_prefix.py +30 -0
- catalystwan/models/policy/list/fax_protocol.py +45 -0
- catalystwan/models/policy/list/fqdn.py +24 -0
- catalystwan/models/policy/list/geo_location.py +33 -0
- catalystwan/models/policy/list/identity.py +29 -0
- catalystwan/models/policy/list/ips_signature.py +27 -0
- catalystwan/models/policy/list/ipv6_prefix.py +33 -0
- catalystwan/models/policy/list/local_app.py +45 -0
- catalystwan/models/policy/list/local_domain.py +36 -0
- catalystwan/models/policy/list/media_profile.py +44 -0
- catalystwan/models/policy/list/mirror.py +27 -0
- catalystwan/models/policy/list/modem_pass_through.py +27 -0
- catalystwan/models/policy/list/policer.py +39 -0
- catalystwan/models/policy/list/port.py +33 -0
- catalystwan/models/policy/list/preferred_color_group.py +82 -0
- catalystwan/models/policy/list/prefix.py +33 -0
- catalystwan/models/policy/list/protocol_name.py +26 -0
- catalystwan/models/policy/list/region.py +45 -0
- catalystwan/models/policy/list/scalable_group_tag.py +30 -0
- catalystwan/models/policy/list/site.py +34 -0
- catalystwan/models/policy/list/sla.py +77 -0
- catalystwan/models/policy/list/supervisory_disconnect.py +62 -0
- catalystwan/models/policy/list/threat_grid_api_key.py +32 -0
- catalystwan/models/policy/list/tloc.py +32 -0
- catalystwan/models/policy/list/translation_profile.py +32 -0
- catalystwan/models/policy/list/translation_rules.py +29 -0
- catalystwan/models/policy/list/trunkgroup.py +56 -0
- catalystwan/models/policy/list/umbrella_data.py +30 -0
- catalystwan/models/policy/list/url.py +39 -0
- catalystwan/models/policy/list/vpn.py +40 -0
- catalystwan/models/policy/list/zone.py +46 -0
- catalystwan/models/policy/localized.py +34 -16
- catalystwan/models/policy/policy.py +13 -9
- catalystwan/models/policy/policy_definition.py +673 -173
- catalystwan/models/policy/policy_list.py +38 -27
- catalystwan/models/policy/security.py +145 -46
- catalystwan/models/policy/voice.py +77 -0
- catalystwan/models/settings.py +41 -0
- catalystwan/models/templates.py +79 -0
- catalystwan/response.py +6 -2
- catalystwan/session.py +1 -1
- catalystwan/tests/builders/test_report.py +60 -0
- catalystwan/tests/builders/uc_voice.py +85 -0
- catalystwan/tests/models/__init__.py +0 -0
- catalystwan/tests/models/test_digital_interface.py +56 -0
- catalystwan/tests/templates/definitions/aaa_basic.json +96 -0
- catalystwan/tests/templates/definitions/aaa_complex.json +464 -0
- catalystwan/tests/templates/definitions/{iuo.json → cisco_aaa.json} +44 -15
- catalystwan/tests/templates/definitions/cisco_aaa_complex.json +361 -0
- catalystwan/tests/templates/definitions/cisco_logging_complex.json +268 -0
- catalystwan/tests/templates/definitions/cisco_ntp_complex.json +143 -0
- catalystwan/tests/templates/definitions/cisco_omp_complex.json +175 -0
- catalystwan/tests/templates/definitions/cisco_ospf_complex.json +302 -0
- catalystwan/tests/templates/definitions/cisco_sig.json +405 -0
- catalystwan/tests/templates/definitions/cisco_snmp_complex.json +258 -0
- catalystwan/tests/templates/definitions/cisco_system_complex.json +502 -0
- catalystwan/tests/templates/definitions/{Basic_Cisco_VPN_Model.json → cisco_vpn_basic.json} +2 -2
- catalystwan/tests/templates/definitions/{complex_cisco_vpn.json → cisco_vpn_complex.json} +27 -12
- catalystwan/tests/templates/definitions/cisco_vpn_interface_complex.json +821 -0
- catalystwan/tests/templates/definitions/omp_vsmart_1.json +26 -0
- catalystwan/tests/templates/definitions/{omp_2.json → omp_vsmart_2.json} +16 -2
- catalystwan/tests/templates/definitions/{omp_3.json → omp_vsmart_3.json} +16 -2
- catalystwan/tests/templates/definitions/omp_vsmart_complex.json +73 -0
- catalystwan/tests/templates/definitions/security_vsmart_complex.json +24 -0
- catalystwan/tests/templates/definitions/system_vsmart_complex.json +193 -0
- catalystwan/tests/templates/definitions/vpn_vsmart_basic.json +17 -0
- catalystwan/tests/templates/definitions/vpn_vsmart_complex.json +179 -0
- catalystwan/tests/templates/definitions/vpn_vsmart_interface_basic.json +42 -0
- catalystwan/tests/templates/definitions/vpn_vsmart_interface_complex.json +208 -0
- catalystwan/tests/templates/models/__init__.py +46 -13
- catalystwan/tests/templates/models/aaa.py +106 -0
- catalystwan/tests/templates/models/cisco_aaa.py +81 -48
- catalystwan/tests/templates/models/cisco_banner.py +2 -2
- catalystwan/tests/templates/models/cisco_bfd.py +4 -6
- catalystwan/tests/templates/models/cisco_logging.py +65 -0
- catalystwan/tests/templates/models/cisco_ntp.py +17 -0
- catalystwan/tests/templates/models/cisco_omp.py +37 -0
- catalystwan/tests/templates/models/cisco_ospf.py +60 -0
- catalystwan/tests/templates/models/cisco_secure_internet_gateway.py +95 -0
- catalystwan/tests/templates/models/cisco_snmp.py +40 -0
- catalystwan/tests/templates/models/cisco_system.py +108 -3
- catalystwan/tests/templates/models/cisco_vpn.py +42 -72
- catalystwan/tests/templates/models/cisco_vpn_interface.py +200 -0
- catalystwan/tests/templates/models/omp_vsmart.py +28 -8
- catalystwan/tests/templates/models/security_vsmart.py +11 -0
- catalystwan/tests/templates/models/system_vsmart.py +37 -0
- catalystwan/tests/templates/models/vpn_vsmart.py +32 -0
- catalystwan/tests/templates/models/vpn_vsmart_interface.py +54 -0
- catalystwan/tests/templates/schemas/aaa.json +1096 -0
- catalystwan/tests/templates/schemas/cedge_aaa.json +1 -1
- catalystwan/tests/templates/schemas/cisco_logging.json +577 -0
- catalystwan/tests/templates/schemas/cisco_ntp.json +265 -0
- catalystwan/tests/templates/schemas/cisco_omp.json +479 -0
- catalystwan/tests/templates/schemas/cisco_ospf.json +908 -0
- catalystwan/tests/templates/schemas/cisco_secure_internet_gateway.json +1520 -0
- catalystwan/tests/templates/schemas/cisco_snmp.json +561 -0
- catalystwan/tests/templates/schemas/cisco_system.json +242 -0
- catalystwan/tests/templates/schemas/cisco_vpn.json +53 -1
- catalystwan/tests/templates/schemas/cisco_vpn_interface.json +3348 -0
- catalystwan/tests/templates/schemas/omp-vsmart.json +20 -0
- catalystwan/tests/templates/schemas/security-vsmart.json +58 -0
- catalystwan/tests/templates/schemas/system-vsmart.json +2585 -0
- catalystwan/tests/templates/schemas/vpn-vsmart-interface.json +859 -0
- catalystwan/tests/templates/schemas/vpn-vsmart.json +445 -0
- catalystwan/tests/templates/test_chose_model.py +6 -10
- catalystwan/tests/templates/test_deserialize_model.py +4 -4
- catalystwan/tests/templates/test_find_template_values.py +229 -0
- catalystwan/tests/templates/test_find_template_values_2.py +193 -0
- catalystwan/tests/templates/test_serialize_model.py +1 -2
- catalystwan/tests/test_cli_template.py +8 -9
- catalystwan/tests/test_endpoints.py +42 -11
- catalystwan/tests/test_feature_profile_api.py +282 -0
- catalystwan/tests/test_models_common.py +53 -0
- catalystwan/tests/test_templates.py +16 -19
- catalystwan/utils/feature_template/find_template_values.py +17 -4
- catalystwan/utils/model.py +45 -0
- catalystwan/utils/persona.py +5 -0
- catalystwan/utils/type_check.py +22 -0
- catalystwan/workflows/backup_restore_device_templates.py +467 -0
- catalystwan/workflows/tenant_migration.py +1 -1
- {catalystwan-0.41.2.dist-info → catalystwan-0.41.2.dev1.dist-info}/METADATA +20 -1
- catalystwan-0.41.2.dev1.dist-info/RECORD +636 -0
- catalystwan/ENDPOINTS.md +0 -611
- catalystwan/api/configuration_groups/parcels/cellular_controller.py +0 -33
- catalystwan/api/templates/device_template/device_template_payload.json.j2 +0 -19
- catalystwan/models/configuration/config_migration.py +0 -36
- catalystwan/models/configuration/feature_profile/sdwan/management/vpn.py +0 -26
- catalystwan/models/configuration/feature_profile/sdwan/service/acl.py +0 -409
- catalystwan/models/configuration/feature_profile/sdwan/service/bgp.py +0 -288
- catalystwan/models/policy/lists.py +0 -330
- catalystwan/models/policy/lists_entries.py +0 -444
- catalystwan/tests/templates/definitions/complex_aaa.json +0 -277
- catalystwan/tests/templates/definitions/omp_1.json +0 -11
- catalystwan/utils/timezone.py +0 -422
- catalystwan-0.41.2.dist-info/RECORD +0 -353
- /catalystwan/tests/templates/definitions/{banner_1.json → cisco_banner.json} +0 -0
- {catalystwan-0.41.2.dist-info → catalystwan-0.41.2.dev1.dist-info}/LICENSE +0 -0
- {catalystwan-0.41.2.dist-info → catalystwan-0.41.2.dev1.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Copyright 2024 Cisco Systems, Inc. and its affiliates
|
|
2
|
+
|
|
3
|
+
# mypy: disable-error-code="empty-body"
|
|
4
|
+
from uuid import UUID
|
|
5
|
+
|
|
6
|
+
from catalystwan.endpoints import APIEndpoints, delete, get, post, put
|
|
7
|
+
from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
|
|
8
|
+
from catalystwan.models.policy.definition.fxs_port import (
|
|
9
|
+
FxsPortPolicy,
|
|
10
|
+
FxsPortPolicyEditPayload,
|
|
11
|
+
FxsPortPolicyGetResponse,
|
|
12
|
+
)
|
|
13
|
+
from catalystwan.models.policy.policy_definition import (
|
|
14
|
+
PolicyDefinitionEditResponse,
|
|
15
|
+
PolicyDefinitionId,
|
|
16
|
+
PolicyDefinitionInfo,
|
|
17
|
+
PolicyDefinitionPreview,
|
|
18
|
+
)
|
|
19
|
+
from catalystwan.typed_list import DataSequence
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class ConfigurationPolicyFxsPortDefinition(APIEndpoints, PolicyDefinitionEndpoints):
|
|
23
|
+
@post("/template/policy/definition/fxsport")
|
|
24
|
+
def create_policy_definition(self, payload: FxsPortPolicy) -> PolicyDefinitionId:
|
|
25
|
+
...
|
|
26
|
+
|
|
27
|
+
@delete("/template/policy/definition/fxsport/{id}")
|
|
28
|
+
def delete_policy_definition(self, id: UUID) -> None:
|
|
29
|
+
...
|
|
30
|
+
|
|
31
|
+
def edit_multiple_policy_definition(self):
|
|
32
|
+
# PUT /template/policy/definition/fxsport/multiple/{id}
|
|
33
|
+
...
|
|
34
|
+
|
|
35
|
+
@put("/template/policy/definition/fxsport/{id}")
|
|
36
|
+
def edit_policy_definition(self, id: UUID, payload: FxsPortPolicyEditPayload) -> PolicyDefinitionEditResponse:
|
|
37
|
+
...
|
|
38
|
+
|
|
39
|
+
@get("/template/policy/definition/fxsport", "data")
|
|
40
|
+
def get_definitions(self) -> DataSequence[PolicyDefinitionInfo]:
|
|
41
|
+
...
|
|
42
|
+
|
|
43
|
+
@get("/template/policy/definition/fxsport/{id}")
|
|
44
|
+
def get_policy_definition(self, id: UUID) -> FxsPortPolicyGetResponse:
|
|
45
|
+
...
|
|
46
|
+
|
|
47
|
+
@post("/template/policy/definition/fxsport/preview")
|
|
48
|
+
def preview_policy_definition(self, payload: FxsPortPolicy) -> PolicyDefinitionPreview:
|
|
49
|
+
...
|
|
50
|
+
|
|
51
|
+
@get("/template/policy/definition/fxsport/preview/{id}")
|
|
52
|
+
def preview_policy_definition_by_id(self, id: UUID) -> PolicyDefinitionPreview:
|
|
53
|
+
...
|
|
54
|
+
|
|
55
|
+
def save_policy_definition_in_bulk(self):
|
|
56
|
+
# PUT /template/policy/definition/fxsport/bulk
|
|
57
|
+
...
|
|
@@ -4,11 +4,14 @@
|
|
|
4
4
|
from uuid import UUID
|
|
5
5
|
|
|
6
6
|
from catalystwan.endpoints import APIEndpoints, delete, get, post, put
|
|
7
|
-
from catalystwan.
|
|
7
|
+
from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
|
|
8
|
+
from catalystwan.models.policy.definition.hub_and_spoke import (
|
|
9
|
+
HubAndSpokePolicy,
|
|
10
|
+
HubAndSpokePolicyEditPayload,
|
|
11
|
+
HubAndSpokePolicyGetResponse,
|
|
12
|
+
)
|
|
8
13
|
from catalystwan.models.policy.policy_definition import (
|
|
9
14
|
PolicyDefinitionEditResponse,
|
|
10
|
-
PolicyDefinitionEndpoints,
|
|
11
|
-
PolicyDefinitionGetResponse,
|
|
12
15
|
PolicyDefinitionId,
|
|
13
16
|
PolicyDefinitionInfo,
|
|
14
17
|
PolicyDefinitionPreview,
|
|
@@ -16,14 +19,6 @@ from catalystwan.models.policy.policy_definition import (
|
|
|
16
19
|
from catalystwan.typed_list import DataSequence
|
|
17
20
|
|
|
18
21
|
|
|
19
|
-
class HubAndSpokePolicyEditPayload(HubAndSpokePolicy, PolicyDefinitionId):
|
|
20
|
-
pass
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
class HubAndSpokePolicyGetResponse(HubAndSpokePolicy, PolicyDefinitionGetResponse):
|
|
24
|
-
pass
|
|
25
|
-
|
|
26
|
-
|
|
27
22
|
class ConfigurationPolicyHubAndSpokeDefinition(APIEndpoints, PolicyDefinitionEndpoints):
|
|
28
23
|
@post("/template/policy/definition/hubandspoke")
|
|
29
24
|
def create_policy_definition(self, payload: HubAndSpokePolicy) -> PolicyDefinitionId:
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Copyright 2024 Cisco Systems, Inc. and its affiliates
|
|
2
|
+
|
|
3
|
+
# mypy: disable-error-code="empty-body"
|
|
4
|
+
|
|
5
|
+
from uuid import UUID
|
|
6
|
+
|
|
7
|
+
from catalystwan.endpoints import APIEndpoints, delete, get, post, put
|
|
8
|
+
from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
|
|
9
|
+
from catalystwan.models.policy.definition.intrusion_prevention import (
|
|
10
|
+
IntrusionPreventionPolicy,
|
|
11
|
+
IntrusionPreventionPolicyEditPayload,
|
|
12
|
+
IntrusionPreventionPolicyGetResponse,
|
|
13
|
+
)
|
|
14
|
+
from catalystwan.models.policy.policy_definition import (
|
|
15
|
+
PolicyDefinitionEditResponse,
|
|
16
|
+
PolicyDefinitionId,
|
|
17
|
+
PolicyDefinitionInfo,
|
|
18
|
+
PolicyDefinitionPreview,
|
|
19
|
+
)
|
|
20
|
+
from catalystwan.typed_list import DataSequence
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class ConfigurationPolicyIntrusionPreventionDefinition(APIEndpoints, PolicyDefinitionEndpoints):
|
|
24
|
+
@post("/template/policy/definition/intrusionprevention")
|
|
25
|
+
def create_policy_definition(self, payload: IntrusionPreventionPolicy) -> PolicyDefinitionId:
|
|
26
|
+
...
|
|
27
|
+
|
|
28
|
+
@delete("/template/policy/definition/intrusionprevention/{id}")
|
|
29
|
+
def delete_policy_definition(self, id: UUID) -> None:
|
|
30
|
+
...
|
|
31
|
+
|
|
32
|
+
@put("/template/policy/definition/intrusionprevention/{id}")
|
|
33
|
+
def edit_policy_definition(
|
|
34
|
+
self, id: UUID, payload: IntrusionPreventionPolicyEditPayload
|
|
35
|
+
) -> PolicyDefinitionEditResponse:
|
|
36
|
+
...
|
|
37
|
+
|
|
38
|
+
@get("/template/policy/definition/intrusionprevention", "data")
|
|
39
|
+
def get_definitions(self) -> DataSequence[PolicyDefinitionInfo]:
|
|
40
|
+
...
|
|
41
|
+
|
|
42
|
+
@get("/template/policy/definition/intrusionprevention/{id}")
|
|
43
|
+
def get_policy_definition(self, id: UUID) -> IntrusionPreventionPolicyGetResponse:
|
|
44
|
+
...
|
|
45
|
+
|
|
46
|
+
@post("/template/policy/definition/intrusionprevention/preview")
|
|
47
|
+
def preview_policy_definition(self, payload: IntrusionPreventionPolicy) -> PolicyDefinitionPreview:
|
|
48
|
+
...
|
|
49
|
+
|
|
50
|
+
@get("/template/policy/definition/intrusionprevention/preview/{id}")
|
|
51
|
+
def preview_policy_definition_by_id(self, id: UUID) -> PolicyDefinitionPreview:
|
|
52
|
+
...
|
|
@@ -4,11 +4,10 @@
|
|
|
4
4
|
from uuid import UUID
|
|
5
5
|
|
|
6
6
|
from catalystwan.endpoints import APIEndpoints, delete, get, post, put
|
|
7
|
-
from catalystwan.
|
|
7
|
+
from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
|
|
8
|
+
from catalystwan.models.policy.definition.mesh import MeshPolicy, MeshPolicyEditPayload, MeshPolicyGetResponse
|
|
8
9
|
from catalystwan.models.policy.policy_definition import (
|
|
9
10
|
PolicyDefinitionEditResponse,
|
|
10
|
-
PolicyDefinitionEndpoints,
|
|
11
|
-
PolicyDefinitionGetResponse,
|
|
12
11
|
PolicyDefinitionId,
|
|
13
12
|
PolicyDefinitionInfo,
|
|
14
13
|
PolicyDefinitionPreview,
|
|
@@ -16,14 +15,6 @@ from catalystwan.models.policy.policy_definition import (
|
|
|
16
15
|
from catalystwan.typed_list import DataSequence
|
|
17
16
|
|
|
18
17
|
|
|
19
|
-
class MeshPolicyEditPayload(MeshPolicy, PolicyDefinitionId):
|
|
20
|
-
pass
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
class MeshPolicyGetResponse(MeshPolicy, PolicyDefinitionGetResponse):
|
|
24
|
-
pass
|
|
25
|
-
|
|
26
|
-
|
|
27
18
|
class ConfigurationPolicyMeshDefinition(APIEndpoints, PolicyDefinitionEndpoints):
|
|
28
19
|
@post("/template/policy/definition/mesh")
|
|
29
20
|
def create_policy_definition(self, payload: MeshPolicy) -> PolicyDefinitionId:
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Copyright 2024 Cisco Systems, Inc. and its affiliates
|
|
2
|
+
|
|
3
|
+
# mypy: disable-error-code="empty-body"
|
|
4
|
+
from uuid import UUID
|
|
5
|
+
|
|
6
|
+
from catalystwan.endpoints import APIEndpoints, delete, get, post, put
|
|
7
|
+
from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
|
|
8
|
+
from catalystwan.models.policy.definition.pri_isdn_port import (
|
|
9
|
+
PriIsdnPortPolicy,
|
|
10
|
+
PriIsdnPortPolicyEditPayload,
|
|
11
|
+
PriIsdnPortPolicyGetResponse,
|
|
12
|
+
)
|
|
13
|
+
from catalystwan.models.policy.policy_definition import (
|
|
14
|
+
PolicyDefinitionEditResponse,
|
|
15
|
+
PolicyDefinitionId,
|
|
16
|
+
PolicyDefinitionInfo,
|
|
17
|
+
PolicyDefinitionPreview,
|
|
18
|
+
)
|
|
19
|
+
from catalystwan.typed_list import DataSequence
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class ConfigurationPolicyPriIsdnPortDefinition(APIEndpoints, PolicyDefinitionEndpoints):
|
|
23
|
+
@post("/template/policy/definition/priisdnport")
|
|
24
|
+
def create_policy_definition(self, payload: PriIsdnPortPolicy) -> PolicyDefinitionId:
|
|
25
|
+
...
|
|
26
|
+
|
|
27
|
+
@delete("/template/policy/definition/priisdnport/{id}")
|
|
28
|
+
def delete_policy_definition(self, id: UUID) -> None:
|
|
29
|
+
...
|
|
30
|
+
|
|
31
|
+
def edit_multiple_policy_definition(self):
|
|
32
|
+
# PUT /template/policy/definition/priisdnport/multiple/{id}
|
|
33
|
+
...
|
|
34
|
+
|
|
35
|
+
@put("/template/policy/definition/priisdnport/{id}")
|
|
36
|
+
def edit_policy_definition(self, id: UUID, payload: PriIsdnPortPolicyEditPayload) -> PolicyDefinitionEditResponse:
|
|
37
|
+
...
|
|
38
|
+
|
|
39
|
+
@get("/template/policy/definition/priisdnport", "data")
|
|
40
|
+
def get_definitions(self) -> DataSequence[PolicyDefinitionInfo]:
|
|
41
|
+
...
|
|
42
|
+
|
|
43
|
+
@get("/template/policy/definition/priisdnport/{id}")
|
|
44
|
+
def get_policy_definition(self, id: UUID) -> PriIsdnPortPolicyGetResponse:
|
|
45
|
+
...
|
|
46
|
+
|
|
47
|
+
@post("/template/policy/definition/priisdnport/preview")
|
|
48
|
+
def preview_policy_definition(self, payload: PriIsdnPortPolicy) -> PolicyDefinitionPreview:
|
|
49
|
+
...
|
|
50
|
+
|
|
51
|
+
@get("/template/policy/definition/priisdnport/preview/{id}")
|
|
52
|
+
def preview_policy_definition_by_id(self, id: UUID) -> PolicyDefinitionPreview:
|
|
53
|
+
...
|
|
54
|
+
|
|
55
|
+
def save_policy_definition_in_bulk(self):
|
|
56
|
+
# PUT /template/policy/definition/priisdnport/bulk
|
|
57
|
+
...
|
|
@@ -4,11 +4,10 @@
|
|
|
4
4
|
from uuid import UUID
|
|
5
5
|
|
|
6
6
|
from catalystwan.endpoints import APIEndpoints, delete, get, post, put
|
|
7
|
-
from catalystwan.
|
|
7
|
+
from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
|
|
8
|
+
from catalystwan.models.policy.definition.qos_map import QoSMapPolicy, QoSMapPolicyEditPayload, QoSMapPolicyGetResponse
|
|
8
9
|
from catalystwan.models.policy.policy_definition import (
|
|
9
10
|
PolicyDefinitionEditResponse,
|
|
10
|
-
PolicyDefinitionEndpoints,
|
|
11
|
-
PolicyDefinitionGetResponse,
|
|
12
11
|
PolicyDefinitionId,
|
|
13
12
|
PolicyDefinitionInfo,
|
|
14
13
|
PolicyDefinitionPreview,
|
|
@@ -16,14 +15,6 @@ from catalystwan.models.policy.policy_definition import (
|
|
|
16
15
|
from catalystwan.typed_list import DataSequence
|
|
17
16
|
|
|
18
17
|
|
|
19
|
-
class QoSMapPolicyEditPayload(QoSMapPolicy, PolicyDefinitionId):
|
|
20
|
-
pass
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
class QoSMapPolicyGetResponse(QoSMapPolicy, PolicyDefinitionGetResponse):
|
|
24
|
-
pass
|
|
25
|
-
|
|
26
|
-
|
|
27
18
|
class ConfigurationPolicyQoSMapDefinition(APIEndpoints, PolicyDefinitionEndpoints):
|
|
28
19
|
@post("/template/policy/definition/qosmap")
|
|
29
20
|
def create_policy_definition(self, payload: QoSMapPolicy) -> PolicyDefinitionId:
|
|
@@ -4,11 +4,14 @@
|
|
|
4
4
|
from uuid import UUID
|
|
5
5
|
|
|
6
6
|
from catalystwan.endpoints import APIEndpoints, delete, get, post, put
|
|
7
|
-
from catalystwan.
|
|
7
|
+
from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
|
|
8
|
+
from catalystwan.models.policy.definition.rewrite import (
|
|
9
|
+
RewritePolicy,
|
|
10
|
+
RewritePolicyEditPayload,
|
|
11
|
+
RewritePolicyGetResponse,
|
|
12
|
+
)
|
|
8
13
|
from catalystwan.models.policy.policy_definition import (
|
|
9
14
|
PolicyDefinitionEditResponse,
|
|
10
|
-
PolicyDefinitionEndpoints,
|
|
11
|
-
PolicyDefinitionGetResponse,
|
|
12
15
|
PolicyDefinitionId,
|
|
13
16
|
PolicyDefinitionInfo,
|
|
14
17
|
PolicyDefinitionPreview,
|
|
@@ -16,14 +19,6 @@ from catalystwan.models.policy.policy_definition import (
|
|
|
16
19
|
from catalystwan.typed_list import DataSequence
|
|
17
20
|
|
|
18
21
|
|
|
19
|
-
class RewritePolicyEditPayload(RewritePolicy, PolicyDefinitionId):
|
|
20
|
-
pass
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
class RewritePolicyGetResponse(RewritePolicy, PolicyDefinitionGetResponse):
|
|
24
|
-
pass
|
|
25
|
-
|
|
26
|
-
|
|
27
22
|
class ConfigurationPolicyRewriteRuleDefinition(APIEndpoints, PolicyDefinitionEndpoints):
|
|
28
23
|
@post("/template/policy/definition/rewriterule")
|
|
29
24
|
def create_policy_definition(self, payload: RewritePolicy) -> PolicyDefinitionId:
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Copyright 2024 Cisco Systems, Inc. and its affiliates
|
|
2
|
+
|
|
3
|
+
# mypy: disable-error-code="empty-body"
|
|
4
|
+
|
|
5
|
+
from uuid import UUID
|
|
6
|
+
|
|
7
|
+
from catalystwan.endpoints import APIEndpoints, delete, get, post, put
|
|
8
|
+
from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
|
|
9
|
+
from catalystwan.models.policy.definition.route_policy import (
|
|
10
|
+
RoutePolicy,
|
|
11
|
+
RoutePolicyEditPayload,
|
|
12
|
+
RoutePolicyGetResponse,
|
|
13
|
+
)
|
|
14
|
+
from catalystwan.models.policy.policy_definition import (
|
|
15
|
+
PolicyDefinitionEditResponse,
|
|
16
|
+
PolicyDefinitionId,
|
|
17
|
+
PolicyDefinitionInfo,
|
|
18
|
+
PolicyDefinitionPreview,
|
|
19
|
+
)
|
|
20
|
+
from catalystwan.typed_list import DataSequence
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class ConfigurationPolicyRouteDefinition(APIEndpoints, PolicyDefinitionEndpoints):
|
|
24
|
+
@post("/template/policy/definition/vedgeroute")
|
|
25
|
+
def create_policy_definition(self, payload: RoutePolicy) -> PolicyDefinitionId:
|
|
26
|
+
...
|
|
27
|
+
|
|
28
|
+
@delete("/template/policy/definition/vedgeroute/{id}")
|
|
29
|
+
def delete_policy_definition(self, id: UUID) -> None:
|
|
30
|
+
...
|
|
31
|
+
|
|
32
|
+
@put("/template/policy/definition/vedgeroute/{id}")
|
|
33
|
+
def edit_policy_definition(self, id: UUID, payload: RoutePolicyEditPayload) -> PolicyDefinitionEditResponse:
|
|
34
|
+
...
|
|
35
|
+
|
|
36
|
+
@get("/template/policy/definition/vedgeroute", "data")
|
|
37
|
+
def get_definitions(self) -> DataSequence[PolicyDefinitionInfo]:
|
|
38
|
+
...
|
|
39
|
+
|
|
40
|
+
@get("/template/policy/definition/vedgeroute/{id}")
|
|
41
|
+
def get_policy_definition(self, id: UUID) -> RoutePolicyGetResponse:
|
|
42
|
+
...
|
|
43
|
+
|
|
44
|
+
@post("/template/policy/definition/vedgeroute/preview")
|
|
45
|
+
def preview_policy_definition(self, payload: RoutePolicy) -> PolicyDefinitionPreview:
|
|
46
|
+
...
|
|
47
|
+
|
|
48
|
+
@get("/template/policy/definition/vedgeroute/preview/{id}")
|
|
49
|
+
def preview_policy_definition_by_id(self, id: UUID) -> PolicyDefinitionPreview:
|
|
50
|
+
...
|
|
@@ -4,11 +4,10 @@
|
|
|
4
4
|
from uuid import UUID
|
|
5
5
|
|
|
6
6
|
from catalystwan.endpoints import APIEndpoints, delete, get, post, put
|
|
7
|
-
from catalystwan.
|
|
7
|
+
from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
|
|
8
|
+
from catalystwan.models.policy.definition.rule_set import RuleSet, RuleSetEditPayload, RuleSetGetResponse
|
|
8
9
|
from catalystwan.models.policy.policy_definition import (
|
|
9
10
|
PolicyDefinitionEditResponse,
|
|
10
|
-
PolicyDefinitionEndpoints,
|
|
11
|
-
PolicyDefinitionGetResponse,
|
|
12
11
|
PolicyDefinitionId,
|
|
13
12
|
PolicyDefinitionInfo,
|
|
14
13
|
PolicyDefinitionPreview,
|
|
@@ -16,14 +15,6 @@ from catalystwan.models.policy.policy_definition import (
|
|
|
16
15
|
from catalystwan.typed_list import DataSequence
|
|
17
16
|
|
|
18
17
|
|
|
19
|
-
class RuleSetEditPayload(RuleSet, PolicyDefinitionId):
|
|
20
|
-
pass
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
class RuleSetGetResponse(RuleSet, PolicyDefinitionGetResponse):
|
|
24
|
-
pass
|
|
25
|
-
|
|
26
|
-
|
|
27
18
|
class ConfigurationPolicyRuleSetDefinition(APIEndpoints, PolicyDefinitionEndpoints):
|
|
28
19
|
@post("/template/policy/definition/ruleset")
|
|
29
20
|
def create_policy_definition(self, payload: RuleSet) -> PolicyDefinitionId:
|
|
@@ -4,11 +4,14 @@
|
|
|
4
4
|
from uuid import UUID
|
|
5
5
|
|
|
6
6
|
from catalystwan.endpoints import APIEndpoints, delete, get, post, put
|
|
7
|
-
from catalystwan.
|
|
7
|
+
from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
|
|
8
|
+
from catalystwan.models.policy.definition.security_group import (
|
|
9
|
+
SecurityGroup,
|
|
10
|
+
SecurityGroupEditPayload,
|
|
11
|
+
SecurityGroupGetResponse,
|
|
12
|
+
)
|
|
8
13
|
from catalystwan.models.policy.policy_definition import (
|
|
9
14
|
PolicyDefinitionEditResponse,
|
|
10
|
-
PolicyDefinitionEndpoints,
|
|
11
|
-
PolicyDefinitionGetResponse,
|
|
12
15
|
PolicyDefinitionId,
|
|
13
16
|
PolicyDefinitionInfo,
|
|
14
17
|
PolicyDefinitionPreview,
|
|
@@ -16,14 +19,6 @@ from catalystwan.models.policy.policy_definition import (
|
|
|
16
19
|
from catalystwan.typed_list import DataSequence
|
|
17
20
|
|
|
18
21
|
|
|
19
|
-
class SecurityGroupEditPayload(SecurityGroup, PolicyDefinitionId):
|
|
20
|
-
pass
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
class SecurityGroupGetResponse(SecurityGroup, PolicyDefinitionGetResponse):
|
|
24
|
-
pass
|
|
25
|
-
|
|
26
|
-
|
|
27
22
|
class ConfigurationPolicySecurityGroupDefinition(APIEndpoints, PolicyDefinitionEndpoints):
|
|
28
23
|
@post("/template/policy/definition/securitygroup")
|
|
29
24
|
def create_policy_definition(self, payload: SecurityGroup) -> PolicyDefinitionId:
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Copyright 2024 Cisco Systems, Inc. and its affiliates
|
|
2
|
+
|
|
3
|
+
# mypy: disable-error-code="empty-body"
|
|
4
|
+
from uuid import UUID
|
|
5
|
+
|
|
6
|
+
from catalystwan.endpoints import APIEndpoints, delete, get, post, put
|
|
7
|
+
from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
|
|
8
|
+
from catalystwan.models.policy.definition.srst_phone_profile import (
|
|
9
|
+
SrstPhoneProfilePolicy,
|
|
10
|
+
SrstPhoneProfilePolicyEditPayload,
|
|
11
|
+
SrstPhoneProfilePolicyGetResponse,
|
|
12
|
+
)
|
|
13
|
+
from catalystwan.models.policy.policy_definition import (
|
|
14
|
+
PolicyDefinitionEditResponse,
|
|
15
|
+
PolicyDefinitionId,
|
|
16
|
+
PolicyDefinitionInfo,
|
|
17
|
+
PolicyDefinitionPreview,
|
|
18
|
+
)
|
|
19
|
+
from catalystwan.typed_list import DataSequence
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class ConfigurationPolicySrstPhoneProfileDefinition(APIEndpoints, PolicyDefinitionEndpoints):
|
|
23
|
+
@post("/template/policy/definition/srstphoneprofile")
|
|
24
|
+
def create_policy_definition(self, payload: SrstPhoneProfilePolicy) -> PolicyDefinitionId:
|
|
25
|
+
...
|
|
26
|
+
|
|
27
|
+
@delete("/template/policy/definition/srstphoneprofile/{id}")
|
|
28
|
+
def delete_policy_definition(self, id: UUID) -> None:
|
|
29
|
+
...
|
|
30
|
+
|
|
31
|
+
def edit_multiple_policy_definition(self):
|
|
32
|
+
# PUT /template/policy/definition/srstphoneprofile/multiple/{id}
|
|
33
|
+
...
|
|
34
|
+
|
|
35
|
+
@put("/template/policy/definition/srstphoneprofile/{id}")
|
|
36
|
+
def edit_policy_definition(
|
|
37
|
+
self, id: UUID, payload: SrstPhoneProfilePolicyEditPayload
|
|
38
|
+
) -> PolicyDefinitionEditResponse:
|
|
39
|
+
...
|
|
40
|
+
|
|
41
|
+
@get("/template/policy/definition/srstphoneprofile", "data")
|
|
42
|
+
def get_definitions(self) -> DataSequence[PolicyDefinitionInfo]:
|
|
43
|
+
...
|
|
44
|
+
|
|
45
|
+
@get("/template/policy/definition/srstphoneprofile/{id}")
|
|
46
|
+
def get_policy_definition(self, id: UUID) -> SrstPhoneProfilePolicyGetResponse:
|
|
47
|
+
...
|
|
48
|
+
|
|
49
|
+
@post("/template/policy/definition/srstphoneprofile/preview")
|
|
50
|
+
def preview_policy_definition(self, payload: SrstPhoneProfilePolicy) -> PolicyDefinitionPreview:
|
|
51
|
+
...
|
|
52
|
+
|
|
53
|
+
@get("/template/policy/definition/srstphoneprofile/preview/{id}")
|
|
54
|
+
def preview_policy_definition_by_id(self, id: UUID) -> PolicyDefinitionPreview:
|
|
55
|
+
...
|
|
56
|
+
|
|
57
|
+
def save_policy_definition_in_bulk(self):
|
|
58
|
+
# PUT /template/policy/definition/srstphoneprofile/bulk
|
|
59
|
+
...
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Copyright 2024 Cisco Systems, Inc. and its affiliates
|
|
2
|
+
|
|
3
|
+
# mypy: disable-error-code="empty-body"
|
|
4
|
+
|
|
5
|
+
from uuid import UUID
|
|
6
|
+
|
|
7
|
+
from catalystwan.endpoints import APIEndpoints, delete, get, post, put
|
|
8
|
+
from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
|
|
9
|
+
from catalystwan.models.policy.definition.ssl_decryption import (
|
|
10
|
+
SslDecryptionPolicy,
|
|
11
|
+
SslDecryptionPolicyEditPayload,
|
|
12
|
+
SslDecryptionPolicyGetResponse,
|
|
13
|
+
)
|
|
14
|
+
from catalystwan.models.policy.policy_definition import (
|
|
15
|
+
PolicyDefinitionEditResponse,
|
|
16
|
+
PolicyDefinitionId,
|
|
17
|
+
PolicyDefinitionInfo,
|
|
18
|
+
PolicyDefinitionPreview,
|
|
19
|
+
)
|
|
20
|
+
from catalystwan.typed_list import DataSequence
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class ConfigurationSslDecryptionDefinition(APIEndpoints, PolicyDefinitionEndpoints):
|
|
24
|
+
@post("/template/policy/definition/ssldecryption")
|
|
25
|
+
def create_policy_definition(self, payload: SslDecryptionPolicy) -> PolicyDefinitionId:
|
|
26
|
+
...
|
|
27
|
+
|
|
28
|
+
@delete("/template/policy/definition/ssldecryption/{id}")
|
|
29
|
+
def delete_policy_definition(self, id: UUID) -> None:
|
|
30
|
+
...
|
|
31
|
+
|
|
32
|
+
@put("/template/policy/definition/ssldecryption/{id}")
|
|
33
|
+
def edit_policy_definition(self, id: UUID, payload: SslDecryptionPolicyEditPayload) -> PolicyDefinitionEditResponse:
|
|
34
|
+
...
|
|
35
|
+
|
|
36
|
+
@get("/template/policy/definition/ssldecryption", "data")
|
|
37
|
+
def get_definitions(self) -> DataSequence[PolicyDefinitionInfo]:
|
|
38
|
+
...
|
|
39
|
+
|
|
40
|
+
@get("/template/policy/definition/ssldecryption/{id}")
|
|
41
|
+
def get_policy_definition(self, id: UUID) -> SslDecryptionPolicyGetResponse:
|
|
42
|
+
...
|
|
43
|
+
|
|
44
|
+
@post("/template/policy/definition/ssldecryption/preview")
|
|
45
|
+
def preview_policy_definition(self, payload: SslDecryptionPolicy) -> PolicyDefinitionPreview:
|
|
46
|
+
...
|
|
47
|
+
|
|
48
|
+
@get("/template/policy/definition/ssldecryption/preview/{id}")
|
|
49
|
+
def preview_policy_definition_by_id(self, id: UUID) -> PolicyDefinitionPreview:
|
|
50
|
+
...
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Copyright 2024 Cisco Systems, Inc. and its affiliates
|
|
2
|
+
|
|
3
|
+
# mypy: disable-error-code="empty-body"
|
|
4
|
+
|
|
5
|
+
from uuid import UUID
|
|
6
|
+
|
|
7
|
+
from catalystwan.endpoints import APIEndpoints, delete, get, post, put
|
|
8
|
+
from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
|
|
9
|
+
from catalystwan.models.policy.definition.ssl_decryption_utd_profile import (
|
|
10
|
+
SslDecryptionUtdProfilePolicy,
|
|
11
|
+
SslDecryptionUtdProfilePolicyEditPayload,
|
|
12
|
+
SslDecryptionUtdProfilePolicyGetResponse,
|
|
13
|
+
)
|
|
14
|
+
from catalystwan.models.policy.policy_definition import (
|
|
15
|
+
PolicyDefinitionEditResponse,
|
|
16
|
+
PolicyDefinitionId,
|
|
17
|
+
PolicyDefinitionInfo,
|
|
18
|
+
PolicyDefinitionPreview,
|
|
19
|
+
)
|
|
20
|
+
from catalystwan.typed_list import DataSequence
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class ConfigurationSslDecryptionUtdProfileDefinition(APIEndpoints, PolicyDefinitionEndpoints):
|
|
24
|
+
@post("/template/policy/definition/sslutdprofile")
|
|
25
|
+
def create_policy_definition(self, payload: SslDecryptionUtdProfilePolicy) -> PolicyDefinitionId:
|
|
26
|
+
...
|
|
27
|
+
|
|
28
|
+
@delete("/template/policy/definition/sslutdprofile/{id}")
|
|
29
|
+
def delete_policy_definition(self, id: UUID) -> None:
|
|
30
|
+
...
|
|
31
|
+
|
|
32
|
+
@put("/template/policy/definition/sslutdprofile/{id}")
|
|
33
|
+
def edit_policy_definition(
|
|
34
|
+
self, id: UUID, payload: SslDecryptionUtdProfilePolicyEditPayload
|
|
35
|
+
) -> PolicyDefinitionEditResponse:
|
|
36
|
+
...
|
|
37
|
+
|
|
38
|
+
@get("/template/policy/definition/sslutdprofile", "data")
|
|
39
|
+
def get_definitions(self) -> DataSequence[PolicyDefinitionInfo]:
|
|
40
|
+
...
|
|
41
|
+
|
|
42
|
+
@get("/template/policy/definition/sslutdprofile/{id}")
|
|
43
|
+
def get_policy_definition(self, id: UUID) -> SslDecryptionUtdProfilePolicyGetResponse:
|
|
44
|
+
...
|
|
45
|
+
|
|
46
|
+
@post("/template/policy/definition/sslutdprofile/preview")
|
|
47
|
+
def preview_policy_definition(self, payload: SslDecryptionUtdProfilePolicy) -> PolicyDefinitionPreview:
|
|
48
|
+
...
|
|
49
|
+
|
|
50
|
+
@get("/template/policy/definition/sslutdprofile/preview/{id}")
|
|
51
|
+
def preview_policy_definition_by_id(self, id: UUID) -> PolicyDefinitionPreview:
|
|
52
|
+
...
|
|
@@ -5,11 +5,14 @@
|
|
|
5
5
|
from uuid import UUID
|
|
6
6
|
|
|
7
7
|
from catalystwan.endpoints import APIEndpoints, delete, get, post, put
|
|
8
|
-
from catalystwan.
|
|
8
|
+
from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
|
|
9
|
+
from catalystwan.models.policy.definition.traffic_data import (
|
|
10
|
+
TrafficDataPolicy,
|
|
11
|
+
TrafficDataPolicyEditPayload,
|
|
12
|
+
TrafficDataPolicyGetResponse,
|
|
13
|
+
)
|
|
9
14
|
from catalystwan.models.policy.policy_definition import (
|
|
10
15
|
PolicyDefinitionEditResponse,
|
|
11
|
-
PolicyDefinitionEndpoints,
|
|
12
|
-
PolicyDefinitionGetResponse,
|
|
13
16
|
PolicyDefinitionId,
|
|
14
17
|
PolicyDefinitionInfo,
|
|
15
18
|
PolicyDefinitionPreview,
|
|
@@ -17,14 +20,6 @@ from catalystwan.models.policy.policy_definition import (
|
|
|
17
20
|
from catalystwan.typed_list import DataSequence
|
|
18
21
|
|
|
19
22
|
|
|
20
|
-
class TrafficDataPolicyEditPayload(TrafficDataPolicy, PolicyDefinitionId):
|
|
21
|
-
pass
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
class TrafficDataPolicyGetResponse(TrafficDataPolicy, PolicyDefinitionGetResponse):
|
|
25
|
-
pass
|
|
26
|
-
|
|
27
|
-
|
|
28
23
|
class ConfigurationPolicyDataDefinition(APIEndpoints, PolicyDefinitionEndpoints):
|
|
29
24
|
@post("/template/policy/definition/data")
|
|
30
25
|
def create_policy_definition(self, payload: TrafficDataPolicy) -> PolicyDefinitionId:
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Copyright 2024 Cisco Systems, Inc. and its affiliates
|
|
2
|
+
|
|
3
|
+
# mypy: disable-error-code="empty-body"
|
|
4
|
+
|
|
5
|
+
from uuid import UUID
|
|
6
|
+
|
|
7
|
+
from catalystwan.endpoints import APIEndpoints, delete, get, post, put
|
|
8
|
+
from catalystwan.endpoints.configuration.policy.abstractions import PolicyDefinitionEndpoints
|
|
9
|
+
from catalystwan.models.policy.definition.url_filtering import (
|
|
10
|
+
UrlFilteringPolicy,
|
|
11
|
+
UrlFilteringPolicyEditPayload,
|
|
12
|
+
UrlFilteringPolicyGetResponse,
|
|
13
|
+
)
|
|
14
|
+
from catalystwan.models.policy.policy_definition import (
|
|
15
|
+
PolicyDefinitionEditResponse,
|
|
16
|
+
PolicyDefinitionId,
|
|
17
|
+
PolicyDefinitionInfo,
|
|
18
|
+
PolicyDefinitionPreview,
|
|
19
|
+
)
|
|
20
|
+
from catalystwan.typed_list import DataSequence
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class ConfigurationPolicyUrlFilteringDefinition(APIEndpoints, PolicyDefinitionEndpoints):
|
|
24
|
+
@post("/template/policy/definition/urlfiltering")
|
|
25
|
+
def create_policy_definition(self, payload: UrlFilteringPolicy) -> PolicyDefinitionId:
|
|
26
|
+
...
|
|
27
|
+
|
|
28
|
+
@delete("/template/policy/definition/urlfiltering/{id}")
|
|
29
|
+
def delete_policy_definition(self, id: UUID) -> None:
|
|
30
|
+
...
|
|
31
|
+
|
|
32
|
+
@put("/template/policy/definition/urlfiltering/{id}")
|
|
33
|
+
def edit_policy_definition(self, id: UUID, payload: UrlFilteringPolicyEditPayload) -> PolicyDefinitionEditResponse:
|
|
34
|
+
...
|
|
35
|
+
|
|
36
|
+
@get("/template/policy/definition/urlfiltering", "data")
|
|
37
|
+
def get_definitions(self) -> DataSequence[PolicyDefinitionInfo]:
|
|
38
|
+
...
|
|
39
|
+
|
|
40
|
+
@get("/template/policy/definition/urlfiltering/{id}")
|
|
41
|
+
def get_policy_definition(self, id: UUID) -> UrlFilteringPolicyGetResponse:
|
|
42
|
+
...
|
|
43
|
+
|
|
44
|
+
@post("/template/policy/definition/urlfiltering/preview")
|
|
45
|
+
def preview_policy_definition(self, payload: UrlFilteringPolicy) -> PolicyDefinitionPreview:
|
|
46
|
+
...
|
|
47
|
+
|
|
48
|
+
@get("/template/policy/definition/urlfiltering/preview/{id}")
|
|
49
|
+
def preview_policy_definition_by_id(self, id: UUID) -> PolicyDefinitionPreview:
|
|
50
|
+
...
|