Skip to content

Commit 94270d5

Browse files
committed
Preserve existing guard metadata and merge with new rules
1 parent db176d4 commit 94270d5

File tree

2 files changed

+30
-8
lines changed

2 files changed

+30
-8
lines changed

packages/cdk/bin/EpsAssistMeApp.ts

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,27 +42,44 @@ const EpsAssistMe = new EpsAssistMeStack(app, "EpsAssistMeStack", {
4242
app.synth()
4343

4444
// S3 Bucket: StorageAccessLogsBucketAccessLogs86FA3BBC
45-
addCfnGuardMetadata(EpsAssistMe, "Storage/AccessLogsBucket/AccessLogs", undefined,
45+
// CDK-Path: EpsAssistMeStack/Storage/AccessLogsBucket/AccessLogs/Resource
46+
addCfnGuardMetadata(EpsAssistMe, "Storage/AccessLogsBucket", "AccessLogs",
4647
["S3_BUCKET_REPLICATION_ENABLED", "S3_BUCKET_VERSIONING_ENABLED", "S3_BUCKET_LOGGING_ENABLED"]
4748
)
4849

49-
// S3 Bucket Policy: StorageAccessLogsBucketAccessLogsPolicy523966CD
50-
addCfnGuardMetadata(EpsAssistMe, "Storage/AccessLogsBucket/AccessLogs/Policy", undefined,
50+
// S3 Bucket Policy: StorageAccessLogsBucketAccessLogsPolicy523966CD
51+
// CDK-Path: EpsAssistMeStack/Storage/AccessLogsBucket/AccessLogs/Policy/Resource
52+
addCfnGuardMetadata(EpsAssistMe, "Storage/AccessLogsBucket/AccessLogs", "Policy",
5153
["S3_BUCKET_SSL_REQUESTS_ONLY"]
5254
)
5355

5456
// S3 Bucket: StorageDocsBucketDocs0C9A9D9E
55-
addCfnGuardMetadata(EpsAssistMe, "Storage/DocsBucket/Docs", undefined,
57+
// CDK-Path: EpsAssistMeStack/Storage/DocsBucket/Docs/Resource
58+
addCfnGuardMetadata(EpsAssistMe, "Storage/DocsBucket", "Docs",
5659
["S3_BUCKET_REPLICATION_ENABLED"]
5760
)
5861

5962
// S3 Bucket Policy: StorageDocsBucketDocsPolicy8F1C9E94
60-
addCfnGuardMetadata(EpsAssistMe, "Storage/DocsBucket/Docs/Policy", undefined,
63+
// CDK-Path: EpsAssistMeStack/Storage/DocsBucket/Docs/Policy/Resource
64+
addCfnGuardMetadata(EpsAssistMe, "Storage/DocsBucket/Docs", "Policy",
65+
["S3_BUCKET_SSL_REQUESTS_ONLY"]
66+
)
67+
68+
// S3 Bucket: StorageLoggingBucketLogging36F28A73
69+
// CDK-Path: EpsAssistMeStack/Storage/LoggingBucket/Logging/Resource
70+
addCfnGuardMetadata(EpsAssistMe, "Storage/LoggingBucket", "Logging",
71+
["S3_BUCKET_REPLICATION_ENABLED", "S3_BUCKET_LOGGING_ENABLED"]
72+
)
73+
74+
// S3 Bucket Policy: StorageLoggingBucketLoggingPolicy06AD29F1
75+
// CDK-Path: EpsAssistMeStack/Storage/LoggingBucket/Logging/Policy/Resource
76+
addCfnGuardMetadata(EpsAssistMe, "Storage/LoggingBucket/Logging", "Policy",
6177
["S3_BUCKET_SSL_REQUESTS_ONLY"]
6278
)
6379

6480
// Lambda Function: CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F
65-
addCfnGuardMetadata(EpsAssistMe, "Custom::S3AutoDeleteObjectsCustomResourceProvider/Handler", undefined,
81+
// CDK-Path: EpsAssistMeStack/Custom::S3AutoDeleteObjectsCustomResourceProvider/Handler
82+
addCfnGuardMetadata(EpsAssistMe, "Custom::S3AutoDeleteObjectsCustomResourceProvider", "Handler",
6683
["LAMBDA_DLQ_CHECK", "LAMBDA_INSIDE_VPC"]
6784
)
6885

packages/cdk/bin/utils/appUtils.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,17 @@ export const addCfnGuardMetadata = (
6060
cfnResource.cfnOptions.metadata = {}
6161
}
6262

63+
// Preserve existing guard metadata and merge with new rules
64+
const existingGuard = cfnResource.cfnOptions.metadata.guard || {}
65+
const existingSuppressed = existingGuard.SuppressedRules || []
66+
const allSuppressedRules = [...new Set([...existingSuppressed, ...suppressedRules])]
67+
6368
cfnResource.cfnOptions.metadata = {
6469
...cfnResource.cfnOptions.metadata,
6570
guard: {
66-
SuppressedRules: suppressedRules
71+
SuppressedRules: allSuppressedRules
6772
}
6873
}
6974

70-
console.log(`✅ Suppressed rules for ${cfnResource.logicalId}: [${suppressedRules.join(", ")}]`)
75+
console.log(`✅ Suppressed rules for ${cfnResource.logicalId}: [${allSuppressedRules.join(", ")}]`)
7176
}

0 commit comments

Comments
 (0)