Skip to content

Commit 144b1b9

Browse files
authored
feat(codepipeline): change default value for crossAccountKeys to false (under feature flag) (#28556)
[The documentation](https://github.com/aws/aws-cdk/blob/f4c1d1253ee34c2837a57a93faa47c9da97ef6d8/packages/aws-cdk-lib/aws-codepipeline/lib/pipeline.ts#L380-L381) mentions updating the default for CDK v2. Sounds like we should add it in with feature flag. Closes #28247. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
1 parent 1931987 commit 144b1b9

28 files changed

+153
-12
lines changed

packages/@aws-cdk-testing/framework-integ/test/aws-codepipeline-actions/test/integ.cfn-template-from-repo.lit.ts

+1
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ const prodStage = {
5252
};
5353

5454
new codepipeline.Pipeline(stack, 'Pipeline', {
55+
crossAccountKeys: true,
5556
stages: [
5657
sourceStage,
5758
prodStage,

packages/@aws-cdk-testing/framework-integ/test/aws-codepipeline-actions/test/integ.lambda-deployed-through-codepipeline.lit.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ new lambda.Function(lambdaStack, 'Lambda', {
2020
// other resources that your Lambda needs, added to the lambdaStack...
2121

2222
const pipelineStack = new cdk.Stack(app, 'PipelineStack');
23-
const pipeline = new codepipeline.Pipeline(pipelineStack, 'Pipeline');
23+
const pipeline = new codepipeline.Pipeline(pipelineStack, 'Pipeline', {
24+
crossAccountKeys: true,
25+
});
2426

2527
// add the source code repository containing this code to your Pipeline,
2628
// and the source code of the Lambda Function, if they're separate

packages/@aws-cdk-testing/framework-integ/test/aws-codepipeline-actions/test/integ.lambda-pipeline.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ const app = new cdk.App();
1010

1111
const stack = new cdk.Stack(app, 'aws-cdk-codepipeline-lambda');
1212

13-
const pipeline = new codepipeline.Pipeline(stack, 'Pipeline');
13+
const pipeline = new codepipeline.Pipeline(stack, 'Pipeline', {
14+
crossAccountKeys: true,
15+
});
1416

1517
const sourceStage = pipeline.addStage({ stageName: 'Source' });
1618
const bucket = new s3.Bucket(stack, 'PipelineBucket', {

packages/@aws-cdk-testing/framework-integ/test/aws-codepipeline-actions/test/integ.pipeline-alexa-deploy.ts

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ const deployStage = {
3939
};
4040

4141
new codepipeline.Pipeline(stack, 'Pipeline', {
42+
crossAccountKeys: true,
4243
stages: [
4344
sourceStage,
4445
deployStage,

packages/@aws-cdk-testing/framework-integ/test/aws-codepipeline-actions/test/integ.pipeline-cfn.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ const app = new cdk.App();
88

99
const stack = new cdk.Stack(app, 'aws-cdk-codepipeline-cloudformation');
1010

11-
const pipeline = new codepipeline.Pipeline(stack, 'Pipeline');
11+
const pipeline = new codepipeline.Pipeline(stack, 'Pipeline', {
12+
crossAccountKeys: true,
13+
});
1214

1315
const bucket = new s3.Bucket(stack, 'PipelineBucket', {
1416
versioned: true,

packages/@aws-cdk-testing/framework-integ/test/aws-codepipeline-actions/test/integ.pipeline-code-commit-build.ts

+1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ const testAction = new cpactions.CodeBuildAction({
4747
});
4848

4949
new codepipeline.Pipeline(stack, 'Pipeline', {
50+
crossAccountKeys: true,
5051
stages: [
5152
{
5253
stageName: 'source',

packages/@aws-cdk-testing/framework-integ/test/aws-codepipeline-actions/test/integ.pipeline-code-commit-custom-event.ts

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ const eventPattern
3232

3333
const pipeline = new codepipeline.Pipeline(stack, 'Pipeline', {
3434
pipelineName: 'IntegCustomEventPipeline',
35+
crossAccountKeys: true,
3536
stages: [
3637
{
3738
stageName: 'source',

packages/@aws-cdk-testing/framework-integ/test/aws-codepipeline-actions/test/integ.pipeline-code-commit-main.ts

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ const repo = new codecommit.Repository(stack, 'MyRepo', {
1515
});
1616

1717
new codepipeline.Pipeline(stack, 'Pipeline', {
18+
crossAccountKeys: true,
1819
stages: [
1920
{
2021
stageName: 'source',

packages/@aws-cdk-testing/framework-integ/test/aws-codepipeline-actions/test/integ.pipeline-code-commit.ts

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ const repo = new codecommit.Repository(stack, 'MyRepo', {
1616
});
1717

1818
new codepipeline.Pipeline(stack, 'Pipeline', {
19+
crossAccountKeys: true,
1920
stages: [
2021
{
2122
stageName: 'source',

packages/@aws-cdk-testing/framework-integ/test/aws-codepipeline-actions/test/integ.pipeline-events.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ const app = new cdk.App();
1313

1414
const stack = new cdk.Stack(app, 'aws-cdk-pipeline-event-target');
1515

16-
const pipeline = new codepipeline.Pipeline(stack, 'MyPipeline');
16+
const pipeline = new codepipeline.Pipeline(stack, 'MyPipeline', {
17+
crossAccountKeys: true,
18+
});
1719

1820
const repository = new codecommit.Repository(stack, 'CodeCommitRepo', {
1921
repositoryName: 'foo',

packages/@aws-cdk-testing/framework-integ/test/aws-codepipeline-actions/test/integ.pipeline-stepfunctions.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ const simpleStateMachine = new stepfunctions.StateMachine(stack, 'SimpleStateMac
1515
definition: startState,
1616
});
1717

18-
const pipeline = new codepipeline.Pipeline(stack, 'MyPipeline');
18+
const pipeline = new codepipeline.Pipeline(stack, 'MyPipeline', {
19+
crossAccountKeys: true,
20+
});
1921
pipeline.addStage({
2022
stageName: 'Source',
2123
actions: [

packages/@aws-cdk-testing/framework-integ/test/aws-codepipeline-actions/test/integ.pipeline-with-replication.ts

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ const bucket = new Bucket(stack1, 'ReplicationBucket', {
3131

3232
const artifact = new Artifact();
3333
const pipeline = new Pipeline(stack2, 'Pipeline', {
34+
crossAccountKeys: true,
3435
crossRegionReplicationBuckets: {
3536
'us-east-1': bucket,
3637
},

packages/@aws-cdk-testing/framework-integ/test/aws-codepipeline-actions/test/s3/integ.source-bucket-events-cross-stack-same-env.ts

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ const bucket = new s3.Bucket(bucketStack, 'Bucket', {
1616
const pipelineStack = new Stack(app, 'PipelineStack');
1717
const sourceOutput = new codepipeline.Artifact();
1818
new codepipeline.Pipeline(pipelineStack, 'Pipeline', {
19+
crossAccountKeys: true,
1920
stages: [
2021
{
2122
stageName: 'Source',

packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/codepipeline/integ.pipeline-event-target.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,9 @@ const repo = new codecommit.Repository(stack, 'Repo', {
3838
repositoryName: 'TestRepository',
3939
});
4040

41-
const pipeline = new codepipeline.Pipeline(stack, 'pipelinePipeline22F2A91D');
41+
const pipeline = new codepipeline.Pipeline(stack, 'pipelinePipeline22F2A91D', {
42+
crossAccountKeys: true,
43+
});
4244

4345
const srcArtifact = new codepipeline.Artifact('Src');
4446
pipeline.addStage({

packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.pipeline-security.ts

+1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ export class TestCdkStack extends Stack {
4444
});
4545

4646
const pipeline = new cdkp.CdkPipeline(this, 'TestPipeline', {
47+
crossAccountKeys: true,
4748
selfMutating: false,
4849
pipelineName: 'TestPipeline',
4950
cloudAssemblyArtifact,

packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.pipeline-with-assets-single-upload.ts

+1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ class CdkpipelinesDemoPipelineStack extends Stack {
4747
autoDeleteObjects: true,
4848
});
4949
const pipeline = new cdkp.CdkPipeline(this, 'Pipeline', {
50+
crossAccountKeys: true,
5051
cloudAssemblyArtifact,
5152
singlePublisherPerType: true,
5253

packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.pipeline-with-assets.ts

+1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ class CdkpipelinesDemoPipelineStack extends Stack {
4747
autoDeleteObjects: true,
4848
});
4949
const pipeline = new cdkp.CdkPipeline(this, 'Pipeline', {
50+
crossAccountKeys: true,
5051
cloudAssemblyArtifact,
5152

5253
// Where the source can be found

packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.pipeline.ts

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ class CdkpipelinesDemoPipelineStack extends Stack {
3737
autoDeleteObjects: true,
3838
});
3939
const pipeline = new cdkp.CdkPipeline(this, 'Pipeline', {
40+
crossAccountKeys: true,
4041
cloudAssemblyArtifact,
4142

4243
// Where the source can be found

packages/@aws-cdk/aws-appconfig-alpha/test/integ.configuration.ts

+1
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@ const deployAction = new S3DeployAction({
199199
extract: true,
200200
});
201201
const pipeline = new Pipeline(stack, 'MyPipeline', {
202+
crossAccountKeys: true,
202203
stages: [
203204
{
204205
stageName: 'beta',

packages/@aws-cdk/aws-scheduler-targets-alpha/test/integ.codepipeline-start-pipeline-execution.ts

+1
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ const deployment = new BucketDeployment(stack, 'BucketDeployment', {
5858
],
5959
});
6060
const pipeline = new Pipeline(stack, 'Pipeline', {
61+
crossAccountKeys: true,
6162
stages: [
6263
{
6364
stageName: 'source',

packages/@aws-cdk/cx-api/FEATURE_FLAGS.md

+19-1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ Flags come in three types:
6464
| [@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials](#aws-cdkaws-rdspreventrenderingdeprecatedcredentials) | When enabled, creating an RDS database cluster from a snapshot will only render credentials for snapshot credentials. | 2.98.0 | (fix) |
6565
| [@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource](#aws-cdkaws-codepipeline-actionsusenewdefaultbranchforcodecommitsource) | When enabled, the CodeCommit source action is using the default branch name 'main'. | 2.103.1 | (fix) |
6666
| [@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction](#aws-cdkaws-cloudwatch-actionschangelambdapermissionlogicalidforlambdaaction) | When enabled, the logical ID of a Lambda permission for a Lambda action includes an alarm ID. | 2.124.0 | (fix) |
67+
| [@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse](#aws-cdkaws-codepipelinecrossaccountkeysdefaultvaluetofalse) | Enables Pipeline to set the default value for crossAccountKeys to false. | V2NEXT | (default) |
6768

6869
<!-- END table -->
6970

@@ -118,7 +119,8 @@ The following json shows the current recommended set of flags, as `cdk init` wou
118119
"@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": true,
119120
"@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": true,
120121
"@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": true,
121-
"@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": true
122+
"@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": true,
123+
"@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": true
122124
}
123125
}
124126
```
@@ -1213,4 +1215,20 @@ If the flag is set to false then it can only make one alarm for the Lambda with
12131215
| 2.124.0 | `false` | `true` |
12141216

12151217

1218+
### @aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse
1219+
1220+
*Enables Pipeline to set the default value for crossAccountKeys to false.* (default)
1221+
1222+
When this feature flag is enabled, and the `crossAccountKeys` property is not provided in a `Pipeline`
1223+
construct, the construct automatically defaults the value of this property to false.
1224+
1225+
1226+
| Since | Default | Recommended |
1227+
| ----- | ----- | ----- |
1228+
| (not in v1) | | |
1229+
| V2NEXT | `false` | `true` |
1230+
1231+
**Compatibility with old behavior:** Pass `crossAccountKeys: true` to `Pipeline` construct to restore the previous behavior.
1232+
1233+
12161234
<!-- END details -->

packages/aws-cdk-lib/aws-codepipeline-actions/test/integ.cfn-template-from-repo.lit.ts

+1
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ const prodStage = {
5252
};
5353

5454
new codepipeline.Pipeline(stack, 'Pipeline', {
55+
crossAccountKeys: true,
5556
stages: [
5657
sourceStage,
5758
prodStage,

packages/aws-cdk-lib/aws-codepipeline-actions/test/integ.lambda-deployed-through-codepipeline.lit.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ new lambda.Function(lambdaStack, 'Lambda', {
1919
// other resources that your Lambda needs, added to the lambdaStack...
2020

2121
const pipelineStack = new cdk.Stack(app, 'PipelineStack');
22-
const pipeline = new codepipeline.Pipeline(pipelineStack, 'Pipeline');
22+
const pipeline = new codepipeline.Pipeline(pipelineStack, 'Pipeline', {
23+
crossAccountKeys: true,
24+
});
2325

2426
// add the source code repository containing this code to your Pipeline,
2527
// and the source code of the Lambda Function, if they're separate

packages/aws-cdk-lib/aws-codepipeline/lib/pipeline.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,8 @@ export interface PipelineProps {
153153
* encrypted with an AWS-managed key). However, cross-account deployments will
154154
* no longer be possible.
155155
*
156-
* @default true
156+
* @default false - false if the feature flag `CODEPIPELINE_CROSS_ACCOUNT_KEYS_DEFAULT_VALUE_TO_FALSE`
157+
* is true, true otherwise
157158
*/
158159
readonly crossAccountKeys?: boolean;
159160

@@ -386,8 +387,9 @@ export class Pipeline extends PipelineBase {
386387
throw new Error('Only one of artifactBucket and crossRegionReplicationBuckets can be specified!');
387388
}
388389

389-
// @deprecated(v2): switch to default false
390-
this.crossAccountKeys = props.crossAccountKeys ?? true;
390+
// The feature flag is set to true by default for new projects, otherwise false.
391+
this.crossAccountKeys = props.crossAccountKeys
392+
?? (FeatureFlags.of(this).isEnabled(cxapi.CODEPIPELINE_CROSS_ACCOUNT_KEYS_DEFAULT_VALUE_TO_FALSE) ? false : true);
391393
this.enableKeyRotation = props.enableKeyRotation;
392394

393395
// Cross account keys must be set for key rotation to be enabled

packages/aws-cdk-lib/aws-codepipeline/test/pipeline.test.ts

+43
Original file line numberDiff line numberDiff line change
@@ -495,6 +495,49 @@ describe('', () => {
495495
'EnableKeyRotation': true,
496496
});
497497
});
498+
499+
test('crossAccountKeys as default value is set to false when feature flag is enabled', () => {
500+
const app = new cdk.App();
501+
app.node.setContext(cxapi.CODEPIPELINE_CROSS_ACCOUNT_KEYS_DEFAULT_VALUE_TO_FALSE, true);
502+
503+
const stack = new cdk.Stack(app, 'PipelineStack');
504+
const sourceOutput = new codepipeline.Artifact();
505+
new codepipeline.Pipeline(stack, 'Pipeline', {
506+
stages: [
507+
{
508+
stageName: 'Source',
509+
actions: [new FakeSourceAction({ actionName: 'Source', output: sourceOutput })],
510+
},
511+
{
512+
stageName: 'Build',
513+
actions: [new FakeBuildAction({ actionName: 'Build', input: sourceOutput })],
514+
},
515+
],
516+
});
517+
518+
Template.fromStack(stack).resourceCountIs('AWS::KMS::Key', 0);
519+
});
520+
521+
test('crossAccountKeys as default value is set to true when feature flag is not set', () => {
522+
const app = new cdk.App();
523+
524+
const stack = new cdk.Stack(app, 'PipelineStack');
525+
const sourceOutput = new codepipeline.Artifact();
526+
new codepipeline.Pipeline(stack, 'Pipeline', {
527+
stages: [
528+
{
529+
stageName: 'Source',
530+
actions: [new FakeSourceAction({ actionName: 'Source', output: sourceOutput })],
531+
},
532+
{
533+
stageName: 'Build',
534+
actions: [new FakeBuildAction({ actionName: 'Build', input: sourceOutput })],
535+
},
536+
],
537+
});
538+
539+
Template.fromStack(stack).resourceCountIs('AWS::KMS::Key', 1);
540+
});
498541
});
499542
});
500543

packages/aws-cdk-lib/cx-api/FEATURE_FLAGS.md

+19-1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ Flags come in three types:
6464
| [@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials](#aws-cdkaws-rdspreventrenderingdeprecatedcredentials) | When enabled, creating an RDS database cluster from a snapshot will only render credentials for snapshot credentials. | 2.98.0 | (fix) |
6565
| [@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource](#aws-cdkaws-codepipeline-actionsusenewdefaultbranchforcodecommitsource) | When enabled, the CodeCommit source action is using the default branch name 'main'. | 2.103.1 | (fix) |
6666
| [@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction](#aws-cdkaws-cloudwatch-actionschangelambdapermissionlogicalidforlambdaaction) | When enabled, the logical ID of a Lambda permission for a Lambda action includes an alarm ID. | 2.124.0 | (fix) |
67+
| [@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse](#aws-cdkaws-codepipelinecrossaccountkeysdefaultvaluetofalse) | Enables Pipeline to set the default value for crossAccountKeys to false. | V2NEXT | (default) |
6768

6869
<!-- END table -->
6970

@@ -118,7 +119,8 @@ The following json shows the current recommended set of flags, as `cdk init` wou
118119
"@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": true,
119120
"@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": true,
120121
"@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": true,
121-
"@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": true
122+
"@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": true,
123+
"@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": true
122124
}
123125
}
124126
```
@@ -1213,4 +1215,20 @@ If the flag is set to false then it can only make one alarm for the Lambda with
12131215
| 2.124.0 | `false` | `true` |
12141216

12151217

1218+
### @aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse
1219+
1220+
*Enables Pipeline to set the default value for crossAccountKeys to false.* (default)
1221+
1222+
When this feature flag is enabled, and the `crossAccountKeys` property is not provided in a `Pipeline`
1223+
construct, the construct automatically defaults the value of this property to false.
1224+
1225+
1226+
| Since | Default | Recommended |
1227+
| ----- | ----- | ----- |
1228+
| (not in v1) | | |
1229+
| V2NEXT | `false` | `true` |
1230+
1231+
**Compatibility with old behavior:** Pass `crossAccountKeys: true` to `Pipeline` construct to restore the previous behavior.
1232+
1233+
12161234
<!-- END details -->

packages/aws-cdk-lib/cx-api/README.md

+17
Original file line numberDiff line numberDiff line change
@@ -258,3 +258,20 @@ _cdk.json_
258258
}
259259
}
260260
```
261+
262+
* `@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse`
263+
264+
Enables Pipeline to set the default value for `crossAccountKeys` to false.
265+
266+
When this feature flag is enabled, and the `crossAccountKeys` property is not provided in a `Pipeline`
267+
construct, the construct automatically defaults the value of this property to false.
268+
269+
_cdk.json_
270+
271+
```json
272+
{
273+
"context": {
274+
"@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": true
275+
}
276+
}
277+
```

packages/aws-cdk-lib/cx-api/lib/features.ts

+14
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ export const AURORA_CLUSTER_CHANGE_SCOPE_OF_INSTANCE_PARAMETER_GROUP_WITH_EACH_P
9898
export const APPSYNC_ENABLE_USE_ARN_IDENTIFIER_SOURCE_API_ASSOCIATION = '@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier';
9999
export const CODECOMMIT_SOURCE_ACTION_DEFAULT_BRANCH_NAME = '@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource';
100100
export const LAMBDA_PERMISSION_LOGICAL_ID_FOR_LAMBDA_ACTION = '@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction';
101+
export const CODEPIPELINE_CROSS_ACCOUNT_KEYS_DEFAULT_VALUE_TO_FALSE = '@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse';
101102

102103
export const FLAGS: Record<string, FlagInfo> = {
103104
//////////////////////////////////////////////////////////////////////
@@ -993,6 +994,19 @@ export const FLAGS: Record<string, FlagInfo> = {
993994
introducedIn: { v2: '2.124.0' },
994995
recommendedValue: true,
995996
},
997+
998+
//////////////////////////////////////////////////////////////////////
999+
[CODEPIPELINE_CROSS_ACCOUNT_KEYS_DEFAULT_VALUE_TO_FALSE]: {
1000+
type: FlagType.ApiDefault,
1001+
summary: 'Enables Pipeline to set the default value for crossAccountKeys to false.',
1002+
detailsMd: `
1003+
When this feature flag is enabled, and the \`crossAccountKeys\` property is not provided in a \`Pipeline\`
1004+
construct, the construct automatically defaults the value of this property to false.
1005+
`,
1006+
introducedIn: { v2: 'V2NEXT' },
1007+
recommendedValue: true,
1008+
compatibilityWithOldBehaviorMd: 'Pass `crossAccountKeys: true` to `Pipeline` construct to restore the previous behavior.',
1009+
},
9961010
};
9971011

9981012
const CURRENT_MV = 'v2';

0 commit comments

Comments
 (0)