|
| 1 | +0.15.2-a1 -- 2022-07-29 |
| 2 | +----------------------- |
| 3 | + |
| 4 | + |
| 5 | +🚀 Features |
| 6 | +~~~~~~~~~~~~~ |
| 7 | + |
| 8 | +- New code example: **upload security policy** - Upload Firewall |
| 9 | + Security Policies to an appliance or create a new Template Group to |
| 10 | + be assigned to appliances |
| 11 | + |
| 12 | + - Overview: :doc:`/examples/upload_security_policy` |
| 13 | + - Code: `upload_security_policy <https://github.com/SPOpenSource/edgeconnect-python/tree/main/examples/upload_security_policy>`_ |
| 14 | + |
| 15 | +- Updated logging messages (when using ``log_console`` and ``log_file`` |
| 16 | + parameters for EdgeConnect and Orchestrator) to include base Orch FQDN |
| 17 | + or ECOS FQDN to be clear when logging statements across different |
| 18 | + instances in a single script. |
| 19 | + |
| 20 | + |
| 21 | +Added the following EdgeConnect functions from Swagger: |
| 22 | + |
| 23 | +from .ecos._alarm |
| 24 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_alarms` |
| 25 | + - :func:`~pyedgeconnect.EdgeConnect.acknowledge_appliance_alarms` |
| 26 | + - :func:`~pyedgeconnect.EdgeConnect.clear_appliance_alarms` |
| 27 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_alarm_descriptions` |
| 28 | + - :func:`~pyedgeconnect.EdgeConnect.add_note_appliance_alarms` |
| 29 | + - :func:`~pyedgeconnect.EdgeConnect.delete_appliance_alarms` |
| 30 | + |
| 31 | +from .ecos._bonded_tunnel |
| 32 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_bonded_tunnels_state` |
| 33 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_multiple_bonded_tunnels_state` |
| 34 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_all_bonded_tunnel_ids` |
| 35 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_bonded_tunnel_aliases` |
| 36 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_bonded_tunnels_config` |
| 37 | + - :func:`~pyedgeconnect.EdgeConnect.configure_appliance_all_bonded_tunnels` |
| 38 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_single_bonded_tunnel_config` |
| 39 | + - :func:`~pyedgeconnect.EdgeConnect.delete_appliance_single_bonded_tunnel` |
| 40 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_multiple_bonded_tunnels_config` |
| 41 | + - :func:`~pyedgeconnect.EdgeConnect.delete_appliance_multiple_bonded_tunnels` |
| 42 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_bonded_tunnel_live_view_info` |
| 43 | + |
| 44 | +from .ecos._cli |
| 45 | + - :func:`~pyedgeconnect.EdgeConnect.perform_appliance_cli_command` |
| 46 | + - :func:`~pyedgeconnect.EdgeConnect.perform_appliance_multiple_cli_command` |
| 47 | + |
| 48 | +from .ecos._deployment |
| 49 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_deployment` |
| 50 | + |
| 51 | +from .ecos._local_subnets |
| 52 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_subnets` |
| 53 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_subnets_all_vrfs` |
| 54 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_subnets_single_vrf` |
| 55 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_locally_configured_subnets` |
| 56 | + - :func:`~pyedgeconnect.EdgeConnect.update_appliance_all_locally_configured_subnets` |
| 57 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_locally_configured_subnets_single_vrf` |
| 58 | + - :func:`~pyedgeconnect.EdgeConnect.update_appliance_all_locally_configured_subnets_single_vrf` |
| 59 | + - :func:`~pyedgeconnect.EdgeConnect.add_appliance_locally_configured_routes` |
| 60 | + - :func:`~pyedgeconnect.EdgeConnect.delete_appliance_locally_configured_routes` |
| 61 | + - :func:`~pyedgeconnect.EdgeConnect.appliance_find_preferred_route` |
| 62 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_routing_peers_info` |
| 63 | + |
| 64 | +from .ecos._peers |
| 65 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_peers` |
| 66 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_peers_ec_only` |
| 67 | + |
| 68 | +from .ecos._security_maps |
| 69 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_security_policies` |
| 70 | + - :func:`~pyedgeconnect.EdgeConnect.configure_appliance_security_policies` |
| 71 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_security_policy_map` |
| 72 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_security_policy_zone_pair` |
| 73 | + - :func:`~pyedgeconnect.EdgeConnect.delete_appliance_security_policy_zone_pair` |
| 74 | + - :func:`~pyedgeconnect.EdgeConnect.delete_appliance_security_policy_rule` |
| 75 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_security_policy_settings` |
| 76 | + - :func:`~pyedgeconnect.EdgeConnect.set_appliance_security_policy_settings` |
| 77 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_security_policy_settings_by_map_name` |
| 78 | + |
| 79 | +from .ecos._third_party_tunnel |
| 80 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_3rdparty_tunnels_state` |
| 81 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_multiple_3rdparty_tunnels_state` |
| 82 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_all_3rdparty_tunnel_ids` |
| 83 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_3rdparty_tunnel_aliases` |
| 84 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_3rdparty_tunnels_config` |
| 85 | + - :func:`~pyedgeconnect.EdgeConnect.configure_appliance_multiple_3rdparty_tunnels` |
| 86 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_single_3rdparty_tunnel_config` |
| 87 | + - :func:`~pyedgeconnect.EdgeConnect.delete_appliance_single_3rdparty_tunnel` |
| 88 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_multiple_3rdparty_tunnels_config` |
| 89 | + - :func:`~pyedgeconnect.EdgeConnect.delete_appliance_multiple_3rdparty_tunnels` |
| 90 | + |
| 91 | +from .ecos._tunnel |
| 92 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_tunnels_config_and_state` |
| 93 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_tunnels_config` |
| 94 | + - :func:`~pyedgeconnect.EdgeConnect.configure_appliance_all_tunnels` |
| 95 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_single_tunnel_config` |
| 96 | + - :func:`~pyedgeconnect.EdgeConnect.configure_appliance_single_tunnel` |
| 97 | + - :func:`~pyedgeconnect.EdgeConnect.delete_appliance_single_tunnel` |
| 98 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_all_tunnel_ids` |
| 99 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_tunnel_aliases` |
| 100 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_multiple_tunnels_config` |
| 101 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_multiple_tunnels_state` |
| 102 | + - :func:`~pyedgeconnect.EdgeConnect.configure_appliance_multiple_tunnels` |
| 103 | + - :func:`~pyedgeconnect.EdgeConnect.delete_appliance_multiple_tunnels` |
| 104 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_tunnel_source_endpoints` |
| 105 | + - :func:`~pyedgeconnect.EdgeConnect.get_appliance_passthrough_tunnel_source_endpoints` |
| 106 | + - :func:`~pyedgeconnect.EdgeConnect.start_appliance_tunnel_mtu_discovery` |
| 107 | + - :func:`~pyedgeconnect.EdgeConnect.apply_appliance_tunnel_template` |
| 108 | + - :func:`~pyedgeconnect.EdgeConnect.set_appliance_tunnels_ipsec_psk` |
| 109 | + |
| 110 | + |
| 111 | +🐛 Bug Fixes |
| 112 | +~~~~~~~~~~~~~~ |
| 113 | + |
| 114 | +- `#10 <https://github.com/SPOpenSource/edgeconnect-python/issues/10>`_ - |
| 115 | + :func:`~pyedgeconnect.Orchestrator.login` and |
| 116 | + :func:`~pyedgeconnect.EdgeConnect.login` returned ``True`` even when |
| 117 | + login failed |
| 118 | +- `#11 <https://github.com/SPOpenSource/edgeconnect-python/issues/11>`_ - |
| 119 | + :func:`~pyedgeconnect.Orchestrator.appliance_resync` had incorrect |
| 120 | + endpoint of ``/applianceResyncSynchronize``, corrected to |
| 121 | + ``/applianceResync`` |
| 122 | +- `#12 <https://github.com/SPOpenSource/edgeconnect-python/issues/12>`_ - |
| 123 | + The preconfig generator example code had the option to look for a |
| 124 | + column for appliance serial number to match preconfig to, however, |
| 125 | + didn't include that information when creating the preconfig on |
| 126 | + Orchestrator as the parameter wasn't specified. |
| 127 | +- `#13 <https://github.com/SPOpenSource/edgeconnect-python/issues/13>`_ - |
| 128 | + Corrected return type-hint for methods that use `return_type="full_response"` |
| 129 | + with hint of requests.Response object rather than `dict` |
| 130 | + |
| 131 | + |
| 132 | +🧰 Maintenance / Other |
| 133 | +~~~~~~~~~~~~~~~~~~~~~~~ |
| 134 | + |
| 135 | +Introduced initial automated tox testing for Python 3.7, 3.8, 3.9, 3.10 |
| 136 | +- run pytest tests |
| 137 | + |
| 138 | +additional `testenv:format` environment |
| 139 | +- Check isort for imported packages |
| 140 | +- Check flake8 |
| 141 | + |
| 142 | + |
| 143 | +🐛 Known Issues |
| 144 | +~~~~~~~~~~~~~~~ |
| 145 | + |
| 146 | +.. warning:: |
| 147 | + |
| 148 | + The following two functions for the _ip_objects submodule exprience |
| 149 | + errors at this time. These function do work in the Orchestrator UI: |
| 150 | + :func:`~pyedgeconnect.Orchestrator.bulk_upload_address_group` and |
| 151 | + :func:`~pyedgeconnect.Orchestrator.bulk_upload_service_group` |
0 commit comments