Skip to content

Commit 6c602a5

Browse files
authored
Fix: [AEA-0000] - allow cdk metadata change (#542)
## Summary - Routine Change ### Details - allow cdk metadata change
1 parent ffe9fdd commit 6c602a5

2 files changed

Lines changed: 33 additions & 0 deletions

File tree

packages/cdkConstructs/src/changesets/checkDestructiveChanges.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,16 @@ import {
55
Change as CloudFormationChange
66
} from "@aws-sdk/client-cloudformation"
77

8+
const isConditionalCdkMetadataChange = (resourceChange: CloudFormationChange["ResourceChange"]): boolean => {
9+
if (!resourceChange) {
10+
return false
11+
}
12+
13+
return resourceChange.LogicalResourceId === "CDKMetadata" &&
14+
resourceChange.ResourceType === "AWS::CDK::Metadata" &&
15+
String(resourceChange.Replacement ?? "") === "Conditional"
16+
}
17+
818
export type ChangeRequiringAttention = {
919
logicalId: string;
1020
physicalId: string;
@@ -66,6 +76,10 @@ export function checkDestructiveChanges(
6676
const action = resourceChange.Action
6777
const isRemoval = action === "Remove"
6878

79+
if (replacementNeeded && isConditionalCdkMetadataChange(resourceChange)) {
80+
return undefined
81+
}
82+
6983
if (!replacementNeeded && !isRemoval) {
7084
return undefined
7185
}

packages/cdkConstructs/tests/changesets/checkDestructiveChanges.test.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,25 @@ describe("checkDestructiveChanges", () => {
100100
}
101101
])
102102
})
103+
104+
test("ignores conditional CDK metadata replacements", () => {
105+
const changeSet = {
106+
Changes: [
107+
{
108+
ResourceChange: {
109+
LogicalResourceId: "CDKMetadata",
110+
PhysicalResourceId: "metadata-id",
111+
ResourceType: "AWS::CDK::Metadata",
112+
Replacement: "Conditional"
113+
}
114+
}
115+
]
116+
}
117+
118+
const replacements = checkDestructiveChanges(changeSet)
119+
120+
expect(replacements).toEqual([])
121+
})
103122
})
104123

105124
describe("checkDestructiveChangeSet", () => {

0 commit comments

Comments
 (0)