@pulumi/mongodbatlas 3.37.0-alpha.1764050941 → 3.37.0-alpha.1764097779

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.
@@ -84,6 +84,111 @@ const utilities = require("./utilities");
84
84
  * export const interfaceEndpointIds = pluralDatasource.then(pluralDatasource => pluralDatasource.results.map(__item => __item.interfaceEndpointId));
85
85
  * ```
86
86
  *
87
+ * ### AWS MSK Privatelink
88
+ * ```typescript
89
+ * import * as pulumi from "@pulumi/pulumi";
90
+ * import * as aws from "@pulumi/aws";
91
+ * import * as mongodbatlas from "@pulumi/mongodbatlas";
92
+ *
93
+ * const vpc = new aws.ec2.Vpc("vpc", {cidrBlock: "192.168.0.0/22"});
94
+ * const azs = aws.getAvailabilityZones({
95
+ * state: "available",
96
+ * });
97
+ * const subnetAz1 = new aws.ec2.Subnet("subnet_az1", {
98
+ * availabilityZone: azs.then(azs => azs.names?.[0]),
99
+ * cidrBlock: "192.168.0.0/24",
100
+ * vpcId: vpc.id,
101
+ * });
102
+ * const subnetAz2 = new aws.ec2.Subnet("subnet_az2", {
103
+ * availabilityZone: azs.then(azs => azs.names?.[1]),
104
+ * cidrBlock: "192.168.1.0/24",
105
+ * vpcId: vpc.id,
106
+ * });
107
+ * const sg = new aws.ec2.SecurityGroup("sg", {vpcId: vpc.id});
108
+ * const exampleConfiguration = new aws.msk.Configuration("example", {
109
+ * name: `${mskClusterName}-msk-configuration`,
110
+ * serverProperties: `auto.create.topics.enable=false
111
+ * default.replication.factor=3
112
+ * min.insync.replicas=2
113
+ * num.io.threads=8
114
+ * num.network.threads=5
115
+ * num.partitions=1
116
+ * num.replica.fetchers=2
117
+ * replica.lag.time.max.ms=30000
118
+ * socket.receive.buffer.bytes=102400
119
+ * socket.request.max.bytes=104857600
120
+ * socket.send.buffer.bytes=102400
121
+ * unclean.leader.election.enable=true
122
+ * allow.everyone.if.no.acl.found=false
123
+ * `,
124
+ * });
125
+ * const example = new aws.msk.Cluster("example", {
126
+ * clusterName: mskClusterName,
127
+ * kafkaVersion: "3.6.0",
128
+ * numberOfBrokerNodes: 2,
129
+ * brokerNodeGroupInfo: {
130
+ * instanceType: "kafka.m5.large",
131
+ * clientSubnets: [
132
+ * subnetAz1.id,
133
+ * subnetAz2.id,
134
+ * ],
135
+ * securityGroups: [sg.id],
136
+ * connectivityInfo: {
137
+ * vpcConnectivity: {
138
+ * clientAuthentication: {
139
+ * sasl: {
140
+ * scram: true,
141
+ * },
142
+ * },
143
+ * },
144
+ * },
145
+ * },
146
+ * clientAuthentication: {
147
+ * sasl: {
148
+ * scram: true,
149
+ * },
150
+ * },
151
+ * configurationInfo: {
152
+ * arn: exampleConfiguration.arn,
153
+ * revision: exampleConfiguration.latestRevision,
154
+ * },
155
+ * });
156
+ * const exampleClusterPolicy = new aws.msk.ClusterPolicy("example", {
157
+ * clusterArn: example.arn,
158
+ * policy: pulumi.jsonStringify({
159
+ * Version: "2012-10-17",
160
+ * Statement: [{
161
+ * Effect: "Allow",
162
+ * Principal: {
163
+ * AWS: `arn:aws:iam::${awsAccountId}:root`,
164
+ * },
165
+ * Action: [
166
+ * "kafka:CreateVpcConnection",
167
+ * "kafka:GetBootstrapBrokers",
168
+ * "kafka:DescribeCluster",
169
+ * "kafka:DescribeClusterV2",
170
+ * ],
171
+ * Resource: example.arn,
172
+ * }],
173
+ * }),
174
+ * });
175
+ * const exampleMskSingleScramSecretAssociation = new aws.index.MskSingleScramSecretAssociation("example", {
176
+ * clusterArn: example.arn,
177
+ * secretArn: awsSecretArn,
178
+ * });
179
+ * const test = new mongodbatlas.StreamPrivatelinkEndpoint("test", {
180
+ * projectId: projectId,
181
+ * providerName: "AWS",
182
+ * vendor: "MSK",
183
+ * arn: example.arn,
184
+ * });
185
+ * const singularDatasource = test.id.apply(id => mongodbatlas.getStreamPrivatelinkEndpointOutput({
186
+ * projectId: projectId,
187
+ * id: id,
188
+ * }));
189
+ * export const privatelinkEndpointId = singularDatasource.apply(singularDatasource => singularDatasource.id);
190
+ * ```
191
+ *
87
192
  * ### AWS S3 Privatelink
88
193
  * ```typescript
89
194
  * import * as pulumi from "@pulumi/pulumi";
@@ -91,22 +196,22 @@ const utilities = require("./utilities");
91
196
  * import * as mongodbatlas from "@pulumi/mongodbatlas";
92
197
  *
93
198
  * // S3 bucket for stream data
94
- * const streamBucket = new aws.index.S3Bucket("stream_bucket", {
199
+ * const streamBucket = new aws.s3.BucketV2("stream_bucket", {
95
200
  * bucket: s3BucketName,
96
201
  * forceDestroy: true,
97
202
  * });
98
- * const streamBucketVersioning = new aws.index.S3BucketVersioning("stream_bucket_versioning", {
203
+ * const streamBucketVersioning = new aws.s3.BucketVersioningV2("stream_bucket_versioning", {
99
204
  * bucket: streamBucket.id,
100
- * versioningConfiguration: [{
205
+ * versioningConfiguration: {
101
206
  * status: "Enabled",
102
- * }],
207
+ * },
103
208
  * });
104
- * const streamBucketEncryption = new aws.index.S3BucketServerSideEncryptionConfiguration("stream_bucket_encryption", {
209
+ * const streamBucketEncryption = new aws.s3.BucketServerSideEncryptionConfigurationV2("stream_bucket_encryption", {
105
210
  * bucket: streamBucket.id,
106
- * rule: [{
107
- * applyServerSideEncryptionByDefault: [{
211
+ * rules: [{
212
+ * applyServerSideEncryptionByDefault: {
108
213
  * sseAlgorithm: "AES256",
109
- * }],
214
+ * },
110
215
  * }],
111
216
  * });
112
217
  * // PrivateLink for S3
@@ -207,6 +312,111 @@ exports.getStreamPrivatelinkEndpoint = getStreamPrivatelinkEndpoint;
207
312
  * export const interfaceEndpointIds = pluralDatasource.then(pluralDatasource => pluralDatasource.results.map(__item => __item.interfaceEndpointId));
208
313
  * ```
209
314
  *
315
+ * ### AWS MSK Privatelink
316
+ * ```typescript
317
+ * import * as pulumi from "@pulumi/pulumi";
318
+ * import * as aws from "@pulumi/aws";
319
+ * import * as mongodbatlas from "@pulumi/mongodbatlas";
320
+ *
321
+ * const vpc = new aws.ec2.Vpc("vpc", {cidrBlock: "192.168.0.0/22"});
322
+ * const azs = aws.getAvailabilityZones({
323
+ * state: "available",
324
+ * });
325
+ * const subnetAz1 = new aws.ec2.Subnet("subnet_az1", {
326
+ * availabilityZone: azs.then(azs => azs.names?.[0]),
327
+ * cidrBlock: "192.168.0.0/24",
328
+ * vpcId: vpc.id,
329
+ * });
330
+ * const subnetAz2 = new aws.ec2.Subnet("subnet_az2", {
331
+ * availabilityZone: azs.then(azs => azs.names?.[1]),
332
+ * cidrBlock: "192.168.1.0/24",
333
+ * vpcId: vpc.id,
334
+ * });
335
+ * const sg = new aws.ec2.SecurityGroup("sg", {vpcId: vpc.id});
336
+ * const exampleConfiguration = new aws.msk.Configuration("example", {
337
+ * name: `${mskClusterName}-msk-configuration`,
338
+ * serverProperties: `auto.create.topics.enable=false
339
+ * default.replication.factor=3
340
+ * min.insync.replicas=2
341
+ * num.io.threads=8
342
+ * num.network.threads=5
343
+ * num.partitions=1
344
+ * num.replica.fetchers=2
345
+ * replica.lag.time.max.ms=30000
346
+ * socket.receive.buffer.bytes=102400
347
+ * socket.request.max.bytes=104857600
348
+ * socket.send.buffer.bytes=102400
349
+ * unclean.leader.election.enable=true
350
+ * allow.everyone.if.no.acl.found=false
351
+ * `,
352
+ * });
353
+ * const example = new aws.msk.Cluster("example", {
354
+ * clusterName: mskClusterName,
355
+ * kafkaVersion: "3.6.0",
356
+ * numberOfBrokerNodes: 2,
357
+ * brokerNodeGroupInfo: {
358
+ * instanceType: "kafka.m5.large",
359
+ * clientSubnets: [
360
+ * subnetAz1.id,
361
+ * subnetAz2.id,
362
+ * ],
363
+ * securityGroups: [sg.id],
364
+ * connectivityInfo: {
365
+ * vpcConnectivity: {
366
+ * clientAuthentication: {
367
+ * sasl: {
368
+ * scram: true,
369
+ * },
370
+ * },
371
+ * },
372
+ * },
373
+ * },
374
+ * clientAuthentication: {
375
+ * sasl: {
376
+ * scram: true,
377
+ * },
378
+ * },
379
+ * configurationInfo: {
380
+ * arn: exampleConfiguration.arn,
381
+ * revision: exampleConfiguration.latestRevision,
382
+ * },
383
+ * });
384
+ * const exampleClusterPolicy = new aws.msk.ClusterPolicy("example", {
385
+ * clusterArn: example.arn,
386
+ * policy: pulumi.jsonStringify({
387
+ * Version: "2012-10-17",
388
+ * Statement: [{
389
+ * Effect: "Allow",
390
+ * Principal: {
391
+ * AWS: `arn:aws:iam::${awsAccountId}:root`,
392
+ * },
393
+ * Action: [
394
+ * "kafka:CreateVpcConnection",
395
+ * "kafka:GetBootstrapBrokers",
396
+ * "kafka:DescribeCluster",
397
+ * "kafka:DescribeClusterV2",
398
+ * ],
399
+ * Resource: example.arn,
400
+ * }],
401
+ * }),
402
+ * });
403
+ * const exampleMskSingleScramSecretAssociation = new aws.index.MskSingleScramSecretAssociation("example", {
404
+ * clusterArn: example.arn,
405
+ * secretArn: awsSecretArn,
406
+ * });
407
+ * const test = new mongodbatlas.StreamPrivatelinkEndpoint("test", {
408
+ * projectId: projectId,
409
+ * providerName: "AWS",
410
+ * vendor: "MSK",
411
+ * arn: example.arn,
412
+ * });
413
+ * const singularDatasource = test.id.apply(id => mongodbatlas.getStreamPrivatelinkEndpointOutput({
414
+ * projectId: projectId,
415
+ * id: id,
416
+ * }));
417
+ * export const privatelinkEndpointId = singularDatasource.apply(singularDatasource => singularDatasource.id);
418
+ * ```
419
+ *
210
420
  * ### AWS S3 Privatelink
211
421
  * ```typescript
212
422
  * import * as pulumi from "@pulumi/pulumi";
@@ -214,22 +424,22 @@ exports.getStreamPrivatelinkEndpoint = getStreamPrivatelinkEndpoint;
214
424
  * import * as mongodbatlas from "@pulumi/mongodbatlas";
215
425
  *
216
426
  * // S3 bucket for stream data
217
- * const streamBucket = new aws.index.S3Bucket("stream_bucket", {
427
+ * const streamBucket = new aws.s3.BucketV2("stream_bucket", {
218
428
  * bucket: s3BucketName,
219
429
  * forceDestroy: true,
220
430
  * });
221
- * const streamBucketVersioning = new aws.index.S3BucketVersioning("stream_bucket_versioning", {
431
+ * const streamBucketVersioning = new aws.s3.BucketVersioningV2("stream_bucket_versioning", {
222
432
  * bucket: streamBucket.id,
223
- * versioningConfiguration: [{
433
+ * versioningConfiguration: {
224
434
  * status: "Enabled",
225
- * }],
435
+ * },
226
436
  * });
227
- * const streamBucketEncryption = new aws.index.S3BucketServerSideEncryptionConfiguration("stream_bucket_encryption", {
437
+ * const streamBucketEncryption = new aws.s3.BucketServerSideEncryptionConfigurationV2("stream_bucket_encryption", {
228
438
  * bucket: streamBucket.id,
229
- * rule: [{
230
- * applyServerSideEncryptionByDefault: [{
439
+ * rules: [{
440
+ * applyServerSideEncryptionByDefault: {
231
441
  * sseAlgorithm: "AES256",
232
- * }],
442
+ * },
233
443
  * }],
234
444
  * });
235
445
  * // PrivateLink for S3
@@ -1 +1 @@
1
- {"version":3,"file":"getStreamPrivatelinkEndpoint.js","sourceRoot":"","sources":["../getStreamPrivatelinkEndpoint.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkHG;AACH,SAAgB,4BAA4B,CAAC,IAAsC,EAAE,IAA2B;IAC5G,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,8EAA8E,EAAE;QACzG,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,WAAW,EAAE,IAAI,CAAC,SAAS;KAC9B,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAND,oEAMC;AA6BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkHG;AACH,SAAgB,kCAAkC,CAAC,IAA4C,EAAE,IAAiC;IAC9H,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,8EAA8E,EAAE;QAC/G,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,WAAW,EAAE,IAAI,CAAC,SAAS;KAC9B,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAND,gFAMC"}
1
+ {"version":3,"file":"getStreamPrivatelinkEndpoint.js","sourceRoot":"","sources":["../getStreamPrivatelinkEndpoint.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2NG;AACH,SAAgB,4BAA4B,CAAC,IAAsC,EAAE,IAA2B;IAC5G,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,8EAA8E,EAAE;QACzG,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,WAAW,EAAE,IAAI,CAAC,SAAS;KAC9B,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAND,oEAMC;AA6BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2NG;AACH,SAAgB,kCAAkC,CAAC,IAA4C,EAAE,IAAiC;IAC9H,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,8EAA8E,EAAE;QAC/G,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,WAAW,EAAE,IAAI,CAAC,SAAS;KAC9B,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAND,gFAMC"}
@@ -79,6 +79,111 @@ import * as outputs from "./types/output";
79
79
  * export const interfaceEndpointIds = pluralDatasource.then(pluralDatasource => pluralDatasource.results.map(__item => __item.interfaceEndpointId));
80
80
  * ```
81
81
  *
82
+ * ### AWS MSK Privatelink
83
+ * ```typescript
84
+ * import * as pulumi from "@pulumi/pulumi";
85
+ * import * as aws from "@pulumi/aws";
86
+ * import * as mongodbatlas from "@pulumi/mongodbatlas";
87
+ *
88
+ * const vpc = new aws.ec2.Vpc("vpc", {cidrBlock: "192.168.0.0/22"});
89
+ * const azs = aws.getAvailabilityZones({
90
+ * state: "available",
91
+ * });
92
+ * const subnetAz1 = new aws.ec2.Subnet("subnet_az1", {
93
+ * availabilityZone: azs.then(azs => azs.names?.[0]),
94
+ * cidrBlock: "192.168.0.0/24",
95
+ * vpcId: vpc.id,
96
+ * });
97
+ * const subnetAz2 = new aws.ec2.Subnet("subnet_az2", {
98
+ * availabilityZone: azs.then(azs => azs.names?.[1]),
99
+ * cidrBlock: "192.168.1.0/24",
100
+ * vpcId: vpc.id,
101
+ * });
102
+ * const sg = new aws.ec2.SecurityGroup("sg", {vpcId: vpc.id});
103
+ * const exampleConfiguration = new aws.msk.Configuration("example", {
104
+ * name: `${mskClusterName}-msk-configuration`,
105
+ * serverProperties: `auto.create.topics.enable=false
106
+ * default.replication.factor=3
107
+ * min.insync.replicas=2
108
+ * num.io.threads=8
109
+ * num.network.threads=5
110
+ * num.partitions=1
111
+ * num.replica.fetchers=2
112
+ * replica.lag.time.max.ms=30000
113
+ * socket.receive.buffer.bytes=102400
114
+ * socket.request.max.bytes=104857600
115
+ * socket.send.buffer.bytes=102400
116
+ * unclean.leader.election.enable=true
117
+ * allow.everyone.if.no.acl.found=false
118
+ * `,
119
+ * });
120
+ * const example = new aws.msk.Cluster("example", {
121
+ * clusterName: mskClusterName,
122
+ * kafkaVersion: "3.6.0",
123
+ * numberOfBrokerNodes: 2,
124
+ * brokerNodeGroupInfo: {
125
+ * instanceType: "kafka.m5.large",
126
+ * clientSubnets: [
127
+ * subnetAz1.id,
128
+ * subnetAz2.id,
129
+ * ],
130
+ * securityGroups: [sg.id],
131
+ * connectivityInfo: {
132
+ * vpcConnectivity: {
133
+ * clientAuthentication: {
134
+ * sasl: {
135
+ * scram: true,
136
+ * },
137
+ * },
138
+ * },
139
+ * },
140
+ * },
141
+ * clientAuthentication: {
142
+ * sasl: {
143
+ * scram: true,
144
+ * },
145
+ * },
146
+ * configurationInfo: {
147
+ * arn: exampleConfiguration.arn,
148
+ * revision: exampleConfiguration.latestRevision,
149
+ * },
150
+ * });
151
+ * const exampleClusterPolicy = new aws.msk.ClusterPolicy("example", {
152
+ * clusterArn: example.arn,
153
+ * policy: pulumi.jsonStringify({
154
+ * Version: "2012-10-17",
155
+ * Statement: [{
156
+ * Effect: "Allow",
157
+ * Principal: {
158
+ * AWS: `arn:aws:iam::${awsAccountId}:root`,
159
+ * },
160
+ * Action: [
161
+ * "kafka:CreateVpcConnection",
162
+ * "kafka:GetBootstrapBrokers",
163
+ * "kafka:DescribeCluster",
164
+ * "kafka:DescribeClusterV2",
165
+ * ],
166
+ * Resource: example.arn,
167
+ * }],
168
+ * }),
169
+ * });
170
+ * const exampleMskSingleScramSecretAssociation = new aws.index.MskSingleScramSecretAssociation("example", {
171
+ * clusterArn: example.arn,
172
+ * secretArn: awsSecretArn,
173
+ * });
174
+ * const test = new mongodbatlas.StreamPrivatelinkEndpoint("test", {
175
+ * projectId: projectId,
176
+ * providerName: "AWS",
177
+ * vendor: "MSK",
178
+ * arn: example.arn,
179
+ * });
180
+ * const singularDatasource = test.id.apply(id => mongodbatlas.getStreamPrivatelinkEndpointOutput({
181
+ * projectId: projectId,
182
+ * id: id,
183
+ * }));
184
+ * export const privatelinkEndpointId = singularDatasource.apply(singularDatasource => singularDatasource.id);
185
+ * ```
186
+ *
82
187
  * ### AWS S3 Privatelink
83
188
  * ```typescript
84
189
  * import * as pulumi from "@pulumi/pulumi";
@@ -86,22 +191,22 @@ import * as outputs from "./types/output";
86
191
  * import * as mongodbatlas from "@pulumi/mongodbatlas";
87
192
  *
88
193
  * // S3 bucket for stream data
89
- * const streamBucket = new aws.index.S3Bucket("stream_bucket", {
194
+ * const streamBucket = new aws.s3.BucketV2("stream_bucket", {
90
195
  * bucket: s3BucketName,
91
196
  * forceDestroy: true,
92
197
  * });
93
- * const streamBucketVersioning = new aws.index.S3BucketVersioning("stream_bucket_versioning", {
198
+ * const streamBucketVersioning = new aws.s3.BucketVersioningV2("stream_bucket_versioning", {
94
199
  * bucket: streamBucket.id,
95
- * versioningConfiguration: [{
200
+ * versioningConfiguration: {
96
201
  * status: "Enabled",
97
- * }],
202
+ * },
98
203
  * });
99
- * const streamBucketEncryption = new aws.index.S3BucketServerSideEncryptionConfiguration("stream_bucket_encryption", {
204
+ * const streamBucketEncryption = new aws.s3.BucketServerSideEncryptionConfigurationV2("stream_bucket_encryption", {
100
205
  * bucket: streamBucket.id,
101
- * rule: [{
102
- * applyServerSideEncryptionByDefault: [{
206
+ * rules: [{
207
+ * applyServerSideEncryptionByDefault: {
103
208
  * sseAlgorithm: "AES256",
104
- * }],
209
+ * },
105
210
  * }],
106
211
  * });
107
212
  * // PrivateLink for S3
@@ -212,6 +317,111 @@ export interface GetStreamPrivatelinkEndpointsResult {
212
317
  * export const interfaceEndpointIds = pluralDatasource.then(pluralDatasource => pluralDatasource.results.map(__item => __item.interfaceEndpointId));
213
318
  * ```
214
319
  *
320
+ * ### AWS MSK Privatelink
321
+ * ```typescript
322
+ * import * as pulumi from "@pulumi/pulumi";
323
+ * import * as aws from "@pulumi/aws";
324
+ * import * as mongodbatlas from "@pulumi/mongodbatlas";
325
+ *
326
+ * const vpc = new aws.ec2.Vpc("vpc", {cidrBlock: "192.168.0.0/22"});
327
+ * const azs = aws.getAvailabilityZones({
328
+ * state: "available",
329
+ * });
330
+ * const subnetAz1 = new aws.ec2.Subnet("subnet_az1", {
331
+ * availabilityZone: azs.then(azs => azs.names?.[0]),
332
+ * cidrBlock: "192.168.0.0/24",
333
+ * vpcId: vpc.id,
334
+ * });
335
+ * const subnetAz2 = new aws.ec2.Subnet("subnet_az2", {
336
+ * availabilityZone: azs.then(azs => azs.names?.[1]),
337
+ * cidrBlock: "192.168.1.0/24",
338
+ * vpcId: vpc.id,
339
+ * });
340
+ * const sg = new aws.ec2.SecurityGroup("sg", {vpcId: vpc.id});
341
+ * const exampleConfiguration = new aws.msk.Configuration("example", {
342
+ * name: `${mskClusterName}-msk-configuration`,
343
+ * serverProperties: `auto.create.topics.enable=false
344
+ * default.replication.factor=3
345
+ * min.insync.replicas=2
346
+ * num.io.threads=8
347
+ * num.network.threads=5
348
+ * num.partitions=1
349
+ * num.replica.fetchers=2
350
+ * replica.lag.time.max.ms=30000
351
+ * socket.receive.buffer.bytes=102400
352
+ * socket.request.max.bytes=104857600
353
+ * socket.send.buffer.bytes=102400
354
+ * unclean.leader.election.enable=true
355
+ * allow.everyone.if.no.acl.found=false
356
+ * `,
357
+ * });
358
+ * const example = new aws.msk.Cluster("example", {
359
+ * clusterName: mskClusterName,
360
+ * kafkaVersion: "3.6.0",
361
+ * numberOfBrokerNodes: 2,
362
+ * brokerNodeGroupInfo: {
363
+ * instanceType: "kafka.m5.large",
364
+ * clientSubnets: [
365
+ * subnetAz1.id,
366
+ * subnetAz2.id,
367
+ * ],
368
+ * securityGroups: [sg.id],
369
+ * connectivityInfo: {
370
+ * vpcConnectivity: {
371
+ * clientAuthentication: {
372
+ * sasl: {
373
+ * scram: true,
374
+ * },
375
+ * },
376
+ * },
377
+ * },
378
+ * },
379
+ * clientAuthentication: {
380
+ * sasl: {
381
+ * scram: true,
382
+ * },
383
+ * },
384
+ * configurationInfo: {
385
+ * arn: exampleConfiguration.arn,
386
+ * revision: exampleConfiguration.latestRevision,
387
+ * },
388
+ * });
389
+ * const exampleClusterPolicy = new aws.msk.ClusterPolicy("example", {
390
+ * clusterArn: example.arn,
391
+ * policy: pulumi.jsonStringify({
392
+ * Version: "2012-10-17",
393
+ * Statement: [{
394
+ * Effect: "Allow",
395
+ * Principal: {
396
+ * AWS: `arn:aws:iam::${awsAccountId}:root`,
397
+ * },
398
+ * Action: [
399
+ * "kafka:CreateVpcConnection",
400
+ * "kafka:GetBootstrapBrokers",
401
+ * "kafka:DescribeCluster",
402
+ * "kafka:DescribeClusterV2",
403
+ * ],
404
+ * Resource: example.arn,
405
+ * }],
406
+ * }),
407
+ * });
408
+ * const exampleMskSingleScramSecretAssociation = new aws.index.MskSingleScramSecretAssociation("example", {
409
+ * clusterArn: example.arn,
410
+ * secretArn: awsSecretArn,
411
+ * });
412
+ * const test = new mongodbatlas.StreamPrivatelinkEndpoint("test", {
413
+ * projectId: projectId,
414
+ * providerName: "AWS",
415
+ * vendor: "MSK",
416
+ * arn: example.arn,
417
+ * });
418
+ * const singularDatasource = test.id.apply(id => mongodbatlas.getStreamPrivatelinkEndpointOutput({
419
+ * projectId: projectId,
420
+ * id: id,
421
+ * }));
422
+ * export const privatelinkEndpointId = singularDatasource.apply(singularDatasource => singularDatasource.id);
423
+ * ```
424
+ *
215
425
  * ### AWS S3 Privatelink
216
426
  * ```typescript
217
427
  * import * as pulumi from "@pulumi/pulumi";
@@ -219,22 +429,22 @@ export interface GetStreamPrivatelinkEndpointsResult {
219
429
  * import * as mongodbatlas from "@pulumi/mongodbatlas";
220
430
  *
221
431
  * // S3 bucket for stream data
222
- * const streamBucket = new aws.index.S3Bucket("stream_bucket", {
432
+ * const streamBucket = new aws.s3.BucketV2("stream_bucket", {
223
433
  * bucket: s3BucketName,
224
434
  * forceDestroy: true,
225
435
  * });
226
- * const streamBucketVersioning = new aws.index.S3BucketVersioning("stream_bucket_versioning", {
436
+ * const streamBucketVersioning = new aws.s3.BucketVersioningV2("stream_bucket_versioning", {
227
437
  * bucket: streamBucket.id,
228
- * versioningConfiguration: [{
438
+ * versioningConfiguration: {
229
439
  * status: "Enabled",
230
- * }],
440
+ * },
231
441
  * });
232
- * const streamBucketEncryption = new aws.index.S3BucketServerSideEncryptionConfiguration("stream_bucket_encryption", {
442
+ * const streamBucketEncryption = new aws.s3.BucketServerSideEncryptionConfigurationV2("stream_bucket_encryption", {
233
443
  * bucket: streamBucket.id,
234
- * rule: [{
235
- * applyServerSideEncryptionByDefault: [{
444
+ * rules: [{
445
+ * applyServerSideEncryptionByDefault: {
236
446
  * sseAlgorithm: "AES256",
237
- * }],
447
+ * },
238
448
  * }],
239
449
  * });
240
450
  * // PrivateLink for S3