@aws-cdk/aws-msk-alpha 2.9.0-alpha.0 → 2.13.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/lib/cluster.d.ts CHANGED
@@ -7,23 +7,19 @@ import * as core from 'aws-cdk-lib';
7
7
  import * as constructs from 'constructs';
8
8
  import { KafkaVersion } from './';
9
9
  /**
10
- * (experimental) Represents a MSK Cluster.
11
- *
12
- * @experimental
10
+ * Represents a MSK Cluster
13
11
  */
14
12
  export interface ICluster extends core.IResource, ec2.IConnectable {
15
13
  /**
16
- * (experimental) The ARN of cluster.
14
+ * The ARN of cluster.
17
15
  *
18
- * @experimental
19
- * @attribute true
16
+ * @attribute
20
17
  */
21
18
  readonly clusterArn: string;
22
19
  /**
23
- * (experimental) The physical name of the cluster.
20
+ * The physical name of the cluster.
24
21
  *
25
- * @experimental
26
- * @attribute true
22
+ * @attribute
27
23
  */
28
24
  readonly clusterName: string;
29
25
  }
@@ -35,388 +31,302 @@ declare abstract class ClusterBase extends core.Resource implements ICluster {
35
31
  abstract readonly clusterName: string;
36
32
  /** @internal */
37
33
  protected _connections: ec2.Connections | undefined;
38
- /**
39
- * (experimental) Manages connections for the cluster.
40
- *
41
- * @experimental
42
- */
34
+ /** Manages connections for the cluster */
43
35
  get connections(): ec2.Connections;
44
36
  }
45
37
  /**
46
- * (experimental) Properties for a MSK Cluster.
47
- *
48
- * @experimental
38
+ * Properties for a MSK Cluster
49
39
  */
50
40
  export interface ClusterProps {
51
41
  /**
52
- * (experimental) The physical name of the cluster.
53
- *
54
- * @experimental
42
+ * The physical name of the cluster.
55
43
  */
56
44
  readonly clusterName: string;
57
45
  /**
58
- * (experimental) The version of Apache Kafka.
59
- *
60
- * @experimental
46
+ * The version of Apache Kafka.
61
47
  */
62
48
  readonly kafkaVersion: KafkaVersion;
63
49
  /**
64
- * (experimental) Number of Apache Kafka brokers deployed in each Availability Zone.
50
+ * Number of Apache Kafka brokers deployed in each Availability Zone.
65
51
  *
66
52
  * @default 1
67
- * @experimental
68
53
  */
69
54
  readonly numberOfBrokerNodes?: number;
70
55
  /**
71
- * (experimental) Defines the virtual networking environment for this cluster.
72
- *
56
+ * Defines the virtual networking environment for this cluster.
73
57
  * Must have at least 2 subnets in two different AZs.
74
- *
75
- * @experimental
76
58
  */
77
59
  readonly vpc: ec2.IVpc;
78
60
  /**
79
- * (experimental) Where to place the nodes within the VPC.
80
- *
61
+ * Where to place the nodes within the VPC.
81
62
  * Amazon MSK distributes the broker nodes evenly across the subnets that you specify.
82
63
  * The subnets that you specify must be in distinct Availability Zones.
83
64
  * Client subnets can't be in Availability Zone us-east-1e.
84
65
  *
85
66
  * @default - the Vpc default strategy if not specified.
86
- * @experimental
87
67
  */
88
68
  readonly vpcSubnets?: ec2.SubnetSelection;
89
69
  /**
90
- * (experimental) The EC2 instance type that you want Amazon MSK to use when it creates your brokers.
70
+ * The EC2 instance type that you want Amazon MSK to use when it creates your brokers.
91
71
  *
92
- * @default kafka.m5.large
93
72
  * @see https://docs.aws.amazon.com/msk/latest/developerguide/msk-create-cluster.html#broker-instance-types
94
- * @experimental
73
+ * @default kafka.m5.large
95
74
  */
96
75
  readonly instanceType?: ec2.InstanceType;
97
76
  /**
98
- * (experimental) The AWS security groups to associate with the elastic network interfaces in order to specify who can connect to and communicate with the Amazon MSK cluster.
77
+ * The AWS security groups to associate with the elastic network interfaces in order to specify who can
78
+ * connect to and communicate with the Amazon MSK cluster.
99
79
  *
100
80
  * @default - create new security group
101
- * @experimental
102
81
  */
103
82
  readonly securityGroups?: ec2.ISecurityGroup[];
104
83
  /**
105
- * (experimental) Information about storage volumes attached to MSK broker nodes.
84
+ * Information about storage volumes attached to MSK broker nodes.
106
85
  *
107
86
  * @default - 1000 GiB EBS volume
108
- * @experimental
109
87
  */
110
88
  readonly ebsStorageInfo?: EbsStorageInfo;
111
89
  /**
112
- * (experimental) The Amazon MSK configuration to use for the cluster.
90
+ * The Amazon MSK configuration to use for the cluster.
113
91
  *
114
92
  * @default - none
115
- * @experimental
116
93
  */
117
94
  readonly configurationInfo?: ClusterConfigurationInfo;
118
95
  /**
119
- * (experimental) Cluster monitoring configuration.
96
+ * Cluster monitoring configuration.
120
97
  *
121
98
  * @default - DEFAULT monitoring level
122
- * @experimental
123
99
  */
124
100
  readonly monitoring?: MonitoringConfiguration;
125
101
  /**
126
- * (experimental) Configure your MSK cluster to send broker logs to different destination types.
102
+ * Configure your MSK cluster to send broker logs to different destination types.
127
103
  *
128
104
  * @default - disabled
129
- * @experimental
130
105
  */
131
106
  readonly logging?: BrokerLogging;
132
107
  /**
133
- * (experimental) Config details for encryption in transit.
108
+ * Config details for encryption in transit.
134
109
  *
135
110
  * @default - enabled
136
- * @experimental
137
111
  */
138
112
  readonly encryptionInTransit?: EncryptionInTransitConfig;
139
113
  /**
140
- * (experimental) Configuration properties for client authentication.
141
- *
114
+ * Configuration properties for client authentication.
142
115
  * MSK supports using private TLS certificates or SASL/SCRAM to authenticate the identity of clients.
143
116
  *
144
117
  * @default - disabled
145
- * @experimental
146
118
  */
147
119
  readonly clientAuthentication?: ClientAuthentication;
148
120
  /**
149
- * (experimental) What to do when this resource is deleted from a stack.
121
+ * What to do when this resource is deleted from a stack.
150
122
  *
151
123
  * @default RemovalPolicy.RETAIN
152
- * @experimental
153
124
  */
154
125
  readonly removalPolicy?: core.RemovalPolicy;
155
126
  }
156
127
  /**
157
- * (experimental) EBS volume information.
158
- *
159
- * @experimental
128
+ * EBS volume information.
160
129
  */
161
130
  export interface EbsStorageInfo {
162
131
  /**
163
- * (experimental) The size in GiB of the EBS volume for the data drive on each broker node.
132
+ * The size in GiB of the EBS volume for the data drive on each broker node.
164
133
  *
165
134
  * @default 1000
166
- * @experimental
167
135
  */
168
136
  readonly volumeSize?: number;
169
137
  /**
170
- * (experimental) The AWS KMS key for encrypting data at rest.
138
+ * The AWS KMS key for encrypting data at rest.
171
139
  *
172
140
  * @default Uses AWS managed CMK (aws/kafka)
173
- * @experimental
174
141
  */
175
142
  readonly encryptionKey?: kms.IKey;
176
143
  }
177
144
  /**
178
- * (experimental) The Amazon MSK configuration to use for the cluster.
179
- *
145
+ * The Amazon MSK configuration to use for the cluster.
180
146
  * Note: There is currently no Cloudformation Resource to create a Configuration
181
- *
182
- * @experimental
183
147
  */
184
148
  export interface ClusterConfigurationInfo {
185
149
  /**
186
- * (experimental) The Amazon Resource Name (ARN) of the MSK configuration to use.
187
- *
150
+ * The Amazon Resource Name (ARN) of the MSK configuration to use.
188
151
  * For example, arn:aws:kafka:us-east-1:123456789012:configuration/example-configuration-name/abcdabcd-1234-abcd-1234-abcd123e8e8e-1.
189
- *
190
- * @experimental
191
152
  */
192
153
  readonly arn: string;
193
154
  /**
194
- * (experimental) The revision of the Amazon MSK configuration to use.
195
- *
196
- * @experimental
155
+ * The revision of the Amazon MSK configuration to use.
197
156
  */
198
157
  readonly revision: number;
199
158
  }
200
159
  /**
201
- * (experimental) The level of monitoring for the MSK cluster.
160
+ * The level of monitoring for the MSK cluster
202
161
  *
203
162
  * @see https://docs.aws.amazon.com/msk/latest/developerguide/monitoring.html#metrics-details
204
- * @experimental
205
163
  */
206
164
  export declare enum ClusterMonitoringLevel {
207
165
  /**
208
- * (experimental) Default metrics are the essential metrics to monitor.
209
- *
210
- * @experimental
166
+ * Default metrics are the essential metrics to monitor.
211
167
  */
212
168
  DEFAULT = "DEFAULT",
213
169
  /**
214
- * (experimental) Per Broker metrics give you metrics at the broker level.
215
- *
216
- * @experimental
170
+ * Per Broker metrics give you metrics at the broker level.
217
171
  */
218
172
  PER_BROKER = "PER_BROKER",
219
173
  /**
220
- * (experimental) Per Topic Per Broker metrics help you understand volume at the topic level.
221
- *
222
- * @experimental
174
+ * Per Topic Per Broker metrics help you understand volume at the topic level.
223
175
  */
224
176
  PER_TOPIC_PER_BROKER = "PER_TOPIC_PER_BROKER",
225
177
  /**
226
- * (experimental) Per Topic Per Partition metrics help you understand consumer group lag at the topic partition level.
227
- *
228
- * @experimental
178
+ * Per Topic Per Partition metrics help you understand consumer group lag at the topic partition level.
229
179
  */
230
180
  PER_TOPIC_PER_PARTITION = "PER_TOPIC_PER_PARTITION"
231
181
  }
232
182
  /**
233
- * (experimental) Monitoring Configuration.
234
- *
235
- * @experimental
183
+ * Monitoring Configuration
236
184
  */
237
185
  export interface MonitoringConfiguration {
238
186
  /**
239
- * (experimental) Specifies the level of monitoring for the MSK cluster.
187
+ * Specifies the level of monitoring for the MSK cluster.
240
188
  *
241
189
  * @default DEFAULT
242
- * @experimental
243
190
  */
244
191
  readonly clusterMonitoringLevel?: ClusterMonitoringLevel;
245
192
  /**
246
- * (experimental) Indicates whether you want to enable or disable the JMX Exporter.
193
+ * Indicates whether you want to enable or disable the JMX Exporter.
247
194
  *
248
195
  * @default false
249
- * @experimental
250
196
  */
251
197
  readonly enablePrometheusJmxExporter?: boolean;
252
198
  /**
253
- * (experimental) Indicates whether you want to enable or disable the Prometheus Node Exporter.
199
+ * Indicates whether you want to enable or disable the Prometheus Node Exporter.
254
200
  *
255
201
  * You can use the Prometheus Node Exporter to get CPU and disk metrics for the broker nodes.
256
202
  *
257
203
  * @default false
258
- * @experimental
259
204
  */
260
205
  readonly enablePrometheusNodeExporter?: boolean;
261
206
  }
262
207
  /**
263
- * (experimental) Configuration details related to broker logs.
264
- *
265
- * @experimental
208
+ * Configuration details related to broker logs.
266
209
  */
267
210
  export interface BrokerLogging {
268
211
  /**
269
- * (experimental) The Kinesis Data Firehose delivery stream that is the destination for broker logs.
212
+ * The Kinesis Data Firehose delivery stream that is the destination for broker logs.
270
213
  *
271
214
  * @default - disabled
272
- * @experimental
273
215
  */
274
216
  readonly firehoseDeliveryStreamName?: string;
275
217
  /**
276
- * (experimental) The CloudWatch Logs group that is the destination for broker logs.
218
+ * The CloudWatch Logs group that is the destination for broker logs.
277
219
  *
278
220
  * @default - disabled
279
- * @experimental
280
221
  */
281
222
  readonly cloudwatchLogGroup?: logs.ILogGroup;
282
223
  /**
283
- * (experimental) Details of the Amazon S3 destination for broker logs.
224
+ * Details of the Amazon S3 destination for broker logs.
284
225
  *
285
226
  * @default - disabled
286
- * @experimental
287
227
  */
288
228
  readonly s3?: S3LoggingConfiguration;
289
229
  }
290
230
  /**
291
- * (experimental) Details of the Amazon S3 destination for broker logs.
292
- *
293
- * @experimental
231
+ * Details of the Amazon S3 destination for broker logs.
294
232
  */
295
233
  export interface S3LoggingConfiguration {
296
234
  /**
297
- * (experimental) The S3 bucket that is the destination for broker logs.
298
- *
299
- * @experimental
235
+ * The S3 bucket that is the destination for broker logs.
300
236
  */
301
237
  readonly bucket: s3.IBucket;
302
238
  /**
303
- * (experimental) The S3 prefix that is the destination for broker logs.
239
+ * The S3 prefix that is the destination for broker logs.
304
240
  *
305
241
  * @default - no prefix
306
- * @experimental
307
242
  */
308
243
  readonly prefix?: string;
309
244
  }
310
245
  /**
311
- * (experimental) Indicates the encryption setting for data in transit between clients and brokers.
312
- *
313
- * @experimental
246
+ * Indicates the encryption setting for data in transit between clients and brokers.
314
247
  */
315
248
  export declare enum ClientBrokerEncryption {
316
249
  /**
317
- * (experimental) TLS means that client-broker communication is enabled with TLS only.
318
- *
319
- * @experimental
250
+ * TLS means that client-broker communication is enabled with TLS only.
320
251
  */
321
252
  TLS = "TLS",
322
253
  /**
323
- * (experimental) TLS_PLAINTEXT means that client-broker communication is enabled for both TLS-encrypted, as well as plaintext data.
324
- *
325
- * @experimental
254
+ * TLS_PLAINTEXT means that client-broker communication is enabled for both TLS-encrypted, as well as plaintext data.
326
255
  */
327
256
  TLS_PLAINTEXT = "TLS_PLAINTEXT",
328
257
  /**
329
- * (experimental) PLAINTEXT means that client-broker communication is enabled in plaintext only.
330
- *
331
- * @experimental
258
+ * PLAINTEXT means that client-broker communication is enabled in plaintext only.
332
259
  */
333
260
  PLAINTEXT = "PLAINTEXT"
334
261
  }
335
262
  /**
336
- * (experimental) The settings for encrypting data in transit.
263
+ * The settings for encrypting data in transit.
337
264
  *
338
265
  * @see https://docs.aws.amazon.com/msk/latest/developerguide/msk-encryption.html#msk-encryption-in-transit
339
- * @experimental
340
266
  */
341
267
  export interface EncryptionInTransitConfig {
342
268
  /**
343
- * (experimental) Indicates the encryption setting for data in transit between clients and brokers.
269
+ * Indicates the encryption setting for data in transit between clients and brokers.
344
270
  *
345
271
  * @default - TLS
346
- * @experimental
347
272
  */
348
273
  readonly clientBroker?: ClientBrokerEncryption;
349
274
  /**
350
- * (experimental) Indicates that data communication among the broker nodes of the cluster is encrypted.
275
+ * Indicates that data communication among the broker nodes of the cluster is encrypted.
351
276
  *
352
277
  * @default true
353
- * @experimental
354
278
  */
355
279
  readonly enableInCluster?: boolean;
356
280
  }
357
281
  /**
358
- * (experimental) SASL authentication properties.
359
- *
360
- * @experimental
282
+ * SASL authentication properties
361
283
  */
362
284
  export interface SaslAuthProps {
363
285
  /**
364
- * (experimental) Enable SASL/SCRAM authentication.
286
+ * Enable SASL/SCRAM authentication.
365
287
  *
366
288
  * @default false
367
- * @experimental
368
289
  */
369
290
  readonly scram?: boolean;
370
291
  /**
371
- * (experimental) Enable IAM access control.
292
+ * Enable IAM access control.
372
293
  *
373
294
  * @default false
374
- * @experimental
375
295
  */
376
296
  readonly iam?: boolean;
377
297
  /**
378
- * (experimental) KMS Key to encrypt SASL/SCRAM secrets.
298
+ * KMS Key to encrypt SASL/SCRAM secrets.
379
299
  *
380
300
  * You must use a customer master key (CMK) when creating users in secrets manager.
381
301
  * You cannot use a Secret with Amazon MSK that uses the default Secrets Manager encryption key.
382
302
  *
383
303
  * @default - CMK will be created with alias msk/{clusterName}/sasl/scram
384
- * @experimental
385
304
  */
386
305
  readonly key?: kms.IKey;
387
306
  }
388
307
  /**
389
- * (experimental) TLS authentication properties.
390
- *
391
- * @experimental
308
+ * TLS authentication properties
392
309
  */
393
310
  export interface TlsAuthProps {
394
311
  /**
395
- * (experimental) List of ACM Certificate Authorities to enable TLS authentication.
312
+ * List of ACM Certificate Authorities to enable TLS authentication.
396
313
  *
397
314
  * @default - none
398
- * @experimental
399
315
  */
400
316
  readonly certificateAuthorities?: acmpca.ICertificateAuthority[];
401
317
  }
402
318
  /**
403
- * (experimental) Configuration properties for client authentication.
404
- *
405
- * @experimental
319
+ * Configuration properties for client authentication.
406
320
  */
407
321
  export declare class ClientAuthentication {
408
322
  readonly saslProps?: SaslAuthProps | undefined;
409
323
  readonly tlsProps?: TlsAuthProps | undefined;
410
324
  /**
411
- * (experimental) SASL authentication.
412
- *
413
- * @experimental
325
+ * SASL authentication
414
326
  */
415
327
  static sasl(props: SaslAuthProps): ClientAuthentication;
416
328
  /**
417
- * (experimental) TLS authentication.
418
- *
419
- * @experimental
329
+ * TLS authentication
420
330
  */
421
331
  static tls(props: TlsAuthProps): ClientAuthentication;
422
332
  /**
@@ -426,41 +336,21 @@ export declare class ClientAuthentication {
426
336
  private constructor();
427
337
  }
428
338
  /**
429
- * (experimental) Create a MSK Cluster.
339
+ * Create a MSK Cluster.
430
340
  *
431
- * @experimental
432
341
  * @resource AWS::MSK::Cluster
433
342
  */
434
343
  export declare class Cluster extends ClusterBase {
435
344
  /**
436
- * (experimental) Reference an existing cluster, defined outside of the CDK code, by name.
437
- *
438
- * @experimental
345
+ * Reference an existing cluster, defined outside of the CDK code, by name.
439
346
  */
440
347
  static fromClusterArn(scope: constructs.Construct, id: string, clusterArn: string): ICluster;
441
- /**
442
- * (experimental) The ARN of cluster.
443
- *
444
- * @experimental
445
- */
446
348
  readonly clusterArn: string;
447
- /**
448
- * (experimental) The physical name of the cluster.
449
- *
450
- * @experimental
451
- */
452
349
  readonly clusterName: string;
453
- /**
454
- * (experimental) Key used to encrypt SASL/SCRAM users.
455
- *
456
- * @experimental
457
- */
350
+ /** Key used to encrypt SASL/SCRAM users */
458
351
  readonly saslScramAuthenticationKey?: kms.IKey;
459
352
  private _clusterDescription?;
460
353
  private _clusterBootstrapBrokers?;
461
- /**
462
- * @experimental
463
- */
464
354
  constructor(scope: constructs.Construct, id: string, props: ClusterProps);
465
355
  private mskInstanceType;
466
356
  /**
@@ -473,21 +363,19 @@ export declare class Cluster extends ClusterBase {
473
363
  */
474
364
  private _zookeeperConnectionString;
475
365
  /**
476
- * (experimental) Get the ZooKeeper Connection string.
366
+ * Get the ZooKeeper Connection string
477
367
  *
478
368
  * Uses a Custom Resource to make an API call to `describeCluster` using the Javascript SDK
479
369
  *
480
370
  * @returns - The connection string to use to connect to the Apache ZooKeeper cluster.
481
- * @experimental
482
371
  */
483
372
  get zookeeperConnectionString(): string;
484
373
  /**
485
- * (experimental) Get the ZooKeeper Connection string for a TLS enabled cluster.
374
+ * Get the ZooKeeper Connection string for a TLS enabled cluster
486
375
  *
487
376
  * Uses a Custom Resource to make an API call to `describeCluster` using the Javascript SDK
488
377
  *
489
378
  * @returns - The connection string to use to connect to zookeeper cluster on TLS port.
490
- * @experimental
491
379
  */
492
380
  get zookeeperConnectionStringTls(): string;
493
381
  /**
@@ -500,42 +388,36 @@ export declare class Cluster extends ClusterBase {
500
388
  */
501
389
  private _bootstrapBrokers;
502
390
  /**
503
- * (experimental) Get the list of brokers that a client application can use to bootstrap.
391
+ * Get the list of brokers that a client application can use to bootstrap
504
392
  *
505
393
  * Uses a Custom Resource to make an API call to `getBootstrapBrokers` using the Javascript SDK
506
394
  *
507
395
  * @returns - A string containing one or more hostname:port pairs.
508
- * @experimental
509
396
  */
510
397
  get bootstrapBrokers(): string;
511
398
  /**
512
- * (experimental) Get the list of brokers that a TLS authenticated client application can use to bootstrap.
399
+ * Get the list of brokers that a TLS authenticated client application can use to bootstrap
513
400
  *
514
401
  * Uses a Custom Resource to make an API call to `getBootstrapBrokers` using the Javascript SDK
515
402
  *
516
403
  * @returns - A string containing one or more DNS names (or IP) and TLS port pairs.
517
- * @experimental
518
404
  */
519
405
  get bootstrapBrokersTls(): string;
520
406
  /**
521
- * (experimental) Get the list of brokers that a SASL/SCRAM authenticated client application can use to bootstrap.
407
+ * Get the list of brokers that a SASL/SCRAM authenticated client application can use to bootstrap
522
408
  *
523
409
  * Uses a Custom Resource to make an API call to `getBootstrapBrokers` using the Javascript SDK
524
410
  *
525
411
  * @returns - A string containing one or more dns name (or IP) and SASL SCRAM port pairs.
526
- * @experimental
527
412
  */
528
413
  get bootstrapBrokersSaslScram(): string;
529
414
  /**
530
- * (experimental) A list of usersnames to register with the cluster.
531
- *
532
- * The password will automatically be generated using Secrets
415
+ * A list of usersnames to register with the cluster. The password will automatically be generated using Secrets
533
416
  * Manager and the { username, password } JSON object stored in Secrets Manager as `AmazonMSK_username`.
534
417
  *
535
418
  * Must be using the SASL/SCRAM authentication mechanism.
536
419
  *
537
- * @param usernames - username(s) to register with the cluster.
538
- * @experimental
420
+ * @param usernames - username(s) to register with the cluster
539
421
  */
540
422
  addUser(...usernames: string[]): void;
541
423
  }