diff --git a/packages/@aws-cdk/aws-cloudfront/lib/experimental/edge-function.ts b/packages/@aws-cdk/aws-cloudfront/lib/experimental/edge-function.ts index f97b7e176d874..33b0e070d144e 100644 --- a/packages/@aws-cdk/aws-cloudfront/lib/experimental/edge-function.ts +++ b/packages/@aws-cdk/aws-cloudfront/lib/experimental/edge-function.ts @@ -218,7 +218,10 @@ export class EdgeFunction extends Resource implements lambda.IVersion { let edgeStack = stage.node.tryFindChild(edgeStackId) as Stack; if (!edgeStack) { edgeStack = new Stack(stage, edgeStackId, { - env: { region: EdgeFunction.EDGE_REGION }, + env: { + region: EdgeFunction.EDGE_REGION, + account: Stack.of(this).account, + }, }); } this.stack.addDependency(edgeStack); diff --git a/packages/@aws-cdk/aws-cloudfront/test/experimental/edge-function.test.ts b/packages/@aws-cdk/aws-cloudfront/test/experimental/edge-function.test.ts index 4154f79cabff2..7a743056dfcb7 100644 --- a/packages/@aws-cdk/aws-cloudfront/test/experimental/edge-function.test.ts +++ b/packages/@aws-cdk/aws-cloudfront/test/experimental/edge-function.test.ts @@ -102,6 +102,25 @@ describe('stacks', () => { }); }); + test('us-east-1 stack inherits account of parent stack', () => { + new cloudfront.experimental.EdgeFunction(stack, 'MyFn', defaultEdgeFunctionProps()); + + const fnStack = getFnStack(); + + expect(fnStack.account).toEqual('111111111111'); + }); + + test('us-east-1 stack inherits account of parent stack, when parent stack account is undefined', () => { + stack = new cdk.Stack(app, 'StackWithDefaultAccount', { + env: { region: 'testregion' }, + }); + new cloudfront.experimental.EdgeFunction(stack, 'MyFn', defaultEdgeFunctionProps()); + + const fnStack = getFnStack(); + + expect(fnStack.account).toEqual(cdk.Aws.ACCOUNT_ID); + }); + test('creates minimal constructs if scope region is us-east-1', () => { app = new cdk.App(); stack = new cdk.Stack(app, 'Stack', {