diff --git a/integrations/aws/CHANGELOG.md b/integrations/aws/CHANGELOG.md index 478d047a79..911b6d0db9 100644 --- a/integrations/aws/CHANGELOG.md +++ b/integrations/aws/CHANGELOG.md @@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 -## 0.2.64 (2024-11-28) +## 0.2.65 (2024-12-03) ### Bug Fixes @@ -15,6 +15,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fixed a bug where token refresh fails because its triggered while an active session was still using the old token. +## 0.2.64 (2024-11-27) + + +### Bug Fixes + +- Fixed an issue where the region policy was not properly handled for global resources. Now, when a region policy is specified, it strictly adheres to the allowed regions only. + + ## 0.2.63 (2024-11-25) diff --git a/integrations/aws/aws/aws_credentials.py b/integrations/aws/aws/aws_credentials.py index eb62e43604..82558d6fd4 100644 --- a/integrations/aws/aws/aws_credentials.py +++ b/integrations/aws/aws/aws_credentials.py @@ -102,4 +102,4 @@ async def create_session_for_each_region( ) -> AsyncIterator[aioboto3.Session]: regions = allowed_regions or self.enabled_regions for region in regions: - yield await self.create_session(region) \ No newline at end of file + yield await self.create_session(region) diff --git a/integrations/aws/main.py b/integrations/aws/main.py index f06343d30e..a4c094e7e6 100644 --- a/integrations/aws/main.py +++ b/integrations/aws/main.py @@ -20,7 +20,6 @@ from utils.aws import ( describe_accessible_accounts, get_accounts, - get_default_region_from_credentials, get_sessions, update_available_access_credentials, validate_request, diff --git a/integrations/azure/.port/resources/blueprints.json b/integrations/azure/.port/resources/blueprints.json index 1e94112490..ed7ed5c4a3 100644 --- a/integrations/azure/.port/resources/blueprints.json +++ b/integrations/azure/.port/resources/blueprints.json @@ -4,7 +4,12 @@ "title": "Azure Subscription", "icon": "Azure", "schema": { - "properties": {}, + "properties": { + "tags": { + "title": "Tags", + "type": "object" + } + }, "required": [] }, "mirrorProperties": {}, diff --git a/integrations/azure/.port/resources/port-app-config.yaml b/integrations/azure/.port/resources/port-app-config.yaml index a69528d90a..a7eab677b6 100644 --- a/integrations/azure/.port/resources/port-app-config.yaml +++ b/integrations/azure/.port/resources/port-app-config.yaml @@ -9,7 +9,8 @@ resources: identifier: .id title: .display_name blueprint: '"azureSubscription"' - properties: {} + properties: + tags: .tags - kind: Microsoft.Resources/resourceGroups selector: query: 'true' diff --git a/integrations/azure/CHANGELOG.md b/integrations/azure/CHANGELOG.md index d2f74e1d6d..25f9e7dbc2 100644 --- a/integrations/azure/CHANGELOG.md +++ b/integrations/azure/CHANGELOG.md @@ -1,3 +1,14 @@ +0.1.108 (2024-11-28) + +### Improvements + +- Bumped azure-mgmt-resource to `23.2.0` and aiohttp + +### Bug Fixes + +- Fixed the listing of azure subscription resource to use latest version of the SDK, this fixes the issue where some keys were not being returned in the response + + 0.1.107 (2024-11-25) ### Improvements diff --git a/integrations/azure/azure_integration/azure_patch.py b/integrations/azure/azure_integration/azure_patch.py index 4909446354..9d6d9a1bdd 100644 --- a/integrations/azure/azure_integration/azure_patch.py +++ b/integrations/azure/azure_integration/azure_patch.py @@ -3,10 +3,10 @@ import azure.mgmt.resource.resources.v2022_09_01.aio.operations._operations from azure.mgmt.resource.resources.v2022_09_01.aio import ResourceManagementClient from azure.core.rest import HttpRequest -from azure.mgmt.resource.resources.v2022_09_01.operations._operations import ( # type: ignore - _format_url_section, +from azure.mgmt.resource.resources.v2022_09_01.operations._operations import ( _SERIALIZER, ) +from azure.mgmt.subscription._vendor import _format_url_section from loguru import logger diff --git a/integrations/azure/azure_integration/ocean.py b/integrations/azure/azure_integration/ocean.py index 1cd9a9e46d..9275370de6 100644 --- a/integrations/azure/azure_integration/ocean.py +++ b/integrations/azure/azure_integration/ocean.py @@ -24,7 +24,7 @@ from port_ocean.utils.async_iterators import stream_async_iterators_tasks from azure.identity.aio import DefaultAzureCredential from azure.core.exceptions import ResourceNotFoundError -from azure.mgmt.subscription.aio import SubscriptionClient +from azure.mgmt.resource.subscriptions.aio import SubscriptionClient from azure_integration.utils import ( ResourceKindsWithSpecialHandling, @@ -93,10 +93,14 @@ async def resync_subscriptions(kind: str) -> ASYNC_GENERATOR_RESYNC_TYPE: """ Re-syncs subscriptions, this is done separately because the subscriptions api is different from the other apis """ + resource_selector = typing.cast( + AzureSpecificKindSelector, get_current_resource_config().selector + ) async with DefaultAzureCredential() as credential: async with SubscriptionClient(credential=credential) as subscription_client: async for subscriptions_batch in batch_resources_iterator( subscription_client.subscriptions.list, + api_version=resource_selector.api_version, ): yield subscriptions_batch diff --git a/integrations/azure/poetry.lock b/integrations/azure/poetry.lock index c0b4f3677a..d6f8825be5 100644 --- a/integrations/azure/poetry.lock +++ b/integrations/azure/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. [[package]] name = "aiohappyeyeballs" @@ -13,102 +13,87 @@ files = [ [[package]] name = "aiohttp" -version = "3.10.10" +version = "3.11.8" description = "Async http client/server framework (asyncio)" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "aiohttp-3.10.10-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:be7443669ae9c016b71f402e43208e13ddf00912f47f623ee5994e12fc7d4b3f"}, - {file = "aiohttp-3.10.10-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7b06b7843929e41a94ea09eb1ce3927865387e3e23ebe108e0d0d09b08d25be9"}, - {file = "aiohttp-3.10.10-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:333cf6cf8e65f6a1e06e9eb3e643a0c515bb850d470902274239fea02033e9a8"}, - {file = "aiohttp-3.10.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:274cfa632350225ce3fdeb318c23b4a10ec25c0e2c880eff951a3842cf358ac1"}, - {file = "aiohttp-3.10.10-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9e5e4a85bdb56d224f412d9c98ae4cbd032cc4f3161818f692cd81766eee65a"}, - {file = "aiohttp-3.10.10-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b606353da03edcc71130b52388d25f9a30a126e04caef1fd637e31683033abd"}, - {file = "aiohttp-3.10.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab5a5a0c7a7991d90446a198689c0535be89bbd6b410a1f9a66688f0880ec026"}, - {file = "aiohttp-3.10.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:578a4b875af3e0daaf1ac6fa983d93e0bbfec3ead753b6d6f33d467100cdc67b"}, - {file = "aiohttp-3.10.10-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8105fd8a890df77b76dd3054cddf01a879fc13e8af576805d667e0fa0224c35d"}, - {file = "aiohttp-3.10.10-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3bcd391d083f636c06a68715e69467963d1f9600f85ef556ea82e9ef25f043f7"}, - {file = "aiohttp-3.10.10-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fbc6264158392bad9df19537e872d476f7c57adf718944cc1e4495cbabf38e2a"}, - {file = "aiohttp-3.10.10-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e48d5021a84d341bcaf95c8460b152cfbad770d28e5fe14a768988c461b821bc"}, - {file = "aiohttp-3.10.10-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2609e9ab08474702cc67b7702dbb8a80e392c54613ebe80db7e8dbdb79837c68"}, - {file = "aiohttp-3.10.10-cp310-cp310-win32.whl", hash = "sha256:84afcdea18eda514c25bc68b9af2a2b1adea7c08899175a51fe7c4fb6d551257"}, - {file = "aiohttp-3.10.10-cp310-cp310-win_amd64.whl", hash = "sha256:9c72109213eb9d3874f7ac8c0c5fa90e072d678e117d9061c06e30c85b4cf0e6"}, - {file = "aiohttp-3.10.10-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c30a0eafc89d28e7f959281b58198a9fa5e99405f716c0289b7892ca345fe45f"}, - {file = "aiohttp-3.10.10-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:258c5dd01afc10015866114e210fb7365f0d02d9d059c3c3415382ab633fcbcb"}, - {file = "aiohttp-3.10.10-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:15ecd889a709b0080f02721255b3f80bb261c2293d3c748151274dfea93ac871"}, - {file = "aiohttp-3.10.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3935f82f6f4a3820270842e90456ebad3af15810cf65932bd24da4463bc0a4c"}, - {file = "aiohttp-3.10.10-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:413251f6fcf552a33c981c4709a6bba37b12710982fec8e558ae944bfb2abd38"}, - {file = "aiohttp-3.10.10-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1720b4f14c78a3089562b8875b53e36b51c97c51adc53325a69b79b4b48ebcb"}, - {file = "aiohttp-3.10.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:679abe5d3858b33c2cf74faec299fda60ea9de62916e8b67e625d65bf069a3b7"}, - {file = "aiohttp-3.10.10-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:79019094f87c9fb44f8d769e41dbb664d6e8fcfd62f665ccce36762deaa0e911"}, - {file = "aiohttp-3.10.10-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fe2fb38c2ed905a2582948e2de560675e9dfbee94c6d5ccdb1301c6d0a5bf092"}, - {file = "aiohttp-3.10.10-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:a3f00003de6eba42d6e94fabb4125600d6e484846dbf90ea8e48a800430cc142"}, - {file = "aiohttp-3.10.10-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:1bbb122c557a16fafc10354b9d99ebf2f2808a660d78202f10ba9d50786384b9"}, - {file = "aiohttp-3.10.10-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:30ca7c3b94708a9d7ae76ff281b2f47d8eaf2579cd05971b5dc681db8caac6e1"}, - {file = "aiohttp-3.10.10-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:df9270660711670e68803107d55c2b5949c2e0f2e4896da176e1ecfc068b974a"}, - {file = "aiohttp-3.10.10-cp311-cp311-win32.whl", hash = "sha256:aafc8ee9b742ce75044ae9a4d3e60e3d918d15a4c2e08a6c3c3e38fa59b92d94"}, - {file = "aiohttp-3.10.10-cp311-cp311-win_amd64.whl", hash = "sha256:362f641f9071e5f3ee6f8e7d37d5ed0d95aae656adf4ef578313ee585b585959"}, - {file = "aiohttp-3.10.10-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:9294bbb581f92770e6ed5c19559e1e99255e4ca604a22c5c6397b2f9dd3ee42c"}, - {file = "aiohttp-3.10.10-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a8fa23fe62c436ccf23ff930149c047f060c7126eae3ccea005f0483f27b2e28"}, - {file = "aiohttp-3.10.10-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5c6a5b8c7926ba5d8545c7dd22961a107526562da31a7a32fa2456baf040939f"}, - {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:007ec22fbc573e5eb2fb7dec4198ef8f6bf2fe4ce20020798b2eb5d0abda6138"}, - {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9627cc1a10c8c409b5822a92d57a77f383b554463d1884008e051c32ab1b3742"}, - {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:50edbcad60d8f0e3eccc68da67f37268b5144ecc34d59f27a02f9611c1d4eec7"}, - {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a45d85cf20b5e0d0aa5a8dca27cce8eddef3292bc29d72dcad1641f4ed50aa16"}, - {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0b00807e2605f16e1e198f33a53ce3c4523114059b0c09c337209ae55e3823a8"}, - {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f2d4324a98062be0525d16f768a03e0bbb3b9fe301ceee99611dc9a7953124e6"}, - {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:438cd072f75bb6612f2aca29f8bd7cdf6e35e8f160bc312e49fbecab77c99e3a"}, - {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:baa42524a82f75303f714108fea528ccacf0386af429b69fff141ffef1c534f9"}, - {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a7d8d14fe962153fc681f6366bdec33d4356f98a3e3567782aac1b6e0e40109a"}, - {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c1277cd707c465cd09572a774559a3cc7c7a28802eb3a2a9472588f062097205"}, - {file = "aiohttp-3.10.10-cp312-cp312-win32.whl", hash = "sha256:59bb3c54aa420521dc4ce3cc2c3fe2ad82adf7b09403fa1f48ae45c0cbde6628"}, - {file = "aiohttp-3.10.10-cp312-cp312-win_amd64.whl", hash = "sha256:0e1b370d8007c4ae31ee6db7f9a2fe801a42b146cec80a86766e7ad5c4a259cf"}, - {file = "aiohttp-3.10.10-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ad7593bb24b2ab09e65e8a1d385606f0f47c65b5a2ae6c551db67d6653e78c28"}, - {file = "aiohttp-3.10.10-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1eb89d3d29adaf533588f209768a9c02e44e4baf832b08118749c5fad191781d"}, - {file = "aiohttp-3.10.10-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3fe407bf93533a6fa82dece0e74dbcaaf5d684e5a51862887f9eaebe6372cd79"}, - {file = "aiohttp-3.10.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50aed5155f819873d23520919e16703fc8925e509abbb1a1491b0087d1cd969e"}, - {file = "aiohttp-3.10.10-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4f05e9727ce409358baa615dbeb9b969db94324a79b5a5cea45d39bdb01d82e6"}, - {file = "aiohttp-3.10.10-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3dffb610a30d643983aeb185ce134f97f290f8935f0abccdd32c77bed9388b42"}, - {file = "aiohttp-3.10.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa6658732517ddabe22c9036479eabce6036655ba87a0224c612e1ae6af2087e"}, - {file = "aiohttp-3.10.10-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:741a46d58677d8c733175d7e5aa618d277cd9d880301a380fd296975a9cdd7bc"}, - {file = "aiohttp-3.10.10-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e00e3505cd80440f6c98c6d69269dcc2a119f86ad0a9fd70bccc59504bebd68a"}, - {file = "aiohttp-3.10.10-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ffe595f10566f8276b76dc3a11ae4bb7eba1aac8ddd75811736a15b0d5311414"}, - {file = "aiohttp-3.10.10-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:bdfcf6443637c148c4e1a20c48c566aa694fa5e288d34b20fcdc58507882fed3"}, - {file = "aiohttp-3.10.10-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:d183cf9c797a5291e8301790ed6d053480ed94070637bfaad914dd38b0981f67"}, - {file = "aiohttp-3.10.10-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:77abf6665ae54000b98b3c742bc6ea1d1fb31c394bcabf8b5d2c1ac3ebfe7f3b"}, - {file = "aiohttp-3.10.10-cp313-cp313-win32.whl", hash = "sha256:4470c73c12cd9109db8277287d11f9dd98f77fc54155fc71a7738a83ffcc8ea8"}, - {file = "aiohttp-3.10.10-cp313-cp313-win_amd64.whl", hash = "sha256:486f7aabfa292719a2753c016cc3a8f8172965cabb3ea2e7f7436c7f5a22a151"}, - {file = "aiohttp-3.10.10-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:1b66ccafef7336a1e1f0e389901f60c1d920102315a56df85e49552308fc0486"}, - {file = "aiohttp-3.10.10-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:acd48d5b80ee80f9432a165c0ac8cbf9253eaddb6113269a5e18699b33958dbb"}, - {file = "aiohttp-3.10.10-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3455522392fb15ff549d92fbf4b73b559d5e43dc522588f7eb3e54c3f38beee7"}, - {file = "aiohttp-3.10.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45c3b868724137f713a38376fef8120c166d1eadd50da1855c112fe97954aed8"}, - {file = "aiohttp-3.10.10-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:da1dee8948d2137bb51fbb8a53cce6b1bcc86003c6b42565f008438b806cccd8"}, - {file = "aiohttp-3.10.10-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c5ce2ce7c997e1971b7184ee37deb6ea9922ef5163c6ee5aa3c274b05f9e12fa"}, - {file = "aiohttp-3.10.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28529e08fde6f12eba8677f5a8608500ed33c086f974de68cc65ab218713a59d"}, - {file = "aiohttp-3.10.10-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f7db54c7914cc99d901d93a34704833568d86c20925b2762f9fa779f9cd2e70f"}, - {file = "aiohttp-3.10.10-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:03a42ac7895406220124c88911ebee31ba8b2d24c98507f4a8bf826b2937c7f2"}, - {file = "aiohttp-3.10.10-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:7e338c0523d024fad378b376a79faff37fafb3c001872a618cde1d322400a572"}, - {file = "aiohttp-3.10.10-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:038f514fe39e235e9fef6717fbf944057bfa24f9b3db9ee551a7ecf584b5b480"}, - {file = "aiohttp-3.10.10-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:64f6c17757251e2b8d885d728b6433d9d970573586a78b78ba8929b0f41d045a"}, - {file = "aiohttp-3.10.10-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:93429602396f3383a797a2a70e5f1de5df8e35535d7806c9f91df06f297e109b"}, - {file = "aiohttp-3.10.10-cp38-cp38-win32.whl", hash = "sha256:c823bc3971c44ab93e611ab1a46b1eafeae474c0c844aff4b7474287b75fe49c"}, - {file = "aiohttp-3.10.10-cp38-cp38-win_amd64.whl", hash = "sha256:54ca74df1be3c7ca1cf7f4c971c79c2daf48d9aa65dea1a662ae18926f5bc8ce"}, - {file = "aiohttp-3.10.10-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:01948b1d570f83ee7bbf5a60ea2375a89dfb09fd419170e7f5af029510033d24"}, - {file = "aiohttp-3.10.10-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9fc1500fd2a952c5c8e3b29aaf7e3cc6e27e9cfc0a8819b3bce48cc1b849e4cc"}, - {file = "aiohttp-3.10.10-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f614ab0c76397661b90b6851a030004dac502e48260ea10f2441abd2207fbcc7"}, - {file = "aiohttp-3.10.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00819de9e45d42584bed046314c40ea7e9aea95411b38971082cad449392b08c"}, - {file = "aiohttp-3.10.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05646ebe6b94cc93407b3bf34b9eb26c20722384d068eb7339de802154d61bc5"}, - {file = "aiohttp-3.10.10-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:998f3bd3cfc95e9424a6acd7840cbdd39e45bc09ef87533c006f94ac47296090"}, - {file = "aiohttp-3.10.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9010c31cd6fa59438da4e58a7f19e4753f7f264300cd152e7f90d4602449762"}, - {file = "aiohttp-3.10.10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ea7ffc6d6d6f8a11e6f40091a1040995cdff02cfc9ba4c2f30a516cb2633554"}, - {file = "aiohttp-3.10.10-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:ef9c33cc5cbca35808f6c74be11eb7f5f6b14d2311be84a15b594bd3e58b5527"}, - {file = "aiohttp-3.10.10-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:ce0cdc074d540265bfeb31336e678b4e37316849d13b308607efa527e981f5c2"}, - {file = "aiohttp-3.10.10-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:597a079284b7ee65ee102bc3a6ea226a37d2b96d0418cc9047490f231dc09fe8"}, - {file = "aiohttp-3.10.10-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:7789050d9e5d0c309c706953e5e8876e38662d57d45f936902e176d19f1c58ab"}, - {file = "aiohttp-3.10.10-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e7f8b04d83483577fd9200461b057c9f14ced334dcb053090cea1da9c8321a91"}, - {file = "aiohttp-3.10.10-cp39-cp39-win32.whl", hash = "sha256:c02a30b904282777d872266b87b20ed8cc0d1501855e27f831320f471d54d983"}, - {file = "aiohttp-3.10.10-cp39-cp39-win_amd64.whl", hash = "sha256:edfe3341033a6b53a5c522c802deb2079eee5cbfbb0af032a55064bd65c73a23"}, - {file = "aiohttp-3.10.10.tar.gz", hash = "sha256:0631dd7c9f0822cc61c88586ca76d5b5ada26538097d0f1df510b082bad3411a"}, + {file = "aiohttp-3.11.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2d2ca685c6a851ce64e511fbcb906e4dd97d13e567ca7ecb5cb30b184e15dc6d"}, + {file = "aiohttp-3.11.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:52913bb8a0a72a57479f54b281300c9d23036aa9aa3ebbc9a32a643484eadfc2"}, + {file = "aiohttp-3.11.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:35dafc70051b6cbd6dafb533b4e3f0df6225a4896be373ef86367b2987409331"}, + {file = "aiohttp-3.11.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:561b9596a9f90266673ef0b950c27e04ab597cdb53785e2ac91b83b33c31b509"}, + {file = "aiohttp-3.11.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d479c1fdcc920056a06d04059db52eb8590ecbbb3acdcaeeea26a88ff782e94a"}, + {file = "aiohttp-3.11.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9ce8eb6444bb6e862feca664ce365afa8e2e32db24dcf1a502719a8a002f9274"}, + {file = "aiohttp-3.11.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df9bf08eb93611b1d4d6245b6fecf88728e90eece00e00d554e1b0c445557d83"}, + {file = "aiohttp-3.11.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5a20ddaa58fea717177fac9a4a1fb8b39be868aa4fed2af6de4313b7a08f0f71"}, + {file = "aiohttp-3.11.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:9f4aadfea6b48cfa17aef1a68ba6bee5a0246374f5a588e299a4f4ff5bd1c77b"}, + {file = "aiohttp-3.11.8-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:aa7deebb4bc5143745e6282139d7b9de50beb6d06609df64d2c993ef496bc7eb"}, + {file = "aiohttp-3.11.8-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fe503a76b9e3a13b62e64545693c9463afe9d429e0909120f7bb66de91ed8bc2"}, + {file = "aiohttp-3.11.8-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1c5838a68e31712354129add1b5fe32b06aa05275f835130edc650e6288af05f"}, + {file = "aiohttp-3.11.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:832e58d9454fe501b0d092cdf660c0e34e16005f61acd06e1c79b0fc45019c94"}, + {file = "aiohttp-3.11.8-cp310-cp310-win32.whl", hash = "sha256:00618c37a350884c08e87cf9a6532be274d564227ac49e0b474cf41f27e1f190"}, + {file = "aiohttp-3.11.8-cp310-cp310-win_amd64.whl", hash = "sha256:8eeaac75203da1a54afe1faea3c855a1973026b54929112aa9b67bceadbcb0ca"}, + {file = "aiohttp-3.11.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f8dd02b44555893adfe7cc4b3b454fee04f9dcec45cf66ef5bb53ebf393f0505"}, + {file = "aiohttp-3.11.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:658052941324edea3dee1f681375e70779f55e437e07bdfc4b5bbe65ad53cefb"}, + {file = "aiohttp-3.11.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6c829471a9e2266da4a0666f8a9e215f19320f79778af379c1c7db324ac24ed2"}, + {file = "aiohttp-3.11.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d21951756690f5d86d0215da38eb0fd65def03b5e2a1c08a4a39718a6d0d48f2"}, + {file = "aiohttp-3.11.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2fa50ddc6b21cc1ae23e13524d6f75b27e279fdf5cf905b2df6fd171891ac4e2"}, + {file = "aiohttp-3.11.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2a5afbd805e449048ecebb1a256176e953d4ca9e48bab387d4d1c8524f1c7a95"}, + {file = "aiohttp-3.11.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea68db69f2a4ddc24b28b8e754fc0b963ed7f9b9a76137f06fe44643d6821fbd"}, + {file = "aiohttp-3.11.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:80b3ac163145660ce660aed2f1005e6d4de840d39728990b7250525eeec4e4a8"}, + {file = "aiohttp-3.11.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e9ac0cce897904b77e109e5403ed713187dbdf96832bfd061ac07164264be16c"}, + {file = "aiohttp-3.11.8-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3260c77cff4e35245bc517658bd54d7a64787f71f3c4f723877c82f22835b032"}, + {file = "aiohttp-3.11.8-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f7fd9c11ffad6b022bf02a41a70418cb2ab3b33f2c27842a5999e3ab78daf280"}, + {file = "aiohttp-3.11.8-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:16bda233a7b159ab08107e8858fedca90a9de287057fab54cafde51bd83f9819"}, + {file = "aiohttp-3.11.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4867008617bbf86e9fb5b00f72dd0e3a00a579b32233caff834320867f9b7cac"}, + {file = "aiohttp-3.11.8-cp311-cp311-win32.whl", hash = "sha256:17e6b9d8e29e3bfc7f893f327e92c9769d3582cee2fb1652c1431ac3f60115a0"}, + {file = "aiohttp-3.11.8-cp311-cp311-win_amd64.whl", hash = "sha256:7f3be4961a5c2c670f31caab7641a37ea2a97031f0d8ae15bcfd36b6bf273200"}, + {file = "aiohttp-3.11.8-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0e3b5bfef913d6be270c81976fbc0cbf66625cd92663bbb7e03b3adbd6aa4ac6"}, + {file = "aiohttp-3.11.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cb51a81cb637b9a072c9cfae1839e35c6579638861eb3479eb5d6e6ce8bc6782"}, + {file = "aiohttp-3.11.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:dd2ca84e5f7a35f313a62eb7d6a50bac6760b60bafce34586750712731c0aeff"}, + {file = "aiohttp-3.11.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:47c6663df9446aa848b478413219600da4b54bc0409e1ac4bc80fb1a81501363"}, + {file = "aiohttp-3.11.8-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c665ed4b52256614858b20711bbbd2755b0e19ec86870f8ff1645acf9ae9e760"}, + {file = "aiohttp-3.11.8-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35d4545e7684da7a954ffc2dce495462cb16a902dffdebe98572408f6aaaee83"}, + {file = "aiohttp-3.11.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85be3899e6860dd2cd3f4370ded6708e939d00d5ec922a8eb328d114db605a47"}, + {file = "aiohttp-3.11.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a0ed9f1f2697713c48efc9ec483ad5d062e4aa91854f090a3eba0b19c002851d"}, + {file = "aiohttp-3.11.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c0dbae99737badf3f5e862088a118e28d3b36f03eb608a6382eddfd68178e05b"}, + {file = "aiohttp-3.11.8-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:beae08f900b2980af4353a0200eb162b39f276fd8a6e43079a540f83964671f4"}, + {file = "aiohttp-3.11.8-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:d6f9e5fd1b3ecbaca3e04a15a02d1fa213248608caee99fd5bdddd4759959cf7"}, + {file = "aiohttp-3.11.8-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a7def89a41fe32120d89cd4577f5efbab3c52234c5890066ced8a2f7202dff88"}, + {file = "aiohttp-3.11.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:98f596cf59292e779bc387f22378a3d2c5e052c9fe2bf822ac4f547c6fe57758"}, + {file = "aiohttp-3.11.8-cp312-cp312-win32.whl", hash = "sha256:b64fa6b76b35b695cd3e5c42a4e568cbea8d41c9e59165e2a43da00976e2027e"}, + {file = "aiohttp-3.11.8-cp312-cp312-win_amd64.whl", hash = "sha256:afba47981ff73b1794c00dce774334dcfe62664b3b4f78f278b77d21ce9daf43"}, + {file = "aiohttp-3.11.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a81525430da5ca356fae6e889daeb6f5cc0d5f0cef88e59cdde48e2394ea1365"}, + {file = "aiohttp-3.11.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7565689e86a88c1d258351ebd14e343337b76a56ca5c0a2c1db96ec28149386f"}, + {file = "aiohttp-3.11.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d0f9dbe9763c014c408ad51a027dc9582518e992dc63e2ffe359ac1b4840a560"}, + {file = "aiohttp-3.11.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8ca580edc3ccd7f6ea76ad9cf59f5a8756d338e770b5eda7be26bcda8fa7ef53"}, + {file = "aiohttp-3.11.8-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7d141631a7348038fc7b5d1a81b3c9afa9aa056188ded7902fe754028fdea5c5"}, + {file = "aiohttp-3.11.8-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64e6b14608a56a4c76c60daac730b0c0eeaf9d10dfc3231f7fc26521a0d628fd"}, + {file = "aiohttp-3.11.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0983d0ce329f2f9dbeb355c3744bd6333f34e0dc56025b6b7d4f285b90acb51e"}, + {file = "aiohttp-3.11.8-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d96b93a46a3742880fa21bcb35c6c40cf27714ec0fb8ec85fe444d73b95131b9"}, + {file = "aiohttp-3.11.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f4f1779c3142d913c509c2ed1de8b8f920e07a5cd65ac1f57c61cfb6bfded5a4"}, + {file = "aiohttp-3.11.8-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:48be7cff468c9c0d86a02e6a826e1fe159094b16d5aa2c17703e7317f791b0f9"}, + {file = "aiohttp-3.11.8-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:daea456b79ca2bacc7f062845bbb1139c3b3231fc83169da5a682cf385416dd1"}, + {file = "aiohttp-3.11.8-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:c92e763cf641e10ad9342597d20060ba23de5e411aada96660e679e3f9371189"}, + {file = "aiohttp-3.11.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a750ee5a177e0f873d6b2d7d0fa6e1e7c658fc0ca8ea56438dcba2ac94bedb09"}, + {file = "aiohttp-3.11.8-cp313-cp313-win32.whl", hash = "sha256:4448c9c7f77bad48a6569062c0c16deb77fbb7363de1dc71ed087f66fb3b3c96"}, + {file = "aiohttp-3.11.8-cp313-cp313-win_amd64.whl", hash = "sha256:481075a1949de79a8a6841e0086f2f5f464785c592cf527ed0db2c0cbd0e1ba2"}, + {file = "aiohttp-3.11.8-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:72779bfb34d6d6b51e55a7f4901b410e416b5431738b367d49696928c91a2ca8"}, + {file = "aiohttp-3.11.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3e6523f39071a01757048985e4cc22d04aa130bc40d9128503f3a61a3ee98328"}, + {file = "aiohttp-3.11.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:220bbce18b3046973465be45415430f1cab39d7fdc40cbcf0a8c05485c6902fe"}, + {file = "aiohttp-3.11.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:336bbf7a33dd8cb4a7afb98c70e9935a81e5e88f7ac595ba2e84b1fb5da190d6"}, + {file = "aiohttp-3.11.8-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3c5e4f1ba5059b85e05c551961a448ce2689c6249ed6a2e2174796842c191d10"}, + {file = "aiohttp-3.11.8-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e9f9fd5c672c962389429abd11ed32c9c93f7932fd58584cae1e43951b141c6b"}, + {file = "aiohttp-3.11.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58bd94ad48143e1d42e05fc055da41de0a9933f378ad87760595b8aec83d317b"}, + {file = "aiohttp-3.11.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bf52642b12d70d78c18882915201bc5345f7c8f0f2ab8919d99b886aa6475a7"}, + {file = "aiohttp-3.11.8-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:fee12d8487b0df2b683424cca2a0d8fb7281d5607518d742e98119a74af01026"}, + {file = "aiohttp-3.11.8-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:65fd04f1fea668ad1af48ac31b752000e222dccffedcad3de8ccf9d34489ccd3"}, + {file = "aiohttp-3.11.8-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c3f397e0511a0ec4fe331e602fc057dfd336d352062deb9969ebd81e253a149c"}, + {file = "aiohttp-3.11.8-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:cf8f05f4abe3288fe2e106e1461fd20d8abf6103886ddfb6d746a5b8fb830d2b"}, + {file = "aiohttp-3.11.8-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7d71d4ac0792ff89541179394d303be846a0b6cd3821ae67286ee69ecec16f9f"}, + {file = "aiohttp-3.11.8-cp39-cp39-win32.whl", hash = "sha256:2b6f8716044ae5e5f2a3b4e4b6bfee48e97c8b2a92e56f43aadd728c7fd26b7d"}, + {file = "aiohttp-3.11.8-cp39-cp39-win_amd64.whl", hash = "sha256:da343903214bf9f9d314b913caa499fa19e26d73e6e23a3db7d4898ea6d47028"}, + {file = "aiohttp-3.11.8.tar.gz", hash = "sha256:7bc9d64a2350cbb29a9732334e1a0743cbb6844de1731cbdf5949b235653f3fd"}, ] [package.dependencies] @@ -117,7 +102,8 @@ aiosignal = ">=1.1.2" attrs = ">=17.3.0" frozenlist = ">=1.1.1" multidict = ">=4.5,<7.0" -yarl = ">=1.12.0,<2.0" +propcache = ">=0.2.0" +yarl = ">=1.17.0,<2.0" [package.extras] speedups = ["Brotli", "aiodns (>=3.2.0)", "brotlicffi"] @@ -283,19 +269,20 @@ azure-core = ">=1.31.0" [[package]] name = "azure-mgmt-resource" -version = "23.0.1" +version = "23.2.0" description = "Microsoft Azure Resource Management Client Library for Python" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "azure-mgmt-resource-23.0.1.zip", hash = "sha256:c2ba6cfd99df95f55f36eadc4245e3dc713257302a1fd0277756d94bd8cb28e0"}, - {file = "azure_mgmt_resource-23.0.1-py3-none-any.whl", hash = "sha256:f185eec72bbc39f42bcb83ae6f1bad744f0e3f20a12d9b2b3e70d16c74ad9cc0"}, + {file = "azure_mgmt_resource-23.2.0-py3-none-any.whl", hash = "sha256:7af2bca928ecd58e57ea7f7731d245f45e9d927036d82f1d30b96baa0c26b569"}, + {file = "azure_mgmt_resource-23.2.0.tar.gz", hash = "sha256:747b750df7af23ab30e53d3f36247ab0c16de1e267d666b1a5077c39a4292529"}, ] [package.dependencies] -azure-common = ">=1.1,<2.0" -azure-mgmt-core = ">=1.3.2,<2.0.0" -isodate = ">=0.6.1,<1.0.0" +azure-common = ">=1.1" +azure-mgmt-core = ">=1.3.2" +isodate = ">=0.6.1" +typing-extensions = ">=4.6.0" [[package]] name = "azure-mgmt-subscription" @@ -1906,7 +1893,10 @@ files = [ [package.dependencies] astroid = ">=3.3.4,<=3.4.0-dev0" colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} -dill = {version = ">=0.3.7", markers = "python_version >= \"3.12\""} +dill = [ + {version = ">=0.3.6", markers = "python_version >= \"3.11\""}, + {version = ">=0.3.7", markers = "python_version >= \"3.12\""}, +] isort = ">=4.2.5,<5.13.0 || >5.13.0,<6" mccabe = ">=0.6,<0.8" platformdirs = ">=2.2.0" @@ -2508,4 +2498,4 @@ propcache = ">=0.2.0" [metadata] lock-version = "2.0" python-versions = "^3.12" -content-hash = "6a0e203ac047d9d7466f7dfbb1c4f32a65bf62d387396d989e2e4238f626c3e2" +content-hash = "7f494f473282bbba57b20ede816416883d887ede6790adae2f1bae97f23a6176" diff --git a/integrations/azure/pyproject.toml b/integrations/azure/pyproject.toml index 7455c1ab58..401d713c35 100644 --- a/integrations/azure/pyproject.toml +++ b/integrations/azure/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "azure" -version = "0.1.107" +version = "0.1.108" description = "Azure integration" authors = ["Tom Tankilevitch "] @@ -8,7 +8,7 @@ authors = ["Tom Tankilevitch "] python = "^3.12" port_ocean = {version = "^0.14.3", extras = ["cli"]} # due to patching the azure-mgmt-resource package, we need to use a specific version -azure-mgmt-resource = "23.0.1" +azure-mgmt-resource = "23.2.0" azure-identity = "^1.13.0" aiohttp = "^3.9.4" cloudevents = "^1.9.0" diff --git a/integrations/datadog/.port/resources/blueprints.json b/integrations/datadog/.port/resources/blueprints.json index 7cafb1b431..033d5414a8 100644 --- a/integrations/datadog/.port/resources/blueprints.json +++ b/integrations/datadog/.port/resources/blueprints.json @@ -345,5 +345,69 @@ "many": false } } + }, + { + "identifier": "datadogCloudResource", + "description": "This blueprint represents a cloud resource in Datadog", + "title": "Datadog Cloud Resource", + "icon": "Datadog", + "schema": { + "properties": { + "up": { + "type": "boolean", + "title": "Is Running?", + "description": "Is the host up?" + }, + "host_name": { + "type": "string", + "title": "Host Name", + "description": "the name of the host" + }, + "description": { + "type": "string", + "title": "Description", + "description": "the host description" + }, + "platform": { + "type": "string", + "title": "Platform", + "description": "the host platform" + }, + "machine": { + "type": "string", + "title": "Machine", + "description": "The CPU architecture of the host machine (e.g., amd64, x86, x64, arm, arm64)." + }, + "cpu_cores": { + "type": "number", + "title": "CPU Cores", + "description": "the host CPU cores" + }, + "agent_version": { + "type": "string", + "title": "Datadog Agent Version", + "description": "the Datadog agent version installed on the host" + }, + "is_muted": { + "type": "boolean", + "title": "Is Host Muted?", + "description": "Indicates whether alerts for that specific host are temporarily suppressed." + }, + "sources": { + "title": "Sources", + "type": "array", + "description": "Source or cloud provider associated with your host." + }, + "tags": { + "title": "Tags", + "type": "object", + "description": "Tags associated with the host." + } + }, + "required": [] + }, + "mirrorProperties": {}, + "calculationProperties": {}, + "relations": {} } ] diff --git a/integrations/datadog/.port/resources/port-app-config.yaml b/integrations/datadog/.port/resources/port-app-config.yaml index edcc59ed7b..8b4de756d1 100644 --- a/integrations/datadog/.port/resources/port-app-config.yaml +++ b/integrations/datadog/.port/resources/port-app-config.yaml @@ -85,7 +85,7 @@ resources: selector: query: "true" timeframe: 30 - period_of_time_in_years: 12 + periodOfTimeInMonths: 6 port: entity: mappings: @@ -102,3 +102,25 @@ resources: timeframe: .__timeframe relations: slo: .slo.id + - kind: host + selector: + query: >- + [.sources[] | . as $source | ["azure", "gcp", "gce", "aws"] | + contains([$source])] | any(.) + port: + entity: + mappings: + blueprint: '"datadogCloudResource"' + identifier: .id | tostring + title: .aws_name // .host_name + properties: + up: .up + host_name: .host_name + platform: .meta.platform + is_muted: .is_muted + machine: .meta.machine + description: .description + sources: .sources + cpu_cores: .meta.cpuCores + agent_version: .meta.agent_version + tags: .tags_by_source diff --git a/integrations/datadog/CHANGELOG.md b/integrations/datadog/CHANGELOG.md index 09051c9a15..966170bb7c 100644 --- a/integrations/datadog/CHANGELOG.md +++ b/integrations/datadog/CHANGELOG.md @@ -7,6 +7,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 +## 0.1.59 (2024-12-2) + + +### Improvements + +- Added support for syncing cloud resources from Datadog. +- Included blueprints and entity mappings for cloud resource ingestion. + +## 0.1.58 (2024-11-28) + + +### Bug Fixes + +- Fixed SLO history configuration parsing and improved error handling: + - Added descriptive field documentation for configuration parameters + - Changed validation to use warnings instead of errors + - Fixed field alias to match schema + - Added detailed warning messages for troubleshooting + - Updated default period from 12 to 6 months for better performance + + ## 0.1.57 (2024-11-25) diff --git a/integrations/datadog/overrides.py b/integrations/datadog/overrides.py index cc916a1bfd..afe90ec6b3 100644 --- a/integrations/datadog/overrides.py +++ b/integrations/datadog/overrides.py @@ -7,7 +7,7 @@ Selector, ) from pydantic import Field, validator, BaseModel - +from loguru import logger from port_ocean.core.integrations.base import BaseIntegration @@ -18,13 +18,23 @@ class SLOHistorySelector(Selector): @validator("timeframe") def validate_timeframe_field(cls, v: int) -> int: if v < 1: - raise ValueError("timeframe must be greater than 0") + logger.warning( + f"The selector value 'timeframe' ({v}) must be greater than 0. " + f"This value determines the time window in days for each SLO history data point. " + f"Using default value of 7 days." + ) + return 7 return v @validator("period_of_time_in_months") - def validate_period_of_time_in_years(cls, v: int) -> int: - if v > 1: - raise ValueError("period_of_time_in_months must be less or equal to 12") + def validate_period_of_time_in_months(cls, v: int) -> int: + if v < 1 or v > 12: + logger.warning( + f"The selector value 'periodOfTimeInMonths' ({v}) must be between 1 and 12. " + f"This value determines how far back in time to fetch SLO history. " + f"Using default value of 6 months." + ) + return 6 return v diff --git a/integrations/datadog/pyproject.toml b/integrations/datadog/pyproject.toml index 441ce463aa..a65b8bdff4 100644 --- a/integrations/datadog/pyproject.toml +++ b/integrations/datadog/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "datadog" -version = "0.1.57" +version = "0.1.59" description = "Datadog Ocean Integration" authors = ["Albert Luganga "] diff --git a/integrations/dynatrace/.port/resources/blueprints.json b/integrations/dynatrace/.port/resources/blueprints.json index 153b5fa8c6..aee199f994 100644 --- a/integrations/dynatrace/.port/resources/blueprints.json +++ b/integrations/dynatrace/.port/resources/blueprints.json @@ -212,5 +212,45 @@ "mirrorProperties": {}, "calculationProperties": {}, "relations": {} + }, + { + "identifier": "dynatraceEntityCloudResource", + "description": "This blueprint represents a Dynatrace Entity", + "title": "Dynatrace Cloud Resource", + "icon": "Dynatrace", + "schema": { + "properties": { + "firstSeen": { + "type": "string", + "title": "First Seen", + "description": "The timestamp at which the entity was first seen, in UTC milliseconds.", + "format": "date-time" + }, + "lastSeen": { + "type": "string", + "title": "Last Seen", + "description": "The timestamp at which the entity was last seen, in UTC milliseconds.", + "format": "date-time" + }, + "type": { + "type": "string", + "title": "Type", + "description": "The type of the entity." + }, + "tags": { + "type": "array", + "title": "Tags", + "description": "A list of tags of the entity.", + "items": { + "type": "string" + } + } + }, + "required": [] + }, + "mirrorProperties": {}, + "calculationProperties": {}, + "aggregationProperties": {}, + "relations": {} } ] diff --git a/integrations/dynatrace/.port/resources/port-app-config.yaml b/integrations/dynatrace/.port/resources/port-app-config.yaml index d8ece6bf47..bb4809903b 100644 --- a/integrations/dynatrace/.port/resources/port-app-config.yaml +++ b/integrations/dynatrace/.port/resources/port-app-config.yaml @@ -60,3 +60,34 @@ resources: evaluatedPercentage: .evaluatedPercentage evaluationType: .evaluationType filter: .filter + + - kind: entity + selector: + query: 'true' + entityTypes: + - "cloud:gcp:k8s_cluster" + - "cloud:gcp:pubsub_subscription" + - "cloud:gcp:pubsub_topic" + - "cloud:gcp:gcs_bucket" + - "cloud:gcp:gae_app" + - "cloud:aws:acmprivateca" + - "cloud:aws:api_gateway" + - "cloud:aws:app_runner" + - "cloud:aws:appstream" + - "cloud:aws:appsync" + - "cloud:azure:apimanagement:service" + - "cloud:azure:app:containerapps" + - "cloud:azure:app:managedenvironments" + - "cloud:azure:appconfiguration:configurationstores" + - "cloud:azure:appplatform:spring" + port: + entity: + mappings: + identifier: .displayName | gsub(" "; "-") + title: .displayName + blueprint: '"dynatraceEntityCloudResource"' + properties: + firstSeen: .firstSeenTms / 1000 | todate + lastSeen: .lastSeenTms / 1000 | todate + type: .type + tags: .tags[].stringRepresentation diff --git a/integrations/dynatrace/CHANGELOG.md b/integrations/dynatrace/CHANGELOG.md index a08766c923..cb1bb43738 100644 --- a/integrations/dynatrace/CHANGELOG.md +++ b/integrations/dynatrace/CHANGELOG.md @@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 +## 0.1.70 (2024-11-25) + + +### Improvements + +- Added support for syncing cloud resources from Dynatrace. +- Included blueprints and entity mappings for cloud resource ingestion. + + ## 0.1.69 (2024-11-25) diff --git a/integrations/dynatrace/pyproject.toml b/integrations/dynatrace/pyproject.toml index a8bddc4c45..dd6ac68ef5 100644 --- a/integrations/dynatrace/pyproject.toml +++ b/integrations/dynatrace/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "dynatrace" -version = "0.1.69" +version = "0.1.70" description = "An integration used to import Dynatrace resources into Port" authors = ["Ayodeji Adeoti <>"] diff --git a/integrations/newrelic/.port/resources/blueprints.json b/integrations/newrelic/.port/resources/blueprints.json index 3a5e9edbc1..c117827e1c 100644 --- a/integrations/newrelic/.port/resources/blueprints.json +++ b/integrations/newrelic/.port/resources/blueprints.json @@ -187,5 +187,56 @@ "many": false } } + }, + { + "identifier": "newRelicEntityCloudResource", + "description": "This blueprint represents a New Relic cloud resource entity.", + "title": "New Relic Cloud Resource", + "icon": "NewRelic", + "schema": { + "properties": { + "accountId": { + "type": "string", + "title": "Account ID", + "description": "The New Relic account ID associated with the entity." + }, + "domain": { + "type": "string", + "title": "Domain", + "description": "The domain of the entity (e.g., INFRA, APM)." + }, + "type": { + "type": "string", + "title": "Entity Type", + "description": "The type of the entity." + }, + "infrastructureIntegrationType": { + "type": "string", + "title": "Infrastructure Integration Type", + "description": "The cloud provider integration type." + }, + "tags": { + "type": "object", + "title": "Tags", + "description": "Tags associated with the entity." + }, + "reporting": { + "type": "boolean", + "title": "Reporting", + "description": "Indicates if the entity is reporting data." + }, + "link": { + "type": "string", + "title": "Entity Link", + "description": "A link to the entity in New Relic.", + "format": "url" + } + }, + "required": [] + }, + "relations": {}, + "mirrorProperties": {}, + "calculationProperties": {}, + "aggregationProperties": {} } ] diff --git a/integrations/newrelic/.port/resources/port-app-config.yaml b/integrations/newrelic/.port/resources/port-app-config.yaml index 390b644cb4..ffc65ecc81 100644 --- a/integrations/newrelic/.port/resources/port-app-config.yaml +++ b/integrations/newrelic/.port/resources/port-app-config.yaml @@ -90,3 +90,33 @@ resources: tags: .tags relations: newRelicService: .serviceLevel.indicators[0].guid + - kind: entity + selector: + query: 'true' + entityQueryFilter: + type IN ( + 'AWSEC2INSTANCE', + 'AWSS3BUCKET', + 'AWSRDSDBINSTANCE', + 'AWSLAMBDAFUNCTION', + 'AWSELBLOADBALANCER', + 'AZUREVIRTUALMACHINE', + 'AZURESQLDATABASE', + 'GCPCOMPUTEINSTANCE', + 'GCPSTORAGEBUCKET', + 'GCPSQLDATABASEINSTANCE' + ) + port: + entity: + mappings: + identifier: .guid + title: .name + blueprint: '"newRelicEntityCloudResource"' + properties: + accountId: .accountId + domain: .domain + type: .entityType + infrastructureIntegrationType: .type + reporting: .reporting + link: .permalink + tags: .tags diff --git a/integrations/newrelic/CHANGELOG.md b/integrations/newrelic/CHANGELOG.md index b2bc605eb3..70966c418b 100644 --- a/integrations/newrelic/CHANGELOG.md +++ b/integrations/newrelic/CHANGELOG.md @@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 +## 0.1.100 (2024-11-25) + + +### Improvements + +- Added support for syncing cloud resources from New Relic. +- Included blueprints and entity mappings for cloud resource ingestion. + + ## 0.1.99 (2024-11-25) diff --git a/integrations/newrelic/pyproject.toml b/integrations/newrelic/pyproject.toml index 45516078af..dfac683659 100644 --- a/integrations/newrelic/pyproject.toml +++ b/integrations/newrelic/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "newrelic" -version = "0.1.99" +version = "0.1.100" description = "New Relic Integration" authors = ["Tom Tankilevitch "] diff --git a/integrations/pagerduty/.port/resources/blueprints.json b/integrations/pagerduty/.port/resources/blueprints.json index cf9391552c..39445a20fa 100644 --- a/integrations/pagerduty/.port/resources/blueprints.json +++ b/integrations/pagerduty/.port/resources/blueprints.json @@ -1,4 +1,69 @@ [ + { + "identifier": "pagerdutyUser", + "description": "This blueprint represents a PagerDuty user in our software catalog", + "title": "PagerDuty User", + "icon": "pagerduty", + "schema": { + "properties": { + "role": { + "icon": "DefaultProperty", + "title": "Role", + "type": "string", + "enum": [ + "admin", + "user", + "observer", + "limited_user", + "owner", + "read_only_user", + "restricted_access", + "read_only_limited_user" + ] + }, + "url": { + "icon": "DefaultProperty", + "type": "string", + "format": "url", + "title": "User URL" + }, + "job_title": { + "title": "Job Title", + "icon": "DefaultProperty", + "type": "string" + }, + "contact_methods": { + "title": "Contact Methods", + "icon": "DefaultProperty", + "type": "array" + }, + "description": { + "type": "string", + "title": "Description" + }, + "teams": { + "title": "Teams", + "icon": "DefaultProperty", + "type": "array" + }, + "time_zone": { + "icon": "DefaultProperty", + "type": "string", + "title": "Time Zone" + }, + "email": { + "type": "string", + "title": "Email", + "format": "user" + } + }, + "required": [] + }, + "mirrorProperties": {}, + "calculationProperties": {}, + "aggregationProperties": {}, + "relations": {} + }, { "identifier": "pagerdutyService", "description": "This blueprint represents a PagerDuty service in our software catalog", @@ -151,6 +216,10 @@ "title": "Updated At", "type": "string", "format": "date-time" + }, + "triggered_by": { + "type": "string", + "title": "Triggered By" } }, "required": [] diff --git a/integrations/pagerduty/.port/resources/port-app-config.yaml b/integrations/pagerduty/.port/resources/port-app-config.yaml index 1493a1690b..1715626d8e 100644 --- a/integrations/pagerduty/.port/resources/port-app-config.yaml +++ b/integrations/pagerduty/.port/resources/port-app-config.yaml @@ -25,6 +25,10 @@ resources: apiQueryParams: include: - assignees + - first_trigger_log_entries + statuses: + - triggered + - acknowledged port: entity: mappings: @@ -41,6 +45,34 @@ resources: updated_at: .updated_at priority: if .priority != null then .priority.summary else null end description: .description + triggered_by: .first_trigger_log_entry.agent.summary + relations: + pagerdutyService: .service.id + - kind: incidents + selector: + query: 'true' + apiQueryParams: + include: + - assignees + - first_trigger_log_entries + statuses: + - resolved + port: + entity: + mappings: + identifier: .id | tostring + title: .title + blueprint: '"pagerdutyIncident"' + properties: + status: .status + url: .html_url + urgency: .urgency + escalation_policy: .escalation_policy.summary + created_at: .created_at + updated_at: .updated_at + priority: if .priority != null then .priority.summary else null end + description: .description + triggered_by: .first_trigger_log_entry.agent.summary relations: pagerdutyService: .service.id - kind: schedules @@ -92,3 +124,21 @@ resources: description: .summary primaryOncall: .__oncall_users | sort_by(.escalation_level) | .[0].user.email escalationRules: .escalation_rules + - kind: users + selector: + query: "true" + port: + entity: + mappings: + identifier: .id + title: .name + blueprint: '"pagerdutyUser"' + properties: + url: .html_url + time_zone: .time_zone + email: .email + description: .description + role: .role + job_title: .job_title + teams: .teams + contact_methods: .contact_methods diff --git a/integrations/pagerduty/CHANGELOG.md b/integrations/pagerduty/CHANGELOG.md index 72159d2cba..58ef5076f7 100644 --- a/integrations/pagerduty/CHANGELOG.md +++ b/integrations/pagerduty/CHANGELOG.md @@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 +## 0.1.121 (2024-11-25) + + +### Improvements + +- Improved on the integration default resources for PagerDuty incidents kind +- Added blueprint and mapping for PagerDuty users +- Added logs to track the HTTP requests made to PagerDuty API +- Added a generic resync event handler to allow the integration to bring any valid resource from PagerDuty + + ## 0.1.120 (2024-11-25) diff --git a/integrations/pagerduty/clients/pagerduty.py b/integrations/pagerduty/clients/pagerduty.py index 1f8d14a772..5ad0a1a9e8 100644 --- a/integrations/pagerduty/clients/pagerduty.py +++ b/integrations/pagerduty/clients/pagerduty.py @@ -11,6 +11,7 @@ USER_KEY = "users" MAX_CONCURRENT_REQUESTS = 10 +PAGE_SIZE = 100 class PagerDutyClient: @@ -77,9 +78,17 @@ async def paginate_request_to_pager_duty( has_more_data = True while has_more_data: + logger.debug( + f"Fetching data for {resource} with offset: {offset} limit: {PAGE_SIZE} and params: {params}" + ) try: data = await self.send_api_request( - endpoint=resource, query_params={"offset": offset, **(params or {})} + endpoint=resource, + query_params={ + "offset": offset, + "limit": PAGE_SIZE, + **(params or {}), + }, ) yield data[resource] @@ -91,6 +100,11 @@ async def paginate_request_to_pager_duty( f"Got {e.response.status_code} status code while fetching paginated data: {str(e)}" ) raise + except httpx.HTTPError as e: + logger.error( + f"Got an HTTP error while fetching paginated data for {resource}: {str(e)}" + ) + raise async def get_singular_from_pager_duty( self, object_type: str, identifier: str diff --git a/integrations/pagerduty/integration.py b/integrations/pagerduty/integration.py index c250bad68e..dce06565de 100644 --- a/integrations/pagerduty/integration.py +++ b/integrations/pagerduty/integration.py @@ -24,6 +24,15 @@ class ObjectKind: ESCALATION_POLICIES = "escalation_policies" +OBJECTS_WITH_SPECIAL_HANDLING = [ + ObjectKind.SERVICES, + ObjectKind.INCIDENTS, + ObjectKind.SCHEDULES, + ObjectKind.ONCALLS, + ObjectKind.ESCALATION_POLICIES, +] + + class PagerdutyServiceAPIQueryParams(BaseModel): include: ( list[ @@ -203,9 +212,8 @@ class PagerdutyPortAppConfig(PortAppConfig): | PagerdutyScheduleResourceConfig | PagerdutyOncallResourceConfig | PagerdutyEscalationPolicyResourceConfig - ] = Field( - default_factory=list - ) # type: ignore + | ResourceConfig + ] = Field(default_factory=list) class PagerdutyIntegration(BaseIntegration): diff --git a/integrations/pagerduty/main.py b/integrations/pagerduty/main.py index a7ddde9b29..97c7be4646 100644 --- a/integrations/pagerduty/main.py +++ b/integrations/pagerduty/main.py @@ -10,6 +10,7 @@ from clients.pagerduty import PagerDutyClient from integration import ( ObjectKind, + OBJECTS_WITH_SPECIAL_HANDLING, PagerdutyEscalationPolicyResourceConfig, PagerdutyIncidentResourceConfig, PagerdutyOncallResourceConfig, @@ -175,6 +176,28 @@ async def on_escalation_policies_resync(kind: str) -> ASYNC_GENERATOR_RESYNC_TYP yield escalation_policies +@ocean.on_resync() +async def on_global_resync(kind: str) -> ASYNC_GENERATOR_RESYNC_TYPE: + + if kind in OBJECTS_WITH_SPECIAL_HANDLING: + logger.info(f"Kind {kind} has a special handling. Skipping...") + return + else: + pager_duty_client = initialize_client() + + try: + async for ( + resource_batch + ) in pager_duty_client.paginate_request_to_pager_duty(resource=kind): + logger.info(f"Received batch with {len(resource_batch)} {kind}") + yield resource_batch + except Exception as e: + logger.error( + f"Failed to fetch {kind} from Pagerduty due to error: {e}. For information on supported resources, please refer to our documentation at https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/incident-management/pagerduty/#supported-resources" + ) + raise e + + @ocean.router.post("/webhook") async def upsert_incident_webhook_handler(data: dict[str, Any]) -> None: pager_duty_client = initialize_client() diff --git a/integrations/pagerduty/pyproject.toml b/integrations/pagerduty/pyproject.toml index 77b4e26068..d9fcb18ba2 100644 --- a/integrations/pagerduty/pyproject.toml +++ b/integrations/pagerduty/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "pagerduty" -version = "0.1.120" +version = "0.1.121" description = "Pagerduty Integration" authors = ["Port Team "]