Skip to content

Release/0.15.2 a1#14

Merged
zachcamara-hpe merged 29 commits intomainfrom
release/0.15.2-a1
Jul 28, 2022
Merged

Release/0.15.2 a1#14
zachcamara-hpe merged 29 commits intomainfrom
release/0.15.2-a1

Conversation

@zachcamara-hpe
Copy link
Copy Markdown
Collaborator

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`

…hat if serial_number column is specified in CSV file it will be included fixes #12
@zachcamara-hpe zachcamara-hpe merged commit b0d098a into main Jul 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant