diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d6783cb..0368636d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [3.1.6.0.6] - 2026-07-09 +### Fixed +- **Missing backward-compatibility aliases for renamed Site Design `_v2` methods (Issue #39)**: The v3.1.6.0 API classes renamed several Site Design operations with a `_v2` suffix and re-exposed the historical names as aliases, but seven access point position methods on `SiteDesign` were left without one. Calling them by their historical name raised `AttributeError` when the SDK ran against API version 3.1.6.0, breaking downstream consumers such as the `cisco.catalystcenter` Ansible collection. Added the missing aliases so the following names resolve again: `get_access_points_positions`, `edit_the_access_points_positions`, `assign_planned_access_points_to_operations_ones`, `add_planned_access_points_positions`, `edit_planned_access_points_positions`, `get_planned_access_points_positions_count`, and `delete_planned_access_points_position`. + ## [3.1.6.0.5] - 2026-06-05 ### Fixed - **Missing `licenseLevel`, `topOfStackSerialNumber`, and `cablingScheme` in `claim_a_device_to_a_site` (Issue #23)**: Added the three missing parameters to the method signature, `_payload` assembly, and request validator JSON schema across all SDK API versions (2.3.7.6.1, 2.3.7.9, 3.1.3.0, 3.1.6.0). Previously, passing these fields with `active_validation=True` caused a `MalformedRequest` error, and with `active_validation=False` they were silently dropped from the request body, making it impossible to claim stacked Catalyst switches with a license level or cabling scheme via the SDK. @@ -163,4 +167,5 @@ to "application". [3.1.6.0.3]: https://github.com/cisco-en-programmability/catalystcentersdk/compare/v3.1.6.0.2...v3.1.6.0.3 [3.1.6.0.4]: https://github.com/cisco-en-programmability/catalystcentersdk/compare/v3.1.6.0.3...v3.1.6.0.4 [3.1.6.0.5]: https://github.com/cisco-en-programmability/catalystcentersdk/compare/v3.1.6.0.4...v3.1.6.0.5 -[Unreleased]: https://github.com/cisco-en-programmability/catalystcentersdk/compare/v3.1.6.0.5...develop \ No newline at end of file +[3.1.6.0.6]: https://github.com/cisco-en-programmability/catalystcentersdk/compare/v3.1.6.0.5...v3.1.6.0.6 +[Unreleased]: https://github.com/cisco-en-programmability/catalystcentersdk/compare/v3.1.6.0.6...develop \ No newline at end of file diff --git a/catalystcentersdk/api/v3_1_6_0/site_design.py b/catalystcentersdk/api/v3_1_6_0/site_design.py index a5d4032c..92527d58 100644 --- a/catalystcentersdk/api/v3_1_6_0/site_design.py +++ b/catalystcentersdk/api/v3_1_6_0/site_design.py @@ -3662,3 +3662,22 @@ def get_a_site(self, id, headers=None, **request_parameters): SiteDesign.gets_a_floor = SiteDesign.gets_a_floor_v2 SiteDesign.updates_a_floor = SiteDesign.updates_a_floor_v2 SiteDesign.uploads_floor_image = SiteDesign.uploads_floor_image_v2 +SiteDesign.get_access_points_positions = SiteDesign.get_access_points_positions_v2 +SiteDesign.edit_the_access_points_positions = ( + SiteDesign.edit_the_access_points_positions_v2 +) +SiteDesign.assign_planned_access_points_to_operations_ones = ( + SiteDesign.assign_planned_access_points_to_operations_ones_v2 +) +SiteDesign.add_planned_access_points_positions = ( + SiteDesign.add_planned_access_points_positions_v2 +) +SiteDesign.edit_planned_access_points_positions = ( + SiteDesign.edit_planned_access_points_positions_v2 +) +SiteDesign.get_planned_access_points_positions_count = ( + SiteDesign.get_planned_access_points_positions_count_v2 +) +SiteDesign.delete_planned_access_points_position = ( + SiteDesign.delete_planned_access_points_position_v2 +) diff --git a/docs/CHANGELOG.rst b/docs/CHANGELOG.rst index b0bc0338..83b375be 100644 --- a/docs/CHANGELOG.rst +++ b/docs/CHANGELOG.rst @@ -8,12 +8,38 @@ Changelog `__, and this project adheres to `Semantic Versioning `__. -`Unreleased `__ +`Unreleased `__ ----------------------------------------------------------------------------------------------------------- +`3.1.6.0.6 `__ - 2026-07-09 +-------------------------------------------------------------------------------------------------------------------------- + +Fixed +~~~~~ + +- **Missing backward-compatibility aliases for renamed Site Design + ``_v2`` methods (Issue #39)**: The v3.1.6.0 API classes renamed + several Site Design operations with a ``_v2`` suffix and re-exposed + the historical names as aliases, but seven access point position + methods on ``SiteDesign`` were left without one. Calling them by their + historical name raised ``AttributeError`` when the SDK ran against API + version 3.1.6.0, breaking downstream consumers such as the + ``cisco.catalystcenter`` Ansible collection. Added the missing aliases + so the following names resolve again: ``get_access_points_positions``, + ``edit_the_access_points_positions``, + ``assign_planned_access_points_to_operations_ones``, + ``add_planned_access_points_positions``, + ``edit_planned_access_points_positions``, + ``get_planned_access_points_positions_count``, and + ``delete_planned_access_points_position``. + +.. _section-1: + `3.1.6.0.5 `__ - 2026-06-05 -------------------------------------------------------------------------------------------------------------------------- +.. _fixed-1: + Fixed ~~~~~ @@ -28,12 +54,12 @@ Fixed claim stacked Catalyst switches with a license level or cabling scheme via the SDK. -.. _section-1: +.. _section-2: `3.1.6.0.4 `__ - 2026-05-07 -------------------------------------------------------------------------------------------------------------------------- -.. _fixed-1: +.. _fixed-2: Fixed ~~~~~ @@ -47,12 +73,12 @@ Fixed optional ``requests.Session`` and uses it for token requests, so retry adapters apply uniformly across all SDK calls. -.. _section-2: +.. _section-3: `3.1.6.0.3 `__ - 2026-05-05 -------------------------------------------------------------------------------------------------------------------------- -.. _fixed-2: +.. _fixed-3: Fixed ~~~~~ @@ -103,12 +129,12 @@ Fixed permissive schema prevents false validation failures as the API evolves. -.. _section-3: +.. _section-4: `3.1.6.0.2 `__ - 2026-03-30 -------------------------------------------------------------------------------------------------------------------------- -.. _fixed-3: +.. _fixed-4: Fixed ~~~~~ @@ -128,12 +154,12 @@ Changed - Regenerated Pipfile.lock, poetry.lock, requirements.txt, and requirements-dev.txt with updated dependencies. -.. _section-4: +.. _section-5: `3.1.6.0.1 `__ - 2026-02-27 -------------------------------------------------------------------------------------------------------------------------- -.. _fixed-4: +.. _fixed-5: Fixed ~~~~~ @@ -157,7 +183,7 @@ Changed - Added explicit ``python_version = "3.12"`` requirement to Pipfile. - Updated ``certifi`` dependency. -.. _section-5: +.. _section-6: `3.1.6.0.0 `__ - 2026-02-11 -------------------------------------------------------------------------------------------------------------------------- @@ -171,7 +197,7 @@ Added - ``system_software_upgrade`` -.. _section-6: +.. _section-7: `3.1.3.0.1 `__ - 2026-02-06 -------------------------------------------------------------------------------------------------------------------------- @@ -222,7 +248,7 @@ Changed - ``get_the_are_p_ring_based_on_the_ring_id`` to ``get_the_rep_ring_based_on_the_ring_id`` -.. _section-7: +.. _section-8: `3.1.3.0.0 `__ - 2025-06-19 -------------------------------------------------------------------------------------------------------------------------- @@ -257,7 +283,7 @@ Added - The v1 alias functions were all removed. Example… if your using “application_v1” you must be able to change it to “application”. -.. _section-8: +.. _section-9: `2.3.7.9.5 `__ - 2025-03-05 -------------------------------------------------------------------------------------------------------------------------- @@ -267,7 +293,7 @@ Fix - Error correction in the user_and_roles module -.. _section-9: +.. _section-10: `2.3.7.9.4 `__ - 2025-02-28 -------------------------------------------------------------------------------------------------------------------------- @@ -279,7 +305,7 @@ Added - Add support of DNA Center versions (‘2.3.7.7’) -.. _section-10: +.. _section-11: `2.3.7.9.3 `__ - 2025-02-24 -------------------------------------------------------------------------------------------------------------------------- @@ -293,7 +319,7 @@ Fix deploy_template functions in version 1 and 2. In 2.3.5.3, 2.3.7.6 and 2.3.7.9. -.. _section-11: +.. _section-12: `2.3.7.9.2 `__ - 2025-02-17 -------------------------------------------------------------------------------------------------------------------------- @@ -322,7 +348,7 @@ Changed - Some functions were changed in versions 2.3.7.6 and 2.3.7.9 to handle files -.. _section-12: +.. _section-13: `2.3.7.9.1 `__ - 2025-01-14 -------------------------------------------------------------------------------------------------------------------------- @@ -337,7 +363,7 @@ Fix - Fixed a bug in site_design in the uploads_floor_image function in versions 2.3.7.6 and 2.3.7.9 -.. _section-13: +.. _section-14: `2.3.7.9.0 `__ - 2024-12-12 -------------------------------------------------------------------------------------------------------------------------- @@ -350,7 +376,7 @@ Added - Add support of Catalyst Center versions (‘2.3.7.9’) - Adds modules for v2_3_7_9 -.. _section-14: +.. _section-15: `2.3.7.6.2 `__ - 2024-11-20 -------------------------------------------------------------------------------------------------------------------------- @@ -370,7 +396,7 @@ Fix - The get_templates_details function was added because it was named incorrectly. There was an “s” missing from the word templates -.. _section-15: +.. _section-16: `2.3.7.6.1 `__ - 2024-11-05 -------------------------------------------------------------------------------------------------------------------------- @@ -391,7 +417,7 @@ Changed - Modification of documentation references in functions - The user_agent structure is modified -.. _section-16: +.. _section-17: `2.3.7.6.0 `__ - 2024-10-30 ------------------------------------------------------------------------------------------------------------------ diff --git a/docs/api/api.rst b/docs/api/api.rst index 6be08695..03366ea2 100644 --- a/docs/api/api.rst +++ b/docs/api/api.rst @@ -829,6 +829,17 @@ v3.1.6.0 summary .. include:: api_structure_table_v3_1_6_0.rst +.. _v3_1_6_0 aliases: + +v3.1.6.0 backward-compatible aliases +------------------------------------ + +Several v3.1.6.0 operations were renamed with a _v2 suffix. +The original names are kept as aliases for backward compatibility and will be restored in a future release. + +.. include:: api_aliases_table_v3_1_6_0.rst + + CatalystCenterAPI Class ======================= diff --git a/docs/api/api_aliases_table_v3_1_6_0.rst b/docs/api/api_aliases_table_v3_1_6_0.rst new file mode 100644 index 00000000..209f0051 --- /dev/null +++ b/docs/api/api_aliases_table_v3_1_6_0.rst @@ -0,0 +1,121 @@ +.. This page is generated from the runtime alias assignments in the + v3.1.6.0 API classes. The aliases preserve the original method names for + backward compatibility and resolve to the current ``*_v2`` implementations. + This naming will be simplified in a future release. + + +**ApplicationPolicy** + +.. list-table:: + :header-rows: 1 + :widths: 45 55 + + * - Alias (historical name) + - Resolves to + * - ``create_application_sets`` + - :meth:`create_application_sets_v2() ` + * - ``create_applications`` + - :meth:`create_applications_v2() ` + * - ``edit_applications`` + - :meth:`edit_applications_v2() ` + * - ``get_application_count`` + - :meth:`get_application_count_v2() ` + * - ``get_application_set_count`` + - :meth:`get_application_set_count_v2() ` + +**ConfigurationTemplates** + +.. list-table:: + :header-rows: 1 + :widths: 45 55 + + * - Alias (historical name) + - Resolves to + * - ``get_projects_details`` + - :meth:`get_projects_details_v2() ` + * - ``get_templates_details`` + - :meth:`get_templates_details_v2() ` + +**Devices** + +.. list-table:: + :header-rows: 1 + :widths: 45 55 + + * - Alias (historical name) + - Resolves to + * - ``get_device_interface_stats_info`` + - :meth:`get_device_interface_stats_info_v2() ` + +**Discovery** + +.. list-table:: + :header-rows: 1 + :widths: 45 55 + + * - Alias (historical name) + - Resolves to + * - ``create_global_credentials`` + - :meth:`create_global_credentials_v2() ` + * - ``delete_global_credential`` + - :meth:`delete_global_credential_v2() ` + * - ``get_all_global_credentials`` + - :meth:`get_all_global_credentials_v2() ` + +**SiteDesign** + +.. list-table:: + :header-rows: 1 + :widths: 45 55 + + * - Alias (historical name) + - Resolves to + * - ``add_planned_access_points_positions`` + - :meth:`add_planned_access_points_positions_v2() ` + * - ``assign_planned_access_points_to_operations_ones`` + - :meth:`assign_planned_access_points_to_operations_ones_v2() ` + * - ``creates_a_building`` + - :meth:`creates_a_building_v2() ` + * - ``creates_a_floor`` + - :meth:`creates_a_floor_v2() ` + * - ``delete_planned_access_points_position`` + - :meth:`delete_planned_access_points_position_v2() ` + * - ``deletes_a_building`` + - :meth:`deletes_a_building_v2() ` + * - ``deletes_a_floor`` + - :meth:`deletes_a_floor_v2() ` + * - ``edit_planned_access_points_positions`` + - :meth:`edit_planned_access_points_positions_v2() ` + * - ``edit_the_access_points_positions`` + - :meth:`edit_the_access_points_positions_v2() ` + * - ``get_access_points_positions_count`` + - :meth:`get_access_points_positions_count_v2() ` + * - ``get_access_points_positions`` + - :meth:`get_access_points_positions_v2() ` + * - ``get_floor_settings`` + - :meth:`get_floor_settings_v2() ` + * - ``get_planned_access_points_positions_count`` + - :meth:`get_planned_access_points_positions_count_v2() ` + * - ``get_planned_access_points_positions`` + - :meth:`get_planned_access_points_positions_v2() ` + * - ``gets_a_building`` + - :meth:`gets_a_building_v2() ` + * - ``gets_a_floor`` + - :meth:`gets_a_floor_v2() ` + * - ``updates_a_building`` + - :meth:`updates_a_building_v2() ` + * - ``updates_a_floor`` + - :meth:`updates_a_floor_v2() ` + * - ``updates_floor_settings`` + - :meth:`updates_floor_settings_v2() ` + * - ``uploads_floor_image`` + - :meth:`uploads_floor_image_v2() ` + +.. note:: + + The following names exist as both ``_v1`` and ``_v2`` in this API + version. The unsuffixed name currently resolves to ``_v2``; call the + explicit suffixed method if you need a specific version: + + * ``Wireless.configure_access_points`` (``configure_access_points_v1`` / ``configure_access_points_v2``) + diff --git a/pyproject.toml b/pyproject.toml index 538a4c26..2203c701 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "catalystcentersdk" -version = "3.1.6.0.5" +version = "3.1.6.0.6" description = "Cisco CatalystCenter Platform SDK" authors = ["Jose Bogarin Solano ", "William Astorga ", "Francisco Muñoz ", "Bryan Vargas "] license = "MIT"