diff --git a/common/config/rush/common-versions.json b/common/config/rush/common-versions.json index 70565653c..1df9ccf98 100644 --- a/common/config/rush/common-versions.json +++ b/common/config/rush/common-versions.json @@ -51,7 +51,6 @@ * This design avoids unnecessary churn in this file. */ "allowedAlternativeVersions": { - "constructs": ["^3.3.69"] /** * For example, allow some projects to use an older TypeScript compiler * (in addition to whatever "usual" version is being used by other projects in the repo): diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 0b3a2629f..34dc7e04c 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -386,13 +386,13 @@ importers: '@types/sinon-chai': 3.2.5 '@typescript-eslint/eslint-plugin': ^5.0.0 '@typescript-eslint/parser': ^5.0.0 - aws-sdk: 2.853.0 + aws-sdk: 2.1475.0 cdktf: ^0.15.0 cdktf-cli: ^0.14.3 chai: 4.2.0 chai-as-promised: 7.1.1 child-process-promise: ^2.2.1 - constructs: ^10.0.0 + constructs: ^10.3.0 cross-fetch: 3.1.5 eslint: ^8.23.1 eslint-config-prettier: 8.3.0 @@ -430,7 +430,7 @@ importers: '@boostercloud/framework-provider-local': link:../framework-provider-local '@boostercloud/framework-types': link:../framework-types '@effect-ts/core': 0.60.5 - aws-sdk: 2.853.0 + aws-sdk: 2.1475.0 express-unless: 2.1.3 graphql: 16.6.0 tslib: 2.5.0 @@ -457,12 +457,12 @@ importers: '@types/sinon-chai': 3.2.5 '@typescript-eslint/eslint-plugin': 5.59.1_lhpu32umveoeq4t2qgxwjpp3k4 '@typescript-eslint/parser': 5.59.1_cfyxzphvxk6hfgn64jwer55l5m - cdktf: 0.15.5_constructs@10.2.7 + cdktf: 0.15.5_constructs@10.3.0 cdktf-cli: 0.14.3_ink@3.2.0+react@17.0.2 chai: 4.2.0 chai-as-promised: 7.1.1_chai@4.2.0 child-process-promise: 2.2.1 - constructs: 10.2.7 + constructs: 10.3.0 cross-fetch: 3.1.5 eslint: 8.39.0 eslint-config-prettier: 8.3.0_eslint@8.39.0 @@ -508,7 +508,7 @@ importers: '@types/sinon-chai': 3.2.5 '@typescript-eslint/eslint-plugin': ^5.0.0 '@typescript-eslint/parser': ^5.0.0 - aws-sdk: 2.853.0 + aws-sdk: 2.1475.0 chai: 4.2.0 chai-arrays: ^2.2.0 chai-as-promised: 7.1.1 @@ -548,7 +548,7 @@ importers: '@types/sinon-chai': 3.2.5 '@typescript-eslint/eslint-plugin': 5.59.1_lhpu32umveoeq4t2qgxwjpp3k4 '@typescript-eslint/parser': 5.59.1_cfyxzphvxk6hfgn64jwer55l5m - aws-sdk: 2.853.0 + aws-sdk: 2.1475.0 chai: 4.2.0 chai-arrays: 2.2.0 chai-as-promised: 7.1.1_chai@4.2.0 @@ -571,23 +571,6 @@ importers: ../../packages/framework-provider-aws-infrastructure: specifiers: - '@aws-cdk/assets': ^1.170.0 - '@aws-cdk/aws-apigateway': ^1.170.0 - '@aws-cdk/aws-apigatewayv2': ^1.170.0 - '@aws-cdk/aws-cloudfront': ^1.170.0 - '@aws-cdk/aws-dynamodb': ^1.170.0 - '@aws-cdk/aws-events': ^1.170.0 - '@aws-cdk/aws-events-targets': ^1.170.0 - '@aws-cdk/aws-iam': ^1.170.0 - '@aws-cdk/aws-lambda': ^1.170.0 - '@aws-cdk/aws-lambda-event-sources': ^1.170.0 - '@aws-cdk/aws-logs': ^1.170.0 - '@aws-cdk/aws-s3': ^1.170.0 - '@aws-cdk/aws-s3-deployment': ^1.170.0 - '@aws-cdk/cloudformation-diff': ^1.170.0 - '@aws-cdk/core': ^1.170.0 - '@aws-cdk/custom-resources': ^1.170.0 - '@aws-cdk/cx-api': ^1.170.0 '@boostercloud/eslint-config': workspace:^1.19.1 '@boostercloud/framework-common-helpers': workspace:^1.19.1 '@boostercloud/framework-provider-aws': workspace:^1.19.1 @@ -598,6 +581,7 @@ importers: '@types/aws-sdk': 2.7.0 '@types/chai': 4.2.18 '@types/chai-as-promised': 7.1.4 + '@types/child-process-promise': ^2.2.1 '@types/faker': 5.1.5 '@types/mocha': 10.0.1 '@types/node': ^18.15.3 @@ -607,13 +591,14 @@ importers: '@typescript-eslint/eslint-plugin': ^5.0.0 '@typescript-eslint/parser': ^5.0.0 archiver: 5.3.0 - aws-cdk: ^1.170.0 - aws-sdk: 2.853.0 - cdk-assets: ~2.39.1 + aws-cdk-lib: ^2.101.1 + aws-sdk: 2.1475.0 + cdk-assets: ~2.101.1 chai: 4.2.0 chai-as-promised: 7.1.1 + child-process-promise: ^2.2.1 colors: ^1.4.0 - constructs: ^3.3.69 + constructs: ^10.3.0 eslint: ^8.23.1 eslint-config-prettier: 8.3.0 eslint-plugin-import: ^2.26.0 @@ -634,33 +619,17 @@ importers: velocityjs: ^2.0.0 yaml: 1.10.2 dependencies: - '@aws-cdk/assets': 1.199.0_6t5bexudk3vtq7zhe7acxljz2e - '@aws-cdk/aws-apigateway': 1.199.0_6ioy6wqnsnl357btnhiggvri2y - '@aws-cdk/aws-apigatewayv2': 1.199.0_74oizvoelbxgex3gbujl2xzm54 - '@aws-cdk/aws-cloudfront': 1.199.0_74oizvoelbxgex3gbujl2xzm54 - '@aws-cdk/aws-dynamodb': 1.199.0_4somcjbyiqv34tounb2i2obuo4 - '@aws-cdk/aws-events': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-events-targets': 1.199.0_efa47vukfsbcitdg2oy6em6xpe - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q - '@aws-cdk/aws-lambda-event-sources': 1.199.0_3on2gbp3i6lbrxh3zrbluvabnq - '@aws-cdk/aws-logs': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/aws-s3-deployment': 1.199.0_rzysml6d2qht4bnjifnmuqxdpi - '@aws-cdk/cloudformation-diff': 1.199.0 - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/custom-resources': 1.199.0_6aw2ag5odq3zb2mttwz3fxe3hu - '@aws-cdk/cx-api': 1.199.0 '@boostercloud/framework-common-helpers': link:../framework-common-helpers '@boostercloud/framework-provider-aws': link:../framework-provider-aws '@boostercloud/framework-types': link:../framework-types '@effect-ts/core': 0.60.5 archiver: 5.3.0 - aws-cdk: 1.199.0 - aws-sdk: 2.853.0 - cdk-assets: 2.39.1 + aws-cdk-lib: 2.101.1_constructs@10.3.0 + aws-sdk: 2.1475.0 + cdk-assets: 2.101.1 + child-process-promise: 2.2.1 colors: 1.4.0 - constructs: 3.4.293 + constructs: 10.3.0 promptly: 3.2.0 tslib: 2.5.0 yaml: 1.10.2 @@ -671,6 +640,7 @@ importers: '@types/aws-sdk': 2.7.0 '@types/chai': 4.2.18 '@types/chai-as-promised': 7.1.4 + '@types/child-process-promise': 2.2.2 '@types/faker': 5.1.5 '@types/mocha': 10.0.1 '@types/node': 18.18.3 @@ -804,7 +774,7 @@ importers: cdktf-cli: ^0.14.3 chai: 4.2.0 chai-as-promised: 7.1.1 - constructs: ^10.0.0 + constructs: ^10.3.0 copyfiles: ^2.3.0 eslint: ^8.23.1 eslint-config-prettier: 8.3.0 @@ -837,17 +807,17 @@ importers: '@boostercloud/framework-core': link:../framework-core '@boostercloud/framework-provider-azure': link:../framework-provider-azure '@boostercloud/framework-types': link:../framework-types - '@cdktf/provider-azurerm': 5.0.13_7kmlqc32ygctfp6wjg2guo3vfu - '@cdktf/provider-time': 5.0.0_7kmlqc32ygctfp6wjg2guo3vfu + '@cdktf/provider-azurerm': 5.0.13_bh4r36madta3fvvtv2haucd6sa + '@cdktf/provider-time': 5.0.0_bh4r36madta3fvvtv2haucd6sa '@effect-ts/core': 0.60.5 '@types/archiver': 5.1.0 '@types/needle': 2.5.3 archiver: 5.3.0 - cdktf: 0.15.5_constructs@10.2.7 + cdktf: 0.15.5_constructs@10.3.0 cdktf-cli: 0.14.3_ink@3.2.0+react@17.0.2 chai: 4.2.0 chai-as-promised: 7.1.1_chai@4.2.0 - constructs: 10.2.7 + constructs: 10.3.0 copyfiles: 2.4.1 fs-extra: 8.1.0 ink: 3.2.0_react@17.0.2 @@ -1273,1247 +1243,39 @@ packages: zen-observable-ts: 1.2.5 dev: true - /@aws-cdk/assets/1.199.0_6t5bexudk3vtq7zhe7acxljz2e: - resolution: {integrity: sha512-HqI86WqJjkUpbCya8aX2Dk8Me8K5a4LdpSlVOEzzLhqN8X0wspad/hsnyQ8X1qku+N5k5rpPq5JyHUQaSAoB1A==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/core': 1.199.0 - '@aws-cdk/cx-api': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/cx-api': 1.199.0 - constructs: 3.4.293 - dev: false - - /@aws-cdk/aws-acmpca/1.199.0_xwfh4icwyvj4zfjhzlqde6qllu: - resolution: {integrity: sha512-vvuSTD/06d3yI6sHJl1apk3OhbDMfkxOmKwGqp41f4RY2LfiAM4NlvD7R4UDApNwKc/GaO6sNahnuidsb5J+qw==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - dev: false - - /@aws-cdk/aws-apigateway/1.199.0_6ioy6wqnsnl357btnhiggvri2y: - resolution: {integrity: sha512-86xsinCdKssFFGcn8+9yvBm9ei5MENBmZlOwOyaNY4orTNI6yW2uoNY1SpvrCuOfaWgQ0JHPMXTLwFgx2c8OBg==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-lambda': 1.199.0 - '@aws-cdk/aws-logs': 1.199.0 - '@aws-cdk/aws-s3': 1.199.0 - '@aws-cdk/core': 1.199.0 - '@aws-cdk/cx-api': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-certificatemanager': 1.199.0_aklsbzsp6i2n6pzp4sxy6hufne - '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-cognito': 1.199.0_hzslyw5ts33yz4we44vxrnbbrm - '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 - '@aws-cdk/aws-elasticloadbalancingv2': 1.199.0_74oizvoelbxgex3gbujl2xzm54 - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q - '@aws-cdk/aws-logs': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/aws-s3-assets': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/aws-stepfunctions': 1.199.0_7pfu6l6qsjyfy4w6ive4ku47pa - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/cx-api': 1.199.0 - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/assets' - - '@aws-cdk/aws-events' - - '@aws-cdk/custom-resources' - dev: false - - /@aws-cdk/aws-apigatewayv2/1.199.0_74oizvoelbxgex3gbujl2xzm54: - resolution: {integrity: sha512-yTrjZcTe5inn6kBLqB6VgJx5rQqXbIYaShT4gIX/9xZ2qdhSyq5WcIFSvhCaBB1fIGy3PTaDKwZe3GaVuVaDmQ==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-s3': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-certificatemanager': 1.199.0_aklsbzsp6i2n6pzp4sxy6hufne - '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/assets' - - '@aws-cdk/aws-lambda' - - '@aws-cdk/aws-logs' - - '@aws-cdk/custom-resources' - - '@aws-cdk/cx-api' - dev: false - - /@aws-cdk/aws-applicationautoscaling/1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi: - resolution: {integrity: sha512-B8tzEWY7Qa8RE/xLYmkucysnS2LsY98xjGar5vrZXd2pjBsPMM4onjDLmCNWAStJz5vnW30Bs5pfLhjsiRDy3A==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-autoscaling-common': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - dev: false - - /@aws-cdk/aws-autoscaling-common/1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi: - resolution: {integrity: sha512-ZNsVzxDB5bwCPfoKwOeNi3lSenkDJbCzklYgR4syn9/kBJ52GNuE2RvIkiEgz8ObcUPt5rlp+QqTWe0VDU8SfA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - dev: false - - /@aws-cdk/aws-autoscaling-hooktargets/1.199.0_wiaz33wtwefkv5d3nn7hbhuhmu: - resolution: {integrity: sha512-HsLwhc8W4gFaP7uZgUmsOqMqaB7Rxvmn5ZAyXmfT+yhPdnmKNN23QlvlrU3Jtlb2OjGoX9hr6HNDrjLkkH3enA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-autoscaling': 1.199.0 - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-kms': 1.199.0 - '@aws-cdk/aws-lambda': 1.199.0 - '@aws-cdk/aws-sns': 1.199.0 - '@aws-cdk/aws-sns-subscriptions': 1.199.0 - '@aws-cdk/aws-sqs': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-autoscaling': 1.199.0_6ioy6wqnsnl357btnhiggvri2y - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q - '@aws-cdk/aws-sns': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/aws-sns-subscriptions': 1.199.0_x7skkdpav5hf4ncc76dwztyszi - '@aws-cdk/aws-sqs': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - dev: false - - /@aws-cdk/aws-autoscaling/1.199.0_6ioy6wqnsnl357btnhiggvri2y: - resolution: {integrity: sha512-JSwF4UC3JB1KpIQtLUhQytrhSBeEBxe20tLZy6lsdsULtJRz/rbz1Fm4GGUiqefX3gd9qcQBL5pwNlHhjGjZbg==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-autoscaling-common': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 - '@aws-cdk/aws-elasticloadbalancing': 1.199.0_ehdkigggl2baqdi4l6p7upw4f4 - '@aws-cdk/aws-elasticloadbalancingv2': 1.199.0_74oizvoelbxgex3gbujl2xzm54 - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-sns': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/assets' - - '@aws-cdk/aws-events' - - '@aws-cdk/aws-lambda' - - '@aws-cdk/aws-logs' - - '@aws-cdk/aws-s3' - - '@aws-cdk/custom-resources' - - '@aws-cdk/cx-api' - dev: false - - /@aws-cdk/aws-certificatemanager/1.199.0_aklsbzsp6i2n6pzp4sxy6hufne: - resolution: {integrity: sha512-zcmY52ii+7DwRb2dpXYGOWADKZqYqBflm1IR1p5rh5UGD9dhNIOVHiniASaPuA4B2AUB6YpSKGITlWpd8VGfzA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-lambda': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-acmpca': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q - '@aws-cdk/aws-route53': 1.199.0_ytf4bxsrhewrt5j5jnuzynemxy - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/aws-ec2' - - '@aws-cdk/aws-logs' - - '@aws-cdk/custom-resources' - dev: false - - /@aws-cdk/aws-cloudformation/1.199.0_fufarp47blk4okwshjegj2wjg4: - resolution: {integrity: sha512-7IPaH7kJgxD3dSJFnkCPnV9RKAvTgCtre7VEvBSrGZitr8sN/3Nxfu1m5BO6ZgSjfEUSF7M/c9jEvMm8RIE+UQ==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-lambda': 1.199.0 - '@aws-cdk/aws-s3': 1.199.0 - '@aws-cdk/core': 1.199.0 - '@aws-cdk/cx-api': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q - '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/aws-sns': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/cx-api': 1.199.0 - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/aws-events' - dev: false - - /@aws-cdk/aws-cloudfront/1.199.0_74oizvoelbxgex3gbujl2xzm54: - resolution: {integrity: sha512-y4EMHFN+AYsKtD/DbQeU37skklUSVHH2HVWntpN6Rt27oVnG9qqQS4GcI/ZJqJB/qULBjh5g4nqcbLjLr+RbOA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-lambda': 1.199.0 - '@aws-cdk/aws-s3': 1.199.0 - '@aws-cdk/core': 1.199.0 - '@aws-cdk/cx-api': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-certificatemanager': 1.199.0_aklsbzsp6i2n6pzp4sxy6hufne - '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q - '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/aws-ssm': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/cx-api': 1.199.0 - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/assets' - - '@aws-cdk/aws-logs' - - '@aws-cdk/custom-resources' - dev: false - - /@aws-cdk/aws-cloudwatch/1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi: - resolution: {integrity: sha512-zd6fkEjLWF8s9qXw7+mTCvCn80mX9C0JCqqDhFsQelo6U6ZOlkBECCajvAKpMnfEuwVDHM81QbPuEoazUR5AdQ==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - dev: false - - /@aws-cdk/aws-codebuild/1.199.0_6aw2ag5odq3zb2mttwz3fxe3hu: - resolution: {integrity: sha512-EwSR31eUvEzDtRSahsZ4bBNcBU75XhBD+eWFxOnQ3WBWU5vHsUhWjRexOQ4jEhkj/GTDOnH1v+QTDNFxqBMxig==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/assets': 1.199.0 - '@aws-cdk/aws-events': 1.199.0 - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-logs': 1.199.0 - '@aws-cdk/aws-s3': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/assets': 1.199.0_6t5bexudk3vtq7zhe7acxljz2e - '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-codecommit': 1.199.0_u6wgonek7tj4xuwvr3d2ei6crq - '@aws-cdk/aws-codestarnotifications': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 - '@aws-cdk/aws-ecr': 1.199.0_5lpmbvgigeswzbugyujlevszcq - '@aws-cdk/aws-ecr-assets': 1.199.0_u6wgonek7tj4xuwvr3d2ei6crq - '@aws-cdk/aws-events': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/aws-logs': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/aws-s3-assets': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/aws-secretsmanager': 1.199.0_maqnqwhn36fygp3z4rdnivbxii - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/region-info': 1.199.0 - constructs: 3.4.293 - yaml: 1.10.2 - transitivePeerDependencies: - - '@aws-cdk/aws-lambda' - - '@aws-cdk/cx-api' - dev: false - bundledDependencies: - - yaml - - /@aws-cdk/aws-codecommit/1.199.0_u6wgonek7tj4xuwvr3d2ei6crq: - resolution: {integrity: sha512-1C8g1txQtOa8TMXw3bDxHnUdlaJ+QKmYzKYti/Tsfnlt2D5dIefdk/fE5u4Wve+HwqsJ1aliTWR4V1blroEhjg==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-events': 1.199.0 - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-codestarnotifications': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-events': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-s3-assets': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/assets' - - '@aws-cdk/aws-s3' - - '@aws-cdk/cx-api' - dev: false - - /@aws-cdk/aws-codeguruprofiler/1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi: - resolution: {integrity: sha512-Es+ZuQ8/GrslDm+t24/Kb3kLUfeGKy0oHiZQgiuUdYlkcNQ0S0nuAAy/1DV5fL0I5IGWGzS1NPuxgEPV2utLKQ==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - dev: false - - /@aws-cdk/aws-codepipeline/1.199.0_z4s7qll3yvb46zglrdwf6455hq: - resolution: {integrity: sha512-9W/0QoixntnjB8r1kQ727lS2N16BcwO+6u3j9Co9IO/N4bFDi23hgrVEd2mPo9n3JuDezg5Pj1/XkU9s94tm6g==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-events': 1.199.0 - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-s3': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-codestarnotifications': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-events': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/cx-api' - dev: false - - /@aws-cdk/aws-codestarnotifications/1.199.0_xwfh4icwyvj4zfjhzlqde6qllu: - resolution: {integrity: sha512-Ky8RcwjluTTQ0uB/Wo31BivoFUf3ktkOALV7BZ/ZR5XXOhMCowZRVBw6PCPbFDf/qOEgw5f0tFXwFwjfBlJu7w==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - dev: false - - /@aws-cdk/aws-cognito/1.199.0_hzslyw5ts33yz4we44vxrnbbrm: - resolution: {integrity: sha512-keHKhvJmAGcIbaAK/liyeI6HYaK9Dm4IhP+gXfHjMpr2Cm0Rd5WhNJtNsekVoa9m3w0agDFW8qOMDo6O2gVTzA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-lambda': 1.199.0 - '@aws-cdk/core': 1.199.0 - '@aws-cdk/custom-resources': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-certificatemanager': 1.199.0_aklsbzsp6i2n6pzp4sxy6hufne - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/custom-resources': 1.199.0_6aw2ag5odq3zb2mttwz3fxe3hu - constructs: 3.4.293 - punycode: 2.3.0 - transitivePeerDependencies: - - '@aws-cdk/aws-ec2' - - '@aws-cdk/aws-logs' - - '@aws-cdk/cx-api' - dev: false - bundledDependencies: - - punycode - - /@aws-cdk/aws-dynamodb/1.199.0_4somcjbyiqv34tounb2i2obuo4: - resolution: {integrity: sha512-aMXFfs7llTnSLsxjTTNZMttnJTmfR034fLb9J0FebSaZDWa3ML9LkP4ik+FIXt/yWho3GgUWYTqo9QfioDn7/g==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-lambda': 1.199.0 - '@aws-cdk/core': 1.199.0 - '@aws-cdk/custom-resources': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-applicationautoscaling': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kinesis': 1.199.0_yvevwnsp6zaocssyslvdojryte - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/custom-resources': 1.199.0_6aw2ag5odq3zb2mttwz3fxe3hu - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/aws-logs' - - '@aws-cdk/cx-api' - dev: false - - /@aws-cdk/aws-ec2/1.199.0_ylylsu27pdmlfxyxktlluxtkr4: - resolution: {integrity: sha512-Bap+v3S8Ucodi6fy0WMcv10x/QcZ/j/U8NgbrdymQcZxez9C6wywTYTyjHhlyGL8GfE35lwf4p9P8F8tjZnDJg==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-logs': 1.199.0 - '@aws-cdk/aws-s3': 1.199.0 - '@aws-cdk/core': 1.199.0 - '@aws-cdk/cx-api': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/aws-logs': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/aws-s3-assets': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/aws-ssm': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/cloud-assembly-schema': 1.199.0 - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/cx-api': 1.199.0 - '@aws-cdk/region-info': 1.199.0 - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/assets' - dev: false - - /@aws-cdk/aws-ecr-assets/1.199.0_u6wgonek7tj4xuwvr3d2ei6crq: - resolution: {integrity: sha512-uInvem2S+90vDIhPPYicJJnzt2yzCEHbyXgyToPF9+F/ZGIbvcJ1zkcnVsixULn+pd2HK4cCzNlOGsOJgkQ5Pw==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/assets': 1.199.0 - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-s3': 1.199.0 - '@aws-cdk/core': 1.199.0 - '@aws-cdk/cx-api': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/assets': 1.199.0_6t5bexudk3vtq7zhe7acxljz2e - '@aws-cdk/aws-ecr': 1.199.0_5lpmbvgigeswzbugyujlevszcq - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/cx-api': 1.199.0 - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/aws-events' - dev: false - - /@aws-cdk/aws-ecr/1.199.0_5lpmbvgigeswzbugyujlevszcq: - resolution: {integrity: sha512-C4VG9uRf8UD/cNitVvYaQvF9zKwgWZoNLf43RaUrMEpo4Q/KE3/KilYBG8lsza8B7f4yjYRey5iOpydKE68kYg==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-events': 1.199.0 - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-events': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - dev: false - - /@aws-cdk/aws-ecs/1.199.0_7m5azgjywxpgdeoosvoxrcdts4: - resolution: {integrity: sha512-tIJPFP/msc3DvLTtwHIK3IBUSXfp4WiIel2HxeOdtUILQYUf+kUccyix9fXuv1DnuMMvKmIALWs/oRUfY5ZNCw==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-lambda': 1.199.0 - '@aws-cdk/aws-logs': 1.199.0 - '@aws-cdk/aws-s3': 1.199.0 - '@aws-cdk/core': 1.199.0 - '@aws-cdk/cx-api': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-applicationautoscaling': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-autoscaling': 1.199.0_6ioy6wqnsnl357btnhiggvri2y - '@aws-cdk/aws-autoscaling-hooktargets': 1.199.0_wiaz33wtwefkv5d3nn7hbhuhmu - '@aws-cdk/aws-certificatemanager': 1.199.0_aklsbzsp6i2n6pzp4sxy6hufne - '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 - '@aws-cdk/aws-ecr': 1.199.0_5lpmbvgigeswzbugyujlevszcq - '@aws-cdk/aws-ecr-assets': 1.199.0_u6wgonek7tj4xuwvr3d2ei6crq - '@aws-cdk/aws-elasticloadbalancing': 1.199.0_ehdkigggl2baqdi4l6p7upw4f4 - '@aws-cdk/aws-elasticloadbalancingv2': 1.199.0_74oizvoelbxgex3gbujl2xzm54 - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q - '@aws-cdk/aws-logs': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/aws-route53': 1.199.0_ytf4bxsrhewrt5j5jnuzynemxy - '@aws-cdk/aws-route53-targets': 1.199.0_6qn3q4quwxpkjgl3z2r2rmaqqi - '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/aws-s3-assets': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/aws-secretsmanager': 1.199.0_maqnqwhn36fygp3z4rdnivbxii - '@aws-cdk/aws-servicediscovery': 1.199.0_4axszbdsnc7kzhsa3r5g56z4bu - '@aws-cdk/aws-sns': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/aws-sqs': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/aws-ssm': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/cx-api': 1.199.0 - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/assets' - - '@aws-cdk/aws-apigateway' - - '@aws-cdk/aws-cloudfront' - - '@aws-cdk/aws-events' - - '@aws-cdk/aws-sns-subscriptions' - - '@aws-cdk/custom-resources' - dev: false - - /@aws-cdk/aws-efs/1.199.0_ylylsu27pdmlfxyxktlluxtkr4: - resolution: {integrity: sha512-quJaKa6Wjl6y2pCKFpo2NmBrJTV4AKX3wupZdT5dJ8N54kRSKIE7oVF9TFO6k954d5E93YrA+tbA2xI7SUPk9w==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/core': 1.199.0 - '@aws-cdk/cx-api': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/cloud-assembly-schema': 1.199.0 - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/cx-api': 1.199.0 - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/assets' - - '@aws-cdk/aws-logs' - - '@aws-cdk/aws-s3' - dev: false - - /@aws-cdk/aws-elasticloadbalancing/1.199.0_ehdkigggl2baqdi4l6p7upw4f4: - resolution: {integrity: sha512-xRLCKN8ki5qVXYtbkH+stO9LAIrbPjDwhh13KKzotdniXyIknnJLDn2chs6KMnbk5xWxpCgvdOAeWcV6+as7xQ==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-ec2': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - dev: false - - /@aws-cdk/aws-elasticloadbalancingv2/1.199.0_74oizvoelbxgex3gbujl2xzm54: - resolution: {integrity: sha512-cb8dYlmqEjYRORTAu9Y8Xaiw3cZ0RSmCqiFL8Mj+IgxANDg9QdaMxdQu8QPWnC7+uVFWkbnD6G6NRL7FAPgnIA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-lambda': 1.199.0 - '@aws-cdk/aws-s3': 1.199.0 - '@aws-cdk/core': 1.199.0 - '@aws-cdk/cx-api': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-certificatemanager': 1.199.0_aklsbzsp6i2n6pzp4sxy6hufne - '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q - '@aws-cdk/aws-route53': 1.199.0_ytf4bxsrhewrt5j5jnuzynemxy - '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/cloud-assembly-schema': 1.199.0 - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/cx-api': 1.199.0 - '@aws-cdk/region-info': 1.199.0 - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/assets' - - '@aws-cdk/aws-logs' - - '@aws-cdk/custom-resources' - dev: false - - /@aws-cdk/aws-events-targets/1.199.0_efa47vukfsbcitdg2oy6em6xpe: - resolution: {integrity: sha512-L2P39p2FEgVuik+YQRM4pIkw+g3vnDkiibCr7Roe9FCmzU/bZtQKxENhU92v7bFt+7ddLHN1k9DLxLgZxuPEEA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-apigateway': 1.199.0 - '@aws-cdk/aws-events': 1.199.0 - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-lambda': 1.199.0 - '@aws-cdk/aws-logs': 1.199.0 - '@aws-cdk/core': 1.199.0 - '@aws-cdk/custom-resources': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-apigateway': 1.199.0_6ioy6wqnsnl357btnhiggvri2y - '@aws-cdk/aws-autoscaling': 1.199.0_6ioy6wqnsnl357btnhiggvri2y - '@aws-cdk/aws-codebuild': 1.199.0_6aw2ag5odq3zb2mttwz3fxe3hu - '@aws-cdk/aws-codepipeline': 1.199.0_z4s7qll3yvb46zglrdwf6455hq - '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 - '@aws-cdk/aws-ecs': 1.199.0_7m5azgjywxpgdeoosvoxrcdts4 - '@aws-cdk/aws-events': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kinesis': 1.199.0_yvevwnsp6zaocssyslvdojryte - '@aws-cdk/aws-kinesisfirehose': 1.199.0_maqnqwhn36fygp3z4rdnivbxii - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q - '@aws-cdk/aws-logs': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/aws-sns': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/aws-sns-subscriptions': 1.199.0_x7skkdpav5hf4ncc76dwztyszi - '@aws-cdk/aws-sqs': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/aws-stepfunctions': 1.199.0_7pfu6l6qsjyfy4w6ive4ku47pa - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/custom-resources': 1.199.0_6aw2ag5odq3zb2mttwz3fxe3hu - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/assets' - - '@aws-cdk/aws-cloudfront' - - '@aws-cdk/aws-s3' - - '@aws-cdk/cx-api' - dev: false - - /@aws-cdk/aws-events/1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi: - resolution: {integrity: sha512-+CffWS4XbLY76wnmcGN6Nj1H2WSU4jpWTnxhWIn+/CvdazSI6rTtQH+s+zebVcA4aYgxjx05acnscYvwOratLg==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - dev: false - - /@aws-cdk/aws-globalaccelerator/1.199.0_uhmkgheirzwotmxej4ph7fbqla: - resolution: {integrity: sha512-lou6cPM3Lui42+Y1f8q6FyPFtro/F0BzlA4KCgvV7/FXNXTvJ++CUxTbmpP1YKfR+lBvX8zcfcYqUMzqxOQzaA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-ec2': 1.199.0 - '@aws-cdk/core': 1.199.0 - '@aws-cdk/custom-resources': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/custom-resources': 1.199.0_6aw2ag5odq3zb2mttwz3fxe3hu - constructs: 3.4.293 - dev: false - - /@aws-cdk/aws-iam/1.199.0_xwfh4icwyvj4zfjhzlqde6qllu: - resolution: {integrity: sha512-DeK/VqY+6w1PB/h8devz/HNykh+rTtat1tUeBxaxGS8b+ULAxN2Uwdy3wyiLx/bHl2m+B2BWI8/0h67Ii2zk+A==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/cx-api': 1.199.0 - '@aws-cdk/region-info': 1.199.0 - constructs: 3.4.293 - dev: false - - /@aws-cdk/aws-kinesis/1.199.0_yvevwnsp6zaocssyslvdojryte: - resolution: {integrity: sha512-ASDtGXG1ZvBWpDUj9oT12tF5+jG+R7bykcflfE+KTTXX3mJy1S5gn3YQbb6hV5V+TYPyVckSeW2z0pHSL3RkpQ==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-logs': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-logs': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - dev: false - - /@aws-cdk/aws-kinesisfirehose/1.199.0_maqnqwhn36fygp3z4rdnivbxii: - resolution: {integrity: sha512-CXf6vBR4NBA1p4UXtNg1aEUXveUtGBplDYyfoVzDdhpGnMBKQig6aBpUKvRoQbah3dXNbPauBmWOWEqTwn6+Nw==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-lambda': 1.199.0 - '@aws-cdk/aws-logs': 1.199.0 - '@aws-cdk/aws-s3': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kinesis': 1.199.0_yvevwnsp6zaocssyslvdojryte - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q - '@aws-cdk/aws-logs': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/region-info': 1.199.0 - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/assets' - - '@aws-cdk/cx-api' - dev: false - - /@aws-cdk/aws-kms/1.199.0_iumdymv27iwprkm3rzoqxlpuia: - resolution: {integrity: sha512-gQ3h3ThGo6J5MlNfwjZSL8rg3tXeuGChWQCuCX7Wbkx5crKRj5LxbQH/bgwRgnSuZjFZNspSekdTYrgSba30ag==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/core': 1.199.0 - '@aws-cdk/cx-api': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/cloud-assembly-schema': 1.199.0 - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/cx-api': 1.199.0 - constructs: 3.4.293 - dev: false - - /@aws-cdk/aws-lambda-event-sources/1.199.0_3on2gbp3i6lbrxh3zrbluvabnq: - resolution: {integrity: sha512-EVHMnIrP25GVknog8O6yIrenMMzPhIr9nVsVMslnD8A+bGKTjJhTSa90GqjTc8JJ8SB8WU2xx6UNJDjOOpQejg==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-apigateway': 1.199.0 - '@aws-cdk/aws-dynamodb': 1.199.0 - '@aws-cdk/aws-events': 1.199.0 - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-lambda': 1.199.0 - '@aws-cdk/aws-s3': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-apigateway': 1.199.0_6ioy6wqnsnl357btnhiggvri2y - '@aws-cdk/aws-dynamodb': 1.199.0_4somcjbyiqv34tounb2i2obuo4 - '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 - '@aws-cdk/aws-events': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kinesis': 1.199.0_yvevwnsp6zaocssyslvdojryte - '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q - '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/aws-s3-notifications': 1.199.0_fufarp47blk4okwshjegj2wjg4 - '@aws-cdk/aws-secretsmanager': 1.199.0_maqnqwhn36fygp3z4rdnivbxii - '@aws-cdk/aws-sns': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/aws-sns-subscriptions': 1.199.0_x7skkdpav5hf4ncc76dwztyszi - '@aws-cdk/aws-sqs': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/assets' - - '@aws-cdk/aws-logs' - - '@aws-cdk/cx-api' - dev: false - - /@aws-cdk/aws-lambda/1.199.0_5pbncl2no5vqinyo3n2ekkob5q: - resolution: {integrity: sha512-FZU441q7WVL/7HLuZw7Xu63Cax/X0I6lF7B1Q9B6Oje9yflRFHYod8if9oglEPaAcXLpGegPiYWG9T0S9r401g==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-events': 1.199.0 - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-logs': 1.199.0 - '@aws-cdk/aws-s3': 1.199.0 - '@aws-cdk/core': 1.199.0 - '@aws-cdk/cx-api': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-applicationautoscaling': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-codeguruprofiler': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 - '@aws-cdk/aws-ecr': 1.199.0_5lpmbvgigeswzbugyujlevszcq - '@aws-cdk/aws-ecr-assets': 1.199.0_u6wgonek7tj4xuwvr3d2ei6crq - '@aws-cdk/aws-efs': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 - '@aws-cdk/aws-events': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/aws-logs': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/aws-s3-assets': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/aws-signer': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-sns': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/aws-sqs': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/cx-api': 1.199.0 - '@aws-cdk/region-info': 1.199.0 - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/assets' - dev: false - - /@aws-cdk/aws-logs/1.199.0_tqi77pcvvujtgay5663ykqn7wy: - resolution: {integrity: sha512-qS3gbexNNh05fR1qTYSPddhFTPOnURMWEOf/wjKSL0yplPlmqsZdnwmb805UxjiIp7VlcKpOUmusZ6AnX/0u5g==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/core': 1.199.0 - '@aws-cdk/cx-api': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/aws-s3-assets': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/cx-api': 1.199.0 - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/assets' - - '@aws-cdk/aws-s3' - dev: false - - /@aws-cdk/aws-route53-targets/1.199.0_6qn3q4quwxpkjgl3z2r2rmaqqi: - resolution: {integrity: sha512-l8cg4zZncQ2JUF4Hd8kvouWYi5y63/2PKU57MY64dUC7wL/VjeEQMRJhehB11rt1OAbp/SNB2f/dnSTcNA8dmA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-apigateway': 1.199.0 - '@aws-cdk/aws-cloudfront': 1.199.0 - '@aws-cdk/aws-ec2': 1.199.0 - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-s3': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-apigateway': 1.199.0_6ioy6wqnsnl357btnhiggvri2y - '@aws-cdk/aws-cloudfront': 1.199.0_74oizvoelbxgex3gbujl2xzm54 - '@aws-cdk/aws-cognito': 1.199.0_hzslyw5ts33yz4we44vxrnbbrm - '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 - '@aws-cdk/aws-elasticloadbalancing': 1.199.0_ehdkigggl2baqdi4l6p7upw4f4 - '@aws-cdk/aws-elasticloadbalancingv2': 1.199.0_74oizvoelbxgex3gbujl2xzm54 - '@aws-cdk/aws-globalaccelerator': 1.199.0_uhmkgheirzwotmxej4ph7fbqla - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-route53': 1.199.0_ytf4bxsrhewrt5j5jnuzynemxy - '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/region-info': 1.199.0 - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/assets' - - '@aws-cdk/aws-lambda' - - '@aws-cdk/aws-logs' - - '@aws-cdk/custom-resources' - - '@aws-cdk/cx-api' - dev: false - - /@aws-cdk/aws-route53/1.199.0_ytf4bxsrhewrt5j5jnuzynemxy: - resolution: {integrity: sha512-E+EKalXlAt0yXdu38s7YUySpAjSAuzLuZRZN7EULRpJ+zGT+1x0pqUuj3RmWa/LR6Y5Si4wOlqkNfYhbFavnwA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-ec2': 1.199.0 - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-logs': 1.199.0 - '@aws-cdk/core': 1.199.0 - '@aws-cdk/custom-resources': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-logs': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/cloud-assembly-schema': 1.199.0 - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/custom-resources': 1.199.0_6aw2ag5odq3zb2mttwz3fxe3hu - constructs: 3.4.293 - dev: false - - /@aws-cdk/aws-s3-assets/1.199.0_tqi77pcvvujtgay5663ykqn7wy: - resolution: {integrity: sha512-SI1guHpehezxfJp0Vgj11g/ahPxoBpa8AGZnBKhOfwkcnEPvm/ux+HOWLlxr1KFDUGjo6slayf0nd84Tu1Gz6Q==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/assets': 1.199.0 - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-s3': 1.199.0 - '@aws-cdk/core': 1.199.0 - '@aws-cdk/cx-api': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/assets': 1.199.0_6t5bexudk3vtq7zhe7acxljz2e - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/cx-api': 1.199.0 - constructs: 3.4.293 - dev: false - - /@aws-cdk/aws-s3-deployment/1.199.0_rzysml6d2qht4bnjifnmuqxdpi: - resolution: {integrity: sha512-+vtittwtnBX98mQH5KsIl3M4Al03BLWMtwxHbpSXSaMrgy7p4G4JMXYgE4KN9mvMcxIxQ5p1UqxztBr57twkcQ==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-cloudfront': 1.199.0 - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-lambda': 1.199.0 - '@aws-cdk/aws-logs': 1.199.0 - '@aws-cdk/aws-s3': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-cloudfront': 1.199.0_74oizvoelbxgex3gbujl2xzm54 - '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 - '@aws-cdk/aws-efs': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q - '@aws-cdk/aws-logs': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/aws-s3-assets': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/lambda-layer-awscli': 1.199.0_nxfzkwjqnkrhehe63q2ehypkyq - case: 1.6.3 - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/assets' - - '@aws-cdk/cx-api' - dev: false - bundledDependencies: - - case - - /@aws-cdk/aws-s3-notifications/1.199.0_fufarp47blk4okwshjegj2wjg4: - resolution: {integrity: sha512-Yk1Q+SAAUFOWSiIsZgGjpRd7jfunWycDpD1oAbXf0coqQuIeE/GRb1I67MCFDhtgMhgVcIPhjhaqfH93XZsZHA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-lambda': 1.199.0 - '@aws-cdk/aws-s3': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q - '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/aws-sns': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/aws-sqs': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/aws-events' - - '@aws-cdk/cx-api' - dev: false - - /@aws-cdk/aws-s3/1.199.0_wim6pvar6pmwiq3fs3ksmix5ru: - resolution: {integrity: sha512-6eUklSyMDt6R5KHHgbNm9Na0bNbK/y6yG/x+TgsNSwRg2lSGumj0PelPKFU5q4N8WqUHRl8ma40Fon2R5256zw==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-events': 1.199.0 - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/core': 1.199.0 - '@aws-cdk/cx-api': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-events': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/cx-api': 1.199.0 - constructs: 3.4.293 - dev: false - - /@aws-cdk/aws-sam/1.199.0_xwfh4icwyvj4zfjhzlqde6qllu: - resolution: {integrity: sha512-ffuWn3CcqQscWqXMZhyHkMdKQWSHqU99/fkTHr3N7J4nbHBoBPBI5F3qWduhpFvzx0gCFnptrtuy6e1ZlztjwA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - dev: false - - /@aws-cdk/aws-secretsmanager/1.199.0_maqnqwhn36fygp3z4rdnivbxii: - resolution: {integrity: sha512-Dj0+q7I9xRwg1hHowrHb9rxmicDGZVmQixFaFuBdsS5zNfBNdC6WJGWhDddJDZIPclip06fXBm/by4+l4XUpNw==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-lambda': 1.199.0 - '@aws-cdk/core': 1.199.0 - '@aws-cdk/cx-api': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q - '@aws-cdk/aws-sam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/cx-api': 1.199.0 - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/assets' - - '@aws-cdk/aws-logs' - - '@aws-cdk/aws-s3' - dev: false - - /@aws-cdk/aws-servicediscovery/1.199.0_4axszbdsnc7kzhsa3r5g56z4bu: - resolution: {integrity: sha512-OSGcZQE5N4ynBFcv54XWSbfunBym5r/hHstpONZkRB+jf9nFEqaVqno9ZgeLU3in5m/QuK781g+dx0r0M0Ao6w==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-ec2': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 - '@aws-cdk/aws-elasticloadbalancingv2': 1.199.0_74oizvoelbxgex3gbujl2xzm54 - '@aws-cdk/aws-route53': 1.199.0_ytf4bxsrhewrt5j5jnuzynemxy - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/assets' - - '@aws-cdk/aws-iam' - - '@aws-cdk/aws-lambda' - - '@aws-cdk/aws-logs' - - '@aws-cdk/aws-s3' - - '@aws-cdk/custom-resources' - - '@aws-cdk/cx-api' - dev: false - - /@aws-cdk/aws-signer/1.199.0_xwfh4icwyvj4zfjhzlqde6qllu: - resolution: {integrity: sha512-TfN2STyZBDTBOBhDZAh/GEw6FauKuk4hNc0uI9AT9PN0LljsXb9yol/Ui2HFh6pYqXa0QBP3QXGv97WfiGW7Wg==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - dev: false - - /@aws-cdk/aws-sns-subscriptions/1.199.0_x7skkdpav5hf4ncc76dwztyszi: - resolution: {integrity: sha512-mpUNClHnUGKqmI7JXjxwaHAKH9nWPZAn1+5gVEEoK5j/MHSNwYfiom1YCBxH+J9LLDck4+lXj+GXVJ1K3xUS1g==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-lambda': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q - '@aws-cdk/aws-sns': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/aws-sqs': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/aws-events' - - '@aws-cdk/cx-api' - dev: false - - /@aws-cdk/aws-sns/1.199.0_wim6pvar6pmwiq3fs3ksmix5ru: - resolution: {integrity: sha512-XZwfvNC9o76AqT8GNEY9oy9d+Hl5j9qhyGn12HJ9Do0CY0lWgHKD8jbaKxe5BSQj7FeY+iImPRp56Ft43u/COg==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-events': 1.199.0 - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-codestarnotifications': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-events': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/aws-sqs': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/cx-api' - dev: false - - /@aws-cdk/aws-sqs/1.199.0_iumdymv27iwprkm3rzoqxlpuia: - resolution: {integrity: sha512-MybXc7W7xoR4chOvrVMqTjPjj5G1Jjd1Fi+IbcR6pjJ5QzuDxlT8JpJvBcAy4TQwOYvbWYk7LQeIJfxouwU1ZA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/cx-api' - dev: false - - /@aws-cdk/aws-ssm/1.199.0_iumdymv27iwprkm3rzoqxlpuia: - resolution: {integrity: sha512-b6fh/4DJyFs8eIl/+VbthYJXZX76XLB3qlmHwruDyriupxRqoz3QHTycMewneX3+IgP0aYrBRYnLvNWhhgcNGA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia - '@aws-cdk/cloud-assembly-schema': 1.199.0 - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/cx-api' + /@aws-cdk/asset-awscli-v1/2.2.200: + resolution: {integrity: sha512-Kf5J8DfJK4wZFWT2Myca0lhwke7LwHcHBo+4TvWOGJrFVVKVuuiLCkzPPRBQQVDj0Vtn2NBokZAz8pfMpAqAKg==} dev: false - /@aws-cdk/aws-stepfunctions/1.199.0_7pfu6l6qsjyfy4w6ive4ku47pa: - resolution: {integrity: sha512-RkxIZcId0GU1lqS91v/IyWcCAEldlF81+IVO4qBFg2vZkT5Zko2m0XnuFWxmcXDWdfI1l32dBZ/72VL7elISHA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-events': 1.199.0 - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-logs': 1.199.0 - '@aws-cdk/aws-s3': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-events': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-logs': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 + /@aws-cdk/asset-kubectl-v20/2.1.2: + resolution: {integrity: sha512-3M2tELJOxQv0apCIiuKQ4pAbncz9GuLwnKFqxifWfe77wuMxyTRPmxssYHs42ePqzap1LT6GDcPygGs+hHstLg==} dev: false - /@aws-cdk/cfnspec/1.199.0: - resolution: {integrity: sha512-JTMgdbaFZ8MbZk2c+CbHeUNvH+UvIJIJjXC2TwgEjHbPohvrK58UQmFC7WeR4cEgKZ2J7WAJatugIfspYkG+Xg==} - dependencies: - fs-extra: 9.1.0 - md5: 2.3.0 + /@aws-cdk/asset-node-proxy-agent-v6/2.0.1: + resolution: {integrity: sha512-DDt4SLdLOwWCjGtltH4VCST7hpOI5DzieuhGZsBpZ+AgJdSI2GCjklCXm0GCTwJG/SolkL5dtQXyUKgg9luBDg==} dev: false - /@aws-cdk/cloud-assembly-schema/1.199.0: - resolution: {integrity: sha512-MnyNovI+UAsKRdL0p5XVYrtxQMp0Ppc0h59tVY9psZzXzqOhplyW8jbisVt7OnsRj5HaDj7HXZFe/DZr1x9XcQ==} + /@aws-cdk/cloud-assembly-schema/2.101.1: + resolution: {integrity: sha512-zP+5eaOcnEMTZHcVSl8oqrzttKpLm4i1yEMkh7mwbVVAcH6ofd4sPKc8LDkJRWruP47Z9yDtiwx+ly2ZRXG58Q==} engines: {node: '>= 14.15.0'} dependencies: jsonschema: 1.4.1 - semver: 7.5.0 + semver: 7.5.4 dev: false bundledDependencies: - jsonschema - semver - /@aws-cdk/cloud-assembly-schema/2.39.1: - resolution: {integrity: sha512-lSVaaedXWeK08uoq0IXDCspz9U/H4qIERemdsMQrMUDTiUe/JBby7vtmyMvOdEscE8GMAmiOzoPmAE0Uf+yw5A==} - engines: {node: '>= 14.15.0'} - dependencies: - jsonschema: 1.4.1 - semver: 7.5.0 - dev: false - bundledDependencies: - - jsonschema - - semver - - /@aws-cdk/cloudformation-diff/1.199.0: - resolution: {integrity: sha512-PezZwyTeXltcTzhTuNDqHzVK3CHtOzw6L/uDgtkqXKjU7KxZ1RcPGfJeNfZzU1T6sRGrkKIcTY5jfqjLdKVkBA==} - engines: {node: '>= 14.15.0'} - dependencies: - '@aws-cdk/cfnspec': 1.199.0 - '@types/node': 10.17.60 - chalk: 4.1.2 - diff: 5.1.0 - fast-deep-equal: 3.1.3 - string-width: 4.2.3 - table: 6.8.1 - dev: false - - /@aws-cdk/core/1.199.0_kscyon7amn7dglog7cugnqvkwm: - resolution: {integrity: sha512-QRc3nyZj5DpmYjA/0uR1ML+A9Zp7T+7xloT7EOrdSCAP6j4vhPcskL9tTEHNjgiHD1zCcC6i1MoJ/ez+sxdvNw==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/cx-api': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/cloud-assembly-schema': 1.199.0 - '@aws-cdk/cx-api': 1.199.0 - '@aws-cdk/region-info': 1.199.0 - '@balena/dockerignore': 1.0.2 - constructs: 3.4.293 - fs-extra: 9.1.0 - ignore: 5.2.4 - minimatch: 3.1.2 - dev: false - bundledDependencies: - - fs-extra - - minimatch - - '@balena/dockerignore' - - ignore - - /@aws-cdk/custom-resources/1.199.0_6aw2ag5odq3zb2mttwz3fxe3hu: - resolution: {integrity: sha512-2KXLD9LHQtXgjwyqMAZxXvo1q/7sZUGNpEWmxinEOaCNew57SRrWbz8U9gkUt1PHxUa6UqwA1F/aF+HXwQy2Tg==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-iam': 1.199.0 - '@aws-cdk/aws-lambda': 1.199.0 - '@aws-cdk/aws-logs': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-cloudformation': 1.199.0_fufarp47blk4okwshjegj2wjg4 - '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 - '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q - '@aws-cdk/aws-logs': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/aws-sns': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/assets' - - '@aws-cdk/aws-events' - - '@aws-cdk/aws-s3' - - '@aws-cdk/cx-api' - dev: false - - /@aws-cdk/cx-api/1.199.0: - resolution: {integrity: sha512-uP52xJryODHbTo8FI/8eQMOMU0eUNoQXenouzFtB2MqimBRHaKmIEXQlJZLT/pglgAI8Kvo/UA7nTkcZT/TD5A==} - engines: {node: '>= 14.15.0'} - dependencies: - '@aws-cdk/cloud-assembly-schema': 1.199.0 - semver: 7.5.0 - dev: false - bundledDependencies: - - semver - - /@aws-cdk/cx-api/2.39.1: - resolution: {integrity: sha512-2YFBvKtvT8vJSZe170qzcFVNSP+1gmVBpzZXGzZ+rcZxEo2vvKj+JZXpgXk8tvKArPZtE8HCu5bd6cJXlVuLoQ==} + /@aws-cdk/cx-api/2.101.1: + resolution: {integrity: sha512-uPFpe5Rj0Hxy/WaK0Cr2EXGABGdjYIZBtrlQhHCjeN9WAmEILLtNNJofeUOW1nPNk0swni6FGeNQU7WnWBg30g==} engines: {node: '>= 14.15.0'} dependencies: - '@aws-cdk/cloud-assembly-schema': 2.39.1 - semver: 7.5.0 + '@aws-cdk/cloud-assembly-schema': 2.101.1 + semver: 7.5.4 dev: false bundledDependencies: - semver - /@aws-cdk/lambda-layer-awscli/1.199.0_nxfzkwjqnkrhehe63q2ehypkyq: - resolution: {integrity: sha512-RSoEMqLfjnAVAHHgl4DR/zA9+4NSeH7JcBokisOfO7aYZiJBB+fenCodf4+hrHvHAs1v+SdZRLlkSlhPQvfhfg==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@aws-cdk/aws-lambda': 1.199.0 - '@aws-cdk/core': 1.199.0 - constructs: ^3.3.69 - dependencies: - '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q - '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - constructs: 3.4.293 - dev: false - - /@aws-cdk/region-info/1.199.0: - resolution: {integrity: sha512-O6f/qmyep57VMTwq1g55ZuwO8jcAsvthwUOvo+nvxLIIhI4W7R6RPzFX9AHyqHSzHj9PVZVg5JKXreyl3o5ekQ==} - engines: {node: '>= 14.15.0'} - dev: false - /@azure/abort-controller/1.1.0: resolution: {integrity: sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==} engines: {node: '>=12.0.0'} @@ -2916,9 +1678,9 @@ packages: '@cdktf/hcl2cdk': 0.14.3 '@cdktf/hcl2json': 0.14.3 '@sentry/node': 6.19.7 - cdktf: 0.14.3_constructs@10.2.7 + cdktf: 0.14.3_constructs@10.3.0 codemaker: 1.80.0 - constructs: 10.2.7 + constructs: 10.3.0 cross-spawn: 7.0.3 https-proxy-agent: 5.0.1 ink-select-input: 4.2.2_ink@3.2.0+react@17.0.2 @@ -2944,9 +1706,9 @@ packages: dependencies: '@npmcli/ci-detect': 1.4.0 '@sentry/node': 6.19.7 - cdktf: 0.14.3_constructs@10.2.7 + cdktf: 0.14.3_constructs@10.3.0 codemaker: 1.80.0 - constructs: 10.2.7 + constructs: 10.3.0 cross-spawn: 7.0.3 follow-redirects: 1.15.2 fs-extra: 8.1.0 @@ -2988,15 +1750,15 @@ packages: transitivePeerDependencies: - encoding - /@cdktf/provider-azurerm/5.0.13_7kmlqc32ygctfp6wjg2guo3vfu: + /@cdktf/provider-azurerm/5.0.13_bh4r36madta3fvvtv2haucd6sa: resolution: {integrity: sha512-jX0r6vpSm3fp7pV40IuhBtC72ZiQzflP21yGR7y6d+Hi8zi3NqvGIphDi83rMZr1eAmZ1Bs7lV2pMqiQFw84Rw==} engines: {node: '>= 14.17.0'} peerDependencies: cdktf: ^0.15.0 constructs: ^10.0.0 dependencies: - cdktf: 0.15.5_constructs@10.2.7 - constructs: 10.2.7 + cdktf: 0.15.5_constructs@10.3.0 + constructs: 10.3.0 dev: false /@cdktf/provider-generator/0.14.3: @@ -3013,15 +1775,15 @@ packages: - encoding - supports-color - /@cdktf/provider-time/5.0.0_7kmlqc32ygctfp6wjg2guo3vfu: + /@cdktf/provider-time/5.0.0_bh4r36madta3fvvtv2haucd6sa: resolution: {integrity: sha512-ZHlaAAyGNT1w7csNwMewEa06cgRbKaxuhsjDF3Y3I7mMwL9lPsnM1AumneJyYbwO1cQrcPasgWuNa65hkS8zHg==} engines: {node: '>= 14.17.0'} peerDependencies: cdktf: ^0.15.0 constructs: ^10.0.0 dependencies: - cdktf: 0.15.5_constructs@10.2.7 - constructs: 10.2.7 + cdktf: 0.15.5_constructs@10.3.0 + constructs: 10.3.0 dev: false /@cspotcode/source-map-support/0.8.1: @@ -3742,7 +2504,7 @@ packages: resolution: {integrity: sha512-bF6brnwPN9+kheqdKCpinMgCkj+sJIUEj+0v0LPug9OQwL5/1jy+kiJwl+Nkw4Kh+7oaL1phhC4gMz6Oq60jMg==} deprecated: This is a stub types definition for aws-sdk (https://github.com/aws/aws-sdk-js). aws-sdk provides its own type definitions, so you don't need @types/aws-sdk installed! dependencies: - aws-sdk: 2.853.0 + aws-sdk: 2.1475.0 dev: true /@types/body-parser/1.19.2: @@ -3929,10 +2691,6 @@ packages: '@types/node': 18.18.3 dev: true - /@types/node/10.17.60: - resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} - dev: false - /@types/node/18.18.3: resolution: {integrity: sha512-0OVfGupTl3NBFr8+iXpfZ8NR7jfFO+P1Q+IO/q0wbo02wYkP5gy36phojeYWpLQ6WAMjl+VfmqUk2YbUfp0irA==} @@ -4358,6 +3116,19 @@ packages: tar-stream: 2.2.0 zip-stream: 4.1.0 + /archiver/5.3.2: + resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} + engines: {node: '>= 10'} + dependencies: + archiver-utils: 2.1.0 + async: 3.2.4 + buffer-crc32: 0.2.13 + readable-stream: 3.6.2 + readdir-glob: 1.1.3 + tar-stream: 2.2.0 + zip-stream: 4.1.0 + dev: false + /archy/1.0.0: resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} dev: true @@ -4459,16 +3230,41 @@ packages: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} - /aws-cdk/1.199.0: - resolution: {integrity: sha512-31o4NgZvVkUOzOUOJXkI37j1yXVqAmzLqmA1g9OXu/0MzGyVmHiGCo0yIswM28Onb5bTh0+g/FUEx5woTh9mDA==} + /aws-cdk-lib/2.101.1_constructs@10.3.0: + resolution: {integrity: sha512-kKrJ0CcD82IyohjB3TRy34whf22GI6Y2bIrkBmui+fCb2t13+ToJb7zKBRmL6C090OsoiU/q+H6/WIZWOoYDvQ==} engines: {node: '>= 14.15.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.2 + peerDependencies: + constructs: ^10.0.0 + dependencies: + '@aws-cdk/asset-awscli-v1': 2.2.200 + '@aws-cdk/asset-kubectl-v20': 2.1.2 + '@aws-cdk/asset-node-proxy-agent-v6': 2.0.1 + '@balena/dockerignore': 1.0.2 + case: 1.6.3 + constructs: 10.3.0 + fs-extra: 11.1.1 + ignore: 5.2.4 + jsonschema: 1.4.1 + minimatch: 3.1.2 + punycode: 2.3.0 + semver: 7.5.4 + table: 6.8.1 + yaml: 1.10.2 dev: false + bundledDependencies: + - '@balena/dockerignore' + - case + - fs-extra + - ignore + - jsonschema + - minimatch + - punycode + - semver + - table + - yaml - /aws-sdk/2.1365.0: - resolution: {integrity: sha512-GRwHfzYufi7BhBtgyzeHvqS5yCMRC5ZCqmDU/TBMnr8IaH6sabSG2iAhVn1Kkpjv3tDnWHwDr5s8wNMTzJLPmg==} + /aws-sdk/2.1475.0: + resolution: {integrity: sha512-fYlDnmh7sDH/CS6TtP0EEH2RcLBemgHnJjUhkHGIqQvMTzi3N13EvBtyaYozoJsJ2i8/rcwU10/48HO7rNwL5g==} engines: {node: '>= 10.0.0'} dependencies: buffer: 4.9.2 @@ -4482,20 +3278,6 @@ packages: uuid: 8.0.0 xml2js: 0.5.0 - /aws-sdk/2.853.0: - resolution: {integrity: sha512-3cifeifeMHKtpvQ6OcrA9j34BEdvWmLlSGzZU/mZf9nYcV+22PPXjwpVhPh9BvfC2S77upKNbMgnkv4u50aQKw==} - engines: {node: '>= 0.8.0'} - dependencies: - buffer: 4.9.2 - events: 1.1.1 - ieee754: 1.1.13 - jmespath: 0.15.0 - querystring: 0.2.0 - sax: 1.2.1 - url: 0.10.3 - uuid: 3.3.2 - xml2js: 0.4.19 - /axios/0.21.4: resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} dependencies: @@ -4620,7 +3402,7 @@ packages: resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} dependencies: base64-js: 1.5.1 - ieee754: 1.1.13 + ieee754: 1.2.1 isarray: 1.0.0 /buffer/5.7.1: @@ -4708,15 +3490,15 @@ packages: resolution: {integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==} engines: {node: '>= 0.8.0'} - /cdk-assets/2.39.1: - resolution: {integrity: sha512-a7k9kKt3HyNm6nxXJhFxyR5iFuh2C1B0gX0p9+d1ZgqpmOgtdIdQFIYiBmjPMBnj4mtJiBI1Nz5BvqV3pKHKxw==} + /cdk-assets/2.101.1: + resolution: {integrity: sha512-ixLlEKJsO+7jqBSYVz+BdW8E3/wO9DDZqJStwC88aKBSpqlKDECv89IBgQ6GQFQ2cjXfZxhkLFNZCLukvIvxRw==} engines: {node: '>= 14.15.0'} hasBin: true dependencies: - '@aws-cdk/cloud-assembly-schema': 2.39.1 - '@aws-cdk/cx-api': 2.39.1 - archiver: 5.3.1 - aws-sdk: 2.1365.0 + '@aws-cdk/cloud-assembly-schema': 2.101.1 + '@aws-cdk/cx-api': 2.101.1 + archiver: 5.3.2 + aws-sdk: 2.1475.0 glob: 7.2.3 mime: 2.6.0 yargs: 16.2.0 @@ -4731,9 +3513,9 @@ packages: '@cdktf/hcl2cdk': 0.14.3 '@cdktf/hcl2json': 0.14.3 '@sentry/node': 6.19.7 - cdktf: 0.14.3_constructs@10.2.7 + cdktf: 0.14.3_constructs@10.3.0 codemaker: 1.80.0 - constructs: 10.2.7 + constructs: 10.3.0 cross-spawn: 7.0.3 https-proxy-agent: 5.0.1 ink-select-input: 4.2.2_ink@3.2.0+react@17.0.2 @@ -4754,13 +3536,13 @@ packages: - react - supports-color - /cdktf/0.14.3_constructs@10.2.7: + /cdktf/0.14.3_constructs@10.3.0: resolution: {integrity: sha512-sVxp6xfzEoOCejixLgeaQo9mQPEImFa7JSWoOMIyxlA0NFVPrEWMvPcfM5iONCd1m8tU6w++RZG0Q9bLPn3Lgw==} peerDependencies: constructs: ^10.0.25 dependencies: archiver: 5.3.1 - constructs: 10.2.7 + constructs: 10.3.0 json-stable-stringify: 1.0.2 semver: 7.5.0 bundledDependencies: @@ -4768,13 +3550,13 @@ packages: - json-stable-stringify - semver - /cdktf/0.15.5_constructs@10.2.7: + /cdktf/0.15.5_constructs@10.3.0: resolution: {integrity: sha512-fcamLs7SKz+kTbQFf+fOXDGvmwT5bH4bHwp+jkVKjGTRsu6C8z5oFVAjKYm+aP1tC7sSWG967+ihSx6+uPNAGw==} peerDependencies: constructs: ^10.0.25 dependencies: archiver: 5.3.1 - constructs: 10.2.7 + constructs: 10.3.0 json-stable-stringify: 1.0.2 semver: 7.5.0 bundledDependencies: @@ -4824,10 +3606,6 @@ packages: /chardet/0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - /charenc/0.0.2: - resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} - dev: false - /check-error/1.0.2: resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} @@ -5133,14 +3911,9 @@ packages: /concat-map/0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - /constructs/10.2.7: - resolution: {integrity: sha512-Cn8bZkZMK/jdeyoobnR/M48/+SSgCHe6nNTJXtbzu/dLaK+HiE6JSSjhtb9OO2jO/ZysZ1dPVUrzKs7HGZ7PUw==} - engines: {node: '>= 14.17.0'} - - /constructs/3.4.293: - resolution: {integrity: sha512-pUUNuJFQl8+47oFgDNLge8IupmPEKmSrdgADPmnyEqZBoqpui/yrxhIHTFEYDR1jFck9XzWHOBWnncs64mH7uw==} - engines: {node: '>= 14.17.0'} - dev: false + /constructs/10.3.0: + resolution: {integrity: sha512-vbK8i3rIb/xwZxSpTjz3SagHn1qq9BChLEfy5Hf6fB3/2eFbrwt2n9kHwQcS0CPTRBesreeAcsJfMq2229FnbQ==} + engines: {node: '>= 16.14.0'} /content-disposition/0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} @@ -5259,10 +4032,6 @@ packages: shebang-command: 2.0.0 which: 2.0.2 - /crypt/0.0.2: - resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} - dev: false - /d/1.0.1: resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==} dependencies: @@ -5481,11 +4250,6 @@ packages: engines: {node: '>=0.3.1'} dev: true - /diff/5.1.0: - resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} - engines: {node: '>=0.3.1'} - dev: false - /dir-glob/3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -6442,6 +5206,15 @@ packages: jsonfile: 6.1.0 universalify: 2.0.0 + /fs-extra/11.1.1: + resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: false + /fs-extra/6.0.1: resolution: {integrity: sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==} dependencies: @@ -6495,6 +5268,7 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true + dev: true optional: true /function-bind/1.1.1: @@ -7124,10 +5898,6 @@ packages: call-bind: 1.0.2 has-tostringtag: 1.0.0 - /is-buffer/1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} - dev: false - /is-builtin-module/3.2.1: resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} engines: {node: '>=6'} @@ -7408,10 +6178,6 @@ packages: filelist: 1.0.4 minimatch: 3.1.2 - /jmespath/0.15.0: - resolution: {integrity: sha512-+kHj8HXArPfpPEKGLZ+kB5ONRTCiGQXo8RQYL0hH8t6pWXUBBK5KkkQmTNOwKK4LEsd0yTsgtjJVm4UBSZea4w==} - engines: {node: '>= 0.6.0'} - /jmespath/0.16.0: resolution: {integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==} engines: {node: '>= 0.6.0'} @@ -7986,14 +6752,6 @@ packages: /make-error/1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - /md5/2.3.0: - resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} - dependencies: - charenc: 0.0.2 - crypt: 0.0.2 - is-buffer: 1.1.6 - dev: false - /mdurl/1.0.1: resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} @@ -9386,6 +8144,14 @@ packages: dependencies: lru-cache: 6.0.0 + /semver/7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: false + /send/0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} @@ -9424,7 +8190,7 @@ packages: hasBin: true dependencies: ajv: 6.12.6 - aws-sdk: 2.853.0 + aws-sdk: 2.1475.0 bluebird: 3.7.2 diff: 3.5.0 get-stdin: 6.0.0 @@ -9450,7 +8216,7 @@ packages: ajv: 8.12.0 ajv-formats: 2.1.1 archiver: 5.3.0 - aws-sdk: 2.1365.0 + aws-sdk: 2.1475.0 bluebird: 3.7.2 cachedir: 2.3.0 chalk: 4.1.2 @@ -10387,11 +9153,6 @@ packages: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} - /uuid/3.3.2: - resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==} - deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. - hasBin: true - /uuid/8.0.0: resolution: {integrity: sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==} hasBin: true @@ -10613,17 +9374,11 @@ packages: dependencies: sax: 1.2.4 - /xml2js/0.4.19: - resolution: {integrity: sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==} - dependencies: - sax: 1.2.1 - xmlbuilder: 9.0.7 - /xml2js/0.5.0: resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==} engines: {node: '>=4.0.0'} dependencies: - sax: 1.2.1 + sax: 1.2.4 xmlbuilder: 11.0.1 /xmlbuilder/11.0.1: @@ -10634,10 +9389,6 @@ packages: resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} engines: {node: '>=8.0'} - /xmlbuilder/9.0.7: - resolution: {integrity: sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ==} - engines: {node: '>=4.0'} - /xtend/4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} diff --git a/packages/framework-integration-tests/package.json b/packages/framework-integration-tests/package.json index f7e4b4045..dd88ee041 100644 --- a/packages/framework-integration-tests/package.json +++ b/packages/framework-integration-tests/package.json @@ -15,7 +15,7 @@ "@boostercloud/framework-provider-azure": "workspace:^1.19.1", "@boostercloud/framework-provider-local": "workspace:^1.19.1", "@boostercloud/framework-types": "workspace:^1.19.1", - "aws-sdk": "2.853.0", + "aws-sdk": "2.1475.0", "graphql": "^16.6.0", "tslib": "^2.4.0", "@effect-ts/core": "^0.60.4", @@ -48,7 +48,7 @@ "cdktf-cli": "^0.14.3", "ink": "^3.0.5", "react": "^17.0.0", - "constructs": "^10.0.0", + "constructs": "^10.3.0", "chai": "4.2.0", "chai-as-promised": "7.1.1", "child-process-promise": "^2.2.1", diff --git a/packages/framework-provider-aws-infrastructure/package.json b/packages/framework-provider-aws-infrastructure/package.json index 01e4e0740..0515224e2 100644 --- a/packages/framework-provider-aws-infrastructure/package.json +++ b/packages/framework-provider-aws-infrastructure/package.json @@ -23,36 +23,20 @@ "node": ">=18.0.0 <19.0.0" }, "dependencies": { - "@aws-cdk/aws-apigateway": "^1.170.0", - "@aws-cdk/aws-logs": "^1.170.0", - "@aws-cdk/assets": "^1.170.0", - "@aws-cdk/aws-apigatewayv2": "^1.170.0", - "@aws-cdk/cloudformation-diff": "^1.170.0", - "@aws-cdk/aws-cloudfront": "^1.170.0", - "@aws-cdk/custom-resources": "^1.170.0", - "@aws-cdk/aws-dynamodb": "^1.170.0", - "@aws-cdk/aws-events": "^1.170.0", - "@aws-cdk/aws-events-targets": "^1.170.0", - "@aws-cdk/aws-iam": "^1.170.0", - "@aws-cdk/aws-lambda": "^1.170.0", - "@aws-cdk/aws-lambda-event-sources": "^1.170.0", - "@aws-cdk/aws-s3": "^1.170.0", - "@aws-cdk/aws-s3-deployment": "^1.170.0", - "@aws-cdk/core": "^1.170.0", - "@aws-cdk/cx-api": "^1.170.0", "@boostercloud/framework-common-helpers": "workspace:^1.19.1", "@boostercloud/framework-provider-aws": "workspace:^1.19.1", "@boostercloud/framework-types": "workspace:^1.19.1", - "constructs": "^3.3.69", - "aws-cdk": "^1.170.0", - "aws-sdk": "2.853.0", + "constructs": "^10.3.0", + "aws-cdk-lib": "^2.101.1", + "aws-sdk": "2.1475.0", "colors": "^1.4.0", "tslib": "^2.4.0", "promptly": "~3.2.0", - "cdk-assets": "~2.39.1", + "cdk-assets": "~2.101.1", "@effect-ts/core": "^0.60.4", "yaml": "1.10.2", - "archiver": "5.3.0" + "archiver": "5.3.0", + "child-process-promise": "^2.2.1" }, "scripts": { "format": "prettier --write --ext '.js,.ts' **/*.ts **/*/*.ts", @@ -62,7 +46,7 @@ "clean": "rimraf ./dist tsconfig.tsbuildinfo", "prepack": "tsc -b tsconfig.json", "test:provider-aws-infrastructure": "npm run test", - "test": "" + "test": "nyc --extension .ts mocha --forbid-only \"test/**/*.test.ts\"" }, "bugs": { "url": "https://github.com/boostercloud/booster/issues" @@ -99,7 +83,8 @@ "ts-node": "^10.9.1", "typescript": "4.7.4", "velocityjs": "^2.0.0", - "eslint-plugin-unicorn": "~44.0.2" + "eslint-plugin-unicorn": "~44.0.2", + "@types/child-process-promise": "^2.2.1" }, "pnpm": { "overrides": { diff --git a/packages/framework-provider-aws-infrastructure/src/infrastructure/deploy.ts b/packages/framework-provider-aws-infrastructure/src/infrastructure/deploy.ts index f058b2a40..87e4c8952 100644 --- a/packages/framework-provider-aws-infrastructure/src/infrastructure/deploy.ts +++ b/packages/framework-provider-aws-infrastructure/src/infrastructure/deploy.ts @@ -1,41 +1,40 @@ -import { RequireApproval } from 'aws-cdk/lib/diff' -import { Bootstrapper } from 'aws-cdk' import { BoosterConfig } from '@boostercloud/framework-types' import { getLogger } from '@boostercloud/framework-common-helpers' -import { EnvironmentUtils } from '@aws-cdk/cx-api' -import { - getStackNames, - getStackServiceConfiguration, - getStackToolkitBucketName, - getStackToolkitName, -} from './stack-tools' +import { getStackToolkitBucketName, getStackToolkitName } from './stack-tools' import { InfrastructureRocket } from '../rockets/infrastructure-rocket' +import { exec } from 'child-process-promise' +import { App } from 'aws-cdk-lib' +import { ApplicationStack } from './stacks/application-stack' /** * Deploys the application using the credentials located in ~/.aws */ export async function deploy(config: BoosterConfig, rockets?: InfrastructureRocket[]): Promise { - const logger = getLogger(config, 'deploy') - const { environment: env, cdkToolkit } = await getStackServiceConfiguration(config, rockets) - const toolkitStackName = getStackToolkitName(config) + const logger = getLogger(config, 'aws-deploy#deploy') + + const boosterApp = new App() + const stack = new ApplicationStack(config, boosterApp, rockets) - logger.info('Bootstraping the following environment: ' + JSON.stringify(env)) - await cdkToolkit.bootstrap( - [EnvironmentUtils.format(env.account, env.region)], - new Bootstrapper({ source: 'legacy' }), - { - toolkitStackName, - parameters: { - bucketName: getStackToolkitBucketName(config), - }, - terminationProtection: false, - } - ) + await bootstrapEnvironment(config, stack) logger.info(`Deploying ${config.appName} on environment ${config.environmentName}`) - await cdkToolkit.deploy({ - toolkitStackName, - selector: { patterns: getStackNames(config) }, - requireApproval: RequireApproval.Never, - }) + boosterApp.synth() +} + +/** + * Bootstraps the AWS environment using the CDK v2 CLI. + */ +async function bootstrapEnvironment(config: BoosterConfig, stack: ApplicationStack): Promise { + const logger = getLogger(config, 'aws-deploy#bootstrap') + const toolkitStackName = getStackToolkitName(config) + const toolkitBucketName = getStackToolkitBucketName(config) + + logger.info(`Bootstrapping environment ${config.environmentName}...`) + const bootstrapCommand = + `cdk bootstrap aws://${stack.account}/${stack.region} ` + + `--toolkit-stack-name ${toolkitStackName} ` + + `--bootstrap-bucket-name ${toolkitBucketName}` + + const bootstrapResult = await exec(bootstrapCommand) + logger.info(`Bootstrap output: ${bootstrapResult.stdout}`) } diff --git a/packages/framework-provider-aws-infrastructure/src/infrastructure/nuke.ts b/packages/framework-provider-aws-infrastructure/src/infrastructure/nuke.ts index d6486d2ad..a11b429de 100644 --- a/packages/framework-provider-aws-infrastructure/src/infrastructure/nuke.ts +++ b/packages/framework-provider-aws-infrastructure/src/infrastructure/nuke.ts @@ -1,17 +1,11 @@ import { BoosterConfig } from '@boostercloud/framework-types' import { getLogger } from '@boostercloud/framework-common-helpers' -import { ISDK } from 'aws-cdk' import { emptyS3Bucket } from './s3utils' import * as colors from 'colors' -import { - getStackNames, - getStackServiceConfiguration, - getStackToolkitBucketName, - getStackToolkitName, -} from './stack-tools' -import { CdkToolkit } from 'aws-cdk/lib/cdk-toolkit' +import { getStackNames, getStackToolkitBucketName, getStackToolkitName } from './stack-tools' import { InfrastructureRocket } from '../rockets/infrastructure-rocket' import { buildRocketUtils } from '../rockets/rocket-utils' +import { exec } from 'child-process-promise' /** * Nuke all the resources used in the "AppStacks" @@ -19,48 +13,45 @@ import { buildRocketUtils } from '../rockets/rocket-utils' export async function nuke(config: BoosterConfig, rockets?: InfrastructureRocket[]): Promise { const logger = getLogger(config, 'nuke') logger.info(colors.yellow('Destroying application') + ' ' + colors.blue(config.appName)) - const { sdk, cdkToolkit } = await getStackServiceConfiguration(config, []) - await nukeToolkit(config, sdk) - if (rockets) await nukeRockets(config, sdk, rockets) - await nukeApplication(config, cdkToolkit) + await nukeToolkit(config) + if (rockets) await nukeRockets(config, rockets) + await nukeApplication(config) logger.info('✅ ' + colors.blue(config.appName) + colors.red(': DESTROYED')) } /** * Nuke all the resources used in the "Toolkit Stack" */ -async function nukeToolkit(config: BoosterConfig, sdk: ISDK): Promise { +async function nukeToolkit(config: BoosterConfig): Promise { const logger = getLogger(config, 'nuke#nukeToolkit') const stackToolkitName = getStackToolkitName(config) logger.info(colors.blue(stackToolkitName) + colors.yellow(': destroying...')) - await emptyS3Bucket(config, sdk, getStackToolkitBucketName(config)) + await emptyS3Bucket(config, getStackToolkitBucketName(config)) - await sdk.cloudFormation().deleteStack({ StackName: stackToolkitName }).promise() + await exec(`npx cdk destroy ${stackToolkitName} -f`) logger.info('✅ ' + colors.blue(stackToolkitName) + colors.red(': DESTROYED')) } /** * Calls to the rockets unmount method to allow them remove any resources that can't be automatically deleted by the stack (like non-empty S3 buckets) */ -async function nukeRockets(config: BoosterConfig, sdk: ISDK, rockets: InfrastructureRocket[]): Promise { +async function nukeRockets(config: BoosterConfig, rockets: InfrastructureRocket[]): Promise { const logger = getLogger(config, 'nuke#nukeRockets') logger.info('Deleting rockets resources...') - const rocketUtils = buildRocketUtils(config, sdk) + const rocketUtils = buildRocketUtils(config) rockets.forEach((rocket) => rocket.unmountStack?.(rocketUtils)) } /** * Nuke the application resources */ -async function nukeApplication(config: BoosterConfig, cdkToolkit: CdkToolkit): Promise { +async function nukeApplication(config: BoosterConfig): Promise { const logger = getLogger(config, 'nuke#nukeApplication') logger.info('Destroying the application stack...') - await cdkToolkit.destroy({ - selector: { - patterns: getStackNames(config), - }, - exclusively: false, - force: true, - }) + + const stackNames = getStackNames(config).join(' ') + + await exec(`npx cdk destroy ${stackNames} -f`) + logger.info('✅ ' + colors.blue(config.appName) + colors.red(': DESTROYED')) } diff --git a/packages/framework-provider-aws-infrastructure/src/infrastructure/params.ts b/packages/framework-provider-aws-infrastructure/src/infrastructure/params.ts index c007dfe2b..601824aa1 100644 --- a/packages/framework-provider-aws-infrastructure/src/infrastructure/params.ts +++ b/packages/framework-provider-aws-infrastructure/src/infrastructure/params.ts @@ -1,11 +1,11 @@ /* eslint-disable @typescript-eslint/no-magic-numbers */ -import { Duration, Stack } from '@aws-cdk/core' -import { FunctionProps, Runtime, StartingPosition } from '@aws-cdk/aws-lambda' +import { Duration, Stack } from 'aws-cdk-lib' +import { FunctionProps, Runtime, StartingPosition } from 'aws-cdk-lib/aws-lambda' import { BoosterConfig } from '@boostercloud/framework-types' -import { RestApi } from '@aws-cdk/aws-apigateway' -import { CfnApi } from '@aws-cdk/aws-apigatewayv2' +import { RestApi } from 'aws-cdk-lib/aws-apigateway' +import { CfnApi } from 'aws-cdk-lib/aws-apigatewayv2' import { environmentVarNames } from '@boostercloud/framework-provider-aws' -import { DynamoEventSourceProps } from '@aws-cdk/aws-lambda-event-sources' +import { DynamoEventSourceProps } from 'aws-cdk-lib/aws-lambda-event-sources' export interface APIs { restAPI: RestApi diff --git a/packages/framework-provider-aws-infrastructure/src/infrastructure/s3utils.ts b/packages/framework-provider-aws-infrastructure/src/infrastructure/s3utils.ts index c1af57c44..4f3d0ec7a 100644 --- a/packages/framework-provider-aws-infrastructure/src/infrastructure/s3utils.ts +++ b/packages/framework-provider-aws-infrastructure/src/infrastructure/s3utils.ts @@ -1,13 +1,12 @@ -import { ISDK } from 'aws-cdk' import { ObjectIdentifier, ObjectIdentifierList } from 'aws-sdk/clients/s3' import * as AWS from 'aws-sdk' import { BoosterConfig } from '@boostercloud/framework-types' import { getLogger } from '@boostercloud/framework-common-helpers' -export async function emptyS3Bucket(config: BoosterConfig, sdk: ISDK, bucketName: string): Promise { +export async function emptyS3Bucket(config: BoosterConfig, bucketName: string): Promise { const logger = getLogger(config, 's3utils#emptyS3Bucket') logger.info(bucketName + ': DELETE_IN_PROGRESS') - const s3: AWS.S3 = await sdk.s3() + const s3 = new AWS.S3() if (await s3BucketExists(bucketName, s3)) { const listedObjects = await s3.listObjectVersions({ Bucket: bucketName }).promise() @@ -21,7 +20,7 @@ export async function emptyS3Bucket(config: BoosterConfig, sdk: ISDK, bucketName } as ObjectIdentifier) ) await s3.deleteObjects({ Bucket: bucketName, Delete: { Objects: records } }).promise() - if (listedObjects.IsTruncated) await emptyS3Bucket(config, sdk, bucketName) + if (listedObjects.IsTruncated) await emptyS3Bucket(config, bucketName) } logger.info(bucketName + ': DELETE_COMPLETE') } else { diff --git a/packages/framework-provider-aws-infrastructure/src/infrastructure/stack-tools.ts b/packages/framework-provider-aws-infrastructure/src/infrastructure/stack-tools.ts index d28798f24..008b9a91e 100644 --- a/packages/framework-provider-aws-infrastructure/src/infrastructure/stack-tools.ts +++ b/packages/framework-provider-aws-infrastructure/src/infrastructure/stack-tools.ts @@ -1,27 +1,4 @@ -import { ISDK, Mode, SdkProvider } from 'aws-cdk' -import { CdkToolkit } from 'aws-cdk/lib/cdk-toolkit' import { BoosterConfig } from '@boostercloud/framework-types' -import { App } from '@aws-cdk/core' -import { ApplicationStackBuilder } from './stacks/application-stack' -import { CloudAssembly, Environment } from '@aws-cdk/cx-api' -import { InfrastructureRocket } from '../rockets/infrastructure-rocket' -import { Configuration } from 'aws-cdk/lib/settings' -import { CloudExecutable } from 'aws-cdk/lib/api/cxapp/cloud-executable' -import { CloudFormationDeployments } from 'aws-cdk/lib/api/cloudformation-deployments' - -interface StackServiceConfiguration { - sdk: ISDK - environment: Environment - cdkToolkit: CdkToolkit -} - -function assemble(config: BoosterConfig, rockets?: InfrastructureRocket[]): CloudAssembly { - const boosterApp = new App() - new ApplicationStackBuilder(config).buildOn(boosterApp, rockets) - // Here we could add other optional stacks like one with a lot of dashboards for analytics, etc. - - return boosterApp.synth() -} export function getStackNames(config: BoosterConfig): Array { return [config.resourceNames.applicationStack] @@ -34,53 +11,3 @@ export function getStackToolkitName(config: BoosterConfig): string { export function getStackToolkitBucketName(config: BoosterConfig): string { return config.appName + '-toolkit-bucket' } - -async function getEnvironment(sdkProvider: SdkProvider): Promise { - const account = await sdkProvider.defaultAccount() - const region = sdkProvider.defaultRegion - - if (!account) { - throw new Error( - 'Unable to load default AWS account. Check that you have properly set your AWS credentials in `~/.aws/credentials` file or the corresponding environment variables. Refer to AWS documentation for more details https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-credentials-node.html' - ) - } - if (!region) { - throw new Error( - 'Unable to determine default region. Check that you have set it in your `~/.aws/config` file or AWS_REGION environment variable. Refer to AWS documentation for more details https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-region.html#setting-region-order-of-precedence' - ) - } - - return { - name: 'Default environment', - account: account.accountId, - region, - } -} - -// Configure the SDK and CDKToolkit that contains all the information -// about the application we want to deploy -export async function getStackServiceConfiguration( - config: BoosterConfig, - rockets?: InfrastructureRocket[] -): Promise { - const sdkProvider = await SdkProvider.withAwsCliCompatibleDefaults() - const environment = await getEnvironment(sdkProvider) - const { sdk } = await sdkProvider.forEnvironment(environment, Mode.ForWriting) - const configuration = await new Configuration().load() - const cloudExecutable = new CloudExecutable({ - configuration, - sdkProvider, - synthesizer: async (): Promise => assemble(config, rockets), - }) - const cdkToolkit = new CdkToolkit({ - sdkProvider, - cloudExecutable, - cloudFormation: new CloudFormationDeployments({ sdkProvider }), - configuration, - }) - return { - sdk, - environment, - cdkToolkit, - } -} diff --git a/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/application-stack.ts b/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/application-stack.ts index fe9e9af17..617850901 100644 --- a/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/application-stack.ts +++ b/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/application-stack.ts @@ -1,55 +1,49 @@ -import { App, CfnOutput, Stack, StackProps } from '@aws-cdk/core' +import { App, CfnOutput, Stack } from 'aws-cdk-lib' import { BoosterConfig } from '@boostercloud/framework-types' import { EventsStack } from './events-stack' import { ReadModelsStack } from './read-models-stack' import { GraphQLStack } from './graphql-stack' import { ScheduledCommandStack } from './scheduled-commands-stack' -import { RestApi } from '@aws-cdk/aws-apigateway' -import { CfnApi, CfnStage } from '@aws-cdk/aws-apigatewayv2' +import { RestApi } from 'aws-cdk-lib/aws-apigateway' +import { CfnApi, CfnStage } from 'aws-cdk-lib/aws-apigatewayv2' import { APIs, baseURLForAPI } from '../params' import { setupPermissions } from './permissions' import { InfrastructureRocket } from '../../rockets/infrastructure-rocket' -// Extracted this here to be able to mock it, it's surprisingly hard to mock a constructor! -function buildStack(app: App, applicationStack: string, props?: StackProps): Stack { - return new Stack(app, applicationStack, props) -} - -export class ApplicationStackBuilder { - public constructor(readonly config: BoosterConfig, readonly props?: StackProps) {} +export class ApplicationStack extends Stack { + public constructor(readonly config: BoosterConfig, app: App, rockets?: InfrastructureRocket[]) { + super(app, config.resourceNames.applicationStack) - public buildOn(app: App, rockets?: InfrastructureRocket[]): void { - const stack = buildStack(app, this.config.resourceNames.applicationStack, this.props) - const restAPI = this.buildRootRESTAPI(stack) + const restAPI = this.buildRootRESTAPI() const apis: APIs = { restAPI, } if (this.config.enableSubscriptions) { - apis.websocketAPI = this.buildRootWebSocketAPI(stack) + apis.websocketAPI = this.buildRootWebSocketAPI() } - const readModelTables = new ReadModelsStack(this.config, stack).build() - const graphQLStack = new GraphQLStack(this.config, stack, apis, readModelTables).build() - const scheduledCommandStack = new ScheduledCommandStack(this.config, stack, apis).build() - const eventsStack = new EventsStack(this.config, stack, apis).build() + const readModelTables = new ReadModelsStack(this.config, this).build() + const graphQLStack = new GraphQLStack(this.config, this, apis, readModelTables).build() + const scheduledCommandStack = new ScheduledCommandStack(this.config, this, apis).build() + const eventsStack = new EventsStack(this.config, this, apis).build() setupPermissions(this.config, graphQLStack, eventsStack, readModelTables, apis.websocketAPI, scheduledCommandStack) // Load rockets - rockets?.forEach((rocket) => rocket.mountStack(stack, this.config)) + rockets?.forEach((rocket) => rocket.mountStack(this, this.config)) } - private buildRootRESTAPI(stack: Stack): RestApi { - const rootAPI = new RestApi(stack, this.config.resourceNames.applicationStack + '-rest-api', { + private buildRootRESTAPI(): RestApi { + const rootAPI = new RestApi(this, this.config.resourceNames.applicationStack + '-rest-api', { deployOptions: { stageName: this.config.environmentName }, }) - new CfnOutput(stack, 'httpURL', { + new CfnOutput(this, 'httpURL', { value: rootAPI.url, description: 'The base URL for all the auth endpoints', }) - new CfnOutput(stack, 'graphqlURL', { + new CfnOutput(this, 'graphqlURL', { value: rootAPI.url + 'graphql', description: 'The base URL for sending GraphQL mutations and queries', }) @@ -57,22 +51,22 @@ export class ApplicationStackBuilder { return rootAPI } - private buildRootWebSocketAPI(stack: Stack): CfnApi { + private buildRootWebSocketAPI(): CfnApi { const localID = this.config.resourceNames.applicationStack + '-websocket-api' - const rootAPI = new CfnApi(stack, localID, { + const rootAPI = new CfnApi(this, localID, { name: localID, protocolType: 'WEBSOCKET', routeSelectionExpression: '$request.body.action', }) - const stage = new CfnStage(stack, localID + '-stage', { + const stage = new CfnStage(this, localID + '-stage', { apiId: rootAPI.ref, autoDeploy: true, stageName: this.config.environmentName, }) - stage.addDependsOn(rootAPI) + stage.addDependency(rootAPI) - new CfnOutput(stack, 'websocketURL', { - value: baseURLForAPI(this.config, stack, rootAPI.ref, 'wss'), + new CfnOutput(this, 'websocketURL', { + value: baseURLForAPI(this.config, this, rootAPI.ref, 'wss'), description: 'The URL for the websocket communication. Used for subscriptions', }) diff --git a/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/events-stack.ts b/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/events-stack.ts index f5ad1f67b..ae7d31f77 100644 --- a/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/events-stack.ts +++ b/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/events-stack.ts @@ -1,16 +1,16 @@ -import { Code, Function } from '@aws-cdk/aws-lambda' +import { Code, Function as AWSFunction } from 'aws-cdk-lib/aws-lambda' import { BoosterConfig } from '@boostercloud/framework-types' -import { Stack, RemovalPolicy } from '@aws-cdk/core' -import * as dynamodb from '@aws-cdk/aws-dynamodb' +import { Stack, RemovalPolicy } from 'aws-cdk-lib' +import * as dynamodb from 'aws-cdk-lib/aws-dynamodb' import { eventsStoreAttributes } from '@boostercloud/framework-provider-aws' import * as params from '../params' -import { DynamoEventSource } from '@aws-cdk/aws-lambda-event-sources' +import { DynamoEventSource } from 'aws-cdk-lib/aws-lambda-event-sources' import { APIs } from '../params' -import { Table, StreamViewType } from '@aws-cdk/aws-dynamodb' +import { Table, StreamViewType } from 'aws-cdk-lib/aws-dynamodb' export interface EventsStackMembers { eventsStore: dynamodb.Table - eventsLambda: Function + eventsLambda: AWSFunction } export class EventsStack { @@ -74,9 +74,9 @@ export class EventsStack { return table } - private buildEventsLambda(eventsStream: Table): Function { + private buildEventsLambda(eventsStream: Table): AWSFunction { const localID = 'events-main' - return new Function(this.stack, localID, { + return new AWSFunction(this.stack, localID, { ...params.lambda(this.config, this.stack, this.apis), functionName: this.config.resourceNames.applicationStack + '-' + localID, handler: this.config.eventDispatcherHandler, diff --git a/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/graphql-stack.ts b/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/graphql-stack.ts index f35f28cc7..bc714799a 100644 --- a/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/graphql-stack.ts +++ b/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/graphql-stack.ts @@ -1,19 +1,18 @@ import { BoosterConfig } from '@boostercloud/framework-types' -import { Fn, RemovalPolicy, Stack } from '@aws-cdk/core' -import { CfnApi, CfnIntegration, CfnIntegrationResponse, CfnRoute } from '@aws-cdk/aws-apigatewayv2' -import { Code, Function, IEventSource } from '@aws-cdk/aws-lambda' +import { Fn, RemovalPolicy, Stack } from 'aws-cdk-lib' +import { CfnApi, CfnIntegration, CfnIntegrationResponse, CfnRoute } from 'aws-cdk-lib/aws-apigatewayv2' +import { Code, Function as AWSFunction, IEventSource } from 'aws-cdk-lib/aws-lambda' import * as params from '../params' import { APIs } from '../params' -import { ServicePrincipal } from '@aws-cdk/aws-iam' -import { AuthorizationType, LambdaIntegration } from '@aws-cdk/aws-apigateway' -import { Cors } from '@aws-cdk/aws-apigateway/lib/cors' -import { AttributeType, BillingMode, ProjectionType, Table } from '@aws-cdk/aws-dynamodb' +import { ServicePrincipal } from 'aws-cdk-lib/aws-iam' +import { Cors, AuthorizationType, LambdaIntegration } from 'aws-cdk-lib/aws-apigateway' +import { AttributeType, BillingMode, ProjectionType, Table } from 'aws-cdk-lib/aws-dynamodb' import { connectionsStoreAttributes, subscriptionsStoreAttributes } from '@boostercloud/framework-provider-aws' -import { DynamoEventSource } from '@aws-cdk/aws-lambda-event-sources' +import { DynamoEventSource } from 'aws-cdk-lib/aws-lambda-event-sources' export interface GraphQLStackMembers { - graphQLLambda: Function - subscriptionNotifier?: Function + graphQLLambda: AWSFunction + subscriptionNotifier?: AWSFunction subscriptionsStore?: Table connectionsStore?: Table } @@ -45,8 +44,8 @@ export class GraphQLStack { return { graphQLLambda } } - private buildLambda(name: string, handler: string, eventSources?: Array): Function { - const lambda = new Function(this.stack, name, { + private buildLambda(name: string, handler: string, eventSources?: Array): AWSFunction { + const lambda = new AWSFunction(this.stack, name, { ...params.lambda(this.config, this.stack, this.apis), functionName: `${this.config.resourceNames.applicationStack}-${name}`, handler: handler, @@ -64,7 +63,7 @@ export class GraphQLStack { return readModelTables.map((table) => new DynamoEventSource(table, params.stream())) } - private buildWebsocketRoutes(graphQLLambda: Function, websocketAPI: CfnApi): void { + private buildWebsocketRoutes(graphQLLambda: AWSFunction, websocketAPI: CfnApi): void { const lambdaIntegration = this.buildLambdaIntegration(graphQLLambda, websocketAPI) this.buildRoute('$connect', lambdaIntegration, websocketAPI) @@ -72,7 +71,7 @@ export class GraphQLStack { this.buildRoute('$disconnect', lambdaIntegration, websocketAPI) } - private buildLambdaIntegration(lambda: Function, websocketAPI: CfnApi): CfnIntegration { + private buildLambdaIntegration(lambda: AWSFunction, websocketAPI: CfnApi): CfnIntegration { const localID = 'graphql-handler-integration' const integration = new CfnIntegration(this.stack, localID, { apiId: websocketAPI.ref, @@ -82,12 +81,12 @@ export class GraphQLStack { Fn.ref('AWS::Partition'), ':apigateway:', Fn.ref('AWS::Region'), - ':lambda:path/2015-03-31/functions/', + ':lambda:path/2015-03-31/AWSFunctions/', lambda.functionArn, '/invocations', ]), }) - integration.addDependsOn(websocketAPI) + integration.addDependency(websocketAPI) const integrationResponseLocalId = 'graphql-handler-integration-response' const integrationResponse = new CfnIntegrationResponse(this.stack, integrationResponseLocalId, { @@ -95,7 +94,7 @@ export class GraphQLStack { apiId: websocketAPI.ref, integrationResponseKey: '$default', }) - integrationResponse.addDependsOn(integration) + integrationResponse.addDependency(integration) return integration } @@ -106,11 +105,11 @@ export class GraphQLStack { routeKey: routeKey, target: Fn.join('/', ['integrations', integration.ref]), }) - route.addDependsOn(integration) + route.addDependency(integration) return route } - private buildRESTRoutes(graphQLLambda: Function): void { + private buildRESTRoutes(graphQLLambda: AWSFunction): void { this.apis.restAPI.root .addResource('graphql', { defaultCorsPreflightOptions: { diff --git a/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/permissions.ts b/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/permissions.ts index 2cf0e0630..fd000becb 100644 --- a/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/permissions.ts +++ b/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/permissions.ts @@ -1,11 +1,11 @@ -import { Table } from '@aws-cdk/aws-dynamodb' -import { CfnApi } from '@aws-cdk/aws-apigatewayv2' -import { Fn } from '@aws-cdk/core' +import { Table } from 'aws-cdk-lib/aws-dynamodb' +import { CfnApi } from 'aws-cdk-lib/aws-apigatewayv2' +import { Fn } from 'aws-cdk-lib' import { createPolicyStatement } from './policies' import { GraphQLStackMembers } from './graphql-stack' import { ScheduledCommandStackMembers } from './scheduled-commands-stack' import { EventsStackMembers } from './events-stack' -import { Function } from '@aws-cdk/aws-lambda' +import { Function as AWSFunction } from 'aws-cdk-lib/aws-lambda' import { BoosterConfig } from '@boostercloud/framework-types' export const setupPermissions = ( @@ -66,7 +66,7 @@ export const setupPermissions = ( } } -function grantFullAccessToEventStore(store: Table, lambda: Function): void { +function grantFullAccessToEventStore(store: Table, lambda: AWSFunction): void { lambda.addToRolePolicy( createPolicyStatement( [store.tableArn], @@ -81,7 +81,7 @@ function grantFullAccessToEventStore(store: Table, lambda: Function): void { ) } -function grantFullAccessToSubscriptionsStore(store: Table, lambda: Function): void { +function grantFullAccessToSubscriptionsStore(store: Table, lambda: AWSFunction): void { lambda.addToRolePolicy( createPolicyStatement( [store.tableArn], @@ -96,7 +96,7 @@ function grantFullAccessToSubscriptionsStore(store: Table, lambda: Function): vo ) } -function grantFullAccessToReadModels(readModelTables: Array, lambda: Function): void { +function grantFullAccessToReadModels(readModelTables: Array
, lambda: AWSFunction): void { const tableARNs = readModelTables.map((table): string => table.tableArn) if (tableARNs.length > 0) { lambda.addToRolePolicy( @@ -111,7 +111,7 @@ function grantFullAccessToReadModels(readModelTables: Array
, lambda: Func } } -function grantReadAccessToReadModels(readModelTables: Array
, lambda: Function): void { +function grantReadAccessToReadModels(readModelTables: Array
, lambda: AWSFunction): void { const tableARNs = readModelTables.map((table): string => table.tableArn) if (tableARNs.length > 0) { lambda.addToRolePolicy(createPolicyStatement(tableARNs, ['dynamodb:Query*', 'dynamodb:Scan*'])) diff --git a/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/policies.ts b/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/policies.ts index a156219c9..1db2e4ff7 100644 --- a/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/policies.ts +++ b/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/policies.ts @@ -1,4 +1,4 @@ -import { Effect, PolicyStatement } from '@aws-cdk/aws-iam' +import { Effect, PolicyStatement } from 'aws-cdk-lib/aws-iam' export const createPolicyStatement = ( resources?: string[], diff --git a/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/read-models-stack.ts b/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/read-models-stack.ts index 018c3adf6..e8652ad1f 100644 --- a/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/read-models-stack.ts +++ b/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/read-models-stack.ts @@ -1,7 +1,7 @@ import { BoosterConfig } from '@boostercloud/framework-types' -import { RemovalPolicy, Stack } from '@aws-cdk/core' -import * as dynamodb from '@aws-cdk/aws-dynamodb' -import { StreamViewType } from '@aws-cdk/aws-dynamodb' +import { RemovalPolicy, Stack } from 'aws-cdk-lib' +import * as dynamodb from 'aws-cdk-lib/aws-dynamodb' +import { StreamViewType } from 'aws-cdk-lib/aws-dynamodb' export class ReadModelsStack { public constructor(private readonly config: BoosterConfig, private readonly stack: Stack) {} diff --git a/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/scheduled-commands-stack.ts b/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/scheduled-commands-stack.ts index d188fe792..fe2ad5cbe 100644 --- a/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/scheduled-commands-stack.ts +++ b/packages/framework-provider-aws-infrastructure/src/infrastructure/stacks/scheduled-commands-stack.ts @@ -1,12 +1,12 @@ import { BoosterConfig, ScheduledCommandEnvelope, ScheduleInterface } from '@boostercloud/framework-types' -import { Stack } from '@aws-cdk/core' -import { Rule, Schedule, RuleTargetInput } from '@aws-cdk/aws-events' -import { LambdaFunction } from '@aws-cdk/aws-events-targets' -import { Code, Function, IEventSource } from '@aws-cdk/aws-lambda' +import { Stack } from 'aws-cdk-lib' +import { Rule, Schedule, RuleTargetInput } from 'aws-cdk-lib/aws-events' +import { LambdaFunction } from 'aws-cdk-lib/aws-events-targets' +import { Code, Function as AWSFunction, IEventSource } from 'aws-cdk-lib/aws-lambda' import * as params from '../params' import { APIs } from '../params' export interface ScheduledCommandStackMembers { - scheduledLambda: Function + scheduledLambda: AWSFunction } export class ScheduledCommandStack { @@ -25,8 +25,8 @@ export class ScheduledCommandStack { return undefined } - private buildLambda(name: string, handler: string, eventSources?: Array): Function { - return new Function(this.stack, name, { + private buildLambda(name: string, handler: string, eventSources?: Array): AWSFunction { + return new AWSFunction(this.stack, name, { ...params.lambda(this.config, this.stack, this.apis), functionName: `${this.config.resourceNames.applicationStack}-${name}`, handler: handler, @@ -35,7 +35,7 @@ export class ScheduledCommandStack { }) } - private scheduleLambda(lambda: Function): void { + private scheduleLambda(lambda: AWSFunction): void { Object.keys(this.config.scheduledCommandHandlers).forEach((scheduledCommandName) => { const scheduledCommandMetadata = this.config.scheduledCommandHandlers[scheduledCommandName] const input: Partial = { diff --git a/packages/framework-provider-aws-infrastructure/src/rockets/infrastructure-rocket.ts b/packages/framework-provider-aws-infrastructure/src/rockets/infrastructure-rocket.ts index 5c2f6ccd7..904a07cdf 100644 --- a/packages/framework-provider-aws-infrastructure/src/rockets/infrastructure-rocket.ts +++ b/packages/framework-provider-aws-infrastructure/src/rockets/infrastructure-rocket.ts @@ -1,5 +1,5 @@ import { BoosterConfig } from '@boostercloud/framework-types' -import { Stack } from '@aws-cdk/core' +import { Stack } from 'aws-cdk-lib' import { RocketUtils } from './rocket-utils' export interface InfrastructureRocket { diff --git a/packages/framework-provider-aws-infrastructure/src/rockets/rocket-utils.ts b/packages/framework-provider-aws-infrastructure/src/rockets/rocket-utils.ts index abaa91d16..41e4ba630 100644 --- a/packages/framework-provider-aws-infrastructure/src/rockets/rocket-utils.ts +++ b/packages/framework-provider-aws-infrastructure/src/rockets/rocket-utils.ts @@ -1,16 +1,16 @@ -import { ISDK } from 'aws-cdk' import { BoosterConfig } from '@boostercloud/framework-types' import { emptyS3Bucket } from '../infrastructure/s3utils' interface S3RocketUtils { emptyBucket: (bucketName: string) => Promise } + export interface RocketUtils { s3: S3RocketUtils } -export const buildRocketUtils = (config: BoosterConfig, sdk: ISDK): RocketUtils => ({ +export const buildRocketUtils = (config: BoosterConfig): RocketUtils => ({ s3: { - emptyBucket: emptyS3Bucket.bind(null, config, sdk), + emptyBucket: emptyS3Bucket.bind(null, config), }, }) diff --git a/packages/framework-provider-aws-infrastructure/test/infrastructure/deploy.test.ts b/packages/framework-provider-aws-infrastructure/test/infrastructure/deploy.test.ts index f076e1216..74d7aa781 100644 --- a/packages/framework-provider-aws-infrastructure/test/infrastructure/deploy.test.ts +++ b/packages/framework-provider-aws-infrastructure/test/infrastructure/deploy.test.ts @@ -5,8 +5,7 @@ import { replace, restore, fake, mock, match } from 'sinon' import { BoosterConfig, Logger } from '@boostercloud/framework-types' import { deploy } from '../../src/infrastructure/deploy' import { InfrastructureRocket } from '../../src/rockets/infrastructure-rocket' -import { EnvironmentUtils } from '@aws-cdk/cx-api' -import { SdkProvider } from 'aws-cdk' +import { EnvironmentUtils } from 'aws-cdk-lib/cx-api' import * as StackTools from '../../src/infrastructure/stack-tools' const testEnvironment = { @@ -18,7 +17,6 @@ config.logger = { info: fake(), } as unknown as Logger config.userProjectRootPath = '.' - describe('the deployment module', () => { beforeEach(() => { replace(SdkProvider.prototype, 'forEnvironment', fake.returns(mock())) diff --git a/packages/framework-provider-aws-infrastructure/test/infrastructure/stack-tools.test.ts b/packages/framework-provider-aws-infrastructure/test/infrastructure/stack-tools.test.ts index 990d4d479..44d4d5de4 100644 --- a/packages/framework-provider-aws-infrastructure/test/infrastructure/stack-tools.test.ts +++ b/packages/framework-provider-aws-infrastructure/test/infrastructure/stack-tools.test.ts @@ -1,4 +1,4 @@ -import { StreamViewType } from '@aws-cdk/aws-dynamodb' +import { StreamViewType } from 'aws-cdk-lib/aws-dynamodb' import { InfrastructureRocket } from '../../src' import { BoosterConfig, UUID } from '@boostercloud/framework-types' import { fake, mock, replace, restore, spy } from 'sinon' diff --git a/packages/framework-provider-aws-infrastructure/test/infrastructure/stacks/application-stack.test.ts b/packages/framework-provider-aws-infrastructure/test/infrastructure/stacks/application-stack.test.ts index 0fb7cf688..73d483639 100644 --- a/packages/framework-provider-aws-infrastructure/test/infrastructure/stacks/application-stack.test.ts +++ b/packages/framework-provider-aws-infrastructure/test/infrastructure/stacks/application-stack.test.ts @@ -1,10 +1,10 @@ /* eslint-disable @typescript-eslint/explicit-function-return-type */ import { expect } from '../../expect' import { BoosterConfig, UUID } from '@boostercloud/framework-types' -import { App, StackProps, Stack } from '@aws-cdk/core' -import { Function } from '@aws-cdk/aws-lambda' -import { RestApi } from '@aws-cdk/aws-apigateway' -import { CfnApi } from '@aws-cdk/aws-apigatewayv2' +import { App, StackProps, Stack } from 'aws-cdk-lib' +import { Function } from 'aws-cdk-lib/aws-lambda' +import { RestApi } from 'aws-cdk-lib/aws-apigateway' +import { CfnApi } from 'aws-cdk-lib/aws-apigatewayv2' import { InfrastructureRocket } from '../../../src/rockets/infrastructure-rocket' import { fake } from 'sinon' diff --git a/packages/framework-provider-aws-infrastructure/test/infrastructure/stacks/permissions.test.ts b/packages/framework-provider-aws-infrastructure/test/infrastructure/stacks/permissions.test.ts index 6108e3b2c..a4e5679ef 100644 --- a/packages/framework-provider-aws-infrastructure/test/infrastructure/stacks/permissions.test.ts +++ b/packages/framework-provider-aws-infrastructure/test/infrastructure/stacks/permissions.test.ts @@ -1,13 +1,13 @@ -import { Function } from '@aws-cdk/aws-lambda' +import { Function } from 'aws-cdk-lib/aws-lambda' import { setupPermissions } from '../../../src/infrastructure/stacks/permissions' -import { Table } from '@aws-cdk/aws-dynamodb' -import { CfnApi } from '@aws-cdk/aws-apigatewayv2' +import { Table } from 'aws-cdk-lib/aws-dynamodb' +import { CfnApi } from 'aws-cdk-lib/aws-apigatewayv2' import { SinonStub, stub, restore } from 'sinon' import { expect } from '../../expect' import { random } from 'faker' import * as policies from '../../../src/infrastructure/stacks/policies' -import { PolicyStatement } from '@aws-cdk/aws-iam' -import { Fn } from '@aws-cdk/core' +import { PolicyStatement } from 'aws-cdk-lib/aws-iam' +import { Fn } from 'aws-cdk-lib' import { GraphQLStackMembers } from '../../../src/infrastructure/stacks/graphql-stack' import { EventsStackMembers } from '../../../src/infrastructure/stacks/events-stack' import { BoosterConfig } from '@boostercloud/framework-types' diff --git a/packages/framework-provider-aws-infrastructure/test/infrastructure/stacks/read-models-stack.test.ts b/packages/framework-provider-aws-infrastructure/test/infrastructure/stacks/read-models-stack.test.ts index 1f5f8deea..69f6c61e5 100644 --- a/packages/framework-provider-aws-infrastructure/test/infrastructure/stacks/read-models-stack.test.ts +++ b/packages/framework-provider-aws-infrastructure/test/infrastructure/stacks/read-models-stack.test.ts @@ -1,11 +1,11 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import { expect } from '../../expect' import { describe } from 'mocha' -import { Stack, App } from '@aws-cdk/core' +import { Stack, App } from 'aws-cdk-lib' import { BoosterConfig, UUID } from '@boostercloud/framework-types' import { ReadModelsStack } from '../../../src/infrastructure/stacks/read-models-stack' -import { Table } from '@aws-cdk/aws-dynamodb' +import { Table } from 'aws-cdk-lib/aws-dynamodb' describe('ReadModelsStack', () => { describe('the `build` method', () => { diff --git a/packages/framework-provider-aws/package.json b/packages/framework-provider-aws/package.json index 6a6bf745d..e9525ce66 100644 --- a/packages/framework-provider-aws/package.json +++ b/packages/framework-provider-aws/package.json @@ -55,7 +55,7 @@ "@types/sinon-chai": "3.2.5", "@typescript-eslint/eslint-plugin": "^5.0.0", "@typescript-eslint/parser": "^5.0.0", - "aws-sdk": "2.853.0", + "aws-sdk": "2.1475.0", "chai": "4.2.0", "chai-arrays": "^2.2.0", "chai-as-promised": "7.1.1", diff --git a/packages/framework-provider-azure-infrastructure/package.json b/packages/framework-provider-azure-infrastructure/package.json index 96b0cdb0c..2725f4295 100644 --- a/packages/framework-provider-azure-infrastructure/package.json +++ b/packages/framework-provider-azure-infrastructure/package.json @@ -41,7 +41,7 @@ "react": "^17.0.0", "chai": "4.2.0", "chai-as-promised": "7.1.1", - "constructs": "^10.0.0", + "constructs": "^10.3.0", "copyfiles": "^2.3.0", "fs-extra": "^8.1.0", "mustache": "4.1.0", diff --git a/website/docs/10_going-deeper/rockets.mdx b/website/docs/10_going-deeper/rockets.mdx index 3e32ac41d..5e1a26584 100644 --- a/website/docs/10_going-deeper/rockets.mdx +++ b/website/docs/10_going-deeper/rockets.mdx @@ -34,7 +34,7 @@ npm install --save-dev @boostercloud/framework-provider-aws-infrastructure @boos In the case of AWS we use the [AWS CDK for TypeScript](https://docs.aws.amazon.com/cdk/v2/guide/work-with-cdk-typescript.html), so you'll also need to import the AWS CDK package: ```sh -npm install --save-dev @aws-cdk/core +npm install --save-dev aws-cdk-lib/core ``` The basic structure of an *Infrastructure Rocket* project is quite simple as you can see here: @@ -53,7 +53,7 @@ rocket-your-rocket-name-aws-infrastructure ```typescript import { RocketUtils } from '@boostercloud/framework-provider-aws-infrastructure' import { BoosterConfig } from '@boostercloud/framework-types' -import { Stack } from '@aws-cdk/core' +import { Stack } from 'aws-cdk-lib/core' import { YourRocketParams } from '.' export class YourMainClass {