@reventlessdev/reventless-aws 3.0.0-alpha.219 → 3.0.0-alpha.221

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 (164) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/package.json +8 -8
  3. package/src/Platform.res.mjs +4 -0
  4. package/src/Platform_Stack.res +6 -0
  5. package/src/Platform_Stack.res.mjs +3 -1
  6. package/src/adapter/AWS_Tags.res +127 -12
  7. package/src/adapter/AWS_Tags.res.mjs +58 -17
  8. package/src/adapter/Api/AppSync_SourceApiAssociation_Retrying.res +26 -1
  9. package/src/adapter/Api/AppSync_SourceApiAssociation_Retrying.res.mjs +12 -1
  10. package/src/adapter/Api/Platform_ComponentDefinitions_Lambda.res +13 -1
  11. package/src/adapter/Api/Platform_ComponentDefinitions_Lambda.res.mjs +3 -4
  12. package/src/adapter/Api/Platform_UIFragments_Lambda.res +13 -1
  13. package/src/adapter/Api/Platform_UIFragments_Lambda.res.mjs +3 -4
  14. package/src/adapter/CommandGenerator/CommandGeneratorResolvers_AppSync.res +12 -0
  15. package/src/adapter/CommandGenerator/CommandGeneratorResolvers_AppSync.res.mjs +4 -2
  16. package/src/adapter/CommandGenerator/InboundTranslationResolvers_AppSync.res +6 -0
  17. package/src/adapter/CommandGenerator/InboundTranslationResolvers_AppSync.res.mjs +2 -1
  18. package/src/adapter/CommandTopic/CommandTopicChannel_SQS.res +2 -2
  19. package/src/adapter/CommandTopic/CommandTopicChannel_SQS.res.mjs +2 -2
  20. package/src/adapter/CommandTopic/CommandTopicChannel_SQS_Async.res +2 -2
  21. package/src/adapter/CommandTopic/CommandTopicChannel_SQS_Async.res.mjs +2 -2
  22. package/src/adapter/CommandTopic/CommandTopicChannel_SQS_FIFO.res +2 -2
  23. package/src/adapter/CommandTopic/CommandTopicChannel_SQS_FIFO.res.mjs +2 -2
  24. package/src/adapter/CommandTopic/CommandTopicChannel_SQS_Sync.res +2 -2
  25. package/src/adapter/CommandTopic/CommandTopicChannel_SQS_Sync.res.mjs +2 -2
  26. package/src/adapter/Counter/CounterHandler_DynamoDbStream.res +1 -0
  27. package/src/adapter/Counter/CounterHandler_DynamoDbStream.res.mjs +1 -1
  28. package/src/adapter/DcbEventLog/DcbEventLogStorage_DynamoDb.res +1 -1
  29. package/src/adapter/DcbEventLog/DcbEventLogStorage_DynamoDb.res.mjs +1 -2
  30. package/src/adapter/EventCollector/EventCollectorChannel_DynamoDbStream.res +1 -1
  31. package/src/adapter/EventCollector/EventCollectorChannel_DynamoDbStream.res.mjs +1 -1
  32. package/src/adapter/EventCollector/EventCollectorChannel_SQS.res +2 -2
  33. package/src/adapter/EventCollector/EventCollectorChannel_SQS.res.mjs +2 -2
  34. package/src/adapter/EventCollector/EventCollectorChannel_SQS_FIFO.res +2 -2
  35. package/src/adapter/EventCollector/EventCollectorChannel_SQS_FIFO.res.mjs +2 -2
  36. package/src/adapter/EventLog/EventLogStorage.res +3 -3
  37. package/src/adapter/EventLog/EventLogStorage.res.mjs +3 -3
  38. package/src/adapter/EventLog/EventLogStorage_DynamoDb.res +2 -2
  39. package/src/adapter/EventLog/EventLogStorage_DynamoDb.res.mjs +2 -2
  40. package/src/adapter/EventLog/EventLogStorage_DynamoDbStream.res +2 -2
  41. package/src/adapter/EventLog/EventLogStorage_DynamoDbStream.res.mjs +2 -2
  42. package/src/adapter/EventLog/EventLogStorage_Postgres.res +1 -1
  43. package/src/adapter/EventLog/EventLogStorage_Postgres.res.mjs +1 -1
  44. package/src/adapter/EventLogSubscription/EventLogSubscription_AppSync.res +7 -1
  45. package/src/adapter/EventLogSubscription/EventLogSubscription_AppSync.res.mjs +2 -2
  46. package/src/adapter/EventTopic/EventTopicPublisher_DynamoDbStream.res +1 -1
  47. package/src/adapter/EventTopic/EventTopicPublisher_DynamoDbStream.res.mjs +1 -1
  48. package/src/adapter/EventTopic/EventTopicPublisher_SNS.res +2 -2
  49. package/src/adapter/EventTopic/EventTopicPublisher_SNS.res.mjs +2 -2
  50. package/src/adapter/EventTopic/EventTopicPublisher_SNS_FIFO.res +2 -2
  51. package/src/adapter/EventTopic/EventTopicPublisher_SNS_FIFO.res.mjs +2 -2
  52. package/src/adapter/Mcp/MCP_Lambda.res.mjs +1 -1
  53. package/src/adapter/Postgres/PgChangeFeedRelay_Builder.res +7 -0
  54. package/src/adapter/Postgres/PgChangeFeedRelay_Builder.res.mjs +4 -2
  55. package/src/adapter/Postgres/PgMigration_Builder.res +1 -0
  56. package/src/adapter/Postgres/PgMigration_Builder.res.mjs +1 -1
  57. package/src/adapter/QueryDb/PgQueryResolver_Builder.res +7 -0
  58. package/src/adapter/QueryDb/PgQueryResolver_Builder.res.mjs +4 -2
  59. package/src/adapter/QueryDb/QueryDbStorage.res +6 -6
  60. package/src/adapter/QueryDb/QueryDbStorage.res.mjs +6 -6
  61. package/src/adapter/QueryDb/QueryDbStorage_DynamoDb.res +2 -2
  62. package/src/adapter/QueryDb/QueryDbStorage_DynamoDb.res.mjs +2 -2
  63. package/src/adapter/QueryDb/QueryDbStorage_DynamoDbStream.res +2 -2
  64. package/src/adapter/QueryDb/QueryDbStorage_DynamoDbStream.res.mjs +2 -2
  65. package/src/adapter/QueryDb/QueryDbStorage_Postgres.res +1 -1
  66. package/src/adapter/QueryDb/QueryDbStorage_Postgres.res.mjs +1 -1
  67. package/src/adapter/Runtime/AdminEventCollectorEntryPoint.mjs +24 -41
  68. package/src/adapter/Runtime/AggregateEntryPoint.mjs +52 -45
  69. package/src/adapter/Runtime/AggregateRuntime_Builder_Micro.res +19 -2
  70. package/src/adapter/Runtime/AggregateRuntime_Builder_Micro.res.mjs +8 -5
  71. package/src/adapter/Runtime/AggregateRuntime_Builder_Micro_Async.res +19 -2
  72. package/src/adapter/Runtime/AggregateRuntime_Builder_Micro_Async.res.mjs +8 -5
  73. package/src/adapter/Runtime/AggregateRuntime_Builder_PerAggregate.res +9 -1
  74. package/src/adapter/Runtime/AggregateRuntime_Builder_PerAggregate.res.mjs +4 -2
  75. package/src/adapter/Runtime/AggregateRuntime_Builder_PerAggregate_Async.res +9 -1
  76. package/src/adapter/Runtime/AggregateRuntime_Builder_PerAggregate_Async.res.mjs +4 -2
  77. package/src/adapter/Runtime/AggregateRuntime_Builder_Single.res +9 -1
  78. package/src/adapter/Runtime/AggregateRuntime_Builder_Single.res.mjs +4 -2
  79. package/src/adapter/Runtime/AggregateRuntime_Builder_Single_Async.res +9 -1
  80. package/src/adapter/Runtime/AggregateRuntime_Builder_Single_Async.res.mjs +4 -2
  81. package/src/adapter/Runtime/AutomationSliceEntryPoint.mjs +36 -22
  82. package/src/adapter/Runtime/AutomationSliceRuntime_Builder_Single.res +1 -0
  83. package/src/adapter/Runtime/AutomationSliceRuntime_Builder_Single.res.mjs +1 -1
  84. package/src/adapter/Runtime/DcbCommandTopicEntryPoint.mjs +39 -42
  85. package/src/adapter/Runtime/EventCollectorRuntime_Builder_PerEventCollector.res +7 -1
  86. package/src/adapter/Runtime/EventCollectorRuntime_Builder_PerEventCollector.res.mjs +4 -2
  87. package/src/adapter/Runtime/EventCollectorRuntime_Builder_Single.res +19 -1
  88. package/src/adapter/Runtime/EventCollectorRuntime_Builder_Single.res.mjs +5 -2
  89. package/src/adapter/Runtime/EventMapperEntryPoint.mjs +25 -23
  90. package/src/adapter/Runtime/ExtensionPointEntryPoint.mjs +25 -41
  91. package/src/adapter/Runtime/ExtensionPointRuntime_Builder_PerExtensionPoint.res +1 -0
  92. package/src/adapter/Runtime/ExtensionPointRuntime_Builder_PerExtensionPoint.res.mjs +1 -1
  93. package/src/adapter/Runtime/HandlerFactoryHelpers.mjs +126 -0
  94. package/src/adapter/Runtime/PluginExtensionPointEntryPoint.mjs +24 -41
  95. package/src/adapter/Runtime/ReadModelEntryPoint.mjs +33 -24
  96. package/src/adapter/Runtime/RuntimeEnvironment_Lambda.res +52 -2
  97. package/src/adapter/Runtime/RuntimeEnvironment_Lambda.res.mjs +25 -7
  98. package/src/adapter/Runtime/SideEffectEntryPoint.mjs +25 -24
  99. package/src/adapter/Runtime/SideEffectHandlerRuntime_Builder_Single.res +9 -1
  100. package/src/adapter/Runtime/SideEffectHandlerRuntime_Builder_Single.res.mjs +4 -2
  101. package/src/adapter/Runtime/StateChangeSliceRuntime_Builder_Single.res +1 -0
  102. package/src/adapter/Runtime/StateChangeSliceRuntime_Builder_Single.res.mjs +1 -1
  103. package/src/adapter/Runtime/StateViewSliceEntryPoint.mjs +26 -21
  104. package/src/adapter/Runtime/StateViewSliceRuntime_Builder_Single.res +2 -1
  105. package/src/adapter/Runtime/StateViewSliceRuntime_Builder_Single.res.mjs +2 -2
  106. package/src/adapter/Runtime/TaskRuntime_Builder_PerBucket.res +1 -0
  107. package/src/adapter/Runtime/TaskRuntime_Builder_PerBucket.res.mjs +1 -1
  108. package/src/adapter/ScheduledPublisher/ScheduledPublisher_CloudWatchEvents.res +12 -0
  109. package/src/adapter/ScheduledPublisher/ScheduledPublisher_CloudWatchEvents.res.mjs +4 -2
  110. package/src/adapter/StateTopic/StateTopic_AppSync.res +7 -1
  111. package/src/adapter/StateTopic/StateTopic_AppSync.res.mjs +2 -2
  112. package/src/adapter/Task/TaskBucket_S3.res +1 -0
  113. package/src/adapter/Task/TaskBucket_S3.res.mjs +7 -1
  114. package/src/components/Aggregate_Builder_Micro.res.mjs +2 -0
  115. package/src/components/Aggregate_Builder_NoResolver.res.mjs +2 -0
  116. package/src/components/Aggregate_Builder_PerAggregate.res.mjs +2 -0
  117. package/src/components/Aggregate_Builder_Single.res.mjs +2 -0
  118. package/src/components/Aggregate_Builder_Single_Async.res.mjs +2 -0
  119. package/src/components/Api/AppSync_Adapter.res +12 -0
  120. package/src/components/Api/AppSync_Adapter.res.mjs +6 -2
  121. package/src/components/Api/AppSync_MergedApi.res +12 -0
  122. package/src/components/Api/AppSync_MergedApi.res.mjs +5 -2
  123. package/src/components/AutomationSlice_Builder.res.mjs +2 -0
  124. package/src/components/ExtensionPoint_Builder.res.mjs +2 -0
  125. package/src/components/ForeignReadModel_Builder.res.mjs +4 -0
  126. package/src/components/OutboundTranslationSlice_Builder.res.mjs +2 -0
  127. package/src/components/Plugin.res.mjs +2 -0
  128. package/src/components/ReadModel_Builder_NoResolver.res.mjs +2 -0
  129. package/src/components/ReadModel_Builder_NoResolver_Stream.res.mjs +2 -0
  130. package/src/components/ReadModel_Builder_PerReadModel.res.mjs +2 -0
  131. package/src/components/ReadModel_Builder_Single.res.mjs +2 -0
  132. package/src/components/ReadModel_Builder_Single_Stream.res.mjs +2 -0
  133. package/src/components/SideEffectHandler_PerSideEffectHandler.res.mjs +6 -0
  134. package/src/components/SideEffectHandler_Single.res.mjs +4 -0
  135. package/src/components/StateViewSlice_Builder.res.mjs +2 -0
  136. package/src/components/StateViewSlice_Builder_Stream.res.mjs +2 -0
  137. package/src/components/Task_Builder_PerBucket.res.mjs +4 -0
  138. package/src/components/Vpc.res +10 -1
  139. package/src/components/Vpc.res.mjs +3 -1
  140. package/src/plugin/cloner/ClonerRunner_Fargate.res +26 -1
  141. package/src/plugin/cloner/ClonerRunner_Fargate.res.mjs +9 -6
  142. package/src/plugin/heartbeat/HeartbeatRunner_CloudWatchEvents.res +6 -0
  143. package/src/plugin/heartbeat/HeartbeatRunner_CloudWatchEvents.res.mjs +4 -1
  144. package/src/plugin/runtime/PluginExtensionPointRuntime_Builder.res +1 -0
  145. package/src/plugin/runtime/PluginExtensionPointRuntime_Builder.res.mjs +1 -1
  146. package/src/plugin/runtime/PluginRuntime_Builder.res +2 -0
  147. package/src/plugin/runtime/PluginRuntime_Builder.res.mjs +2 -2
  148. package/src/plugin/stack/Plugin_ExtensionPoint_Builder.res.mjs +4 -0
  149. package/src/plugin/stack/Plugin_Stack.res +26 -1
  150. package/src/plugin/stack/Plugin_Stack.res.mjs +8 -3
  151. package/src/util/Util_CognitoGroupUser.res +6 -0
  152. package/src/util/Util_CognitoGroupUser.res.mjs +3 -1
  153. package/src/util/Util_DeadLetterQueue.res +8 -2
  154. package/src/util/Util_DeadLetterQueue.res.mjs +3 -4
  155. package/src/util/Util_LogAttribution.res +31 -0
  156. package/src/util/Util_LogAttribution.res.mjs +27 -0
  157. package/tests/AWS_TagsTest.res +236 -0
  158. package/tests/AWS_TagsTest.res.mjs +153 -0
  159. package/tests/AppSync_SourceApiAssociation_RetryingTest.res +26 -0
  160. package/tests/AppSync_SourceApiAssociation_RetryingTest.res.mjs +20 -0
  161. package/tests/HandlerFactoryDispatchTest.res +190 -0
  162. package/tests/HandlerFactoryDispatchTest.res.mjs +135 -0
  163. package/tests/integration/AggregateEntryPoint_IntegrationTest.res +5 -3
  164. package/tests/integration/AggregateEntryPoint_IntegrationTest.res.mjs +5 -3
@@ -57,6 +57,12 @@ let make = (~name: string, ~opts: Pulumi.ComponentResource.options): t => {
57
57
  ~name=`${name}-merge-exec-role`,
58
58
  ~args={
59
59
  assumeRolePolicy: `{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"Service":"appsync.amazonaws.com"},"Action":"sts:AssumeRole"}]}`->Pulumi.Input.make,
60
+ tags: AWS.Tags.make(
61
+ ~name=`${name}-merge-exec-role`,
62
+ ~kind=ReventlessCore.ComponentType.Platform,
63
+ ~role=Identity,
64
+ ~scope=Platform,
65
+ ),
60
66
  },
61
67
  ~opts=Some(customOpts),
62
68
  )
@@ -111,6 +117,12 @@ let make = (~name: string, ~opts: Pulumi.ComponentResource.options): t => {
111
117
  ]->Pulumi.Input.make,
112
118
  apiType: AppSync.GraphQLApi.MERGED->Pulumi.Input.make,
113
119
  mergedApiExecutionRoleArn: executionRole.arn->Pulumi.Output.asInput,
120
+ tags: AWS.Tags.make(
121
+ ~name,
122
+ ~kind=ReventlessCore.ComponentType.Platform,
123
+ ~role=Api,
124
+ ~scope=Platform,
125
+ ),
114
126
  },
115
127
  ~opts=Some(customOpts),
116
128
  )
@@ -4,6 +4,7 @@ import * as Pervasives from "@rescript/runtime/lib/es6/Pervasives.js";
4
4
  import * as Aws from "@pulumi/aws";
5
5
  import * as Output$Pulumi from "@reventlessdev/rescript-pulumi-pulumi/src/Output.res.mjs";
6
6
  import * as Pulumi from "@pulumi/pulumi";
7
+ import * as AWS_Tags$ReventlessAws from "../../adapter/AWS_Tags.res.mjs";
7
8
  import * as PolicyDocument$PulumiAws from "@reventlessdev/rescript-pulumi-aws/src/IAM/PolicyDocument.res.mjs";
8
9
  import * as Auth_Cognito$ReventlessAws from "../../adapter/Auth/Auth_Cognito.res.mjs";
9
10
  import * as AppSync_Adapter$ReventlessAws from "./AppSync_Adapter.res.mjs";
@@ -36,7 +37,8 @@ function make(name, opts) {
36
37
  parent: customOpts_parent
37
38
  };
38
39
  let executionRole = new (Aws.iam.Role)(name + `-merge-exec-role`, {
39
- assumeRolePolicy: `{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"Service":"appsync.amazonaws.com"},"Action":"sts:AssumeRole"}]}`
40
+ assumeRolePolicy: `{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"Service":"appsync.amazonaws.com"},"Action":"sts:AssumeRole"}]}`,
41
+ tags: AWS_Tags$ReventlessAws.make(name + `-merge-exec-role`, "Platform", "Identity", "Platform", undefined, undefined, undefined, undefined)
40
42
  }, customOpts);
41
43
  new (Aws.iam.RolePolicy)(name + `-merge-exec-policy`, {
42
44
  policy: PolicyDocument$PulumiAws.toJsonString(PolicyDocument$PulumiAws.make(undefined, name + `-merge-exec-policy`, [{
@@ -63,7 +65,8 @@ function make(name, opts) {
63
65
  authenticationType: "AWS_IAM"
64
66
  }],
65
67
  apiType: "MERGED",
66
- mergedApiExecutionRoleArn: executionRole.arn
68
+ mergedApiExecutionRoleArn: executionRole.arn,
69
+ tags: AWS_Tags$ReventlessAws.make(name, "Platform", "Api", "Platform", undefined, undefined, undefined, undefined)
67
70
  }, customOpts);
68
71
  return {
69
72
  api: Pulumi.output(mergedApi),
@@ -15,6 +15,8 @@ function Make(Api) {
15
15
  groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
16
16
  extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
17
17
  extractCausationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCausationId,
18
+ extractSentTimestamp: RuntimeEnvironment_Lambda$ReventlessAws.extractSentTimestamp,
19
+ extractRetryCount: RuntimeEnvironment_Lambda$ReventlessAws.extractRetryCount,
18
20
  asEventHandler: prim => prim,
19
21
  asEffectHandler: prim => prim
20
22
  })({
@@ -17,6 +17,8 @@ function Make(Spec) {
17
17
  groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
18
18
  extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
19
19
  extractCausationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCausationId,
20
+ extractSentTimestamp: RuntimeEnvironment_Lambda$ReventlessAws.extractSentTimestamp,
21
+ extractRetryCount: RuntimeEnvironment_Lambda$ReventlessAws.extractRetryCount,
20
22
  asEventHandler: prim => prim,
21
23
  asEffectHandler: prim => prim
22
24
  })({
@@ -12,6 +12,8 @@ let EventCollectorRuntimeBuilder = EventCollectorRuntime_Builder_PerEventCollect
12
12
  groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
13
13
  extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
14
14
  extractCausationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCausationId,
15
+ extractSentTimestamp: RuntimeEnvironment_Lambda$ReventlessAws.extractSentTimestamp,
16
+ extractRetryCount: RuntimeEnvironment_Lambda$ReventlessAws.extractRetryCount,
15
17
  asEventHandler: prim => prim,
16
18
  asEffectHandler: prim => prim
17
19
  })({
@@ -25,6 +27,8 @@ function Make(Spec) {
25
27
  groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
26
28
  extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
27
29
  extractCausationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCausationId,
30
+ extractSentTimestamp: RuntimeEnvironment_Lambda$ReventlessAws.extractSentTimestamp,
31
+ extractRetryCount: RuntimeEnvironment_Lambda$ReventlessAws.extractRetryCount,
28
32
  asEventHandler: prim => prim,
29
33
  asEffectHandler: prim => prim
30
34
  })({
@@ -22,6 +22,8 @@ function Make(Api) {
22
22
  groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
23
23
  extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
24
24
  extractCausationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCausationId,
25
+ extractSentTimestamp: RuntimeEnvironment_Lambda$ReventlessAws.extractSentTimestamp,
26
+ extractRetryCount: RuntimeEnvironment_Lambda$ReventlessAws.extractRetryCount,
25
27
  asEventHandler: prim => prim,
26
28
  asEffectHandler: prim => prim
27
29
  })({
@@ -34,6 +34,8 @@ function Make(HooksConfig) {
34
34
  groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
35
35
  extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
36
36
  extractCausationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCausationId,
37
+ extractSentTimestamp: RuntimeEnvironment_Lambda$ReventlessAws.extractSentTimestamp,
38
+ extractRetryCount: RuntimeEnvironment_Lambda$ReventlessAws.extractRetryCount,
37
39
  asEventHandler: prim => prim,
38
40
  asEffectHandler: prim => prim
39
41
  })({
@@ -15,6 +15,8 @@ function Make(Spec) {
15
15
  groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
16
16
  extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
17
17
  extractCausationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCausationId,
18
+ extractSentTimestamp: RuntimeEnvironment_Lambda$ReventlessAws.extractSentTimestamp,
19
+ extractRetryCount: RuntimeEnvironment_Lambda$ReventlessAws.extractRetryCount,
18
20
  asEventHandler: prim => prim,
19
21
  asEffectHandler: prim => prim
20
22
  })({
@@ -17,6 +17,8 @@ function Make(Spec) {
17
17
  groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
18
18
  extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
19
19
  extractCausationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCausationId,
20
+ extractSentTimestamp: RuntimeEnvironment_Lambda$ReventlessAws.extractSentTimestamp,
21
+ extractRetryCount: RuntimeEnvironment_Lambda$ReventlessAws.extractRetryCount,
20
22
  asEventHandler: prim => prim,
21
23
  asEffectHandler: prim => prim
22
24
  })(QueryDbStorage$ReventlessAws.SelectableStream)(QueryDbResolvers_AppSync_NoOp$ReventlessAws)({
@@ -15,6 +15,8 @@ function Make(Spec) {
15
15
  groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
16
16
  extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
17
17
  extractCausationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCausationId,
18
+ extractSentTimestamp: RuntimeEnvironment_Lambda$ReventlessAws.extractSentTimestamp,
19
+ extractRetryCount: RuntimeEnvironment_Lambda$ReventlessAws.extractRetryCount,
18
20
  asEventHandler: prim => prim,
19
21
  asEffectHandler: prim => prim
20
22
  })({
@@ -17,6 +17,8 @@ function Make(Spec) {
17
17
  groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
18
18
  extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
19
19
  extractCausationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCausationId,
20
+ extractSentTimestamp: RuntimeEnvironment_Lambda$ReventlessAws.extractSentTimestamp,
21
+ extractRetryCount: RuntimeEnvironment_Lambda$ReventlessAws.extractRetryCount,
20
22
  asEventHandler: prim => prim,
21
23
  asEffectHandler: prim => prim
22
24
  })(QueryDbStorage$ReventlessAws.Selectable)(QueryDbResolvers$ReventlessAws.Selectable)({
@@ -17,6 +17,8 @@ function Make(Spec) {
17
17
  groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
18
18
  extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
19
19
  extractCausationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCausationId,
20
+ extractSentTimestamp: RuntimeEnvironment_Lambda$ReventlessAws.extractSentTimestamp,
21
+ extractRetryCount: RuntimeEnvironment_Lambda$ReventlessAws.extractRetryCount,
20
22
  asEventHandler: prim => prim,
21
23
  asEffectHandler: prim => prim
22
24
  })(QueryDbStorage$ReventlessAws.SelectableStream)(QueryDbResolvers$ReventlessAws.Selectable)({
@@ -11,6 +11,8 @@ let EventCollectorRuntimeBuilder = EventCollectorRuntime_Builder_PerEventCollect
11
11
  groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
12
12
  extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
13
13
  extractCausationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCausationId,
14
+ extractSentTimestamp: RuntimeEnvironment_Lambda$ReventlessAws.extractSentTimestamp,
15
+ extractRetryCount: RuntimeEnvironment_Lambda$ReventlessAws.extractRetryCount,
14
16
  asEventHandler: prim => prim,
15
17
  asEffectHandler: prim => prim
16
18
  })({
@@ -23,6 +25,8 @@ let include = SideEffectHandler_Builder$ReventlessCore.Make({
23
25
  groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
24
26
  extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
25
27
  extractCausationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCausationId,
28
+ extractSentTimestamp: RuntimeEnvironment_Lambda$ReventlessAws.extractSentTimestamp,
29
+ extractRetryCount: RuntimeEnvironment_Lambda$ReventlessAws.extractRetryCount,
26
30
  asEventHandler: prim => prim,
27
31
  asEffectHandler: prim => prim
28
32
  })({
@@ -33,6 +37,8 @@ let include = SideEffectHandler_Builder$ReventlessCore.Make({
33
37
  groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
34
38
  extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
35
39
  extractCausationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCausationId,
40
+ extractSentTimestamp: RuntimeEnvironment_Lambda$ReventlessAws.extractSentTimestamp,
41
+ extractRetryCount: RuntimeEnvironment_Lambda$ReventlessAws.extractRetryCount,
36
42
  asEventHandler: prim => prim,
37
43
  asEffectHandler: prim => prim
38
44
  })({
@@ -13,6 +13,8 @@ function Make($star) {
13
13
  groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
14
14
  extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
15
15
  extractCausationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCausationId,
16
+ extractSentTimestamp: RuntimeEnvironment_Lambda$ReventlessAws.extractSentTimestamp,
17
+ extractRetryCount: RuntimeEnvironment_Lambda$ReventlessAws.extractRetryCount,
16
18
  asEventHandler: prim => prim,
17
19
  asEffectHandler: prim => prim
18
20
  })({
@@ -23,6 +25,8 @@ function Make($star) {
23
25
  groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
24
26
  extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
25
27
  extractCausationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCausationId,
28
+ extractSentTimestamp: RuntimeEnvironment_Lambda$ReventlessAws.extractSentTimestamp,
29
+ extractRetryCount: RuntimeEnvironment_Lambda$ReventlessAws.extractRetryCount,
26
30
  asEventHandler: prim => prim,
27
31
  asEffectHandler: prim => prim
28
32
  })({
@@ -17,6 +17,8 @@ function Make(Api) {
17
17
  groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
18
18
  extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
19
19
  extractCausationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCausationId,
20
+ extractSentTimestamp: RuntimeEnvironment_Lambda$ReventlessAws.extractSentTimestamp,
21
+ extractRetryCount: RuntimeEnvironment_Lambda$ReventlessAws.extractRetryCount,
20
22
  asEventHandler: prim => prim,
21
23
  asEffectHandler: prim => prim
22
24
  })(QueryDbStorage$ReventlessAws.Selectable)(QueryDbResolvers$ReventlessAws.Selectable)({
@@ -17,6 +17,8 @@ function Make(Api) {
17
17
  groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
18
18
  extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
19
19
  extractCausationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCausationId,
20
+ extractSentTimestamp: RuntimeEnvironment_Lambda$ReventlessAws.extractSentTimestamp,
21
+ extractRetryCount: RuntimeEnvironment_Lambda$ReventlessAws.extractRetryCount,
20
22
  asEventHandler: prim => prim,
21
23
  asEffectHandler: prim => prim
22
24
  })(QueryDbStorage$ReventlessAws.SelectableStream)(QueryDbResolvers$ReventlessAws.Selectable)({
@@ -13,6 +13,8 @@ let EventCollectorRuntimeBuilder = EventCollectorRuntime_Builder_PerEventCollect
13
13
  groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
14
14
  extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
15
15
  extractCausationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCausationId,
16
+ extractSentTimestamp: RuntimeEnvironment_Lambda$ReventlessAws.extractSentTimestamp,
17
+ extractRetryCount: RuntimeEnvironment_Lambda$ReventlessAws.extractRetryCount,
16
18
  asEventHandler: prim => prim,
17
19
  asEffectHandler: prim => prim
18
20
  })({
@@ -31,6 +33,8 @@ function Make(Spec) {
31
33
  groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
32
34
  extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
33
35
  extractCausationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCausationId,
36
+ extractSentTimestamp: RuntimeEnvironment_Lambda$ReventlessAws.extractSentTimestamp,
37
+ extractRetryCount: RuntimeEnvironment_Lambda$ReventlessAws.extractRetryCount,
34
38
  asEventHandler: prim => prim,
35
39
  asEffectHandler: prim => prim
36
40
  })({
@@ -44,7 +44,16 @@ let construct: construct = (self, name, availabilityZone) => {
44
44
 
45
45
  let vpc = PulumiAws.EC2.Vpc.make(
46
46
  ~name=name ++ "VPC",
47
- ~args={cidrBlock: "172.31.0.0/16", enableDnsHostnames: true},
47
+ ~args={
48
+ cidrBlock: "172.31.0.0/16",
49
+ enableDnsHostnames: true,
50
+ tags: AWS.Tags.makeDict(
51
+ ~name=name ++ "VPC",
52
+ ~kind=ReventlessCore.ComponentType.Vpc,
53
+ ~role=Network,
54
+ ~scope=Platform,
55
+ ),
56
+ },
48
57
  ~opts,
49
58
  )
50
59
 
@@ -5,6 +5,7 @@ import * as Aws from "@pulumi/aws";
5
5
  import * as EC2_Eip$PulumiAws from "@reventlessdev/rescript-pulumi-aws/src/EC2/EC2_Eip.res.mjs";
6
6
  import * as EC2_Vpc$PulumiAws from "@reventlessdev/rescript-pulumi-aws/src/EC2/EC2_Vpc.res.mjs";
7
7
  import * as EC2_Subnet$PulumiAws from "@reventlessdev/rescript-pulumi-aws/src/EC2/EC2_Subnet.res.mjs";
8
+ import * as AWS_Tags$ReventlessAws from "../adapter/AWS_Tags.res.mjs";
8
9
  import * as EC2_NatGateway$PulumiAws from "@reventlessdev/rescript-pulumi-aws/src/EC2/EC2_NatGateway.res.mjs";
9
10
  import * as EC2_RouteTable$PulumiAws from "@reventlessdev/rescript-pulumi-aws/src/EC2/EC2_RouteTable.res.mjs";
10
11
  import * as EC2_VpcEndpoint$PulumiAws from "@reventlessdev/rescript-pulumi-aws/src/EC2/EC2_VpcEndpoint.res.mjs";
@@ -20,7 +21,8 @@ function construct(self, name, availabilityZone) {
20
21
  };
21
22
  let vpc = EC2_Vpc$PulumiAws.make(name + "VPC", {
22
23
  cidrBlock: "172.31.0.0/16",
23
- enableDnsHostnames: true
24
+ enableDnsHostnames: true,
25
+ tags: AWS_Tags$ReventlessAws.makeDict(name + "VPC", "Vpc", "Network", "Platform", undefined, undefined, undefined, undefined)
24
26
  }, opts);
25
27
  let securityGroup = EC2_SecurityGroup$PulumiAws.make(name + "SecurityGroup", {
26
28
  name: name + "SecurityGroup",
@@ -28,6 +28,12 @@ let make: ReventlessCore.Cloner.Adapter.runnerMaker<api> = (
28
28
  ~actions=["logs:PutLogEvents", "logs:CreateLogGroup", "logs:CreateLogStream"],
29
29
  ),
30
30
  ]->Pulumi.Input.make,
31
+ tags: AWS.Tags.make(
32
+ ~name=name ++ "TaskExecution",
33
+ ~kind=ReventlessCore.Cloner.componentType,
34
+ ~role=Identity,
35
+ ~component=name,
36
+ ),
31
37
  },
32
38
  )
33
39
 
@@ -54,6 +60,12 @@ let make: ReventlessCore.Cloner.Adapter.runnerMaker<api> = (
54
60
  policy: secretsManagerPolicyDocument
55
61
  ->PolicyDocument.toJsonString
56
62
  ->Pulumi.Input.make,
63
+ tags: AWS.Tags.make(
64
+ ~name="secretsManagerAccess",
65
+ ~kind=ReventlessCore.Cloner.componentType,
66
+ ~role=Identity,
67
+ ~component=name,
68
+ ),
57
69
  },
58
70
  )
59
71
 
@@ -74,6 +86,12 @@ let make: ReventlessCore.Cloner.Adapter.runnerMaker<api> = (
74
86
  policy: taskRunnerPolicyDocument
75
87
  ->PolicyDocument.toJsonString
76
88
  ->Pulumi.Input.make,
89
+ tags: AWS.Tags.make(
90
+ ~name="taskRunner",
91
+ ~kind=ReventlessCore.Cloner.componentType,
92
+ ~role=Identity,
93
+ ~component=name,
94
+ ),
77
95
  },
78
96
  )
79
97
 
@@ -198,6 +216,7 @@ export const handler = async (event) => {
198
216
  let lambdaRole = PulumiAws.IAM.Role.makeWithDefaultPolicy(
199
217
  ~name,
200
218
  ~servicePrincipal=AWS.AppSync.principal->Pulumi.Output.make,
219
+ ~tags=AWS.Tags.make(~name, ~kind=ReventlessCore.Cloner.componentType, ~role=Identity),
201
220
  ~opts?,
202
221
  )
203
222
 
@@ -212,7 +231,7 @@ export const handler = async (event) => {
212
231
  memorySize: 1024->Pulumi.Input.make,
213
232
  timeout: 180->Pulumi.Input.make,
214
233
  layers,
215
- tags: AWS.Tags.make(~name, ReventlessCore.Cloner.componentType),
234
+ tags: AWS.Tags.make(~name, ~kind=ReventlessCore.Cloner.componentType, ~role=DataTransfer),
216
235
  environment: (
217
236
  {
218
237
  Lambda.Function.variables: Dict.fromArray([
@@ -287,6 +306,12 @@ export const handler = async (event) => {
287
306
  let dataSourceRole = IAM.Role.makeWithDefaultPolicy(
288
307
  ~name=name ++ "DS",
289
308
  ~servicePrincipal=AWS.AppSync.principal->Pulumi.Output.make,
309
+ ~tags=AWS.Tags.make(
310
+ ~name=name ++ "DS",
311
+ ~kind=ReventlessCore.Cloner.componentType,
312
+ ~role=Identity,
313
+ ~component=name,
314
+ ),
290
315
  ~opts?,
291
316
  )
292
317
 
@@ -26,7 +26,8 @@ function make(name, api, fullQualifiedStackName, reventlessCiSecretUrn, secretUr
26
26
  "logs:PutLogEvents",
27
27
  "logs:CreateLogGroup",
28
28
  "logs:CreateLogStream"
29
- ])]
29
+ ])],
30
+ tags: AWS_Tags$ReventlessAws.make(name + "TaskExecution", Cloner$ReventlessCore.componentType, "Identity", undefined, name, undefined, undefined, undefined)
30
31
  });
31
32
  let secretsManagerPolicyDocument = PolicyDocument$PulumiAws.make(undefined, name + "SecretsManagerPolicy", [{
32
33
  Sid: "AllowManageSecrets",
@@ -40,7 +41,8 @@ function make(name, api, fullQualifiedStackName, reventlessCiSecretUrn, secretUr
40
41
  ]
41
42
  }]);
42
43
  let secretsManagerAccessPolicy = new (Aws.iam.Policy)("secretsManagerAccess", {
43
- policy: PolicyDocument$PulumiAws.toJsonString(secretsManagerPolicyDocument)
44
+ policy: PolicyDocument$PulumiAws.toJsonString(secretsManagerPolicyDocument),
45
+ tags: AWS_Tags$ReventlessAws.make("secretsManagerAccess", Cloner$ReventlessCore.componentType, "Identity", undefined, name, undefined, undefined, undefined)
44
46
  });
45
47
  let taskRunnerPolicyDocument = PolicyDocument$PulumiAws.make(undefined, name + "TaskRunnerPolicy", [{
46
48
  Sid: "AllowRunTask",
@@ -51,7 +53,8 @@ function make(name, api, fullQualifiedStackName, reventlessCiSecretUrn, secretUr
51
53
  ]
52
54
  }]);
53
55
  let taskRunnerPolicy = new (Aws.iam.Policy)("taskRunner", {
54
- policy: PolicyDocument$PulumiAws.toJsonString(taskRunnerPolicyDocument)
56
+ policy: PolicyDocument$PulumiAws.toJsonString(taskRunnerPolicyDocument),
57
+ tags: AWS_Tags$ReventlessAws.make("taskRunner", Cloner$ReventlessCore.componentType, "Identity", undefined, name, undefined, undefined, undefined)
55
58
  });
56
59
  new (Aws.iam.RolePolicyAttachment)("ClonerTaskExecutionSecretsManagerAccess", {
57
60
  policyArn: secretsManagerAccessPolicy.arn,
@@ -130,7 +133,7 @@ export const handler = async (event) => {
130
133
  requiresCompatibilities: ["FARGATE"],
131
134
  executionRoleArn: taskExecutionRole.arn
132
135
  }, opts !== undefined ? Primitive_option.valFromOption(opts) : undefined);
133
- let lambdaRole = IAM$PulumiAws.Role.makeWithDefaultPolicy(name, Pulumi.output(AWS$ReventlessAws.AppSync.principal), opts);
136
+ let lambdaRole = IAM$PulumiAws.Role.makeWithDefaultPolicy(name, Pulumi.output(AWS$ReventlessAws.AppSync.principal), AWS_Tags$ReventlessAws.make(name, Cloner$ReventlessCore.componentType, "Identity", undefined, undefined, undefined, undefined, undefined), opts);
134
137
  let lambda = new (Aws.lambda.Function)(name, {
135
138
  handler: "index.handler",
136
139
  runtime: "nodejs22.x",
@@ -139,7 +142,7 @@ export const handler = async (event) => {
139
142
  memorySize: 1024,
140
143
  timeout: 180,
141
144
  layers: layers,
142
- tags: AWS_Tags$ReventlessAws.make(name, Cloner$ReventlessCore.componentType),
145
+ tags: AWS_Tags$ReventlessAws.make(name, Cloner$ReventlessCore.componentType, "DataTransfer", undefined, undefined, undefined, undefined, undefined),
143
146
  environment: {
144
147
  variables: Object.fromEntries([
145
148
  [
@@ -205,7 +208,7 @@ export const handler = async (event) => {
205
208
  });
206
209
  });
207
210
  });
208
- let dataSourceRole = IAM$PulumiAws.Role.makeWithDefaultPolicy(name + "DS", Pulumi.output(AWS$ReventlessAws.AppSync.principal), opts);
211
+ let dataSourceRole = IAM$PulumiAws.Role.makeWithDefaultPolicy(name + "DS", Pulumi.output(AWS$ReventlessAws.AppSync.principal), AWS_Tags$ReventlessAws.make(name + "DS", Cloner$ReventlessCore.componentType, "Identity", undefined, name, undefined, undefined, undefined), opts);
209
212
  new (Aws.iam.RolePolicy)(name + "DS", {
210
213
  policy: lambda.arn.apply(lambdaArn => PolicyDocument$PulumiAws.toJsonString(PolicyDocument$PulumiAws.make(undefined, name + "LambdaPolicy", [{
211
214
  Sid: "AllowInvokeLambda",
@@ -16,6 +16,12 @@ let make: ReventlessCore.Heartbeat_Adapter.runnerMaker<runtimeParts> = (
16
16
  ~args={
17
17
  description: "Send a heartbeat to the Core Plugin ExtensionPoint"->Pulumi.Input.make,
18
18
  scheduleExpression: EventRule.ScheduleExpression.every(timeout->Minutes),
19
+ tags: AWS.Tags.make(
20
+ ~name=Pulumi.Pulumi.getStackName() ++ ("-" ++ name),
21
+ ~kind=ReventlessCore.Heartbeat.componentType,
22
+ ~role=Scheduler,
23
+ ~component=name,
24
+ ),
19
25
  },
20
26
  ~opts,
21
27
  )
@@ -6,8 +6,10 @@ import * as Pulumi from "@pulumi/pulumi";
6
6
  import * as Lambda$PulumiAws from "@reventlessdev/rescript-pulumi-aws/src/Lambda/Lambda.res.mjs";
7
7
  import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
8
8
  import * as AWS$ReventlessAws from "../../adapter/AWS.res.mjs";
9
+ import * as AWS_Tags$ReventlessAws from "../../adapter/AWS_Tags.res.mjs";
9
10
  import * as Adapter$ReventlessCore from "@reventlessdev/reventless-core/src/adapter/Adapter.res.mjs";
10
11
  import * as Util_SQS$ReventlessAws from "../../util/Util_SQS.res.mjs";
12
+ import * as Heartbeat$ReventlessCore from "@reventlessdev/reventless-core/src/components/Heartbeat/Heartbeat.res.mjs";
11
13
  import * as PolicyDocument$PulumiAws from "@reventlessdev/rescript-pulumi-aws/src/IAM/PolicyDocument.res.mjs";
12
14
  import * as Util_Lambda$ReventlessAws from "../../util/Util_Lambda.res.mjs";
13
15
  import * as Util_Pulumi$ReventlessCore from "@reventlessdev/reventless-core/src/util/Util_Pulumi.res.mjs";
@@ -22,7 +24,8 @@ function make(name, remoteChannel, timeout, runtime, opts) {
22
24
  scheduleExpression: Primitive_option.some(Cloudwatch_EventRule$PulumiAws.ScheduleExpression.every({
23
25
  TAG: "Minutes",
24
26
  _0: timeout
25
- }))
27
+ })),
28
+ tags: AWS_Tags$ReventlessAws.make(Pulumi.getStack() + ("-" + name), Heartbeat$ReventlessCore.componentType, "Scheduler", undefined, name, undefined, undefined, undefined)
26
29
  }, opts$1);
27
30
  let lambda = runtime.parts.lambda;
28
31
  let lambdaRole = runtime.parts.lambdaRole;
@@ -103,6 +103,7 @@ let forCommandTopic = (
103
103
  let runtime = RuntimeEnvironment_Lambda.makeFromCodeAsset(
104
104
  ~name,
105
105
  ~unitKind=ReventlessCore.Monitoring.CommandHandler,
106
+ ~componentKind=ReventlessCore.ComponentType.ExtensionPoint,
106
107
  ~code,
107
108
  ~sourceCodeHash,
108
109
  ~envVars,
@@ -66,7 +66,7 @@ function forCommandTopic(param, connect, memorySizeOpt, timeoutOpt, param$1, par
66
66
  });
67
67
  envVars["HANDLER_CONFIG"] = handlerConfigJson;
68
68
  let match = Util_Bundle$ReventlessAws.buildCodeArchive("@reventlessdev/reventless-aws/src/adapter/Runtime/PluginExtensionPointEntryPoint.mjs", {}, undefined);
69
- return connect(RuntimeEnvironment_Lambda$ReventlessAws.makeFromCodeAsset(name, "CommandHandler", match.code, match.sourceCodeHash, envVars, memorySize, timeout, undefined, undefined, undefined, undefined, undefined, opts));
69
+ return connect(RuntimeEnvironment_Lambda$ReventlessAws.makeFromCodeAsset(name, "CommandHandler", "ExtensionPoint", match.code, match.sourceCodeHash, envVars, memorySize, timeout, undefined, undefined, undefined, undefined, undefined, opts));
70
70
  }
71
71
 
72
72
  function finish() {
@@ -495,6 +495,7 @@ module Make = (
495
495
  let runtime = RuntimeEnvironment_Lambda.makeFromCodeAsset(
496
496
  ~name,
497
497
  ~unitKind=ReventlessCore.Monitoring.EventCollector,
498
+ ~componentKind=ReventlessCore.ComponentType.EventCollector,
498
499
  ~code=codeOutput->Obj.magic,
499
500
  ~sourceCodeHash=sourceCodeHashOutput->Obj.magic,
500
501
  ~envVars,
@@ -733,6 +734,7 @@ module Make = (
733
734
  let runtime = RuntimeEnvironment_Lambda.makeFromCodeAsset(
734
735
  ~name,
735
736
  ~unitKind=ReventlessCore.Monitoring.Scheduler,
737
+ ~componentKind=ReventlessCore.ComponentType.Scheduler,
736
738
  ~code,
737
739
  ~sourceCodeHash,
738
740
  ~envVars,
@@ -310,7 +310,7 @@ function Make(EventCollectorChannel) {
310
310
  });
311
311
  let codeOutput = bundleOutput.apply(b => b.code);
312
312
  let sourceCodeHashOutput = bundleOutput.apply(b => b.sourceCodeHash);
313
- let runtime = RuntimeEnvironment_Lambda$ReventlessAws.makeFromCodeAsset(name, "EventCollector", codeOutput, sourceCodeHashOutput, envVars, memorySize, timeout, undefined, undefined, undefined, undefined, undefined, opts);
313
+ let runtime = RuntimeEnvironment_Lambda$ReventlessAws.makeFromCodeAsset(name, "EventCollector", "EventCollector", codeOutput, sourceCodeHashOutput, envVars, memorySize, timeout, undefined, undefined, undefined, undefined, undefined, opts);
314
314
  EventCollectorChannel.connect(name, [{
315
315
  channel: eventCollector.channel,
316
316
  eventTopics: eventTopics,
@@ -422,7 +422,7 @@ function Make(EventCollectorChannel) {
422
422
  envVars["PLUGIN_ID"] = Pulumi.output(hbConfig.pluginId);
423
423
  envVars["HEARTBEAT_TIMEOUT"] = Pulumi.output(hbConfig.heartbeatTimeout.toString());
424
424
  let match = Util_Bundle$ReventlessAws.buildCodeArchive("@reventlessdev/reventless-aws/src/adapter/Runtime/HeartbeatEntryPoint.mjs", {}, undefined);
425
- connect(RuntimeEnvironment_Lambda$ReventlessAws.makeFromCodeAsset(name, "Scheduler", match.code, match.sourceCodeHash, envVars, memorySize, timeout, undefined, undefined, undefined, undefined, undefined, opts));
425
+ connect(RuntimeEnvironment_Lambda$ReventlessAws.makeFromCodeAsset(name, "Scheduler", "Scheduler", match.code, match.sourceCodeHash, envVars, memorySize, timeout, undefined, undefined, undefined, undefined, undefined, opts));
426
426
  };
427
427
  let forDcbCommandTopic = (param, connect, memorySizeOpt, timeoutOpt, dcbCommandTopic) => {
428
428
  let memorySize = memorySizeOpt !== undefined ? memorySizeOpt : 0;
@@ -21,6 +21,8 @@ function MakeWithConfig(Config) {
21
21
  groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
22
22
  extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
23
23
  extractCausationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCausationId,
24
+ extractSentTimestamp: RuntimeEnvironment_Lambda$ReventlessAws.extractSentTimestamp,
25
+ extractRetryCount: RuntimeEnvironment_Lambda$ReventlessAws.extractRetryCount,
24
26
  asEventHandler: prim => prim,
25
27
  asEffectHandler: prim => prim
26
28
  })({
@@ -44,6 +46,8 @@ let Make = PluginExtensionPoint_Builder$ReventlessCore.Make({
44
46
  groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
45
47
  extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
46
48
  extractCausationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCausationId,
49
+ extractSentTimestamp: RuntimeEnvironment_Lambda$ReventlessAws.extractSentTimestamp,
50
+ extractRetryCount: RuntimeEnvironment_Lambda$ReventlessAws.extractRetryCount,
47
51
  asEventHandler: prim => prim,
48
52
  asEffectHandler: prim => prim
49
53
  })({
@@ -155,7 +155,18 @@ let makeUiBundleDistribution = (
155
155
  // shell, where blue/green between versions is wanted.
156
156
  let name = stableName ? pluginId : pluginId ++ "-" ++ bundleVersion
157
157
 
158
- let bucket = PulumiAws.S3.Bucket.make(~name=name ++ "-bundle")
158
+ let bucket = PulumiAws.S3.Bucket.make(
159
+ ~name=name ++ "-bundle",
160
+ ~args={
161
+ tags: AWS.Tags.make(
162
+ ~name=name ++ "-bundle",
163
+ ~kind=ReventlessCore.ComponentType.Plugin,
164
+ ~role=Hosting,
165
+ ~scope=Plugin,
166
+ ~plugin=pluginId,
167
+ ),
168
+ },
169
+ )
159
170
 
160
171
  let _ = PulumiAws.S3.BucketPublicAccessBlock.make(
161
172
  ~name=name ++ "-bundle-pab",
@@ -234,6 +245,13 @@ let makeUiBundleDistribution = (
234
245
  ~args={
235
246
  domainName: Pulumi.Input.make(fqdn),
236
247
  validationMethod: Pulumi.Input.make("DNS"),
248
+ tags: AWS.Tags.make(
249
+ ~name=pluginId ++ "-domain-cert",
250
+ ~kind=ReventlessCore.ComponentType.Plugin,
251
+ ~role=Hosting,
252
+ ~scope=Plugin,
253
+ ~plugin=pluginId,
254
+ ),
237
255
  },
238
256
  ~opts={provider: usEast1},
239
257
  )
@@ -317,6 +335,13 @@ let makeUiBundleDistribution = (
317
335
  comment: Pulumi.Input.make(pluginId ++ " UI bundle CDN"),
318
336
  defaultRootObject: Pulumi.Input.make(indexDocument),
319
337
  customErrorResponses: Pulumi.Input.make(customErrorResponses),
338
+ tags: AWS.Tags.make(
339
+ ~name=name ++ "-cdn",
340
+ ~kind=ReventlessCore.ComponentType.Plugin,
341
+ ~role=Hosting,
342
+ ~scope=Plugin,
343
+ ~plugin=pluginId,
344
+ ),
320
345
  },
321
346
  )
322
347
 
@@ -9,6 +9,7 @@ import * as Stdlib_JsError from "@rescript/runtime/lib/es6/Stdlib_JsError.js";
9
9
  import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
10
10
  import * as Primitive_exceptions from "@rescript/runtime/lib/es6/Primitive_exceptions.js";
11
11
  import * as Logger$ReventlessCore from "@reventlessdev/reventless-core/src/util/Logger.res.mjs";
12
+ import * as AWS_Tags$ReventlessAws from "../../adapter/AWS_Tags.res.mjs";
12
13
  import * as ClientCloudfront from "@aws-sdk/client-cloudfront";
13
14
  import * as Util_StaticBundle$ReventlessAws from "../../util/Util_StaticBundle.res.mjs";
14
15
 
@@ -73,7 +74,9 @@ function makeUiBundleDistribution(pluginId, bundleVersion, assetsDir, spaFallbac
73
74
  let stableName = stableNameOpt !== undefined ? stableNameOpt : false;
74
75
  let excludeFiles = excludeFilesOpt !== undefined ? excludeFilesOpt : [];
75
76
  let name = stableName ? pluginId : pluginId + "-" + bundleVersion;
76
- let bucket = new (Aws.s3.Bucket)(name + "-bundle");
77
+ let bucket = new (Aws.s3.Bucket)(name + "-bundle", {
78
+ tags: AWS_Tags$ReventlessAws.make(name + "-bundle", "Plugin", "Hosting", "Plugin", undefined, undefined, pluginId, undefined)
79
+ });
77
80
  new (Aws.s3.BucketPublicAccessBlock)(name + "-bundle-pab", {
78
81
  bucket: bucket.id,
79
82
  blockPublicAcls: true,
@@ -124,7 +127,8 @@ function makeUiBundleDistribution(pluginId, bundleVersion, assetsDir, spaFallbac
124
127
  let usEast1 = _getUsEast1Provider();
125
128
  let cert = new (Aws.acm.Certificate)(pluginId + "-domain-cert", {
126
129
  domainName: customDomain.fqdn,
127
- validationMethod: "DNS"
130
+ validationMethod: "DNS",
131
+ tags: AWS_Tags$ReventlessAws.make(pluginId + "-domain-cert", "Plugin", "Hosting", "Plugin", undefined, undefined, pluginId, undefined)
128
132
  }, {
129
133
  provider: Primitive_option.some(usEast1)
130
134
  });
@@ -186,7 +190,8 @@ function makeUiBundleDistribution(pluginId, bundleVersion, assetsDir, spaFallbac
186
190
  viewerCertificate: viewerCertificate,
187
191
  comment: pluginId + " UI bundle CDN",
188
192
  customErrorResponses: customErrorResponses,
189
- defaultRootObject: indexDocument
193
+ defaultRootObject: indexDocument,
194
+ tags: AWS_Tags$ReventlessAws.make(name + "-cdn", "Plugin", "Hosting", "Plugin", undefined, undefined, pluginId, undefined)
190
195
  });
191
196
  if (customDomain !== undefined) {
192
197
  new (Aws.route53.Record)(pluginId + "-domain-alias", {
@@ -33,6 +33,12 @@ let makeAddRemoveUserToGroupPolicy = (
33
33
  )
34
34
  ->toJsonString
35
35
  ->Pulumi.Input.make,
36
+ tags: AWS.Tags.make(
37
+ ~name=name ++ "AddRemoveUserToGroup",
38
+ ~kind=ReventlessCore.ComponentType.Platform,
39
+ ~role=Identity,
40
+ ~scope=Platform,
41
+ ),
36
42
  },
37
43
  ~opts?,
38
44
  )