@aws-cdk/aws-msk-alpha 2.40.0-alpha.0 → 2.42.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +113 -25
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +13 -1
- package/README.md +31 -2
- package/lib/cluster-version.js +1 -1
- package/lib/cluster.d.ts +9 -0
- package/lib/cluster.js +26 -3
- package/package.json +8 -8
- package/.jsii.tabl.json +0 -1388
package/.jsii
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"url": "https://aws.amazon.com"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"aws-cdk-lib": "^2.
|
|
11
|
+
"aws-cdk-lib": "^2.42.0",
|
|
12
12
|
"constructs": "^10.0.0"
|
|
13
13
|
},
|
|
14
14
|
"dependencyClosure": {
|
|
@@ -730,6 +730,19 @@
|
|
|
730
730
|
}
|
|
731
731
|
}
|
|
732
732
|
},
|
|
733
|
+
"aws-cdk-lib.aws_controltower": {
|
|
734
|
+
"targets": {
|
|
735
|
+
"dotnet": {
|
|
736
|
+
"namespace": "Amazon.CDK.AWS.ControlTower"
|
|
737
|
+
},
|
|
738
|
+
"java": {
|
|
739
|
+
"package": "software.amazon.awscdk.services.controltower"
|
|
740
|
+
},
|
|
741
|
+
"python": {
|
|
742
|
+
"module": "aws_cdk.aws_controltower"
|
|
743
|
+
}
|
|
744
|
+
}
|
|
745
|
+
},
|
|
733
746
|
"aws-cdk-lib.aws_cur": {
|
|
734
747
|
"targets": {
|
|
735
748
|
"dotnet": {
|
|
@@ -1848,6 +1861,19 @@
|
|
|
1848
1861
|
}
|
|
1849
1862
|
}
|
|
1850
1863
|
},
|
|
1864
|
+
"aws-cdk-lib.aws_m2": {
|
|
1865
|
+
"targets": {
|
|
1866
|
+
"dotnet": {
|
|
1867
|
+
"namespace": "Amazon.CDK.AWS.M2"
|
|
1868
|
+
},
|
|
1869
|
+
"java": {
|
|
1870
|
+
"package": "software.amazon.awscdk.services.m2"
|
|
1871
|
+
},
|
|
1872
|
+
"python": {
|
|
1873
|
+
"module": "aws_cdk.aws_m2"
|
|
1874
|
+
}
|
|
1875
|
+
}
|
|
1876
|
+
},
|
|
1851
1877
|
"aws-cdk-lib.aws_macie": {
|
|
1852
1878
|
"targets": {
|
|
1853
1879
|
"dotnet": {
|
|
@@ -2706,6 +2732,19 @@
|
|
|
2706
2732
|
}
|
|
2707
2733
|
}
|
|
2708
2734
|
},
|
|
2735
|
+
"aws-cdk-lib.aws_supportapp": {
|
|
2736
|
+
"targets": {
|
|
2737
|
+
"dotnet": {
|
|
2738
|
+
"namespace": "Amazon.CDK.AWS.SupportApp"
|
|
2739
|
+
},
|
|
2740
|
+
"java": {
|
|
2741
|
+
"package": "software.amazon.awscdk.services.supportapp"
|
|
2742
|
+
},
|
|
2743
|
+
"python": {
|
|
2744
|
+
"module": "aws_cdk.aws_supportapp"
|
|
2745
|
+
}
|
|
2746
|
+
}
|
|
2747
|
+
},
|
|
2709
2748
|
"aws-cdk-lib.aws_synthetics": {
|
|
2710
2749
|
"targets": {
|
|
2711
2750
|
"dotnet": {
|
|
@@ -3024,7 +3063,7 @@
|
|
|
3024
3063
|
"stability": "experimental"
|
|
3025
3064
|
},
|
|
3026
3065
|
"homepage": "https://github.com/aws/aws-cdk",
|
|
3027
|
-
"jsiiVersion": "1.
|
|
3066
|
+
"jsiiVersion": "1.67.0 (build 2c027f5)",
|
|
3028
3067
|
"keywords": [
|
|
3029
3068
|
"aws",
|
|
3030
3069
|
"cdk",
|
|
@@ -3046,7 +3085,7 @@
|
|
|
3046
3085
|
},
|
|
3047
3086
|
"name": "@aws-cdk/aws-msk-alpha",
|
|
3048
3087
|
"readme": {
|
|
3049
|
-
"markdown": "# Amazon Managed Streaming for Apache Kafka Construct Library\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n\n<!--END STABILITY BANNER-->\n\n[Amazon MSK](https://aws.amazon.com/msk/) is a fully managed service that makes it easy for you to build and run applications that use Apache Kafka to process streaming data.\n\nThe following example creates an MSK Cluster.\n\n```ts\ndeclare const vpc: ec2.Vpc;\nconst cluster = new msk.Cluster(this, 'Cluster', {\n clusterName: 'myCluster',\n kafkaVersion: msk.KafkaVersion.V2_8_1,\n vpc,\n});\n```\n\n## Allowing Connections\n\nTo control who can access the Cluster, use the `.connections` attribute. For a list of ports used by MSK, refer to the [MSK documentation](https://docs.aws.amazon.com/msk/latest/developerguide/client-access.html#port-info).\n\n```ts\ndeclare const vpc: ec2.Vpc;\nconst cluster = new msk.Cluster(this, 'Cluster', {\n clusterName: 'myCluster',\n kafkaVersion: msk.KafkaVersion.V2_8_1,\n vpc,\n});\n\ncluster.connections.allowFrom(\n ec2.Peer.ipv4('1.2.3.4/8'),\n ec2.Port.tcp(2181),\n);\ncluster.connections.allowFrom(\n ec2.Peer.ipv4('1.2.3.4/8'),\n ec2.Port.tcp(9094),\n);\n```\n\n## Cluster Endpoints\n\nYou can use the following attributes to get a list of the Kafka broker or ZooKeeper node endpoints\n\n```ts\ndeclare const cluster: msk.Cluster;\nnew CfnOutput(this, 'BootstrapBrokers', { value: cluster.bootstrapBrokers });\nnew CfnOutput(this, 'BootstrapBrokersTls', { value: cluster.bootstrapBrokersTls });\nnew CfnOutput(this, 'BootstrapBrokersSaslScram', { value: cluster.bootstrapBrokersSaslScram });\nnew CfnOutput(this, 'BootstrapBrokerStringSaslIam', { value: cluster.bootstrapBrokersSaslIam });\nnew CfnOutput(this, 'ZookeeperConnection', { value: cluster.zookeeperConnectionString });\nnew CfnOutput(this, 'ZookeeperConnectionTls', { value: cluster.zookeeperConnectionStringTls });\n```\n\n## Importing an existing Cluster\n\nTo import an existing MSK cluster into your CDK app use the `.fromClusterArn()` method.\n\n```ts\nconst cluster = msk.Cluster.fromClusterArn(this, 'Cluster',\n 'arn:aws:kafka:us-west-2:1234567890:cluster/a-cluster/11111111-1111-1111-1111-111111111111-1',\n);\n```\n\n## Client Authentication\n\n[MSK supports](https://docs.aws.amazon.com/msk/latest/developerguide/kafka_apis_iam.html) the following authentication mechanisms.\n\n
|
|
3088
|
+
"markdown": "# Amazon Managed Streaming for Apache Kafka Construct Library\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n\n<!--END STABILITY BANNER-->\n\n[Amazon MSK](https://aws.amazon.com/msk/) is a fully managed service that makes it easy for you to build and run applications that use Apache Kafka to process streaming data.\n\nThe following example creates an MSK Cluster.\n\n```ts\ndeclare const vpc: ec2.Vpc;\nconst cluster = new msk.Cluster(this, 'Cluster', {\n clusterName: 'myCluster',\n kafkaVersion: msk.KafkaVersion.V2_8_1,\n vpc,\n});\n```\n\n## Allowing Connections\n\nTo control who can access the Cluster, use the `.connections` attribute. For a list of ports used by MSK, refer to the [MSK documentation](https://docs.aws.amazon.com/msk/latest/developerguide/client-access.html#port-info).\n\n```ts\ndeclare const vpc: ec2.Vpc;\nconst cluster = new msk.Cluster(this, 'Cluster', {\n clusterName: 'myCluster',\n kafkaVersion: msk.KafkaVersion.V2_8_1,\n vpc,\n});\n\ncluster.connections.allowFrom(\n ec2.Peer.ipv4('1.2.3.4/8'),\n ec2.Port.tcp(2181),\n);\ncluster.connections.allowFrom(\n ec2.Peer.ipv4('1.2.3.4/8'),\n ec2.Port.tcp(9094),\n);\n```\n\n## Cluster Endpoints\n\nYou can use the following attributes to get a list of the Kafka broker or ZooKeeper node endpoints\n\n```ts\ndeclare const cluster: msk.Cluster;\nnew CfnOutput(this, 'BootstrapBrokers', { value: cluster.bootstrapBrokers });\nnew CfnOutput(this, 'BootstrapBrokersTls', { value: cluster.bootstrapBrokersTls });\nnew CfnOutput(this, 'BootstrapBrokersSaslScram', { value: cluster.bootstrapBrokersSaslScram });\nnew CfnOutput(this, 'BootstrapBrokerStringSaslIam', { value: cluster.bootstrapBrokersSaslIam });\nnew CfnOutput(this, 'ZookeeperConnection', { value: cluster.zookeeperConnectionString });\nnew CfnOutput(this, 'ZookeeperConnectionTls', { value: cluster.zookeeperConnectionStringTls });\n```\n\n## Importing an existing Cluster\n\nTo import an existing MSK cluster into your CDK app use the `.fromClusterArn()` method.\n\n```ts\nconst cluster = msk.Cluster.fromClusterArn(this, 'Cluster',\n 'arn:aws:kafka:us-west-2:1234567890:cluster/a-cluster/11111111-1111-1111-1111-111111111111-1',\n);\n```\n\n## Client Authentication\n\n[MSK supports](https://docs.aws.amazon.com/msk/latest/developerguide/kafka_apis_iam.html) the following authentication mechanisms.\n\n### TLS\n\nTo enable client authentication with TLS set the `certificateAuthorityArns` property to reference your ACM Private CA. [More info on Private CAs.](https://docs.aws.amazon.com/msk/latest/developerguide/msk-authentication.html)\n\n```ts\nimport * as acmpca from 'aws-cdk-lib/aws-acmpca';\n\ndeclare const vpc: ec2.Vpc;\nconst cluster = new msk.Cluster(this, 'Cluster', {\n clusterName: 'myCluster',\n kafkaVersion: msk.KafkaVersion.V2_8_1,\n vpc,\n encryptionInTransit: {\n clientBroker: msk.ClientBrokerEncryption.TLS,\n },\n clientAuthentication: msk.ClientAuthentication.tls({\n certificateAuthorities: [\n acmpca.CertificateAuthority.fromCertificateAuthorityArn(\n this,\n 'CertificateAuthority',\n 'arn:aws:acm-pca:us-west-2:1234567890:certificate-authority/11111111-1111-1111-1111-111111111111',\n ),\n ],\n }),\n});\n```\n\n### SASL/SCRAM\n\nEnable client authentication with [SASL/SCRAM](https://docs.aws.amazon.com/msk/latest/developerguide/msk-password.html):\n\n```ts\ndeclare const vpc: ec2.Vpc;\nconst cluster = new msk.Cluster(this, 'cluster', {\n clusterName: 'myCluster',\n kafkaVersion: msk.KafkaVersion.V2_8_1,\n vpc,\n encryptionInTransit: {\n clientBroker: msk.ClientBrokerEncryption.TLS,\n },\n clientAuthentication: msk.ClientAuthentication.sasl({\n scram: true,\n }),\n});\n```\n\n### SASL/IAM\n\nEnable client authentication with [IAM](https://docs.aws.amazon.com/msk/latest/developerguide/iam-access-control.html):\n\n```ts\ndeclare const vpc: ec2.Vpc;\nconst cluster = new msk.Cluster(this, 'cluster', {\n clusterName: 'myCluster',\n kafkaVersion: msk.KafkaVersion.V2_8_1,\n vpc,\n encryptionInTransit: {\n clientBroker: msk.ClientBrokerEncryption.TLS,\n },\n clientAuthentication: msk.ClientAuthentication.sasl({\n iam: true,\n }),\n});\n```\n\n\n### SASL/IAM + TLS\n\nEnable client authentication with [IAM](https://docs.aws.amazon.com/msk/latest/developerguide/iam-access-control.html)\nas well as enable client authentication with TLS by setting the `certificateAuthorityArns` property to reference your ACM Private CA. [More info on Private CAs.](https://docs.aws.amazon.com/msk/latest/developerguide/msk-authentication.html)\n\n```ts\nimport * as acmpca from 'aws-cdk-lib/aws-acmpca';\n\ndeclare const vpc: ec2.Vpc;\nconst cluster = new msk.Cluster(this, 'Cluster', {\n clusterName: 'myCluster',\n kafkaVersion: msk.KafkaVersion.V2_8_1,\n vpc,\n encryptionInTransit: {\n clientBroker: msk.ClientBrokerEncryption.TLS,\n },\n clientAuthentication: msk.ClientAuthentication.saslTls({\n iam: true,\n certificateAuthorities: [\n acmpca.CertificateAuthority.fromCertificateAuthorityArn(\n this,\n 'CertificateAuthority',\n 'arn:aws:acm-pca:us-west-2:1234567890:certificate-authority/11111111-1111-1111-1111-111111111111',\n ),\n ],\n }),\n});\n```\n\n\n## Logging\n\nYou can deliver Apache Kafka broker logs to one or more of the following destination types:\nAmazon CloudWatch Logs, Amazon S3, Amazon Kinesis Data Firehose.\n\nTo configure logs to be sent to an S3 bucket, provide a bucket in the `logging` config.\n\n```ts\ndeclare const vpc: ec2.Vpc;\ndeclare const bucket: s3.IBucket;\nconst cluster = new msk.Cluster(this, 'cluster', {\n clusterName: 'myCluster',\n kafkaVersion: msk.KafkaVersion.V2_8_1,\n vpc,\n logging: {\n s3: {\n bucket,\n },\n },\n});\n```\n\nWhen the S3 destination is configured, AWS will automatically create an S3 bucket policy\nthat allows the service to write logs to the bucket. This makes it impossible to later update\nthat bucket policy. To have CDK create the bucket policy so that future updates can be made,\nthe `@aws-cdk/aws-s3:createDefaultLoggingPolicy` [feature flag](https://docs.aws.amazon.com/cdk/v2/guide/featureflags.html) can be used. This can be set\nin the `cdk.json` file.\n\n```json\n{\n \"context\": {\n \"@aws-cdk/aws-s3:createDefaultLoggingPolicy\": true\n }\n}\n```\n\n"
|
|
3050
3089
|
},
|
|
3051
3090
|
"repository": {
|
|
3052
3091
|
"directory": "packages/individual-packages/aws-msk",
|
|
@@ -3165,7 +3204,7 @@
|
|
|
3165
3204
|
"docs": {
|
|
3166
3205
|
"stability": "experimental",
|
|
3167
3206
|
"summary": "Configuration properties for client authentication.",
|
|
3168
|
-
"example": "
|
|
3207
|
+
"example": "import * as acmpca from 'aws-cdk-lib/aws-acmpca';\n\ndeclare const vpc: ec2.Vpc;\nconst cluster = new msk.Cluster(this, 'Cluster', {\n clusterName: 'myCluster',\n kafkaVersion: msk.KafkaVersion.V2_8_1,\n vpc,\n encryptionInTransit: {\n clientBroker: msk.ClientBrokerEncryption.TLS,\n },\n clientAuthentication: msk.ClientAuthentication.tls({\n certificateAuthorities: [\n acmpca.CertificateAuthority.fromCertificateAuthorityArn(\n this,\n 'CertificateAuthority',\n 'arn:aws:acm-pca:us-west-2:1234567890:certificate-authority/11111111-1111-1111-1111-111111111111',\n ),\n ],\n }),\n});",
|
|
3169
3208
|
"custom": {
|
|
3170
3209
|
"exampleMetadata": "infused"
|
|
3171
3210
|
}
|
|
@@ -3174,7 +3213,7 @@
|
|
|
3174
3213
|
"kind": "class",
|
|
3175
3214
|
"locationInModule": {
|
|
3176
3215
|
"filename": "lib/cluster.ts",
|
|
3177
|
-
"line":
|
|
3216
|
+
"line": 354
|
|
3178
3217
|
},
|
|
3179
3218
|
"methods": [
|
|
3180
3219
|
{
|
|
@@ -3184,7 +3223,7 @@
|
|
|
3184
3223
|
},
|
|
3185
3224
|
"locationInModule": {
|
|
3186
3225
|
"filename": "lib/cluster.ts",
|
|
3187
|
-
"line":
|
|
3226
|
+
"line": 358
|
|
3188
3227
|
},
|
|
3189
3228
|
"name": "sasl",
|
|
3190
3229
|
"parameters": [
|
|
@@ -3202,6 +3241,31 @@
|
|
|
3202
3241
|
},
|
|
3203
3242
|
"static": true
|
|
3204
3243
|
},
|
|
3244
|
+
{
|
|
3245
|
+
"docs": {
|
|
3246
|
+
"stability": "experimental",
|
|
3247
|
+
"summary": "SASL + TLS authentication."
|
|
3248
|
+
},
|
|
3249
|
+
"locationInModule": {
|
|
3250
|
+
"filename": "lib/cluster.ts",
|
|
3251
|
+
"line": 372
|
|
3252
|
+
},
|
|
3253
|
+
"name": "saslTls",
|
|
3254
|
+
"parameters": [
|
|
3255
|
+
{
|
|
3256
|
+
"name": "saslTlsProps",
|
|
3257
|
+
"type": {
|
|
3258
|
+
"fqn": "@aws-cdk/aws-msk-alpha.SaslTlsAuthProps"
|
|
3259
|
+
}
|
|
3260
|
+
}
|
|
3261
|
+
],
|
|
3262
|
+
"returns": {
|
|
3263
|
+
"type": {
|
|
3264
|
+
"fqn": "@aws-cdk/aws-msk-alpha.ClientAuthentication"
|
|
3265
|
+
}
|
|
3266
|
+
},
|
|
3267
|
+
"static": true
|
|
3268
|
+
},
|
|
3205
3269
|
{
|
|
3206
3270
|
"docs": {
|
|
3207
3271
|
"stability": "experimental",
|
|
@@ -3209,7 +3273,7 @@
|
|
|
3209
3273
|
},
|
|
3210
3274
|
"locationInModule": {
|
|
3211
3275
|
"filename": "lib/cluster.ts",
|
|
3212
|
-
"line":
|
|
3276
|
+
"line": 365
|
|
3213
3277
|
},
|
|
3214
3278
|
"name": "tls",
|
|
3215
3279
|
"parameters": [
|
|
@@ -3238,7 +3302,7 @@
|
|
|
3238
3302
|
"immutable": true,
|
|
3239
3303
|
"locationInModule": {
|
|
3240
3304
|
"filename": "lib/cluster.ts",
|
|
3241
|
-
"line":
|
|
3305
|
+
"line": 381
|
|
3242
3306
|
},
|
|
3243
3307
|
"name": "saslProps",
|
|
3244
3308
|
"optional": true,
|
|
@@ -3254,7 +3318,7 @@
|
|
|
3254
3318
|
"immutable": true,
|
|
3255
3319
|
"locationInModule": {
|
|
3256
3320
|
"filename": "lib/cluster.ts",
|
|
3257
|
-
"line":
|
|
3321
|
+
"line": 382
|
|
3258
3322
|
},
|
|
3259
3323
|
"name": "tlsProps",
|
|
3260
3324
|
"optional": true,
|
|
@@ -3270,7 +3334,7 @@
|
|
|
3270
3334
|
"docs": {
|
|
3271
3335
|
"stability": "experimental",
|
|
3272
3336
|
"summary": "Indicates the encryption setting for data in transit between clients and brokers.",
|
|
3273
|
-
"example": "
|
|
3337
|
+
"example": "import * as acmpca from 'aws-cdk-lib/aws-acmpca';\n\ndeclare const vpc: ec2.Vpc;\nconst cluster = new msk.Cluster(this, 'Cluster', {\n clusterName: 'myCluster',\n kafkaVersion: msk.KafkaVersion.V2_8_1,\n vpc,\n encryptionInTransit: {\n clientBroker: msk.ClientBrokerEncryption.TLS,\n },\n clientAuthentication: msk.ClientAuthentication.tls({\n certificateAuthorities: [\n acmpca.CertificateAuthority.fromCertificateAuthorityArn(\n this,\n 'CertificateAuthority',\n 'arn:aws:acm-pca:us-west-2:1234567890:certificate-authority/11111111-1111-1111-1111-111111111111',\n ),\n ],\n }),\n});",
|
|
3274
3338
|
"custom": {
|
|
3275
3339
|
"exampleMetadata": "infused"
|
|
3276
3340
|
}
|
|
@@ -3326,7 +3390,7 @@
|
|
|
3326
3390
|
},
|
|
3327
3391
|
"locationInModule": {
|
|
3328
3392
|
"filename": "lib/cluster.ts",
|
|
3329
|
-
"line":
|
|
3393
|
+
"line": 415
|
|
3330
3394
|
},
|
|
3331
3395
|
"parameters": [
|
|
3332
3396
|
{
|
|
@@ -3355,7 +3419,7 @@
|
|
|
3355
3419
|
"kind": "class",
|
|
3356
3420
|
"locationInModule": {
|
|
3357
3421
|
"filename": "lib/cluster.ts",
|
|
3358
|
-
"line":
|
|
3422
|
+
"line": 391
|
|
3359
3423
|
},
|
|
3360
3424
|
"methods": [
|
|
3361
3425
|
{
|
|
@@ -3365,7 +3429,7 @@
|
|
|
3365
3429
|
},
|
|
3366
3430
|
"locationInModule": {
|
|
3367
3431
|
"filename": "lib/cluster.ts",
|
|
3368
|
-
"line":
|
|
3432
|
+
"line": 395
|
|
3369
3433
|
},
|
|
3370
3434
|
"name": "fromClusterArn",
|
|
3371
3435
|
"parameters": [
|
|
@@ -3403,7 +3467,7 @@
|
|
|
3403
3467
|
},
|
|
3404
3468
|
"locationInModule": {
|
|
3405
3469
|
"filename": "lib/cluster.ts",
|
|
3406
|
-
"line":
|
|
3470
|
+
"line": 834
|
|
3407
3471
|
},
|
|
3408
3472
|
"name": "addUser",
|
|
3409
3473
|
"parameters": [
|
|
@@ -3433,7 +3497,7 @@
|
|
|
3433
3497
|
"immutable": true,
|
|
3434
3498
|
"locationInModule": {
|
|
3435
3499
|
"filename": "lib/cluster.ts",
|
|
3436
|
-
"line":
|
|
3500
|
+
"line": 789
|
|
3437
3501
|
},
|
|
3438
3502
|
"name": "bootstrapBrokers",
|
|
3439
3503
|
"type": {
|
|
@@ -3450,7 +3514,7 @@
|
|
|
3450
3514
|
"immutable": true,
|
|
3451
3515
|
"locationInModule": {
|
|
3452
3516
|
"filename": "lib/cluster.ts",
|
|
3453
|
-
"line":
|
|
3517
|
+
"line": 822
|
|
3454
3518
|
},
|
|
3455
3519
|
"name": "bootstrapBrokersSaslIam",
|
|
3456
3520
|
"type": {
|
|
@@ -3467,7 +3531,7 @@
|
|
|
3467
3531
|
"immutable": true,
|
|
3468
3532
|
"locationInModule": {
|
|
3469
3533
|
"filename": "lib/cluster.ts",
|
|
3470
|
-
"line":
|
|
3534
|
+
"line": 811
|
|
3471
3535
|
},
|
|
3472
3536
|
"name": "bootstrapBrokersSaslScram",
|
|
3473
3537
|
"type": {
|
|
@@ -3484,7 +3548,7 @@
|
|
|
3484
3548
|
"immutable": true,
|
|
3485
3549
|
"locationInModule": {
|
|
3486
3550
|
"filename": "lib/cluster.ts",
|
|
3487
|
-
"line":
|
|
3551
|
+
"line": 800
|
|
3488
3552
|
},
|
|
3489
3553
|
"name": "bootstrapBrokersTls",
|
|
3490
3554
|
"type": {
|
|
@@ -3499,7 +3563,7 @@
|
|
|
3499
3563
|
"immutable": true,
|
|
3500
3564
|
"locationInModule": {
|
|
3501
3565
|
"filename": "lib/cluster.ts",
|
|
3502
|
-
"line":
|
|
3566
|
+
"line": 408
|
|
3503
3567
|
},
|
|
3504
3568
|
"name": "clusterArn",
|
|
3505
3569
|
"overrides": "@aws-cdk/aws-msk-alpha.ICluster",
|
|
@@ -3515,7 +3579,7 @@
|
|
|
3515
3579
|
"immutable": true,
|
|
3516
3580
|
"locationInModule": {
|
|
3517
3581
|
"filename": "lib/cluster.ts",
|
|
3518
|
-
"line":
|
|
3582
|
+
"line": 409
|
|
3519
3583
|
},
|
|
3520
3584
|
"name": "clusterName",
|
|
3521
3585
|
"overrides": "@aws-cdk/aws-msk-alpha.ICluster",
|
|
@@ -3549,7 +3613,7 @@
|
|
|
3549
3613
|
"immutable": true,
|
|
3550
3614
|
"locationInModule": {
|
|
3551
3615
|
"filename": "lib/cluster.ts",
|
|
3552
|
-
"line":
|
|
3616
|
+
"line": 740
|
|
3553
3617
|
},
|
|
3554
3618
|
"name": "zookeeperConnectionString",
|
|
3555
3619
|
"type": {
|
|
@@ -3566,7 +3630,7 @@
|
|
|
3566
3630
|
"immutable": true,
|
|
3567
3631
|
"locationInModule": {
|
|
3568
3632
|
"filename": "lib/cluster.ts",
|
|
3569
|
-
"line":
|
|
3633
|
+
"line": 751
|
|
3570
3634
|
},
|
|
3571
3635
|
"name": "zookeeperConnectionStringTls",
|
|
3572
3636
|
"type": {
|
|
@@ -3581,7 +3645,7 @@
|
|
|
3581
3645
|
"immutable": true,
|
|
3582
3646
|
"locationInModule": {
|
|
3583
3647
|
"filename": "lib/cluster.ts",
|
|
3584
|
-
"line":
|
|
3648
|
+
"line": 411
|
|
3585
3649
|
},
|
|
3586
3650
|
"name": "saslScramAuthenticationKey",
|
|
3587
3651
|
"optional": true,
|
|
@@ -4036,7 +4100,7 @@
|
|
|
4036
4100
|
"see": "https://docs.aws.amazon.com/msk/latest/developerguide/msk-encryption.html#msk-encryption-in-transit",
|
|
4037
4101
|
"stability": "experimental",
|
|
4038
4102
|
"summary": "The settings for encrypting data in transit.",
|
|
4039
|
-
"example": "
|
|
4103
|
+
"example": "import * as acmpca from 'aws-cdk-lib/aws-acmpca';\n\ndeclare const vpc: ec2.Vpc;\nconst cluster = new msk.Cluster(this, 'Cluster', {\n clusterName: 'myCluster',\n kafkaVersion: msk.KafkaVersion.V2_8_1,\n vpc,\n encryptionInTransit: {\n clientBroker: msk.ClientBrokerEncryption.TLS,\n },\n clientAuthentication: msk.ClientAuthentication.tls({\n certificateAuthorities: [\n acmpca.CertificateAuthority.fromCertificateAuthorityArn(\n this,\n 'CertificateAuthority',\n 'arn:aws:acm-pca:us-west-2:1234567890:certificate-authority/11111111-1111-1111-1111-111111111111',\n ),\n ],\n }),\n});",
|
|
4040
4104
|
"custom": {
|
|
4041
4105
|
"exampleMetadata": "infused"
|
|
4042
4106
|
}
|
|
@@ -4661,6 +4725,30 @@
|
|
|
4661
4725
|
],
|
|
4662
4726
|
"symbolId": "lib/cluster:SaslAuthProps"
|
|
4663
4727
|
},
|
|
4728
|
+
"@aws-cdk/aws-msk-alpha.SaslTlsAuthProps": {
|
|
4729
|
+
"assembly": "@aws-cdk/aws-msk-alpha",
|
|
4730
|
+
"datatype": true,
|
|
4731
|
+
"docs": {
|
|
4732
|
+
"stability": "experimental",
|
|
4733
|
+
"summary": "SASL + TLS authentication properties.",
|
|
4734
|
+
"example": "import * as acmpca from 'aws-cdk-lib/aws-acmpca';\n\ndeclare const vpc: ec2.Vpc;\nconst cluster = new msk.Cluster(this, 'Cluster', {\n clusterName: 'myCluster',\n kafkaVersion: msk.KafkaVersion.V2_8_1,\n vpc,\n encryptionInTransit: {\n clientBroker: msk.ClientBrokerEncryption.TLS,\n },\n clientAuthentication: msk.ClientAuthentication.saslTls({\n iam: true,\n certificateAuthorities: [\n acmpca.CertificateAuthority.fromCertificateAuthorityArn(\n this,\n 'CertificateAuthority',\n 'arn:aws:acm-pca:us-west-2:1234567890:certificate-authority/11111111-1111-1111-1111-111111111111',\n ),\n ],\n }),\n});",
|
|
4735
|
+
"custom": {
|
|
4736
|
+
"exampleMetadata": "infused"
|
|
4737
|
+
}
|
|
4738
|
+
},
|
|
4739
|
+
"fqn": "@aws-cdk/aws-msk-alpha.SaslTlsAuthProps",
|
|
4740
|
+
"interfaces": [
|
|
4741
|
+
"@aws-cdk/aws-msk-alpha.SaslAuthProps",
|
|
4742
|
+
"@aws-cdk/aws-msk-alpha.TlsAuthProps"
|
|
4743
|
+
],
|
|
4744
|
+
"kind": "interface",
|
|
4745
|
+
"locationInModule": {
|
|
4746
|
+
"filename": "lib/cluster.ts",
|
|
4747
|
+
"line": 349
|
|
4748
|
+
},
|
|
4749
|
+
"name": "SaslTlsAuthProps",
|
|
4750
|
+
"symbolId": "lib/cluster:SaslTlsAuthProps"
|
|
4751
|
+
},
|
|
4664
4752
|
"@aws-cdk/aws-msk-alpha.TlsAuthProps": {
|
|
4665
4753
|
"assembly": "@aws-cdk/aws-msk-alpha",
|
|
4666
4754
|
"datatype": true,
|
|
@@ -4707,6 +4795,6 @@
|
|
|
4707
4795
|
"symbolId": "lib/cluster:TlsAuthProps"
|
|
4708
4796
|
}
|
|
4709
4797
|
},
|
|
4710
|
-
"version": "2.
|
|
4798
|
+
"version": "2.42.0-alpha.0",
|
|
4711
4799
|
"fingerprint": "**********"
|
|
4712
4800
|
}
|
|
Binary file
|
package/.warnings.jsii.js
CHANGED
|
@@ -86,6 +86,18 @@ function _aws_cdk_aws_msk_alpha_TlsAuthProps(p) {
|
|
|
86
86
|
visitedObjects.delete(p);
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
|
+
function _aws_cdk_aws_msk_alpha_SaslTlsAuthProps(p) {
|
|
90
|
+
if (p == null)
|
|
91
|
+
return;
|
|
92
|
+
visitedObjects.add(p);
|
|
93
|
+
try {
|
|
94
|
+
if (!visitedObjects.has(p.certificateAuthorities))
|
|
95
|
+
require("aws-cdk-lib/.warnings.jsii.js").aws_cdk_lib_aws_acmpca_ICertificateAuthority(p.certificateAuthorities);
|
|
96
|
+
}
|
|
97
|
+
finally {
|
|
98
|
+
visitedObjects.delete(p);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
89
101
|
function _aws_cdk_aws_msk_alpha_ClientAuthentication(p) {
|
|
90
102
|
}
|
|
91
103
|
function _aws_cdk_aws_msk_alpha_Cluster(p) {
|
|
@@ -128,4 +140,4 @@ class DeprecationError extends Error {
|
|
|
128
140
|
});
|
|
129
141
|
}
|
|
130
142
|
}
|
|
131
|
-
module.exports = { print, getPropertyDescriptor, DeprecationError, _aws_cdk_aws_msk_alpha_ICluster, _aws_cdk_aws_msk_alpha_ClusterProps, _aws_cdk_aws_msk_alpha_EbsStorageInfo, _aws_cdk_aws_msk_alpha_ClusterConfigurationInfo, _aws_cdk_aws_msk_alpha_ClusterMonitoringLevel, _aws_cdk_aws_msk_alpha_MonitoringConfiguration, _aws_cdk_aws_msk_alpha_BrokerLogging, _aws_cdk_aws_msk_alpha_S3LoggingConfiguration, _aws_cdk_aws_msk_alpha_ClientBrokerEncryption, _aws_cdk_aws_msk_alpha_EncryptionInTransitConfig, _aws_cdk_aws_msk_alpha_SaslAuthProps, _aws_cdk_aws_msk_alpha_TlsAuthProps, _aws_cdk_aws_msk_alpha_ClientAuthentication, _aws_cdk_aws_msk_alpha_Cluster, _aws_cdk_aws_msk_alpha_KafkaVersion };
|
|
143
|
+
module.exports = { print, getPropertyDescriptor, DeprecationError, _aws_cdk_aws_msk_alpha_ICluster, _aws_cdk_aws_msk_alpha_ClusterProps, _aws_cdk_aws_msk_alpha_EbsStorageInfo, _aws_cdk_aws_msk_alpha_ClusterConfigurationInfo, _aws_cdk_aws_msk_alpha_ClusterMonitoringLevel, _aws_cdk_aws_msk_alpha_MonitoringConfiguration, _aws_cdk_aws_msk_alpha_BrokerLogging, _aws_cdk_aws_msk_alpha_S3LoggingConfiguration, _aws_cdk_aws_msk_alpha_ClientBrokerEncryption, _aws_cdk_aws_msk_alpha_EncryptionInTransitConfig, _aws_cdk_aws_msk_alpha_SaslAuthProps, _aws_cdk_aws_msk_alpha_TlsAuthProps, _aws_cdk_aws_msk_alpha_SaslTlsAuthProps, _aws_cdk_aws_msk_alpha_ClientAuthentication, _aws_cdk_aws_msk_alpha_Cluster, _aws_cdk_aws_msk_alpha_KafkaVersion };
|
package/README.md
CHANGED
|
@@ -78,8 +78,6 @@ const cluster = msk.Cluster.fromClusterArn(this, 'Cluster',
|
|
|
78
78
|
|
|
79
79
|
[MSK supports](https://docs.aws.amazon.com/msk/latest/developerguide/kafka_apis_iam.html) the following authentication mechanisms.
|
|
80
80
|
|
|
81
|
-
> Only one authentication method can be enabled.
|
|
82
|
-
|
|
83
81
|
### TLS
|
|
84
82
|
|
|
85
83
|
To enable client authentication with TLS set the `certificateAuthorityArns` property to reference your ACM Private CA. [More info on Private CAs.](https://docs.aws.amazon.com/msk/latest/developerguide/msk-authentication.html)
|
|
@@ -145,6 +143,37 @@ const cluster = new msk.Cluster(this, 'cluster', {
|
|
|
145
143
|
});
|
|
146
144
|
```
|
|
147
145
|
|
|
146
|
+
|
|
147
|
+
### SASL/IAM + TLS
|
|
148
|
+
|
|
149
|
+
Enable client authentication with [IAM](https://docs.aws.amazon.com/msk/latest/developerguide/iam-access-control.html)
|
|
150
|
+
as well as enable client authentication with TLS by setting the `certificateAuthorityArns` property to reference your ACM Private CA. [More info on Private CAs.](https://docs.aws.amazon.com/msk/latest/developerguide/msk-authentication.html)
|
|
151
|
+
|
|
152
|
+
```ts
|
|
153
|
+
import * as acmpca from 'aws-cdk-lib/aws-acmpca';
|
|
154
|
+
|
|
155
|
+
declare const vpc: ec2.Vpc;
|
|
156
|
+
const cluster = new msk.Cluster(this, 'Cluster', {
|
|
157
|
+
clusterName: 'myCluster',
|
|
158
|
+
kafkaVersion: msk.KafkaVersion.V2_8_1,
|
|
159
|
+
vpc,
|
|
160
|
+
encryptionInTransit: {
|
|
161
|
+
clientBroker: msk.ClientBrokerEncryption.TLS,
|
|
162
|
+
},
|
|
163
|
+
clientAuthentication: msk.ClientAuthentication.saslTls({
|
|
164
|
+
iam: true,
|
|
165
|
+
certificateAuthorities: [
|
|
166
|
+
acmpca.CertificateAuthority.fromCertificateAuthorityArn(
|
|
167
|
+
this,
|
|
168
|
+
'CertificateAuthority',
|
|
169
|
+
'arn:aws:acm-pca:us-west-2:1234567890:certificate-authority/11111111-1111-1111-1111-111111111111',
|
|
170
|
+
),
|
|
171
|
+
],
|
|
172
|
+
}),
|
|
173
|
+
});
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
|
|
148
177
|
## Logging
|
|
149
178
|
|
|
150
179
|
You can deliver Apache Kafka broker logs to one or more of the following destination types:
|
package/lib/cluster-version.js
CHANGED
|
@@ -24,7 +24,7 @@ class KafkaVersion {
|
|
|
24
24
|
}
|
|
25
25
|
exports.KafkaVersion = KafkaVersion;
|
|
26
26
|
_a = JSII_RTTI_SYMBOL_1;
|
|
27
|
-
KafkaVersion[_a] = { fqn: "@aws-cdk/aws-msk-alpha.KafkaVersion", version: "2.
|
|
27
|
+
KafkaVersion[_a] = { fqn: "@aws-cdk/aws-msk-alpha.KafkaVersion", version: "2.42.0-alpha.0" };
|
|
28
28
|
/**
|
|
29
29
|
* Kafka version 1.1.1
|
|
30
30
|
*/
|
package/lib/cluster.d.ts
CHANGED
|
@@ -315,6 +315,11 @@ export interface TlsAuthProps {
|
|
|
315
315
|
*/
|
|
316
316
|
readonly certificateAuthorities?: acmpca.ICertificateAuthority[];
|
|
317
317
|
}
|
|
318
|
+
/**
|
|
319
|
+
* SASL + TLS authentication properties
|
|
320
|
+
*/
|
|
321
|
+
export interface SaslTlsAuthProps extends SaslAuthProps, TlsAuthProps {
|
|
322
|
+
}
|
|
318
323
|
/**
|
|
319
324
|
* Configuration properties for client authentication.
|
|
320
325
|
*/
|
|
@@ -329,6 +334,10 @@ export declare class ClientAuthentication {
|
|
|
329
334
|
* TLS authentication
|
|
330
335
|
*/
|
|
331
336
|
static tls(props: TlsAuthProps): ClientAuthentication;
|
|
337
|
+
/**
|
|
338
|
+
* SASL + TLS authentication
|
|
339
|
+
*/
|
|
340
|
+
static saslTls(saslTlsProps: SaslTlsAuthProps): ClientAuthentication;
|
|
332
341
|
/**
|
|
333
342
|
* @param saslProps - properties for SASL authentication
|
|
334
343
|
* @param tlsProps - properties for TLS authentication
|