Skip to content

Commit 7bbdacd

Browse files
authored
[Integration][Azure] Enhanced API Version Consistency in Resource Management Client (#1321)
# Description What - Updated the `list_resources` function to set both `_config.api_version` and `_api_version` in the `ResourceManagementClient.resources` object. Why - The `_config.api_version` alone was insufficient in ensuring consistent behavior across paginated responses and API interactions as list method defaults to the `_api_version` for 2nd iteration and beyond during iteration through paginated response. By also setting `_api_version`, the resource client uses the specified version throughout its operations, improving reliability and consistency when querying Azure resources. How - Patched default value for `resources_client.resources._api_version` ## Type of change Please leave one option from the following and delete the rest: - [x] Bug fix (non-breaking change which fixes an issue) <h4> All tests should be run against the port production environment(using a testing org). </h4> ### Core testing checklist - [ ] Integration able to create all default resources from scratch - [ ] Resync finishes successfully - [ ] Resync able to create entities - [ ] Resync able to update entities - [ ] Resync able to detect and delete entities - [ ] Scheduled resync able to abort existing resync and start a new one - [ ] Tested with at least 2 integrations from scratch - [ ] Tested with Kafka and Polling event listeners - [ ] Tested deletion of entities that don't pass the selector ### Integration testing checklist - [ ] Integration able to create all default resources from scratch - [ ] Resync able to create entities - [ ] Resync able to update entities - [ ] Resync able to detect and delete entities - [ ] Resync finishes successfully - [ ] If new resource kind is added or updated in the integration, add example raw data, mapping and expected result to the `examples` folder in the integration directory. - [ ] If resource kind is updated, run the integration with the example data and check if the expected result is achieved - [ ] If new resource kind is added or updated, validate that live-events for that resource are working as expected - [ ] Docs PR link [here](#) ### Preflight checklist - [ ] Handled rate limiting - [ ] Handled pagination - [ ] Implemented the code in async - [ ] Support Multi account ## Screenshots Include screenshots from your environment showing how the resources of the integration will look. ## API Documentation Provide links to the API documentation used for this integration.
1 parent c04093c commit 7bbdacd

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

integrations/azure/CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
<!-- towncrier release notes start -->
99

10+
0.1.126 (2025-01-14)
11+
12+
### Bug Fixes
13+
14+
- Fixed the listing of azure subscription resource to use the latest API version `(2023-07-01)` when building url for the next page during paginated response iterations
15+
16+
1017
0.1.125 (2025-01-12)
1118

1219
### Improvements

integrations/azure/azure_integration/azure_patch.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,13 @@ async def list_resources(
105105
Those params will result the following request:
106106
(https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}/blobServices/{blobService}/containers?api-version={apiVersion})
107107
"""
108-
# override the default version in the client to the version that we want to query
108+
# Override the default API version in the client configuration.
109+
# This ensures that the specified API version is used for operations like subscription and resource group queries.
109110
resources_client.resources._config.api_version = api_version
111+
112+
# Override the API version used in constructing requests during pagination.
113+
# This ensures consistency in the API version for resource listing operations across paginated requests.
114+
resources_client.resources._api_version = api_version
110115
if resource_type and resource_url:
111116
raise ValueError("Only one of resource_type and resource_url can be passed")
112117

integrations/azure/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "azure"
3-
version = "0.1.125"
3+
version = "0.1.126"
44
description = "Azure integration"
55
authors = ["Tom Tankilevitch <tom@getport.io>"]
66

0 commit comments

Comments
 (0)