@reventlessdev/rescript-pulumi-aws 2.4.0-alpha.55 → 2.4.0-alpha.57

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/CHANGELOG.md CHANGED
@@ -3,6 +3,20 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # 2.4.0-alpha.57 (2026-07-22)
7
+
8
+ ### Features
9
+
10
+ * **pulumi-aws:** expose tags on IAM, EventRule and AppSync GraphQLApi ([3b147b3](https://github.com/ReventlessDev/reventless-core/commit/3b147b323a35d711bcd3efdd1781f1afa66f2a95))
11
+
12
+
13
+ # 2.4.0-alpha.56 (2026-07-19)
14
+
15
+ ### Features
16
+
17
+ * **rescript-aws:** S3 ListObjectVersions + BucketNotification bindings ([f0d464a](https://github.com/ReventlessDev/reventless-core/commit/f0d464aedacea930c56aab4849637316fc151dc5))
18
+
19
+
6
20
  # 2.4.0-alpha.55 (2026-07-17)
7
21
 
8
22
  **Note:** Version bump only for package @reventlessdev/rescript-pulumi-aws
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reventlessdev/rescript-pulumi-aws",
3
- "version": "2.4.0-alpha.55",
3
+ "version": "2.4.0-alpha.57",
4
4
  "description": "ReScript bindings for @pulumi/aws",
5
5
  "license": "Apache-2.0",
6
6
  "jest": {
@@ -22,8 +22,8 @@
22
22
  "@pulumi/aws": "~7.19.0",
23
23
  "@pulumi/aws-native": "^1.62.0",
24
24
  "sury": "11.0.0-alpha.4",
25
- "@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.17",
26
- "@reventlessdev/rescript-aws-sdk": "2.2.0-alpha.23"
25
+ "@reventlessdev/rescript-aws-sdk": "2.2.0-alpha.24",
26
+ "@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.17"
27
27
  },
28
28
  "devDependencies": {
29
29
  "esbuild": "^0.25.12",
@@ -72,6 +72,7 @@ type args = {
72
72
  apiType?: Pulumi.Input.t<apiType>,
73
73
  mergedApiExecutionRoleArn?: Pulumi.Input.t<string>,
74
74
  logConfig?: Pulumi.Input.t<logConfig>,
75
+ tags?: Pulumi.Input.t<Aws.tags>,
75
76
  }
76
77
 
77
78
  @module("@pulumi/aws") @scope("appsync") @new
@@ -45,6 +45,7 @@ type args = {
45
45
  description?: Pulumi.Input.t<string>,
46
46
  scheduleExpression?: ScheduleExpression.t,
47
47
  roleArn?: Pulumi.Input.t<string>,
48
+ tags?: Pulumi.Input.t<Aws.tags>,
48
49
  }
49
50
 
50
51
  @module("@pulumi/aws") @scope("cloudwatch") @new
package/src/IAM/IAM.res CHANGED
@@ -29,6 +29,7 @@ module Policy = {
29
29
  name?: Pulumi.Input.t<string>,
30
30
  namePrefix?: Pulumi.Input.t<string>,
31
31
  path?: Pulumi.Input.t<string>,
32
+ tags?: Pulumi.Input.t<Aws.tags>,
32
33
  }
33
34
 
34
35
  @module("@pulumi/aws") @scope("iam") @new
@@ -93,6 +94,7 @@ module Role = {
93
94
  let makeWithDefaultPolicy = (
94
95
  ~name: string,
95
96
  ~servicePrincipal: Pulumi.Output.t<string>,
97
+ ~tags: option<Pulumi.Input.t<Aws.tags>>=?,
96
98
  ~opts: option<Pulumi.CustomResourceOptions.t>=?,
97
99
  ) =>
98
100
  make(
@@ -101,6 +103,7 @@ module Role = {
101
103
  assumeRolePolicy: servicePrincipal
102
104
  ->Pulumi.Output.apply(principal => Policy.assumeRolePolicy(name, principal))
103
105
  ->Pulumi.Output.asInput,
106
+ tags: ?tags,
104
107
  },
105
108
  ~opts,
106
109
  )
@@ -34,9 +34,10 @@ let InlinePolicy = {
34
34
  makeForActions: makeForActions
35
35
  };
36
36
 
37
- function makeWithDefaultPolicy(name, servicePrincipal, opts) {
37
+ function makeWithDefaultPolicy(name, servicePrincipal, tags, opts) {
38
38
  return new (Aws.iam.Role)(name, {
39
- assumeRolePolicy: servicePrincipal.apply(principal => assumeRolePolicy(name, principal))
39
+ assumeRolePolicy: servicePrincipal.apply(principal => assumeRolePolicy(name, principal)),
40
+ tags: tags
40
41
  }, opts);
41
42
  }
42
43
 
package/src/S3/S3.res CHANGED
@@ -8,3 +8,4 @@ module BucketObject = S3_BucketObject
8
8
  module BucketOwnershipControls = S3_BucketOwnershipControls
9
9
  module BucketPublicAccessBlock = S3_BucketPublicAccessBlock
10
10
  module BucketPolicy = S3_BucketPolicy
11
+ module BucketNotification = S3_BucketNotification
package/src/S3/S3.res.mjs CHANGED
@@ -15,6 +15,8 @@ let BucketPublicAccessBlock;
15
15
 
16
16
  let BucketPolicy;
17
17
 
18
+ let BucketNotification;
19
+
18
20
  export {
19
21
  Bucket,
20
22
  BucketV2,
@@ -23,5 +25,6 @@ export {
23
25
  BucketOwnershipControls,
24
26
  BucketPublicAccessBlock,
25
27
  BucketPolicy,
28
+ BucketNotification,
26
29
  }
27
30
  /* No side effect */
@@ -0,0 +1,48 @@
1
+ /** @pulumi/aws/s3/BucketNotification
2
+ see: https://www.pulumi.com/registry/packages/aws/api-docs/s3/bucketnotification
3
+
4
+ Attaches an event notification configuration to an existing bucket, so object
5
+ events (`s3:ObjectCreated:*`, `s3:ObjectRemoved:*`, …) fan out to a Lambda,
6
+ SQS queue, or SNS topic. Unlike the `Bucket.onObjectCreated` magic helper, this
7
+ targets a bucket the stack does not own (created out-of-band / imported); the
8
+ invoke permission for the Lambda principal must be granted separately with a
9
+ `Lambda.Permission`.
10
+ */
11
+ type t
12
+
13
+ /* Each event field is an S3 event string, e.g. "s3:ObjectCreated:*". */
14
+ type lambdaFunction = {
15
+ id?: string,
16
+ lambdaFunctionArn: Pulumi.Input.t<string>,
17
+ events: array<string>,
18
+ filterPrefix?: string,
19
+ filterSuffix?: string,
20
+ }
21
+
22
+ type queue = {
23
+ id?: string,
24
+ queueArn: Pulumi.Input.t<string>,
25
+ events: array<string>,
26
+ filterPrefix?: string,
27
+ filterSuffix?: string,
28
+ }
29
+
30
+ type topic = {
31
+ id?: string,
32
+ topicArn: Pulumi.Input.t<string>,
33
+ events: array<string>,
34
+ filterPrefix?: string,
35
+ filterSuffix?: string,
36
+ }
37
+
38
+ type args = {
39
+ bucket: Pulumi.Input.t<string> /* bucket.id */,
40
+ eventbridge?: Pulumi.Input.t<bool>,
41
+ lambdaFunctions?: array<lambdaFunction>,
42
+ queues?: array<queue>,
43
+ topics?: array<topic>,
44
+ }
45
+
46
+ @module("@pulumi/aws") @scope("s3") @new
47
+ external make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
48
+ "BucketNotification"
@@ -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. */