From 6e991e4d04368c156a5e1ad4199ee45f84f80f1c Mon Sep 17 00:00:00 2001 From: rddimon Date: Fri, 19 Jan 2024 17:04:37 +0200 Subject: [PATCH 1/2] Update AWS creds initialization --- CHANGELOG.md | 6 + README.md | 2 +- package-lock.json | 1381 ++++++++++++++++++++++++++++----- package.json | 5 +- src/aws/ec2-wrapper.ts | 15 + src/globals.ts | 15 + src/index.ts | 46 +- src/types.ts | 1 + test/unit-tests/index.test.ts | 57 +- 9 files changed, 1281 insertions(+), 247 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f8455ff..c3b99d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [5.0.1] - 2024-01-19 + +### Changed + +- Updated credentials initialization + ## [5.0.0] - 2023-12-15 ### Changed diff --git a/README.md b/README.md index 8174be4..de1f169 100644 --- a/README.md +++ b/README.md @@ -185,7 +185,7 @@ To run integration tests, set an environment variable TEST\_VPC\_NAME to the VPC ``` export AWS_PROFILE=your_profile export TEST_VPC_NAME=vpc_name -npm build +npm run build npm run integration-test ``` diff --git a/package-lock.json b/package-lock.json index c80f316..608b4cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,9 @@ "license": "MIT", "dependencies": { "@aws-sdk/client-ec2": "^3.467.0", + "@aws-sdk/credential-providers": "^3.495.0", + "@smithy/config-resolver": "^2.1.0", + "@smithy/node-config-provider": "^2.2.0", "@smithy/smithy-client": "^2.1.18", "@smithy/util-retry": "^2.0.8", "ts-md5": "^1.3.1" @@ -211,6 +214,465 @@ "node": ">=14.0.0" } }, + "node_modules/@aws-sdk/client-cognito-identity": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.495.0.tgz", + "integrity": "sha512-ODUGi2VKl+VO+NMx+32+vRUpj1A38XxwYKCA9KJMX/fVXmEispaENpKYnPGJz30QX6GBfdFBD6/KcqiyiQ/blA==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.495.0", + "@aws-sdk/core": "3.495.0", + "@aws-sdk/credential-provider-node": "3.495.0", + "@aws-sdk/middleware-host-header": "3.495.0", + "@aws-sdk/middleware-logger": "3.495.0", + "@aws-sdk/middleware-recursion-detection": "3.495.0", + "@aws-sdk/middleware-signing": "3.495.0", + "@aws-sdk/middleware-user-agent": "3.495.0", + "@aws-sdk/region-config-resolver": "3.495.0", + "@aws-sdk/types": "3.495.0", + "@aws-sdk/util-endpoints": "3.495.0", + "@aws-sdk/util-user-agent-browser": "3.495.0", + "@aws-sdk/util-user-agent-node": "3.495.0", + "@smithy/config-resolver": "^2.1.0", + "@smithy/core": "^1.3.0", + "@smithy/fetch-http-handler": "^2.4.0", + "@smithy/hash-node": "^2.1.0", + "@smithy/invalid-dependency": "^2.1.0", + "@smithy/middleware-content-length": "^2.1.0", + "@smithy/middleware-endpoint": "^2.4.0", + "@smithy/middleware-retry": "^2.1.0", + "@smithy/middleware-serde": "^2.1.0", + "@smithy/middleware-stack": "^2.1.0", + "@smithy/node-config-provider": "^2.2.0", + "@smithy/node-http-handler": "^2.3.0", + "@smithy/protocol-http": "^3.1.0", + "@smithy/smithy-client": "^2.3.0", + "@smithy/types": "^2.9.0", + "@smithy/url-parser": "^2.1.0", + "@smithy/util-base64": "^2.1.0", + "@smithy/util-body-length-browser": "^2.1.0", + "@smithy/util-body-length-node": "^2.2.0", + "@smithy/util-defaults-mode-browser": "^2.1.0", + "@smithy/util-defaults-mode-node": "^2.1.0", + "@smithy/util-endpoints": "^1.1.0", + "@smithy/util-retry": "^2.1.0", + "@smithy/util-utf8": "^2.1.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/client-sso": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.495.0.tgz", + "integrity": "sha512-Uerh3aDe/JeQNjcyXKI+8VuKPOAB6mCUKlScD0AIca1Kdyk8PsQTq4rDzFCYAQsNS5/BuPN+Ak0NqwsJM0agYA==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.495.0", + "@aws-sdk/middleware-host-header": "3.495.0", + "@aws-sdk/middleware-logger": "3.495.0", + "@aws-sdk/middleware-recursion-detection": "3.495.0", + "@aws-sdk/middleware-user-agent": "3.495.0", + "@aws-sdk/region-config-resolver": "3.495.0", + "@aws-sdk/types": "3.495.0", + "@aws-sdk/util-endpoints": "3.495.0", + "@aws-sdk/util-user-agent-browser": "3.495.0", + "@aws-sdk/util-user-agent-node": "3.495.0", + "@smithy/config-resolver": "^2.1.0", + "@smithy/core": "^1.3.0", + "@smithy/fetch-http-handler": "^2.4.0", + "@smithy/hash-node": "^2.1.0", + "@smithy/invalid-dependency": "^2.1.0", + "@smithy/middleware-content-length": "^2.1.0", + "@smithy/middleware-endpoint": "^2.4.0", + "@smithy/middleware-retry": "^2.1.0", + "@smithy/middleware-serde": "^2.1.0", + "@smithy/middleware-stack": "^2.1.0", + "@smithy/node-config-provider": "^2.2.0", + "@smithy/node-http-handler": "^2.3.0", + "@smithy/protocol-http": "^3.1.0", + "@smithy/smithy-client": "^2.3.0", + "@smithy/types": "^2.9.0", + "@smithy/url-parser": "^2.1.0", + "@smithy/util-base64": "^2.1.0", + "@smithy/util-body-length-browser": "^2.1.0", + "@smithy/util-body-length-node": "^2.2.0", + "@smithy/util-defaults-mode-browser": "^2.1.0", + "@smithy/util-defaults-mode-node": "^2.1.0", + "@smithy/util-endpoints": "^1.1.0", + "@smithy/util-retry": "^2.1.0", + "@smithy/util-utf8": "^2.1.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/client-sts": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.495.0.tgz", + "integrity": "sha512-lXQIx7D1MQ5+F8PaSYV7UiSxgP9M5ba/YFx1rcxi5l1GlbAWuHWhrk15qKe9d6vLxa2eTjJFiVzbO7pJqRBEWw==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.495.0", + "@aws-sdk/credential-provider-node": "3.495.0", + "@aws-sdk/middleware-host-header": "3.495.0", + "@aws-sdk/middleware-logger": "3.495.0", + "@aws-sdk/middleware-recursion-detection": "3.495.0", + "@aws-sdk/middleware-user-agent": "3.495.0", + "@aws-sdk/region-config-resolver": "3.495.0", + "@aws-sdk/types": "3.495.0", + "@aws-sdk/util-endpoints": "3.495.0", + "@aws-sdk/util-user-agent-browser": "3.495.0", + "@aws-sdk/util-user-agent-node": "3.495.0", + "@smithy/config-resolver": "^2.1.0", + "@smithy/core": "^1.3.0", + "@smithy/fetch-http-handler": "^2.4.0", + "@smithy/hash-node": "^2.1.0", + "@smithy/invalid-dependency": "^2.1.0", + "@smithy/middleware-content-length": "^2.1.0", + "@smithy/middleware-endpoint": "^2.4.0", + "@smithy/middleware-retry": "^2.1.0", + "@smithy/middleware-serde": "^2.1.0", + "@smithy/middleware-stack": "^2.1.0", + "@smithy/node-config-provider": "^2.2.0", + "@smithy/node-http-handler": "^2.3.0", + "@smithy/protocol-http": "^3.1.0", + "@smithy/smithy-client": "^2.3.0", + "@smithy/types": "^2.9.0", + "@smithy/url-parser": "^2.1.0", + "@smithy/util-base64": "^2.1.0", + "@smithy/util-body-length-browser": "^2.1.0", + "@smithy/util-body-length-node": "^2.2.0", + "@smithy/util-defaults-mode-browser": "^2.1.0", + "@smithy/util-defaults-mode-node": "^2.1.0", + "@smithy/util-endpoints": "^1.1.0", + "@smithy/util-middleware": "^2.1.0", + "@smithy/util-retry": "^2.1.0", + "@smithy/util-utf8": "^2.1.0", + "fast-xml-parser": "4.2.5", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/core": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.495.0.tgz", + "integrity": "sha512-TI/jq1cSUR+r1prJ9xXtxMO0u2/jXrWjf3Z2ekForsCObPtR9qkJCYyezargupoSJqZA60KUpOhxrKW/dFJ1rw==", + "dependencies": { + "@smithy/core": "^1.3.0", + "@smithy/protocol-http": "^3.1.0", + "@smithy/signature-v4": "^2.1.0", + "@smithy/smithy-client": "^2.3.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.495.0.tgz", + "integrity": "sha512-2CKlHiQRXyVA7t3VGXo39a/UwRrZs/VG0jYZFu60dK9afxesRkA4XOJto765VenT/eR3LkeVW+RBzOISHUFg0Q==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@smithy/property-provider": "^2.1.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.495.0.tgz", + "integrity": "sha512-DGRfND+FIacuQQNozMa8fS4yUrWZgkB6CEH4ghiqUvtE7h2sGMMVEerlaCGgTnQlpWWvDS656orzwEO3vuMTVw==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.495.0", + "@aws-sdk/credential-provider-process": "3.495.0", + "@aws-sdk/credential-provider-sso": "3.495.0", + "@aws-sdk/credential-provider-web-identity": "3.495.0", + "@aws-sdk/types": "3.495.0", + "@smithy/credential-provider-imds": "^2.2.0", + "@smithy/property-provider": "^2.1.0", + "@smithy/shared-ini-file-loader": "^2.3.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/credential-provider-node": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.495.0.tgz", + "integrity": "sha512-OH3lV7erPLNxkZQ+QBEgX353mseelBaHutyJNFKdgCYMZUhENu2DNTvkasGtwA24TqG0sRiuO2yNhpqP8IF+LA==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.495.0", + "@aws-sdk/credential-provider-ini": "3.495.0", + "@aws-sdk/credential-provider-process": "3.495.0", + "@aws-sdk/credential-provider-sso": "3.495.0", + "@aws-sdk/credential-provider-web-identity": "3.495.0", + "@aws-sdk/types": "3.495.0", + "@smithy/credential-provider-imds": "^2.2.0", + "@smithy/property-provider": "^2.1.0", + "@smithy/shared-ini-file-loader": "^2.3.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.495.0.tgz", + "integrity": "sha512-AouHJtg5qXeqzlY5plqbBkQPea1Kd3/tz9wfN+d5gbTUsDBlV7R6IinzhJWWgniS0jsaEOronlCXLIEOWUzTsw==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@smithy/property-provider": "^2.1.0", + "@smithy/shared-ini-file-loader": "^2.3.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.495.0.tgz", + "integrity": "sha512-brbgLtws+jmBPm6FrQ0CT2mHCgFKdopwxJj/4+j//OH0aAgzBH5gOztoDu1R556KU9K8Co220J79gJWV3s40zQ==", + "dependencies": { + "@aws-sdk/client-sso": "3.495.0", + "@aws-sdk/token-providers": "3.495.0", + "@aws-sdk/types": "3.495.0", + "@smithy/property-provider": "^2.1.0", + "@smithy/shared-ini-file-loader": "^2.3.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.495.0.tgz", + "integrity": "sha512-w4S01mdQZ8kQn4J6CM2Fgral9xtNBh8h5i4DWSOwFxfiokott59zDoFMWJRUdUHzXsnAGULC8+wJ4VeiZZBq1Q==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@smithy/property-provider": "^2.1.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/middleware-host-header": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.495.0.tgz", + "integrity": "sha512-qqE6mVxbyJwn59NQMvtYyaZT3GEZnmsvBUry3sDtU7Be1g9w5OKhY4CnAAQyXZI288iQUtyxxDh+hnSLy6RFjA==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@smithy/protocol-http": "^3.1.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/middleware-logger": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.495.0.tgz", + "integrity": "sha512-sgmr9fpCSg3rFvMnvfKeN7dhY+AmUpZPPWyc+s1kgQONeLUUxQkbdqR2/V+tz2ZPxUBD2dToTG/JhtMcIKmt4Q==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.495.0.tgz", + "integrity": "sha512-jhuOcLsMrHengJy/oz6Waumwx/vtSMKnEbROR7qZ7CaTDHRUbriPYXGen7CHCs/6aWN0UeI3JBAqwlnSW5tpIg==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@smithy/protocol-http": "^3.1.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/middleware-signing": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.495.0.tgz", + "integrity": "sha512-QZuWRo6JQ7UKeHzqqnP/qmUXirVKXSMXSEFtpOHio/JkQPASVlD1TNs5L6RL7dKrnqLrg/jpTiw4b0UdAU8kOw==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@smithy/property-provider": "^2.1.0", + "@smithy/protocol-http": "^3.1.0", + "@smithy/signature-v4": "^2.1.0", + "@smithy/types": "^2.9.0", + "@smithy/util-middleware": "^2.1.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.495.0.tgz", + "integrity": "sha512-n+lC43Z7+LyAF7b63bR+e5pBmBqPaqh4gupEmrORc4wKsX7U4OncDPiVn5jPD7ZC3IZbLeTuDsjQOK8Ev+Hraw==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@aws-sdk/util-endpoints": "3.495.0", + "@smithy/protocol-http": "^3.1.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/region-config-resolver": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.495.0.tgz", + "integrity": "sha512-ZgixNb+8dWUvc42Uso2fh38U7W7wW4OESUmQIFQzYW58B1ylZ4xuq/mo0xSY5b5j6u/+pJadvlIpx/QYBafVHg==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@smithy/node-config-provider": "^2.2.0", + "@smithy/types": "^2.9.0", + "@smithy/util-config-provider": "^2.2.0", + "@smithy/util-middleware": "^2.1.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/token-providers": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.495.0.tgz", + "integrity": "sha512-1JSEx82FMKNNtPoV5NRpFxi0XHgfvonCKb4+2lR/k4nljqeysZPnOaIW/7C1eAwhoJ6buEIVxoHscemBtdKo+A==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/middleware-host-header": "3.495.0", + "@aws-sdk/middleware-logger": "3.495.0", + "@aws-sdk/middleware-recursion-detection": "3.495.0", + "@aws-sdk/middleware-user-agent": "3.495.0", + "@aws-sdk/region-config-resolver": "3.495.0", + "@aws-sdk/types": "3.495.0", + "@aws-sdk/util-endpoints": "3.495.0", + "@aws-sdk/util-user-agent-browser": "3.495.0", + "@aws-sdk/util-user-agent-node": "3.495.0", + "@smithy/config-resolver": "^2.1.0", + "@smithy/fetch-http-handler": "^2.4.0", + "@smithy/hash-node": "^2.1.0", + "@smithy/invalid-dependency": "^2.1.0", + "@smithy/middleware-content-length": "^2.1.0", + "@smithy/middleware-endpoint": "^2.4.0", + "@smithy/middleware-retry": "^2.1.0", + "@smithy/middleware-serde": "^2.1.0", + "@smithy/middleware-stack": "^2.1.0", + "@smithy/node-config-provider": "^2.2.0", + "@smithy/node-http-handler": "^2.3.0", + "@smithy/property-provider": "^2.1.0", + "@smithy/protocol-http": "^3.1.0", + "@smithy/shared-ini-file-loader": "^2.3.0", + "@smithy/smithy-client": "^2.3.0", + "@smithy/types": "^2.9.0", + "@smithy/url-parser": "^2.1.0", + "@smithy/util-base64": "^2.1.0", + "@smithy/util-body-length-browser": "^2.1.0", + "@smithy/util-body-length-node": "^2.2.0", + "@smithy/util-defaults-mode-browser": "^2.1.0", + "@smithy/util-defaults-mode-node": "^2.1.0", + "@smithy/util-endpoints": "^1.1.0", + "@smithy/util-retry": "^2.1.0", + "@smithy/util-utf8": "^2.1.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/types": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.495.0.tgz", + "integrity": "sha512-KUpo2U1rD4U6gT1QNPUJGmbQnruvIJmPeuyKndil6h2zkCpG5I0AHE8ixpfuBbizIZQOIA/26pArQivDChOD9A==", + "dependencies": { + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/util-endpoints": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.495.0.tgz", + "integrity": "sha512-pMJ6rb16y51I4G33xtinkXAXH/2mQ0WZCwoh1sNkCM2MUfZDw9zAyP+PvB2tpEytQX8Fc7bR4qIP+td+pPEXAg==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@smithy/types": "^2.9.0", + "@smithy/util-endpoints": "^1.1.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.495.0.tgz", + "integrity": "sha512-CIlY54aKahUqF4kygbMkDkFRc9t+8Km/r+IWapy91h0Exy84V+S47MJdAelsMg8Id6hZ47jWmuuzz5UcjU/+sQ==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@smithy/types": "^2.9.0", + "bowser": "^2.11.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.495.0.tgz", + "integrity": "sha512-BbEwwh9SCtMrcNES0u4q5/8BjAKkOiHGia0gDSlQHOmEzXxYvhx0ByRMaPeprL06iESFa6HcleJWenWktfxk3g==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@smithy/node-config-provider": "^2.2.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, "node_modules/@aws-sdk/client-ec2": { "version": "3.467.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-ec2/-/client-ec2-3.467.0.tgz", @@ -427,6 +889,33 @@ "node": ">=14.0.0" } }, + "node_modules/@aws-sdk/credential-provider-cognito-identity": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.495.0.tgz", + "integrity": "sha512-YN24LlhhglmADISecz1R963TY6r+zySpUzCbYYTnJQqBL8YNSJqT7TM1ia9H4zsqqP4iIMFH+MXDqElooaKekQ==", + "dependencies": { + "@aws-sdk/client-cognito-identity": "3.495.0", + "@aws-sdk/types": "3.495.0", + "@smithy/property-provider": "^2.1.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-cognito-identity/node_modules/@aws-sdk/types": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.495.0.tgz", + "integrity": "sha512-KUpo2U1rD4U6gT1QNPUJGmbQnruvIJmPeuyKndil6h2zkCpG5I0AHE8ixpfuBbizIZQOIA/26pArQivDChOD9A==", + "dependencies": { + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@aws-sdk/credential-provider-env": { "version": "3.465.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.465.0.tgz", @@ -441,6 +930,37 @@ "node": ">=14.0.0" } }, + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.495.0.tgz", + "integrity": "sha512-7C3/Pf/Zt5WpWvTqGvPe4JKKJOulLaQ2M4tL37AarKTKHdfRjhBnAaPcTfjbyabw6Egaeu6QUEpBy9baF3aFtQ==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@smithy/fetch-http-handler": "^2.4.0", + "@smithy/node-http-handler": "^2.3.0", + "@smithy/property-provider": "^2.1.0", + "@smithy/protocol-http": "^3.1.0", + "@smithy/smithy-client": "^2.3.0", + "@smithy/types": "^2.9.0", + "@smithy/util-stream": "^2.1.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-http/node_modules/@aws-sdk/types": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.495.0.tgz", + "integrity": "sha512-KUpo2U1rD4U6gT1QNPUJGmbQnruvIJmPeuyKndil6h2zkCpG5I0AHE8ixpfuBbizIZQOIA/26pArQivDChOD9A==", + "dependencies": { + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@aws-sdk/credential-provider-ini": { "version": "3.465.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.465.0.tgz", @@ -528,6 +1048,424 @@ "node": ">=14.0.0" } }, + "node_modules/@aws-sdk/credential-providers": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.495.0.tgz", + "integrity": "sha512-hVNhG8fLkB8iy0e7zF6WH+C5fP84EIk9zFPo3b6pIdv9VItPIuuhCi7Mww7er3rQs4rqG16QO7icx5vGuOKLKA==", + "dependencies": { + "@aws-sdk/client-cognito-identity": "3.495.0", + "@aws-sdk/client-sso": "3.495.0", + "@aws-sdk/client-sts": "3.495.0", + "@aws-sdk/credential-provider-cognito-identity": "3.495.0", + "@aws-sdk/credential-provider-env": "3.495.0", + "@aws-sdk/credential-provider-http": "3.495.0", + "@aws-sdk/credential-provider-ini": "3.495.0", + "@aws-sdk/credential-provider-node": "3.495.0", + "@aws-sdk/credential-provider-process": "3.495.0", + "@aws-sdk/credential-provider-sso": "3.495.0", + "@aws-sdk/credential-provider-web-identity": "3.495.0", + "@aws-sdk/types": "3.495.0", + "@smithy/credential-provider-imds": "^2.2.0", + "@smithy/property-provider": "^2.1.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-providers/node_modules/@aws-sdk/client-sso": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.495.0.tgz", + "integrity": "sha512-Uerh3aDe/JeQNjcyXKI+8VuKPOAB6mCUKlScD0AIca1Kdyk8PsQTq4rDzFCYAQsNS5/BuPN+Ak0NqwsJM0agYA==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.495.0", + "@aws-sdk/middleware-host-header": "3.495.0", + "@aws-sdk/middleware-logger": "3.495.0", + "@aws-sdk/middleware-recursion-detection": "3.495.0", + "@aws-sdk/middleware-user-agent": "3.495.0", + "@aws-sdk/region-config-resolver": "3.495.0", + "@aws-sdk/types": "3.495.0", + "@aws-sdk/util-endpoints": "3.495.0", + "@aws-sdk/util-user-agent-browser": "3.495.0", + "@aws-sdk/util-user-agent-node": "3.495.0", + "@smithy/config-resolver": "^2.1.0", + "@smithy/core": "^1.3.0", + "@smithy/fetch-http-handler": "^2.4.0", + "@smithy/hash-node": "^2.1.0", + "@smithy/invalid-dependency": "^2.1.0", + "@smithy/middleware-content-length": "^2.1.0", + "@smithy/middleware-endpoint": "^2.4.0", + "@smithy/middleware-retry": "^2.1.0", + "@smithy/middleware-serde": "^2.1.0", + "@smithy/middleware-stack": "^2.1.0", + "@smithy/node-config-provider": "^2.2.0", + "@smithy/node-http-handler": "^2.3.0", + "@smithy/protocol-http": "^3.1.0", + "@smithy/smithy-client": "^2.3.0", + "@smithy/types": "^2.9.0", + "@smithy/url-parser": "^2.1.0", + "@smithy/util-base64": "^2.1.0", + "@smithy/util-body-length-browser": "^2.1.0", + "@smithy/util-body-length-node": "^2.2.0", + "@smithy/util-defaults-mode-browser": "^2.1.0", + "@smithy/util-defaults-mode-node": "^2.1.0", + "@smithy/util-endpoints": "^1.1.0", + "@smithy/util-retry": "^2.1.0", + "@smithy/util-utf8": "^2.1.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-providers/node_modules/@aws-sdk/client-sts": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.495.0.tgz", + "integrity": "sha512-lXQIx7D1MQ5+F8PaSYV7UiSxgP9M5ba/YFx1rcxi5l1GlbAWuHWhrk15qKe9d6vLxa2eTjJFiVzbO7pJqRBEWw==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.495.0", + "@aws-sdk/credential-provider-node": "3.495.0", + "@aws-sdk/middleware-host-header": "3.495.0", + "@aws-sdk/middleware-logger": "3.495.0", + "@aws-sdk/middleware-recursion-detection": "3.495.0", + "@aws-sdk/middleware-user-agent": "3.495.0", + "@aws-sdk/region-config-resolver": "3.495.0", + "@aws-sdk/types": "3.495.0", + "@aws-sdk/util-endpoints": "3.495.0", + "@aws-sdk/util-user-agent-browser": "3.495.0", + "@aws-sdk/util-user-agent-node": "3.495.0", + "@smithy/config-resolver": "^2.1.0", + "@smithy/core": "^1.3.0", + "@smithy/fetch-http-handler": "^2.4.0", + "@smithy/hash-node": "^2.1.0", + "@smithy/invalid-dependency": "^2.1.0", + "@smithy/middleware-content-length": "^2.1.0", + "@smithy/middleware-endpoint": "^2.4.0", + "@smithy/middleware-retry": "^2.1.0", + "@smithy/middleware-serde": "^2.1.0", + "@smithy/middleware-stack": "^2.1.0", + "@smithy/node-config-provider": "^2.2.0", + "@smithy/node-http-handler": "^2.3.0", + "@smithy/protocol-http": "^3.1.0", + "@smithy/smithy-client": "^2.3.0", + "@smithy/types": "^2.9.0", + "@smithy/url-parser": "^2.1.0", + "@smithy/util-base64": "^2.1.0", + "@smithy/util-body-length-browser": "^2.1.0", + "@smithy/util-body-length-node": "^2.2.0", + "@smithy/util-defaults-mode-browser": "^2.1.0", + "@smithy/util-defaults-mode-node": "^2.1.0", + "@smithy/util-endpoints": "^1.1.0", + "@smithy/util-middleware": "^2.1.0", + "@smithy/util-retry": "^2.1.0", + "@smithy/util-utf8": "^2.1.0", + "fast-xml-parser": "4.2.5", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-providers/node_modules/@aws-sdk/core": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.495.0.tgz", + "integrity": "sha512-TI/jq1cSUR+r1prJ9xXtxMO0u2/jXrWjf3Z2ekForsCObPtR9qkJCYyezargupoSJqZA60KUpOhxrKW/dFJ1rw==", + "dependencies": { + "@smithy/core": "^1.3.0", + "@smithy/protocol-http": "^3.1.0", + "@smithy/signature-v4": "^2.1.0", + "@smithy/smithy-client": "^2.3.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-providers/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.495.0.tgz", + "integrity": "sha512-2CKlHiQRXyVA7t3VGXo39a/UwRrZs/VG0jYZFu60dK9afxesRkA4XOJto765VenT/eR3LkeVW+RBzOISHUFg0Q==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@smithy/property-provider": "^2.1.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-providers/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.495.0.tgz", + "integrity": "sha512-DGRfND+FIacuQQNozMa8fS4yUrWZgkB6CEH4ghiqUvtE7h2sGMMVEerlaCGgTnQlpWWvDS656orzwEO3vuMTVw==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.495.0", + "@aws-sdk/credential-provider-process": "3.495.0", + "@aws-sdk/credential-provider-sso": "3.495.0", + "@aws-sdk/credential-provider-web-identity": "3.495.0", + "@aws-sdk/types": "3.495.0", + "@smithy/credential-provider-imds": "^2.2.0", + "@smithy/property-provider": "^2.1.0", + "@smithy/shared-ini-file-loader": "^2.3.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-providers/node_modules/@aws-sdk/credential-provider-node": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.495.0.tgz", + "integrity": "sha512-OH3lV7erPLNxkZQ+QBEgX353mseelBaHutyJNFKdgCYMZUhENu2DNTvkasGtwA24TqG0sRiuO2yNhpqP8IF+LA==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.495.0", + "@aws-sdk/credential-provider-ini": "3.495.0", + "@aws-sdk/credential-provider-process": "3.495.0", + "@aws-sdk/credential-provider-sso": "3.495.0", + "@aws-sdk/credential-provider-web-identity": "3.495.0", + "@aws-sdk/types": "3.495.0", + "@smithy/credential-provider-imds": "^2.2.0", + "@smithy/property-provider": "^2.1.0", + "@smithy/shared-ini-file-loader": "^2.3.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-providers/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.495.0.tgz", + "integrity": "sha512-AouHJtg5qXeqzlY5plqbBkQPea1Kd3/tz9wfN+d5gbTUsDBlV7R6IinzhJWWgniS0jsaEOronlCXLIEOWUzTsw==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@smithy/property-provider": "^2.1.0", + "@smithy/shared-ini-file-loader": "^2.3.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-providers/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.495.0.tgz", + "integrity": "sha512-brbgLtws+jmBPm6FrQ0CT2mHCgFKdopwxJj/4+j//OH0aAgzBH5gOztoDu1R556KU9K8Co220J79gJWV3s40zQ==", + "dependencies": { + "@aws-sdk/client-sso": "3.495.0", + "@aws-sdk/token-providers": "3.495.0", + "@aws-sdk/types": "3.495.0", + "@smithy/property-provider": "^2.1.0", + "@smithy/shared-ini-file-loader": "^2.3.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-providers/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.495.0.tgz", + "integrity": "sha512-w4S01mdQZ8kQn4J6CM2Fgral9xtNBh8h5i4DWSOwFxfiokott59zDoFMWJRUdUHzXsnAGULC8+wJ4VeiZZBq1Q==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@smithy/property-provider": "^2.1.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-providers/node_modules/@aws-sdk/middleware-host-header": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.495.0.tgz", + "integrity": "sha512-qqE6mVxbyJwn59NQMvtYyaZT3GEZnmsvBUry3sDtU7Be1g9w5OKhY4CnAAQyXZI288iQUtyxxDh+hnSLy6RFjA==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@smithy/protocol-http": "^3.1.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-providers/node_modules/@aws-sdk/middleware-logger": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.495.0.tgz", + "integrity": "sha512-sgmr9fpCSg3rFvMnvfKeN7dhY+AmUpZPPWyc+s1kgQONeLUUxQkbdqR2/V+tz2ZPxUBD2dToTG/JhtMcIKmt4Q==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-providers/node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.495.0.tgz", + "integrity": "sha512-jhuOcLsMrHengJy/oz6Waumwx/vtSMKnEbROR7qZ7CaTDHRUbriPYXGen7CHCs/6aWN0UeI3JBAqwlnSW5tpIg==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@smithy/protocol-http": "^3.1.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-providers/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.495.0.tgz", + "integrity": "sha512-n+lC43Z7+LyAF7b63bR+e5pBmBqPaqh4gupEmrORc4wKsX7U4OncDPiVn5jPD7ZC3IZbLeTuDsjQOK8Ev+Hraw==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@aws-sdk/util-endpoints": "3.495.0", + "@smithy/protocol-http": "^3.1.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-providers/node_modules/@aws-sdk/region-config-resolver": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.495.0.tgz", + "integrity": "sha512-ZgixNb+8dWUvc42Uso2fh38U7W7wW4OESUmQIFQzYW58B1ylZ4xuq/mo0xSY5b5j6u/+pJadvlIpx/QYBafVHg==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@smithy/node-config-provider": "^2.2.0", + "@smithy/types": "^2.9.0", + "@smithy/util-config-provider": "^2.2.0", + "@smithy/util-middleware": "^2.1.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-providers/node_modules/@aws-sdk/token-providers": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.495.0.tgz", + "integrity": "sha512-1JSEx82FMKNNtPoV5NRpFxi0XHgfvonCKb4+2lR/k4nljqeysZPnOaIW/7C1eAwhoJ6buEIVxoHscemBtdKo+A==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/middleware-host-header": "3.495.0", + "@aws-sdk/middleware-logger": "3.495.0", + "@aws-sdk/middleware-recursion-detection": "3.495.0", + "@aws-sdk/middleware-user-agent": "3.495.0", + "@aws-sdk/region-config-resolver": "3.495.0", + "@aws-sdk/types": "3.495.0", + "@aws-sdk/util-endpoints": "3.495.0", + "@aws-sdk/util-user-agent-browser": "3.495.0", + "@aws-sdk/util-user-agent-node": "3.495.0", + "@smithy/config-resolver": "^2.1.0", + "@smithy/fetch-http-handler": "^2.4.0", + "@smithy/hash-node": "^2.1.0", + "@smithy/invalid-dependency": "^2.1.0", + "@smithy/middleware-content-length": "^2.1.0", + "@smithy/middleware-endpoint": "^2.4.0", + "@smithy/middleware-retry": "^2.1.0", + "@smithy/middleware-serde": "^2.1.0", + "@smithy/middleware-stack": "^2.1.0", + "@smithy/node-config-provider": "^2.2.0", + "@smithy/node-http-handler": "^2.3.0", + "@smithy/property-provider": "^2.1.0", + "@smithy/protocol-http": "^3.1.0", + "@smithy/shared-ini-file-loader": "^2.3.0", + "@smithy/smithy-client": "^2.3.0", + "@smithy/types": "^2.9.0", + "@smithy/url-parser": "^2.1.0", + "@smithy/util-base64": "^2.1.0", + "@smithy/util-body-length-browser": "^2.1.0", + "@smithy/util-body-length-node": "^2.2.0", + "@smithy/util-defaults-mode-browser": "^2.1.0", + "@smithy/util-defaults-mode-node": "^2.1.0", + "@smithy/util-endpoints": "^1.1.0", + "@smithy/util-retry": "^2.1.0", + "@smithy/util-utf8": "^2.1.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-providers/node_modules/@aws-sdk/types": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.495.0.tgz", + "integrity": "sha512-KUpo2U1rD4U6gT1QNPUJGmbQnruvIJmPeuyKndil6h2zkCpG5I0AHE8ixpfuBbizIZQOIA/26pArQivDChOD9A==", + "dependencies": { + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-providers/node_modules/@aws-sdk/util-endpoints": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.495.0.tgz", + "integrity": "sha512-pMJ6rb16y51I4G33xtinkXAXH/2mQ0WZCwoh1sNkCM2MUfZDw9zAyP+PvB2tpEytQX8Fc7bR4qIP+td+pPEXAg==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@smithy/types": "^2.9.0", + "@smithy/util-endpoints": "^1.1.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-providers/node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.495.0.tgz", + "integrity": "sha512-CIlY54aKahUqF4kygbMkDkFRc9t+8Km/r+IWapy91h0Exy84V+S47MJdAelsMg8Id6hZ47jWmuuzz5UcjU/+sQ==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@smithy/types": "^2.9.0", + "bowser": "^2.11.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@aws-sdk/credential-providers/node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.495.0.tgz", + "integrity": "sha512-BbEwwh9SCtMrcNES0u4q5/8BjAKkOiHGia0gDSlQHOmEzXxYvhx0ByRMaPeprL06iESFa6HcleJWenWktfxk3g==", + "dependencies": { + "@aws-sdk/types": "3.495.0", + "@smithy/node-config-provider": "^2.2.0", + "@smithy/types": "^2.9.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, "node_modules/@aws-sdk/middleware-host-header": { "version": "3.465.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.465.0.tgz", @@ -1991,11 +2929,11 @@ "dev": true }, "node_modules/@smithy/abort-controller": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.15.tgz", - "integrity": "sha512-JkS36PIS3/UCbq/MaozzV7jECeL+BTt4R75bwY8i+4RASys4xOyUS1HsRyUNSqUXFP4QyCz5aNnh3ltuaxv+pw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.1.0.tgz", + "integrity": "sha512-fyPlWpzXyKzDVRRMUbsfH7AV/2xX+dyZ5RqeEo6Hjz9YUvDMGVSnm88iHH0zqZ+XmH4+sH4+mhwRL76HXX65uw==", "dependencies": { - "@smithy/types": "^2.7.0", + "@smithy/types": "^2.9.0", "tslib": "^2.5.0" }, "engines": { @@ -2003,14 +2941,32 @@ } }, "node_modules/@smithy/config-resolver": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.19.tgz", - "integrity": "sha512-JsghnQ5zjWmjEVY8TFOulLdEOCj09SjRLugrHlkPZTIBBm7PQitCFVLThbsKPZQOP7N3ME1DU1nKUc1UaVnBog==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.1.0.tgz", + "integrity": "sha512-NcR1Hw2uZgwHT7/KFsQH76YHb/mNGLFu+hS0ODnoFUpViE8ddIVOXm/8sgwdh0QvFPtWGzPn0Wcp19Cm31wv2A==", "dependencies": { - "@smithy/node-config-provider": "^2.1.6", - "@smithy/types": "^2.6.0", - "@smithy/util-config-provider": "^2.0.0", - "@smithy/util-middleware": "^2.0.7", + "@smithy/node-config-provider": "^2.2.0", + "@smithy/types": "^2.9.0", + "@smithy/util-config-provider": "^2.2.0", + "@smithy/util-middleware": "^2.1.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/core": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.3.0.tgz", + "integrity": "sha512-XoU9eiICwhxZIyAdugijyD/YqsumDQ3FgGyFSJibO60qoUkdfMGSjnIvrTemjFBdnDsj4B26F/ZRxSR3PUJbJQ==", + "dependencies": { + "@smithy/middleware-endpoint": "^2.4.0", + "@smithy/middleware-retry": "^2.1.0", + "@smithy/middleware-serde": "^2.1.0", + "@smithy/protocol-http": "^3.1.0", + "@smithy/smithy-client": "^2.3.0", + "@smithy/types": "^2.9.0", + "@smithy/util-middleware": "^2.1.0", "tslib": "^2.5.0" }, "engines": { @@ -2018,14 +2974,14 @@ } }, "node_modules/@smithy/credential-provider-imds": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.1.2.tgz", - "integrity": "sha512-Y62jBWdoLPSYjr9fFvJf+KwTa1EunjVr6NryTEWCnwIY93OJxwV4t0qxjwdPl/XMsUkq79ppNJSEQN6Ohnhxjw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.0.tgz", + "integrity": "sha512-uqoRizHR8rKih6SuWcJRSv46tdqZk1zPEk6r909O87XO85j21MfUcxRKzbkORM2JOlaFhCH4geRcvlvYfK6EyQ==", "dependencies": { - "@smithy/node-config-provider": "^2.1.6", - "@smithy/property-provider": "^2.0.15", - "@smithy/types": "^2.6.0", - "@smithy/url-parser": "^2.0.14", + "@smithy/node-config-provider": "^2.2.0", + "@smithy/property-provider": "^2.1.0", + "@smithy/types": "^2.9.0", + "@smithy/url-parser": "^2.1.0", "tslib": "^2.5.0" }, "engines": { @@ -2033,13 +2989,13 @@ } }, "node_modules/@smithy/eventstream-codec": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.15.tgz", - "integrity": "sha512-crjvz3j1gGPwA0us6cwS7+5gAn35CTmqu/oIxVbYJo2Qm/sGAye6zGJnMDk3BKhWZw5kcU1G4MxciTkuBpOZPg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.1.0.tgz", + "integrity": "sha512-1yQnf8bSycsZ5ICXVMf8pEj1DQSUsw6/3H4nEdzH2+E3RZdNGPjVecQEm9kWPW7fvXvNvzT8MvZOQdk1IWoVTg==", "dependencies": { "@aws-crypto/crc32": "3.0.0", - "@smithy/types": "^2.7.0", - "@smithy/util-hex-encoding": "^2.0.0", + "@smithy/types": "^2.9.0", + "@smithy/util-hex-encoding": "^2.1.0", "tslib": "^2.5.0" } }, @@ -2099,25 +3055,25 @@ } }, "node_modules/@smithy/fetch-http-handler": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.3.1.tgz", - "integrity": "sha512-6MNk16fqb8EwcYY8O8WxB3ArFkLZ2XppsSNo1h7SQcFdDDwIumiJeO6wRzm7iB68xvsOQzsdQKbdtTieS3hfSQ==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.0.tgz", + "integrity": "sha512-fLhPNfbWG8vTcS9PsR1wjHaA54kDcSiAZKVuVAfjHleS7QDWjrCr1SDUqCB2yAc9NBLe2lIDbDL8+i9yoYhxoQ==", "dependencies": { - "@smithy/protocol-http": "^3.0.11", - "@smithy/querystring-builder": "^2.0.15", - "@smithy/types": "^2.7.0", - "@smithy/util-base64": "^2.0.1", + "@smithy/protocol-http": "^3.1.0", + "@smithy/querystring-builder": "^2.1.0", + "@smithy/types": "^2.9.0", + "@smithy/util-base64": "^2.1.0", "tslib": "^2.5.0" } }, "node_modules/@smithy/hash-node": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.16.tgz", - "integrity": "sha512-Wbi9A0PacMYUOwjAulQP90Wl3mQ6NDwnyrZQzFjDz+UzjXOSyQMgBrTkUBz+pVoYVlX3DUu24gWMZBcit+wOGg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.1.0.tgz", + "integrity": "sha512-/B7b6NNjw+i4PlwsrYHmxmmrTxp2oRejgZH26HhXE77XWwAiPEI9iHu7GZR9fYhm7Fsj66Z9Bk6JA9aEvUC9/w==", "dependencies": { - "@smithy/types": "^2.6.0", - "@smithy/util-buffer-from": "^2.0.0", - "@smithy/util-utf8": "^2.0.2", + "@smithy/types": "^2.9.0", + "@smithy/util-buffer-from": "^2.1.0", + "@smithy/util-utf8": "^2.1.0", "tslib": "^2.5.0" }, "engines": { @@ -2125,18 +3081,18 @@ } }, "node_modules/@smithy/invalid-dependency": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.14.tgz", - "integrity": "sha512-d8ohpwZo9RzTpGlAfsWtfm1SHBSU7+N4iuZ6MzR10xDTujJJWtmXYHK1uzcr7rggbpUTaWyHpPFgnf91q0EFqQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.1.0.tgz", + "integrity": "sha512-hvryGI0KChV4jMgK/kwr6U4/HaYldzjiQAZ+c//QAMDoCp0KkP0Xt94XqAkr7Uq08577mAMW5U70YCaAx+KjSQ==", "dependencies": { - "@smithy/types": "^2.6.0", + "@smithy/types": "^2.9.0", "tslib": "^2.5.0" } }, "node_modules/@smithy/is-array-buffer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.0.0.tgz", - "integrity": "sha512-z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.1.0.tgz", + "integrity": "sha512-XnQvn/6ie5kjFyeW94NqSjGGOdMuB2WnNmDWKHHLVMCR/Emu7B8pcAZX4k8H3tjDujXAQvfBrEgmPRq6FgqmZg==", "dependencies": { "tslib": "^2.5.0" }, @@ -2145,12 +3101,12 @@ } }, "node_modules/@smithy/middleware-content-length": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.16.tgz", - "integrity": "sha512-9ddDia3pp1d3XzLXKcm7QebGxLq9iwKf+J1LapvlSOhpF8EM9SjMeSrMOOFgG+2TfW5K3+qz4IAJYYm7INYCng==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.1.0.tgz", + "integrity": "sha512-XYhKZPuS8nnecdx0IGGUt1Nt2/ekoVOw1zal4c0ARRaLJEw+umFLxwHUelIeBocbdOcPCeZRE6pdk35Y2T2wpw==", "dependencies": { - "@smithy/protocol-http": "^3.0.10", - "@smithy/types": "^2.6.0", + "@smithy/protocol-http": "^3.1.0", + "@smithy/types": "^2.9.0", "tslib": "^2.5.0" }, "engines": { @@ -2158,16 +3114,16 @@ } }, "node_modules/@smithy/middleware-endpoint": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.2.1.tgz", - "integrity": "sha512-dVDS7HNJl/wb0lpByXor6whqDbb1YlLoaoWYoelyYzLHioXOE7y/0iDwJWtDcN36/tVCw9EPBFZ3aans84jLpg==", - "dependencies": { - "@smithy/middleware-serde": "^2.0.14", - "@smithy/node-config-provider": "^2.1.6", - "@smithy/shared-ini-file-loader": "^2.2.5", - "@smithy/types": "^2.6.0", - "@smithy/url-parser": "^2.0.14", - "@smithy/util-middleware": "^2.0.7", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.0.tgz", + "integrity": "sha512-GMebLCihCxIlbPdA/l6WDpNJppIgW5OeTJkIAbqVArg1vFxZ92XhW+UwN12av5OAXswySGJ80/fpDFP7HmSyYg==", + "dependencies": { + "@smithy/middleware-serde": "^2.1.0", + "@smithy/node-config-provider": "^2.2.0", + "@smithy/shared-ini-file-loader": "^2.3.0", + "@smithy/types": "^2.9.0", + "@smithy/url-parser": "^2.1.0", + "@smithy/util-middleware": "^2.1.0", "tslib": "^2.5.0" }, "engines": { @@ -2175,16 +3131,17 @@ } }, "node_modules/@smithy/middleware-retry": { - "version": "2.0.21", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.21.tgz", - "integrity": "sha512-EZS1EXv1k6IJX6hyu/0yNQuPcPaXwG8SWljQHYueyRbOxmqYgoWMWPtfZj0xRRQ4YtLawQSpBgAeiJltq8/MPw==", - "dependencies": { - "@smithy/node-config-provider": "^2.1.6", - "@smithy/protocol-http": "^3.0.10", - "@smithy/service-error-classification": "^2.0.7", - "@smithy/types": "^2.6.0", - "@smithy/util-middleware": "^2.0.7", - "@smithy/util-retry": "^2.0.7", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.1.0.tgz", + "integrity": "sha512-lGEVds90hFyIAvypH58rwC6j9mrCR2ZwYbcxow7AgW6sWCCoBppz5FtLpgSg6QV/CTRh8K7w4kxGVx8LqINQBg==", + "dependencies": { + "@smithy/node-config-provider": "^2.2.0", + "@smithy/protocol-http": "^3.1.0", + "@smithy/service-error-classification": "^2.1.0", + "@smithy/smithy-client": "^2.3.0", + "@smithy/types": "^2.9.0", + "@smithy/util-middleware": "^2.1.0", + "@smithy/util-retry": "^2.1.0", "tslib": "^2.5.0", "uuid": "^8.3.2" }, @@ -2193,11 +3150,11 @@ } }, "node_modules/@smithy/middleware-serde": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.14.tgz", - "integrity": "sha512-hFi3FqoYWDntCYA2IGY6gJ6FKjq2gye+1tfxF2HnIJB5uW8y2DhpRNBSUMoqP+qvYzRqZ6ntv4kgbG+o3pX57g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.1.0.tgz", + "integrity": "sha512-iysAUIDKsc354HMnYVQxMJEzNaOrQQvE86b1oSl2fRwcFqn+9TTi028a37PLFE+ccAiyVGjBjB8PBsAz9plUug==", "dependencies": { - "@smithy/types": "^2.6.0", + "@smithy/types": "^2.9.0", "tslib": "^2.5.0" }, "engines": { @@ -2205,11 +3162,11 @@ } }, "node_modules/@smithy/middleware-stack": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.9.tgz", - "integrity": "sha512-bCB5dUtGQ5wh7QNL2ELxmDc6g7ih7jWU3Kx6MYH1h4mZbv9xL3WyhKHojRltThCB1arLPyTUFDi+x6fB/oabtA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.1.0.tgz", + "integrity": "sha512-y5Ph/TWfO7oTfxNqKU+uAK5cFRTYeP16ReOmDweq+zQ8NQODDg7LSxsfQT4Wp0mhIvm0bt3pZp66T1YMtnihWw==", "dependencies": { - "@smithy/types": "^2.7.0", + "@smithy/types": "^2.9.0", "tslib": "^2.5.0" }, "engines": { @@ -2217,13 +3174,13 @@ } }, "node_modules/@smithy/node-config-provider": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.1.6.tgz", - "integrity": "sha512-HLqTs6O78m3M3z1cPLFxddxhEPv5MkVatfPuxoVO3A+cHZanNd/H5I6btcdHy6N2CB1MJ/lihJC92h30SESsBA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.2.0.tgz", + "integrity": "sha512-rU82PFR32Bxo4EMGUJ2BGG+K97zUp9j6SWjG83T2itmbXwA/+DoCc4xCON8kcmdej822x1yLcSzFiTeg0b472w==", "dependencies": { - "@smithy/property-provider": "^2.0.15", - "@smithy/shared-ini-file-loader": "^2.2.5", - "@smithy/types": "^2.6.0", + "@smithy/property-provider": "^2.1.0", + "@smithy/shared-ini-file-loader": "^2.3.0", + "@smithy/types": "^2.9.0", "tslib": "^2.5.0" }, "engines": { @@ -2231,14 +3188,14 @@ } }, "node_modules/@smithy/node-http-handler": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.2.1.tgz", - "integrity": "sha512-8iAKQrC8+VFHPAT8pg4/j6hlsTQh+NKOWlctJBrYtQa4ExcxX7aSg3vdQ2XLoYwJotFUurg/NLqFCmZaPRrogw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.3.0.tgz", + "integrity": "sha512-8jcQaOdrD/X0VihhM2W/KtJ5fvKaT8UpNf/pl/epvLQ6MkAttIMaCLex6xk31BpFSPvS2+q65ZdBBjQ3cMOSiA==", "dependencies": { - "@smithy/abort-controller": "^2.0.15", - "@smithy/protocol-http": "^3.0.11", - "@smithy/querystring-builder": "^2.0.15", - "@smithy/types": "^2.7.0", + "@smithy/abort-controller": "^2.1.0", + "@smithy/protocol-http": "^3.1.0", + "@smithy/querystring-builder": "^2.1.0", + "@smithy/types": "^2.9.0", "tslib": "^2.5.0" }, "engines": { @@ -2246,11 +3203,11 @@ } }, "node_modules/@smithy/property-provider": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.15.tgz", - "integrity": "sha512-YbRFBn8oiiC3o1Kn3a4KjGa6k47rCM9++5W9cWqYn9WnkyH+hBWgfJAckuxpyA2Hq6Ys4eFrWzXq6fqHEw7iew==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.1.0.tgz", + "integrity": "sha512-6cpCSsgwbKHnl567SrthpqLgZ7e5jc7qPHG6wz9U2T24vcUp2yiG0vdAlH1QdTH20+/PGamKR0ZM35a08X1Tbg==", "dependencies": { - "@smithy/types": "^2.6.0", + "@smithy/types": "^2.9.0", "tslib": "^2.5.0" }, "engines": { @@ -2258,11 +3215,11 @@ } }, "node_modules/@smithy/protocol-http": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.0.11.tgz", - "integrity": "sha512-3ziB8fHuXIRamV/akp/sqiWmNPR6X+9SB8Xxnozzj+Nq7hSpyKdFHd1FLpBkgfGFUTzzcBJQlDZPSyxzmdcx5A==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.1.0.tgz", + "integrity": "sha512-CGNzkKza1yUga7sv+U4gx3jbwSh5x42/9vy0E/NoR2HTFken2MuMc/bClxXAO0Z6EQoTYHHA6FMCREXwSP04lg==", "dependencies": { - "@smithy/types": "^2.7.0", + "@smithy/types": "^2.9.0", "tslib": "^2.5.0" }, "engines": { @@ -2270,12 +3227,12 @@ } }, "node_modules/@smithy/querystring-builder": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.15.tgz", - "integrity": "sha512-e1q85aT6HutvouOdN+dMsN0jcdshp50PSCvxDvo6aIM57LqeXimjfONUEgfqQ4IFpYWAtVixptyIRE5frMp/2A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.1.0.tgz", + "integrity": "sha512-8QColSkqn9TbvpX40zW0T8IrKcLXg7Um4bczm9qIYDRPh8T873WNIOWzYBw8chI8SWizMXbsSR95PFCP/YlgYw==", "dependencies": { - "@smithy/types": "^2.7.0", - "@smithy/util-uri-escape": "^2.0.0", + "@smithy/types": "^2.9.0", + "@smithy/util-uri-escape": "^2.1.0", "tslib": "^2.5.0" }, "engines": { @@ -2283,11 +3240,11 @@ } }, "node_modules/@smithy/querystring-parser": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.14.tgz", - "integrity": "sha512-+cbtXWI9tNtQjlgQg3CA+pvL3zKTAxPnG3Pj6MP89CR3vi3QMmD0SOWoq84tqZDnJCxlsusbgIXk1ngMReXo+A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.1.0.tgz", + "integrity": "sha512-+l17LQQxelslo5CHsLXwSw2F1J6Qmf64OgByreNnLR82gHkJ91ZbMFhxZeLTo2qXxEu0uqraMc4uNw8qE9A6bw==", "dependencies": { - "@smithy/types": "^2.6.0", + "@smithy/types": "^2.9.0", "tslib": "^2.5.0" }, "engines": { @@ -2295,22 +3252,22 @@ } }, "node_modules/@smithy/service-error-classification": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.8.tgz", - "integrity": "sha512-jCw9+005im8tsfYvwwSc4TTvd29kXRFkH9peQBg5R/4DD03ieGm6v6Hpv9nIAh98GwgYg1KrztcINC1s4o7/hg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.0.tgz", + "integrity": "sha512-yBMJk4IfYqUxsPmc8P0YtWHd/Kbd0PP+kU0dgFksH6eiE2ZQJl7478xNtkUKp2QJLcooYEbA3gBFUza6ukXMiA==", "dependencies": { - "@smithy/types": "^2.7.0" + "@smithy/types": "^2.9.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@smithy/shared-ini-file-loader": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.5.tgz", - "integrity": "sha512-LHA68Iu7SmNwfAVe8egmjDCy648/7iJR/fK1UnVw+iAOUJoEYhX2DLgVd5pWllqdDiRbQQzgaHLcRokM+UFR1w==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.0.tgz", + "integrity": "sha512-jgm7cjj0d08jIB9cp4idtpIUY590Twecv4xpijgl2IzkrPfBddzKTH4Zk+Zwfyk8ecz2T/7ihqtnNcq7Qdj9lw==", "dependencies": { - "@smithy/types": "^2.6.0", + "@smithy/types": "^2.9.0", "tslib": "^2.5.0" }, "engines": { @@ -2318,17 +3275,17 @@ } }, "node_modules/@smithy/signature-v4": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.16.tgz", - "integrity": "sha512-ilLY85xS2kZZzTb83diQKYLIYALvart0KnBaKnIRnMBHAGEio5aHSlANQoxVn0VsonwmQ3CnWhnCT0sERD8uTg==", - "dependencies": { - "@smithy/eventstream-codec": "^2.0.14", - "@smithy/is-array-buffer": "^2.0.0", - "@smithy/types": "^2.6.0", - "@smithy/util-hex-encoding": "^2.0.0", - "@smithy/util-middleware": "^2.0.7", - "@smithy/util-uri-escape": "^2.0.0", - "@smithy/util-utf8": "^2.0.2", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.1.0.tgz", + "integrity": "sha512-ONi89MBjxNtl497obaO/qGixsOedikTV3CAj3ZBPGY3IKykS8wQ2Wkctsx2T1J5B9OnynH0KuGGmgG91utX/7w==", + "dependencies": { + "@smithy/eventstream-codec": "^2.1.0", + "@smithy/is-array-buffer": "^2.1.0", + "@smithy/types": "^2.9.0", + "@smithy/util-hex-encoding": "^2.1.0", + "@smithy/util-middleware": "^2.1.0", + "@smithy/util-uri-escape": "^2.1.0", + "@smithy/util-utf8": "^2.1.0", "tslib": "^2.5.0" }, "engines": { @@ -2336,13 +3293,15 @@ } }, "node_modules/@smithy/smithy-client": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.1.18.tgz", - "integrity": "sha512-7FqdbaJiVaHJDD9IfDhmzhSDbpjyx+ZsfdYuOpDJF09rl8qlIAIlZNoSaflKrQ3cEXZN2YxGPaNWGhbYimyIRQ==", - "dependencies": { - "@smithy/middleware-stack": "^2.0.9", - "@smithy/types": "^2.7.0", - "@smithy/util-stream": "^2.0.23", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.3.0.tgz", + "integrity": "sha512-oEaLdVmHcbdK8IHQ4yE7xOYK2nSkF2xXp6nRr5NhfKB5QTKNzpNsXLiGJgfmm7j0ol1S6BhjyBhi7tZ8M0JJtg==", + "dependencies": { + "@smithy/middleware-endpoint": "^2.4.0", + "@smithy/middleware-stack": "^2.1.0", + "@smithy/protocol-http": "^3.1.0", + "@smithy/types": "^2.9.0", + "@smithy/util-stream": "^2.1.0", "tslib": "^2.5.0" }, "engines": { @@ -2350,9 +3309,9 @@ } }, "node_modules/@smithy/types": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.7.0.tgz", - "integrity": "sha512-1OIFyhK+vOkMbu4aN2HZz/MomREkrAC/HqY5mlJMUJfGrPRwijJDTeiN8Rnj9zUaB8ogXAfIOtZrrgqZ4w7Wnw==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.9.0.tgz", + "integrity": "sha512-ST1M87Lf2cLHRI+irEFRIHXGY08HHTAUbiRFYkmFyJdTMg3VDxkcm7DwW9/EgV3X8M6wDPrbIkx/RXONyttrQg==", "dependencies": { "tslib": "^2.5.0" }, @@ -2361,21 +3320,21 @@ } }, "node_modules/@smithy/url-parser": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.14.tgz", - "integrity": "sha512-kbu17Y1AFXi5lNlySdDj7ZzmvupyWKCX/0jNZ8ffquRyGdbDZb+eBh0QnWqsSmnZa/ctyWaTf7n4l/pXLExrnw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.1.0.tgz", + "integrity": "sha512-V3FMzNFCDwQNAgJdxI6Gj48qP9WAyvK59WE90hOoya3m8ey02uLDhWjZkl+505s7iTVVmJ7Mr7nKwG5vU2NIMQ==", "dependencies": { - "@smithy/querystring-parser": "^2.0.14", - "@smithy/types": "^2.6.0", + "@smithy/querystring-parser": "^2.1.0", + "@smithy/types": "^2.9.0", "tslib": "^2.5.0" } }, "node_modules/@smithy/util-base64": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.0.1.tgz", - "integrity": "sha512-DlI6XFYDMsIVN+GH9JtcRp3j02JEVuWIn/QOZisVzpIAprdsxGveFed0bjbMRCqmIFe8uetn5rxzNrBtIGrPIQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.1.0.tgz", + "integrity": "sha512-zjXlHFm7S+TEDVA3j1rWGpuNDTlTxIWDqzwIfWUENT0VqCGDAdJITd8RYVjduf3u8HWMlgALkrY6B62UTESQ5w==", "dependencies": { - "@smithy/util-buffer-from": "^2.0.0", + "@smithy/util-buffer-from": "^2.1.0", "tslib": "^2.5.0" }, "engines": { @@ -2383,17 +3342,17 @@ } }, "node_modules/@smithy/util-body-length-browser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.0.0.tgz", - "integrity": "sha512-JdDuS4ircJt+FDnaQj88TzZY3+njZ6O+D3uakS32f2VNnDo3vyEuNdBOh/oFd8Df1zSZOuH1HEChk2AOYDezZg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.0.tgz", + "integrity": "sha512-fkLY8W+jXGSkymLNe9NB7u6lGflHz6w1R+a3RxLOK6UrtwU4LBLskAP5Ag/zVPUNd5tmfv3/W6cTVzk8IBJuiw==", "dependencies": { "tslib": "^2.5.0" } }, "node_modules/@smithy/util-body-length-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.1.0.tgz", - "integrity": "sha512-/li0/kj/y3fQ3vyzn36NTLGmUwAICb7Jbe/CsWCktW363gh1MOcpEcSO3mJ344Gv2dqz8YJCLQpb6hju/0qOWw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.2.0.tgz", + "integrity": "sha512-ZLsqYH+s71y6Oc2Auws6zYI4LzsSi6N8+W+Gq7CwXaZm7QIKGiCeEunEwxo50OGAqJs0g6F9kCIwNxhlK1s4Aw==", "dependencies": { "tslib": "^2.5.0" }, @@ -2402,11 +3361,11 @@ } }, "node_modules/@smithy/util-buffer-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.0.0.tgz", - "integrity": "sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.1.0.tgz", + "integrity": "sha512-3w7AM0moGyBmr9gMBGE7+pqG3cjboRvmMyRhpesbJoOUHO0BV1Qrk00M/wQ3EHJAQXM3dehQfFNUf7sR6nT6+Q==", "dependencies": { - "@smithy/is-array-buffer": "^2.0.0", + "@smithy/is-array-buffer": "^2.1.0", "tslib": "^2.5.0" }, "engines": { @@ -2414,9 +3373,9 @@ } }, "node_modules/@smithy/util-config-provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.0.0.tgz", - "integrity": "sha512-xCQ6UapcIWKxXHEU4Mcs2s7LcFQRiU3XEluM2WcCjjBtQkUN71Tb+ydGmJFPxMUrW/GWMgQEEGipLym4XG0jZg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.2.0.tgz", + "integrity": "sha512-D3Gx0BWXjsn1E25ikUt0+yc8oZnViTa5IHZ1JvD9J1NyyVS4c3IgHqbG64XRverEMnhzUb0EhqMTwQTY12in+w==", "dependencies": { "tslib": "^2.5.0" }, @@ -2425,13 +3384,13 @@ } }, "node_modules/@smithy/util-defaults-mode-browser": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.20.tgz", - "integrity": "sha512-QJtnbTIl0/BbEASkx1MUFf6EaoWqWW1/IM90N++8NNscePvPf77GheYfpoPis6CBQawUWq8QepTP2QUSAdrVkw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.0.tgz", + "integrity": "sha512-zmXL4aKeBGBz02kDZdks2QfG+HGq99Tp4/ICPmu2OvSbwTOLjmlCnUrtZJTmLhX4etP3o0voOL9gFEa2PSjlJg==", "dependencies": { - "@smithy/property-provider": "^2.0.15", - "@smithy/smithy-client": "^2.1.16", - "@smithy/types": "^2.6.0", + "@smithy/property-provider": "^2.1.0", + "@smithy/smithy-client": "^2.3.0", + "@smithy/types": "^2.9.0", "bowser": "^2.11.0", "tslib": "^2.5.0" }, @@ -2440,16 +3399,16 @@ } }, "node_modules/@smithy/util-defaults-mode-node": { - "version": "2.0.26", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.26.tgz", - "integrity": "sha512-lGFPOFCHv1ql019oegYqa54BZH7HREw6EBqjDLbAr0wquMX0BDi2sg8TJ6Eq+JGLijkZbJB73m4+aK8OFAapMg==", - "dependencies": { - "@smithy/config-resolver": "^2.0.19", - "@smithy/credential-provider-imds": "^2.1.2", - "@smithy/node-config-provider": "^2.1.6", - "@smithy/property-provider": "^2.0.15", - "@smithy/smithy-client": "^2.1.16", - "@smithy/types": "^2.6.0", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.1.0.tgz", + "integrity": "sha512-pVBaw2fBJMjjJj+AR69xQhjzYLZ5u9azdKyaAAjR16dthdBOcnczBClBVCfhb/Moj0ivIHnaXJ5AXCdbDok94g==", + "dependencies": { + "@smithy/config-resolver": "^2.1.0", + "@smithy/credential-provider-imds": "^2.2.0", + "@smithy/node-config-provider": "^2.2.0", + "@smithy/property-provider": "^2.1.0", + "@smithy/smithy-client": "^2.3.0", + "@smithy/types": "^2.9.0", "tslib": "^2.5.0" }, "engines": { @@ -2457,12 +3416,12 @@ } }, "node_modules/@smithy/util-endpoints": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.0.5.tgz", - "integrity": "sha512-K7qNuCOD5K/90MjHvHm9kJldrfm40UxWYQxNEShMFxV/lCCCRIg8R4uu1PFAxRvPxNpIdcrh1uK6I1ISjDXZJw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.1.0.tgz", + "integrity": "sha512-gKzfdj5pyEOg1fVOsZVpVPRWAXbWqt9JgZdwU4cjKlJ57Fuccfk0ui5twh1TYvuJWtR2Tw3GwUmUuBM3qRWJJg==", "dependencies": { - "@smithy/node-config-provider": "^2.1.6", - "@smithy/types": "^2.6.0", + "@smithy/node-config-provider": "^2.2.0", + "@smithy/types": "^2.9.0", "tslib": "^2.5.0" }, "engines": { @@ -2470,9 +3429,9 @@ } }, "node_modules/@smithy/util-hex-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz", - "integrity": "sha512-c5xY+NUnFqG6d7HFh1IFfrm3mGl29lC+vF+geHv4ToiuJCBmIfzx6IeHLg+OgRdPFKDXIw6pvi+p3CsscaMcMA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.0.tgz", + "integrity": "sha512-haxSIaBxn3p/lK+bEyqC32myHffacBLD61/HHzBGcG1Vo8dFTm5y0vhdR5R4wakW7H8Tr/czx+uckDOWZ1Km9Q==", "dependencies": { "tslib": "^2.5.0" }, @@ -2481,11 +3440,11 @@ } }, "node_modules/@smithy/util-middleware": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.7.tgz", - "integrity": "sha512-tRINOTlf1G9B0ECarFQAtTgMhpnrMPSa+5j4ZEwEawCLfTFTavk6757sxhE4RY5RMlD/I3x+DCS8ZUiR8ho9Pw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.1.0.tgz", + "integrity": "sha512-bKfhAsdjRyGmYDsJUW5hPsL3qofgPgLPsuV+V6nNGyD/kjMobwstiIpA3ddGFT+XDwVOIUHElg7I06/wOpwKiQ==", "dependencies": { - "@smithy/types": "^2.6.0", + "@smithy/types": "^2.9.0", "tslib": "^2.5.0" }, "engines": { @@ -2493,12 +3452,12 @@ } }, "node_modules/@smithy/util-retry": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.8.tgz", - "integrity": "sha512-cQTPnVaVFMjjS6cb44WV2yXtHVyXDC5icKyIbejMarJEApYeJWpBU3LINTxHqp/tyLI+MZOUdosr2mZ3sdziNg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.1.0.tgz", + "integrity": "sha512-igJw+/olhAUtocMbEMBjy8SKRTHfefS+qcgmMUVEBLFgLjqMfpc8EDVB1BebNBQ1rre5yLDbi2UHUz48eZNkPQ==", "dependencies": { - "@smithy/service-error-classification": "^2.0.8", - "@smithy/types": "^2.7.0", + "@smithy/service-error-classification": "^2.1.0", + "@smithy/types": "^2.9.0", "tslib": "^2.5.0" }, "engines": { @@ -2506,17 +3465,17 @@ } }, "node_modules/@smithy/util-stream": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.23.tgz", - "integrity": "sha512-OJMWq99LAZJUzUwTk+00plyxX3ESktBaGPhqNIEVab+53gLULiWN9B/8bRABLg0K6R6Xg4t80uRdhk3B/LZqMQ==", - "dependencies": { - "@smithy/fetch-http-handler": "^2.3.1", - "@smithy/node-http-handler": "^2.2.1", - "@smithy/types": "^2.7.0", - "@smithy/util-base64": "^2.0.1", - "@smithy/util-buffer-from": "^2.0.0", - "@smithy/util-hex-encoding": "^2.0.0", - "@smithy/util-utf8": "^2.0.2", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.1.0.tgz", + "integrity": "sha512-lcw9JVXLHvRawaXnfxdnGRw5pQM5c9XMEkBuMec+fIhGuPHIezqhQq7oO0jJcj0xwupJzW6HAvinktr9ozdKyg==", + "dependencies": { + "@smithy/fetch-http-handler": "^2.4.0", + "@smithy/node-http-handler": "^2.3.0", + "@smithy/types": "^2.9.0", + "@smithy/util-base64": "^2.1.0", + "@smithy/util-buffer-from": "^2.1.0", + "@smithy/util-hex-encoding": "^2.1.0", + "@smithy/util-utf8": "^2.1.0", "tslib": "^2.5.0" }, "engines": { @@ -2524,9 +3483,9 @@ } }, "node_modules/@smithy/util-uri-escape": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.0.0.tgz", - "integrity": "sha512-ebkxsqinSdEooQduuk9CbKcI+wheijxEb3utGXkCoYQkJnwTnLbH1JXGimJtUkQwNQbsbuYwG2+aFVyZf5TLaw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.1.0.tgz", + "integrity": "sha512-ZHYFGyF9o/MHGMGtsHfkxnn2DhGRZlDIFGNgipu4K3x8jMEVahQ+tGnlkFVMM2QrSQHCcjICbBTJ5JEgaD5+Jg==", "dependencies": { "tslib": "^2.5.0" }, @@ -2535,11 +3494,11 @@ } }, "node_modules/@smithy/util-utf8": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.0.2.tgz", - "integrity": "sha512-qOiVORSPm6Ce4/Yu6hbSgNHABLP2VMv8QOC3tTDNHHlWY19pPyc++fBTbZPtx6egPXi4HQxKDnMxVxpbtX2GoA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.1.0.tgz", + "integrity": "sha512-RnNNedYLpsNPQocMhr0nGEz0mGKdzI5dBi0h7vvmimULtBlyElgX1/hXozlkurIgx8R3bSy14/oRtmDsFClifg==", "dependencies": { - "@smithy/util-buffer-from": "^2.0.0", + "@smithy/util-buffer-from": "^2.1.0", "tslib": "^2.5.0" }, "engines": { @@ -6059,9 +7018,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", "dev": true, "funding": [ { diff --git a/package.json b/package.json index e7f99ad..c5946ad 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "serverless-vpc-discovery", - "version": "5.0.0", + "version": "5.0.1", "engines": { "node": ">=14" }, @@ -77,6 +77,9 @@ }, "dependencies": { "@aws-sdk/client-ec2": "^3.467.0", + "@aws-sdk/credential-providers": "^3.495.0", + "@smithy/config-resolver": "^2.1.0", + "@smithy/node-config-provider": "^2.2.0", "@smithy/smithy-client": "^2.1.18", "@smithy/util-retry": "^2.0.8", "ts-md5": "^1.3.1" diff --git a/src/aws/ec2-wrapper.ts b/src/aws/ec2-wrapper.ts index 5385b28..793e5c7 100644 --- a/src/aws/ec2-wrapper.ts +++ b/src/aws/ec2-wrapper.ts @@ -14,10 +14,25 @@ export class EC2Wrapper { constructor (credentials: any) { this.ec2 = new EC2Client([{ credentials, + region: Globals.getRegion(), retryStrategy: Globals.getRetryStrategy() }]); } + /** + * Returns the promise that contains the vpc-id + * @returns {Promise.} + */ + public async getVpcs (): Promise { + return await getAWSPagedResults( + this.ec2, + "Vpcs", + "NextToken", + "NextToken", + new DescribeVpcsCommand({}) + ); + } + /** * Returns the promise that contains the vpc-id * @param {string} vpcName diff --git a/src/globals.ts b/src/globals.ts index ce74908..5ddce9d 100644 --- a/src/globals.ts +++ b/src/globals.ts @@ -1,5 +1,6 @@ import { ServerlessInstance, ServerlessOptions, ServerlessUtils } from "./types"; import { ConfiguredRetryStrategy } from "@smithy/util-retry"; +import { fromIni } from "@aws-sdk/credential-providers"; export default class Globals { public static pluginName = "Serverless VPC Discovery"; @@ -8,6 +9,20 @@ export default class Globals { public static options: ServerlessOptions; public static v3Utils?: ServerlessUtils; + public static currentRegion: string; + public static credentials: any; + + public static defaultRegion = "us-east-1"; + + public static getRegion () { + const slsRegion = Globals.options.region || Globals.serverless.service.provider.region; + return slsRegion || Globals.currentRegion || Globals.defaultRegion; + } + + public static async getProfileCreds (profile: string) { + return await fromIni({ profile })(); + } + public static getRetryStrategy (attempts: number = 3, delay: number = 3000, backoff: number = 500) { return new ConfiguredRetryStrategy( attempts, // max attempts. diff --git a/src/index.ts b/src/index.ts index 27f3541..f211687 100644 --- a/src/index.ts +++ b/src/index.ts @@ -6,16 +6,19 @@ import Globals from "./globals"; import { validateVPCDiscoveryConfig } from "./validation"; import { customProperties, functionProperties } from "./schema"; import Logging from "./logging"; +import { loadConfig } from "@smithy/node-config-provider"; +import { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS } from "@smithy/config-resolver"; class VPCPlugin { private serverless: ServerlessInstance; public hooks: object; - public awsCredentials: any; public lambdaFunction: LambdaFunction; constructor (serverless, options, v3Utils?: ServerlessUtils) { this.serverless = serverless; + Globals.serverless = serverless; + Globals.options = options; if (v3Utils?.log) { Globals.v3Utils = v3Utils; @@ -36,7 +39,7 @@ class VPCPlugin { */ public async hookWrapper (lifecycleFunc: any) { this.validateCustomVPCDiscoveryConfig(); - this.initResources(); + await this.initResources(); return await lifecycleFunc.call(this); } @@ -89,12 +92,43 @@ class VPCPlugin { /** * Setup AWS resources */ - public initResources (): void { - this.awsCredentials = this.serverless.providers.aws.getCredentials(); - this.awsCredentials.region = this.serverless.providers.aws.getRegion(); + public async initResources (): Promise { + // setup AWS resources + await this.initSLSCredentials(); + await this.initAWSRegion(); const baseVPCDiscovery = this.serverless.service.custom ? this.serverless.service.custom.vpcDiscovery : null; - this.lambdaFunction = new LambdaFunction(this.awsCredentials, baseVPCDiscovery); + this.lambdaFunction = new LambdaFunction(Globals.credentials, baseVPCDiscovery); + + // start of the legacy AWS SDK V2 creds support + // TODO: remove it in case serverless will add V3 support + try { + await this.lambdaFunction.ec2Wrapper.getVpcs(); + } catch (error) { + if (error.message.includes("Could not load credentials from any providers")) { + Globals.credentials = this.serverless.providers.aws.getCredentials(); + this.lambdaFunction = new LambdaFunction(Globals.credentials, baseVPCDiscovery); + } + } + } + + /** + * Init AWS credentials based on sls `provider.profile` + */ + public async initSLSCredentials (): Promise { + const slsProfile = Globals.options["aws-profile"] || Globals.serverless.service.provider.profile; + Globals.credentials = slsProfile ? await Globals.getProfileCreds(slsProfile) : null; + } + + /** + * Init AWS current region based on Node options + */ + public async initAWSRegion (): Promise { + try { + Globals.currentRegion = await loadConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS)(); + } catch (err) { + Logging.logInfo("Node region was not found."); + } } /** diff --git a/src/types.ts b/src/types.ts index 690cf75..b06ca1a 100644 --- a/src/types.ts +++ b/src/types.ts @@ -26,6 +26,7 @@ export interface VPC { export interface ServerlessService { service: string provider: { + profile?: string, stage: string, region?: string vpc: {}, diff --git a/test/unit-tests/index.test.ts b/test/unit-tests/index.test.ts index add5402..3248731 100644 --- a/test/unit-tests/index.test.ts +++ b/test/unit-tests/index.test.ts @@ -41,6 +41,7 @@ const vpcId = "vpc-test"; Globals.options = { stage: "test" }; +Globals.currentRegion = Globals.defaultRegion; // This will create a mock plugin to be used for testing const testFuncName = "funcTest"; @@ -66,7 +67,7 @@ const constructPlugin = (vpcConfig) => { providers: { aws: { getRegion: () => "us-moon-1", - getCredentials: () => new Object() + getCredentials: () => {} } }, configSchemaHandler: { @@ -76,7 +77,7 @@ const constructPlugin = (vpcConfig) => { } } }; - return new VPCPlugin(serverless, null); + return new VPCPlugin(serverless, { }); }; const initMessage = "[Info] Updating VPC config..."; @@ -103,7 +104,7 @@ describe("Given a vpc,", () => { securityGroups: securityGroups }); plugin.validateCustomVPCDiscoveryConfig(); - plugin.initResources(); + await plugin.initResources(); const expectedResult = { funcTest: { @@ -123,7 +124,7 @@ describe("Given a vpc,", () => { EC2ClientMock.on(DescribeVpcsCommand).resolves(emptyData); const plugin = constructPlugin({}); - plugin.initResources(); + await plugin.initResources(); const funcVPCDiscovery: VPCDiscovery = { vpcName: "test", @@ -132,8 +133,8 @@ describe("Given a vpc,", () => { return await plugin.lambdaFunction.getFuncVPC("test", funcVPCDiscovery).then(() => { const expectedMessage = `VPC with tag key 'Name' and tag value '${funcVPCDiscovery.vpcName}' does not exist`; - expect(consoleOutput[0]).to.equal(initFuncMessage.replace(testFuncName, "test")); - expect(consoleOutput[1]).to.contain(expectedMessage); + expect(consoleOutput[1]).to.equal(initFuncMessage.replace(testFuncName, "test")); + expect(consoleOutput[2]).to.contain(expectedMessage); }); }); @@ -144,14 +145,14 @@ describe("Given a vpc,", () => { describe("Given valid inputs for Subnets and Security Groups ", () => { let plugin; - beforeEach(() => { + beforeEach(async () => { const EC2ClientMock = mockClient(EC2Client); EC2ClientMock.on(DescribeVpcsCommand).resolves(testData); EC2ClientMock.on(DescribeSubnetsCommand).resolves(testData); EC2ClientMock.on(DescribeSecurityGroupsCommand).resolves(testData); plugin = constructPlugin({}); - plugin.initResources(); + await plugin.initResources(); }); it("without wildcards", async () => { @@ -199,13 +200,13 @@ describe("Given invalid input for ", () => { EC2ClientMock.on(DescribeSecurityGroupsCommand).resolves(testData); const plugin = constructPlugin({}); - plugin.initResources(); + await plugin.initResources(); await plugin.lambdaFunction.getFuncVPC("test", funcVPCDiscovery).then(() => { const expectedMessage = `Subnets with vpc id '${vpcId}', tag key 'Name' and tag values '${funcVPCDiscovery.subnets[0].tagValues}' do not exist`; - expect(consoleOutput[0]).to.equal(initFuncMessage.replace(testFuncName, "test")); - expect(consoleOutput[1]).to.equal(foundFuncMessage); - expect(consoleOutput[2]).to.contain(expectedMessage); + expect(consoleOutput[1]).to.equal(initFuncMessage.replace(testFuncName, "test")); + expect(consoleOutput[2]).to.equal(foundFuncMessage); + expect(consoleOutput[3]).to.contain(expectedMessage); }); }); @@ -216,13 +217,13 @@ describe("Given invalid input for ", () => { EC2ClientMock.on(DescribeSecurityGroupsCommand).resolves(emptyData); const plugin = constructPlugin({}); - plugin.initResources(); + await plugin.initResources(); await plugin.lambdaFunction.getFuncVPC("test", funcVPCDiscovery).then(() => { const expectedMessage = `Security groups with vpc id '${vpcId}', names '${securityGroups[0].names[0]}' do not exist`; - expect(consoleOutput[0]).to.equal(initFuncMessage.replace(testFuncName, "test")); - expect(consoleOutput[1]).to.equal(foundFuncMessage); - expect(consoleOutput[2]).to.contain(expectedMessage); + expect(consoleOutput[1]).to.equal(initFuncMessage.replace(testFuncName, "test")); + expect(consoleOutput[2]).to.equal(foundFuncMessage); + expect(consoleOutput[3]).to.contain(expectedMessage); }); }); @@ -246,13 +247,13 @@ describe("Given input missing in AWS for ", () => { securityGroups: [{ names: ["test_group_*"] }] }; const plugin = constructPlugin({}); - plugin.initResources(); + await plugin.initResources(); await plugin.lambdaFunction.getFuncVPC("test", funcVPCDiscovery).then(() => { const expectedMessage = `Subnets with vpc id '${vpcId}', tag key 'Name' and tag values 'missing_subnet' do not exist.`; - expect(consoleOutput[0]).to.equal(initFuncMessage.replace(testFuncName, "test")); - expect(consoleOutput[1]).to.equal(foundFuncMessage); - expect(consoleOutput[2]).to.contain(expectedMessage); + expect(consoleOutput[1]).to.equal(initFuncMessage.replace(testFuncName, "test")); + expect(consoleOutput[2]).to.equal(foundFuncMessage); + expect(consoleOutput[3]).to.contain(expectedMessage); }); }); @@ -264,13 +265,13 @@ describe("Given input missing in AWS for ", () => { }; const plugin = constructPlugin({}); - plugin.initResources(); + await plugin.initResources(); await plugin.lambdaFunction.getFuncVPC("test", funcVPCDiscovery).then(() => { const expectedMessage = "Security groups do not exist for the names"; - expect(consoleOutput[0]).to.equal(initFuncMessage.replace(testFuncName, "test")); - expect(consoleOutput[1]).to.equal(foundFuncMessage); - expect(consoleOutput[2]).to.contain(expectedMessage); + expect(consoleOutput[1]).to.equal(initFuncMessage.replace(testFuncName, "test")); + expect(consoleOutput[2]).to.equal(foundFuncMessage); + expect(consoleOutput[3]).to.contain(expectedMessage); }); }); @@ -290,13 +291,13 @@ describe("Catching errors in updateVpcConfig ", () => { securityGroups: securityGroups }); plugin.validateCustomVPCDiscoveryConfig(); - plugin.initResources(); + await plugin.initResources(); await plugin.updateFunctionsVpcConfig().then(() => { const expectedErrorMessage = `VPC with tag key 'Name' and tag value '${vpc}' does not exist.`; - expect(consoleOutput[0]).to.equal(initMessage); - expect(consoleOutput[1]).to.equal(initFuncMessage); - expect(consoleOutput[2]).to.contain(expectedErrorMessage); + expect(consoleOutput[1]).to.equal(initMessage); + expect(consoleOutput[2]).to.equal(initFuncMessage); + expect(consoleOutput[3]).to.contain(expectedErrorMessage); }); }); From 55d3759203aebad0f40853a712f3600f3b73ca6b Mon Sep 17 00:00:00 2001 From: rddimon Date: Fri, 19 Jan 2024 17:06:08 +0200 Subject: [PATCH 2/2] fix doc string --- src/aws/ec2-wrapper.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/aws/ec2-wrapper.ts b/src/aws/ec2-wrapper.ts index 793e5c7..ddabe10 100644 --- a/src/aws/ec2-wrapper.ts +++ b/src/aws/ec2-wrapper.ts @@ -20,7 +20,7 @@ export class EC2Wrapper { } /** - * Returns the promise that contains the vpc-id + * Returns the promise that contains the vpc list * @returns {Promise.} */ public async getVpcs (): Promise {