alchemy 2.0.0-beta.1 → 2.0.0-beta.2

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 (129) hide show
  1. package/bin/alchemy-effect.js +31 -16
  2. package/bin/alchemy-effect.js.map +1 -1
  3. package/bin/alchemy-effect.sh +2 -3
  4. package/bin/alchemy-effect.ts +3 -3
  5. package/lib/cli/index.d.ts +39 -36
  6. package/lib/cli/index.d.ts.map +1 -1
  7. package/package.json +1 -1
  8. package/src/AWS/ACM/Certificate.ts +49 -46
  9. package/src/AWS/AutoScaling/AutoScalingGroup.ts +4 -1
  10. package/src/AWS/AutoScaling/LaunchTemplate.ts +3 -1
  11. package/src/AWS/AutoScaling/ScalingPolicy.ts +4 -1
  12. package/src/AWS/CloudFront/Distribution.ts +4 -1
  13. package/src/AWS/CloudFront/Function.ts +4 -1
  14. package/src/AWS/CloudFront/Invalidation.ts +4 -1
  15. package/src/AWS/CloudFront/KeyValueStore.ts +4 -1
  16. package/src/AWS/CloudFront/KvEntries.ts +4 -1
  17. package/src/AWS/CloudFront/KvRoutesUpdate.ts +4 -1
  18. package/src/AWS/CloudFront/OriginAccessControl.ts +4 -1
  19. package/src/AWS/CloudWatch/Alarm.ts +4 -1
  20. package/src/AWS/CloudWatch/AlarmMuteRule.ts +4 -1
  21. package/src/AWS/CloudWatch/AnomalyDetector.ts +4 -1
  22. package/src/AWS/CloudWatch/CompositeAlarm.ts +4 -1
  23. package/src/AWS/CloudWatch/Dashboard.ts +4 -1
  24. package/src/AWS/CloudWatch/InsightRule.ts +4 -1
  25. package/src/AWS/CloudWatch/MetricStream.ts +4 -1
  26. package/src/AWS/DynamoDB/Table.ts +3 -1
  27. package/src/AWS/EC2/EIP.ts +4 -1
  28. package/src/AWS/EC2/EgressOnlyInternetGateway.ts +4 -1
  29. package/src/AWS/EC2/Instance.ts +3 -1
  30. package/src/AWS/EC2/InternetGateway.ts +4 -1
  31. package/src/AWS/EC2/NatGateway.ts +4 -1
  32. package/src/AWS/EC2/NetworkAcl.ts +4 -1
  33. package/src/AWS/EC2/NetworkAclAssociation.ts +4 -1
  34. package/src/AWS/EC2/NetworkAclEntry.ts +4 -1
  35. package/src/AWS/EC2/Route.ts +4 -1
  36. package/src/AWS/EC2/RouteTable.ts +4 -1
  37. package/src/AWS/EC2/RouteTableAssociation.ts +4 -1
  38. package/src/AWS/EC2/SecurityGroup.ts +4 -1
  39. package/src/AWS/EC2/SecurityGroupRule.ts +4 -1
  40. package/src/AWS/EC2/Subnet.ts +4 -1
  41. package/src/AWS/EC2/Vpc.ts +4 -1
  42. package/src/AWS/EC2/VpcEndpoint.ts +4 -1
  43. package/src/AWS/ECR/Repository.ts +4 -1
  44. package/src/AWS/ECS/Cluster.ts +4 -1
  45. package/src/AWS/ECS/Service.ts +4 -1
  46. package/src/AWS/ECS/Task.ts +3 -1
  47. package/src/AWS/EKS/AccessEntry.ts +4 -1
  48. package/src/AWS/EKS/Addon.ts +4 -1
  49. package/src/AWS/EKS/Cluster.ts +3 -1
  50. package/src/AWS/EKS/PodIdentityAssociation.ts +4 -1
  51. package/src/AWS/ELBv2/Listener.ts +4 -1
  52. package/src/AWS/ELBv2/LoadBalancer.ts +4 -1
  53. package/src/AWS/ELBv2/TargetGroup.ts +4 -1
  54. package/src/AWS/EventBridge/EventBus.ts +4 -1
  55. package/src/AWS/EventBridge/Permission.ts +4 -1
  56. package/src/AWS/EventBridge/Rule.ts +4 -1
  57. package/src/AWS/IAM/AccessKey.ts +4 -1
  58. package/src/AWS/IAM/AccountAlias.ts +4 -1
  59. package/src/AWS/IAM/AccountPasswordPolicy.ts +4 -1
  60. package/src/AWS/IAM/Group.ts +4 -1
  61. package/src/AWS/IAM/GroupMembership.ts +4 -1
  62. package/src/AWS/IAM/InstanceProfile.ts +4 -1
  63. package/src/AWS/IAM/LoginProfile.ts +4 -1
  64. package/src/AWS/IAM/OpenIDConnectProvider.ts +4 -1
  65. package/src/AWS/IAM/Policy.ts +4 -1
  66. package/src/AWS/IAM/Role.ts +4 -1
  67. package/src/AWS/IAM/SAMLProvider.ts +4 -1
  68. package/src/AWS/IAM/SSHPublicKey.ts +4 -1
  69. package/src/AWS/IAM/ServerCertificate.ts +4 -1
  70. package/src/AWS/IAM/ServiceSpecificCredential.ts +4 -1
  71. package/src/AWS/IAM/SigningCertificate.ts +4 -1
  72. package/src/AWS/IAM/User.ts +4 -1
  73. package/src/AWS/IAM/VirtualMFADevice.ts +4 -1
  74. package/src/AWS/IdentityCenter/AccountAssignment.ts +4 -1
  75. package/src/AWS/IdentityCenter/Group.ts +4 -1
  76. package/src/AWS/IdentityCenter/Instance.ts +4 -1
  77. package/src/AWS/IdentityCenter/PermissionSet.ts +4 -1
  78. package/src/AWS/Kinesis/Stream.ts +4 -1
  79. package/src/AWS/Kinesis/StreamConsumer.ts +4 -1
  80. package/src/AWS/Lambda/EventSourceMapping.ts +4 -1
  81. package/src/AWS/Lambda/Function.ts +3 -1
  82. package/src/AWS/Lambda/Permission.ts +4 -1
  83. package/src/AWS/Logs/LogGroup.ts +4 -1
  84. package/src/AWS/Organizations/Account.ts +4 -1
  85. package/src/AWS/Organizations/DelegatedAdministrator.ts +4 -1
  86. package/src/AWS/Organizations/Organization.ts +4 -1
  87. package/src/AWS/Organizations/OrganizationResourcePolicy.ts +4 -1
  88. package/src/AWS/Organizations/OrganizationalUnit.ts +4 -1
  89. package/src/AWS/Organizations/Policy.ts +4 -1
  90. package/src/AWS/Organizations/PolicyAttachment.ts +4 -1
  91. package/src/AWS/Organizations/Root.ts +4 -1
  92. package/src/AWS/Organizations/RootPolicyType.ts +4 -1
  93. package/src/AWS/Organizations/TrustedServiceAccess.ts +4 -1
  94. package/src/AWS/Providers.ts +484 -438
  95. package/src/AWS/RDS/DBCluster.ts +4 -1
  96. package/src/AWS/RDS/DBClusterEndpoint.ts +4 -1
  97. package/src/AWS/RDS/DBClusterParameterGroup.ts +4 -1
  98. package/src/AWS/RDS/DBInstance.ts +4 -1
  99. package/src/AWS/RDS/DBParameterGroup.ts +4 -1
  100. package/src/AWS/RDS/DBProxy.ts +4 -1
  101. package/src/AWS/RDS/DBProxyEndpoint.ts +4 -1
  102. package/src/AWS/RDS/DBProxyTargetGroup.ts +4 -1
  103. package/src/AWS/RDS/DBSubnetGroup.ts +4 -1
  104. package/src/AWS/Route53/Record.ts +4 -1
  105. package/src/AWS/S3/Bucket.ts +3 -1
  106. package/src/AWS/SNS/Subscription.ts +4 -1
  107. package/src/AWS/SNS/Topic.ts +4 -1
  108. package/src/AWS/SQS/Queue.ts +3 -1
  109. package/src/AWS/Scheduler/Schedule.ts +4 -1
  110. package/src/AWS/Scheduler/ScheduleGroup.ts +4 -1
  111. package/src/AWS/SecretsManager/Secret.ts +4 -1
  112. package/src/AWS/Website/AssetDeployment.ts +4 -1
  113. package/src/Apply.ts +3 -3
  114. package/src/Binding.ts +18 -17
  115. package/src/Cloudflare/Container/ContainerApplication.ts +3 -1
  116. package/src/Cloudflare/D1/D1Database.ts +4 -1
  117. package/src/Cloudflare/KV/KVNamespace.ts +7 -4
  118. package/src/Cloudflare/Providers.ts +62 -60
  119. package/src/Cloudflare/R2/R2Bucket.ts +4 -1
  120. package/src/Cloudflare/R2/R2BucketBinding.ts +26 -31
  121. package/src/Cloudflare/Workers/Worker.ts +3 -1
  122. package/src/Cloudflare/Workers/Workflow.ts +3 -1
  123. package/src/Plan.ts +595 -596
  124. package/src/Platform.ts +9 -8
  125. package/src/Provider.ts +145 -23
  126. package/src/Resource.ts +10 -3
  127. package/src/Stack.ts +1 -1
  128. package/src/Util/service.ts +1 -1
  129. package/src/index.ts +10 -7
@@ -1,9 +1,7 @@
1
- import * as Effect from "effect/Effect";
2
- import { pipe } from "effect/Function";
3
1
  import * as Layer from "effect/Layer";
4
- import { CommandProvider } from "../Build/Command.ts";
5
- import type { Provider } from "../Provider.ts";
6
- import { RandomProvider } from "../Random.ts";
2
+ import { Command, CommandProvider } from "../Build/Command.ts";
3
+ import * as Provider from "../Provider.ts";
4
+ import { Random, RandomProvider } from "../Random.ts";
7
5
  import * as Account from "./Account.ts";
8
6
  import * as ACM from "./ACM/index.ts";
9
7
  import * as Assets from "./Assets.ts";
@@ -34,446 +32,494 @@ import * as Scheduler from "./Scheduler/index.ts";
34
32
  import * as SecretsManager from "./SecretsManager/index.ts";
35
33
  import * as SNS from "./SNS/index.ts";
36
34
  import * as SQS from "./SQS/index.ts";
37
- import { loadDefaultStageConfig, StageConfig } from "./StageConfig.ts";
35
+ import { DefaultStageConfig } from "./StageConfig.ts";
38
36
  import * as Website from "./Website/index.ts";
39
37
 
40
- export type Providers = Extract<
41
- Layer.Success<ReturnType<typeof providers>>,
42
- Provider<any>
43
- >;
38
+ export class Providers extends Provider.ProviderCollection<Providers>()(
39
+ "AWS",
40
+ ) {}
44
41
 
45
- /**
46
- * AWS providers with optional Assets layer for S3-based code deployment.
47
- * If the assets bucket exists (created via `alchemy-effect bootstrap`),
48
- * Lambda functions will use S3 for code deployment instead of inline ZipFile.
49
- */
50
42
  export const providers = () =>
51
- pipe(
52
- resources(),
53
- Layer.provideMerge(bindings()),
54
- Layer.provideMerge(Assets.AssetsProvider()),
43
+ Layer.effect(
44
+ Providers,
45
+ Provider.collection([
46
+ Command,
47
+ Random,
48
+ ACM.Certificate,
49
+ AutoScaling.AutoScalingGroup,
50
+ AutoScaling.LaunchTemplate,
51
+ AutoScaling.ScalingPolicy,
52
+ CloudFront.Distribution,
53
+ CloudFront.Function,
54
+ CloudFront.Invalidation,
55
+ CloudFront.KeyValueStore,
56
+ CloudFront.KvEntries,
57
+ CloudFront.KvRoutesUpdate,
58
+ CloudFront.OriginAccessControl,
59
+ CloudWatch.Alarm,
60
+ CloudWatch.AlarmMuteRule,
61
+ CloudWatch.AnomalyDetector,
62
+ CloudWatch.CompositeAlarm,
63
+ CloudWatch.Dashboard,
64
+ CloudWatch.DescribeAlarmContributorsPolicy,
65
+ CloudWatch.DescribeAlarmHistoryPolicy,
66
+ CloudWatch.DescribeAlarmsForMetricPolicy,
67
+ CloudWatch.DescribeAlarmsPolicy,
68
+ CloudWatch.DescribeAnomalyDetectorsPolicy,
69
+ CloudWatch.DescribeInsightRulesPolicy,
70
+ CloudWatch.DisableAlarmActionsPolicy,
71
+ CloudWatch.DisableInsightRulesPolicy,
72
+ CloudWatch.EnableAlarmActionsPolicy,
73
+ CloudWatch.GetAlarmMuteRulePolicy,
74
+ CloudWatch.GetDashboardPolicy,
75
+ CloudWatch.GetInsightRuleReportPolicy,
76
+ CloudWatch.GetMetricDataPolicy,
77
+ CloudWatch.GetMetricStatisticsPolicy,
78
+ CloudWatch.GetMetricStreamPolicy,
79
+ CloudWatch.GetMetricWidgetImagePolicy,
80
+ CloudWatch.InsightRule,
81
+ CloudWatch.ListAlarmMuteRulesPolicy,
82
+ CloudWatch.ListDashboardsPolicy,
83
+ CloudWatch.ListManagedInsightRulesPolicy,
84
+ CloudWatch.ListMetricsPolicy,
85
+ CloudWatch.ListMetricStreamsPolicy,
86
+ CloudWatch.ListTagsForResourcePolicy,
87
+ CloudWatch.MetricStream,
88
+ CloudWatch.PutMetricDataPolicy,
89
+ CloudWatch.SetAlarmStatePolicy,
90
+ DynamoDB.BatchExecuteStatementPolicy,
91
+ DynamoDB.BatchGetItemPolicy,
92
+ DynamoDB.BatchWriteItemPolicy,
93
+ DynamoDB.DeleteItemPolicy,
94
+ DynamoDB.DescribeTablePolicy,
95
+ DynamoDB.DescribeTimeToLivePolicy,
96
+ DynamoDB.ExecuteStatementPolicy,
97
+ DynamoDB.ExecuteTransactionPolicy,
98
+ DynamoDB.GetItemPolicy,
99
+ DynamoDB.ListTablesPolicy,
100
+ DynamoDB.ListTagsOfResourcePolicy,
101
+ DynamoDB.PutItemPolicy,
102
+ DynamoDB.QueryPolicy,
103
+ DynamoDB.RestoreTableToPointInTimePolicy,
104
+ DynamoDB.ScanPolicy,
105
+ DynamoDB.Table,
106
+ DynamoDB.TransactGetItemsPolicy,
107
+ DynamoDB.TransactWriteItemsPolicy,
108
+ DynamoDB.UpdateItemPolicy,
109
+ DynamoDB.UpdateTimeToLivePolicy,
110
+ EC2.EgressOnlyInternetGateway,
111
+ EC2.EIP,
112
+ EC2.Instance,
113
+ EC2.InternetGateway,
114
+ EC2.NatGateway,
115
+ EC2.NetworkAcl,
116
+ EC2.NetworkAclAssociation,
117
+ EC2.NetworkAclEntry,
118
+ EC2.Route,
119
+ EC2.RouteTable,
120
+ EC2.RouteTableAssociation,
121
+ EC2.SecurityGroup,
122
+ EC2.SecurityGroupRule,
123
+ EC2.Subnet,
124
+ EC2.Vpc,
125
+ EC2.VpcEndpoint,
126
+ ECR.Repository,
127
+ ECS.Cluster,
128
+ ECS.DescribeTasksPolicy,
129
+ ECS.ListTasksPolicy,
130
+ ECS.RunTaskPolicy,
131
+ ECS.Service,
132
+ ECS.StopTaskPolicy,
133
+ ECS.Task,
134
+ EKS.AccessEntry,
135
+ EKS.Addon,
136
+ EKS.Cluster,
137
+ EKS.PodIdentityAssociation,
138
+ ELBv2.Listener,
139
+ ELBv2.LoadBalancer,
140
+ ELBv2.TargetGroup,
141
+ EventBridge.DescribeEventBusPolicy,
142
+ EventBridge.DescribeRulePolicy,
143
+ EventBridge.EventBus,
144
+ EventBridge.ListEventBusesPolicy,
145
+ EventBridge.ListRulesPolicy,
146
+ EventBridge.ListTargetsByRulePolicy,
147
+ EventBridge.Permission,
148
+ EventBridge.PutEventsPolicy,
149
+ EventBridge.Rule,
150
+ EventBridge.TestEventPatternPolicy,
151
+ EventBridge.ToLambdaPolicy,
152
+ EventBridge.ToQueuePolicy,
153
+ IAM.AccessKey,
154
+ IAM.AccountAlias,
155
+ IAM.AccountPasswordPolicy,
156
+ IAM.Group,
157
+ IAM.GroupMembership,
158
+ IAM.InstanceProfile,
159
+ IAM.LoginProfile,
160
+ IAM.OpenIDConnectProvider,
161
+ IAM.Policy,
162
+ IAM.Role,
163
+ IAM.SAMLProvider,
164
+ IAM.ServerCertificate,
165
+ IAM.ServiceSpecificCredential,
166
+ IAM.SigningCertificate,
167
+ IAM.SSHPublicKey,
168
+ IAM.User,
169
+ IAM.VirtualMFADevice,
170
+ IdentityCenter.AccountAssignment,
171
+ IdentityCenter.Group,
172
+ IdentityCenter.Instance,
173
+ IdentityCenter.PermissionSet,
174
+ Kinesis.DescribeAccountSettingsPolicy,
175
+ Kinesis.DescribeLimitsPolicy,
176
+ Kinesis.DescribeStreamConsumerPolicy,
177
+ Kinesis.DescribeStreamPolicy,
178
+ Kinesis.DescribeStreamSummaryPolicy,
179
+ Kinesis.GetRecordsPolicy,
180
+ Kinesis.GetResourcePolicyPolicy,
181
+ Kinesis.GetShardIteratorPolicy,
182
+ Kinesis.ListShardsPolicy,
183
+ Kinesis.ListStreamConsumersPolicy,
184
+ Kinesis.ListStreamsPolicy,
185
+ Kinesis.ListTagsForResourcePolicy,
186
+ Kinesis.PutRecordPolicy,
187
+ Kinesis.PutRecordsPolicy,
188
+ Kinesis.Stream,
189
+ Kinesis.StreamConsumer,
190
+ Kinesis.StreamSinkPolicy,
191
+ Kinesis.SubscribeToShardPolicy,
192
+ Lambda.BucketEventSourcePolicy,
193
+ Lambda.EventSourcePolicy,
194
+ Lambda.EventSourceMapping,
195
+ Lambda.Function,
196
+ Lambda.InvokeFunctionPolicy,
197
+ Lambda.Permission,
198
+ Lambda.QueueEventSourcePolicy,
199
+ Lambda.StreamEventSourcePolicy,
200
+ Lambda.TableEventSourcePolicy,
201
+ Lambda.TopicEventSourcePolicy,
202
+ Logs.LogGroup,
203
+ Organizations.Account,
204
+ Organizations.DelegatedAdministrator,
205
+ Organizations.Organization,
206
+ Organizations.OrganizationalUnit,
207
+ Organizations.OrganizationResourcePolicy,
208
+ Organizations.Policy,
209
+ Organizations.PolicyAttachment,
210
+ Organizations.Root,
211
+ Organizations.RootPolicyType,
212
+ Organizations.TrustedServiceAccess,
213
+ RDS.ConnectPolicy,
214
+ RDS.DBCluster,
215
+ RDS.DBClusterEndpoint,
216
+ RDS.DBClusterParameterGroup,
217
+ RDS.DBInstance,
218
+ RDS.DBParameterGroup,
219
+ RDS.DBProxy,
220
+ RDS.DBProxyEndpoint,
221
+ RDS.DBProxyTargetGroup,
222
+ RDS.DBSubnetGroup,
223
+ RDSData.BatchExecuteStatementPolicy,
224
+ RDSData.BeginTransactionPolicy,
225
+ RDSData.CommitTransactionPolicy,
226
+ RDSData.ExecuteSqlPolicy,
227
+ RDSData.ExecuteStatementPolicy,
228
+ RDSData.RollbackTransactionPolicy,
229
+ Route53.Record,
230
+ S3.AbortMultipartUploadPolicy,
231
+ S3.Bucket,
232
+ S3.CompleteMultipartUploadPolicy,
233
+ S3.CreateMultipartUploadPolicy,
234
+ S3.DeleteObjectPolicy,
235
+ S3.GetObjectPolicy,
236
+ S3.HeadObjectPolicy,
237
+ S3.ListObjectsV2Policy,
238
+ S3.PutObjectPolicy,
239
+ S3.CopyObjectPolicy,
240
+ S3.UploadPartPolicy,
241
+ Scheduler.Schedule,
242
+ Scheduler.ScheduleGroup,
243
+ SecretsManager.DescribeSecretPolicy,
244
+ SecretsManager.GetRandomPasswordPolicy,
245
+ SecretsManager.GetSecretValuePolicy,
246
+ SecretsManager.ListSecretsPolicy,
247
+ SecretsManager.PutSecretValuePolicy,
248
+ SecretsManager.Secret,
249
+ SNS.AddPermissionPolicy,
250
+ SNS.ConfirmSubscriptionPolicy,
251
+ SNS.GetDataProtectionPolicyPolicy,
252
+ SNS.GetSubscriptionAttributesPolicy,
253
+ SNS.GetTopicAttributesPolicy,
254
+ SNS.ListSubscriptionsByTopicPolicy,
255
+ SNS.ListSubscriptionsPolicy,
256
+ SNS.ListTagsForResourcePolicy,
257
+ SNS.ListTopicsPolicy,
258
+ SNS.PublishBatchPolicy,
259
+ SNS.PublishPolicy,
260
+ SNS.PutDataProtectionPolicyPolicy,
261
+ SNS.RemovePermissionPolicy,
262
+ SNS.SetSubscriptionAttributesPolicy,
263
+ SNS.SetTopicAttributesPolicy,
264
+ SNS.Subscription,
265
+ SNS.TagResourcePolicy,
266
+ SNS.Topic,
267
+ SNS.TopicSinkPolicy,
268
+ SNS.UntagResourcePolicy,
269
+ SQS.DeleteMessagePolicy,
270
+ SQS.DeleteMessageBatchPolicy,
271
+ SQS.Queue,
272
+ SQS.QueueSinkPolicy,
273
+ SQS.ReceiveMessagePolicy,
274
+ SQS.SendMessageBatchPolicy,
275
+ SQS.SendMessagePolicy,
276
+ Website.AssetDeployment,
277
+ ]),
278
+ ).pipe(
279
+ Layer.provide(
280
+ Layer.mergeAll(
281
+ ACM.CertificateProvider(),
282
+ AutoScaling.AutoScalingGroupProvider(),
283
+ AutoScaling.LaunchTemplateProvider(),
284
+ AutoScaling.ScalingPolicyProvider(),
285
+ CloudFront.DistributionProvider(),
286
+ CloudFront.FunctionProvider(),
287
+ CloudFront.InvalidationProvider(),
288
+ CloudFront.KeyValueStoreProvider(),
289
+ CloudFront.KvEntriesProvider(),
290
+ CloudFront.KvRoutesUpdateProvider(),
291
+ CloudFront.OriginAccessControlProvider(),
292
+ CloudWatch.AlarmMuteRuleProvider(),
293
+ CloudWatch.AlarmProvider(),
294
+ CloudWatch.AnomalyDetectorProvider(),
295
+ CloudWatch.CompositeAlarmProvider(),
296
+ CloudWatch.DashboardProvider(),
297
+ CloudWatch.DescribeAlarmContributorsPolicyLive,
298
+ CloudWatch.DescribeAlarmHistoryPolicyLive,
299
+ CloudWatch.DescribeAlarmsForMetricPolicyLive,
300
+ CloudWatch.DescribeAlarmsPolicyLive,
301
+ CloudWatch.DescribeAnomalyDetectorsPolicyLive,
302
+ CloudWatch.DescribeInsightRulesPolicyLive,
303
+ CloudWatch.DisableAlarmActionsPolicyLive,
304
+ CloudWatch.DisableInsightRulesPolicyLive,
305
+ CloudWatch.EnableAlarmActionsPolicyLive,
306
+ CloudWatch.GetAlarmMuteRulePolicyLive,
307
+ CloudWatch.GetDashboardPolicyLive,
308
+ CloudWatch.GetInsightRuleReportPolicyLive,
309
+ CloudWatch.GetMetricDataPolicyLive,
310
+ CloudWatch.GetMetricStatisticsPolicyLive,
311
+ CloudWatch.GetMetricStreamPolicyLive,
312
+ CloudWatch.GetMetricWidgetImagePolicyLive,
313
+ CloudWatch.InsightRuleProvider(),
314
+ CloudWatch.ListAlarmMuteRulesPolicyLive,
315
+ CloudWatch.ListDashboardsPolicyLive,
316
+ CloudWatch.ListManagedInsightRulesPolicyLive,
317
+ CloudWatch.ListMetricsPolicyLive,
318
+ CloudWatch.ListMetricStreamsPolicyLive,
319
+ CloudWatch.ListTagsForResourcePolicyLive,
320
+ CloudWatch.MetricStreamProvider(),
321
+ CloudWatch.PutMetricDataPolicyLive,
322
+ CloudWatch.SetAlarmStatePolicyLive,
323
+ DynamoDB.BatchExecuteStatementPolicyLive,
324
+ DynamoDB.BatchGetItemPolicyLive,
325
+ DynamoDB.BatchWriteItemPolicyLive,
326
+ DynamoDB.DeleteItemPolicyLive,
327
+ DynamoDB.DescribeTablePolicyLive,
328
+ DynamoDB.DescribeTimeToLivePolicyLive,
329
+ DynamoDB.ExecuteStatementPolicyLive,
330
+ DynamoDB.ExecuteTransactionPolicyLive,
331
+ DynamoDB.GetItemPolicyLive,
332
+ DynamoDB.ListTablesPolicyLive,
333
+ DynamoDB.ListTagsOfResourcePolicyLive,
334
+ DynamoDB.PutItemPolicyLive,
335
+ DynamoDB.QueryPolicyLive,
336
+ DynamoDB.RestoreTableToPointInTimePolicyLive,
337
+ DynamoDB.ScanPolicyLive,
338
+ DynamoDB.TableProvider(),
339
+ DynamoDB.TransactGetItemsPolicyLive,
340
+ DynamoDB.TransactWriteItemsPolicyLive,
341
+ DynamoDB.UpdateItemPolicyLive,
342
+ DynamoDB.UpdateTimeToLivePolicyLive,
343
+ EC2.EgressOnlyInternetGatewayProvider(),
344
+ EC2.EIPProvider(),
345
+ EC2.InstanceProvider(),
346
+ EC2.InternetGatewayProvider(),
347
+ EC2.NatGatewayProvider(),
348
+ EC2.NetworkAclAssociationProvider(),
349
+ EC2.NetworkAclEntryProvider(),
350
+ EC2.NetworkAclProvider(),
351
+ EC2.RouteProvider(),
352
+ EC2.RouteTableAssociationProvider(),
353
+ EC2.RouteTableProvider(),
354
+ EC2.SecurityGroupProvider(),
355
+ EC2.SecurityGroupRuleProvider(),
356
+ EC2.SubnetProvider(),
357
+ EC2.VpcEndpointProvider(),
358
+ EC2.VpcProvider(),
359
+ ECR.RepositoryProvider(),
360
+ ECS.ClusterProvider(),
361
+ ECS.DescribeTasksPolicyLive,
362
+ ECS.ListTasksPolicyLive,
363
+ ECS.RunTaskPolicyLive,
364
+ ECS.ServiceProvider(),
365
+ ECS.StopTaskPolicyLive,
366
+ ECS.TaskProvider(),
367
+ EKS.AccessEntryProvider(),
368
+ EKS.AddonProvider(),
369
+ EKS.ClusterProvider(),
370
+ EKS.PodIdentityAssociationProvider(),
371
+ ELBv2.ListenerProvider(),
372
+ ELBv2.LoadBalancerProvider(),
373
+ ELBv2.TargetGroupProvider(),
374
+ EventBridge.DescribeEventBusPolicyLive,
375
+ EventBridge.DescribeRulePolicyLive,
376
+ EventBridge.EventBusProvider(),
377
+ EventBridge.ListEventBusesPolicyLive,
378
+ EventBridge.ListRulesPolicyLive,
379
+ EventBridge.ListTargetsByRulePolicyLive,
380
+ EventBridge.PermissionProvider(),
381
+ EventBridge.PutEventsPolicyLive,
382
+ EventBridge.RuleProvider(),
383
+ EventBridge.TestEventPatternPolicyLive,
384
+ EventBridge.ToLambdaPolicyLive,
385
+ EventBridge.ToQueuePolicyLive,
386
+ IAM.AccessKeyProvider(),
387
+ IAM.AccountAliasProvider(),
388
+ IAM.AccountPasswordPolicyProvider(),
389
+ IAM.GroupMembershipProvider(),
390
+ IAM.GroupProvider(),
391
+ IAM.InstanceProfileProvider(),
392
+ IAM.LoginProfileProvider(),
393
+ IAM.OpenIDConnectProviderProvider(),
394
+ IAM.PolicyProvider(),
395
+ IAM.RoleProvider(),
396
+ IAM.SAMLProviderProvider(),
397
+ IAM.ServerCertificateProvider(),
398
+ IAM.ServiceSpecificCredentialProvider(),
399
+ IAM.SigningCertificateProvider(),
400
+ IAM.SSHPublicKeyProvider(),
401
+ IAM.UserProvider(),
402
+ IAM.VirtualMFADeviceProvider(),
403
+ IdentityCenter.AccountAssignmentProvider(),
404
+ IdentityCenter.GroupProvider(),
405
+ IdentityCenter.InstanceProvider(),
406
+ IdentityCenter.PermissionSetProvider(),
407
+ Kinesis.DescribeAccountSettingsPolicyLive,
408
+ Kinesis.DescribeLimitsPolicyLive,
409
+ Kinesis.DescribeStreamConsumerPolicyLive,
410
+ Kinesis.DescribeStreamPolicyLive,
411
+ Kinesis.DescribeStreamSummaryPolicyLive,
412
+ Kinesis.GetRecordsPolicyLive,
413
+ Kinesis.GetResourcePolicyPolicyLive,
414
+ Kinesis.GetShardIteratorPolicyLive,
415
+ Kinesis.ListShardsPolicyLive,
416
+ Kinesis.ListStreamConsumersPolicyLive,
417
+ Kinesis.ListStreamsPolicyLive,
418
+ Kinesis.ListTagsForResourcePolicyLive,
419
+ Kinesis.PutRecordPolicyLive,
420
+ Kinesis.PutRecordsPolicyLive,
421
+ Kinesis.StreamConsumerProvider(),
422
+ Kinesis.StreamProvider(),
423
+ Kinesis.StreamSinkPolicyLive,
424
+ Kinesis.SubscribeToShardPolicyLive,
425
+ Lambda.BucketEventSourcePolicyLive,
426
+ Lambda.EventSourceMappingProvider(),
427
+ Lambda.EventSourcePolicyLive,
428
+ Lambda.FunctionProvider(),
429
+ Lambda.InvokeFunctionPolicyLive,
430
+ Lambda.PermissionProvider(),
431
+ Lambda.QueueEventSourcePolicyLive,
432
+ Lambda.StreamEventSourcePolicyLive,
433
+ Lambda.TableEventSourcePolicyLive,
434
+ Lambda.TopicEventSourcePolicyLive,
435
+ Logs.LogGroupProvider(),
436
+ Organizations.AccountProvider(),
437
+ Organizations.DelegatedAdministratorProvider(),
438
+ Organizations.OrganizationalUnitProvider(),
439
+ Organizations.OrganizationProvider(),
440
+ Organizations.OrganizationResourcePolicyProvider(),
441
+ Organizations.PolicyAttachmentProvider(),
442
+ Organizations.PolicyProvider(),
443
+ Organizations.RootPolicyTypeProvider(),
444
+ Organizations.RootProvider(),
445
+ Organizations.TrustedServiceAccessProvider(),
446
+ RDS.ConnectPolicyLive,
447
+ RDS.DBClusterEndpointProvider(),
448
+ RDS.DBClusterParameterGroupProvider(),
449
+ RDS.DBClusterProvider(),
450
+ RDS.DBInstanceProvider(),
451
+ RDS.DBParameterGroupProvider(),
452
+ RDS.DBProxyEndpointProvider(),
453
+ RDS.DBProxyProvider(),
454
+ RDS.DBProxyTargetGroupProvider(),
455
+ RDS.DBSubnetGroupProvider(),
456
+ RDSData.BatchExecuteStatementPolicyLive,
457
+ RDSData.BeginTransactionPolicyLive,
458
+ RDSData.CommitTransactionPolicyLive,
459
+ RDSData.ExecuteSqlPolicyLive,
460
+ RDSData.ExecuteStatementPolicyLive,
461
+ RDSData.RollbackTransactionPolicyLive,
462
+ Route53.RecordProvider(),
463
+ S3.AbortMultipartUploadPolicyLive,
464
+ S3.BucketProvider(),
465
+ S3.CompleteMultipartUploadPolicyLive,
466
+ S3.CopyObjectPolicyLive,
467
+ S3.CreateMultipartUploadPolicyLive,
468
+ S3.DeleteObjectPolicyLive,
469
+ S3.GetObjectPolicyLive,
470
+ S3.HeadObjectPolicyLive,
471
+ S3.ListObjectsV2PolicyLive,
472
+ S3.PutObjectPolicyLive,
473
+ S3.UploadPartPolicyLive,
474
+ Scheduler.ScheduleGroupProvider(),
475
+ Scheduler.ScheduleProvider(),
476
+ SecretsManager.DescribeSecretPolicyLive,
477
+ SecretsManager.GetRandomPasswordPolicyLive,
478
+ SecretsManager.GetSecretValuePolicyLive,
479
+ SecretsManager.ListSecretsPolicyLive,
480
+ SecretsManager.PutSecretValuePolicyLive,
481
+ SecretsManager.SecretProvider(),
482
+ SNS.AddPermissionPolicyLive,
483
+ SNS.ConfirmSubscriptionPolicyLive,
484
+ SNS.GetDataProtectionPolicyPolicyLive,
485
+ SNS.GetSubscriptionAttributesPolicyLive,
486
+ SNS.GetTopicAttributesPolicyLive,
487
+ SNS.ListSubscriptionsByTopicPolicyLive,
488
+ SNS.ListSubscriptionsPolicyLive,
489
+ SNS.ListTagsForResourcePolicyLive,
490
+ SNS.ListTopicsPolicyLive,
491
+ SNS.PublishBatchPolicyLive,
492
+ SNS.PublishPolicyLive,
493
+ SNS.PutDataProtectionPolicyPolicyLive,
494
+ SNS.RemovePermissionPolicyLive,
495
+ SNS.SetSubscriptionAttributesPolicyLive,
496
+ SNS.SetTopicAttributesPolicyLive,
497
+ SNS.SubscriptionProvider(),
498
+ SNS.TagResourcePolicyLive,
499
+ SNS.TopicProvider(),
500
+ SNS.TopicSinkPolicyLive,
501
+ SNS.UntagResourcePolicyLive,
502
+ SQS.DeleteMessageBatchPolicyLive,
503
+ SQS.DeleteMessagePolicyLive,
504
+ SQS.QueueProvider(),
505
+ SQS.QueueSinkPolicyLive,
506
+ SQS.ReceiveMessagePolicyLive,
507
+ SQS.SendMessageBatchPolicyLive,
508
+ SQS.SendMessagePolicyLive,
509
+ Website.AssetDeploymentProvider(),
510
+ ),
511
+ ),
512
+ Layer.provideMerge(
513
+ Layer.mergeAll(
514
+ CommandProvider(),
515
+ RandomProvider(),
516
+ Assets.AssetsProvider(),
517
+ ),
518
+ ),
55
519
  Layer.provideMerge(Account.fromStageConfig()),
56
520
  Layer.provideMerge(Region.fromStageConfig()),
57
521
  Layer.provideMerge(Credentials.fromStageConfig()),
58
522
  Layer.provideMerge(Endpoint.fromStageConfig()),
59
- Layer.provideMerge(stageConfig()),
523
+ Layer.provideMerge(DefaultStageConfig),
60
524
  Layer.orDie,
61
525
  );
62
-
63
- export const stageConfig = () =>
64
- Layer.effect(StageConfig, Effect.suspend(loadDefaultStageConfig));
65
-
66
- /**
67
- * Minimal AWS credential and account context without registering any resource
68
- * providers.
69
- */
70
- export const credentials = () =>
71
- pipe(
72
- Account.fromStageConfig(),
73
- Layer.provideMerge(Region.fromStageConfig()),
74
- Layer.provideMerge(Credentials.fromStageConfig()),
75
- Layer.provideMerge(Endpoint.fromStageConfig()),
76
- Layer.provideMerge(stageConfig()),
77
- );
78
-
79
- /**
80
- * All AWS resource providers.
81
- *
82
- * This layer registers the lifecycle providers that can create, read, update,
83
- * and delete AWS resources during plan and deploy.
84
- */
85
- export const resources = () =>
86
- Layer.mergeAll(
87
- buildProviders(),
88
- acmProviders(),
89
- autoScalingProviders(),
90
- cloudFrontProviders(),
91
- cloudWatchProviders(),
92
- dynamoDbProviders(),
93
- ec2Providers(),
94
- ecrProviders(),
95
- ecsProviders(),
96
- eksProviders(),
97
- elbv2Providers(),
98
- eventBridgeProviders(),
99
- iamProviders(),
100
- identityCenterProviders(),
101
- kinesisProviders(),
102
- lambdaProviders(),
103
- logsProviders(),
104
- organizationsProviders(),
105
- rdsProviders(),
106
- route53Providers(),
107
- s3Providers(),
108
- schedulerProviders(),
109
- secretsManagerProviders(),
110
- snsProviders(),
111
- sqsProviders(),
112
- websiteProviders(),
113
- );
114
-
115
- export const buildProviders = () =>
116
- Layer.mergeAll(CommandProvider(), RandomProvider());
117
-
118
- export const acmProviders = () => Layer.mergeAll(ACM.CertificateProvider());
119
-
120
- export const autoScalingProviders = () =>
121
- Layer.mergeAll(
122
- AutoScaling.AutoScalingGroupProvider(),
123
- AutoScaling.LaunchTemplateProvider(),
124
- AutoScaling.ScalingPolicyProvider(),
125
- );
126
-
127
- export const cloudFrontProviders = () =>
128
- Layer.mergeAll(
129
- CloudFront.DistributionProvider(),
130
- CloudFront.FunctionProvider(),
131
- CloudFront.InvalidationProvider(),
132
- CloudFront.KeyValueStoreProvider(),
133
- CloudFront.KvEntriesProvider(),
134
- CloudFront.KvRoutesUpdateProvider(),
135
- CloudFront.OriginAccessControlProvider(),
136
- );
137
-
138
- export const cloudWatchProviders = () =>
139
- Layer.mergeAll(
140
- CloudWatch.AlarmMuteRuleProvider(),
141
- CloudWatch.AlarmProvider(),
142
- CloudWatch.AnomalyDetectorProvider(),
143
- CloudWatch.CompositeAlarmProvider(),
144
- CloudWatch.DashboardProvider(),
145
- CloudWatch.InsightRuleProvider(),
146
- CloudWatch.MetricStreamProvider(),
147
- );
148
-
149
- export const dynamoDbProviders = () => Layer.mergeAll(DynamoDB.TableProvider());
150
-
151
- export const ec2Providers = () =>
152
- Layer.mergeAll(
153
- EC2.EgressOnlyInternetGatewayProvider(),
154
- EC2.EIPProvider(),
155
- EC2.InstanceProvider(),
156
- EC2.InternetGatewayProvider(),
157
- EC2.NatGatewayProvider(),
158
- EC2.NetworkAclAssociationProvider(),
159
- EC2.NetworkAclEntryProvider(),
160
- EC2.NetworkAclProvider(),
161
- EC2.RouteProvider(),
162
- EC2.RouteTableAssociationProvider(),
163
- EC2.RouteTableProvider(),
164
- EC2.SecurityGroupProvider(),
165
- EC2.SecurityGroupRuleProvider(),
166
- EC2.SubnetProvider(),
167
- EC2.VpcEndpointProvider(),
168
- EC2.VpcProvider(),
169
- );
170
-
171
- export const ecrProviders = () => Layer.mergeAll(ECR.RepositoryProvider());
172
-
173
- export const ecsProviders = () =>
174
- Layer.mergeAll(
175
- ECS.ClusterProvider(),
176
- ECS.ServiceProvider(),
177
- ECS.TaskProvider(),
178
- );
179
-
180
- export const eksProviders = () =>
181
- Layer.mergeAll(
182
- EKS.AccessEntryProvider(),
183
- EKS.AddonProvider(),
184
- EKS.ClusterProvider(),
185
- EKS.PodIdentityAssociationProvider(),
186
- );
187
-
188
- export const elbv2Providers = () =>
189
- Layer.mergeAll(
190
- ELBv2.ListenerProvider(),
191
- ELBv2.LoadBalancerProvider(),
192
- ELBv2.TargetGroupProvider(),
193
- );
194
-
195
- export const eventBridgeProviders = () =>
196
- Layer.mergeAll(
197
- EventBridge.EventBusProvider(),
198
- EventBridge.PermissionProvider(),
199
- EventBridge.RuleProvider(),
200
- );
201
-
202
- export const iamProviders = () =>
203
- Layer.mergeAll(
204
- IAM.AccessKeyProvider(),
205
- IAM.AccountAliasProvider(),
206
- IAM.AccountPasswordPolicyProvider(),
207
- IAM.GroupMembershipProvider(),
208
- IAM.GroupProvider(),
209
- IAM.InstanceProfileProvider(),
210
- IAM.LoginProfileProvider(),
211
- IAM.OpenIDConnectProviderProvider(),
212
- IAM.PolicyProvider(),
213
- IAM.RoleProvider(),
214
- IAM.SAMLProviderProvider(),
215
- IAM.ServerCertificateProvider(),
216
- IAM.ServiceSpecificCredentialProvider(),
217
- IAM.SigningCertificateProvider(),
218
- IAM.SSHPublicKeyProvider(),
219
- IAM.UserProvider(),
220
- IAM.VirtualMFADeviceProvider(),
221
- );
222
-
223
- export const identityCenterProviders = () =>
224
- Layer.mergeAll(
225
- IdentityCenter.AccountAssignmentProvider(),
226
- IdentityCenter.GroupProvider(),
227
- IdentityCenter.InstanceProvider(),
228
- IdentityCenter.PermissionSetProvider(),
229
- );
230
-
231
- export const kinesisProviders = () =>
232
- Layer.mergeAll(Kinesis.StreamConsumerProvider(), Kinesis.StreamProvider());
233
-
234
- export const lambdaProviders = () =>
235
- Layer.mergeAll(
236
- Lambda.EventSourceMappingProvider(),
237
- Lambda.FunctionProvider(),
238
- Lambda.PermissionProvider(),
239
- );
240
-
241
- export const logsProviders = () => Layer.mergeAll(Logs.LogGroupProvider());
242
-
243
- export const organizationsProviders = () =>
244
- Layer.mergeAll(
245
- Organizations.AccountProvider(),
246
- Organizations.DelegatedAdministratorProvider(),
247
- Organizations.OrganizationalUnitProvider(),
248
- Organizations.OrganizationProvider(),
249
- Organizations.OrganizationResourcePolicyProvider(),
250
- Organizations.PolicyAttachmentProvider(),
251
- Organizations.PolicyProvider(),
252
- Organizations.RootPolicyTypeProvider(),
253
- Organizations.RootProvider(),
254
- Organizations.TrustedServiceAccessProvider(),
255
- );
256
-
257
- export const rdsProviders = () =>
258
- Layer.mergeAll(
259
- RDS.DBClusterEndpointProvider(),
260
- RDS.DBClusterParameterGroupProvider(),
261
- RDS.DBClusterProvider(),
262
- RDS.DBInstanceProvider(),
263
- RDS.DBParameterGroupProvider(),
264
- RDS.DBProxyEndpointProvider(),
265
- RDS.DBProxyProvider(),
266
- RDS.DBProxyTargetGroupProvider(),
267
- RDS.DBSubnetGroupProvider(),
268
- );
269
-
270
- export const route53Providers = () => Layer.mergeAll(Route53.RecordProvider());
271
-
272
- export const s3Providers = () => Layer.mergeAll(S3.BucketProvider());
273
-
274
- export const schedulerProviders = () =>
275
- Layer.mergeAll(
276
- Scheduler.ScheduleGroupProvider(),
277
- Scheduler.ScheduleProvider(),
278
- );
279
-
280
- export const secretsManagerProviders = () =>
281
- Layer.mergeAll(SecretsManager.SecretProvider());
282
-
283
- export const snsProviders = () =>
284
- Layer.mergeAll(SNS.SubscriptionProvider(), SNS.TopicProvider());
285
-
286
- export const sqsProviders = () => Layer.mergeAll(SQS.QueueProvider());
287
-
288
- export const websiteProviders = () =>
289
- Layer.mergeAll(Website.AssetDeploymentProvider());
290
-
291
- /**
292
- * All AWS binding policies.
293
- *
294
- * These layers attach IAM statements and event-source bindings to functions at
295
- * deploy time so runtime bindings like `PutObject.bind(bucket)` can execute
296
- * with the required permissions.
297
- */
298
- export const bindings = () =>
299
- Layer.mergeAll(
300
- cloudWatchBindings(),
301
- dynamoDbBindings(),
302
- ecsBindings(),
303
- eventBridgeBindings(),
304
- kinesisBindings(),
305
- lambdaBindings(),
306
- rdsBindings(),
307
- rdsDataBindings(),
308
- s3Bindings(),
309
- secretsManagerBindings(),
310
- snsBindings(),
311
- sqsBindings(),
312
- );
313
-
314
- export const cloudWatchBindings = () =>
315
- Layer.mergeAll(
316
- CloudWatch.DescribeAlarmContributorsPolicyLive,
317
- CloudWatch.DescribeAlarmHistoryPolicyLive,
318
- CloudWatch.DescribeAlarmsForMetricPolicyLive,
319
- CloudWatch.DescribeAlarmsPolicyLive,
320
- CloudWatch.DescribeAnomalyDetectorsPolicyLive,
321
- CloudWatch.DescribeInsightRulesPolicyLive,
322
- CloudWatch.DisableAlarmActionsPolicyLive,
323
- CloudWatch.DisableInsightRulesPolicyLive,
324
- CloudWatch.EnableAlarmActionsPolicyLive,
325
- CloudWatch.GetAlarmMuteRulePolicyLive,
326
- CloudWatch.GetDashboardPolicyLive,
327
- CloudWatch.GetInsightRuleReportPolicyLive,
328
- CloudWatch.GetMetricDataPolicyLive,
329
- CloudWatch.GetMetricStatisticsPolicyLive,
330
- CloudWatch.GetMetricStreamPolicyLive,
331
- CloudWatch.GetMetricWidgetImagePolicyLive,
332
- CloudWatch.ListAlarmMuteRulesPolicyLive,
333
- CloudWatch.ListDashboardsPolicyLive,
334
- CloudWatch.ListManagedInsightRulesPolicyLive,
335
- CloudWatch.ListMetricsPolicyLive,
336
- CloudWatch.ListMetricStreamsPolicyLive,
337
- CloudWatch.ListTagsForResourcePolicyLive,
338
- CloudWatch.PutMetricDataPolicyLive,
339
- CloudWatch.SetAlarmStatePolicyLive,
340
- );
341
-
342
- export const dynamoDbBindings = () =>
343
- Layer.mergeAll(
344
- DynamoDB.BatchExecuteStatementPolicyLive,
345
- DynamoDB.BatchGetItemPolicyLive,
346
- DynamoDB.BatchWriteItemPolicyLive,
347
- DynamoDB.DeleteItemPolicyLive,
348
- DynamoDB.DescribeTablePolicyLive,
349
- DynamoDB.DescribeTimeToLivePolicyLive,
350
- DynamoDB.ExecuteStatementPolicyLive,
351
- DynamoDB.ExecuteTransactionPolicyLive,
352
- DynamoDB.GetItemPolicyLive,
353
- DynamoDB.ListTablesPolicyLive,
354
- DynamoDB.ListTagsOfResourcePolicyLive,
355
- DynamoDB.PutItemPolicyLive,
356
- DynamoDB.QueryPolicyLive,
357
- DynamoDB.RestoreTableToPointInTimePolicyLive,
358
- DynamoDB.ScanPolicyLive,
359
- DynamoDB.TransactGetItemsPolicyLive,
360
- DynamoDB.TransactWriteItemsPolicyLive,
361
- DynamoDB.UpdateItemPolicyLive,
362
- DynamoDB.UpdateTimeToLivePolicyLive,
363
- );
364
-
365
- export const ecsBindings = () =>
366
- Layer.mergeAll(
367
- ECS.DescribeTasksPolicyLive,
368
- ECS.ListTasksPolicyLive,
369
- ECS.RunTaskPolicyLive,
370
- ECS.StopTaskPolicyLive,
371
- );
372
-
373
- export const eventBridgeBindings = () =>
374
- Layer.mergeAll(
375
- EventBridge.DescribeEventBusPolicyLive,
376
- EventBridge.DescribeRulePolicyLive,
377
- EventBridge.ListEventBusesPolicyLive,
378
- EventBridge.ListRulesPolicyLive,
379
- EventBridge.ListTargetsByRulePolicyLive,
380
- EventBridge.PutEventsPolicyLive,
381
- EventBridge.TestEventPatternPolicyLive,
382
- EventBridge.ToLambdaPolicyLive,
383
- EventBridge.ToQueuePolicyLive,
384
- );
385
-
386
- export const kinesisBindings = () =>
387
- Layer.mergeAll(
388
- Kinesis.DescribeAccountSettingsPolicyLive,
389
- Kinesis.DescribeLimitsPolicyLive,
390
- Kinesis.DescribeStreamConsumerPolicyLive,
391
- Kinesis.DescribeStreamPolicyLive,
392
- Kinesis.DescribeStreamSummaryPolicyLive,
393
- Kinesis.GetRecordsPolicyLive,
394
- Kinesis.GetResourcePolicyPolicyLive,
395
- Kinesis.GetShardIteratorPolicyLive,
396
- Kinesis.ListShardsPolicyLive,
397
- Kinesis.ListStreamConsumersPolicyLive,
398
- Kinesis.ListStreamsPolicyLive,
399
- Kinesis.ListTagsForResourcePolicyLive,
400
- Kinesis.PutRecordPolicyLive,
401
- Kinesis.PutRecordsPolicyLive,
402
- Kinesis.StreamSinkPolicyLive,
403
- Kinesis.SubscribeToShardPolicyLive,
404
- );
405
-
406
- export const lambdaBindings = () =>
407
- Layer.mergeAll(
408
- Lambda.BucketEventSourcePolicyLive,
409
- Lambda.QueueEventSourcePolicyLive,
410
- Lambda.StreamEventSourcePolicyLive,
411
- Lambda.TableEventSourcePolicyLive,
412
- Lambda.TopicEventSourcePolicyLive,
413
- );
414
-
415
- export const rdsBindings = () => Layer.mergeAll(RDS.ConnectPolicyLive);
416
-
417
- export const rdsDataBindings = () =>
418
- Layer.mergeAll(
419
- RDSData.BatchExecuteStatementPolicyLive,
420
- RDSData.BeginTransactionPolicyLive,
421
- RDSData.CommitTransactionPolicyLive,
422
- RDSData.ExecuteSqlPolicyLive,
423
- RDSData.ExecuteStatementPolicyLive,
424
- RDSData.RollbackTransactionPolicyLive,
425
- );
426
-
427
- export const s3Bindings = () =>
428
- Layer.mergeAll(
429
- S3.AbortMultipartUploadPolicyLive,
430
- S3.CompleteMultipartUploadPolicyLive,
431
- S3.CreateMultipartUploadPolicyLive,
432
- S3.DeleteObjectPolicyLive,
433
- S3.GetObjectPolicyLive,
434
- S3.HeadObjectPolicyLive,
435
- S3.ListObjectsV2PolicyLive,
436
- S3.PutObjectPolicyLive,
437
- S3.UploadPartPolicyLive,
438
- );
439
-
440
- export const secretsManagerBindings = () =>
441
- Layer.mergeAll(
442
- SecretsManager.DescribeSecretPolicyLive,
443
- SecretsManager.GetRandomPasswordPolicyLive,
444
- SecretsManager.GetSecretValuePolicyLive,
445
- SecretsManager.ListSecretsPolicyLive,
446
- SecretsManager.PutSecretValuePolicyLive,
447
- );
448
-
449
- export const snsBindings = () =>
450
- Layer.mergeAll(
451
- SNS.AddPermissionPolicyLive,
452
- SNS.ConfirmSubscriptionPolicyLive,
453
- SNS.GetDataProtectionPolicyPolicyLive,
454
- SNS.GetSubscriptionAttributesPolicyLive,
455
- SNS.GetTopicAttributesPolicyLive,
456
- SNS.ListSubscriptionsByTopicPolicyLive,
457
- SNS.ListSubscriptionsPolicyLive,
458
- SNS.ListTagsForResourcePolicyLive,
459
- SNS.ListTopicsPolicyLive,
460
- SNS.PublishBatchPolicyLive,
461
- SNS.PublishPolicyLive,
462
- SNS.PutDataProtectionPolicyPolicyLive,
463
- SNS.RemovePermissionPolicyLive,
464
- SNS.SetSubscriptionAttributesPolicyLive,
465
- SNS.SetTopicAttributesPolicyLive,
466
- SNS.TagResourcePolicyLive,
467
- SNS.TopicSinkPolicyLive,
468
- SNS.UntagResourcePolicyLive,
469
- );
470
-
471
- export const sqsBindings = () =>
472
- Layer.mergeAll(
473
- SQS.DeleteMessageBatchPolicyLive,
474
- SQS.QueueSinkPolicyLive,
475
- SQS.ReceiveMessagePolicyLive,
476
- SQS.SendMessageBatchPolicyLive,
477
- SQS.SendMessagePolicyLive,
478
- // SQS.QueueEventSourcePolicyLive,
479
- );