Skip to content

Commit ae64183

Browse files
authored
chore(core): revert "allow disabling of LogicalID Metadata in case of large manifest" (#20421)
#20387 tests fail on our merge to v2, likely because CDK v2 uses the new style stack synthesis by default and generates a lot more metadata. Reverting for now to unblock the release.
1 parent 01708bc commit ae64183

File tree

3 files changed

+6
-90
lines changed

3 files changed

+6
-90
lines changed

packages/@aws-cdk/core/lib/cfn-element.ts

+1-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import * as cxschema from '@aws-cdk/cloud-assembly-schema';
2-
import * as cxapi from '@aws-cdk/cx-api';
32
import { Construct, Node } from 'constructs';
43

54
// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch.
@@ -65,9 +64,7 @@ export abstract class CfnElement extends CoreConstruct {
6564
displayHint: `${notTooLong(Node.of(this).path)}.LogicalID`,
6665
});
6766

68-
if (!this.node.tryGetContext(cxapi.DISABLE_LOGICAL_ID_METADATA)) {
69-
Node.of(this).addMetadata(cxschema.ArtifactMetadataEntryType.LOGICAL_ID, this.logicalId, this.constructor);
70-
}
67+
Node.of(this).addMetadata(cxschema.ArtifactMetadataEntryType.LOGICAL_ID, this.logicalId, this.constructor);
7168
}
7269

7370
/**

packages/@aws-cdk/core/test/synthesis.test.ts

+5-80
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ describe('synthesis', () => {
3636
},
3737
}),
3838
});
39+
3940
});
4041

4142
test('synthesis respects disabling tree metadata', () => {
@@ -44,87 +45,7 @@ describe('synthesis', () => {
4445
});
4546
const assembly = app.synth();
4647
expect(list(assembly.directory)).toEqual(['cdk.out', 'manifest.json']);
47-
});
48-
49-
test('synthesis respects disabling logicalId metadata', () => {
50-
const app = new cdk.App({
51-
context: { 'aws:cdk:disable-logicalId-metadata': true },
52-
});
53-
const stack = new cdk.Stack(app, 'one-stack');
54-
new cdk.CfnResource(stack, 'MagicResource', { type: 'Resource::Type' });
55-
56-
// WHEN
57-
const session = app.synth();
58-
59-
// THEN
60-
expect(session.manifest).toEqual({
61-
version: cxschema.Manifest.version(),
62-
artifacts: {
63-
'Tree': {
64-
type: 'cdk:tree',
65-
properties: { file: 'tree.json' },
66-
},
67-
'one-stack': {
68-
type: 'aws:cloudformation:stack',
69-
environment: 'aws://unknown-account/unknown-region',
70-
properties: {
71-
templateFile: 'one-stack.template.json',
72-
validateOnSynth: false,
73-
},
74-
displayName: 'one-stack',
75-
// no metadata, because the only entry was a logicalId
76-
},
77-
},
78-
});
79-
});
80-
81-
test('synthesis respects disabling logicalId metadata, and does not disable other metadata', () => {
82-
const app = new cdk.App({
83-
context: { 'aws:cdk:disable-logicalId-metadata': true },
84-
stackTraces: false,
85-
});
86-
const stack = new cdk.Stack(app, 'one-stack', { tags: { boomTag: 'BOOM' } });
87-
new cdk.CfnResource(stack, 'MagicResource', { type: 'Resource::Type' });
88-
89-
// WHEN
90-
const session = app.synth();
9148

92-
// THEN
93-
expect(session.manifest).toEqual({
94-
version: cxschema.Manifest.version(),
95-
artifacts: {
96-
'Tree': {
97-
type: 'cdk:tree',
98-
properties: { file: 'tree.json' },
99-
},
100-
'one-stack': {
101-
type: 'aws:cloudformation:stack',
102-
environment: 'aws://unknown-account/unknown-region',
103-
properties: {
104-
templateFile: 'one-stack.template.json',
105-
validateOnSynth: false,
106-
tags: {
107-
boomTag: 'BOOM',
108-
},
109-
},
110-
displayName: 'one-stack',
111-
metadata: {
112-
'/one-stack': [
113-
{
114-
type: 'aws:cdk:stack-tags',
115-
data: [
116-
{
117-
key: 'boomTag',
118-
value: 'BOOM',
119-
},
120-
],
121-
},
122-
],
123-
},
124-
// no logicalId entry
125-
},
126-
},
127-
});
12849
});
12950

13051
test('single empty stack', () => {
@@ -137,6 +58,7 @@ describe('synthesis', () => {
13758

13859
// THEN
13960
expect(list(session.directory).includes('one-stack.template.json')).toEqual(true);
61+
14062
});
14163

14264
test('some random construct implements "synthesize"', () => {
@@ -190,6 +112,7 @@ describe('synthesis', () => {
190112
},
191113
},
192114
});
115+
193116
});
194117

195118
test('random construct uses addCustomSynthesis', () => {
@@ -249,6 +172,7 @@ describe('synthesis', () => {
249172
},
250173
},
251174
});
175+
252176
});
253177

254178
testDeprecated('it should be possible to synthesize without an app', () => {
@@ -296,6 +220,7 @@ describe('synthesis', () => {
296220
expect(stack.templateFile).toEqual('hey.json');
297221
expect(stack.parameters).toEqual({ paramId: 'paramValue', paramId2: 'paramValue2' });
298222
expect(stack.environment).toEqual({ region: 'us-east-1', account: 'unknown-account', name: 'aws://unknown-account/us-east-1' });
223+
299224
});
300225
});
301226

packages/@aws-cdk/cx-api/lib/app.ts

-6
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,6 @@ export const DISABLE_ASSET_STAGING_CONTEXT = 'aws:cdk:disable-asset-staging';
3939
*/
4040
export const DISABLE_METADATA_STACK_TRACE = 'aws:cdk:disable-stack-trace';
4141

42-
/**
43-
* If this context key is set, the CDK will not store logical ID
44-
* metadata in the manifest.
45-
*/
46-
export const DISABLE_LOGICAL_ID_METADATA = 'aws:cdk:disable-logicalId-metadata';
47-
4842
/**
4943
* Run bundling for stacks specified in this context key
5044
*/

0 commit comments

Comments
 (0)