From 7fd3bc1cb18a1e6efe0b5abc938debcfc1445e13 Mon Sep 17 00:00:00 2001 From: akshbhu <39866697+akshbhu@users.noreply.github.com> Date: Thu, 27 Oct 2022 12:33:41 -0700 Subject: [PATCH] feat: migrate CLI to CDK v2 (#10988) * feat: converts auth and storage categories to cdk V2 * fix: fixes auth unit test * fix: minor fixes in categories * fix: increase node memory usage * fix: removes invalid import * fix: fixes custom resource test * chore: turn the auto-populate owner field FF ON for new projects (#11230) * fix: converts all categories to v2 * chore: added linting * fix: fixes unit tests * chore: address comments * chore: fixes ordring in package.json * chore: minor fixes * chore: reverts unused imports and merge changes Co-authored-by: Akshay Upadhyay Co-authored-by: Phani Srikar Edupuganti <55896475+phani-srikar@users.noreply.github.com> --- nx.json | 2 +- packages/amplify-category-auth/package.json | 6 +- .../auth-cognito-stack-builder.test.ts | 11 +- .../auth-cognito-stack-builder.ts | 20 +- .../auth-stack-transform.ts | 29 +- .../auth-user-pool-group-stack-builder.ts | 15 +- .../auth-stack-builder/stack-synthesizer.ts | 7 +- .../user-pool-group-stack-transform.ts | 4 +- .../utils/generate-auth-trigger-template.ts | 13 +- packages/amplify-category-custom/package.json | 3 +- .../resources/cdk-stack.ts.sample | 10 +- .../resources/package.json | 6 +- .../utils/dependency-management-utils.test.ts | 8 +- .../src/utils/dependency-management-utils.ts | 2 +- .../src/utils/generate-cfn-from-cdk.ts | 2 +- packages/amplify-category-geo/package.json | 5 +- .../__snapshots__/mapStack.test.ts.snap | 8 - .../placeIndexStack.test.ts.snap | 8 - .../geofenceCollectionStack.test.ts | 2 +- .../__tests__/service-stacks/mapStack.test.ts | 2 +- .../service-stacks/placeIndexStack.test.ts | 2 +- .../src/service-stacks/baseStack.ts | 7 +- .../service-stacks/geofenceCollectionStack.ts | 15 +- .../src/service-stacks/mapStack.ts | 15 +- .../src/service-stacks/placeIndexStack.ts | 15 +- .../service-utils/geofenceCollectionUtils.ts | 2 +- .../src/service-utils/mapUtils.ts | 2 +- .../src/service-utils/placeIndexUtils.ts | 2 +- .../amplify-category-storage/package.json | 7 +- .../cdk-stack-builder/ddb-stack-builder.ts | 9 +- .../cdk-stack-builder/ddb-stack-transform.ts | 7 +- .../cdk-stack-builder/s3-stack-builder.ts | 15 +- .../cdk-stack-builder/s3-stack-transform.ts | 7 +- .../cdk-stack-builder/types.ts | 5 +- .../amplify-base-cdk-types.ts | 30 +- .../src/feature-flags/featureFlags.ts | 2 + .../package.json | 14 +- .../api/amplify-api-resource-stack-types.ts | 12 +- .../src/types/api/types.ts | 6 +- .../src/types/auth/types.ts | 10 +- .../src/types/project/types.ts | 4 +- .../src/types/storage/types.ts | 8 +- packages/amplify-cli/package.json | 4 +- .../package.json | 2 +- .../package.json | 30 +- .../root-stack-builder.test.ts.snap | 4 +- .../root-stack-builder.test.ts | 84 +-- .../utils/consolidate-apigw-policies.test.ts | 64 +- .../src/network/stack.ts | 20 +- .../root-stack-builder/root-stack-builder.ts | 81 ++- .../root-stack-transform.ts | 2 +- .../root-stack-builder/stack-synthesizer.ts | 2 +- .../src/utils/consolidate-apigw-policies.ts | 138 ++-- yarn.lock | 660 +----------------- 54 files changed, 415 insertions(+), 1035 deletions(-) diff --git a/nx.json b/nx.json index 549cca57a91..36c46c8a1f5 100644 --- a/nx.json +++ b/nx.json @@ -43,4 +43,4 @@ "analyzeSourceFiles": false } } -} +} \ No newline at end of file diff --git a/packages/amplify-category-auth/package.json b/packages/amplify-category-auth/package.json index 7725d25a1ad..f632cd1dc36 100644 --- a/packages/amplify-category-auth/package.json +++ b/packages/amplify-category-auth/package.json @@ -29,18 +29,16 @@ "dependencies": { "@aws-amplify/amplify-environment-parameters": "1.1.3", "@aws-amplify/cli-extensibility-helper": "2.4.3", - "@aws-cdk/aws-cognito": "^1.159.0", - "@aws-cdk/aws-iam": "^1.159.0", - "@aws-cdk/aws-lambda": "^1.159.0", - "@aws-cdk/core": "^1.159.0", "amplify-cli-core": "3.2.2", "amplify-headless-interface": "1.15.0", "amplify-prompts": "2.6.0", "amplify-util-headless-input": "1.9.6", "amplify-util-import": "2.2.36", + "aws-cdk-lib": "~2.44.0", "aws-sdk": "^2.1233.0", "chalk": "^4.1.1", "change-case": "^4.1.1", + "constructs": "^10.0.5", "enquirer": "^2.3.6", "fs-extra": "^8.1.0", "inquirer": "^7.3.3", diff --git a/packages/amplify-category-auth/src/__tests__/provider-utils/awscloudformation/auth-stack-builder/auth-cognito-stack-builder.test.ts b/packages/amplify-category-auth/src/__tests__/provider-utils/awscloudformation/auth-stack-builder/auth-cognito-stack-builder.test.ts index 5b025fa2831..fe1df01366c 100644 --- a/packages/amplify-category-auth/src/__tests__/provider-utils/awscloudformation/auth-stack-builder/auth-cognito-stack-builder.test.ts +++ b/packages/amplify-category-auth/src/__tests__/provider-utils/awscloudformation/auth-stack-builder/auth-cognito-stack-builder.test.ts @@ -1,11 +1,8 @@ -/* eslint-disable @typescript-eslint/no-non-null-assertion */ -/* eslint-disable max-lines-per-function */ -import * as iam from '@aws-cdk/aws-iam'; -import * as cdk from '@aws-cdk/core'; +import * as cdk from 'aws-cdk-lib'; +import * as iam from 'aws-cdk-lib/aws-iam'; import { AmplifyAuthCognitoStack } from '../../../../provider-utils/awscloudformation/auth-stack-builder/auth-cognito-stack-builder'; import { AuthStackSynthesizer } from '../../../../provider-utils/awscloudformation/auth-stack-builder/stack-synthesizer'; -import { AttributeType } from '../../../../provider-utils/awscloudformation/service-walkthrough-types/awsCognito-user-input-types'; -import { CognitoStackOptions } from '../../../../provider-utils/awscloudformation/service-walkthrough-types/cognito-user-input-types'; +import { AttributeType, CognitoStackOptions } from '../../../../provider-utils/awscloudformation/service-walkthrough-types/cognito-user-input-types'; describe('generateCognitoStackResources', () => { const props: CognitoStackOptions = { @@ -83,7 +80,7 @@ describe('generateCognitoStackResources', () => { expect(cognitoStack.oAuthCustomResource).toBeDefined(); expect( cognitoStack - .oAuthCustomResource!.node!.dependencies!.map((dep: any) => dep.target.logicalId) + .oAuthCustomResource!.node!.dependencies!.map((dep: any) => dep.logicalId) .map(logicalIdToken => /testCognitoStack\.([^.]+)\.Default/.exec(logicalIdToken)![1]), ).toMatchInlineSnapshot(` Array [ diff --git a/packages/amplify-category-auth/src/provider-utils/awscloudformation/auth-stack-builder/auth-cognito-stack-builder.ts b/packages/amplify-category-auth/src/provider-utils/awscloudformation/auth-stack-builder/auth-cognito-stack-builder.ts index be5875d10f0..4348fa6b3d0 100644 --- a/packages/amplify-category-auth/src/provider-utils/awscloudformation/auth-stack-builder/auth-cognito-stack-builder.ts +++ b/packages/amplify-category-auth/src/provider-utils/awscloudformation/auth-stack-builder/auth-cognito-stack-builder.ts @@ -1,13 +1,13 @@ +import * as cdk from 'aws-cdk-lib'; +import * as s3 from 'aws-cdk-lib/aws-s3'; +import * as iam from 'aws-cdk-lib/aws-iam'; +import * as cognito from 'aws-cdk-lib/aws-cognito'; +import * as lambda from 'aws-cdk-lib/aws-lambda'; import { AmplifyAuthCognitoStackTemplate } from '@aws-amplify/cli-extensibility-helper'; -import * as cognito from '@aws-cdk/aws-cognito'; -import * as iam from '@aws-cdk/aws-iam'; -import * as lambda from '@aws-cdk/aws-lambda'; -// eslint-disable-next-line import/no-extraneous-dependencies -import * as s3 from '@aws-cdk/aws-s3'; -import * as cdk from '@aws-cdk/core'; import { $TSAny, JSONUtilities } from 'amplify-cli-core'; import * as fs from 'fs-extra'; import _ from 'lodash'; +import { Construct } from 'constructs'; import { hostedUILambdaFilePath, hostedUIProviderLambdaFilePath, @@ -16,8 +16,8 @@ import { openIdLambdaFilePath, userPoolClientLambdaFilePath, } from '../constants'; -import { AttributeType } from '../service-walkthrough-types/awsCognito-user-input-types'; import { CognitoStackOptions } from '../service-walkthrough-types/cognito-user-input-types'; +import { AttributeType } from '../service-walkthrough-types/awsCognito-user-input-types'; const CFN_TEMPLATE_FORMAT_VERSION = '2010-09-09'; const ROOT_CFN_DESCRIPTION = 'Amplify Cognito Stack for AWS Amplify CLI'; @@ -53,7 +53,7 @@ export type AmplifyAuthCognitoStackProps = { * L2 construct for amplify auth cognito stack */ export class AmplifyAuthCognitoStack extends cdk.Stack implements AmplifyAuthCognitoStackTemplate { - private _scope: cdk.Construct; + private _scope: Construct; private _cfnParameterMap: Map = new Map(); private _cfnConditionMap: Map = new Map(); private _cfnOutputMap: Map = new Map(); @@ -103,7 +103,7 @@ export class AmplifyAuthCognitoStack extends cdk.Stack implements AmplifyAuthCog openIdLambdaInputs?: cdk.CustomResource; openIdLambdaRole?: iam.CfnRole; - constructor(scope: cdk.Construct, id: string, props: AmplifyAuthCognitoStackProps) { + constructor(scope: Construct, id: string, props: AmplifyAuthCognitoStackProps) { super(scope, id, props); this._scope = scope; this.templateOptions.templateFormatVersion = CFN_TEMPLATE_FORMAT_VERSION; @@ -536,7 +536,7 @@ export class AmplifyAuthCognitoStack extends cdk.Stack implements AmplifyAuthCog && !_.isEmpty(props.authProviders) && !(Object.keys(props.authProviders).length === 1 && props.authProviders[0] === 'accounts.google.com' && props.audiences) ) { - this.identityPool.supportedLoginProviders = cdk.Lazy.anyValue({ + this.identityPool.supportedLoginProviders = cdk.Lazy.any({ produce: () => { const supportedProvider: $TSAny = {}; props.authProviders?.forEach(provider => { diff --git a/packages/amplify-category-auth/src/provider-utils/awscloudformation/auth-stack-builder/auth-stack-transform.ts b/packages/amplify-category-auth/src/provider-utils/awscloudformation/auth-stack-builder/auth-stack-transform.ts index 3fc627d23ba..e511ac5f47e 100644 --- a/packages/amplify-category-auth/src/provider-utils/awscloudformation/auth-stack-builder/auth-stack-transform.ts +++ b/packages/amplify-category-auth/src/provider-utils/awscloudformation/auth-stack-builder/auth-stack-transform.ts @@ -1,12 +1,24 @@ -/* eslint-disable max-lines-per-function */ -import * as cdk from '@aws-cdk/core'; import { - $TSAny, $TSContext, AmplifyCategories, AmplifyCategoryTransform, - AmplifyStackTemplate, AmplifySupportedService, buildOverrideDir, - CFNTemplateFormat, FeatureFlags, JSONUtilities, pathManager, - stateManager, Template, writeCFNTemplate, + $TSAny, + $TSContext, + AmplifyCategories, + AmplifyCategoryTransform, + AmplifyStackTemplate, + AmplifySupportedService, + buildOverrideDir, + CFNTemplateFormat, + FeatureFlags, + JSONUtilities, + pathManager, + stateManager, + Template, + writeCFNTemplate } from 'amplify-cli-core'; -import { formatter, printer } from 'amplify-prompts'; +import { + formatter, + printer +} from 'amplify-prompts'; +import * as cdk from 'aws-cdk-lib'; import * as fs from 'fs-extra'; import _ from 'lodash'; import os from 'os'; @@ -17,7 +29,8 @@ import { AttributeType, CognitoCLIInputs } from '../service-walkthrough-types/aw import { AuthTriggerConnection, AuthTriggerPermissions, CognitoStackOptions } from '../service-walkthrough-types/cognito-user-input-types'; import { generateNestedAuthTriggerTemplate } from '../utils/generate-auth-trigger-template'; import { createUserPoolGroups, updateUserPoolGroups } from '../utils/synthesize-resources'; -import { AmplifyAuthCognitoStack, AuthStackSynthesizer } from './index'; +import { AmplifyAuthCognitoStack } from './auth-cognito-stack-builder'; +import { AuthStackSynthesizer } from './stack-synthesizer'; /** * Class to handle Auth cdk generation / override functionality diff --git a/packages/amplify-category-auth/src/provider-utils/awscloudformation/auth-stack-builder/auth-user-pool-group-stack-builder.ts b/packages/amplify-category-auth/src/provider-utils/awscloudformation/auth-stack-builder/auth-user-pool-group-stack-builder.ts index 2c9d1ebf80f..f31c31fecd1 100644 --- a/packages/amplify-category-auth/src/provider-utils/awscloudformation/auth-stack-builder/auth-user-pool-group-stack-builder.ts +++ b/packages/amplify-category-auth/src/provider-utils/awscloudformation/auth-stack-builder/auth-user-pool-group-stack-builder.ts @@ -1,11 +1,12 @@ /* eslint-disable max-classes-per-file */ +import * as cdk from 'aws-cdk-lib'; +import * as iam from 'aws-cdk-lib/aws-iam'; +import * as lambda from 'aws-cdk-lib/aws-lambda'; +import { CfnUserPoolGroup } from 'aws-cdk-lib/aws-cognito'; import { AmplifyUserPoolGroupStackTemplate } from '@aws-amplify/cli-extensibility-helper'; -import { CfnUserPoolGroup } from '@aws-cdk/aws-cognito'; -import * as iam from '@aws-cdk/aws-iam'; -import * as lambda from '@aws-cdk/aws-lambda'; -import * as cdk from '@aws-cdk/core'; import { JSONUtilities } from 'amplify-cli-core'; import * as fs from 'fs-extra'; +import { Construct } from 'constructs'; // eslint-disable-next-line import/no-cycle import { roleMapLambdaFilePath } from '../constants'; // eslint-disable-next-line import/no-cycle @@ -25,7 +26,7 @@ export type AmplifyAuthCognitoStackProps = { * CDK stack that contains the UserPool Group resources */ export class AmplifyUserPoolGroupStack extends cdk.Stack implements AmplifyUserPoolGroupStackTemplate { - _scope: cdk.Construct; + _scope: Construct; private _cfnParameterMap: Map = new Map(); private _cfnConditionMap: Map = new Map(); userPoolGroup: Record; @@ -34,7 +35,7 @@ export class AmplifyUserPoolGroupStack extends cdk.Stack implements AmplifyUserP roleMapLambdaFunction?: lambda.CfnFunction; lambdaExecutionRole?: iam.CfnRole; - constructor(scope: cdk.Construct, id: string, props: AmplifyAuthCognitoStackProps) { + constructor(scope: Construct, id: string, props: AmplifyAuthCognitoStackProps) { super(scope, id, props); this._scope = scope; this.templateOptions.templateFormatVersion = CFN_TEMPLATE_FORMAT_VERSION; @@ -312,7 +313,7 @@ const getCfnParamsLogicalId = (cognitoResourceName: string, cfnParamName: string */ export class AmplifyUserPoolGroupStackOutputs extends cdk.Stack { // eslint-disable-next-line @typescript-eslint/no-useless-constructor - constructor(scope: cdk.Construct, id: string, props: AmplifyAuthCognitoStackProps) { + constructor(scope: Construct, id: string, props: AmplifyAuthCognitoStackProps) { super(scope, id, props); } diff --git a/packages/amplify-category-auth/src/provider-utils/awscloudformation/auth-stack-builder/stack-synthesizer.ts b/packages/amplify-category-auth/src/provider-utils/awscloudformation/auth-stack-builder/stack-synthesizer.ts index 9904eea2d4c..e14d99e573e 100644 --- a/packages/amplify-category-auth/src/provider-utils/awscloudformation/auth-stack-builder/stack-synthesizer.ts +++ b/packages/amplify-category-auth/src/provider-utils/awscloudformation/auth-stack-builder/stack-synthesizer.ts @@ -1,7 +1,8 @@ -import { ISynthesisSession, Stack, LegacyStackSynthesizer } from '@aws-cdk/core'; import { JSONUtilities } from 'amplify-cli-core'; -import type { Template } from 'cloudform-types'; -import { AmplifyAuthCognitoStack, AmplifyUserPoolGroupStack, AmplifyUserPoolGroupStackOutputs } from './index'; +import { ISynthesisSession, Stack, LegacyStackSynthesizer } from 'aws-cdk-lib'; +import { Template } from 'cloudform-types'; +import { AmplifyAuthCognitoStack } from './auth-cognito-stack-builder'; +import { AmplifyUserPoolGroupStack, AmplifyUserPoolGroupStackOutputs } from './auth-user-pool-group-stack-builder'; /** * Amplify Stack Synthesizer for Auth Category diff --git a/packages/amplify-category-auth/src/provider-utils/awscloudformation/auth-stack-builder/user-pool-group-stack-transform.ts b/packages/amplify-category-auth/src/provider-utils/awscloudformation/auth-stack-builder/user-pool-group-stack-transform.ts index 2d6a69e3928..2d83c013fc0 100644 --- a/packages/amplify-category-auth/src/provider-utils/awscloudformation/auth-stack-builder/user-pool-group-stack-transform.ts +++ b/packages/amplify-category-auth/src/provider-utils/awscloudformation/auth-stack-builder/user-pool-group-stack-transform.ts @@ -1,13 +1,13 @@ -import * as cdk from '@aws-cdk/core'; import { $TSAny, $TSContext, AmplifyCategories, AmplifyCategoryTransform, AmplifyStackTemplate, AmplifySupportedService, buildOverrideDir, CFNTemplateFormat, JSONUtilities, - pathManager, Template, writeCFNTemplate, + pathManager, Template, writeCFNTemplate } from 'amplify-cli-core'; import { formatter, printer } from 'amplify-prompts'; +import * as cdk from 'aws-cdk-lib'; import * as fs from 'fs-extra'; import os from 'os'; import * as path from 'path'; diff --git a/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/generate-auth-trigger-template.ts b/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/generate-auth-trigger-template.ts index 709c6d98b10..105c716d5f4 100644 --- a/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/generate-auth-trigger-template.ts +++ b/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/generate-auth-trigger-template.ts @@ -1,12 +1,12 @@ import * as path from 'path'; import * as fs from 'fs-extra'; import { JSONUtilities, pathManager } from 'amplify-cli-core'; -import * as iam from '@aws-cdk/aws-iam'; -import * as lambda from '@aws-cdk/aws-lambda'; -import * as cdk from '@aws-cdk/core'; -import { prepareApp } from '@aws-cdk/core/lib/private/prepare-app'; -import { Construct, CustomResource } from '@aws-cdk/core'; +import * as iam from 'aws-cdk-lib/aws-iam'; +import * as lambda from 'aws-cdk-lib/aws-lambda'; +import * as cdk from 'aws-cdk-lib'; +import { CustomResource } from 'aws-cdk-lib'; import { v4 as uuid } from 'uuid'; +import { Construct } from 'constructs'; import { AuthTriggerConnection, CognitoStackOptions } from '../service-walkthrough-types/cognito-user-input-types'; import { authTriggerAssetFilePath } from '../constants'; @@ -21,7 +21,7 @@ const CFN_TEMPLATE_FORMAT_VERSION = '2010-09-09'; * CDK stack for custom auth resources */ export class CustomResourceAuthStack extends cdk.Stack { - constructor(scope: cdk.Construct, id: string, props: CustomResourceAuthStackProps) { + constructor(scope: Construct, id: string, props: CustomResourceAuthStackProps) { super(scope, id, props); this.templateOptions.templateFormatVersion = CFN_TEMPLATE_FORMAT_VERSION; @@ -61,7 +61,6 @@ export class CustomResourceAuthStack extends cdk.Stack { * Generates a CFN template from the CDK stack */ toCloudFormation(): Record { - prepareApp(this); return this._toCloudFormation(); } } diff --git a/packages/amplify-category-custom/package.json b/packages/amplify-category-custom/package.json index 73fd75c2149..0e69d360035 100644 --- a/packages/amplify-category-custom/package.json +++ b/packages/amplify-category-custom/package.json @@ -27,6 +27,7 @@ "dependencies": { "amplify-cli-core": "3.2.2", "amplify-prompts": "2.6.0", + "aws-cdk-lib": "~2.44.0", "execa": "^5.1.1", "fs-extra": "^8.1.0", "glob": "^7.2.0", @@ -57,4 +58,4 @@ "!**/*.d.ts" ] } -} +} \ No newline at end of file diff --git a/packages/amplify-category-custom/resources/cdk-stack.ts.sample b/packages/amplify-category-custom/resources/cdk-stack.ts.sample index 1e9c071f73c..ed8b160df3c 100644 --- a/packages/amplify-category-custom/resources/cdk-stack.ts.sample +++ b/packages/amplify-category-custom/resources/cdk-stack.ts.sample @@ -1,10 +1,10 @@ -import * as cdk from '@aws-cdk/core'; +import * as cdk from 'aws-cdk-lib'; import * as AmplifyHelpers from '@aws-amplify/cli-extensibility-helper'; import { AmplifyDependentResourcesAttributes } from '../../types/amplify-dependent-resources-ref'; -//import * as iam from '@aws-cdk/aws-iam'; -//import * as sns from '@aws-cdk/aws-sns'; -//import * as subs from '@aws-cdk/aws-sns-subscriptions'; -//import * as sqs from '@aws-cdk/aws-sqs'; +//import * as iam from 'aws-cdk-lib/aws-iam'; +//import * as sns from 'aws-cdk-lib/aws-sns'; +//import * as subs from 'aws-cdk-lib/aws-sns-subscriptions'; +//import * as sqs from 'aws-cdk-lib/aws-sqs'; export class cdkStack extends cdk.Stack { constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps, amplifyResourceProps?: AmplifyHelpers.AmplifyResourceProps) { diff --git a/packages/amplify-category-custom/resources/package.json b/packages/amplify-category-custom/resources/package.json index b2331e1d9d4..49e0532d20b 100644 --- a/packages/amplify-category-custom/resources/package.json +++ b/packages/amplify-category-custom/resources/package.json @@ -9,11 +9,7 @@ }, "dependencies": { "@aws-amplify/cli-extensibility-helper": "^2.0.0", - "@aws-cdk/core": "^1.159.0", - "@aws-cdk/aws-iam": "^1.159.0", - "@aws-cdk/aws-sns-subscriptions": "^1.159.0", - "@aws-cdk/aws-sqs": "^1.159.0", - "@aws-cdk/aws-sns": "^1.159.0" + "aws-cdk-lib": "~2.44.0" }, "devDependencies": { "typescript": "^4.2.4" diff --git a/packages/amplify-category-custom/src/__tests__/utils/dependency-management-utils.test.ts b/packages/amplify-category-custom/src/__tests__/utils/dependency-management-utils.test.ts index a46fd5f4972..e34e58b37d7 100644 --- a/packages/amplify-category-custom/src/__tests__/utils/dependency-management-utils.test.ts +++ b/packages/amplify-category-custom/src/__tests__/utils/dependency-management-utils.test.ts @@ -1,15 +1,17 @@ -import { $TSContext, CFNTemplateFormat, readCFNTemplate, pathManager, stateManager, writeCFNTemplate } from 'amplify-cli-core'; +import { + $TSContext, CFNTemplateFormat, readCFNTemplate, pathManager, stateManager, writeCFNTemplate, +} from 'amplify-cli-core'; import { glob } from 'glob'; import * as inquirer from 'inquirer'; import { prompter } from 'amplify-prompts'; import * as fs from 'fs-extra'; +import * as cdk from 'aws-cdk-lib'; import { getResourceCfnOutputAttributes, getAllResources, addCDKResourceDependency, addCFNResourceDependency, } from '../../utils/dependency-management-utils'; -import * as cdk from '@aws-cdk/core'; jest.mock('amplify-cli-core'); jest.mock('amplify-prompts'); @@ -319,7 +321,7 @@ describe('addCFNResourceDependency() scenarios', () => { } as unknown as $TSContext; }); - it('add new resource dependency to custom cfn stack ', async () => { + it('add new resource dependency to custom cfn stack', async () => { prompter.yesOrNo = jest.fn().mockReturnValueOnce(true); fs_mock.existsSync.mockReturnValue(false); // if build dir exists diff --git a/packages/amplify-category-custom/src/utils/dependency-management-utils.ts b/packages/amplify-category-custom/src/utils/dependency-management-utils.ts index 0e0401af40d..30d31cfe895 100644 --- a/packages/amplify-category-custom/src/utils/dependency-management-utils.ts +++ b/packages/amplify-category-custom/src/utils/dependency-management-utils.ts @@ -1,4 +1,4 @@ -import * as cdk from '@aws-cdk/core'; +import * as cdk from 'aws-cdk-lib'; import { $TSContext, $TSObject, pathManager, readCFNTemplate, stateManager, writeCFNTemplate } from 'amplify-cli-core'; import { printer, prompter } from 'amplify-prompts'; import * as fs from 'fs-extra'; diff --git a/packages/amplify-category-custom/src/utils/generate-cfn-from-cdk.ts b/packages/amplify-category-custom/src/utils/generate-cfn-from-cdk.ts index 52f89609d07..3f5220c47ad 100644 --- a/packages/amplify-category-custom/src/utils/generate-cfn-from-cdk.ts +++ b/packages/amplify-category-custom/src/utils/generate-cfn-from-cdk.ts @@ -1,4 +1,4 @@ -import * as cdk from '@aws-cdk/core'; +import * as cdk from 'aws-cdk-lib'; import { JSONUtilities, pathManager } from 'amplify-cli-core'; import * as path from 'path'; import { categoryName } from './constants'; diff --git a/packages/amplify-category-geo/package.json b/packages/amplify-category-geo/package.json index 1816b388552..229ac4b8a38 100644 --- a/packages/amplify-category-geo/package.json +++ b/packages/amplify-category-geo/package.json @@ -22,15 +22,14 @@ "aws" ], "dependencies": { - "@aws-cdk/aws-iam": "^1.159.0", - "@aws-cdk/aws-lambda": "^1.159.0", - "@aws-cdk/core": "^1.159.0", "ajv": "^6.12.6", "amplify-cli-core": "3.2.2", "amplify-headless-interface": "1.15.0", "amplify-prompts": "2.6.0", "amplify-util-headless-input": "1.9.6", + "aws-cdk-lib": "~2.44.0", "aws-sdk": "^2.1233.0", + "constructs": "^10.0.5", "fs-extra": "^8.1.0", "lodash": "^4.17.21", "uuid": "^8.3.2" diff --git a/packages/amplify-category-geo/src/__tests__/service-stacks/__snapshots__/mapStack.test.ts.snap b/packages/amplify-category-geo/src/__tests__/service-stacks/__snapshots__/mapStack.test.ts.snap index 627c9517e7d..d2091a967c8 100644 --- a/packages/amplify-category-geo/src/__tests__/service-stacks/__snapshots__/mapStack.test.ts.snap +++ b/packages/amplify-category-geo/src/__tests__/service-stacks/__snapshots__/mapStack.test.ts.snap @@ -112,10 +112,6 @@ Object { "UpdateReplacePolicy": "Delete", }, "CustomMapLambda51D5D430": Object { - "DependsOn": Array [ - "CustomMapLambdaServiceRoleDefaultPolicy983FDD4E", - "CustomMapLambdaServiceRole4EE7732C", - ], "Properties": Object { "Code": Object { "ZipFile": "const response = require('cfn-response'); @@ -457,10 +453,6 @@ Object { "UpdateReplacePolicy": "Delete", }, "CustomMapLambda51D5D430": Object { - "DependsOn": Array [ - "CustomMapLambdaServiceRoleDefaultPolicy983FDD4E", - "CustomMapLambdaServiceRole4EE7732C", - ], "Properties": Object { "Code": Object { "ZipFile": "const response = require('cfn-response'); diff --git a/packages/amplify-category-geo/src/__tests__/service-stacks/__snapshots__/placeIndexStack.test.ts.snap b/packages/amplify-category-geo/src/__tests__/service-stacks/__snapshots__/placeIndexStack.test.ts.snap index d9b0f86d899..75bfbed729f 100644 --- a/packages/amplify-category-geo/src/__tests__/service-stacks/__snapshots__/placeIndexStack.test.ts.snap +++ b/packages/amplify-category-geo/src/__tests__/service-stacks/__snapshots__/placeIndexStack.test.ts.snap @@ -113,10 +113,6 @@ Object { "UpdateReplacePolicy": "Delete", }, "CustomPlaceIndexLambda79813BB9": Object { - "DependsOn": Array [ - "CustomPlaceIndexLambdaServiceRoleDefaultPolicy818068B1", - "CustomPlaceIndexLambdaServiceRoleFD2F3C9D", - ], "Properties": Object { "Code": Object { "ZipFile": "const response = require('cfn-response'); @@ -466,10 +462,6 @@ Object { "UpdateReplacePolicy": "Delete", }, "CustomPlaceIndexLambda79813BB9": Object { - "DependsOn": Array [ - "CustomPlaceIndexLambdaServiceRoleDefaultPolicy818068B1", - "CustomPlaceIndexLambdaServiceRoleFD2F3C9D", - ], "Properties": Object { "Code": Object { "ZipFile": "const response = require('cfn-response'); diff --git a/packages/amplify-category-geo/src/__tests__/service-stacks/geofenceCollectionStack.test.ts b/packages/amplify-category-geo/src/__tests__/service-stacks/geofenceCollectionStack.test.ts index 1d2e7391dcb..dede230f099 100644 --- a/packages/amplify-category-geo/src/__tests__/service-stacks/geofenceCollectionStack.test.ts +++ b/packages/amplify-category-geo/src/__tests__/service-stacks/geofenceCollectionStack.test.ts @@ -1,4 +1,4 @@ -import { App } from '@aws-cdk/core'; +import { App } from 'aws-cdk-lib'; import { AccessType } from '../../service-utils/resourceParams'; import { GeofenceCollectionStack } from '../../service-stacks/geofenceCollectionStack'; diff --git a/packages/amplify-category-geo/src/__tests__/service-stacks/mapStack.test.ts b/packages/amplify-category-geo/src/__tests__/service-stacks/mapStack.test.ts index fe3d8c25098..36df35fa2c2 100644 --- a/packages/amplify-category-geo/src/__tests__/service-stacks/mapStack.test.ts +++ b/packages/amplify-category-geo/src/__tests__/service-stacks/mapStack.test.ts @@ -1,4 +1,4 @@ -import { App } from '@aws-cdk/core'; +import { App } from 'aws-cdk-lib'; import { AccessType } from '../../service-utils/resourceParams'; import { MapStack } from '../../service-stacks/mapStack'; diff --git a/packages/amplify-category-geo/src/__tests__/service-stacks/placeIndexStack.test.ts b/packages/amplify-category-geo/src/__tests__/service-stacks/placeIndexStack.test.ts index 9c3f0f7d692..58b55480c5a 100644 --- a/packages/amplify-category-geo/src/__tests__/service-stacks/placeIndexStack.test.ts +++ b/packages/amplify-category-geo/src/__tests__/service-stacks/placeIndexStack.test.ts @@ -1,4 +1,4 @@ -import { App } from '@aws-cdk/core'; +import { App } from 'aws-cdk-lib'; import { AccessType } from '../../service-utils/resourceParams'; import { PlaceIndexStack } from '../../service-stacks/placeIndexStack'; diff --git a/packages/amplify-category-geo/src/service-stacks/baseStack.ts b/packages/amplify-category-geo/src/service-stacks/baseStack.ts index 87466ae16ca..c531632cf16 100644 --- a/packages/amplify-category-geo/src/service-stacks/baseStack.ts +++ b/packages/amplify-category-geo/src/service-stacks/baseStack.ts @@ -1,6 +1,6 @@ -import * as cdk from '@aws-cdk/core'; -import { prepareApp } from '@aws-cdk/core/lib/private/prepare-app'; +import * as cdk from 'aws-cdk-lib'; import { $TSAny, $TSObject } from 'amplify-cli-core'; +import { Construct } from 'constructs'; /** * cfn template mapping type @@ -16,7 +16,7 @@ export class BaseStack extends cdk.Stack { protected parameters: Map; protected regionMapping: cdk.CfnMapping; - constructor(scope: cdk.Construct, id: string, props: TemplateMappings) { + constructor(scope: Construct, id: string, props: TemplateMappings) { super(scope, id); this.parameters = new Map(); @@ -41,7 +41,6 @@ export class BaseStack extends cdk.Stack { * converts to cfn */ toCloudFormation = (): $TSAny => { - prepareApp(this); const cfn = this._toCloudFormation(); return cfn; } diff --git a/packages/amplify-category-geo/src/service-stacks/geofenceCollectionStack.ts b/packages/amplify-category-geo/src/service-stacks/geofenceCollectionStack.ts index 8a615fff221..5d218cc329c 100644 --- a/packages/amplify-category-geo/src/service-stacks/geofenceCollectionStack.ts +++ b/packages/amplify-category-geo/src/service-stacks/geofenceCollectionStack.ts @@ -1,11 +1,12 @@ -import * as cdk from '@aws-cdk/core'; -import * as iam from '@aws-cdk/aws-iam'; -import * as lambda from '@aws-cdk/aws-lambda'; -import { Duration, Fn } from '@aws-cdk/core'; -import { Effect } from '@aws-cdk/aws-iam'; +import * as cdk from 'aws-cdk-lib'; +import * as iam from 'aws-cdk-lib/aws-iam'; +import * as lambda from 'aws-cdk-lib/aws-lambda'; +import { Duration, Fn } from 'aws-cdk-lib'; +import { Effect } from 'aws-cdk-lib/aws-iam'; import * as fs from 'fs-extra'; import _ from 'lodash'; -import { Runtime } from '@aws-cdk/aws-lambda'; +import { Runtime } from 'aws-cdk-lib/aws-lambda'; +import { Construct } from 'constructs'; import { customGeofenceCollectionLambdaCodePath } from '../service-utils/constants'; import { BaseStack, TemplateMappings } from './baseStack'; import { GeofenceCollectionParameters } from '../service-utils/geofenceCollectionParams'; @@ -25,7 +26,7 @@ export class GeofenceCollectionStack extends BaseStack { protected readonly geofenceCollectionName: string; protected readonly authResourceName: string; - constructor(scope: cdk.Construct, id: string, private readonly props: GeofenceCollectionStackProps) { + constructor(scope: Construct, id: string, private readonly props: GeofenceCollectionStackProps) { super(scope, id, props); this.groupPermissions = this.props.groupPermissions; diff --git a/packages/amplify-category-geo/src/service-stacks/mapStack.ts b/packages/amplify-category-geo/src/service-stacks/mapStack.ts index 9a99523b9ff..8d4d6ebbea4 100644 --- a/packages/amplify-category-geo/src/service-stacks/mapStack.ts +++ b/packages/amplify-category-geo/src/service-stacks/mapStack.ts @@ -1,9 +1,10 @@ -import * as cdk from '@aws-cdk/core'; -import * as iam from '@aws-cdk/aws-iam'; -import * as lambda from '@aws-cdk/aws-lambda'; -import { CfnResource, Duration, Fn } from '@aws-cdk/core'; -import { Effect } from '@aws-cdk/aws-iam'; -import { Runtime } from '@aws-cdk/aws-lambda'; +import * as cdk from 'aws-cdk-lib'; +import * as iam from 'aws-cdk-lib/aws-iam'; +import * as lambda from 'aws-cdk-lib/aws-lambda'; +import { CfnResource, Duration, Fn } from 'aws-cdk-lib'; +import { Effect } from 'aws-cdk-lib/aws-iam'; +import { Runtime } from 'aws-cdk-lib/aws-lambda'; +import { Construct } from 'constructs'; import * as fs from 'fs-extra'; import { MapParameters } from '../service-utils/mapParams'; import { AccessType } from '../service-utils/resourceParams'; @@ -24,7 +25,7 @@ export class MapStack extends BaseStack { protected readonly mapName: string; protected readonly authResourceName: string; - constructor(scope: cdk.Construct, id: string, private readonly props: MapStackProps) { + constructor(scope: Construct, id: string, private readonly props: MapStackProps) { super(scope, id, props); this.accessType = this.props.accessType; diff --git a/packages/amplify-category-geo/src/service-stacks/placeIndexStack.ts b/packages/amplify-category-geo/src/service-stacks/placeIndexStack.ts index 7dda7660caf..f402a736d8a 100644 --- a/packages/amplify-category-geo/src/service-stacks/placeIndexStack.ts +++ b/packages/amplify-category-geo/src/service-stacks/placeIndexStack.ts @@ -1,10 +1,11 @@ -import * as cdk from '@aws-cdk/core'; -import * as iam from '@aws-cdk/aws-iam'; -import * as lambda from '@aws-cdk/aws-lambda'; -import { CfnResource, Duration, Fn } from '@aws-cdk/core'; -import { Effect } from '@aws-cdk/aws-iam'; +import * as cdk from 'aws-cdk-lib'; +import * as iam from 'aws-cdk-lib/aws-iam'; +import * as lambda from 'aws-cdk-lib/aws-lambda'; +import { CfnResource, Duration, Fn } from 'aws-cdk-lib/core'; +import { Effect } from 'aws-cdk-lib/aws-iam'; import * as fs from 'fs-extra'; -import { Runtime } from '@aws-cdk/aws-lambda'; +import { Runtime } from 'aws-cdk-lib/aws-lambda'; +import { Construct } from 'constructs'; import { PlaceIndexParameters } from '../service-utils/placeIndexParams'; import { AccessType } from '../service-utils/resourceParams'; import { BaseStack, TemplateMappings } from './baseStack'; @@ -24,7 +25,7 @@ export class PlaceIndexStack extends BaseStack { protected readonly placeIndexName: string; protected readonly authResourceName: string; - constructor(scope: cdk.Construct, id: string, private readonly props: PlaceIndexStackProps) { + constructor(scope: Construct, id: string, private readonly props: PlaceIndexStackProps) { super(scope, id, props); this.accessType = this.props.accessType; diff --git a/packages/amplify-category-geo/src/service-utils/geofenceCollectionUtils.ts b/packages/amplify-category-geo/src/service-utils/geofenceCollectionUtils.ts index 34e4a6ab15a..46b9ceebe71 100644 --- a/packages/amplify-category-geo/src/service-utils/geofenceCollectionUtils.ts +++ b/packages/amplify-category-geo/src/service-utils/geofenceCollectionUtils.ts @@ -2,7 +2,7 @@ import { $TSContext, $TSObject, stateManager, pathManager, } from 'amplify-cli-core'; // eslint-disable-next-line @typescript-eslint/no-unused-vars -import { App } from '@aws-cdk/core'; +import { App } from 'aws-cdk-lib'; import { GeofenceCollectionParameters } from './geofenceCollectionParams'; import { parametersFileName, provider, ServiceName } from './constants'; import { category } from '../constants'; diff --git a/packages/amplify-category-geo/src/service-utils/mapUtils.ts b/packages/amplify-category-geo/src/service-utils/mapUtils.ts index 6b5dd4ac24f..8e091310ae3 100644 --- a/packages/amplify-category-geo/src/service-utils/mapUtils.ts +++ b/packages/amplify-category-geo/src/service-utils/mapUtils.ts @@ -1,7 +1,7 @@ import { $TSContext, $TSObject, stateManager, pathManager, } from 'amplify-cli-core'; -import { App } from '@aws-cdk/core'; +import { App } from 'aws-cdk-lib'; import { MapParameters, getGeoMapStyle, getMapStyleComponents } from './mapParams'; import { parametersFileName, provider, ServiceName } from './constants'; import { category } from '../constants'; diff --git a/packages/amplify-category-geo/src/service-utils/placeIndexUtils.ts b/packages/amplify-category-geo/src/service-utils/placeIndexUtils.ts index 8d3ec06ebc5..2e48bc10fa3 100644 --- a/packages/amplify-category-geo/src/service-utils/placeIndexUtils.ts +++ b/packages/amplify-category-geo/src/service-utils/placeIndexUtils.ts @@ -1,7 +1,7 @@ import { $TSContext, $TSObject, stateManager, pathManager, } from 'amplify-cli-core'; -import { App } from '@aws-cdk/core'; +import { App } from 'aws-cdk-lib'; import { PlaceIndexParameters } from './placeIndexParams'; import { parametersFileName, provider, ServiceName } from './constants'; import { category } from '../constants'; diff --git a/packages/amplify-category-storage/package.json b/packages/amplify-category-storage/package.json index d6307e5ae5e..c7d974b77d1 100644 --- a/packages/amplify-category-storage/package.json +++ b/packages/amplify-category-storage/package.json @@ -28,17 +28,14 @@ "dependencies": { "@aws-amplify/amplify-environment-parameters": "1.1.3", "@aws-amplify/cli-extensibility-helper": "2.4.3", - "@aws-cdk/aws-dynamodb": "^1.159.0", - "@aws-cdk/aws-iam": "^1.159.0", - "@aws-cdk/aws-lambda": "^1.159.0", - "@aws-cdk/aws-s3": "^1.159.0", - "@aws-cdk/core": "^1.159.0", "amplify-cli-core": "3.2.2", "amplify-headless-interface": "1.15.0", "amplify-prompts": "2.6.0", "amplify-util-import": "2.2.36", + "aws-cdk-lib": "~2.44.0", "aws-sdk": "^2.1233.0", "chalk": "^4.1.1", + "constructs": "^10.0.5", "enquirer": "^2.3.6", "fs-extra": "^8.1.0", "lodash": "^4.17.21", diff --git a/packages/amplify-category-storage/src/provider-utils/awscloudformation/cdk-stack-builder/ddb-stack-builder.ts b/packages/amplify-category-storage/src/provider-utils/awscloudformation/cdk-stack-builder/ddb-stack-builder.ts index e008522fdbd..0265ddae65e 100644 --- a/packages/amplify-category-storage/src/provider-utils/awscloudformation/cdk-stack-builder/ddb-stack-builder.ts +++ b/packages/amplify-category-storage/src/provider-utils/awscloudformation/cdk-stack-builder/ddb-stack-builder.ts @@ -1,6 +1,7 @@ +import * as cdk from 'aws-cdk-lib'; +import * as ddb from 'aws-cdk-lib/aws-dynamodb'; +import { Construct } from 'constructs'; import { AmplifyDDBResourceTemplate } from '@aws-amplify/cli-extensibility-helper'; -import * as ddb from '@aws-cdk/aws-dynamodb'; -import * as cdk from '@aws-cdk/core'; import { DynamoDBCLIInputs, DynamoDBCLIInputsKeyType } from '../service-walkthrough-types/dynamoDB-user-input-types'; const CFN_TEMPLATE_FORMAT_VERSION = '2010-09-09'; @@ -10,12 +11,12 @@ const ROOT_CFN_DESCRIPTION = 'DDB Resource for AWS Amplify CLI'; * Class to generate Amplify DynamoDB resource for storage category */ export class AmplifyDDBResourceStack extends cdk.Stack implements AmplifyDDBResourceTemplate { - _scope: cdk.Construct; + _scope: Construct; dynamoDBTable!: ddb.CfnTable; _props: DynamoDBCLIInputs; _cfnParameterMap: Map = new Map(); - constructor(scope: cdk.Construct, id: string, props: DynamoDBCLIInputs) { + constructor(scope: Construct, id: string, props: DynamoDBCLIInputs) { super(scope, id, undefined); this._scope = scope; this._props = props; diff --git a/packages/amplify-category-storage/src/provider-utils/awscloudformation/cdk-stack-builder/ddb-stack-transform.ts b/packages/amplify-category-storage/src/provider-utils/awscloudformation/cdk-stack-builder/ddb-stack-transform.ts index bf629812af0..1216a3c8386 100644 --- a/packages/amplify-category-storage/src/provider-utils/awscloudformation/cdk-stack-builder/ddb-stack-transform.ts +++ b/packages/amplify-category-storage/src/provider-utils/awscloudformation/cdk-stack-builder/ddb-stack-transform.ts @@ -1,6 +1,5 @@ import { AmplifyDDBResourceTemplate } from '@aws-amplify/cli-extensibility-helper'; -import * as cdk from '@aws-cdk/core'; -import { App } from '@aws-cdk/core'; +import * as cdk from 'aws-cdk-lib'; import { $TSAny, $TSContext, buildOverrideDir, JSONUtilities, pathManager, } from 'amplify-cli-core'; @@ -19,7 +18,7 @@ import { AmplifyDDBResourceInputParameters } from './types'; * Entry point class to transform User parameters into stack and apply overrides */ export class DDBStackTransform { - app: App; + app: cdk.App; _context: $TSContext; _cliInputs: DynamoDBCLIInputs; _resourceTemplateObj: AmplifyDDBResourceStack | undefined; @@ -29,7 +28,7 @@ export class DDBStackTransform { _resourceName: string; constructor(context: $TSContext, resourceName: string) { - this.app = new App(); + this.app = new cdk.App(); this._context = context; this._resourceName = resourceName; diff --git a/packages/amplify-category-storage/src/provider-utils/awscloudformation/cdk-stack-builder/s3-stack-builder.ts b/packages/amplify-category-storage/src/provider-utils/awscloudformation/cdk-stack-builder/s3-stack-builder.ts index e66c51103ab..01f4237ee25 100644 --- a/packages/amplify-category-storage/src/provider-utils/awscloudformation/cdk-stack-builder/s3-stack-builder.ts +++ b/packages/amplify-category-storage/src/provider-utils/awscloudformation/cdk-stack-builder/s3-stack-builder.ts @@ -1,9 +1,10 @@ import { AmplifyS3ResourceTemplate } from '@aws-amplify/cli-extensibility-helper'; -import * as iamCdk from '@aws-cdk/aws-iam'; -import * as lambdaCdk from '@aws-cdk/aws-lambda'; -import * as s3Cdk from '@aws-cdk/aws-s3'; -import { HttpMethods } from '@aws-cdk/aws-s3'; -import * as cdk from '@aws-cdk/core'; +import * as iamCdk from 'aws-cdk-lib/aws-iam'; +import * as lambdaCdk from 'aws-cdk-lib/aws-lambda'; +import * as s3Cdk from 'aws-cdk-lib/aws-s3'; +import { HttpMethods } from 'aws-cdk-lib/aws-s3'; +import * as cdk from 'aws-cdk-lib'; +import { Construct } from 'constructs'; import { $TSAny, $TSContext, $TSObject, AmplifyCategories, stateManager, } from 'amplify-cli-core'; @@ -29,7 +30,7 @@ import { */ export class AmplifyS3ResourceCfnStack extends AmplifyResourceCfnStack implements AmplifyS3ResourceTemplate { id: string; - scope: cdk.Construct; + scope: Construct; s3Bucket!: s3Cdk.CfnBucket; s3BucketName: string; notificationConfiguration: s3Cdk.CfnBucket.NotificationConfigurationProperty = { @@ -58,7 +59,7 @@ export class AmplifyS3ResourceCfnStack extends AmplifyResourceCfnStack implement _props: S3UserInputs = defaultS3UserInputs(); _cfnInputParams: AmplifyS3ResourceInputParameters = {}; - constructor(scope: cdk.Construct, s3ResourceName: string, props: S3UserInputs, cfnInputParams: AmplifyS3ResourceInputParameters) { + constructor(scope: Construct, s3ResourceName: string, props: S3UserInputs, cfnInputParams: AmplifyS3ResourceInputParameters) { super(scope, s3ResourceName); this.scope = scope; this.id = s3ResourceName; diff --git a/packages/amplify-category-storage/src/provider-utils/awscloudformation/cdk-stack-builder/s3-stack-transform.ts b/packages/amplify-category-storage/src/provider-utils/awscloudformation/cdk-stack-builder/s3-stack-transform.ts index 740e0b47e7b..de16e8ade1a 100644 --- a/packages/amplify-category-storage/src/provider-utils/awscloudformation/cdk-stack-builder/s3-stack-transform.ts +++ b/packages/amplify-category-storage/src/provider-utils/awscloudformation/cdk-stack-builder/s3-stack-transform.ts @@ -1,6 +1,5 @@ +import * as cdk from 'aws-cdk-lib'; import { AmplifyS3ResourceTemplate } from '@aws-amplify/cli-extensibility-helper'; -import * as cdk from '@aws-cdk/core'; -import { App } from '@aws-cdk/core'; import { $TSAny, $TSContext, @@ -39,7 +38,7 @@ export const transformS3ResourceStack = async (context: $TSContext, resource: IA * Stack transformer for S3 */ export class AmplifyS3ResourceStackTransform { - private app: App; + private app: cdk.App; private cliInputs: S3UserInputs; private resourceTemplateObj: AmplifyS3ResourceCfnStack | undefined; private cliInputsState: S3InputState; @@ -49,7 +48,7 @@ export class AmplifyS3ResourceStackTransform { private resourceName: string; constructor(resourceName: string, context: $TSContext) { - this.app = new App(); + this.app = new cdk.App(); // Validate the cli-inputs.json for the resource this.cliInputsState = new S3InputState(context, resourceName, undefined); this.cliInputs = this.cliInputsState.getCliInputPayload(); diff --git a/packages/amplify-category-storage/src/provider-utils/awscloudformation/cdk-stack-builder/types.ts b/packages/amplify-category-storage/src/provider-utils/awscloudformation/cdk-stack-builder/types.ts index 20b4d5debc4..5e56316b9ba 100644 --- a/packages/amplify-category-storage/src/provider-utils/awscloudformation/cdk-stack-builder/types.ts +++ b/packages/amplify-category-storage/src/provider-utils/awscloudformation/cdk-stack-builder/types.ts @@ -1,6 +1,7 @@ import { AmplifyCDKL1 } from '@aws-amplify/cli-extensibility-helper'; -import * as cdk from '@aws-cdk/core'; +import * as cdk from 'aws-cdk-lib'; import { $TSObject } from 'amplify-cli-core'; +import { Construct } from 'constructs'; import { DdbAttrType } from '../cfn-template-utils'; /** @@ -58,7 +59,7 @@ export interface AmplifyS3ResourceInputParameters { */ export class AmplifyResourceCfnStack extends cdk.Stack implements AmplifyCDKL1 { _cfnParameterMap: Map = new Map(); - constructor(scope: cdk.Construct, id: string) { + constructor(scope: Construct, id: string) { super(scope, id, undefined); } diff --git a/packages/amplify-cli-core/src/category-interfaces/amplify-base-cdk-types.ts b/packages/amplify-cli-core/src/category-interfaces/amplify-base-cdk-types.ts index 8b85ac9ca2b..9feb39836a8 100644 --- a/packages/amplify-cli-core/src/category-interfaces/amplify-base-cdk-types.ts +++ b/packages/amplify-cli-core/src/category-interfaces/amplify-base-cdk-types.ts @@ -1,20 +1,26 @@ -//Define all common classes and interfaces required to generate cloudformation using CDK. -import * as cdk from '@aws-cdk/core'; +// Define all common classes and interfaces required to generate cloudformation using CDK. +import * as cdk from 'aws-cdk-lib'; -//Base template -//Customer can use these params to mutate the Cloudformation for the resource +// Base template +// Customer can use these params to mutate the Cloudformation for the resource +/** + * + */ export interface AmplifyStackTemplate { - addCfnParameter(props: cdk.CfnParameterProps, logicalId: string): void; - addCfnOutput(props: cdk.CfnOutputProps, logicalId: string): void; - addCfnMapping(props: cdk.CfnMappingProps, logicalId: string): void; - addCfnCondition(props: cdk.CfnConditionProps, logicalId: string): void; + addCfnParameter: (props: cdk.CfnParameterProps, logicalId: string) => void; + addCfnOutput: (props: cdk.CfnOutputProps, logicalId: string) => void; + addCfnMapping: (props: cdk.CfnMappingProps, logicalId: string) => void; + addCfnCondition: (props: cdk.CfnConditionProps, logicalId: string) => void; - getCfnParameter(logicalId: string): cdk.CfnParameter; - getCfnOutput(logicalId: string): cdk.CfnOutput; - getCfnMapping(logicalId: string): cdk.CfnMapping; - getCfnCondition(logicalId: string): cdk.CfnCondition; + getCfnParameter: (logicalId: string) => cdk.CfnParameter; + getCfnOutput: (logicalId: string) => cdk.CfnOutput; + getCfnMapping: (logicalId: string) => cdk.CfnMapping; + getCfnCondition: (logicalId: string) => cdk.CfnCondition; } +/** + * + */ export interface Template { AWSTemplateFormatVersion?: string; Description?: string; diff --git a/packages/amplify-cli-core/src/feature-flags/featureFlags.ts b/packages/amplify-cli-core/src/feature-flags/featureFlags.ts index fee5bca7ae5..4c18625af40 100644 --- a/packages/amplify-cli-core/src/feature-flags/featureFlags.ts +++ b/packages/amplify-cli-core/src/feature-flags/featureFlags.ts @@ -5,7 +5,9 @@ import { JSONSchema7, JSONSchema7Definition } from 'json-schema'; // eslint-disa import _ from 'lodash'; import * as path from 'path'; import { CLIEnvironmentProvider } from '../cliEnvironmentProvider'; +// eslint-disable-next-line import/no-cycle import { AmplifyError } from '../errors/amplify-error'; +// eslint-disable-next-line import/no-cycle import { amplifyFaultWithTroubleshootingLink } from '../errors/amplify-fault'; import { JSONUtilities } from '../jsonUtilities'; import { pathManager, stateManager } from '../state-manager'; // eslint-disable-line import/no-cycle diff --git a/packages/amplify-cli-extensibility-helper/package.json b/packages/amplify-cli-extensibility-helper/package.json index 1feec3611ef..db06ba1914c 100644 --- a/packages/amplify-cli-extensibility-helper/package.json +++ b/packages/amplify-cli-extensibility-helper/package.json @@ -28,16 +28,8 @@ }, "dependencies": { "@aws-amplify/amplify-category-custom": "2.5.3", - "@aws-cdk/aws-apigateway": "^1.159.0", - "@aws-cdk/aws-appsync": "^1.159.0", - "@aws-cdk/aws-cognito": "^1.159.0", - "@aws-cdk/aws-dynamodb": "^1.159.0", - "@aws-cdk/aws-elasticsearch": "^1.159.0", - "@aws-cdk/aws-iam": "^1.159.0", - "@aws-cdk/aws-lambda": "^1.159.0", - "@aws-cdk/aws-s3": "^1.159.0", - "@aws-cdk/core": "^1.159.0", - "amplify-cli-core": "3.2.2" + "amplify-cli-core": "3.2.2", + "aws-cdk-lib": "~2.44.0" }, "jest": { "transform": { @@ -54,4 +46,4 @@ ], "collectCoverage": true } -} +} \ No newline at end of file diff --git a/packages/amplify-cli-extensibility-helper/src/types/api/amplify-api-resource-stack-types.ts b/packages/amplify-cli-extensibility-helper/src/types/api/amplify-api-resource-stack-types.ts index a094a357a12..409d617367e 100644 --- a/packages/amplify-cli-extensibility-helper/src/types/api/amplify-api-resource-stack-types.ts +++ b/packages/amplify-cli-extensibility-helper/src/types/api/amplify-api-resource-stack-types.ts @@ -2,12 +2,12 @@ import { CfnApiKey, CfnDataSource, CfnFunctionConfiguration, CfnGraphQLApi, CfnGraphQLSchema, CfnResolver, -} from '@aws-cdk/aws-appsync'; -import { CfnTable } from '@aws-cdk/aws-dynamodb'; -import { CfnPolicy, CfnRole } from '@aws-cdk/aws-iam'; -import { CfnDomain } from '@aws-cdk/aws-elasticsearch'; -import { CfnFunction, CfnEventSourceMapping } from '@aws-cdk/aws-lambda'; -import { CfnStack } from '@aws-cdk/core'; +} from 'aws-cdk-lib/aws-appsync'; +import { CfnTable } from 'aws-cdk-lib/aws-dynamodb'; +import { CfnPolicy, CfnRole } from 'aws-cdk-lib/aws-iam'; +import { CfnDomain } from 'aws-cdk-lib/aws-elasticsearch'; +import { CfnFunction, CfnEventSourceMapping } from 'aws-cdk-lib/aws-lambda'; +import { CfnStack } from 'aws-cdk-lib'; // Base template // Customer can use these params to mutate the Cloudformation for the resource diff --git a/packages/amplify-cli-extensibility-helper/src/types/api/types.ts b/packages/amplify-cli-extensibility-helper/src/types/api/types.ts index 535efd819ff..0e0608cb1f2 100644 --- a/packages/amplify-cli-extensibility-helper/src/types/api/types.ts +++ b/packages/amplify-cli-extensibility-helper/src/types/api/types.ts @@ -1,6 +1,6 @@ -import * as cdk from '@aws-cdk/core'; -import * as apigwCdk from '@aws-cdk/aws-apigateway'; -import * as iamCdk from '@aws-cdk/aws-iam'; +import * as cdk from 'aws-cdk-lib'; +import * as apigwCdk from 'aws-cdk-lib/aws-apigateway'; +import * as iamCdk from 'aws-cdk-lib/aws-iam'; import { $TSAny } from 'amplify-cli-core'; /** diff --git a/packages/amplify-cli-extensibility-helper/src/types/auth/types.ts b/packages/amplify-cli-extensibility-helper/src/types/auth/types.ts index 1d1260dc2a6..be2377b8378 100644 --- a/packages/amplify-cli-extensibility-helper/src/types/auth/types.ts +++ b/packages/amplify-cli-extensibility-helper/src/types/auth/types.ts @@ -1,8 +1,8 @@ -import * as cdk from '@aws-cdk/core'; -import * as s3 from '@aws-cdk/aws-s3'; -import * as iam from '@aws-cdk/aws-iam'; -import * as cognito from '@aws-cdk/aws-cognito'; -import * as lambda from '@aws-cdk/aws-lambda'; +import * as cdk from 'aws-cdk-lib'; +import * as s3 from 'aws-cdk-lib/aws-s3'; +import * as iam from 'aws-cdk-lib/aws-iam'; +import * as cognito from 'aws-cdk-lib/aws-cognito'; +import * as lambda from 'aws-cdk-lib/aws-lambda'; /** * Public API: Base cdk type diff --git a/packages/amplify-cli-extensibility-helper/src/types/project/types.ts b/packages/amplify-cli-extensibility-helper/src/types/project/types.ts index 429f856456f..04100953153 100644 --- a/packages/amplify-cli-extensibility-helper/src/types/project/types.ts +++ b/packages/amplify-cli-extensibility-helper/src/types/project/types.ts @@ -1,5 +1,5 @@ -import * as iam from '@aws-cdk/aws-iam'; -import * as cdk from '@aws-cdk/core'; +import * as iam from 'aws-cdk-lib/aws-iam'; +import * as cdk from 'aws-cdk-lib'; /** * amplify root stack type diff --git a/packages/amplify-cli-extensibility-helper/src/types/storage/types.ts b/packages/amplify-cli-extensibility-helper/src/types/storage/types.ts index 0a59c5a8005..d4cc4d65935 100644 --- a/packages/amplify-cli-extensibility-helper/src/types/storage/types.ts +++ b/packages/amplify-cli-extensibility-helper/src/types/storage/types.ts @@ -1,7 +1,7 @@ -import * as cdk from '@aws-cdk/core'; -import * as ddb from '@aws-cdk/aws-dynamodb'; -import * as s3Cdk from '@aws-cdk/aws-s3'; -import * as iamCdk from '@aws-cdk/aws-iam'; +import * as cdk from 'aws-cdk-lib'; +import * as ddb from 'aws-cdk-lib/aws-dynamodb'; +import * as s3Cdk from 'aws-cdk-lib/aws-s3'; +import * as iamCdk from 'aws-cdk-lib/aws-iam'; /** * PUBLIC API : L1 methods to store CFN gen related information diff --git a/packages/amplify-cli/package.json b/packages/amplify-cli/package.json index 4f8a9796ac2..f2dd865019d 100644 --- a/packages/amplify-cli/package.json +++ b/packages/amplify-cli/package.json @@ -40,7 +40,7 @@ "@aws-amplify/amplify-environment-parameters": "1.1.3", "@aws-amplify/amplify-util-uibuilder": "1.5.0", "@aws-amplify/graphql-auth-transformer": "^2.1.0-cdkv2.1", - "@aws-cdk/cloudformation-diff": "^1.159.0", + "@aws-cdk/cloudformation-diff": "~2.44.0", "amplify-app": "4.3.3", "amplify-category-analytics": "4.1.3", "amplify-category-function": "4.1.3", @@ -265,4 +265,4 @@ } } } -} +} \ No newline at end of file diff --git a/packages/amplify-graphql-migration-tests/package.json b/packages/amplify-graphql-migration-tests/package.json index de9f0d89a79..4abaa3fa8e5 100644 --- a/packages/amplify-graphql-migration-tests/package.json +++ b/packages/amplify-graphql-migration-tests/package.json @@ -63,4 +63,4 @@ "graphql-transformer-core": "^7.6.6", "graphql-versioned-transformer": "^5.2.43" } -} +} \ No newline at end of file diff --git a/packages/amplify-provider-awscloudformation/package.json b/packages/amplify-provider-awscloudformation/package.json index e59d073a943..858b0bcc8a0 100644 --- a/packages/amplify-provider-awscloudformation/package.json +++ b/packages/amplify-provider-awscloudformation/package.json @@ -29,43 +29,20 @@ "@aws-amplify/cli-extensibility-helper": "2.4.3", "@aws-amplify/graphql-transformer-core": "^1.1.0-cdkv2.1", "@aws-amplify/graphql-transformer-interfaces": "^2.1.0-cdkv2.1", - "@aws-cdk/assert": "^1.159.0", - "@aws-cdk/aws-apigatewayv2": "^1.159.0", - "@aws-cdk/aws-autoscaling": "^1.159.0", - "@aws-cdk/aws-cloudwatch": "^1.159.0", - "@aws-cdk/aws-ec2": "^1.159.0", - "@aws-cdk/aws-ecr": "^1.159.0", - "@aws-cdk/aws-ecr-assets": "^1.159.0", - "@aws-cdk/aws-ecs": "^1.159.0", - "@aws-cdk/aws-elasticloadbalancing": "^1.159.0", - "@aws-cdk/aws-elasticloadbalancingv2": "^1.159.0", - "@aws-cdk/aws-events": "^1.159.0", - "@aws-cdk/aws-iam": "^1.159.0", - "@aws-cdk/aws-kms": "^1.159.0", - "@aws-cdk/aws-lambda": "^1.159.0", - "@aws-cdk/aws-logs": "^1.159.0", - "@aws-cdk/aws-route53": "^1.159.0", - "@aws-cdk/aws-s3": "^1.159.0", - "@aws-cdk/aws-s3-assets": "^1.159.0", - "@aws-cdk/aws-secretsmanager": "^1.159.0", - "@aws-cdk/aws-servicediscovery": "^1.159.0", - "@aws-cdk/aws-sns": "^1.159.0", - "@aws-cdk/aws-sqs": "^1.159.0", - "@aws-cdk/core": "^1.159.0", - "@aws-cdk/region-info": "^1.159.0", "amplify-cli-core": "3.2.2", "amplify-cli-logger": "1.2.1", "amplify-codegen": "^3.2.0", "amplify-prompts": "2.6.0", "amplify-util-import": "2.2.36", "archiver": "^5.3.0", + "aws-cdk-lib": "~2.44.0", "aws-sdk": "^2.1233.0", "bottleneck": "2.19.5", "chalk": "^4.1.1", "cloudform": "^4.2.0", "cloudform-types": "^4.2.0", "columnify": "^1.5.4", - "constructs": "^3.3.125", + "constructs": "^10.0.5", "cors": "^2.8.5", "deep-diff": "^1.0.2", "extract-zip": "^2.0.1", @@ -93,7 +70,6 @@ }, "devDependencies": { "@aws-amplify/graphql-transformer-interfaces": "^2.1.0-cdkv2.1", - "@aws-cdk/assertions": "^1.159.0", "@types/columnify": "^1.5.0", "@types/deep-diff": "^1.0.0", "@types/folder-hash": "^4.0.1", @@ -116,4 +92,4 @@ ], "collectCoverage": true } -} +} \ No newline at end of file diff --git a/packages/amplify-provider-awscloudformation/src/__tests__/root-stack-builder/__snapshots__/root-stack-builder.test.ts.snap b/packages/amplify-provider-awscloudformation/src/__tests__/root-stack-builder/__snapshots__/root-stack-builder.test.ts.snap index feebccec663..00f3dc8b566 100644 --- a/packages/amplify-provider-awscloudformation/src/__tests__/root-stack-builder/__snapshots__/root-stack-builder.test.ts.snap +++ b/packages/amplify-provider-awscloudformation/src/__tests__/root-stack-builder/__snapshots__/root-stack-builder.test.ts.snap @@ -129,14 +129,14 @@ Object { } `; -exports[`Check RootStack Template rootstack template generated by constructor 1`] = ` +exports[`Check RootStack Template root stack template generated by constructor 1`] = ` Object { "AWSTemplateFormatVersion": "2010-09-09", "Description": "Root Stack for AWS Amplify CLI", } `; -exports[`Check RootStack Template rootstack template generated by constructor with some parameters 1`] = ` +exports[`Check RootStack Template root stack template generated by constructor with some parameters 1`] = ` Object { "AWSTemplateFormatVersion": "2010-09-09", "Description": "Root Stack for AWS Amplify CLI", diff --git a/packages/amplify-provider-awscloudformation/src/__tests__/root-stack-builder/root-stack-builder.test.ts b/packages/amplify-provider-awscloudformation/src/__tests__/root-stack-builder/root-stack-builder.test.ts index 57d3c8b0d94..c3688047b25 100644 --- a/packages/amplify-provider-awscloudformation/src/__tests__/root-stack-builder/root-stack-builder.test.ts +++ b/packages/amplify-provider-awscloudformation/src/__tests__/root-stack-builder/root-stack-builder.test.ts @@ -1,24 +1,26 @@ -import { SynthUtils } from '@aws-cdk/assert'; -import * as cdk from '@aws-cdk/core'; +import * as cdk from 'aws-cdk-lib'; import { AmplifyRootStack } from '../../root-stack-builder/root-stack-builder'; - -jest.mock('../../root-stack-builder/stack-synthesizer'); +import { RootStackSynthesizer } from '../../root-stack-builder/stack-synthesizer'; describe('Check RootStack Template', () => { beforeEach(() => { jest.clearAllMocks(); }); - test('rootstack template generated by constructor', () => { + test('root stack template generated by constructor', () => { const app = new cdk.App(); - let mocksynth: cdk.IStackSynthesizer; - const stack = new AmplifyRootStack(app, 'rootStack', { synthesizer: mocksynth }); - expect(SynthUtils.toCloudFormation(stack)).toMatchSnapshot(); + const mockSynth = new RootStackSynthesizer(); + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const stack = new AmplifyRootStack(app, 'rootStack', { synthesizer: mockSynth }); + app.synth(); + const templates = mockSynth.collectStacks(); + const cfnRootStack = templates.get('rootStack'); + expect(cfnRootStack).toMatchSnapshot(); }); - test('rootstack template generated by constructor with some parameters', () => { + test('root stack template generated by constructor with some parameters', () => { const app = new cdk.App(); - let mocksynth: cdk.IStackSynthesizer; - const stack = new AmplifyRootStack(app, 'rootStack', { synthesizer: mocksynth }); + const mockSynth = new RootStackSynthesizer(); + const stack = new AmplifyRootStack(app, 'rootStack', { synthesizer: mockSynth }); stack.addCfnParameter( { @@ -46,13 +48,16 @@ describe('Check RootStack Template', () => { }, 'UnauthRoleName', ); - expect(SynthUtils.toCloudFormation(stack)).toMatchSnapshot(); + app.synth(); + const templates = mockSynth.collectStacks(); + const cfnRootStack = templates.get('rootStack'); + expect(cfnRootStack).toMatchSnapshot(); }); test('adding same logicalId parameter should throw error', () => { const app = new cdk.App(); - let mocksynth: cdk.IStackSynthesizer; - const stack = new AmplifyRootStack(app, 'rootStack', { synthesizer: mocksynth }); + const mockSynth = new RootStackSynthesizer(); + const stack = new AmplifyRootStack(app, 'rootStack', { synthesizer: mockSynth }); stack.addCfnParameter( { @@ -63,22 +68,20 @@ describe('Check RootStack Template', () => { 'AuthRoleName', ); - expect(() => - stack.addCfnParameter( - { - type: 'String', - description: 'Name of the common deployment bucket provided by the parent stack', - default: 'AuthRoleName', - }, - 'AuthRoleName', - ), - ).toThrow('Logical Id already exists: AuthRoleName.'); + expect(() => stack.addCfnParameter( + { + type: 'String', + description: 'Name of the common deployment bucket provided by the parent stack', + default: 'AuthRoleName', + }, + 'AuthRoleName', + )).toThrow('Logical Id already exists: AuthRoleName.'); }); - test(' adding two resources with same logicalId throw error', () => { + test('adding two resources with same logicalId throw error', () => { const app = new cdk.App(); - let mocksynth: cdk.IStackSynthesizer; - const stack = new AmplifyRootStack(app, 'rootStack', { synthesizer: mocksynth }); + const mockSynth = new RootStackSynthesizer(); + const stack = new AmplifyRootStack(app, 'rootStack', { synthesizer: mockSynth }); stack.addCfnParameter( { @@ -108,22 +111,20 @@ describe('Check RootStack Template', () => { 'StackName', ); - expect(() => - stack.addCfnOutput( - { - description: 'CloudFormation provider root stack deployment bucket name', - value: cdk.Fn.ref('DeploymentBucketName'), - exportName: cdk.Fn.sub('${AWS::StackName}-DeploymentBucketName'), - }, - 'DeploymentBucketName', - ), - ).toThrow(`There is already a Construct with name 'DeploymentBucketName' in AmplifyRootStack`); + expect(() => stack.addCfnOutput( + { + description: 'CloudFormation provider root stack deployment bucket name', + value: cdk.Fn.ref('DeploymentBucketName'), + exportName: cdk.Fn.sub('${AWS::StackName}-DeploymentBucketName'), + }, + 'DeploymentBucketName', + )).toThrow(`There is already a Construct with name 'DeploymentBucketName' in AmplifyRootStack`); }); test('generates root stack Template', async () => { const app = new cdk.App(); - let mocksynth: cdk.IStackSynthesizer; - const stack = new AmplifyRootStack(app, 'rootStack', { synthesizer: mocksynth }); + const mockSynth = new RootStackSynthesizer(); + const stack = new AmplifyRootStack(app, 'rootStack', { synthesizer: mockSynth }); stack.addCfnParameter( { @@ -195,6 +196,9 @@ describe('Check RootStack Template', () => { ); await stack.generateRootStackResources(); - expect(SynthUtils.toCloudFormation(stack)).toMatchSnapshot(); + app.synth(); + const templates = mockSynth.collectStacks(); + const cfnRootStack = templates.get('rootStack'); + expect(cfnRootStack).toMatchSnapshot(); }); }); diff --git a/packages/amplify-provider-awscloudformation/src/__tests__/utils/consolidate-apigw-policies.test.ts b/packages/amplify-provider-awscloudformation/src/__tests__/utils/consolidate-apigw-policies.test.ts index a94c4570ab5..f3f5f71d349 100644 --- a/packages/amplify-provider-awscloudformation/src/__tests__/utils/consolidate-apigw-policies.test.ts +++ b/packages/amplify-provider-awscloudformation/src/__tests__/utils/consolidate-apigw-policies.test.ts @@ -1,27 +1,25 @@ -import { Capture, Template, Match } from '@aws-cdk/assertions'; -import * as cdk from '@aws-cdk/core'; +import { $TSAny } from 'amplify-cli-core'; +import { Capture, Template, Match } from 'aws-cdk-lib/assertions'; +import * as cdk from 'aws-cdk-lib'; import { cloneDeep } from 'lodash'; - import { ApiGatewayAuthStack, CrudOperation } from '../../utils/consolidate-apigw-policies'; -const generatePolicyDoc = (roleName: string, policy: any, assertionType: 'Presence' | 'Absence' = 'Presence') => { - return { - Roles: [ - { - Ref: roleName, - }, - ], - PolicyDocument: Match.objectLike({ - Statement: Match.arrayWith([ - Match.objectLike({ - Effect: 'Allow', - Action: ['execute-api:Invoke'], - Resource: (assertionType === 'Presence' ? Match.arrayWith : Match.not)([policy]), - }), - ]), - }), - }; -}; +const generatePolicyDoc = (roleName: string, policy: any, assertionType: 'Presence' | 'Absence' = 'Presence'): $TSAny => ({ + Roles: [ + { + Ref: roleName, + }, + ], + PolicyDocument: Match.objectLike({ + Statement: Match.arrayWith([ + Match.objectLike({ + Effect: 'Allow', + Action: ['execute-api:Invoke'], + Resource: (assertionType === 'Presence' ? Match.arrayWith : Match.not)([policy]), + }), + ]), + }), +}); describe('ApiGatewayAuthStack', () => { let policyDocTemplate; @@ -226,20 +224,18 @@ describe('ApiGatewayAuthStack', () => { // The test needs CDK to be updated to 1.140.0 so it can use capture.next. Skipping it for now it('should slice managed role when the size of the policy document exceeds 6K', () => { // create 100 paths - const paths = new Array(100).fill(1).reduce((acc, _, idx) => { - return { - ...acc, - [`/items${idx}`]: { - lambdaFunction: 'myFn1', - name: `/items${idx}`, - permissions: { - settings: 'protected', - auth: [CrudOperation.CREATE, CrudOperation.UPDATE, CrudOperation.DELETE, CrudOperation.READ], - guest: [CrudOperation.READ], - }, + const paths = new Array(100).fill(1).reduce((acc, __, idx) => ({ + ...acc, + [`/items${idx}`]: { + lambdaFunction: 'myFn1', + name: `/items${idx}`, + permissions: { + settings: 'protected', + auth: [CrudOperation.CREATE, CrudOperation.UPDATE, CrudOperation.DELETE, CrudOperation.READ], + guest: [CrudOperation.READ], }, - }; - }, {}); + }, + }), {}); const app = new cdk.App(); diff --git a/packages/amplify-provider-awscloudformation/src/network/stack.ts b/packages/amplify-provider-awscloudformation/src/network/stack.ts index cdfc2bcc1c6..de5e8673690 100644 --- a/packages/amplify-provider-awscloudformation/src/network/stack.ts +++ b/packages/amplify-provider-awscloudformation/src/network/stack.ts @@ -1,10 +1,10 @@ -import * as apigw2 from '@aws-cdk/aws-apigatewayv2'; -import * as ec2 from '@aws-cdk/aws-ec2'; -import * as ecs from '@aws-cdk/aws-ecs'; -import * as discovery from '@aws-cdk/aws-servicediscovery'; -import * as cdk from '@aws-cdk/core'; -import { prepareApp } from '@aws-cdk/core/lib/private/prepare-app'; +import * as apigw2 from 'aws-cdk-lib/aws-apigatewayv2'; +import * as ec2 from 'aws-cdk-lib/aws-ec2'; +import * as ecs from 'aws-cdk-lib/aws-ecs'; +import * as discovery from 'aws-cdk-lib/aws-servicediscovery'; +import * as cdk from 'aws-cdk-lib'; import { $TSAny } from 'amplify-cli-core'; +import { Construct } from 'constructs'; export const RESOURCE_TAG = 'amplify-env'; @@ -22,7 +22,7 @@ export const NETWORK_STACK_LOGICAL_ID = 'NetworkStack'; * Class to generate Network Stack for Amplify API Containers */ export class NetworkStack extends cdk.Stack { - constructor(scope: cdk.Construct, id: string, props: NetworkStackProps) { + constructor(scope: Construct, id: string, props: NetworkStackProps) { super(scope, id); const { @@ -38,15 +38,13 @@ export class NetworkStack extends cdk.Stack { * generates cfn from stack */ toCloudFormation = (): $TSAny => { - prepareApp(this); - const cfn = this._toCloudFormation(); return cfn; } } -const createVpc = (scope: cdk.Construct, vpcId: string, vpcName: string, internetGatewayId: string): $TSAny => { +const createVpc = (scope: Construct, vpcId: string, vpcName: string, internetGatewayId: string): $TSAny => { const vpcCidrBlock = '10.0.0.0/16'; const condition = new cdk.CfnCondition(scope, 'UseNewVpcCondition', { expression: cdk.Fn.conditionAnd(cdk.Fn.conditionEquals(vpcId, ''), cdk.Fn.conditionEquals(internetGatewayId, '')), @@ -97,7 +95,7 @@ const createVpc = (scope: cdk.Construct, vpcId: string, vpcName: string, interne }; }; -const createAmplifyEnv = (scope: cdk.Construct, +const createAmplifyEnv = (scope: Construct, envName: string, vpcId: string, vpcCidrBlock: string, diff --git a/packages/amplify-provider-awscloudformation/src/root-stack-builder/root-stack-builder.ts b/packages/amplify-provider-awscloudformation/src/root-stack-builder/root-stack-builder.ts index c1a1b8fd5aa..b62dbe031d3 100644 --- a/packages/amplify-provider-awscloudformation/src/root-stack-builder/root-stack-builder.ts +++ b/packages/amplify-provider-awscloudformation/src/root-stack-builder/root-stack-builder.ts @@ -1,25 +1,34 @@ -import * as cdk from '@aws-cdk/core'; -import * as s3 from '@aws-cdk/aws-s3'; -import * as iam from '@aws-cdk/aws-iam'; +/* eslint-disable no-new */ +/* eslint-disable max-classes-per-file */ +import * as cdk from 'aws-cdk-lib'; +import * as s3 from 'aws-cdk-lib/aws-s3'; +import * as iam from 'aws-cdk-lib/aws-iam'; import { AmplifyRootStackTemplate } from '@aws-amplify/cli-extensibility-helper'; -import { IStackSynthesizer, ISynthesisSession } from '@aws-cdk/core'; +import { IStackSynthesizer, ISynthesisSession } from 'aws-cdk-lib'; import { amplifyErrorWithTroubleshootingLink, amplifyFaultWithTroubleshootingLink, JSONUtilities } from 'amplify-cli-core'; +import { Construct } from 'constructs'; const CFN_TEMPLATE_FORMAT_VERSION = '2010-09-09'; const ROOT_CFN_DESCRIPTION = 'Root Stack for AWS Amplify CLI'; +/** + * amplify root stack properties + */ export type AmplifyRootStackProps = { synthesizer: IStackSynthesizer; }; +/** + * Construct to generate amplify root stack + */ export class AmplifyRootStack extends cdk.Stack implements AmplifyRootStackTemplate { - _scope: cdk.Construct; + _scope: Construct; deploymentBucket: s3.CfnBucket; authRole: iam.CfnRole; unauthRole: iam.CfnRole; private _cfnParameterMap: Map = new Map(); - constructor(scope: cdk.Construct, id: string, props: AmplifyRootStackProps) { + constructor(scope: Construct, id: string, props: AmplifyRootStackProps) { super(scope, id, props); this._scope = scope; this.templateOptions.templateFormatVersion = CFN_TEMPLATE_FORMAT_VERSION; @@ -27,45 +36,35 @@ export class AmplifyRootStack extends cdk.Stack implements AmplifyRootStackTempl } /** - * - * @param props :cdk.CfnOutputProps - * @param logicalId: : lodicalId of the Resource + * adds cfn output to stack */ addCfnOutput(props: cdk.CfnOutputProps, logicalId: string): void { new cdk.CfnOutput(this, logicalId, props); } /** - * - * @param props - * @param logicalId + * adds cfn mapping to stack */ addCfnMapping(props: cdk.CfnMappingProps, logicalId: string): void { new cdk.CfnMapping(this, logicalId, props); } /** - * - * @param props - * @param logicalId + * adds cfn condition to stack */ addCfnCondition(props: cdk.CfnConditionProps, logicalId: string): void { new cdk.CfnCondition(this, logicalId, props); } /** - * - * @param props - * @param logicalId + * adds cfn resource to stack */ addCfnResource(props: cdk.CfnResourceProps, logicalId: string): void { new cdk.CfnResource(this, logicalId, props); } /** - * - * @param props - * @param logicalId + * adds cfn parameter to stack */ addCfnParameter(props: cdk.CfnParameterProps, logicalId: string): void { if (this._cfnParameterMap.has(logicalId)) { @@ -76,6 +75,9 @@ export class AmplifyRootStack extends cdk.Stack implements AmplifyRootStackTempl this._cfnParameterMap.set(logicalId, new cdk.CfnParameter(this, logicalId, props)); } + /** + * return cfn parameter with given logicalID + */ getCfnParameter(logicalId: string): cdk.CfnParameter { if (this._cfnParameterMap.has(logicalId)) { return this._cfnParameterMap.get(logicalId); @@ -85,7 +87,7 @@ export class AmplifyRootStack extends cdk.Stack implements AmplifyRootStackTempl }); } - generateRootStackResources = async () => { + generateRootStackResources = async (): Promise => { this.deploymentBucket = new s3.CfnBucket(this, 'DeploymentBucket', { bucketName: this._cfnParameterMap.get('DeploymentBucketName').valueAsString, }); @@ -129,47 +131,60 @@ export class AmplifyRootStack extends cdk.Stack implements AmplifyRootStackTempl /** * add Function for Custom Resource in Root stack - * @param __ - * @returns */ public renderCloudFormationTemplate = (__: ISynthesisSession): string => JSONUtilities.stringify(this._toCloudFormation()); } /** - * additional class to merge CFN parameters and CFN outputs as cdk doesnt allow same logical ID of constructs in same stack + * additional class to merge CFN parameters and CFN outputs as cdk doesn't allow same logical ID of constructs in same stack */ export class AmplifyRootStackOutputs extends cdk.Stack implements AmplifyRootStackTemplate { - constructor(scope: cdk.Construct, id: string, props: AmplifyRootStackProps) { - super(scope, id, props); - } - deploymentBucket?: s3.CfnBucket; authRole?: iam.CfnRole; unauthRole?: iam.CfnRole; - addCfnParameter(props: cdk.CfnParameterProps, logicalId: string): void { + /** + * adds cfn parameter to stack + */ + // eslint-disable-next-line class-methods-use-this + addCfnParameter(): void { throw amplifyFaultWithTroubleshootingLink('NotImplementedFault', { message: 'Method not implemented.', }); } + /** + * adds cfn output to stack + */ addCfnOutput(props: cdk.CfnOutputProps, logicalId: string): void { new cdk.CfnOutput(this, logicalId, props); } - addCfnMapping(props: cdk.CfnMappingProps, logicalId: string): void { + /** + * adds cfn mapping to stack + */ + // eslint-disable-next-line class-methods-use-this + addCfnMapping(): void { throw amplifyFaultWithTroubleshootingLink('NotImplementedFault', { message: 'Method not implemented.', }); } - addCfnCondition(props: cdk.CfnConditionProps, logicalId: string): void { + /** + * adds cfn condition to stack + */ + // eslint-disable-next-line class-methods-use-this + addCfnCondition(): void { throw amplifyFaultWithTroubleshootingLink('NotImplementedFault', { message: 'Method not implemented.', }); } - addCfnResource(props: cdk.CfnResourceProps, logicalId: string): void { + /** + * adds cfn resource to stack + */ + // eslint-disable-next-line class-methods-use-this + addCfnResource(): void { throw amplifyFaultWithTroubleshootingLink('NotImplementedFault', { message: 'Method not implemented.', }); diff --git a/packages/amplify-provider-awscloudformation/src/root-stack-builder/root-stack-transform.ts b/packages/amplify-provider-awscloudformation/src/root-stack-builder/root-stack-transform.ts index 3cc8175fdde..d2c982cfbcb 100644 --- a/packages/amplify-provider-awscloudformation/src/root-stack-builder/root-stack-transform.ts +++ b/packages/amplify-provider-awscloudformation/src/root-stack-builder/root-stack-transform.ts @@ -1,5 +1,5 @@ import { AmplifyRootStackTemplate } from '@aws-amplify/cli-extensibility-helper'; -import * as cdk from '@aws-cdk/core'; +import * as cdk from 'aws-cdk-lib'; import { $TSContext, amplifyFaultWithTroubleshootingLink, buildOverrideDir, CFNTemplateFormat, pathManager, Template, writeCFNTemplate, } from 'amplify-cli-core'; diff --git a/packages/amplify-provider-awscloudformation/src/root-stack-builder/stack-synthesizer.ts b/packages/amplify-provider-awscloudformation/src/root-stack-builder/stack-synthesizer.ts index dfaef54abba..ca8b8ad4eeb 100644 --- a/packages/amplify-provider-awscloudformation/src/root-stack-builder/stack-synthesizer.ts +++ b/packages/amplify-provider-awscloudformation/src/root-stack-builder/stack-synthesizer.ts @@ -1,4 +1,4 @@ -import { ISynthesisSession, LegacyStackSynthesizer, Stack } from '@aws-cdk/core'; +import { ISynthesisSession, LegacyStackSynthesizer, Stack } from 'aws-cdk-lib'; import { amplifyFaultWithTroubleshootingLink, JSONUtilities, Template } from 'amplify-cli-core'; import { AmplifyRootStack, AmplifyRootStackOutputs } from './root-stack-builder'; diff --git a/packages/amplify-provider-awscloudformation/src/utils/consolidate-apigw-policies.ts b/packages/amplify-provider-awscloudformation/src/utils/consolidate-apigw-policies.ts index 515b791bc6b..3259db3ea38 100644 --- a/packages/amplify-provider-awscloudformation/src/utils/consolidate-apigw-policies.ts +++ b/packages/amplify-provider-awscloudformation/src/utils/consolidate-apigw-policies.ts @@ -1,6 +1,7 @@ -import * as iam from '@aws-cdk/aws-iam'; -import * as cdk from '@aws-cdk/core'; -import { prepareApp } from '@aws-cdk/core/lib/private/prepare-app'; +/* eslint-disable no-param-reassign */ +/* eslint-disable no-new */ +import * as iam from 'aws-cdk-lib/aws-iam'; +import * as cdk from 'aws-cdk-lib'; import { $TSAny, $TSContext, @@ -11,6 +12,7 @@ import { pathManager, stateManager, } from 'amplify-cli-core'; +import { Construct } from 'constructs'; import * as fs from 'fs-extra'; import * as path from 'path'; import { ProviderName } from '../constants'; @@ -63,8 +65,11 @@ const S3_UPLOAD_PATH = `${AmplifyCategories.API}/${APIGW_AUTH_STACK_LOGICAL_ID}. const AUTH_ROLE_NAME = 'authRoleName'; const UNAUTH_ROLE_NAME = 'unauthRoleName'; +/** + * API Gateway Stack class + */ export class ApiGatewayAuthStack extends cdk.Stack { - constructor(scope: cdk.Construct, id: string, props: ApiGatewayAuthStackProps) { + constructor(scope: Construct, id: string, props: ApiGatewayAuthStackProps) { super(scope, id, props); this.templateOptions.templateFormatVersion = CFN_TEMPLATE_FORMAT_VERSION; @@ -137,14 +142,19 @@ export class ApiGatewayAuthStack extends cdk.Stack { }); } - toCloudFormation() { - prepareApp(this); + /** + * generates cfn from stack + */ + toCloudFormation(): $TSAny { return this._toCloudFormation(); } - private createPoliciesFromResources(options: ApiGatewayPolicyCreationState) { - const { apiRef, env, roleName, path, methods, namePrefix, envName } = options; - const apiPath = String(path.name).replace(/{[a-zA-Z0-9\-]+}/g, '*'); + private createPoliciesFromResources(options: ApiGatewayPolicyCreationState): $TSAny { + const { + // eslint-disable-next-line @typescript-eslint/no-shadow + apiRef, env, roleName, path, methods, namePrefix, envName, + } = options; + const apiPath = String(path.name).replace(/{[a-zA-Z0-9-]+}/g, '*'); methods.forEach((method: string) => { const policySizeIncrease = computePolicySizeIncrease(envName.length, method.length, apiPath.length); @@ -167,47 +177,50 @@ export class ApiGatewayAuthStack extends cdk.Stack { } } -function createManagedPolicy(stack: cdk.Stack, policyName: string, roleName: string): iam.CfnManagedPolicy { - return new iam.CfnManagedPolicy(stack, policyName, { - roles: [roleName], - policyDocument: { - Version: '2012-10-17', - Statement: [{ Effect: 'Allow', Action: ['execute-api:Invoke'], Resource: [] }], - }, - }); -} - -function createApiResource(regionRef, accountRef, apiNameRef, envRef, method: string, apiPath: string) { - return cdk.Fn.join('', [ - 'arn:aws:execute-api:', - regionRef, - ':', - accountRef, - ':', - apiNameRef, - '/', +const createManagedPolicy = (stack: cdk.Stack, + policyName: string, roleName: string): iam.CfnManagedPolicy => new iam.CfnManagedPolicy(stack, policyName, { + roles: [roleName], + policyDocument: { + Version: '2012-10-17', + Statement: [{ Effect: 'Allow', Action: ['execute-api:Invoke'], Resource: [] }], + }, +}); + +const createApiResource = (regionRef, + accountRef, + apiNameRef, + envRef, + method: string, apiPath: string): string => cdk.Fn.join('', [ + 'arn:aws:execute-api:', + regionRef, + ':', + accountRef, + ':', + apiNameRef, + '/', cdk.Fn.conditionIf('ShouldNotCreateEnvResources', 'Prod', envRef) as unknown as string, method, apiPath, - ]); -} - -function computePolicySizeIncrease(stageLength: number, methodLength: number, pathLength: number): number { - // example: - // 1 2 3 4 5 6 7 8 - // 12345678901234567890123456789012345678901234567890123456789012345678901234567890 - // "arn:aws:execute-api:us-west-1:032500605820:hjrmfzed5l/dev/PATCH/bbb-p03/*", - // - // Each path + HTTP method increases the policy size by roughly: - // - 2 * 64 chars for arn, wildcards, path separators, quotes and comma (region is calculated with 16 max length) - // - 2 * the length of the stage length (amplify env name) - // - 2 * the length of the method length - // - 2 * the length of the path length - - return 2 * (64 + stageLength + methodLength + pathLength); -} - -export async function consolidateApiGatewayPolicies(context: $TSContext, stackName: string): Promise<$TSObject> { +]); +// example: +// 1 2 3 4 5 6 7 8 +// 12345678901234567890123456789012345678901234567890123456789012345678901234567890 +// eslint-disable-next-line spellcheck/spell-checker +// "arn:aws:execute-api:us-west-1:032500605820:hjrmfzed5l/dev/PATCH/bbb-p03/*", +// +// Each path + HTTP method increases the policy size by roughly: +// eslint-disable-next-line spellcheck/spell-checker +// - 2 * 64 chars for arn, wildcards, path separators, quotes and comma (region is calculated with 16 max length) +// - 2 * the length of the stage length (amplify env name) +// - 2 * the length of the method length +// - 2 * the length of the path length +const computePolicySizeIncrease = (stageLength: number, + methodLength: number, pathLength: number): number => 2 * (64 + stageLength + methodLength + pathLength); + +/** + * consolidate api gateway policies + */ +export const consolidateApiGatewayPolicies = async (context: $TSContext, stackName: string): Promise<$TSObject> => { const apiGateways = []; const meta = stateManager.getMeta(); const envInfo = stateManager.getLocalEnvInfo(); @@ -225,15 +238,20 @@ export async function consolidateApiGatewayPolicies(context: $TSContext, stackNa try { const cfnPath = path.join(pathManager.getBackendDirPath(), AmplifyCategories.API, `${APIGW_AUTH_STACK_LOGICAL_ID}.json`); fs.unlinkSync(cfnPath); - } catch {} + } catch { + // noop + } if (apiGateways.length === 0) { return { APIGatewayAuthURL: undefined }; } return { APIGatewayAuthURL: createApiGatewayAuthResources(stackName, apiGateways, envInfo.envName) }; -} +}; +/** + * CRUD operation type + */ export enum CrudOperation { CREATE = 'create', READ = 'read', @@ -241,7 +259,7 @@ export enum CrudOperation { DELETE = 'delete', } -function convertCrudOperationsToPermissions(crudOps: CrudOperation[]) { +const convertCrudOperationsToPermissions = (crudOps: CrudOperation[]): string[] => { const opMap: Record = { [CrudOperation.CREATE]: ['/POST'], [CrudOperation.READ]: ['/GET'], @@ -251,9 +269,9 @@ function convertCrudOperationsToPermissions(crudOps: CrudOperation[]) { const possibleMethods = Object.values(opMap).flat(); const methods = crudOps.flatMap(op => opMap[op]); return possibleMethods.every(m => methods.includes(m)) ? ['/*'] : methods; -} +}; -function createApiGatewayAuthResources(stackName: string, apiGateways: $TSAny, envName: string): string | undefined { +const createApiGatewayAuthResources = (stackName: string, apiGateways: $TSAny, envName: string): string | undefined => { const stack = new ApiGatewayAuthStack(undefined, 'Amplify', { description: 'API Gateway policy stack created using Amplify CLI', stackName, @@ -270,10 +288,14 @@ function createApiGatewayAuthResources(stackName: string, apiGateways: $TSAny, e JSONUtilities.writeJson(cfnPath, cfn); + // eslint-disable-next-line consistent-return return `https://s3.amazonaws.com/${DeploymentBucketName}/amplify-cfn-templates/${S3_UPLOAD_PATH}`; -} +}; -export async function loadApiCliInputs(context: $TSContext, resourceName: string, resource: $TSObject): Promise<$TSObject | undefined> { +/** + * load api cli inputs + */ +export const loadApiCliInputs = async (context: $TSContext, resourceName: string, resource: $TSObject): Promise<$TSObject | undefined> => { if (resource.providerPlugin !== ProviderName || resource.service !== AmplifySupportedService.APIGW || resourceName === 'AdminQueries') { return undefined; } @@ -294,6 +316,7 @@ export async function loadApiCliInputs(context: $TSContext, resourceName: string context, AmplifyCategories.API, AmplifySupportedService.APIGW, + // eslint-disable-next-line spellcheck/spell-checker 'convertDeperecatedRestApiPaths', [deprecatedParamsFileName, deprecatedParamsFilePath, resourceName], ), @@ -303,8 +326,7 @@ export async function loadApiCliInputs(context: $TSContext, resourceName: string } return stateManager.getResourceInputsJson(projectRoot, AmplifyCategories.API, resourceName, { throwIfNotExist: false }); -} - -const appendToUrlPath = (path: string, postfix: string) => { - return path.charAt(path.length - 1) === '/' ? `${path}${postfix}` : `${path}/${postfix}`; }; + +// eslint-disable-next-line @typescript-eslint/no-shadow +const appendToUrlPath = (path: string, postfix: string): string => (path.charAt(path.length - 1) === '/' ? `${path}${postfix}` : `${path}/${postfix}`); diff --git a/yarn.lock b/yarn.lock index ac41543584e..fb1bb57a5d5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -517,36 +517,6 @@ dependencies: "@aws-amplify/core" "4.3.11" -"@aws-cdk/assert@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assert/-/assert-1.172.0.tgz#08c6136f96ce55687ce596bea5603a65385935d1" - integrity sha512-ZUdQ2H2nr825D/NSwigZzMenDUjiaSSf82GypF0WI3KUX2pr1ZqqlRz6DX52xp5NFqwRJ6g8YJ//MT4s8BYzHQ== - dependencies: - "@aws-cdk/cloudformation-diff" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/cx-api" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/assertions@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assertions/-/assertions-1.172.0.tgz#07d84ab2cac4899fca121a8a454d50836695962a" - integrity sha512-YYMdTifd/oxM+65tvWBxquoZ55RI+WJVuggdDSZNZi1/cAZk2OkEtJX0WmVniLguMBuqlPixV5dTdUUWQoP7tg== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/cx-api" "1.172.0" - constructs "^3.3.69" - fs-extra "^9.1.0" - -"@aws-cdk/assets@1.172.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.172.0.tgz#fdcc648d0e997ff74457cac1e7a9a556044350a1" - integrity sha512-puK+JhUQRC5Vn04yvJDa4zl0cliEoFFXpqNdSpIrik6MUM/3Egk6pEUskgmHZoLXzspATHDl/L9NbxEiXim3zw== - dependencies: - "@aws-cdk/core" "1.172.0" - "@aws-cdk/cx-api" "1.172.0" - constructs "^3.3.69" - "@aws-cdk/assets@1.177.0": version "1.177.0" resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.177.0.tgz#bc9ca5e72cd43702db03dd7ae102b50df885cb94" @@ -556,63 +526,11 @@ "@aws-cdk/cx-api" "1.177.0" constructs "^3.3.69" -"@aws-cdk/aws-acmpca@1.172.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-acmpca/-/aws-acmpca-1.172.0.tgz#1f2d45682f84d6d90a502c0cff32b121a985dac1" - integrity sha512-oHoUOW2dHc7nzuEtYyP1ox9/y4UEeMwC7JrBgwL1CCVe9bpsN2digq1+usCkz+csPQtkiqQyfHMnmuAgY+V1xw== - dependencies: - "@aws-cdk/core" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/aws-apigateway@1.172.0", "@aws-cdk/aws-apigateway@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigateway/-/aws-apigateway-1.172.0.tgz#86563deb3b6d6a303ab0736995149451e22d4eb7" - integrity sha512-4oUeDBNfurGJ+aVWmQq3CZ4+bBlJD8CJNwZppC9tBeRSYb8jA4CsS5Y5HT8u/2eS0Yf9+KrVxyXWejAv8SSe8Q== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.172.0" - "@aws-cdk/aws-cloudwatch" "1.172.0" - "@aws-cdk/aws-cognito" "1.172.0" - "@aws-cdk/aws-ec2" "1.172.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-lambda" "1.172.0" - "@aws-cdk/aws-logs" "1.172.0" - "@aws-cdk/aws-s3" "1.172.0" - "@aws-cdk/aws-s3-assets" "1.172.0" - "@aws-cdk/aws-stepfunctions" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/cx-api" "1.172.0" - constructs "^3.3.69" - "@aws-cdk/aws-apigatewayv2-alpha@~2.44.0-alpha.0": version "2.44.0-alpha.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2-alpha/-/aws-apigatewayv2-alpha-2.44.0-alpha.0.tgz#89f6af3427bdaa72d2b0f78384acda6469eaaf68" integrity sha512-hQGYHa8OhgEQWKj6wNd7I+bOdXANu9RiWMNOyBJszZEo7v0rmUGQA02FtSOnG0jTsoiiSbKuGPkvMR3Us2OGwQ== -"@aws-cdk/aws-apigatewayv2@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2/-/aws-apigatewayv2-1.172.0.tgz#05ff2a8e1cfe944ad14bcc6d088e9d86f2656a45" - integrity sha512-fASPEkb9vZMM3BjpGVgizAgKEvn1guZ8UhbL9qVE+pFIl2rWjJo4nWYKJgCgJrlURWop33p+4uIzMv2CH8ddiA== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.172.0" - "@aws-cdk/aws-cloudwatch" "1.172.0" - "@aws-cdk/aws-ec2" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-s3" "1.172.0" - "@aws-cdk/core" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/aws-applicationautoscaling@1.172.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.172.0.tgz#8aef841161f95dd4ec991a2bb9c8beb50c09fd9b" - integrity sha512-boVy0BIUAMqY/mNHkp/X1iJCSSBkGbe2oDZg/AzfzXPFlpfiRuV5EASLQDHg65HnrtDWRbVEgyfTHgbFa+uiXg== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.172.0" - "@aws-cdk/aws-cloudwatch" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/core" "1.172.0" - constructs "^3.3.69" - "@aws-cdk/aws-applicationautoscaling@1.177.0": version "1.177.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.177.0.tgz#1861a6ec771a709214ae9c6942eec60146897d3d" @@ -629,34 +547,6 @@ resolved "https://registry.yarnpkg.com/@aws-cdk/aws-appsync-alpha/-/aws-appsync-alpha-2.44.0-alpha.0.tgz#a41ec46c28ce95a34e0eb79c033dd0cc17dd59b6" integrity sha512-lapIZMKZQJVB6z56IIFJd3DMOue5UxBWNtOiRUaqdIXJ/dh2+CLudCPQAeno1y6JoGZTuhK0SG8absSCEfmrWw== -"@aws-cdk/aws-appsync@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-appsync/-/aws-appsync-1.172.0.tgz#f54365c1e8814b7b221dbf6cc00b5841e1e3614e" - integrity sha512-eWzMQyZMk6mCko3ToHTnsl2yGR/Tvx6UxsVidEP6HxdLE/DBTyYUENqK0h29q6OTxThtyq3oMTGXKCu/Egg7+g== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.172.0" - "@aws-cdk/aws-cognito" "1.172.0" - "@aws-cdk/aws-dynamodb" "1.172.0" - "@aws-cdk/aws-ec2" "1.172.0" - "@aws-cdk/aws-elasticsearch" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-lambda" "1.172.0" - "@aws-cdk/aws-opensearchservice" "1.172.0" - "@aws-cdk/aws-rds" "1.172.0" - "@aws-cdk/aws-s3-assets" "1.172.0" - "@aws-cdk/aws-secretsmanager" "1.172.0" - "@aws-cdk/core" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/aws-autoscaling-common@1.172.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.172.0.tgz#77a7335de7be102e0ed3212f434319ae1a04663d" - integrity sha512-DH5fVJTKlRgTIAdydBNPfjfKJOwXkzwSwe3y66+34u/FiX9hsd6Nv89HVsU2SaufKE6FPU1j/C4fppwKr+MZOg== - dependencies: - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/core" "1.172.0" - constructs "^3.3.69" - "@aws-cdk/aws-autoscaling-common@1.177.0": version "1.177.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.177.0.tgz#cf4c702d7b1c283b8b52dcd90fa418ef62ca95d4" @@ -666,80 +556,7 @@ "@aws-cdk/core" "1.177.0" constructs "^3.3.69" -"@aws-cdk/aws-autoscaling-hooktargets@1.172.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-hooktargets/-/aws-autoscaling-hooktargets-1.172.0.tgz#2fd8d2812f3f79d4e02a1747fd9b666e652180b4" - integrity sha512-sAXhB3iAe+ggRad3PyapRDwdh8jKKU6KG+GSkC7cS8qOlfy376chXPMbteEiDEBChkUVepAPlW3OUgJjqlko2w== - dependencies: - "@aws-cdk/aws-autoscaling" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-kms" "1.172.0" - "@aws-cdk/aws-lambda" "1.172.0" - "@aws-cdk/aws-sns" "1.172.0" - "@aws-cdk/aws-sns-subscriptions" "1.172.0" - "@aws-cdk/aws-sqs" "1.172.0" - "@aws-cdk/core" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/aws-autoscaling@1.172.0", "@aws-cdk/aws-autoscaling@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling/-/aws-autoscaling-1.172.0.tgz#d9af4fc6d6780dfc6508f417423e7062ddd3db0c" - integrity sha512-oX47vyILwCiKF8H+5a6s5icT/nlrFqbWuH59zqfksApnnJgrSN8teElXRvQtZ+faUB2fQBaOzYnk5I//qXph8g== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.172.0" - "@aws-cdk/aws-cloudwatch" "1.172.0" - "@aws-cdk/aws-ec2" "1.172.0" - "@aws-cdk/aws-elasticloadbalancing" "1.172.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-sns" "1.172.0" - "@aws-cdk/core" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/aws-certificatemanager@1.172.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.172.0.tgz#e7f06ce4b941f673da0dd4d8ff22a3a24d26f3b0" - integrity sha512-vM1cDAx/blcoF4NUa8IfQikKE1TLwvV+jk7H7EWVhNvbvGF0fXROa4mM7HzdxnK19rphziKf8pXJh0IdGZXiAQ== - dependencies: - "@aws-cdk/aws-acmpca" "1.172.0" - "@aws-cdk/aws-cloudwatch" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-lambda" "1.172.0" - "@aws-cdk/aws-route53" "1.172.0" - "@aws-cdk/core" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/aws-cloudformation@1.172.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.172.0.tgz#1ac855fa3a629d27084fdcf854a4bc356a434abf" - integrity sha512-P1JFsQucUPpKiDpysz7NjZoneAHQPfe2noV6J386oqTg3wO/DJm19JuD23fYyih2M6gak/vMP6KGzVND63Tb/w== - dependencies: - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-lambda" "1.172.0" - "@aws-cdk/aws-s3" "1.172.0" - "@aws-cdk/aws-sns" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/cx-api" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/aws-cloudfront@1.172.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudfront/-/aws-cloudfront-1.172.0.tgz#466c46bc5d753463c8110a43e41cf699a8342462" - integrity sha512-gtf+jr5aWBr1lQDVry+MaFBWjdQTR0Sw8+35OpcyorBkbqcun8rws9hBH422gBJbGHsy0rA1pFRRHzrUKO9DMA== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.172.0" - "@aws-cdk/aws-cloudwatch" "1.172.0" - "@aws-cdk/aws-ec2" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-kms" "1.172.0" - "@aws-cdk/aws-lambda" "1.172.0" - "@aws-cdk/aws-s3" "1.172.0" - "@aws-cdk/aws-ssm" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/cx-api" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/aws-cloudwatch@1.172.0", "@aws-cdk/aws-cloudwatch@^1.159.0": +"@aws-cdk/aws-cloudwatch@1.172.0": version "1.172.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.172.0.tgz#125b197a2b5497e5519e8963f710a2f4371feffc" integrity sha512-Sk/LUDfZyK9tAjvqLimTFZ7Bt9V9lt0ax66WxofdkFWzta+6T8Gsw+Y02NYcsTKl5OVKJocZErXiYkZichwRwA== @@ -757,15 +574,6 @@ "@aws-cdk/core" "1.177.0" constructs "^3.3.69" -"@aws-cdk/aws-codeguruprofiler@1.172.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.172.0.tgz#2ec699d1e9ec12082edb37fd60722b35e5fd82b1" - integrity sha512-PhYyNC2dh1bNVAm8xcK/2pgIzwv9tftzuPLqmTkTRnCgEBgOCUbc1TGKwztFW7WXsa/YaIt1Tsi78fJpqAg7WA== - dependencies: - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/core" "1.172.0" - constructs "^3.3.69" - "@aws-cdk/aws-codeguruprofiler@1.177.0": version "1.177.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.177.0.tgz#d1c86cdef01b79ee83c8d310b8b7274478b9132f" @@ -791,53 +599,6 @@ "@aws-cdk/core" "1.177.0" constructs "^3.3.69" -"@aws-cdk/aws-cognito@1.172.0", "@aws-cdk/aws-cognito@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cognito/-/aws-cognito-1.172.0.tgz#8cadd83d52bbcd8cc588ad281c9cc6efdafc132c" - integrity sha512-Owq17lrFsTk5SHt9szc1y406cXlBPshBwkpGgGCpzm9nnCVlOR72Swfp1BRSemYt8IlObS8lxlz1vgCus+qqhw== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-kms" "1.172.0" - "@aws-cdk/aws-lambda" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/custom-resources" "1.172.0" - constructs "^3.3.69" - punycode "^2.1.1" - -"@aws-cdk/aws-dynamodb@1.172.0", "@aws-cdk/aws-dynamodb@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.172.0.tgz#78aefd44fc3bad996092b5a43b2ae05aedefdcc3" - integrity sha512-xuEPPJYMDZDonzQfSGUqsPeUpfQeBrp1OipqSTjDMXPagHDvn2ewiM7tniLPVYTdMN/9Fci5UnIUtZHxrXEXrQ== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.172.0" - "@aws-cdk/aws-cloudwatch" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-kinesis" "1.172.0" - "@aws-cdk/aws-kms" "1.172.0" - "@aws-cdk/aws-lambda" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/custom-resources" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/aws-ec2@1.172.0", "@aws-cdk/aws-ec2@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.172.0.tgz#e10ed2cc050d2ab03ad23ba705349cf89693b7f2" - integrity sha512-rBDxpCDm9m9Fuq6+o7Bblkhj2hVEzlh1NDt8tAV/cVncy+ywZGOx7kjELjAFoj2h4e+XS8QS4QLfQT/mFUYccA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-kms" "1.172.0" - "@aws-cdk/aws-logs" "1.172.0" - "@aws-cdk/aws-s3" "1.172.0" - "@aws-cdk/aws-s3-assets" "1.172.0" - "@aws-cdk/aws-ssm" "1.172.0" - "@aws-cdk/cloud-assembly-schema" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/cx-api" "1.172.0" - "@aws-cdk/region-info" "1.172.0" - constructs "^3.3.69" - "@aws-cdk/aws-ec2@1.177.0": version "1.177.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.177.0.tgz#2914f7a613ebe78c3488439bbf654b58abf5d510" @@ -856,19 +617,6 @@ "@aws-cdk/region-info" "1.177.0" constructs "^3.3.69" -"@aws-cdk/aws-ecr-assets@1.172.0", "@aws-cdk/aws-ecr-assets@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr-assets/-/aws-ecr-assets-1.172.0.tgz#3cb2b544fe38a868bed6826ceea90d4302ed4260" - integrity sha512-pM3V3WUfp7HAHx162HmEuu/6vdmTfkQFiDYd5kybkwFPPomnW4VgfrN1BH/OTkjZvkXh89Q5YkoDMsXac3cFzg== - dependencies: - "@aws-cdk/assets" "1.172.0" - "@aws-cdk/aws-ecr" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-s3" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/cx-api" "1.172.0" - constructs "^3.3.69" - "@aws-cdk/aws-ecr-assets@1.177.0": version "1.177.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr-assets/-/aws-ecr-assets-1.177.0.tgz#299fc8dec448e00611b8a139b2a606957f6b5970" @@ -882,17 +630,6 @@ "@aws-cdk/cx-api" "1.177.0" constructs "^3.3.69" -"@aws-cdk/aws-ecr@1.172.0", "@aws-cdk/aws-ecr@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr/-/aws-ecr-1.172.0.tgz#6351185f1a99b4c7cad1046b532a34d69cd3cc79" - integrity sha512-WrvUzK/KmDEScgBBgIr7MWNsDePqNtDHQoukkgSyTzoMqU4Kyr9hAAd13A4msE0HNHC5sUBijVtmHoQKgbBRwg== - dependencies: - "@aws-cdk/aws-events" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-kms" "1.172.0" - "@aws-cdk/core" "1.172.0" - constructs "^3.3.69" - "@aws-cdk/aws-ecr@1.177.0": version "1.177.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr/-/aws-ecr-1.177.0.tgz#d7a2459e373a1a812f355c696ce0476f1c13a6d9" @@ -904,51 +641,6 @@ "@aws-cdk/core" "1.177.0" constructs "^3.3.69" -"@aws-cdk/aws-ecs@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecs/-/aws-ecs-1.172.0.tgz#5cf5c33a86cd3eda7c2a28e0727ffed876b09bb6" - integrity sha512-gdx3fPacQrc2SVEZKQqa5iWgC/iBpaM5hoFicCvmjALR36g32Tdky+zc0Sq/muY9luZJGJcJd1tBdL6gP0gomw== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.172.0" - "@aws-cdk/aws-autoscaling" "1.172.0" - "@aws-cdk/aws-autoscaling-hooktargets" "1.172.0" - "@aws-cdk/aws-certificatemanager" "1.172.0" - "@aws-cdk/aws-cloudwatch" "1.172.0" - "@aws-cdk/aws-ec2" "1.172.0" - "@aws-cdk/aws-ecr" "1.172.0" - "@aws-cdk/aws-ecr-assets" "1.172.0" - "@aws-cdk/aws-elasticloadbalancing" "1.172.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-kms" "1.172.0" - "@aws-cdk/aws-lambda" "1.172.0" - "@aws-cdk/aws-logs" "1.172.0" - "@aws-cdk/aws-route53" "1.172.0" - "@aws-cdk/aws-route53-targets" "1.172.0" - "@aws-cdk/aws-s3" "1.172.0" - "@aws-cdk/aws-s3-assets" "1.172.0" - "@aws-cdk/aws-secretsmanager" "1.172.0" - "@aws-cdk/aws-servicediscovery" "1.172.0" - "@aws-cdk/aws-sns" "1.172.0" - "@aws-cdk/aws-sqs" "1.172.0" - "@aws-cdk/aws-ssm" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/cx-api" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/aws-efs@1.172.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.172.0.tgz#8e8a8279478a99691a3d493fd069acef873877c9" - integrity sha512-8AB+RctnukmL4VixvC54wEe68LacagB436tUUHUkdRZwSbQxHhtwJUoDIjXrUX0zk1r6j0VbhzGbitiiWUnLtA== - dependencies: - "@aws-cdk/aws-ec2" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-kms" "1.172.0" - "@aws-cdk/cloud-assembly-schema" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/cx-api" "1.172.0" - constructs "^3.3.69" - "@aws-cdk/aws-efs@1.177.0": version "1.177.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.177.0.tgz#860cac37a5144458cc9d1f5e4372badaceec4113" @@ -962,51 +654,7 @@ "@aws-cdk/cx-api" "1.177.0" constructs "^3.3.69" -"@aws-cdk/aws-elasticloadbalancing@1.172.0", "@aws-cdk/aws-elasticloadbalancing@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancing/-/aws-elasticloadbalancing-1.172.0.tgz#3b09fd31ea5e4fd8819accf38b1f966521fde15e" - integrity sha512-LCxRr+J3kWHMEQeATiacFn73Nwi0cwui7LeA9BWzp7y/S9QgJwU1sQ10sBMrJXlvkUeLQiPqnRKhXqoYlaPbbQ== - dependencies: - "@aws-cdk/aws-ec2" "1.172.0" - "@aws-cdk/core" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/aws-elasticloadbalancingv2@1.172.0", "@aws-cdk/aws-elasticloadbalancingv2@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancingv2/-/aws-elasticloadbalancingv2-1.172.0.tgz#8ada576876c328ea4023a8dea666731fbb03e4df" - integrity sha512-Noiw9JzuHEhHlS5hUjo6O7nKa0mnEPwGr56W6zC1ToDs2M3cJsETMNblqEr1HqyI8yKJzQEdXo+yjTKDKkJcfw== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.172.0" - "@aws-cdk/aws-cloudwatch" "1.172.0" - "@aws-cdk/aws-ec2" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-lambda" "1.172.0" - "@aws-cdk/aws-route53" "1.172.0" - "@aws-cdk/aws-s3" "1.172.0" - "@aws-cdk/cloud-assembly-schema" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/cx-api" "1.172.0" - "@aws-cdk/region-info" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/aws-elasticsearch@1.172.0", "@aws-cdk/aws-elasticsearch@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticsearch/-/aws-elasticsearch-1.172.0.tgz#eb7dcfc0405a3fe40f9de333b95cdb3855a2db63" - integrity sha512-gQJ1Bi6A9wqSUOvE84idBky5CGQ44Z5CIUR1jzwg69mkppggqYsYKbcAVN6Vikd9ei2TW4IaVYQGYky6gQhyig== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.172.0" - "@aws-cdk/aws-cloudwatch" "1.172.0" - "@aws-cdk/aws-ec2" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-kms" "1.172.0" - "@aws-cdk/aws-logs" "1.172.0" - "@aws-cdk/aws-route53" "1.172.0" - "@aws-cdk/aws-secretsmanager" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/custom-resources" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/aws-events@1.172.0", "@aws-cdk/aws-events@^1.159.0": +"@aws-cdk/aws-events@1.172.0": version "1.172.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.172.0.tgz#a870f5654554cfa5807b00899ab30bbcd7288f97" integrity sha512-Ovcd/MCQ35wqdirdzCLc125+XTd4Fm/MOhUwB5YOpytVxijFSb7NNnrobI1bJBHNrUZutUPGjQseB/mqh/1nhQ== @@ -1024,16 +672,6 @@ "@aws-cdk/core" "1.177.0" constructs "^3.3.69" -"@aws-cdk/aws-globalaccelerator@1.172.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-globalaccelerator/-/aws-globalaccelerator-1.172.0.tgz#d0253d5c8f7ce64475b8bd5a6ec2d6fd585aaf5a" - integrity sha512-krTkm8SWo9+B86we5EO6aVzIYdJFkOoPC9tB0yGVCvxSPH04Hul7V8Ql8S4ttxO2EvnyTljpdkOukopdt8B6NA== - dependencies: - "@aws-cdk/aws-ec2" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/custom-resources" "1.172.0" - constructs "^3.3.69" - "@aws-cdk/aws-iam@1.172.0", "@aws-cdk/aws-iam@^1.159.0": version "1.172.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.172.0.tgz#32c09c11860fa8a70049b80d07065f2799bb755e" @@ -1054,19 +692,7 @@ "@aws-cdk/region-info" "1.177.0" constructs "^3.3.69" -"@aws-cdk/aws-kinesis@1.172.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kinesis/-/aws-kinesis-1.172.0.tgz#57906d04572644d49c1809502a9432a46a2b1de5" - integrity sha512-M5fXrtZBUoaMi+xZUqwFUYcadiFQrEOk2oVJ7jFZUG3NA4po5uLwGl2bI3edVE6XtGXE/0vP7aH98dp1VaidAQ== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-kms" "1.172.0" - "@aws-cdk/aws-logs" "1.172.0" - "@aws-cdk/core" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/aws-kms@1.172.0", "@aws-cdk/aws-kms@^1.159.0": +"@aws-cdk/aws-kms@1.172.0": version "1.172.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.172.0.tgz#8d651b07ac72ba281656647d8e79dad6e16309af" integrity sha512-0qDstcobbjDNFTRlflMXo4MTubJibjLJ4qFr8Ot14teqUGhfelNaTm19RYb+pOcxA6ypFEuUMl50PjMXj3iuHw== @@ -1088,32 +714,6 @@ "@aws-cdk/cx-api" "1.177.0" constructs "^3.3.69" -"@aws-cdk/aws-lambda@1.172.0", "@aws-cdk/aws-lambda@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.172.0.tgz#ddf02cf8128a47b952895eb08426bd678027aa94" - integrity sha512-7jx0wmJWbD+FRL/8VeTr3PMYkYW1b66DYwX8DyAPvuNeMXcmHWu3GvOo/AV/F8K/SHBm6dEilWQeJGAVDxltmg== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.172.0" - "@aws-cdk/aws-cloudwatch" "1.172.0" - "@aws-cdk/aws-codeguruprofiler" "1.172.0" - "@aws-cdk/aws-ec2" "1.172.0" - "@aws-cdk/aws-ecr" "1.172.0" - "@aws-cdk/aws-ecr-assets" "1.172.0" - "@aws-cdk/aws-efs" "1.172.0" - "@aws-cdk/aws-events" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-kms" "1.172.0" - "@aws-cdk/aws-logs" "1.172.0" - "@aws-cdk/aws-s3" "1.172.0" - "@aws-cdk/aws-s3-assets" "1.172.0" - "@aws-cdk/aws-signer" "1.172.0" - "@aws-cdk/aws-sns" "1.172.0" - "@aws-cdk/aws-sqs" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/cx-api" "1.172.0" - "@aws-cdk/region-info" "1.172.0" - constructs "^3.3.69" - "@aws-cdk/aws-lambda@1.177.0": version "1.177.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.177.0.tgz#82a2b5e0e69c48e642d1ab77f4eaa11fd3d4b30d" @@ -1140,19 +740,6 @@ "@aws-cdk/region-info" "1.177.0" constructs "^3.3.69" -"@aws-cdk/aws-logs@1.172.0", "@aws-cdk/aws-logs@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.172.0.tgz#826214e406448fd0fc3399ece7809e8c4f76b7ed" - integrity sha512-tCPWS5Xyd7jw5BDetyzsJN+uudaMDgxUPK5G+9O+WoqRVsP8iUlPuIW+akGZhvqEcHux+P1t9ANLO+NvV3ZrbA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-kms" "1.172.0" - "@aws-cdk/aws-s3-assets" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/cx-api" "1.172.0" - constructs "^3.3.69" - "@aws-cdk/aws-logs@1.177.0": version "1.177.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.177.0.tgz#39a18b80738753ffd18a40fafcbe1828b86e5f16" @@ -1166,85 +753,6 @@ "@aws-cdk/cx-api" "1.177.0" constructs "^3.3.69" -"@aws-cdk/aws-opensearchservice@1.172.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-opensearchservice/-/aws-opensearchservice-1.172.0.tgz#9cd68d98710137f54bb82579c4ce1d92730ff4a1" - integrity sha512-VJoF8w1HPG8Dwh0UWuWNx/mu389v2Nuq+qQcxA2S89/vBayUo3AoxPgFusCd88vIeYnHc8xEzj2SGvbFBWR2Jw== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.172.0" - "@aws-cdk/aws-cloudwatch" "1.172.0" - "@aws-cdk/aws-ec2" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-kms" "1.172.0" - "@aws-cdk/aws-logs" "1.172.0" - "@aws-cdk/aws-route53" "1.172.0" - "@aws-cdk/aws-secretsmanager" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/custom-resources" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/aws-rds@1.172.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-rds/-/aws-rds-1.172.0.tgz#ccc540c8c324da979bd8177c8c321d493e1ad618" - integrity sha512-x15dItL/vvcqiM+Y6WdXUA85Q0r4gQPR6HMy8HtLFFXgu/17hMpLrNF9pR8O25udPmT1Lb9DgkzUd2BBzoS7Hw== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.172.0" - "@aws-cdk/aws-ec2" "1.172.0" - "@aws-cdk/aws-events" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-kms" "1.172.0" - "@aws-cdk/aws-logs" "1.172.0" - "@aws-cdk/aws-s3" "1.172.0" - "@aws-cdk/aws-secretsmanager" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/cx-api" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/aws-route53-targets@1.172.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53-targets/-/aws-route53-targets-1.172.0.tgz#85cd17a878a53856012bccb144eb300e9bc9e3be" - integrity sha512-vT8gDKC3TFRsx4zw2tX7fPEUG/+EbEgPvnOiYTXxPdSLF+XLPLQw5nsT24yP+WTHWYX7CRtYhrNQhqyuRDsFvw== - dependencies: - "@aws-cdk/aws-apigateway" "1.172.0" - "@aws-cdk/aws-cloudfront" "1.172.0" - "@aws-cdk/aws-cognito" "1.172.0" - "@aws-cdk/aws-ec2" "1.172.0" - "@aws-cdk/aws-elasticloadbalancing" "1.172.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.172.0" - "@aws-cdk/aws-globalaccelerator" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-route53" "1.172.0" - "@aws-cdk/aws-s3" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/region-info" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/aws-route53@1.172.0", "@aws-cdk/aws-route53@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.172.0.tgz#222452e458c81bc020cdedcfd3a72ce788c5b6e9" - integrity sha512-CXftpIYyXYP1WZA+a0xUfpJo/j1mgB49wD80WTKhBP/xwO0iJ/gHXIuKzX10VXiomJIMGzdTMn6sww7xWGwOMw== - dependencies: - "@aws-cdk/aws-ec2" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-logs" "1.172.0" - "@aws-cdk/cloud-assembly-schema" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/custom-resources" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/aws-s3-assets@1.172.0", "@aws-cdk/aws-s3-assets@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.172.0.tgz#5dd5515f41d5b576581f413d0881715e2666c11b" - integrity sha512-UTZyMnvW9VsjSmcueD7rKHc6Pnkte6LUBiWWdlehrIVIz/TUMkytz41xc3Id/KjMlHaMJ7xev1nvaZNmAOpIwQ== - dependencies: - "@aws-cdk/assets" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-kms" "1.172.0" - "@aws-cdk/aws-s3" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/cx-api" "1.172.0" - constructs "^3.3.69" - "@aws-cdk/aws-s3-assets@1.177.0": version "1.177.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.177.0.tgz#9594da4367ddaa935e3dba1d33b327b199e5a11d" @@ -1258,18 +766,6 @@ "@aws-cdk/cx-api" "1.177.0" constructs "^3.3.69" -"@aws-cdk/aws-s3@1.172.0", "@aws-cdk/aws-s3@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.172.0.tgz#2953f5f87636bd45d97f78ddc023ac8de454a56f" - integrity sha512-ctzjSPLQMPE+HxndzaqlOaB1LhZfVQjniE8yGb0HXvbaONqcVxulnLoP4YW536Rh47vzIyqNsVybYTwxVVYDag== - dependencies: - "@aws-cdk/aws-events" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-kms" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/cx-api" "1.172.0" - constructs "^3.3.69" - "@aws-cdk/aws-s3@1.177.0": version "1.177.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.177.0.tgz#453069e2a5a1aa1beaa0d4ab624cbf8716054ee5" @@ -1282,47 +778,6 @@ "@aws-cdk/cx-api" "1.177.0" constructs "^3.3.69" -"@aws-cdk/aws-sam@1.172.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sam/-/aws-sam-1.172.0.tgz#9da7989a40d165e96950f8f1c874595f2ca19937" - integrity sha512-/tQiX8cGNAR/E9Inlvwc0Yn0qA8ftLFD8LtR8T8WIBYu0i8U20lLPHreNdM/bFI5v5ZYiEIr8gSAV6INUZc0bw== - dependencies: - "@aws-cdk/core" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/aws-secretsmanager@1.172.0", "@aws-cdk/aws-secretsmanager@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-secretsmanager/-/aws-secretsmanager-1.172.0.tgz#75f0cba42c0b8fd4185985a44812891e5a77c997" - integrity sha512-bgOXU0zDxFaCG0sUfpPV3Nxptd2bOuEKfWNYwcbmkzxSO05a735NcAr/oHM8JzegC1f88lOQJo8GlZ8Z4JomVg== - dependencies: - "@aws-cdk/aws-ec2" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-kms" "1.172.0" - "@aws-cdk/aws-lambda" "1.172.0" - "@aws-cdk/aws-sam" "1.172.0" - "@aws-cdk/core" "1.172.0" - "@aws-cdk/cx-api" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/aws-servicediscovery@1.172.0", "@aws-cdk/aws-servicediscovery@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-servicediscovery/-/aws-servicediscovery-1.172.0.tgz#13e69f2c9564435d7ee40a1ab2e9d27afd10ba5a" - integrity sha512-h2BIRrj7iiJrF0l6t6mpPN0uw+a/WIRxh/V3RFLd+Bqs2Wj8cX6cMvrNVbu8ymgSpmEHgYiT1Y2/0XfRgtaz7w== - dependencies: - "@aws-cdk/aws-ec2" "1.172.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.172.0" - "@aws-cdk/aws-route53" "1.172.0" - "@aws-cdk/core" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/aws-signer@1.172.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-signer/-/aws-signer-1.172.0.tgz#7e499709a3d6760e3b6028b01e201b486326d84e" - integrity sha512-NZdZzeSWJouiy5PsJ7tvpuByax59LZtBWSBML/gQgO8ne7HcOF1BFSCpVebIJILCu7ScQwlqqDtgcL78e4DxGA== - dependencies: - "@aws-cdk/core" "1.172.0" - constructs "^3.3.69" - "@aws-cdk/aws-signer@1.177.0": version "1.177.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-signer/-/aws-signer-1.177.0.tgz#b5e9700f3d4e7ad97a4141c0cda3c2a4c7c9784c" @@ -1331,19 +786,6 @@ "@aws-cdk/core" "1.177.0" constructs "^3.3.69" -"@aws-cdk/aws-sns-subscriptions@1.172.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns-subscriptions/-/aws-sns-subscriptions-1.172.0.tgz#6c096b3cdd6bd19e5d720d7b401317633f118ec6" - integrity sha512-MIP0+ozakV95yBrmp4sm7pTKUMN6nY0N5rAUyNsXN36o/tW0sUnHEVkIiu9Q/wxdgljWfb/6aOmrv9k8KPtyVQ== - dependencies: - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-kms" "1.172.0" - "@aws-cdk/aws-lambda" "1.172.0" - "@aws-cdk/aws-sns" "1.172.0" - "@aws-cdk/aws-sqs" "1.172.0" - "@aws-cdk/core" "1.172.0" - constructs "^3.3.69" - "@aws-cdk/aws-sns-subscriptions@^1.159.0": version "1.177.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns-subscriptions/-/aws-sns-subscriptions-1.177.0.tgz#a5767de63ab03ed57a48827e091e30c7d7e43428" @@ -1357,20 +799,6 @@ "@aws-cdk/core" "1.177.0" constructs "^3.3.69" -"@aws-cdk/aws-sns@1.172.0", "@aws-cdk/aws-sns@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.172.0.tgz#0d9b2b59614bf9cecb7ceb61a6332b30b7980ec1" - integrity sha512-y9V+jqRU4Y3/iCaL5I8S675l3ZsV9jpACTXwBIToEx3As/wAKHzKxvp0jvinh0QT5HGu3DvXG7d+fZMYcFdB9A== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.172.0" - "@aws-cdk/aws-codestarnotifications" "1.172.0" - "@aws-cdk/aws-events" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-kms" "1.172.0" - "@aws-cdk/aws-sqs" "1.172.0" - "@aws-cdk/core" "1.172.0" - constructs "^3.3.69" - "@aws-cdk/aws-sns@1.177.0": version "1.177.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.177.0.tgz#17ba37839607c8e288540d757ef574afc2a2f742" @@ -1385,6 +813,20 @@ "@aws-cdk/core" "1.177.0" constructs "^3.3.69" +"@aws-cdk/aws-sns@^1.159.0": + version "1.172.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.172.0.tgz#0d9b2b59614bf9cecb7ceb61a6332b30b7980ec1" + integrity sha512-y9V+jqRU4Y3/iCaL5I8S675l3ZsV9jpACTXwBIToEx3As/wAKHzKxvp0jvinh0QT5HGu3DvXG7d+fZMYcFdB9A== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.172.0" + "@aws-cdk/aws-codestarnotifications" "1.172.0" + "@aws-cdk/aws-events" "1.172.0" + "@aws-cdk/aws-iam" "1.172.0" + "@aws-cdk/aws-kms" "1.172.0" + "@aws-cdk/aws-sqs" "1.172.0" + "@aws-cdk/core" "1.172.0" + constructs "^3.3.69" + "@aws-cdk/aws-sqs@1.172.0", "@aws-cdk/aws-sqs@^1.159.0": version "1.172.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.172.0.tgz#915f2940bf418e36e6d0f89c1726dbafc72a185a" @@ -1407,17 +849,6 @@ "@aws-cdk/core" "1.177.0" constructs "^3.3.69" -"@aws-cdk/aws-ssm@1.172.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.172.0.tgz#2fb2883f165af0f5d3dde84523c05471e96fb7d1" - integrity sha512-DMJaOP08WHhc8DcBBzJJiaoAt49qjKQ7S5qIFgiWWkdwrZ0h/my1bGMTDdZVj1cQem4NbYHPx+vSWkf1HMaK1w== - dependencies: - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-kms" "1.172.0" - "@aws-cdk/cloud-assembly-schema" "1.172.0" - "@aws-cdk/core" "1.172.0" - constructs "^3.3.69" - "@aws-cdk/aws-ssm@1.177.0": version "1.177.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.177.0.tgz#104e9cc06e18c44e6eba2a3ddb161aa395ddfd14" @@ -1429,27 +860,6 @@ "@aws-cdk/core" "1.177.0" constructs "^3.3.69" -"@aws-cdk/aws-stepfunctions@1.172.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-stepfunctions/-/aws-stepfunctions-1.172.0.tgz#4372683a4c32075ae4f8ec65fb20f19379714da6" - integrity sha512-TItomufxE1mqPABhOg5oSzOGQkxd+Cz/+t2zSkUC79WGMzNmyvd4NhCofCSyrDZMsxdGzQ+Tsh9KbvkqKsB+RQ== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.172.0" - "@aws-cdk/aws-events" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-logs" "1.172.0" - "@aws-cdk/aws-s3" "1.172.0" - "@aws-cdk/core" "1.172.0" - constructs "^3.3.69" - -"@aws-cdk/cfnspec@1.172.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.172.0.tgz#5c44e6f94fef2ca7efcb74d52417cc70846d65d7" - integrity sha512-Tt/6wWHv89TQNyVMcUUlI1HP+PTqXB+X9IEm5LiXoXjflfuEk2ysYPwJc4oO7z/zMpBhYELxkeC2tAPIX1GbWA== - dependencies: - fs-extra "^9.1.0" - md5 "^2.3.0" - "@aws-cdk/cfnspec@2.44.0": version "2.44.0" resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-2.44.0.tgz#e042d852f8ae7c0d9250b817ec3478a4a0ae48ee" @@ -1474,19 +884,6 @@ jsonschema "^1.4.1" semver "^7.3.8" -"@aws-cdk/cloudformation-diff@1.172.0", "@aws-cdk/cloudformation-diff@^1.159.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.172.0.tgz#9eb9e2c1b2fe15abee492852977f145006a996bc" - integrity sha512-wG3v1zXMdOaUjWgiWZRMoTy5ALsEnPXMzk14UmuuyMwufNM7xw6uWsv5yZt14AyF9V1lrc/H4W9lLq2RkqOFdA== - dependencies: - "@aws-cdk/cfnspec" "1.172.0" - "@types/node" "^10.17.60" - chalk "^4" - diff "^5.1.0" - fast-deep-equal "^3.1.3" - string-width "^4.2.3" - table "^6.8.0" - "@aws-cdk/cloudformation-diff@~2.44.0": version "2.44.0" resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-2.44.0.tgz#476d85b78e7bb07e79ab09fb6dd96ab41fb34fa8" @@ -1528,20 +925,6 @@ ignore "^5.2.0" minimatch "^3.1.2" -"@aws-cdk/custom-resources@1.172.0": - version "1.172.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.172.0.tgz#542eecae9b021b1e2e7be54a44b2673f9cd9569c" - integrity sha512-GM2B2XDRILxqkoFYnxSQ68+jZN5oRFA9/wD2/7hozbdfUaCjY+EyxYIfU8z/J7NRMP5KlyZn4jcIcRyXszfjmw== - dependencies: - "@aws-cdk/aws-cloudformation" "1.172.0" - "@aws-cdk/aws-ec2" "1.172.0" - "@aws-cdk/aws-iam" "1.172.0" - "@aws-cdk/aws-lambda" "1.172.0" - "@aws-cdk/aws-logs" "1.172.0" - "@aws-cdk/aws-sns" "1.172.0" - "@aws-cdk/core" "1.172.0" - constructs "^3.3.69" - "@aws-cdk/cx-api@1.172.0": version "1.172.0" resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.172.0.tgz#678504f0c2a16843aa8c1c746f16feb3129f92d5" @@ -1558,7 +941,7 @@ "@aws-cdk/cloud-assembly-schema" "1.177.0" semver "^7.3.8" -"@aws-cdk/region-info@1.172.0", "@aws-cdk/region-info@^1.159.0": +"@aws-cdk/region-info@1.172.0": version "1.172.0" resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.172.0.tgz#711b3895d5a380a29467392a7ab46eef78a701ed" integrity sha512-u0p6DE8YMutH9j9AtZlgUiWWglFrLkL/jx5Qrbnwse62m8N6LRVZpSpPJAVjogkx7barjKo/TaUsEIVXD+Kq8A== @@ -8789,11 +8172,6 @@ resolved "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz#3b41a6e643589ac6442bdbd7a4a3ded62f33f7da" integrity sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw== -"@types/node@^10.17.60": - version "10.17.60" - resolved "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" - integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== - "@types/node@^12.12.6": version "12.20.37" resolved "https://registry.npmjs.org/@types/node/-/node-12.20.37.tgz#abb38afa9d6e8a2f627a8cb52290b3c80fbe61ed" @@ -12028,7 +11406,7 @@ constructs@^10.0.5: resolved "https://registry.yarnpkg.com/constructs/-/constructs-10.1.138.tgz#c304b2a3177487ad04b4481797e4044d79e479c0" integrity sha512-Bf0wkcGFphvAcm1ci+0yEJvPS9n+99bo3esiuRviAd9bYErOb39msZdfgULmoiRv0612x0xL2accTVESnFG0Vw== -constructs@^3.3.125, constructs@^3.3.69: +constructs@^3.3.69: version "3.3.166" resolved "https://registry.npmjs.org/constructs/-/constructs-3.3.166.tgz#0d8ff31366cbe3c15df6f7aeba15b4d5e81f0087" integrity sha512-vhFswEqFb5BRkeYbWPd66A+BtvSSSdRI/1TYNwetC2reJul+ztI40vK9l2CNx1Vi/EOAQp1qjjjTEg+29irtYA==