Skip to content

Commit 53a1d5f

Browse files
feat(msk): add Kafka versions 3.1.1, 3.2.0, and and 3.3.1 (#23918)
Add support for Apache Kafka versions 3.1.1, 3.2.0 and 3.3.1 in Amazon MSK. Announcements: - [3.1.1 and 3.2.0](https://aws.amazon.com/about-aws/whats-new/2022/06/amazon-msk-adds-support-apache-kafka-version-3-1-1-3-2-0/) (Posted On: Jun 22, 2022) - [3.3.1](https://aws.amazon.com/about-aws/whats-new/2022/10/amazon-msk-support-apache-kafka-version-3-3-1) (Posted On: Oct 26, 2022) Closes #23899 ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
1 parent 324ee45 commit 53a1d5f

File tree

24 files changed

+7341
-22
lines changed

24 files changed

+7341
-22
lines changed

packages/@aws-cdk/aws-msk/lib/cluster-version.ts

+15
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,21 @@ export class KafkaVersion {
7272
*/
7373
public static readonly V2_8_1 = KafkaVersion.of('2.8.1');
7474

75+
/**
76+
* Kafka version 3.1.1
77+
*/
78+
public static readonly V3_1_1 = KafkaVersion.of('3.1.1');
79+
80+
/**
81+
* Kafka version 3.2.0
82+
*/
83+
public static readonly V3_2_0 = KafkaVersion.of('3.2.0');
84+
85+
/**
86+
* Kafka version 3.3.1
87+
*/
88+
public static readonly V3_3_1 = KafkaVersion.of('3.3.1');
89+
7590
/**
7691
* Custom cluster version
7792
* @param version custom version number

packages/@aws-cdk/aws-msk/test/cluster.test.ts

+34
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,40 @@ describe('MSK Cluster', () => {
2222
vpc = new ec2.Vpc(stack, 'Vpc');
2323
});
2424

25+
test.each([
26+
[msk.KafkaVersion.V1_1_1, '1.1.1'],
27+
[msk.KafkaVersion.V2_2_1, '2.2.1'],
28+
[msk.KafkaVersion.V2_3_1, '2.3.1'],
29+
[msk.KafkaVersion.V2_4_1_1, '2.4.1.1'],
30+
[msk.KafkaVersion.V2_5_1, '2.5.1'],
31+
[msk.KafkaVersion.V2_6_0, '2.6.0'],
32+
[msk.KafkaVersion.V2_6_1, '2.6.1'],
33+
[msk.KafkaVersion.V2_6_2, '2.6.2'],
34+
[msk.KafkaVersion.V2_6_3, '2.6.3'],
35+
[msk.KafkaVersion.V2_7_0, '2.7.0'],
36+
[msk.KafkaVersion.V2_7_1, '2.7.1'],
37+
[msk.KafkaVersion.V2_7_2, '2.7.2'],
38+
[msk.KafkaVersion.V2_8_0, '2.8.0'],
39+
[msk.KafkaVersion.V2_8_1, '2.8.1'],
40+
[msk.KafkaVersion.V3_1_1, '3.1.1'],
41+
[msk.KafkaVersion.V3_2_0, '3.2.0'],
42+
[msk.KafkaVersion.V3_3_1, '3.3.1'],
43+
],
44+
)('created with expected Kafka version %j', (parameter, result) => {
45+
new msk.Cluster(stack, 'Cluster', {
46+
clusterName: 'cluster',
47+
kafkaVersion: parameter,
48+
vpc,
49+
});
50+
51+
Template.fromStack(stack).hasResource(
52+
'AWS::MSK::Cluster', {},
53+
);
54+
Template.fromStack(stack).hasResourceProperties('AWS::MSK::Cluster', {
55+
KafkaVersion: result,
56+
});
57+
});
58+
2559
test('created with default properties', () => {
2660
new msk.Cluster(stack, 'Cluster', {
2761
clusterName: 'cluster',

packages/@aws-cdk/aws-msk/test/integ.cluster.js.snapshot/MskLoggingDefaultTestDeployAssertC2F074AF.assets.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
{
2-
"version": "22.0.0",
2+
"version": "30.0.0",
33
"files": {
4-
"278d42fa865f60954d898636503d0ee86a6689d73dc50eb912fac62def0ef6a4": {
4+
"1f3c2cfb18e102edc713fe4c4b4d87572f4297ee4a5e80a5960adf526ee9ea28": {
55
"source": {
6-
"path": "asset.278d42fa865f60954d898636503d0ee86a6689d73dc50eb912fac62def0ef6a4.bundle",
6+
"path": "asset.1f3c2cfb18e102edc713fe4c4b4d87572f4297ee4a5e80a5960adf526ee9ea28.bundle",
77
"packaging": "zip"
88
},
99
"destinations": {
1010
"current_account-current_region": {
1111
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
12-
"objectKey": "278d42fa865f60954d898636503d0ee86a6689d73dc50eb912fac62def0ef6a4.zip",
12+
"objectKey": "1f3c2cfb18e102edc713fe4c4b4d87572f4297ee4a5e80a5960adf526ee9ea28.zip",
1313
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
1414
}
1515
}
1616
},
17-
"a05397c3727c3e7f038b83dffd978e425efd93679403b58df9e637d090313b4d": {
17+
"e05a31925a856f753d012d462f51a3f4b884235b0fe9c3cea1b63e4c95fcd2c4": {
1818
"source": {
1919
"path": "MskLoggingDefaultTestDeployAssertC2F074AF.template.json",
2020
"packaging": "file"
2121
},
2222
"destinations": {
2323
"current_account-current_region": {
2424
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
25-
"objectKey": "a05397c3727c3e7f038b83dffd978e425efd93679403b58df9e637d090313b4d.json",
25+
"objectKey": "e05a31925a856f753d012d462f51a3f4b884235b0fe9c3cea1b63e4c95fcd2c4.json",
2626
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
2727
}
2828
}

packages/@aws-cdk/aws-msk/test/integ.cluster.js.snapshot/MskLoggingDefaultTestDeployAssertC2F074AF.template.json

+11-2
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
}
3232
},
3333
"flattenResponse": "false",
34-
"salt": "1673270420990"
34+
"salt": "1677027448917"
3535
},
3636
"UpdateReplacePolicy": "Delete",
3737
"DeletionPolicy": "Delete"
@@ -100,6 +100,15 @@
100100
]
101101
}
102102
]
103+
},
104+
{
105+
"Action": [
106+
"kafka:GetBootstrapBrokers"
107+
],
108+
"Effect": "Allow",
109+
"Resource": [
110+
"*"
111+
]
103112
}
104113
]
105114
}
@@ -115,7 +124,7 @@
115124
"S3Bucket": {
116125
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
117126
},
118-
"S3Key": "278d42fa865f60954d898636503d0ee86a6689d73dc50eb912fac62def0ef6a4.zip"
127+
"S3Key": "1f3c2cfb18e102edc713fe4c4b4d87572f4297ee4a5e80a5960adf526ee9ea28.zip"
119128
},
120129
"Timeout": 120,
121130
"Handler": "index.handler",

0 commit comments

Comments
 (0)