@pulumi/mongodbatlas 3.37.0-alpha.1763620328 → 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.
- package/cloudProviderAccessAuthorization.d.ts +2 -0
- package/cloudProviderAccessAuthorization.js +2 -0
- package/cloudProviderAccessAuthorization.js.map +1 -1
- package/cloudProviderAccessSetup.d.ts +2 -0
- package/cloudProviderAccessSetup.js +2 -0
- package/cloudProviderAccessSetup.js.map +1 -1
- package/getCloudProviderAccessSetup.d.ts +44 -9
- package/getCloudProviderAccessSetup.js +36 -2
- package/getCloudProviderAccessSetup.js.map +1 -1
- package/getEncryptionAtRest.d.ts +4 -0
- package/getEncryptionAtRest.js +4 -0
- package/getEncryptionAtRest.js.map +1 -1
- package/getStreamPrivatelinkEndpoint.d.ts +226 -16
- package/getStreamPrivatelinkEndpoint.js +226 -16
- package/getStreamPrivatelinkEndpoint.js.map +1 -1
- package/getStreamPrivatelinkEndpoints.d.ts +226 -16
- package/getStreamPrivatelinkEndpoints.js +226 -16
- package/getStreamPrivatelinkEndpoints.js.map +1 -1
- package/networkPeering.d.ts +55 -1
- package/networkPeering.js +55 -1
- package/networkPeering.js.map +1 -1
- package/package.json +2 -2
- package/privatelinkEndpointServiceDataFederationOnlineArchive.d.ts +2 -2
- package/privatelinkEndpointServiceDataFederationOnlineArchive.js +2 -2
- package/privatelinkEndpointServiceServerless.d.ts +7 -7
- package/privatelinkEndpointServiceServerless.js +7 -7
- package/project.d.ts +3 -3
- package/streamPrivatelinkEndpoint.d.ts +113 -8
- package/streamPrivatelinkEndpoint.js +113 -8
- package/streamPrivatelinkEndpoint.js.map +1 -1
- package/types/input.d.ts +11 -0
- package/types/output.d.ts +25 -0
|
@@ -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.
|
|
199
|
+
* const streamBucket = new aws.s3.BucketV2("stream_bucket", {
|
|
95
200
|
* bucket: s3BucketName,
|
|
96
201
|
* forceDestroy: true,
|
|
97
202
|
* });
|
|
98
|
-
* const streamBucketVersioning = new aws.
|
|
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.
|
|
209
|
+
* const streamBucketEncryption = new aws.s3.BucketServerSideEncryptionConfigurationV2("stream_bucket_encryption", {
|
|
105
210
|
* bucket: streamBucket.id,
|
|
106
|
-
*
|
|
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.
|
|
427
|
+
* const streamBucket = new aws.s3.BucketV2("stream_bucket", {
|
|
218
428
|
* bucket: s3BucketName,
|
|
219
429
|
* forceDestroy: true,
|
|
220
430
|
* });
|
|
221
|
-
* const streamBucketVersioning = new aws.
|
|
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.
|
|
437
|
+
* const streamBucketEncryption = new aws.s3.BucketServerSideEncryptionConfigurationV2("stream_bucket_encryption", {
|
|
228
438
|
* bucket: streamBucket.id,
|
|
229
|
-
*
|
|
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
|
|
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.
|
|
194
|
+
* const streamBucket = new aws.s3.BucketV2("stream_bucket", {
|
|
90
195
|
* bucket: s3BucketName,
|
|
91
196
|
* forceDestroy: true,
|
|
92
197
|
* });
|
|
93
|
-
* const streamBucketVersioning = new aws.
|
|
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.
|
|
204
|
+
* const streamBucketEncryption = new aws.s3.BucketServerSideEncryptionConfigurationV2("stream_bucket_encryption", {
|
|
100
205
|
* bucket: streamBucket.id,
|
|
101
|
-
*
|
|
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.
|
|
432
|
+
* const streamBucket = new aws.s3.BucketV2("stream_bucket", {
|
|
223
433
|
* bucket: s3BucketName,
|
|
224
434
|
* forceDestroy: true,
|
|
225
435
|
* });
|
|
226
|
-
* const streamBucketVersioning = new aws.
|
|
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.
|
|
442
|
+
* const streamBucketEncryption = new aws.s3.BucketServerSideEncryptionConfigurationV2("stream_bucket_encryption", {
|
|
233
443
|
* bucket: streamBucket.id,
|
|
234
|
-
*
|
|
235
|
-
* applyServerSideEncryptionByDefault:
|
|
444
|
+
* rules: [{
|
|
445
|
+
* applyServerSideEncryptionByDefault: {
|
|
236
446
|
* sseAlgorithm: "AES256",
|
|
237
|
-
* }
|
|
447
|
+
* },
|
|
238
448
|
* }],
|
|
239
449
|
* });
|
|
240
450
|
* // PrivateLink for S3
|