@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,236 @@
1
+ /** @pulumi/aws/s3/Bucket
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/s3/bucket
3
+ */
4
+ type t = {
5
+ id: Pulumi.Output.t<string>,
6
+ arn: Pulumi.Output.t<string>,
7
+ region: Pulumi.Output.t<string>,
8
+ bucket: Pulumi.Output.t<string>,
9
+ bucketRegionalDomainName: Pulumi.Output.t<string>,
10
+ }
11
+
12
+ type corsRule = {
13
+ allowedHeaders: array<string>,
14
+ allowedMethods: array<string>,
15
+ allowedOrigins: array<string>,
16
+ exposeHeaders: array<string>,
17
+ maxAgeSeconds: int,
18
+ }
19
+
20
+ type corsRules = array<corsRule>
21
+
22
+ type lifecycleRuleExpiration = {
23
+ date: string,
24
+ days: int,
25
+ expiredObjectDeleteMarker: bool,
26
+ }
27
+
28
+ type lifecycleRuleNoncurrentVersionExpiration = {days: int}
29
+
30
+ type lifecycleRuleNoncurrentVersionTransition = {
31
+ days: int,
32
+ storageClass: string,
33
+ }
34
+
35
+ type lifecycleRuleTransition = {
36
+ date: string,
37
+ days: int,
38
+ storageClass: string,
39
+ }
40
+
41
+ type lifecycleRule = {
42
+ abortIncompleteMultipartUploadDays: int,
43
+ enabled: bool,
44
+ expiration: lifecycleRuleExpiration,
45
+ id: string,
46
+ noncurrentVersionExpiration: lifecycleRuleNoncurrentVersionExpiration,
47
+ noncurrentVersionTransitions: array<lifecycleRuleNoncurrentVersionTransition>,
48
+ prefix: string,
49
+ tags: Aws.tags,
50
+ transitions: array<lifecycleRuleTransition>,
51
+ }
52
+
53
+ type lifecycleRules = array<lifecycleRule>
54
+
55
+ type logging = {
56
+ targetBucket: string,
57
+ targetPrefix: string,
58
+ }
59
+
60
+ type loggings = array<logging>
61
+
62
+ type objectLockConfigurationRule = {
63
+ days: int,
64
+ mode: string,
65
+ years: int,
66
+ }
67
+
68
+ type objectLockConfiguration = {
69
+ objectLockEnabled: bool,
70
+ rule: objectLockConfigurationRule,
71
+ }
72
+
73
+ type replicationConfigurationRuleOwner = {owner: string}
74
+
75
+ type replicationConfigurationRuleDestination = {
76
+ accessControlTranslation: replicationConfigurationRuleOwner,
77
+ accountId: string,
78
+ bucket: string,
79
+ replicaKmsKeyId: string,
80
+ storageClass: string,
81
+ }
82
+
83
+ type replicationConfigurationFilter = {
84
+ prefix: string,
85
+ tags: Aws.tags,
86
+ }
87
+
88
+ type replicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjects = {enabled: bool}
89
+
90
+ type replicationConfigurationRuleSourceSelectionCriteria = {
91
+ sseKmsEncryptedObjects: replicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjects,
92
+ }
93
+
94
+ type replicationConfigurationRule = {
95
+ destination: replicationConfigurationRuleDestination,
96
+ filter: replicationConfigurationFilter,
97
+ id: string,
98
+ prefix: string,
99
+ priority: int,
100
+ sourceSelectionCriteria: replicationConfigurationRuleSourceSelectionCriteria,
101
+ status: string,
102
+ }
103
+
104
+ type replicationConfiguration = {
105
+ role: string,
106
+ rules: array<replicationConfigurationRule>,
107
+ }
108
+
109
+ type serverSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault = {
110
+ kmsMasterKeyId: string,
111
+ sseAlgorithm: string,
112
+ }
113
+
114
+ type serverSideEncryptionConfigurationRule = {
115
+ applyServerSideEncryptionByDefault: serverSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault,
116
+ }
117
+
118
+ type serverSideEncryptionConfiguration = {rule: serverSideEncryptionConfigurationRule}
119
+
120
+ type versioning = {
121
+ enabled: bool,
122
+ mfaDelete: bool,
123
+ }
124
+
125
+ type website = {
126
+ errorDocument: string,
127
+ indexDocument: string,
128
+ redirectAllRequestsTo: string,
129
+ routingRules: string,
130
+ }
131
+
132
+ type acl =
133
+ | @as("private") Private
134
+ | @as("public-read") PublicRead
135
+ | @as("public-read-write") PublicReadWrite
136
+ | @as("aws-exec-read") AwsExecRead
137
+ | @as("authenticated-read") AuthenticatedRead
138
+ | @as("log-delivery-write") LogDeliveryWrite
139
+
140
+ type args = {
141
+ accelerationStatus?: Pulumi.Input.t<string>,
142
+ acl?: Pulumi.Input.t<acl>,
143
+ arn?: Pulumi.Input.t<string>,
144
+ bucket?: Pulumi.Input.t<string>,
145
+ bucketPrefix?: Pulumi.Input.t<string>,
146
+ corsRules?: Pulumi.Input.t<corsRules>,
147
+ forceDestroy?: Pulumi.Input.t<bool>,
148
+ hosteZoneId?: Pulumi.Input.t<string>,
149
+ lifecycleRules?: Pulumi.Input.t<lifecycleRules>,
150
+ loggings?: Pulumi.Input.t<loggings>,
151
+ objectLockConfiguration?: Pulumi.Input.t<objectLockConfiguration>,
152
+ policy?: Pulumi.Input.t<string>,
153
+ region?: Pulumi.Input.t<string>,
154
+ replicationConfiguration?: Pulumi.Input.t<replicationConfiguration>,
155
+ requestPayer?: Pulumi.Input.t<string>,
156
+ serverSideEncryptionConfiguration?: Pulumi.Input.t<serverSideEncryptionConfiguration>,
157
+ tags?: Pulumi.Input.t<Aws.tags>,
158
+ versioning?: Pulumi.Input.t<versioning>,
159
+ website?: Pulumi.Input.t<website>,
160
+ websiteDomain?: Pulumi.Input.t<string>,
161
+ websiteEndpoint?: Pulumi.Input.t<string>,
162
+ }
163
+
164
+ @module("@pulumi/aws") @scope("s3") @new
165
+ external make: (~name: string, ~args: args=?, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
166
+ "Bucket"
167
+
168
+ type s3Event =
169
+ | @as("*") All
170
+ | Put
171
+ | Post
172
+ | Copy
173
+ | CompleteMultipartUpload
174
+
175
+ type subscriptionArgs = {
176
+ event: s3Event,
177
+ filterPrefix?: string,
178
+ filterSuffix?: string,
179
+ }
180
+
181
+ type bucket = {name: string, ownerIdentity: Lambda.userIdentity, arn: string}
182
+ type object = {key: string, size: int, eTag: string, versionId: string, sequencer: string}
183
+ type s3Record = {
184
+ s3SchemaVersion: string,
185
+ configurationId: string,
186
+ bucket: bucket,
187
+ object: object,
188
+ }
189
+ type requestParameters = {sourceIPAddress: string}
190
+
191
+ type responseElements = {
192
+ @as("x-amz-request-id") xAmzRequestId: string,
193
+ @as("x-amz-id-2") xAmzId2: string,
194
+ }
195
+
196
+ type record = {
197
+ eventVersion: string,
198
+ eventSource: string,
199
+ awsRegion: string,
200
+ eventTime: string,
201
+ eventName: string,
202
+ userIdentity: Lambda.userIdentity,
203
+ requestParameters: requestParameters,
204
+ responseElements: responseElements,
205
+ s3: s3Record,
206
+ }
207
+
208
+ external asRecord: Lambda.CallbackFunction.record => record = "%identity"
209
+
210
+ type event = {@as("Records") records: array<record>}
211
+
212
+ type subscription = {
213
+ name: string,
214
+ bucket: t,
215
+ handler: Lambda.CallbackFunction.t,
216
+ args: subscriptionArgs,
217
+ opts: option<Pulumi.CustomResourceOptions.t>,
218
+ }
219
+
220
+ @send
221
+ external onObjectCreated: (
222
+ t,
223
+ ~name: string,
224
+ ~handler: Lambda.CallbackFunction.t,
225
+ ~args: subscriptionArgs=?,
226
+ ~opts: Pulumi.CustomResourceOptions.t=?,
227
+ ) => subscription = "onObjectCreated"
228
+
229
+ @send
230
+ external onObjectRemoved: (
231
+ t,
232
+ ~name: string,
233
+ ~handler: Lambda.CallbackFunction.t,
234
+ ~args: subscriptionArgs=?,
235
+ ~opts: Pulumi.CustomResourceOptions.t=?,
236
+ ) => subscription = "onObjectRemoved"
@@ -0,0 +1,2 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */
@@ -0,0 +1,24 @@
1
+ /** @pulumi/aws/s3/BucketAclV2
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/s3/bucketaclv2
3
+ */
4
+ open Pulumi
5
+
6
+ type t
7
+
8
+ type acl =
9
+ | @as("private") Private
10
+ | @as("public-read") PublicRead
11
+ | @as("public-read-write") PublicReadWrite
12
+ | @as("aws-exec-read") AwsExecRead
13
+ | @as("authenticated-read") AuthenticatedRead
14
+ | @as("bucket-owner-read") BucketOwnerRead
15
+ | @as("bucket-owner-full-control") BucketOwnerFullControl
16
+ | @as("log-delivery-write") LogDeliveryWrite
17
+
18
+ type args = {
19
+ bucket: Input.t<string> /* bucket.id */,
20
+ acl: Input.t<acl>,
21
+ }
22
+
23
+ @module("@pulumi/aws") @scope("s3") @new
24
+ external make: (~name: string, ~args: args=?, ~opts: CustomResourceOptions.t=?) => t = "BucketAclV2"
@@ -0,0 +1,2 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */
@@ -0,0 +1,22 @@
1
+ /** @pulumi/aws/s3/BucketObject
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/s3/bucketobject
3
+ */
4
+ type t = {
5
+ id: Pulumi.Output.t<string>,
6
+ key: Pulumi.Output.t<string>,
7
+ etag: Pulumi.Output.t<string>,
8
+ }
9
+
10
+ type args = {
11
+ bucket: Pulumi.Input.t<string>,
12
+ key: Pulumi.Input.t<string>,
13
+ source?: Pulumi.Input.t<Pulumi.Asset.t>,
14
+ content?: Pulumi.Input.t<string>,
15
+ contentType?: Pulumi.Input.t<string>,
16
+ cacheControl?: Pulumi.Input.t<string>,
17
+ etag?: Pulumi.Input.t<string>,
18
+ }
19
+
20
+ @module("@pulumi/aws") @scope("s3") @new
21
+ external make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
22
+ "BucketObject"
@@ -0,0 +1,2 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */
@@ -0,0 +1,19 @@
1
+ /** @pulumi/aws/s3/BucketOwnershipControls
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/s3/bucketownershipcontrols
3
+ */
4
+ open Pulumi
5
+
6
+ type t
7
+
8
+ type objectOwnership = BucketOwnerEnforced | BucketOwnerPreferred | ObjectWriter
9
+
10
+ type rule = {objectOwnership: objectOwnership}
11
+
12
+ type args = {
13
+ bucket: Input.t<string> /* bucket.id */,
14
+ rule: rule,
15
+ }
16
+
17
+ @module("@pulumi/aws") @scope("s3") @new
18
+ external make: (~name: string, ~args: args=?, ~opts: CustomResourceOptions.t=?) => t =
19
+ "BucketOwnershipControls"
@@ -0,0 +1,2 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */
@@ -0,0 +1,13 @@
1
+ /** @pulumi/aws/s3/BucketPolicy
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/s3/bucketpolicy
3
+ */
4
+ type t
5
+
6
+ type args = {
7
+ bucket: Pulumi.Input.t<string>,
8
+ policy: Pulumi.Input.t<string>,
9
+ }
10
+
11
+ @module("@pulumi/aws") @scope("s3") @new
12
+ external make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
13
+ "BucketPolicy"
@@ -0,0 +1,2 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */
@@ -0,0 +1,16 @@
1
+ /** @pulumi/aws/s3/BucketPublicAccessBlock
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/s3/bucketpublicaccessblock
3
+ */
4
+ type t
5
+
6
+ type args = {
7
+ bucket: Pulumi.Input.t<string> /* bucket.id */,
8
+ blockPublicAcls: Pulumi.Input.t<bool>,
9
+ blockPublicPolicy: Pulumi.Input.t<bool>,
10
+ ignorePublicAcls: Pulumi.Input.t<bool>,
11
+ restrictPublicBuckets: Pulumi.Input.t<bool>,
12
+ }
13
+
14
+ @module("@pulumi/aws") @scope("s3") @new
15
+ external make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
16
+ "BucketPublicAccessBlock"
@@ -0,0 +1,2 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */
@@ -0,0 +1,11 @@
1
+ /** @pulumi/aws/s3/BucketV2
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/s3/bucketv2
3
+ */
4
+ @module("@pulumi/aws")
5
+ @scope("s3")
6
+ @new
7
+ external make: (
8
+ ~name: string,
9
+ ~args: S3_Bucket.args=?,
10
+ ~opts: Pulumi.CustomResourceOptions.t=?,
11
+ ) => S3_Bucket.t = "BucketV2"
@@ -0,0 +1,2 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */
@@ -0,0 +1,11 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ 'use strict';
3
+
4
+
5
+ var EmailIdentity = {};
6
+
7
+ var IdentityPolicy = {};
8
+
9
+ exports.EmailIdentity = EmailIdentity;
10
+ exports.IdentityPolicy = IdentityPolicy;
11
+ /* No side effect */
@@ -0,0 +1,25 @@
1
+ module EmailIdentity = {
2
+ type t = {
3
+ arn: Pulumi.Output.t<Aws.arn>,
4
+ email: Pulumi.Output.t<string>,
5
+ }
6
+
7
+ type args = {email: string}
8
+
9
+ @module("@pulumi/aws") @new @scope("ses")
10
+ external make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
11
+ "EmailIdentity"
12
+ }
13
+
14
+ module IdentityPolicy = {
15
+ type t
16
+
17
+ type args = {
18
+ identity: Pulumi.Input.t<PulumiAws.Aws.arn>,
19
+ policy: Pulumi.Input.t<string>,
20
+ }
21
+
22
+ @module("@pulumi/aws") @new @scope("ses")
23
+ external make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
24
+ "IdentityPolicy"
25
+ }
@@ -0,0 +1,12 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+
4
+ let EmailIdentity = {};
5
+
6
+ let IdentityPolicy = {};
7
+
8
+ export {
9
+ EmailIdentity,
10
+ IdentityPolicy,
11
+ }
12
+ /* No side effect */
@@ -0,0 +1,5 @@
1
+ /** @pulumi/aws/sns
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/sns/
3
+ */
4
+ module Topic = SNS_Topic
5
+ module TopicSubscription = SNS_TopicSubscription
@@ -0,0 +1,12 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+
4
+ let Topic;
5
+
6
+ let TopicSubscription;
7
+
8
+ export {
9
+ Topic,
10
+ TopicSubscription,
11
+ }
12
+ /* No side effect */
@@ -0,0 +1,71 @@
1
+ /** @pulumi/aws/sns/topic
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/sns/topic
3
+ */
4
+ type t = {
5
+ arn: Pulumi.Output.t<string>,
6
+ name: Pulumi.Output.t<string>,
7
+ id: Pulumi.Output.t<string>,
8
+ }
9
+
10
+ type args = {
11
+ applicationFailureFeedbackRoleArn?: Pulumi.Input.t<string>,
12
+ applicationSuccessFeedbackRoleArn?: Pulumi.Input.t<string>,
13
+ applicationSuccessFeedbackSampleRate?: Pulumi.Input.t<float>,
14
+ contentBasedDeduplication?: Pulumi.Input.t<bool>,
15
+ deliveryPolicy?: Pulumi.Input.t<string>,
16
+ displayName?: Pulumi.Input.t<string>,
17
+ fifoTopic?: Pulumi.Input.t<bool>,
18
+ httpFailureFeedbackRoleArn?: Pulumi.Input.t<string>,
19
+ httpSuccessFeedbackRoleArn?: Pulumi.Input.t<string>,
20
+ httpSuccessFeedbackSampleRate?: Pulumi.Input.t<float>,
21
+ kmsMasterKeyId?: Pulumi.Input.t<string>,
22
+ lambdaFailureFeedbackRoleArn?: Pulumi.Input.t<string>,
23
+ lambdaSuccessFeedbackRoleArn?: Pulumi.Input.t<string>,
24
+ lambdaSuccessFeedbackSampleRate?: Pulumi.Input.t<float>,
25
+ name?: Pulumi.Input.t<string>,
26
+ namePrefix?: Pulumi.Input.t<string>,
27
+ policy?: Pulumi.Input.t<string>,
28
+ sqsFailureFeedbackRoleArn?: Pulumi.Input.t<string>,
29
+ sqsSuccessFeedbackRoleArn?: Pulumi.Input.t<string>,
30
+ sqsSuccessFeedbackSampleRate?: Pulumi.Input.t<string>,
31
+ tags?: Pulumi.Input.t<Aws.tags>,
32
+ }
33
+
34
+ @module("@pulumi/aws") @scope("sns") @new
35
+ external make: (~name: string, ~args: args=?, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
36
+ "Topic"
37
+
38
+ type message = {
39
+ @as("Message") message: string,
40
+ @as("SignatureVersion") signatureVersion: option<string>,
41
+ @as("Timestamp") timestamp: option<string>,
42
+ @as("Signature") signature: option<string>,
43
+ @as("SigningCertUrl") signingCertUrl: option<string>,
44
+ @as("MessageId") messageId: option<string>,
45
+ @as("Type") type_: option<string>,
46
+ @as("UnsubscribeUrl") unsubscribeUrl: option<string>,
47
+ @as("TopicArn") topicArn: option<string>,
48
+ @as("Subject") subject: option<string>,
49
+ }
50
+
51
+ type record = {
52
+ @as("EventVersion") eventVersion: string,
53
+ @as("EventSubscriptionArn") eventSubscriptionArn: string,
54
+ @as("EventSource") eventSource: string,
55
+ @as("Sns") sns: message,
56
+ }
57
+
58
+ type event = {@as("Records") records: array<record>}
59
+
60
+ type eventSubscription
61
+
62
+ type eventSubscriptionArgs
63
+
64
+ @send
65
+ external onTopicEvent: (
66
+ t,
67
+ ~name: string,
68
+ ~handler: Lambda.eventHandlerNoResult<'event>,
69
+ ~args: args=?,
70
+ ~opts: Pulumi.CustomResourceOptions.t=?,
71
+ ) => eventSubscription = "onEvent"
@@ -0,0 +1,2 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */
@@ -0,0 +1,21 @@
1
+ /** @pulumi/aws/sns/topicsubscription
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/sns/topicsubscription
3
+ */
4
+ type t = {
5
+ id: Pulumi.Output.t<string>,
6
+ arn: Pulumi.Output.t<string>,
7
+ name: Pulumi.Output.t<string>,
8
+ }
9
+
10
+ type protocol = | @as("sqs") SQS | @as("sms") SMS | @as("lambda") Lambda
11
+
12
+ type args = {
13
+ endpoint: Pulumi.Input.t<string>,
14
+ topic: Pulumi.Input.t<string>,
15
+ protocol: protocol,
16
+ rawMessageDelivery: Pulumi.Input.t<bool>,
17
+ }
18
+
19
+ @module("@pulumi/aws") @scope("sns") @new
20
+ external make: (~name: string, ~args: args=?, ~opts: option<Pulumi.CustomResourceOptions.t>) => t =
21
+ "TopicSubscription"
@@ -0,0 +1,2 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */
@@ -0,0 +1,5 @@
1
+ /** @pulumi/aws/sqs
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/sqs/
3
+ */
4
+ module Queue = SQS_Queue
5
+ module QueuePolicy = SQS_QueuePolicy
@@ -0,0 +1,12 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+
4
+ let Queue;
5
+
6
+ let QueuePolicy;
7
+
8
+ export {
9
+ Queue,
10
+ QueuePolicy,
11
+ }
12
+ /* No side effect */
@@ -0,0 +1,92 @@
1
+ /**@pulumi/aws/sqsqueue
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/sqs/queue
3
+ */
4
+ type t = {
5
+ arn: Pulumi.Output.t<string>,
6
+ name: Pulumi.Output.t<string>,
7
+ id: Pulumi.Output.t<string>,
8
+ }
9
+
10
+ module RedrivePolicy = {
11
+ type t = string
12
+
13
+ @obj
14
+ external redrivePolicy: (~deadLetterTargetArn: string, ~maxReceiveCount: int) => _ = ""
15
+
16
+ let make: (~deadLetterTargetArn: string, ~maxReceiveCount: int) => t = (
17
+ ~deadLetterTargetArn,
18
+ ~maxReceiveCount,
19
+ ) =>
20
+ redrivePolicy(~deadLetterTargetArn, ~maxReceiveCount)
21
+ ->JSON.stringifyAny
22
+ ->Option.getOr("{}")
23
+ }
24
+
25
+ type deduplicationScope = | @as("queue") Queue | @as("messageGroup") MessageGroup
26
+ type fifoThroughputLimit = | @as("perQueue") PerQueue | @as("perMessageGroupId") PerMessageGroupId
27
+
28
+ type args = {
29
+ contentBasedDeduplication?: Pulumi.Input.t<bool>,
30
+ delaySeconds?: Pulumi.Input.t<int>,
31
+ fifoQueue?: Pulumi.Input.t<bool>,
32
+ kmsDataKeyReusePeriodSeconds?: Pulumi.Input.t<int>,
33
+ kmsMasterKeyId?: Pulumi.Input.t<string>,
34
+ maxMessageSize?: Pulumi.Input.t<int>,
35
+ messageRetentionSeconds?: Pulumi.Input.t<int>,
36
+ name?: Pulumi.Input.t<string>,
37
+ namePrefix?: Pulumi.Input.t<string>,
38
+ policy?: Pulumi.Input.t<string>,
39
+ receiveWaitTimeSeconds?: Pulumi.Input.t<int>,
40
+ redrivePolicy?: Pulumi.Input.t<RedrivePolicy.t>,
41
+ tags?: Pulumi.Input.t<Aws.tags>,
42
+ visibilityTimeoutSeconds?: Pulumi.Input.t<int>,
43
+ deduplicationScope?: deduplicationScope,
44
+ fifoThroughputLimit?: fifoThroughputLimit,
45
+ sqsManagedSseEnabled?: Pulumi.Input.t<bool>,
46
+ }
47
+
48
+ @module("@pulumi/aws") @scope("sqs") @new
49
+ external make: (~name: string, ~args: args=?, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
50
+ "Queue"
51
+
52
+ @module("@pulumi/aws") @scope(("sqs", "Queue"))
53
+ external get: (
54
+ ~name: string,
55
+ ~id: Pulumi.Input.t<string>,
56
+ ~opts: Pulumi.CustomResourceOptions.t=?,
57
+ ) => t = "get"
58
+
59
+ type record = {
60
+ messageId: string,
61
+ receiptHandle: string,
62
+ body: string,
63
+ // attributes: sqsRecordAttributes,
64
+ // messageAttributes: sqsMessageAttributes,
65
+ md5OfBody: string,
66
+ md5OfMessageAttributes?: string,
67
+ eventSource: string,
68
+ eventSourceARN: string,
69
+ awsRegion: string,
70
+ }
71
+
72
+ external asRecord: Lambda.CallbackFunction.record => record = "%identity"
73
+
74
+ type event = {@as("Records") records: array<record>}
75
+
76
+ type eventSubscriptionArgs = {batchSize?: int}
77
+
78
+ type eventSubscription = {
79
+ eventSourceMapping: EventSourceMapping.t,
80
+ queue: t,
81
+ }
82
+
83
+ @send
84
+ external onEvent: (
85
+ t,
86
+ ~name: string,
87
+ ~handler: Lambda.CallbackFunction.t,
88
+ ~args: eventSubscriptionArgs=?,
89
+ ~opts: Pulumi.CustomResourceOptions.t=?,
90
+ ) => eventSubscription = "onEvent"
91
+
92
+ external toResource: t => Pulumi.Resource.t = "%identity"