Skip to content

Commit 9740ed3

Browse files
skinny85mergify[bot]
authored andcommitted
fix(codepipeline): do not retain the default bucket key and alias (#4400)
Currently, the KMS key and alias used for the default CodePipeline artifact bucket are created with RemovalPolicy.RETAIN. That is problematic when trying to re-deploy a stack after running `cdk destroy`, as the alias name will already be taken. Because of that, change the removal policy of both the key and the alias to RemovalPolicy.DESTROY - there is a grace period of a few days on the key before it's removed permanently, so that should be good enough if anyone needs it, and it doesn't seem like directly reading the artifacts of the pipeline is an important use case anyway, especially after it has been deleted. Fixes #4336
1 parent 123c594 commit 9740ed3

14 files changed

+56
-50
lines changed

packages/@aws-cdk/aws-codepipeline-actions/test/integ.cfn-template-from-repo.lit.expected.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,8 @@
106106
"Version": "2012-10-17"
107107
}
108108
},
109-
"DeletionPolicy": "Retain",
110-
"UpdateReplacePolicy": "Retain"
109+
"DeletionPolicy": "Delete",
110+
"UpdateReplacePolicy": "Delete"
111111
},
112112
"PipelineArtifactsBucket22248F97": {
113113
"Type": "AWS::S3::Bucket",
@@ -142,8 +142,8 @@
142142
]
143143
}
144144
},
145-
"DeletionPolicy": "Retain",
146-
"UpdateReplacePolicy": "Retain"
145+
"DeletionPolicy": "Delete",
146+
"UpdateReplacePolicy": "Delete"
147147
},
148148
"PipelineRoleD68726F7": {
149149
"Type": "AWS::IAM::Role",

packages/@aws-cdk/aws-codepipeline-actions/test/integ.lambda-deployed-through-codepipeline.lit.expected.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -157,8 +157,8 @@
157157
"Version": "2012-10-17"
158158
}
159159
},
160-
"DeletionPolicy": "Retain",
161-
"UpdateReplacePolicy": "Retain"
160+
"DeletionPolicy": "Delete",
161+
"UpdateReplacePolicy": "Delete"
162162
},
163163
"PipelineArtifactsBucket22248F97": {
164164
"Type": "AWS::S3::Bucket",
@@ -193,8 +193,8 @@
193193
]
194194
}
195195
},
196-
"DeletionPolicy": "Retain",
197-
"UpdateReplacePolicy": "Retain"
196+
"DeletionPolicy": "Delete",
197+
"UpdateReplacePolicy": "Delete"
198198
},
199199
"PipelineRoleD68726F7": {
200200
"Type": "AWS::IAM::Role",

packages/@aws-cdk/aws-codepipeline-actions/test/integ.lambda-pipeline.expected.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@
8282
"Version": "2012-10-17"
8383
}
8484
},
85-
"DeletionPolicy": "Retain",
86-
"UpdateReplacePolicy": "Retain"
85+
"DeletionPolicy": "Delete",
86+
"UpdateReplacePolicy": "Delete"
8787
},
8888
"PipelineArtifactsBucket22248F97": {
8989
"Type": "AWS::S3::Bucket",
@@ -118,8 +118,8 @@
118118
]
119119
}
120120
},
121-
"DeletionPolicy": "Retain",
122-
"UpdateReplacePolicy": "Retain"
121+
"DeletionPolicy": "Delete",
122+
"UpdateReplacePolicy": "Delete"
123123
},
124124
"PipelineRoleD68726F7": {
125125
"Type": "AWS::IAM::Role",

packages/@aws-cdk/aws-codepipeline-actions/test/integ.pipeline-alexa-deploy.expected.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@
9292
"Version": "2012-10-17"
9393
}
9494
},
95-
"DeletionPolicy": "Retain",
96-
"UpdateReplacePolicy": "Retain"
95+
"DeletionPolicy": "Delete",
96+
"UpdateReplacePolicy": "Delete"
9797
},
9898
"PipelineArtifactsBucket22248F97": {
9999
"Type": "AWS::S3::Bucket",
@@ -128,8 +128,8 @@
128128
]
129129
}
130130
},
131-
"DeletionPolicy": "Retain",
132-
"UpdateReplacePolicy": "Retain"
131+
"DeletionPolicy": "Delete",
132+
"UpdateReplacePolicy": "Delete"
133133
},
134134
"PipelineRoleD68726F7": {
135135
"Type": "AWS::IAM::Role",

packages/@aws-cdk/aws-codepipeline-actions/test/integ.pipeline-cfn.expected.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,8 @@
115115
"Version": "2012-10-17"
116116
}
117117
},
118-
"DeletionPolicy": "Retain",
119-
"UpdateReplacePolicy": "Retain"
118+
"DeletionPolicy": "Delete",
119+
"UpdateReplacePolicy": "Delete"
120120
},
121121
"PipelineArtifactsBucket22248F97": {
122122
"Type": "AWS::S3::Bucket",
@@ -151,8 +151,8 @@
151151
]
152152
}
153153
},
154-
"DeletionPolicy": "Retain",
155-
"UpdateReplacePolicy": "Retain"
154+
"DeletionPolicy": "Delete",
155+
"UpdateReplacePolicy": "Delete"
156156
},
157157
"PipelineRoleD68726F7": {
158158
"Type": "AWS::IAM::Role",

packages/@aws-cdk/aws-codepipeline-actions/test/integ.pipeline-code-commit-build.expected.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -330,8 +330,8 @@
330330
"Version": "2012-10-17"
331331
}
332332
},
333-
"DeletionPolicy": "Retain",
334-
"UpdateReplacePolicy": "Retain"
333+
"DeletionPolicy": "Delete",
334+
"UpdateReplacePolicy": "Delete"
335335
},
336336
"PipelineArtifactsBucket22248F97": {
337337
"Type": "AWS::S3::Bucket",
@@ -366,8 +366,8 @@
366366
]
367367
}
368368
},
369-
"UpdateReplacePolicy": "Retain",
370-
"DeletionPolicy": "Retain"
369+
"UpdateReplacePolicy": "Delete",
370+
"DeletionPolicy": "Delete"
371371
},
372372
"PipelineRoleD68726F7": {
373373
"Type": "AWS::IAM::Role",

packages/@aws-cdk/aws-codepipeline-actions/test/integ.pipeline-code-commit.expected.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,8 @@
155155
"Version": "2012-10-17"
156156
}
157157
},
158-
"DeletionPolicy": "Retain",
159-
"UpdateReplacePolicy": "Retain"
158+
"DeletionPolicy": "Delete",
159+
"UpdateReplacePolicy": "Delete"
160160
},
161161
"PipelineArtifactsBucket22248F97": {
162162
"Type": "AWS::S3::Bucket",
@@ -191,8 +191,8 @@
191191
]
192192
}
193193
},
194-
"DeletionPolicy": "Retain",
195-
"UpdateReplacePolicy": "Retain"
194+
"DeletionPolicy": "Delete",
195+
"UpdateReplacePolicy": "Delete"
196196
},
197197
"PipelineRoleD68726F7": {
198198
"Type": "AWS::IAM::Role",

packages/@aws-cdk/aws-codepipeline-actions/test/integ.pipeline-events.expected.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,8 @@
103103
"Version": "2012-10-17"
104104
}
105105
},
106-
"DeletionPolicy": "Retain",
107-
"UpdateReplacePolicy": "Retain"
106+
"DeletionPolicy": "Delete",
107+
"UpdateReplacePolicy": "Delete"
108108
},
109109
"MyPipelineArtifactsBucket727923DD": {
110110
"Type": "AWS::S3::Bucket",
@@ -139,8 +139,8 @@
139139
]
140140
}
141141
},
142-
"DeletionPolicy": "Retain",
143-
"UpdateReplacePolicy": "Retain"
142+
"DeletionPolicy": "Delete",
143+
"UpdateReplacePolicy": "Delete"
144144
},
145145
"MyPipelineRoleC0D47CA4": {
146146
"Type": "AWS::IAM::Role",

packages/@aws-cdk/aws-codepipeline-actions/test/integ.pipeline-s3-deploy.expected.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,8 @@
113113
"Version": "2012-10-17"
114114
}
115115
},
116-
"DeletionPolicy": "Retain",
117-
"UpdateReplacePolicy": "Retain"
116+
"DeletionPolicy": "Delete",
117+
"UpdateReplacePolicy": "Delete"
118118
},
119119
"PipelineArtifactsBucket22248F97": {
120120
"Type": "AWS::S3::Bucket",
@@ -149,8 +149,8 @@
149149
]
150150
}
151151
},
152-
"DeletionPolicy": "Retain",
153-
"UpdateReplacePolicy": "Retain"
152+
"DeletionPolicy": "Delete",
153+
"UpdateReplacePolicy": "Delete"
154154
},
155155
"PipelineRoleD68726F7": {
156156
"Type": "AWS::IAM::Role",

packages/@aws-cdk/aws-codepipeline/lib/cross-region-support-stack.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,13 @@ export class CrossRegionSupportConstruct extends cdk.Construct {
3434
constructor(scope: cdk.Construct, id: string) {
3535
super(scope, id);
3636

37-
const encryptionKey = new kms.Key(this, 'CrossRegionCodePipelineReplicationBucketEncryptionKey');
37+
const encryptionKey = new kms.Key(this, 'CrossRegionCodePipelineReplicationBucketEncryptionKey', {
38+
removalPolicy: cdk.RemovalPolicy.DESTROY,
39+
});
3840
const encryptionAlias = new AliasWithShorterGeneratedName(this, 'CrossRegionCodePipelineReplicationBucketEncryptionAlias', {
3941
targetKey: encryptionKey,
4042
aliasName: cdk.PhysicalName.GENERATE_IF_NEEDED,
41-
removalPolicy: cdk.RemovalPolicy.RETAIN,
43+
removalPolicy: cdk.RemovalPolicy.DESTROY,
4244
});
4345
this.replicationBucket = new s3.Bucket(this, 'CrossRegionCodePipelineReplicationBucket', {
4446
bucketName: cdk.PhysicalName.GENERATE_IF_NEEDED,

0 commit comments

Comments
 (0)