Skip to content

Releases: SPOpenSource/edgeconnect-python

0.15.3-a1

27 Oct 19:06
c41f92b
Compare
Choose a tag to compare
0.15.3-a1 Pre-release
Pre-release
Release 0.15.3-a1

0.15.2-a1

28 Jul 22:30
Compare
Choose a tag to compare
0.15.2-a1 Pre-release
Pre-release

0.15.2-a1 -- 2022-07-29

🚀 Features


- New code example: **upload security policy** - Upload Firewall
  Security Policies to an appliance or create a new Template Group to
  be assigned to appliances

  - Overview: :doc:`/examples/upload_security_policy`
  - Code: `upload_security_policy <https://github.com/SPOpenSource/edgeconnect-python/tree/main/examples/upload_security_policy>`_

- Updated logging messages (when using ``log_console`` and ``log_file``
  parameters for EdgeConnect and Orchestrator) to include base Orch FQDN
  or ECOS FQDN to be clear when logging statements across different
  instances in a single script.


Added the following EdgeConnect functions from Swagger:

from .ecos._alarm
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_alarms`
  - :func:`~pyedgeconnect.EdgeConnect.acknowledge_appliance_alarms`
  - :func:`~pyedgeconnect.EdgeConnect.clear_appliance_alarms`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_alarm_descriptions`
  - :func:`~pyedgeconnect.EdgeConnect.add_note_appliance_alarms`
  - :func:`~pyedgeconnect.EdgeConnect.delete_appliance_alarms`

from .ecos._bonded_tunnel
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_bonded_tunnels_state`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_multiple_bonded_tunnels_state`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_all_bonded_tunnel_ids`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_bonded_tunnel_aliases`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_bonded_tunnels_config`
  - :func:`~pyedgeconnect.EdgeConnect.configure_appliance_all_bonded_tunnels`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_single_bonded_tunnel_config`
  - :func:`~pyedgeconnect.EdgeConnect.delete_appliance_single_bonded_tunnel`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_multiple_bonded_tunnels_config`
  - :func:`~pyedgeconnect.EdgeConnect.delete_appliance_multiple_bonded_tunnels`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_bonded_tunnel_live_view_info`

from .ecos._cli
  - :func:`~pyedgeconnect.EdgeConnect.perform_appliance_cli_command`
  - :func:`~pyedgeconnect.EdgeConnect.perform_appliance_multiple_cli_command`

from .ecos._deployment
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_deployment`

from .ecos._local_subnets
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_subnets`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_subnets_all_vrfs`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_subnets_single_vrf`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_locally_configured_subnets`
  - :func:`~pyedgeconnect.EdgeConnect.update_appliance_all_locally_configured_subnets`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_locally_configured_subnets_single_vrf`
  - :func:`~pyedgeconnect.EdgeConnect.update_appliance_all_locally_configured_subnets_single_vrf`
  - :func:`~pyedgeconnect.EdgeConnect.add_appliance_locally_configured_routes`
  - :func:`~pyedgeconnect.EdgeConnect.delete_appliance_locally_configured_routes`
  - :func:`~pyedgeconnect.EdgeConnect.appliance_find_preferred_route`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_routing_peers_info`

from .ecos._peers
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_peers`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_peers_ec_only`

from .ecos._security_maps
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_security_policies`
  - :func:`~pyedgeconnect.EdgeConnect.configure_appliance_security_policies`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_security_policy_map`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_security_policy_zone_pair`
  - :func:`~pyedgeconnect.EdgeConnect.delete_appliance_security_policy_zone_pair`
  - :func:`~pyedgeconnect.EdgeConnect.delete_appliance_security_policy_rule`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_security_policy_settings`
  - :func:`~pyedgeconnect.EdgeConnect.set_appliance_security_policy_settings`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_security_policy_settings_by_map_name`

from .ecos._third_party_tunnel
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_3rdparty_tunnels_state`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_multiple_3rdparty_tunnels_state`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_all_3rdparty_tunnel_ids`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_3rdparty_tunnel_aliases`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_3rdparty_tunnels_config`
  - :func:`~pyedgeconnect.EdgeConnect.configure_appliance_multiple_3rdparty_tunnels`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_single_3rdparty_tunnel_config`
  - :func:`~pyedgeconnect.EdgeConnect.delete_appliance_single_3rdparty_tunnel`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_multiple_3rdparty_tunnels_config`
  - :func:`~pyedgeconnect.EdgeConnect.delete_appliance_multiple_3rdparty_tunnels`

from .ecos._tunnel
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_tunnels_config_and_state`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_tunnels_config`
  - :func:`~pyedgeconnect.EdgeConnect.configure_appliance_all_tunnels`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_single_tunnel_config`
  - :func:`~pyedgeconnect.EdgeConnect.configure_appliance_single_tunnel`
  - :func:`~pyedgeconnect.EdgeConnect.delete_appliance_single_tunnel`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_all_tunnel_ids`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_tunnel_aliases`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_multiple_tunnels_config`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_multiple_tunnels_state`
  - :func:`~pyedgeconnect.EdgeConnect.configure_appliance_multiple_tunnels`
  - :func:`~pyedgeconnect.EdgeConnect.delete_appliance_multiple_tunnels`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_tunnel_source_endpoints`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_passthrough_tunnel_source_endpoints`
  - :func:`~pyedgeconnect.EdgeConnect.start_appliance_tunnel_mtu_discovery`
  - :func:`~pyedgeconnect.EdgeConnect.apply_appliance_tunnel_template`
  - :func:`~pyedgeconnect.EdgeConnect.set_appliance_tunnels_ipsec_psk`

🐛 Bug Fixes


- `#10 <https://github.com/SPOpenSource/edgeconnect-python/issues/10>`_ -
  :func:`~pyedgeconnect.Orchestrator.login` and
  :func:`~pyedgeconnect.EdgeConnect.login` returned ``True`` even when
  login failed
- `#11 <https://github.com/SPOpenSource/edgeconnect-python/issues/11>`_ -
  :func:`~pyedgeconnect.Orchestrator.appliance_resync` had incorrect
  endpoint of ``/applianceResyncSynchronize``, corrected to
  ``/applianceResync``
- `#12 <https://github.com/SPOpenSource/edgeconnect-python/issues/12>`_ -
  The preconfig generator example code had the option to look for a
  column for appliance serial number to match preconfig to, however,
  didn't include that information when creating the preconfig on
  Orchestrator as the parameter wasn't specified.
- `#13 <https://github.com/SPOpenSource/edgeconnect-python/issues/13>`_ -
  Corrected return type-hint for methods that use `return_type="full_response"`
  with hint of requests.Response object rather than `dict`

🧰 Maintenance / Other


Introduced initial automated tox testing for Python 3.7, 3.8, 3.9, 3.10
- run pytest tests

additional `testenv:format` environment
- Check isort for imported packages
- Check flake8

~~~~~~~~~~~~~~~


🐛 Known Issues
~~~~~~~~~~~~~~~

.. warning::

  The following two functions for the _ip_objects submodule exprience
  errors at this time. These function do work in the Orchestrator UI:
  :func:`~pyedgeconnect.Orchestrator.bulk_upload_address_group` and
  :func:`~pyedgeconnect.Orchestrator.bulk_upload_service_group`

0.15.1-a1

23 Jun 17:04
Compare
Choose a tag to compare
0.15.1-a1 Pre-release
Pre-release

0.15.1-a1 -- 2022-06-23

🚀 Features


**Backwards compatability**: Introduced support back to Python 3.7


Added the following EdgeConnect functions from Swagger:

from .ecos._disk_usage
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_disk_usage`

from .ecos._dns
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_dns_config`
  - :func:`~pyedgeconnect.EdgeConnect.set_appliance_dns_config`

from .ecos._memory
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_memory`

from .ecos._statistics
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_stats_minute_range`
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_stats_minute_file`

from .ecos._time
  - :func:`~pyedgeconnect.EdgeConnect.get_appliance_time`

🐛 Bug Fixes


- `#4 <https://github.com/SPOpenSource/edgeconnect-python/issues/4>`_ -
  :func:`~pyedgeconnect.Orchestrator.get_all_users` was using POST
  instead of GET
- `#6 <https://github.com/SPOpenSource/edgeconnect-python/issues/6>`_ -
  :func:`~pyedgeconnect.Orchestrator.update_appliance_access_group`
  remove default values for appliance_groups and appliance_regions
- `#7 <https://github.com/SPOpenSource/edgeconnect-python/issues/7>`_ -
  :func:`~pyedgeconnect.Orchestrator.get_timeseries_stats_tunnel_single_appliance`
  update tunnel_name query in URL to tunnelName

🐛 Known Issues


.. warning::

  The following two functions for the _ip_objects submodule exprience
  errors at this time. These function do work in the Orchestrator UI:

  - :func:`~pyedgeconnect.Orchestrator.bulk_upload_address_group`
  - :func:`~pyedgeconnect.Orchestrator.bulk_upload_service_group`

0.14.0-a2

14 Jul 14:03
Compare
Choose a tag to compare
0.14.0-a2 Pre-release
Pre-release
docs: :bug: fix docstring return dictionary keys typo in _license sub…

0.14.0-a1

14 Jul 02:16
3a1f133
Compare
Choose a tag to compare
0.14.0-a1 Pre-release
Pre-release

0.14.0-a1 -- 2021-07-13

🚀 Features


Added the following Orchestrator functions from Swagger

from .orch._license
  - get_nx_licensed_appliances
  - get_vx_licensed_appliances
  - get_portal_licensed_summary
  - get_portal_licensed_appliances
  - change_appliance_license
  - grant_appliance_base_license
  - revoke_appliance_base_license
  - delete_appliance_license_token

from .orch._wan_next_hop_health
  - get_wan_next_hop_health_config


# Custom certs introduced in Orchestrator 9.0.4+ and Edge Connect 9+

from .orch._custom_certs
  - get_custom_certs
  - update_custom_certs
  - delete_custom_cert
  - get_custom_certs_enabled
  - set_custom_certs_enabled
  - check_custom_certs_orchestrator_to_portal
  - check_custom_certs_appliances_to_portal
  - verify_custom_cert


📚 Documentation
  • Updated README with Swagger coverage %

Initial public release

24 Jun 17:31
Compare
Choose a tag to compare
Pre-release
0.13.0-a1

initial commit to public repo