@reventlessdev/rescript-pulumi-aws 2.4.0-alpha.43

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.
Files changed (169) hide show
  1. package/CHANGELOG.md +366 -0
  2. package/LICENSE +202 -0
  3. package/README.md +19 -0
  4. package/package.json +52 -0
  5. package/rescript.json +27 -0
  6. package/scripts/bundle-resolvers.mjs +77 -0
  7. package/src/AWS/Aws_AvailabilityZone.res +9 -0
  8. package/src/AWS/Aws_AvailabilityZone.res.mjs +9 -0
  9. package/src/AWS/Aws_AvailabilityZone.resi +9 -0
  10. package/src/AWS/Aws_Aws.res +29 -0
  11. package/src/AWS/Aws_Aws.res.mjs +32 -0
  12. package/src/AWS/Aws_Common.res +2 -0
  13. package/src/AWS/Aws_Common.res.mjs +2 -0
  14. package/src/AWS/Aws_Provider.res +10 -0
  15. package/src/AWS/Aws_Provider.res.mjs +2 -0
  16. package/src/Acm/Acm.res +5 -0
  17. package/src/Acm/Acm.res.mjs +12 -0
  18. package/src/Acm/Acm_Certificate.res +27 -0
  19. package/src/Acm/Acm_Certificate.res.mjs +2 -0
  20. package/src/Acm/Acm_CertificateValidation.res +22 -0
  21. package/src/Acm/Acm_CertificateValidation.res.mjs +2 -0
  22. package/src/AppSync/AppSync.res +7 -0
  23. package/src/AppSync/AppSync.res.mjs +18 -0
  24. package/src/AppSync/AppSync_DataSource.res +93 -0
  25. package/src/AppSync/AppSync_DataSource.res.mjs +42 -0
  26. package/src/AppSync/AppSync_Function.res +75 -0
  27. package/src/AppSync/AppSync_Function.res.mjs +36 -0
  28. package/src/AppSync/AppSync_GraphQLApi.res +65 -0
  29. package/src/AppSync/AppSync_GraphQLApi.res.mjs +20 -0
  30. package/src/AppSync/AppSync_Resolver.res +229 -0
  31. package/src/AppSync/AppSync_Resolver.res.mjs +113 -0
  32. package/src/AppSync/AppSync_ResolverRuntime.res +214 -0
  33. package/src/AppSync/AppSync_ResolverRuntime.res.mjs +15 -0
  34. package/src/AppSync/AppSync_Resolver_Functions.res +998 -0
  35. package/src/AppSync/AppSync_Resolver_Functions.res.mjs +913 -0
  36. package/src/Aws.res +5 -0
  37. package/src/Aws.res.mjs +16 -0
  38. package/src/AwsNative/AppSync/AwsNative_AppSync_Api.res +92 -0
  39. package/src/AwsNative/AppSync/AwsNative_AppSync_Api.res.mjs +12 -0
  40. package/src/AwsNative/AppSync/AwsNative_AppSync_ChannelNamespace.res +81 -0
  41. package/src/AwsNative/AppSync/AwsNative_AppSync_ChannelNamespace.res.mjs +18 -0
  42. package/src/AwsNative/AppSync/AwsNative_AppSync_Resolver.res +39 -0
  43. package/src/AwsNative/AppSync/AwsNative_AppSync_Resolver.res.mjs +12 -0
  44. package/src/AwsNative/AwsNative.res +10 -0
  45. package/src/AwsNative/AwsNative.res.mjs +13 -0
  46. package/src/CloudFront/CloudFront.res +5 -0
  47. package/src/CloudFront/CloudFront.res.mjs +12 -0
  48. package/src/CloudFront/CloudFront_Distribution.res +81 -0
  49. package/src/CloudFront/CloudFront_Distribution.res.mjs +2 -0
  50. package/src/CloudFront/CloudFront_OriginAccessControl.res +20 -0
  51. package/src/CloudFront/CloudFront_OriginAccessControl.res.mjs +2 -0
  52. package/src/Cloudwatch/Cloudwatch.res +7 -0
  53. package/src/Cloudwatch/Cloudwatch.res.mjs +18 -0
  54. package/src/Cloudwatch/Cloudwatch_EventRule.res +52 -0
  55. package/src/Cloudwatch/Cloudwatch_EventRule.res.mjs +37 -0
  56. package/src/Cloudwatch/Cloudwatch_EventTarget.res +28 -0
  57. package/src/Cloudwatch/Cloudwatch_EventTarget.res.mjs +25 -0
  58. package/src/Cloudwatch/Cloudwatch_LogGroup.res +14 -0
  59. package/src/Cloudwatch/Cloudwatch_LogGroup.res.mjs +2 -0
  60. package/src/Cloudwatch/Cloudwatch_LogMetricFilter.res +28 -0
  61. package/src/Cloudwatch/Cloudwatch_LogMetricFilter.res.mjs +2 -0
  62. package/src/Cognito/Cognito.res +8 -0
  63. package/src/Cognito/Cognito.res.mjs +21 -0
  64. package/src/Cognito/Cognito_IdentityPool.res +148 -0
  65. package/src/Cognito/Cognito_IdentityPool.res.mjs +65 -0
  66. package/src/Cognito/Cognito_IdentityPoolRoleAttachment.res +18 -0
  67. package/src/Cognito/Cognito_IdentityPoolRoleAttachment.res.mjs +2 -0
  68. package/src/Cognito/Cognito_UserGroup.res +16 -0
  69. package/src/Cognito/Cognito_UserGroup.res.mjs +2 -0
  70. package/src/Cognito/Cognito_UserPool.res +125 -0
  71. package/src/Cognito/Cognito_UserPool.res.mjs +44 -0
  72. package/src/Cognito/Cognito_UserPoolClient.res +33 -0
  73. package/src/Cognito/Cognito_UserPoolClient.res.mjs +2 -0
  74. package/src/DynamoDb/DynamoDb.res +5 -0
  75. package/src/DynamoDb/DynamoDb.res.mjs +12 -0
  76. package/src/DynamoDb/DynamoDb_Stream.res +41 -0
  77. package/src/DynamoDb/DynamoDb_Stream.res.mjs +2 -0
  78. package/src/DynamoDb/DynamoDb_Table.res +66 -0
  79. package/src/DynamoDb/DynamoDb_Table.res.mjs +2 -0
  80. package/src/EC2/EC2.res +13 -0
  81. package/src/EC2/EC2.res.mjs +36 -0
  82. package/src/EC2/EC2_Common.res +13 -0
  83. package/src/EC2/EC2_Common.res.mjs +22 -0
  84. package/src/EC2/EC2_DefaultSecurityGroup.res +22 -0
  85. package/src/EC2/EC2_DefaultSecurityGroup.res.mjs +19 -0
  86. package/src/EC2/EC2_Eip.res +24 -0
  87. package/src/EC2/EC2_Eip.res.mjs +18 -0
  88. package/src/EC2/EC2_InternetGateway.res +25 -0
  89. package/src/EC2/EC2_InternetGateway.res.mjs +18 -0
  90. package/src/EC2/EC2_NatGateway.res +30 -0
  91. package/src/EC2/EC2_NatGateway.res.mjs +18 -0
  92. package/src/EC2/EC2_RouteTable.res +49 -0
  93. package/src/EC2/EC2_RouteTable.res.mjs +38 -0
  94. package/src/EC2/EC2_RouteTableAssociation.res +30 -0
  95. package/src/EC2/EC2_RouteTableAssociation.res.mjs +18 -0
  96. package/src/EC2/EC2_SecurityGroup.res +44 -0
  97. package/src/EC2/EC2_SecurityGroup.res.mjs +49 -0
  98. package/src/EC2/EC2_Subnet.res +31 -0
  99. package/src/EC2/EC2_Subnet.res.mjs +19 -0
  100. package/src/EC2/EC2_Vpc.res +25 -0
  101. package/src/EC2/EC2_Vpc.res.mjs +18 -0
  102. package/src/EC2/EC2_VpcEndpoint.res +43 -0
  103. package/src/EC2/EC2_VpcEndpoint.res.mjs +22 -0
  104. package/src/ECS/ECS.res +6 -0
  105. package/src/ECS/ECS.res.mjs +15 -0
  106. package/src/ECS/ECS_Cluster.res +10 -0
  107. package/src/ECS/ECS_Cluster.res.mjs +2 -0
  108. package/src/ECS/ECS_Container.res +58 -0
  109. package/src/ECS/ECS_Container.res.mjs +2 -0
  110. package/src/ECS/ECS_TaskDefinition.res +31 -0
  111. package/src/ECS/ECS_TaskDefinition.res.mjs +2 -0
  112. package/src/IAM/IAM.res +148 -0
  113. package/src/IAM/IAM.res.mjs +61 -0
  114. package/src/IAM/IAM_ManagedPolicies.res +32 -0
  115. package/src/IAM/IAM_ManagedPolicies.res.mjs +2 -0
  116. package/src/IAM/PolicyDocument.res +163 -0
  117. package/src/IAM/PolicyDocument.res.mjs +164 -0
  118. package/src/Kinesis/Kinesis.res +4 -0
  119. package/src/Kinesis/Kinesis.res.mjs +9 -0
  120. package/src/Kinesis/Kinesis_Stream.res +70 -0
  121. package/src/Kinesis/Kinesis_Stream.res.mjs +9 -0
  122. package/src/Lambda/EventSourceMapping.res +78 -0
  123. package/src/Lambda/EventSourceMapping.res.mjs +2 -0
  124. package/src/Lambda/FunctionUrl.res +41 -0
  125. package/src/Lambda/FunctionUrl.res.mjs +2 -0
  126. package/src/Lambda/Lambda.res +270 -0
  127. package/src/Lambda/Lambda.res.mjs +94 -0
  128. package/src/Route53/Route53.res +4 -0
  129. package/src/Route53/Route53.res.mjs +9 -0
  130. package/src/Route53/Route53_Record.res +36 -0
  131. package/src/Route53/Route53_Record.res.mjs +2 -0
  132. package/src/S3/S3.res +10 -0
  133. package/src/S3/S3.res.mjs +27 -0
  134. package/src/S3/S3_Bucket.res +236 -0
  135. package/src/S3/S3_Bucket.res.mjs +2 -0
  136. package/src/S3/S3_BucketAclV2.res +24 -0
  137. package/src/S3/S3_BucketAclV2.res.mjs +2 -0
  138. package/src/S3/S3_BucketObject.res +22 -0
  139. package/src/S3/S3_BucketObject.res.mjs +2 -0
  140. package/src/S3/S3_BucketOwnershipControls.res +19 -0
  141. package/src/S3/S3_BucketOwnershipControls.res.mjs +2 -0
  142. package/src/S3/S3_BucketPolicy.res +13 -0
  143. package/src/S3/S3_BucketPolicy.res.mjs +2 -0
  144. package/src/S3/S3_BucketPublicAccessBlock.res +16 -0
  145. package/src/S3/S3_BucketPublicAccessBlock.res.mjs +2 -0
  146. package/src/S3/S3_BucketV2.res +11 -0
  147. package/src/S3/S3_BucketV2.res.mjs +2 -0
  148. package/src/SES/SES.bs.js +11 -0
  149. package/src/SES/SES.res +25 -0
  150. package/src/SES/SES.res.mjs +12 -0
  151. package/src/SNS/SNS.res +5 -0
  152. package/src/SNS/SNS.res.mjs +12 -0
  153. package/src/SNS/SNS_Topic.res +71 -0
  154. package/src/SNS/SNS_Topic.res.mjs +2 -0
  155. package/src/SNS/SNS_TopicSubscription.res +21 -0
  156. package/src/SNS/SNS_TopicSubscription.res.mjs +2 -0
  157. package/src/SQS/SQS.res +5 -0
  158. package/src/SQS/SQS.res.mjs +12 -0
  159. package/src/SQS/SQS_Queue.res +92 -0
  160. package/src/SQS/SQS_Queue.res.mjs +19 -0
  161. package/src/SQS/SQS_QueuePolicy.res +13 -0
  162. package/src/SQS/SQS_QueuePolicy.res.mjs +2 -0
  163. package/src/SecretsManager/GetSecretVersion.res +37 -0
  164. package/src/SecretsManager/GetSecretVersion.res.mjs +23 -0
  165. package/src/example/CustomDomainExample.res +71 -0
  166. package/src/example/CustomDomainExample.res.mjs +57 -0
  167. package/tests/AppSync_Resolver_FunctionsTest.mjs +597 -0
  168. package/tests/__mocks__/appsync-utils.mjs +26 -0
  169. package/tests/resolverTestHelper.mjs +46 -0
@@ -0,0 +1,36 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+
4
+ let DefaultSecurityGroup;
5
+
6
+ let Eip;
7
+
8
+ let InternetGateway;
9
+
10
+ let NatGateway;
11
+
12
+ let RouteTable;
13
+
14
+ let RouteTableAssociation;
15
+
16
+ let SecurityGroup;
17
+
18
+ let Subnet;
19
+
20
+ let Vpc;
21
+
22
+ let VpcEndpoint;
23
+
24
+ export {
25
+ DefaultSecurityGroup,
26
+ Eip,
27
+ InternetGateway,
28
+ NatGateway,
29
+ RouteTable,
30
+ RouteTableAssociation,
31
+ SecurityGroup,
32
+ Subnet,
33
+ Vpc,
34
+ VpcEndpoint,
35
+ }
36
+ /* No side effect */
@@ -0,0 +1,13 @@
1
+ let supplementTagsWithName = (tags, name) =>
2
+ switch tags {
3
+ | Some(t) =>
4
+ switch t->Dict.get("Name") {
5
+ | None => t->Dict.set("Name", name)
6
+ | Some(_) => ()
7
+ }
8
+ t
9
+ | None =>
10
+ let t = Dict.make()
11
+ t->Dict.set("Name", name)
12
+ t
13
+ }
@@ -0,0 +1,22 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+
4
+ function supplementTagsWithName(tags, name) {
5
+ if (tags !== undefined) {
6
+ let match = tags["Name"];
7
+ if (match !== undefined) {
8
+
9
+ } else {
10
+ tags["Name"] = name;
11
+ }
12
+ return tags;
13
+ }
14
+ let t = {};
15
+ t["Name"] = name;
16
+ return t;
17
+ }
18
+
19
+ export {
20
+ supplementTagsWithName,
21
+ }
22
+ /* No side effect */
@@ -0,0 +1,22 @@
1
+ /** @pulumi/aws/ec2
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/ec2/defaultsecuritygroup
3
+ */
4
+ type t
5
+
6
+ type args = {vpcId: string, tags?: Aws.tags}
7
+
8
+ @module("@pulumi/aws") @scope("ec2") @new
9
+ external make: (~name: string, ~args: args=?, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
10
+ "DefaultSecurityGroup"
11
+
12
+ let make: (~name: string, ~args: args=?, ~opts: Pulumi.CustomResourceOptions.t=?) => t = (
13
+ ~name,
14
+ ~args=?,
15
+ ~opts=?,
16
+ ) => {
17
+ let args = args->Option.map(args => {
18
+ vpcId: args.vpcId,
19
+ tags: args.tags->EC2_Common.supplementTagsWithName(name),
20
+ })
21
+ make(~name, ~args?, ~opts?)
22
+ }
@@ -0,0 +1,19 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Aws from "@pulumi/aws";
4
+ import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
5
+ import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
6
+ import * as EC2_Common$PulumiAws from "./EC2_Common.res.mjs";
7
+
8
+ function make(name, args, opts) {
9
+ let args$1 = Stdlib_Option.map(args, args => ({
10
+ vpcId: args.vpcId,
11
+ tags: EC2_Common$PulumiAws.supplementTagsWithName(args.tags, name)
12
+ }));
13
+ return new (Aws.ec2.DefaultSecurityGroup)(name, args$1 !== undefined ? Primitive_option.valFromOption(args$1) : undefined, opts !== undefined ? Primitive_option.valFromOption(opts) : undefined);
14
+ }
15
+
16
+ export {
17
+ make,
18
+ }
19
+ /* @pulumi/aws Not a pure module */
@@ -0,0 +1,24 @@
1
+ /** @pulumi/aws/ec2
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/ec2/eip
3
+ */
4
+ type t = {id: Pulumi.Output.t<string>}
5
+
6
+ type args = {vpc: bool, tags?: Aws.tags}
7
+
8
+ @module("@pulumi/aws") @scope("ec2") @new
9
+ external make: (~name: string, ~args: args=?, ~opts: Pulumi.CustomResourceOptions.t=?) => t = "Eip"
10
+
11
+ let make: (~name: string, ~args: args=?, ~opts: Pulumi.CustomResourceOptions.t=?) => t = (
12
+ ~name,
13
+ ~args=?,
14
+ ~opts=?,
15
+ ) => {
16
+ make(
17
+ ~name,
18
+ ~args=?args->Option.map(args => {
19
+ vpc: args.vpc,
20
+ tags: args.tags->EC2_Common.supplementTagsWithName(name),
21
+ }),
22
+ ~opts?,
23
+ )
24
+ }
@@ -0,0 +1,18 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Aws from "@pulumi/aws";
4
+ import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
5
+ import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
6
+ import * as EC2_Common$PulumiAws from "./EC2_Common.res.mjs";
7
+
8
+ function make(name, args, opts) {
9
+ return new (Aws.ec2.Eip)(name, Primitive_option.toUndefined(Stdlib_Option.map(args, args => ({
10
+ vpc: args.vpc,
11
+ tags: EC2_Common$PulumiAws.supplementTagsWithName(args.tags, name)
12
+ }))), opts !== undefined ? Primitive_option.valFromOption(opts) : undefined);
13
+ }
14
+
15
+ export {
16
+ make,
17
+ }
18
+ /* @pulumi/aws Not a pure module */
@@ -0,0 +1,25 @@
1
+ /** @pulumi/aws/ec2
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/ec2/internetgateway
3
+ */
4
+ type t = {id: Pulumi.Output.t<string>}
5
+
6
+ type args = {vpcId: Pulumi.Input.t<string>, tags?: Aws.tags}
7
+
8
+ @module("@pulumi/aws") @scope("ec2") @new
9
+ external make: (~name: string, ~args: args=?, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
10
+ "InternetGateway"
11
+
12
+ let make: (~name: string, ~args: args=?, ~opts: Pulumi.CustomResourceOptions.t=?) => t = (
13
+ ~name,
14
+ ~args=?,
15
+ ~opts=?,
16
+ ) => {
17
+ make(
18
+ ~name,
19
+ ~args=?args->Option.map(args => {
20
+ vpcId: args.vpcId,
21
+ tags: args.tags->EC2_Common.supplementTagsWithName(name),
22
+ }),
23
+ ~opts?,
24
+ )
25
+ }
@@ -0,0 +1,18 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Aws from "@pulumi/aws";
4
+ import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
5
+ import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
6
+ import * as EC2_Common$PulumiAws from "./EC2_Common.res.mjs";
7
+
8
+ function make(name, args, opts) {
9
+ return new (Aws.ec2.InternetGateway)(name, Primitive_option.toUndefined(Stdlib_Option.map(args, args => ({
10
+ vpcId: args.vpcId,
11
+ tags: EC2_Common$PulumiAws.supplementTagsWithName(args.tags, name)
12
+ }))), opts !== undefined ? Primitive_option.valFromOption(opts) : undefined);
13
+ }
14
+
15
+ export {
16
+ make,
17
+ }
18
+ /* @pulumi/aws Not a pure module */
@@ -0,0 +1,30 @@
1
+ /** @pulumi/aws/ec2
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/ec2/natgateway
3
+ */
4
+ type t = {id: Pulumi.Output.t<string>}
5
+
6
+ type args = {
7
+ allocationId: Pulumi.Input.t<string>,
8
+ subnetId: Pulumi.Input.t<string>,
9
+ tags?: Aws.tags,
10
+ }
11
+
12
+ @module("@pulumi/aws") @scope("ec2") @new
13
+ external make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
14
+ "NatGateway"
15
+
16
+ let make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t = (
17
+ ~name,
18
+ ~args,
19
+ ~opts=?,
20
+ ) => {
21
+ make(
22
+ ~name,
23
+ ~args={
24
+ allocationId: args.allocationId,
25
+ subnetId: args.subnetId,
26
+ tags: args.tags->EC2_Common.supplementTagsWithName(name),
27
+ },
28
+ ~opts?,
29
+ )
30
+ }
@@ -0,0 +1,18 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Aws from "@pulumi/aws";
4
+ import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
5
+ import * as EC2_Common$PulumiAws from "./EC2_Common.res.mjs";
6
+
7
+ function make(name, args, opts) {
8
+ return new (Aws.ec2.NatGateway)(name, {
9
+ allocationId: args.allocationId,
10
+ subnetId: args.subnetId,
11
+ tags: EC2_Common$PulumiAws.supplementTagsWithName(args.tags, name)
12
+ }, opts !== undefined ? Primitive_option.valFromOption(opts) : undefined);
13
+ }
14
+
15
+ export {
16
+ make,
17
+ }
18
+ /* @pulumi/aws Not a pure module */
@@ -0,0 +1,49 @@
1
+ /** @pulumi/aws/ec2
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/ec2/routetable
3
+ */
4
+ module Route = {
5
+ type t
6
+
7
+ type transparent = {
8
+ cidrBlock: string,
9
+ gatewayId?: Pulumi.Input.t<string>,
10
+ natGatewayId?: Pulumi.Input.t<string>,
11
+ }
12
+ external toTransparent: t => transparent = "%identity"
13
+ %%private(external make: transparent => t = "%identity")
14
+ let makeInternetGatewayRoute = (~cidrBlock: string, ~gatewayId: Pulumi.Input.t<string>) =>
15
+ {
16
+ cidrBlock,
17
+ gatewayId,
18
+ }->make
19
+
20
+ let makeNatGatewayRoute = (~cidrBlock: string, ~natGatewayId: Pulumi.Input.t<string>) =>
21
+ {
22
+ cidrBlock,
23
+ natGatewayId,
24
+ }->make
25
+ }
26
+
27
+ type args = {vpcId: Pulumi.Input.t<string>, routes: array<Route.t>, tags?: Aws.tags}
28
+
29
+ type t = {id: Pulumi.Output.t<string>}
30
+
31
+ @module("@pulumi/aws") @scope("ec2") @new
32
+ external make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
33
+ "RouteTable"
34
+
35
+ let make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t = (
36
+ ~name,
37
+ ~args,
38
+ ~opts=?,
39
+ ) => {
40
+ make(
41
+ ~name,
42
+ ~args={
43
+ vpcId: args.vpcId,
44
+ routes: args.routes,
45
+ tags: args.tags->EC2_Common.supplementTagsWithName(name),
46
+ },
47
+ ~opts?,
48
+ )
49
+ }
@@ -0,0 +1,38 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Aws from "@pulumi/aws";
4
+ import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
5
+ import * as EC2_Common$PulumiAws from "./EC2_Common.res.mjs";
6
+
7
+ function makeInternetGatewayRoute(cidrBlock, gatewayId) {
8
+ return {
9
+ cidrBlock: cidrBlock,
10
+ gatewayId: gatewayId
11
+ };
12
+ }
13
+
14
+ function makeNatGatewayRoute(cidrBlock, natGatewayId) {
15
+ return {
16
+ cidrBlock: cidrBlock,
17
+ natGatewayId: natGatewayId
18
+ };
19
+ }
20
+
21
+ let Route = {
22
+ makeInternetGatewayRoute: makeInternetGatewayRoute,
23
+ makeNatGatewayRoute: makeNatGatewayRoute
24
+ };
25
+
26
+ function make(name, args, opts) {
27
+ return new (Aws.ec2.RouteTable)(name, {
28
+ vpcId: args.vpcId,
29
+ routes: args.routes,
30
+ tags: EC2_Common$PulumiAws.supplementTagsWithName(args.tags, name)
31
+ }, opts !== undefined ? Primitive_option.valFromOption(opts) : undefined);
32
+ }
33
+
34
+ export {
35
+ Route,
36
+ make,
37
+ }
38
+ /* @pulumi/aws Not a pure module */
@@ -0,0 +1,30 @@
1
+ /** @pulumi/aws/ec2
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/ec2/routetableassociation
3
+ */
4
+ type t
5
+
6
+ type args = {
7
+ routeTableId: Pulumi.Input.t<string>,
8
+ subnetId: Pulumi.Input.t<string>,
9
+ tags?: Aws.tags,
10
+ }
11
+
12
+ @module("@pulumi/aws") @scope("ec2") @new
13
+ external make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
14
+ "RouteTableAssociation"
15
+
16
+ let make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t = (
17
+ ~name,
18
+ ~args,
19
+ ~opts=?,
20
+ ) => {
21
+ make(
22
+ ~name,
23
+ ~args={
24
+ routeTableId: args.routeTableId,
25
+ subnetId: args.subnetId,
26
+ tags: args.tags->EC2_Common.supplementTagsWithName(name),
27
+ },
28
+ ~opts?,
29
+ )
30
+ }
@@ -0,0 +1,18 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Aws from "@pulumi/aws";
4
+ import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
5
+ import * as EC2_Common$PulumiAws from "./EC2_Common.res.mjs";
6
+
7
+ function make(name, args, opts) {
8
+ return new (Aws.ec2.RouteTableAssociation)(name, {
9
+ routeTableId: args.routeTableId,
10
+ subnetId: args.subnetId,
11
+ tags: EC2_Common$PulumiAws.supplementTagsWithName(args.tags, name)
12
+ }, opts !== undefined ? Primitive_option.valFromOption(opts) : undefined);
13
+ }
14
+
15
+ export {
16
+ make,
17
+ }
18
+ /* @pulumi/aws Not a pure module */
@@ -0,0 +1,44 @@
1
+ /** @pulumi/aws/ec2
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/ec2/securitygroup
3
+ */
4
+ type t = {id: Pulumi.Output.t<string>}
5
+
6
+ module Ingress = {
7
+ type t = {fromPort: int, protocol: string, toPort: int, cidrBlocks: array<string>}
8
+ let allowAll = {fromPort: 0, protocol: "-1", toPort: 0, cidrBlocks: ["0.0.0.0/0"]}
9
+ }
10
+
11
+ module Egress = {
12
+ type t = {fromPort: int, protocol: string, toPort: int, cidrBlocks: array<string>}
13
+ let allowAll = {fromPort: 0, protocol: "-1", toPort: 0, cidrBlocks: ["0.0.0.0/0"]}
14
+ }
15
+
16
+ type args = {
17
+ name: string,
18
+ vpcId: Pulumi.Input.t<string>,
19
+ ingress: array<Ingress.t>,
20
+ egress: array<Egress.t>,
21
+ tags?: Aws.tags,
22
+ }
23
+
24
+ @module("@pulumi/aws") @scope("ec2") @new
25
+ external make: (~name: string, ~args: args=?, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
26
+ "SecurityGroup"
27
+
28
+ let make: (~name: string, ~args: args=?, ~opts: Pulumi.CustomResourceOptions.t=?) => t = (
29
+ ~name,
30
+ ~args=?,
31
+ ~opts=?,
32
+ ) => {
33
+ make(
34
+ ~name,
35
+ ~args=?args->Option.map(args => {
36
+ name: args.name,
37
+ vpcId: args.vpcId,
38
+ ingress: args.ingress,
39
+ egress: args.egress,
40
+ tags: args.tags->EC2_Common.supplementTagsWithName(name),
41
+ }),
42
+ ~opts?,
43
+ )
44
+ }
@@ -0,0 +1,49 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Aws from "@pulumi/aws";
4
+ import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
5
+ import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
6
+ import * as EC2_Common$PulumiAws from "./EC2_Common.res.mjs";
7
+
8
+ let allowAll_cidrBlocks = ["0.0.0.0/0"];
9
+
10
+ let allowAll = {
11
+ fromPort: 0,
12
+ protocol: "-1",
13
+ toPort: 0,
14
+ cidrBlocks: allowAll_cidrBlocks
15
+ };
16
+
17
+ let Ingress = {
18
+ allowAll: allowAll
19
+ };
20
+
21
+ let allowAll_cidrBlocks$1 = ["0.0.0.0/0"];
22
+
23
+ let allowAll$1 = {
24
+ fromPort: 0,
25
+ protocol: "-1",
26
+ toPort: 0,
27
+ cidrBlocks: allowAll_cidrBlocks$1
28
+ };
29
+
30
+ let Egress = {
31
+ allowAll: allowAll$1
32
+ };
33
+
34
+ function make(name, args, opts) {
35
+ return new (Aws.ec2.SecurityGroup)(name, Primitive_option.toUndefined(Stdlib_Option.map(args, args => ({
36
+ name: args.name,
37
+ vpcId: args.vpcId,
38
+ ingress: args.ingress,
39
+ egress: args.egress,
40
+ tags: EC2_Common$PulumiAws.supplementTagsWithName(args.tags, name)
41
+ }))), opts !== undefined ? Primitive_option.valFromOption(opts) : undefined);
42
+ }
43
+
44
+ export {
45
+ Ingress,
46
+ Egress,
47
+ make,
48
+ }
49
+ /* @pulumi/aws Not a pure module */
@@ -0,0 +1,31 @@
1
+ /** @pulumi/aws/ec2
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/ec2/subnet
3
+ */
4
+ type t = {id: Pulumi.Output.t<string>}
5
+
6
+ type args = {
7
+ cidrBlock: string,
8
+ vpcId: Pulumi.Input.t<string>,
9
+ availabilityZone?: Aws.AvailabilityZone.t,
10
+ tags?: Aws.tags,
11
+ }
12
+
13
+ @module("@pulumi/aws") @scope("ec2") @new
14
+ external make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t = "Subnet"
15
+
16
+ let make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t = (
17
+ ~name,
18
+ ~args,
19
+ ~opts=?,
20
+ ) => {
21
+ make(
22
+ ~name,
23
+ ~args={
24
+ cidrBlock: args.cidrBlock,
25
+ vpcId: args.vpcId,
26
+ availabilityZone: ?args.availabilityZone,
27
+ tags: args.tags->EC2_Common.supplementTagsWithName(name),
28
+ },
29
+ ~opts?,
30
+ )
31
+ }
@@ -0,0 +1,19 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Aws from "@pulumi/aws";
4
+ import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
5
+ import * as EC2_Common$PulumiAws from "./EC2_Common.res.mjs";
6
+
7
+ function make(name, args, opts) {
8
+ return new (Aws.ec2.Subnet)(name, {
9
+ cidrBlock: args.cidrBlock,
10
+ vpcId: args.vpcId,
11
+ availabilityZone: args.availabilityZone,
12
+ tags: EC2_Common$PulumiAws.supplementTagsWithName(args.tags, name)
13
+ }, opts !== undefined ? Primitive_option.valFromOption(opts) : undefined);
14
+ }
15
+
16
+ export {
17
+ make,
18
+ }
19
+ /* @pulumi/aws Not a pure module */
@@ -0,0 +1,25 @@
1
+ /** @pulumi/aws/ec2
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/ec2/vpc
3
+ */
4
+ type args = {cidrBlock: string, enableDnsHostnames: bool, tags?: Aws.tags}
5
+
6
+ type t = {id: Pulumi.Output.t<string>}
7
+
8
+ @module("@pulumi/aws") @scope("ec2") @new
9
+ external make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t = "Vpc"
10
+
11
+ let make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t = (
12
+ ~name,
13
+ ~args,
14
+ ~opts=?,
15
+ ) => {
16
+ make(
17
+ ~name,
18
+ ~args={
19
+ cidrBlock: args.cidrBlock,
20
+ enableDnsHostnames: args.enableDnsHostnames,
21
+ tags: args.tags->EC2_Common.supplementTagsWithName(name),
22
+ },
23
+ ~opts?,
24
+ )
25
+ }
@@ -0,0 +1,18 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Aws from "@pulumi/aws";
4
+ import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
5
+ import * as EC2_Common$PulumiAws from "./EC2_Common.res.mjs";
6
+
7
+ function make(name, args, opts) {
8
+ return new (Aws.ec2.Vpc)(name, {
9
+ cidrBlock: args.cidrBlock,
10
+ enableDnsHostnames: args.enableDnsHostnames,
11
+ tags: EC2_Common$PulumiAws.supplementTagsWithName(args.tags, name)
12
+ }, opts !== undefined ? Primitive_option.valFromOption(opts) : undefined);
13
+ }
14
+
15
+ export {
16
+ make,
17
+ }
18
+ /* @pulumi/aws Not a pure module */
@@ -0,0 +1,43 @@
1
+ /** @pulumi/aws/ec2
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/ec2/vpcendpoint
3
+ */
4
+ type t = {id: Pulumi.Output.t<string>}
5
+
6
+ type vpcEndpointType = Gateway | GatewayLoadBalancer | Interface
7
+
8
+ type args = {
9
+ policy?: Pulumi.Input.t<string>,
10
+ privateDnsEnabled?: bool,
11
+ /** routeTableIds are only relevant if endpointType = Gateway */
12
+ routeTableIds?: array<Pulumi.Input.t<string>>,
13
+ securityGroupIds?: array<Pulumi.Input.t<string>>,
14
+ serviceName: Pulumi.Input.t<string>,
15
+ tags?: Aws.tags,
16
+ /** Default: Gateway */
17
+ vpcEndpointType?: vpcEndpointType,
18
+ vpcId: Pulumi.Input.t<string>,
19
+ }
20
+
21
+ @module("@pulumi/aws") @scope("ec2") @new
22
+ external make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
23
+ "VpcEndpoint"
24
+
25
+ let make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t = (
26
+ ~name,
27
+ ~args,
28
+ ~opts=?,
29
+ ) => {
30
+ make(
31
+ ~name,
32
+ ~args={
33
+ policy: ?args.policy,
34
+ privateDnsEnabled: ?args.privateDnsEnabled,
35
+ securityGroupIds: ?args.securityGroupIds,
36
+ serviceName: args.serviceName,
37
+ tags: args.tags->EC2_Common.supplementTagsWithName(name),
38
+ vpcEndpointType: ?args.vpcEndpointType,
39
+ vpcId: args.vpcId,
40
+ },
41
+ ~opts?,
42
+ )
43
+ }
@@ -0,0 +1,22 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Aws from "@pulumi/aws";
4
+ import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
5
+ import * as EC2_Common$PulumiAws from "./EC2_Common.res.mjs";
6
+
7
+ function make(name, args, opts) {
8
+ return new (Aws.ec2.VpcEndpoint)(name, {
9
+ policy: args.policy,
10
+ privateDnsEnabled: args.privateDnsEnabled,
11
+ securityGroupIds: args.securityGroupIds,
12
+ serviceName: args.serviceName,
13
+ tags: EC2_Common$PulumiAws.supplementTagsWithName(args.tags, name),
14
+ vpcEndpointType: args.vpcEndpointType,
15
+ vpcId: args.vpcId
16
+ }, opts !== undefined ? Primitive_option.valFromOption(opts) : undefined);
17
+ }
18
+
19
+ export {
20
+ make,
21
+ }
22
+ /* @pulumi/aws Not a pure module */
@@ -0,0 +1,6 @@
1
+ /** @pulumi/aws/ecs
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/ecs/
3
+ */
4
+ module Cluster = ECS_Cluster
5
+ module Container = ECS_Container
6
+ module TaskDefinition = ECS_TaskDefinition
@@ -0,0 +1,15 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+
4
+ let Cluster;
5
+
6
+ let Container;
7
+
8
+ let TaskDefinition;
9
+
10
+ export {
11
+ Cluster,
12
+ Container,
13
+ TaskDefinition,
14
+ }
15
+ /* No side effect */