0.15.0-a1 – 2022-03-26
💥 Breaking Changes
The first parameter for multiple Preconfig functions has been renamed to
preconfig_name to better represent that the name of the preconfnig does
not need to be the hostname of the appliance it will be applied to. Existing
code that does not use keyword arguments will be unaffected. For those
explicitly assigning hostname= will need to update to preconfig_name=
The validate function no longer requires the auto_apply paramter as
it now defaults to False. The parameter has no effect on the validation
call.
# OLD syntax
validate = orch.validate_preconfig(
hostname="edgeconnect-preconfig-01",
yaml_preconfig=yaml_preconfig,
auto_apply=auto_apply,
)
orch.create_preconfig(
hostname="edgeconnect-preconfig-01",
yaml_preconfig=yaml_preconfig,
auto_apply=auto_apply,
tag="tag value",
comment="New preconfig for appliance"
)
# NEW syntax
validate = orch.validate_preconfig(
preconfig_name="edgeconnect-preconfig-01",
yaml_preconfig=yaml_preconfig,
)
orch.create_preconfig(
preconfig_name="edgeconnect-preconfig-01",
yaml_preconfig=yaml_preconfig,
auto_apply=auto_apply,
tag="tag value",
comment="New preconfig for appliance"
)
# CODE REQUIRING NO CHANGE syntax
validate = orch.validate_preconfig(
"edgeconnect-preconfig-01",
yaml_preconfig=yaml_preconfig,
)
orch.create_preconfig(
"edgeconnect-preconfig-01",
yaml_preconfig=yaml_preconfig,
auto_apply=auto_apply,
tag="tag value",
comment="New preconfig for appliance"
)
Affected functions:
🚀 Features
Added the following Orchestrator functions from Swagger:
- from .orch._advanced_properties
get_orchestrator_advanced_properties
update_orchestrator_advanced_properties
get_orchestrator_advanced_properties_metadata
- from .orch._app_system_deploy_info
get_appliance_system_deployment_info
get_discovered_appliance_system_deployment_info
- from .orch._app_system_state_info
get_appliance_system_state_info
- from .orch._appliance
appliance_delete_api
delete_denied_appliances
rediscover_denied_appliance
- from .orch._appliance_extra_info
delete_appliance_extra_info
get_appliance_extra_info
set_appliance_extra_info
- from .orch._appliance_resync
appliance_resync
- from .orch._appliance_upgrade
get_ecos_images
delete_ecos_image
- from .orch._bridge_interface_state
get_appliance_bridge_interface_state
- from .orch._deployment
get_appliance_deployment
get_all_appliance_deployment
get_single_appliance_deployment
- from .orch._gms_registration
get_orchestrator_registration_setting
set_orchestrator_registration_setting
- from .orch._link_aggregation
get_link_aggregation_data
- from .orch._loopback_orch
get_loopback_orchestration
set_loopback_orchestration
get_loopback_orchestration_pool_detail
reclaim_delete_loopback_orchestration_ips
reclaim_single_deleted_loopback_orchestration_ip
get_deleted_loopback_orchestration_ips
- from .orch._network_role_and_site
get_appliance_network_role_and_site
update_appliance_network_role_and_site
- from .orch._overlay_association
get_all_appliance_overlay_association
add_appliance_overlay_association
remove_appliance_overlay_association
get_appliance_overlay_association
remove_single_appliance_overlay_association
- from .orch._rbac_appliance_access_group
get_all_appliance_access_groups
update_appliance_access_group
get_appliance_access_group
delete_appliance_access_group
- from .orch._releases
get_releases_for_orchestrator_and_ecos
get_releases_notifications
delay_release_notification
dismiss_release_notification
- from .orch._schedule_timezone
get_schedule_timezone
set_schedule_timezone
- from .orch._session
get_orchestrator_sessions
- from .orch._session_timeout
get_orch_session_timeout
set_orch_session_timeout
- from .orch._snmp
get_appliance_snmp
- from .orch._ssl
get_appliance_ssl_certs
- from .orch._ssl_substitute_cert
get_appliance_ssl_substitute_certs
validate_ssl_substitute_cert
- from .orch._stats_retention
get_stats_approximate_disk_space
- from .orch._subnets
get_appliance_subnets
get_discovered_appliance_subnets
set_appliance_subnet_sharing_options
- from .orch._upgrade_appliances
validate_appliance_upgrade
upgrade_appliances
- from .orch._user_account
get_appliance_user_accounts
IP Objects (Address Groups and Service Groups) introduced in Orchestrator 9.1+
- from .orch._ip_objects
get_all_address_groups
create_address_group
update_address_group
get_address_group
delete_address_group
merge_address_groups
get_all_service_groups
create_service_group
update_service_group
get_service_group
delete_service_group
merge_service_groups
Warning
The following two functions for the _ip_objects submodule exprience
errors at this time. These function do work in the Orchestrator UI:
pyedgeconnect.Orchestrator.bulk_upload_address_group() and
pyedgeconnect.Orchestrator.bulk_upload_service_group()
Clearpass id integration introduced in Orchestrator 9.1+
- from .orch._third_party_services
clearpass_add_account
clearpass_delete_account
clearpass_filter_events
clearpass_get_configured_account
clearpass_get_configured_account_details
clearpass_get_configured_accounts
clearpass_get_connectivity
clearpass_get_pause_orchestration_status
clearpass_get_service_endpoint_status
clearpass_get_user_roles_for_ip
clearpass_pause_individual_orchestration
clearpass_post_login_event
clearpass_post_logout_event
clearpass_reset_service_endpoint
clearpass_set_pause_orchestration_status
clearpass_update_account
central_get_subscription
central_add_subscription
central_delete_subscription
central_get_site_mapping
central_assign_appliance_to_site
Existing Function Updates:
pyedgeconnect.Orchestrator._post()andpyedgeconnect.Orchestrator._req_post()updated to included parameterfilesfor file upload functionschange_appliance_license()to account for new Advance Security licensingget_zones()to account for new option to filter for unique zone names vs. all zones accross segments
📚 Documentation
Include PyPI download stats to README
Added .readthedocs.yaml configuration for hosted ReadTheDocs build to account for python3.9 support in the online docs.
✨ Added new code example! -> Generate YAML preconfig from Jinja template from CSV file, validate, and upload to Orchestrator
🐛 Bug Fixes
init.py was missing import of
get_timeseries_stats_appliances_ne_pk_list()from _timeseries_stats submoduleFunctions in _timeseries_stats submodule with paramter
traffic_typedefaulting toNoneupdated to proper value ofall_trafficFix missing orch.login() function in create_user.py in examples
Add query parameter delete_dependencies for
update_zones(), variable was defined but not included in POSTFix function name (and import to init) for _link_integrity submodule function to perform a link integrity test between appliances. New function is
link_integrity_test()Fix return type for
get_orchestrator_hello()to text instead of defaulting to JSONFix expected status for
associate_template_group_to_appliance()to 204 rather than default 200, would incorrectly log a successful POST as an ERRORAdded .readthedocs.yaml configuration for hosted ReadTheDocs build to account for python3.9 support in the online docs. This fixes the autodoc module not building for per-function documentation in the hosted docs.