@intentius/chant-lexicon-aws 0.84.0 → 0.85.0

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 (75) hide show
  1. package/dist/composites/alb-shared.d.ts +1 -0
  2. package/dist/composites/alb-shared.d.ts.map +1 -1
  3. package/dist/composites/catalog.d.ts +3 -0
  4. package/dist/composites/catalog.d.ts.map +1 -0
  5. package/dist/composites/dynamodb-table.d.ts +1 -0
  6. package/dist/composites/dynamodb-table.d.ts.map +1 -1
  7. package/dist/composites/ec2-instance-role.d.ts +1 -0
  8. package/dist/composites/ec2-instance-role.d.ts.map +1 -1
  9. package/dist/composites/ecr-repository.d.ts +1 -0
  10. package/dist/composites/ecr-repository.d.ts.map +1 -1
  11. package/dist/composites/efs-with-access-point.d.ts +1 -0
  12. package/dist/composites/efs-with-access-point.d.ts.map +1 -1
  13. package/dist/composites/fargate-alb.d.ts +1 -0
  14. package/dist/composites/fargate-alb.d.ts.map +1 -1
  15. package/dist/composites/fargate-service.d.ts +1 -0
  16. package/dist/composites/fargate-service.d.ts.map +1 -1
  17. package/dist/composites/lambda-api.d.ts +1 -0
  18. package/dist/composites/lambda-api.d.ts.map +1 -1
  19. package/dist/composites/lambda-dynamodb.d.ts +1 -0
  20. package/dist/composites/lambda-dynamodb.d.ts.map +1 -1
  21. package/dist/composites/lambda-eventbridge.d.ts +1 -0
  22. package/dist/composites/lambda-eventbridge.d.ts.map +1 -1
  23. package/dist/composites/lambda-function.d.ts +17 -16
  24. package/dist/composites/lambda-function.d.ts.map +1 -1
  25. package/dist/composites/lambda-s3.d.ts +1 -0
  26. package/dist/composites/lambda-s3.d.ts.map +1 -1
  27. package/dist/composites/lambda-sns.d.ts +1 -0
  28. package/dist/composites/lambda-sns.d.ts.map +1 -1
  29. package/dist/composites/lambda-sqs.d.ts +1 -0
  30. package/dist/composites/lambda-sqs.d.ts.map +1 -1
  31. package/dist/composites/landing-zone.d.ts +2 -0
  32. package/dist/composites/landing-zone.d.ts.map +1 -1
  33. package/dist/composites/minimal-vpc.d.ts +1 -0
  34. package/dist/composites/minimal-vpc.d.ts.map +1 -1
  35. package/dist/composites/nlb-service.d.ts +1 -0
  36. package/dist/composites/nlb-service.d.ts.map +1 -1
  37. package/dist/composites/rds-instance.d.ts +1 -0
  38. package/dist/composites/rds-instance.d.ts.map +1 -1
  39. package/dist/composites/scheduled-lambda.d.ts +1 -0
  40. package/dist/composites/scheduled-lambda.d.ts.map +1 -1
  41. package/dist/composites/solr-fargate-service.d.ts +2 -0
  42. package/dist/composites/solr-fargate-service.d.ts.map +1 -1
  43. package/dist/composites/step-functions-workflow.d.ts +1 -0
  44. package/dist/composites/step-functions-workflow.d.ts.map +1 -1
  45. package/dist/composites/vpc-default.d.ts +1 -0
  46. package/dist/composites/vpc-default.d.ts.map +1 -1
  47. package/dist/integrity.json +2 -2
  48. package/dist/manifest.json +1 -1
  49. package/dist/plugin.d.ts.map +1 -1
  50. package/package.json +2 -2
  51. package/src/composites/alb-shared.ts +1 -0
  52. package/src/composites/catalog.test.ts +39 -0
  53. package/src/composites/catalog.ts +2719 -0
  54. package/src/composites/dynamodb-table.ts +1 -0
  55. package/src/composites/ec2-instance-role.ts +1 -0
  56. package/src/composites/ecr-repository.ts +1 -0
  57. package/src/composites/efs-with-access-point.ts +1 -0
  58. package/src/composites/fargate-alb.ts +1 -0
  59. package/src/composites/fargate-service.ts +1 -0
  60. package/src/composites/lambda-api.ts +1 -0
  61. package/src/composites/lambda-dynamodb.ts +1 -0
  62. package/src/composites/lambda-eventbridge.ts +1 -0
  63. package/src/composites/lambda-function.ts +1 -0
  64. package/src/composites/lambda-s3.ts +1 -0
  65. package/src/composites/lambda-sns.ts +1 -0
  66. package/src/composites/lambda-sqs.ts +1 -0
  67. package/src/composites/landing-zone.ts +2 -0
  68. package/src/composites/minimal-vpc.ts +1 -0
  69. package/src/composites/nlb-service.ts +1 -0
  70. package/src/composites/rds-instance.ts +1 -0
  71. package/src/composites/scheduled-lambda.ts +1 -0
  72. package/src/composites/solr-fargate-service.ts +2 -0
  73. package/src/composites/step-functions-workflow.ts +1 -0
  74. package/src/composites/vpc-default.ts +1 -0
  75. package/src/plugin.ts +5 -0
@@ -0,0 +1,2719 @@
1
+ // Generated by scripts/generate-composite-catalogs.ts (#2662) from this
2
+ // lexicon's composite exports. Do not edit by hand: run
3
+ // `npm run generate:composite-catalogs`. catalog.test.ts holds it to the exports.
4
+ import type { CompositeEntry } from "@intentius/chant/lexicon";
5
+
6
+ export const compositeCatalog: CompositeEntry[] = [
7
+ {
8
+ "name": "AgentCoreAgent",
9
+ "lexicon": "aws",
10
+ "description": "A Bedrock AgentCore agent as one CloudFormation-serializable bundle.",
11
+ "bundles": [
12
+ "BedrockAgentCoreGateway",
13
+ "GatewayTarget",
14
+ "Memory",
15
+ "Role",
16
+ "Runtime",
17
+ "RuntimeEndpoint",
18
+ "WorkloadIdentity"
19
+ ],
20
+ "params": [
21
+ {
22
+ "name": "name",
23
+ "type": "string",
24
+ "required": true,
25
+ "description": "Base name for the agent's resources."
26
+ },
27
+ {
28
+ "name": "containerUri",
29
+ "type": "string",
30
+ "required": false,
31
+ "description": "ECR image URI the Runtime runs, e.g. `\"123456789012.dkr.ecr.us-east-1.amazonaws.com/agent:latest\"`."
32
+ },
33
+ {
34
+ "name": "code",
35
+ "type": "AgentCoreCodeArtifact",
36
+ "required": false,
37
+ "description": "S3-zip code artifact run on a managed runtime — the alternative to `containerUri`."
38
+ },
39
+ {
40
+ "name": "networkMode",
41
+ "type": "\"PUBLIC\" | \"VPC\"",
42
+ "required": false,
43
+ "description": "Runtime network mode."
44
+ },
45
+ {
46
+ "name": "vpcSubnetIds",
47
+ "type": "string[]",
48
+ "required": false,
49
+ "description": "Subnets for the Runtime's ENIs."
50
+ },
51
+ {
52
+ "name": "vpcSecurityGroupIds",
53
+ "type": "string[]",
54
+ "required": false,
55
+ "description": "Security groups for the Runtime's ENIs."
56
+ },
57
+ {
58
+ "name": "protocolConfiguration",
59
+ "type": "\"A2A\" | \"AGUI\" | \"HTTP\" | \"MCP\"",
60
+ "required": false,
61
+ "description": "Protocol the Runtime serves."
62
+ },
63
+ {
64
+ "name": "environmentVariables",
65
+ "type": "Record<string, string>",
66
+ "required": false,
67
+ "description": "Environment variables passed to the Runtime container."
68
+ },
69
+ {
70
+ "name": "endpointName",
71
+ "type": "string",
72
+ "required": false,
73
+ "description": "Name of an explicit, non-`DEFAULT` `RuntimeEndpoint` to create alongside the Runtime (e.g. `\"PROD\"`), the alias a version-promotion flow would later repoint..."
74
+ },
75
+ {
76
+ "name": "memoryEventExpiryDays",
77
+ "type": "number",
78
+ "required": false,
79
+ "description": "Memory event retention, in days."
80
+ },
81
+ {
82
+ "name": "gatewayAuthorizerType",
83
+ "type": "\"CUSTOM_JWT\" | \"AWS_IAM\" | \"NONE\" | \"AUTHENTICATE_ONLY\"",
84
+ "required": false,
85
+ "description": "Gateway authorizer."
86
+ },
87
+ {
88
+ "name": "allowedResourceOauth2ReturnUrls",
89
+ "type": "string[]",
90
+ "required": false,
91
+ "description": "Allow-listed OAuth2 return URLs for the standalone `WorkloadIdentity` resource."
92
+ },
93
+ {
94
+ "name": "ManagedPolicyArns",
95
+ "type": "string[]",
96
+ "required": false,
97
+ "description": "Extra managed policy ARNs merged onto the auto-created Runtime/Memory execution role."
98
+ },
99
+ {
100
+ "name": "Policies",
101
+ "type": "InstanceType<typeof Role_Policy>[]",
102
+ "required": false,
103
+ "description": "Inline policies attached to the auto-created Runtime/Memory execution role."
104
+ },
105
+ {
106
+ "name": "defaults",
107
+ "type": "{ role?: Partial<ConstructorParameters<typeof Role>[0]>; gatewayRole?: Partial<ConstructorParameters<typeof Role>[0]>...",
108
+ "required": false
109
+ }
110
+ ]
111
+ },
112
+ {
113
+ "name": "AlbShared",
114
+ "lexicon": "aws",
115
+ "description": "A shared ECS cluster and internet-facing Application Load Balancer with its listener and execution role, for FargateService instances to attach to.",
116
+ "bundles": [
117
+ "EcsCluster",
118
+ "Listener",
119
+ "LoadBalancer",
120
+ "Role",
121
+ "SecurityGroup"
122
+ ],
123
+ "params": [
124
+ {
125
+ "name": "vpcId",
126
+ "type": "string",
127
+ "required": true
128
+ },
129
+ {
130
+ "name": "publicSubnetIds",
131
+ "type": "string[]",
132
+ "required": true
133
+ },
134
+ {
135
+ "name": "listenerPort",
136
+ "type": "number",
137
+ "required": false
138
+ },
139
+ {
140
+ "name": "protocol",
141
+ "type": "\"HTTP\" | \"HTTPS\"",
142
+ "required": false
143
+ },
144
+ {
145
+ "name": "certificateArn",
146
+ "type": "string",
147
+ "required": false
148
+ },
149
+ {
150
+ "name": "defaults",
151
+ "type": "{ cluster?: Partial<ConstructorParameters<typeof EcsCluster>[0]>; executionRole?: Partial<ConstructorParameters<typeo...",
152
+ "required": false
153
+ }
154
+ ]
155
+ },
156
+ {
157
+ "name": "BucketDeployment",
158
+ "lexicon": "aws",
159
+ "description": "BucketDeployment — the seeded-bucket shape: an S3 bucket sized to receive deploy-time content, encrypted and access-blocked by default, its deletion...",
160
+ "bundles": [
161
+ "Bucket",
162
+ "S3BucketPolicy"
163
+ ],
164
+ "params": [
165
+ {
166
+ "name": "bucketName",
167
+ "type": "Value<string>",
168
+ "required": false,
169
+ "description": "`Value<string>`: a name is routinely built with `Sub`/`Ref` (#1366)."
170
+ },
171
+ {
172
+ "name": "versioned",
173
+ "type": "boolean",
174
+ "required": false,
175
+ "description": "Enable S3 object versioning."
176
+ },
177
+ {
178
+ "name": "website",
179
+ "type": "{ indexDocument: string; errorDocument?: string; }",
180
+ "required": false,
181
+ "description": "Static-website hosting: sets `WebsiteConfiguration` and — since a website bucket is read by anonymous visitors, not IAM principals — opens the public-access..."
182
+ },
183
+ {
184
+ "name": "removalPolicy",
185
+ "type": "\"retain\" | \"destroy\"",
186
+ "required": false,
187
+ "description": "What CloudFormation does to the bucket when the stack (or the resource) is removed."
188
+ },
189
+ {
190
+ "name": "tags",
191
+ "type": "Array<{ Key: string; Value: string }>",
192
+ "required": false
193
+ },
194
+ {
195
+ "name": "defaults",
196
+ "type": "{ bucket?: Partial<ConstructorParameters<typeof Bucket>[0]>; bucketPolicy?: Partial<ConstructorParameters<typeof S3Bu...",
197
+ "required": false
198
+ }
199
+ ]
200
+ },
201
+ {
202
+ "name": "DynamoDBTable",
203
+ "lexicon": "aws",
204
+ "description": "A DynamoDB table from a partition key, an optional sort key and optional global secondary indexes.",
205
+ "bundles": [
206
+ "Table"
207
+ ],
208
+ "params": [
209
+ {
210
+ "name": "tableName",
211
+ "type": "Value<string>",
212
+ "required": false,
213
+ "description": "`Value<string>`: a name is routinely built with `Sub`/`Ref` (#1366)."
214
+ },
215
+ {
216
+ "name": "partitionKey",
217
+ "type": "DynamoDBKey",
218
+ "required": true
219
+ },
220
+ {
221
+ "name": "sortKey",
222
+ "type": "DynamoDBKey",
223
+ "required": false
224
+ },
225
+ {
226
+ "name": "billingMode",
227
+ "type": "\"PAY_PER_REQUEST\" | \"PROVISIONED\"",
228
+ "required": false,
229
+ "description": "Defaults to \"PAY_PER_REQUEST\" — the recommended default for most workloads (matches LambdaDynamoDB)."
230
+ },
231
+ {
232
+ "name": "provisionedThroughput",
233
+ "type": "DynamoDBCapacity",
234
+ "required": false,
235
+ "description": "Required when billingMode is \"PROVISIONED\"; ignored otherwise."
236
+ },
237
+ {
238
+ "name": "globalSecondaryIndexes",
239
+ "type": "DynamoDBGlobalSecondaryIndex[]",
240
+ "required": false
241
+ },
242
+ {
243
+ "name": "ttlAttribute",
244
+ "type": "string",
245
+ "required": false,
246
+ "description": "Attribute name that carries the expiry timestamp."
247
+ },
248
+ {
249
+ "name": "stream",
250
+ "type": "boolean | { viewType?: \"NEW_IMAGE\" | \"OLD_IMAGE\" | \"NEW_AND_OLD_IMAGES\" | \"KEYS_ONLY\" }",
251
+ "required": false,
252
+ "description": "Enables StreamSpecification."
253
+ },
254
+ {
255
+ "name": "defaults",
256
+ "type": "{ table?: Partial<ConstructorParameters<typeof Table>[0]>; }",
257
+ "required": false
258
+ }
259
+ ]
260
+ },
261
+ {
262
+ "name": "Ec2InstanceBundle",
263
+ "lexicon": "aws",
264
+ "description": "EC2 instance bundle — instance + security group + role/profile + subnet placement, the hand-rolled unit the aws-bench corpus showed 25 times...",
265
+ "bundles": [
266
+ "Instance",
267
+ "InstanceProfile",
268
+ "Role",
269
+ "SecurityGroup"
270
+ ],
271
+ "params": [
272
+ {
273
+ "name": "imageId",
274
+ "type": "string",
275
+ "required": true,
276
+ "description": "AMI id to launch."
277
+ },
278
+ {
279
+ "name": "vpcId",
280
+ "type": "string",
281
+ "required": true,
282
+ "description": "VPC the instance and its security group live in."
283
+ },
284
+ {
285
+ "name": "subnetId",
286
+ "type": "string",
287
+ "required": true,
288
+ "description": "Subnet the instance launches into — fixes its AZ and public/private placement."
289
+ },
290
+ {
291
+ "name": "instanceType",
292
+ "type": "string",
293
+ "required": false,
294
+ "description": "EC2 instance type."
295
+ },
296
+ {
297
+ "name": "keyName",
298
+ "type": "string",
299
+ "required": false,
300
+ "description": "SSH key pair name."
301
+ },
302
+ {
303
+ "name": "userData",
304
+ "type": "string",
305
+ "required": false,
306
+ "description": "Plain-text user-data script; wrapped in `Fn::Base64` for the instance."
307
+ },
308
+ {
309
+ "name": "ingress",
310
+ "type": "Ec2InstanceBundleIngressRule[]",
311
+ "required": false,
312
+ "description": "Inbound security-group rules."
313
+ },
314
+ {
315
+ "name": "ManagedPolicyArns",
316
+ "type": "string[]",
317
+ "required": false,
318
+ "description": "IAM managed policy ARNs attached to the instance role."
319
+ },
320
+ {
321
+ "name": "Policies",
322
+ "type": "ConstructorParameters<typeof Role>[0][\"Policies\"]",
323
+ "required": false,
324
+ "description": "Inline IAM policies attached to the instance role."
325
+ },
326
+ {
327
+ "name": "defaults",
328
+ "type": "{ role?: Partial<ConstructorParameters<typeof Role>[0]>; instanceProfile?: Partial<ConstructorParameters<typeof Insta...",
329
+ "required": false
330
+ }
331
+ ]
332
+ },
333
+ {
334
+ "name": "Ec2InstanceRole",
335
+ "lexicon": "aws",
336
+ "description": "An IAM role that EC2 can assume, with the instance profile that attaches it to an instance.",
337
+ "bundles": [
338
+ "InstanceProfile",
339
+ "Role"
340
+ ],
341
+ "params": [
342
+ {
343
+ "name": "ManagedPolicyArns",
344
+ "type": "string[]",
345
+ "required": false
346
+ },
347
+ {
348
+ "name": "Policies",
349
+ "type": "ConstructorParameters<typeof Role>[0][\"Policies\"]",
350
+ "required": false
351
+ },
352
+ {
353
+ "name": "defaults",
354
+ "type": "{ role?: Partial<ConstructorParameters<typeof Role>[0]>; instanceProfile?: Partial<ConstructorParameters<typeof Insta...",
355
+ "required": false
356
+ }
357
+ ]
358
+ },
359
+ {
360
+ "name": "EcrRepository",
361
+ "lexicon": "aws",
362
+ "description": "An ECR repository with image scanning, encryption and lifecycle rules.",
363
+ "bundles": [
364
+ "ECRRepository"
365
+ ],
366
+ "params": [
367
+ {
368
+ "name": "repositoryName",
369
+ "type": "Value<string>",
370
+ "required": false,
371
+ "description": "`Value<string>`: a name is routinely built with `Sub`/`Ref` (#1366)."
372
+ },
373
+ {
374
+ "name": "imageTagMutability",
375
+ "type": "\"MUTABLE\" | \"IMMUTABLE\" | \"MUTABLE_WITH_EXCLUSION\" | \"IMMUTABLE_WITH_EXCLUSION\"",
376
+ "required": false
377
+ },
378
+ {
379
+ "name": "scanOnPush",
380
+ "type": "boolean",
381
+ "required": false,
382
+ "description": "Defaults to true — scanning freshly pushed images is the safe default for a new repository."
383
+ },
384
+ {
385
+ "name": "lifecycleRules",
386
+ "type": "EcrLifecycleRule[]",
387
+ "required": false,
388
+ "description": "Lifecycle rules, evaluated in `rulePriority` order and rendered into the repository's `LifecyclePolicyText`."
389
+ },
390
+ {
391
+ "name": "encryption",
392
+ "type": "EcrEncryption",
393
+ "required": false
394
+ },
395
+ {
396
+ "name": "emptyOnDelete",
397
+ "type": "boolean",
398
+ "required": false,
399
+ "description": "If true, deleting the repository force-deletes its contents instead of requiring it to be empty first."
400
+ },
401
+ {
402
+ "name": "repositoryPolicy",
403
+ "type": "Record<string, unknown>",
404
+ "required": false,
405
+ "description": "JSON repository policy document (cross-account pull access, etc)."
406
+ },
407
+ {
408
+ "name": "defaults",
409
+ "type": "{ repository?: Partial<ConstructorParameters<typeof ECRRepository>[0]>; }",
410
+ "required": false
411
+ }
412
+ ]
413
+ },
414
+ {
415
+ "name": "EfsWithAccessPoint",
416
+ "lexicon": "aws",
417
+ "description": "An EFS file system with an access point and the security group that admits NFS traffic to it.",
418
+ "bundles": [
419
+ "EFSAccessPoint",
420
+ "EFSFileSystem",
421
+ "SecurityGroup"
422
+ ],
423
+ "params": [
424
+ {
425
+ "name": "name",
426
+ "type": "string",
427
+ "required": true
428
+ },
429
+ {
430
+ "name": "vpcId",
431
+ "type": "string",
432
+ "required": true
433
+ },
434
+ {
435
+ "name": "uid",
436
+ "type": "string",
437
+ "required": true
438
+ },
439
+ {
440
+ "name": "gid",
441
+ "type": "string",
442
+ "required": true
443
+ },
444
+ {
445
+ "name": "rootPath",
446
+ "type": "string",
447
+ "required": true
448
+ },
449
+ {
450
+ "name": "permissions",
451
+ "type": "string",
452
+ "required": false
453
+ },
454
+ {
455
+ "name": "ingressCidr",
456
+ "type": "string",
457
+ "required": false,
458
+ "description": "CIDR allowed inbound on NFS port 2049."
459
+ },
460
+ {
461
+ "name": "sourceSecurityGroupId",
462
+ "type": "string",
463
+ "required": false,
464
+ "description": "Security group ID allowed inbound on NFS port 2049."
465
+ },
466
+ {
467
+ "name": "performanceMode",
468
+ "type": "\"generalPurpose\" | \"maxIO\"",
469
+ "required": false
470
+ },
471
+ {
472
+ "name": "throughputMode",
473
+ "type": "\"bursting\" | \"provisioned\" | \"elastic\"",
474
+ "required": false
475
+ }
476
+ ]
477
+ },
478
+ {
479
+ "name": "EksCluster",
480
+ "lexicon": "aws",
481
+ "description": "EksCluster — a managed EKS control plane, its node group, and the two IAM roles they cannot exist without, as the one unit they are.",
482
+ "bundles": [
483
+ "Addon",
484
+ "EKSCluster",
485
+ "Nodegroup",
486
+ "Role"
487
+ ],
488
+ "params": [
489
+ {
490
+ "name": "name",
491
+ "type": "string",
492
+ "required": true,
493
+ "description": "Cluster name."
494
+ },
495
+ {
496
+ "name": "subnetIds",
497
+ "type": "string[]",
498
+ "required": true,
499
+ "description": "Subnet ids for the control plane ENIs — EKS requires at least two AZs."
500
+ },
501
+ {
502
+ "name": "securityGroupIds",
503
+ "type": "string[]",
504
+ "required": false,
505
+ "description": "Extra security groups for the control plane (EKS always adds its own)."
506
+ },
507
+ {
508
+ "name": "version",
509
+ "type": "string",
510
+ "required": false,
511
+ "description": "Kubernetes version, e.g. \"1.31\"."
512
+ },
513
+ {
514
+ "name": "nodegroup",
515
+ "type": "{ instanceTypes?: string[]; desiredSize?: number; minSize?: number; maxSize?: number; /** Subnets the nodes land in. ...",
516
+ "required": false,
517
+ "description": "Node group shape."
518
+ },
519
+ {
520
+ "name": "addons",
521
+ "type": "Array<{ name: string; version?: string }>",
522
+ "required": false,
523
+ "description": "Managed add-ons to install, by name (e.g. \"eks-pod-identity-agent\"."
524
+ },
525
+ {
526
+ "name": "tags",
527
+ "type": "Array<{ Key: string; Value: string }>",
528
+ "required": false
529
+ },
530
+ {
531
+ "name": "defaults",
532
+ "type": "{ cluster?: Partial<ConstructorParameters<typeof EKSCluster>[0]>; nodegroup?: Partial<ConstructorParameters<typeof No...",
533
+ "required": false
534
+ }
535
+ ]
536
+ },
537
+ {
538
+ "name": "FargateAlb",
539
+ "lexicon": "aws",
540
+ "description": "A Fargate service behind its own Application Load Balancer: cluster, task definition, service, target group, listener, logs and roles.",
541
+ "bundles": [
542
+ "EcsCluster",
543
+ "EcsService",
544
+ "Listener",
545
+ "LoadBalancer",
546
+ "LogGroup",
547
+ "Role",
548
+ "SecurityGroup",
549
+ "TargetGroup",
550
+ "TaskDefinition"
551
+ ],
552
+ "params": [
553
+ {
554
+ "name": "image",
555
+ "type": "string",
556
+ "required": true
557
+ },
558
+ {
559
+ "name": "repositoryCredentials",
560
+ "type": "string",
561
+ "required": false,
562
+ "description": "Secrets Manager ARN holding private-registry pull credentials (`{\"username\",\"password\"}`)."
563
+ },
564
+ {
565
+ "name": "certificateArn",
566
+ "type": "string",
567
+ "required": false,
568
+ "description": "ACM certificate ARN."
569
+ },
570
+ {
571
+ "name": "containerPort",
572
+ "type": "number",
573
+ "required": false
574
+ },
575
+ {
576
+ "name": "cpu",
577
+ "type": "string",
578
+ "required": false
579
+ },
580
+ {
581
+ "name": "memory",
582
+ "type": "string",
583
+ "required": false
584
+ },
585
+ {
586
+ "name": "desiredCount",
587
+ "type": "number",
588
+ "required": false
589
+ },
590
+ {
591
+ "name": "vpcId",
592
+ "type": "string",
593
+ "required": true
594
+ },
595
+ {
596
+ "name": "publicSubnetIds",
597
+ "type": "string[]",
598
+ "required": true
599
+ },
600
+ {
601
+ "name": "privateSubnetIds",
602
+ "type": "string[]",
603
+ "required": true
604
+ },
605
+ {
606
+ "name": "healthCheckPath",
607
+ "type": "string",
608
+ "required": false
609
+ },
610
+ {
611
+ "name": "listenerPort",
612
+ "type": "number",
613
+ "required": false
614
+ },
615
+ {
616
+ "name": "environment",
617
+ "type": "Record<string, string>",
618
+ "required": false
619
+ },
620
+ {
621
+ "name": "command",
622
+ "type": "string[]",
623
+ "required": false
624
+ },
625
+ {
626
+ "name": "ManagedPolicyArns",
627
+ "type": "string[]",
628
+ "required": false
629
+ },
630
+ {
631
+ "name": "Policies",
632
+ "type": "InstanceType<typeof Role_Policy>[]",
633
+ "required": false
634
+ },
635
+ {
636
+ "name": "logRetentionDays",
637
+ "type": "number",
638
+ "required": false
639
+ },
640
+ {
641
+ "name": "defaults",
642
+ "type": "{ cluster?: Partial<ConstructorParameters<typeof EcsCluster>[0]>; executionRole?: Partial<ConstructorParameters<typeo...",
643
+ "required": false
644
+ }
645
+ ]
646
+ },
647
+ {
648
+ "name": "FargateService",
649
+ "lexicon": "aws",
650
+ "description": "A Fargate service routed by a listener rule on an existing ALB listener, with its task definition, target group, logs, roles and optional autoscaling.",
651
+ "bundles": [
652
+ "ApplicationAutoScalingScalingPolicy",
653
+ "EcsService",
654
+ "ListenerRule",
655
+ "LogGroup",
656
+ "Role",
657
+ "ScalableTarget",
658
+ "SecurityGroup",
659
+ "TargetGroup",
660
+ "TaskDefinition"
661
+ ],
662
+ "params": [
663
+ {
664
+ "name": "clusterArn",
665
+ "type": "Value<string>",
666
+ "required": true
667
+ },
668
+ {
669
+ "name": "listenerArn",
670
+ "type": "Value<string>",
671
+ "required": true
672
+ },
673
+ {
674
+ "name": "albSecurityGroupId",
675
+ "type": "Value<string>",
676
+ "required": true
677
+ },
678
+ {
679
+ "name": "executionRoleArn",
680
+ "type": "Value<string>",
681
+ "required": true
682
+ },
683
+ {
684
+ "name": "priority",
685
+ "type": "number",
686
+ "required": true
687
+ },
688
+ {
689
+ "name": "pathPatterns",
690
+ "type": "string[]",
691
+ "required": false
692
+ },
693
+ {
694
+ "name": "hostHeaders",
695
+ "type": "string[]",
696
+ "required": false
697
+ },
698
+ {
699
+ "name": "image",
700
+ "type": "Value<string>",
701
+ "required": true
702
+ },
703
+ {
704
+ "name": "containerPort",
705
+ "type": "number",
706
+ "required": false
707
+ },
708
+ {
709
+ "name": "cpu",
710
+ "type": "string",
711
+ "required": false
712
+ },
713
+ {
714
+ "name": "memory",
715
+ "type": "string",
716
+ "required": false
717
+ },
718
+ {
719
+ "name": "desiredCount",
720
+ "type": "number",
721
+ "required": false
722
+ },
723
+ {
724
+ "name": "autoscaling",
725
+ "type": "{ minCapacity?: number; maxCapacity: number; cpuTarget?: number; scaleInCooldown?: number; scaleOutCooldown?: number; }",
726
+ "required": false
727
+ },
728
+ {
729
+ "name": "environment",
730
+ "type": "Record<string, string>",
731
+ "required": false
732
+ },
733
+ {
734
+ "name": "command",
735
+ "type": "string[]",
736
+ "required": false
737
+ },
738
+ {
739
+ "name": "mountPoints",
740
+ "type": "InstanceType<typeof TaskDefinition_MountPoint>[]",
741
+ "required": false
742
+ },
743
+ {
744
+ "name": "efsMounts",
745
+ "type": "Array<{ fileSystemId: string; accessPointId?: string; containerPath: string; volumeName?: string; transitEncryption?:...",
746
+ "required": false
747
+ },
748
+ {
749
+ "name": "vpcId",
750
+ "type": "Value<string>",
751
+ "required": true
752
+ },
753
+ {
754
+ "name": "privateSubnetIds",
755
+ "type": "Array<Value<string>>",
756
+ "required": true
757
+ },
758
+ {
759
+ "name": "healthCheckPath",
760
+ "type": "string",
761
+ "required": false
762
+ },
763
+ {
764
+ "name": "ulimits",
765
+ "type": "Array<{ name: string; softLimit: number; hardLimit: number }>",
766
+ "required": false
767
+ },
768
+ {
769
+ "name": "ManagedPolicyArns",
770
+ "type": "string[]",
771
+ "required": false
772
+ },
773
+ {
774
+ "name": "Policies",
775
+ "type": "InstanceType<typeof Role_Policy>[]",
776
+ "required": false
777
+ },
778
+ {
779
+ "name": "logRetentionDays",
780
+ "type": "number",
781
+ "required": false
782
+ },
783
+ {
784
+ "name": "defaults",
785
+ "type": "{ taskRole?: Partial<ConstructorParameters<typeof Role>[0]>; taskDef?: Partial<ConstructorParameters<typeof TaskDefin...",
786
+ "required": false
787
+ }
788
+ ]
789
+ },
790
+ {
791
+ "name": "GovernanceFoundation",
792
+ "lexicon": "aws",
793
+ "description": "Security / Infrastructure / Sandbox / Workloads OUs, `deny-leave-organization` attached at the root and `deny-audit-tamper` on the Security OU.",
794
+ "bundles": [
795
+ "OrganizationalUnit",
796
+ "OrganizationsPolicy"
797
+ ],
798
+ "params": [
799
+ {
800
+ "name": "parentRootId",
801
+ "type": "string",
802
+ "required": true,
803
+ "description": "The organization root to hang the foundation off (\"r-...\" or `OrganizationRoot(...).organization.RootId`)."
804
+ }
805
+ ]
806
+ },
807
+ {
808
+ "name": "LambdaApi",
809
+ "lexicon": "aws",
810
+ "description": "A Lambda function with an execution role and the permission that lets API Gateway invoke it.",
811
+ "bundles": [
812
+ "Function",
813
+ "Permission",
814
+ "Role"
815
+ ],
816
+ "params": [
817
+ {
818
+ "name": "sourceArn",
819
+ "type": "Value<string>",
820
+ "required": false,
821
+ "description": "`Value<string>`: an ARN is routinely built with `Sub` from pseudo-parameters (#1366)."
822
+ },
823
+ {
824
+ "name": "defaults",
825
+ "type": "LambdaFunctionProps[\"defaults\"] & { permission?: Partial<ConstructorParameters<typeof Permission>[0]>; }",
826
+ "required": false
827
+ },
828
+ {
829
+ "name": "name",
830
+ "type": "string | ReturnType<typeof Sub>",
831
+ "required": true
832
+ },
833
+ {
834
+ "name": "Runtime",
835
+ "type": "string",
836
+ "required": true
837
+ },
838
+ {
839
+ "name": "Handler",
840
+ "type": "string",
841
+ "required": true
842
+ },
843
+ {
844
+ "name": "Code",
845
+ "type": "ConstructorParameters<typeof Function>[0][\"Code\"]",
846
+ "required": true
847
+ },
848
+ {
849
+ "name": "Timeout",
850
+ "type": "number",
851
+ "required": false
852
+ },
853
+ {
854
+ "name": "MemorySize",
855
+ "type": "number",
856
+ "required": false
857
+ },
858
+ {
859
+ "name": "Environment",
860
+ "type": "ConstructorParameters<typeof Function>[0][\"Environment\"]",
861
+ "required": false
862
+ },
863
+ {
864
+ "name": "ManagedPolicyArns",
865
+ "type": "string[]",
866
+ "required": false
867
+ },
868
+ {
869
+ "name": "Policies",
870
+ "type": "InstanceType<typeof Role_Policy>[]",
871
+ "required": false
872
+ },
873
+ {
874
+ "name": "VpcConfig",
875
+ "type": "ConstructorParameters<typeof Function_VpcConfig>[0]",
876
+ "required": false
877
+ }
878
+ ]
879
+ },
880
+ {
881
+ "name": "LambdaDynamoDB",
882
+ "lexicon": "aws",
883
+ "description": "A Lambda function with a DynamoDB table, table access for its role and an optional stream trigger.",
884
+ "bundles": [
885
+ "EventSourceMapping",
886
+ "Function",
887
+ "Role",
888
+ "Table"
889
+ ],
890
+ "params": [
891
+ {
892
+ "name": "tableName",
893
+ "type": "Value<string>",
894
+ "required": false,
895
+ "description": "`Value<string>`: a name is routinely built with `Sub`/`Ref` (#1366)."
896
+ },
897
+ {
898
+ "name": "partitionKey",
899
+ "type": "string",
900
+ "required": true
901
+ },
902
+ {
903
+ "name": "sortKey",
904
+ "type": "string",
905
+ "required": false
906
+ },
907
+ {
908
+ "name": "access",
909
+ "type": "\"ReadOnly\" | \"ReadWrite\" | \"Full\" | \"None\"",
910
+ "required": false
911
+ },
912
+ {
913
+ "name": "streams",
914
+ "type": "{ viewType?: \"NEW_IMAGE\" | \"OLD_IMAGE\" | \"NEW_AND_OLD_IMAGES\" | \"KEYS_ONLY\"; batchSize?: number; startingPosition?: \"...",
915
+ "required": false
916
+ },
917
+ {
918
+ "name": "defaults",
919
+ "type": "LambdaFunctionProps[\"defaults\"] & { table?: Partial<ConstructorParameters<typeof Table>[0]>; eventSourceMapping?: Par...",
920
+ "required": false
921
+ },
922
+ {
923
+ "name": "name",
924
+ "type": "string | ReturnType<typeof Sub>",
925
+ "required": true
926
+ },
927
+ {
928
+ "name": "Runtime",
929
+ "type": "string",
930
+ "required": true
931
+ },
932
+ {
933
+ "name": "Handler",
934
+ "type": "string",
935
+ "required": true
936
+ },
937
+ {
938
+ "name": "Code",
939
+ "type": "ConstructorParameters<typeof Function>[0][\"Code\"]",
940
+ "required": true
941
+ },
942
+ {
943
+ "name": "Timeout",
944
+ "type": "number",
945
+ "required": false
946
+ },
947
+ {
948
+ "name": "MemorySize",
949
+ "type": "number",
950
+ "required": false
951
+ },
952
+ {
953
+ "name": "Environment",
954
+ "type": "ConstructorParameters<typeof Function>[0][\"Environment\"]",
955
+ "required": false
956
+ },
957
+ {
958
+ "name": "ManagedPolicyArns",
959
+ "type": "string[]",
960
+ "required": false
961
+ },
962
+ {
963
+ "name": "Policies",
964
+ "type": "InstanceType<typeof Role_Policy>[]",
965
+ "required": false
966
+ },
967
+ {
968
+ "name": "VpcConfig",
969
+ "type": "ConstructorParameters<typeof Function_VpcConfig>[0]",
970
+ "required": false
971
+ }
972
+ ]
973
+ },
974
+ {
975
+ "name": "LambdaEventBridge",
976
+ "lexicon": "aws",
977
+ "description": "A Lambda function triggered by an EventBridge rule, on a schedule or an event pattern.",
978
+ "bundles": [
979
+ "EventRule",
980
+ "Function",
981
+ "Permission",
982
+ "Role"
983
+ ],
984
+ "params": [
985
+ {
986
+ "name": "ruleName",
987
+ "type": "Value<string>",
988
+ "required": false,
989
+ "description": "`Value<string>`: a name is routinely built with `Sub`/`Ref` (#1366)."
990
+ },
991
+ {
992
+ "name": "schedule",
993
+ "type": "string",
994
+ "required": false
995
+ },
996
+ {
997
+ "name": "eventPattern",
998
+ "type": "Record<string, unknown>",
999
+ "required": false
1000
+ },
1001
+ {
1002
+ "name": "enabled",
1003
+ "type": "boolean",
1004
+ "required": false
1005
+ },
1006
+ {
1007
+ "name": "defaults",
1008
+ "type": "LambdaFunctionProps[\"defaults\"] & { rule?: Partial<ConstructorParameters<typeof EventRule>[0]>; permission?: Partial<...",
1009
+ "required": false
1010
+ },
1011
+ {
1012
+ "name": "name",
1013
+ "type": "string | ReturnType<typeof Sub>",
1014
+ "required": true
1015
+ },
1016
+ {
1017
+ "name": "Runtime",
1018
+ "type": "string",
1019
+ "required": true
1020
+ },
1021
+ {
1022
+ "name": "Handler",
1023
+ "type": "string",
1024
+ "required": true
1025
+ },
1026
+ {
1027
+ "name": "Code",
1028
+ "type": "ConstructorParameters<typeof Function>[0][\"Code\"]",
1029
+ "required": true
1030
+ },
1031
+ {
1032
+ "name": "Timeout",
1033
+ "type": "number",
1034
+ "required": false
1035
+ },
1036
+ {
1037
+ "name": "MemorySize",
1038
+ "type": "number",
1039
+ "required": false
1040
+ },
1041
+ {
1042
+ "name": "Environment",
1043
+ "type": "ConstructorParameters<typeof Function>[0][\"Environment\"]",
1044
+ "required": false
1045
+ },
1046
+ {
1047
+ "name": "ManagedPolicyArns",
1048
+ "type": "string[]",
1049
+ "required": false
1050
+ },
1051
+ {
1052
+ "name": "Policies",
1053
+ "type": "InstanceType<typeof Role_Policy>[]",
1054
+ "required": false
1055
+ },
1056
+ {
1057
+ "name": "VpcConfig",
1058
+ "type": "ConstructorParameters<typeof Function_VpcConfig>[0]",
1059
+ "required": false
1060
+ }
1061
+ ]
1062
+ },
1063
+ {
1064
+ "name": "LambdaFunction",
1065
+ "lexicon": "aws",
1066
+ "description": "A Lambda function with its execution role.",
1067
+ "bundles": [
1068
+ "Function",
1069
+ "Role"
1070
+ ],
1071
+ "params": [
1072
+ {
1073
+ "name": "name",
1074
+ "type": "string | ReturnType<typeof Sub>",
1075
+ "required": true
1076
+ },
1077
+ {
1078
+ "name": "Runtime",
1079
+ "type": "string",
1080
+ "required": true
1081
+ },
1082
+ {
1083
+ "name": "Handler",
1084
+ "type": "string",
1085
+ "required": true
1086
+ },
1087
+ {
1088
+ "name": "Code",
1089
+ "type": "ConstructorParameters<typeof Function>[0][\"Code\"]",
1090
+ "required": true
1091
+ },
1092
+ {
1093
+ "name": "Timeout",
1094
+ "type": "number",
1095
+ "required": false
1096
+ },
1097
+ {
1098
+ "name": "MemorySize",
1099
+ "type": "number",
1100
+ "required": false
1101
+ },
1102
+ {
1103
+ "name": "Environment",
1104
+ "type": "ConstructorParameters<typeof Function>[0][\"Environment\"]",
1105
+ "required": false
1106
+ },
1107
+ {
1108
+ "name": "ManagedPolicyArns",
1109
+ "type": "string[]",
1110
+ "required": false
1111
+ },
1112
+ {
1113
+ "name": "Policies",
1114
+ "type": "InstanceType<typeof Role_Policy>[]",
1115
+ "required": false
1116
+ },
1117
+ {
1118
+ "name": "VpcConfig",
1119
+ "type": "ConstructorParameters<typeof Function_VpcConfig>[0]",
1120
+ "required": false
1121
+ },
1122
+ {
1123
+ "name": "defaults",
1124
+ "type": "{ role?: Partial<ConstructorParameters<typeof Role>[0]>; func?: Partial<ConstructorParameters<typeof Function>[0]>; }",
1125
+ "required": false
1126
+ }
1127
+ ]
1128
+ },
1129
+ {
1130
+ "name": "LambdaNode",
1131
+ "lexicon": "aws",
1132
+ "description": "LambdaFunction with preset defaults for Runtime, Handler.",
1133
+ "bundles": [
1134
+ "Function",
1135
+ "Role"
1136
+ ],
1137
+ "params": [
1138
+ {
1139
+ "name": "ManagedPolicyArns",
1140
+ "type": "string[]",
1141
+ "required": false
1142
+ },
1143
+ {
1144
+ "name": "Policies",
1145
+ "type": "InstanceType<typeof Role_Policy>[]",
1146
+ "required": false
1147
+ },
1148
+ {
1149
+ "name": "defaults",
1150
+ "type": "{ role?: Partial<ConstructorParameters<typeof Role>[0]>; func?: Partial<ConstructorParameters<typeof Function>[0]>; }",
1151
+ "required": false
1152
+ },
1153
+ {
1154
+ "name": "Code",
1155
+ "type": "ConstructorParameters<typeof Function>[0][\"Code\"]",
1156
+ "required": true
1157
+ },
1158
+ {
1159
+ "name": "Timeout",
1160
+ "type": "number",
1161
+ "required": false
1162
+ },
1163
+ {
1164
+ "name": "MemorySize",
1165
+ "type": "number",
1166
+ "required": false
1167
+ },
1168
+ {
1169
+ "name": "Environment",
1170
+ "type": "ConstructorParameters<typeof Function>[0][\"Environment\"]",
1171
+ "required": false
1172
+ },
1173
+ {
1174
+ "name": "VpcConfig",
1175
+ "type": "ConstructorParameters<typeof Function_VpcConfig>[0]",
1176
+ "required": false
1177
+ },
1178
+ {
1179
+ "name": "name",
1180
+ "type": "string | ReturnType<typeof Sub>",
1181
+ "required": true
1182
+ },
1183
+ {
1184
+ "name": "Handler",
1185
+ "type": "string",
1186
+ "required": false
1187
+ },
1188
+ {
1189
+ "name": "Runtime",
1190
+ "type": "string",
1191
+ "required": false
1192
+ }
1193
+ ]
1194
+ },
1195
+ {
1196
+ "name": "LambdaPython",
1197
+ "lexicon": "aws",
1198
+ "description": "LambdaFunction with preset defaults for Runtime, Handler.",
1199
+ "bundles": [
1200
+ "Function",
1201
+ "Role"
1202
+ ],
1203
+ "params": [
1204
+ {
1205
+ "name": "ManagedPolicyArns",
1206
+ "type": "string[]",
1207
+ "required": false
1208
+ },
1209
+ {
1210
+ "name": "Policies",
1211
+ "type": "InstanceType<typeof Role_Policy>[]",
1212
+ "required": false
1213
+ },
1214
+ {
1215
+ "name": "defaults",
1216
+ "type": "{ role?: Partial<ConstructorParameters<typeof Role>[0]>; func?: Partial<ConstructorParameters<typeof Function>[0]>; }",
1217
+ "required": false
1218
+ },
1219
+ {
1220
+ "name": "Code",
1221
+ "type": "ConstructorParameters<typeof Function>[0][\"Code\"]",
1222
+ "required": true
1223
+ },
1224
+ {
1225
+ "name": "Timeout",
1226
+ "type": "number",
1227
+ "required": false
1228
+ },
1229
+ {
1230
+ "name": "MemorySize",
1231
+ "type": "number",
1232
+ "required": false
1233
+ },
1234
+ {
1235
+ "name": "Environment",
1236
+ "type": "ConstructorParameters<typeof Function>[0][\"Environment\"]",
1237
+ "required": false
1238
+ },
1239
+ {
1240
+ "name": "VpcConfig",
1241
+ "type": "ConstructorParameters<typeof Function_VpcConfig>[0]",
1242
+ "required": false
1243
+ },
1244
+ {
1245
+ "name": "name",
1246
+ "type": "string | ReturnType<typeof Sub>",
1247
+ "required": true
1248
+ },
1249
+ {
1250
+ "name": "Handler",
1251
+ "type": "string",
1252
+ "required": false
1253
+ },
1254
+ {
1255
+ "name": "Runtime",
1256
+ "type": "string",
1257
+ "required": false
1258
+ }
1259
+ ]
1260
+ },
1261
+ {
1262
+ "name": "LambdaS3",
1263
+ "lexicon": "aws",
1264
+ "description": "A Lambda function with an S3 bucket, bucket access for its role and an optional bucket-notification trigger.",
1265
+ "bundles": [
1266
+ "Bucket",
1267
+ "Function",
1268
+ "Permission",
1269
+ "Role"
1270
+ ],
1271
+ "params": [
1272
+ {
1273
+ "name": "bucketName",
1274
+ "type": "Value<string>",
1275
+ "required": false,
1276
+ "description": "`Value<string>`: a name is routinely built with `Sub`/`Ref` (#1366)."
1277
+ },
1278
+ {
1279
+ "name": "access",
1280
+ "type": "\"ReadOnly\" | \"ReadWrite\" | \"Full\"",
1281
+ "required": false
1282
+ },
1283
+ {
1284
+ "name": "trigger",
1285
+ "type": "{ events?: string[]; prefix?: string; suffix?: string; }",
1286
+ "required": false
1287
+ },
1288
+ {
1289
+ "name": "defaults",
1290
+ "type": "LambdaFunctionProps[\"defaults\"] & { bucket?: Partial<ConstructorParameters<typeof Bucket>[0]>; }",
1291
+ "required": false
1292
+ },
1293
+ {
1294
+ "name": "name",
1295
+ "type": "string | ReturnType<typeof Sub>",
1296
+ "required": true
1297
+ },
1298
+ {
1299
+ "name": "Runtime",
1300
+ "type": "string",
1301
+ "required": true
1302
+ },
1303
+ {
1304
+ "name": "Handler",
1305
+ "type": "string",
1306
+ "required": true
1307
+ },
1308
+ {
1309
+ "name": "Code",
1310
+ "type": "ConstructorParameters<typeof Function>[0][\"Code\"]",
1311
+ "required": true
1312
+ },
1313
+ {
1314
+ "name": "Timeout",
1315
+ "type": "number",
1316
+ "required": false
1317
+ },
1318
+ {
1319
+ "name": "MemorySize",
1320
+ "type": "number",
1321
+ "required": false
1322
+ },
1323
+ {
1324
+ "name": "Environment",
1325
+ "type": "ConstructorParameters<typeof Function>[0][\"Environment\"]",
1326
+ "required": false
1327
+ },
1328
+ {
1329
+ "name": "ManagedPolicyArns",
1330
+ "type": "string[]",
1331
+ "required": false
1332
+ },
1333
+ {
1334
+ "name": "Policies",
1335
+ "type": "InstanceType<typeof Role_Policy>[]",
1336
+ "required": false
1337
+ },
1338
+ {
1339
+ "name": "VpcConfig",
1340
+ "type": "ConstructorParameters<typeof Function_VpcConfig>[0]",
1341
+ "required": false
1342
+ }
1343
+ ]
1344
+ },
1345
+ {
1346
+ "name": "LambdaScheduled",
1347
+ "lexicon": "aws",
1348
+ "description": "A Lambda function run on a schedule by an EventBridge rule.",
1349
+ "bundles": [
1350
+ "EventRule",
1351
+ "Function",
1352
+ "Permission",
1353
+ "Role"
1354
+ ],
1355
+ "params": [
1356
+ {
1357
+ "name": "ruleName",
1358
+ "type": "Value<string>",
1359
+ "required": false,
1360
+ "description": "`Value<string>`: a name is routinely built with `Sub`/`Ref` (#1366)."
1361
+ },
1362
+ {
1363
+ "name": "schedule",
1364
+ "type": "string",
1365
+ "required": true
1366
+ },
1367
+ {
1368
+ "name": "enabled",
1369
+ "type": "boolean",
1370
+ "required": false
1371
+ },
1372
+ {
1373
+ "name": "defaults",
1374
+ "type": "LambdaFunctionProps[\"defaults\"] & { rule?: Partial<ConstructorParameters<typeof EventRule>[0]>; permission?: Partial<...",
1375
+ "required": false
1376
+ },
1377
+ {
1378
+ "name": "name",
1379
+ "type": "string | ReturnType<typeof Sub>",
1380
+ "required": true
1381
+ },
1382
+ {
1383
+ "name": "Runtime",
1384
+ "type": "string",
1385
+ "required": true
1386
+ },
1387
+ {
1388
+ "name": "Handler",
1389
+ "type": "string",
1390
+ "required": true
1391
+ },
1392
+ {
1393
+ "name": "Code",
1394
+ "type": "ConstructorParameters<typeof Function>[0][\"Code\"]",
1395
+ "required": true
1396
+ },
1397
+ {
1398
+ "name": "Timeout",
1399
+ "type": "number",
1400
+ "required": false
1401
+ },
1402
+ {
1403
+ "name": "MemorySize",
1404
+ "type": "number",
1405
+ "required": false
1406
+ },
1407
+ {
1408
+ "name": "Environment",
1409
+ "type": "ConstructorParameters<typeof Function>[0][\"Environment\"]",
1410
+ "required": false
1411
+ },
1412
+ {
1413
+ "name": "ManagedPolicyArns",
1414
+ "type": "string[]",
1415
+ "required": false
1416
+ },
1417
+ {
1418
+ "name": "Policies",
1419
+ "type": "InstanceType<typeof Role_Policy>[]",
1420
+ "required": false
1421
+ },
1422
+ {
1423
+ "name": "VpcConfig",
1424
+ "type": "ConstructorParameters<typeof Function_VpcConfig>[0]",
1425
+ "required": false
1426
+ }
1427
+ ]
1428
+ },
1429
+ {
1430
+ "name": "LambdaSns",
1431
+ "lexicon": "aws",
1432
+ "description": "A Lambda function subscribed to an SNS topic.",
1433
+ "bundles": [
1434
+ "Function",
1435
+ "Permission",
1436
+ "Role",
1437
+ "Subscription",
1438
+ "Topic"
1439
+ ],
1440
+ "params": [
1441
+ {
1442
+ "name": "topicName",
1443
+ "type": "Value<string>",
1444
+ "required": false,
1445
+ "description": "`Value<string>`: a name is routinely built with `Sub`/`Ref` (#1366)."
1446
+ },
1447
+ {
1448
+ "name": "defaults",
1449
+ "type": "LambdaFunctionProps[\"defaults\"] & { topic?: Partial<ConstructorParameters<typeof Topic>[0]>; subscription?: Partial<C...",
1450
+ "required": false
1451
+ },
1452
+ {
1453
+ "name": "name",
1454
+ "type": "string | ReturnType<typeof Sub>",
1455
+ "required": true
1456
+ },
1457
+ {
1458
+ "name": "Runtime",
1459
+ "type": "string",
1460
+ "required": true
1461
+ },
1462
+ {
1463
+ "name": "Handler",
1464
+ "type": "string",
1465
+ "required": true
1466
+ },
1467
+ {
1468
+ "name": "Code",
1469
+ "type": "ConstructorParameters<typeof Function>[0][\"Code\"]",
1470
+ "required": true
1471
+ },
1472
+ {
1473
+ "name": "Timeout",
1474
+ "type": "number",
1475
+ "required": false
1476
+ },
1477
+ {
1478
+ "name": "MemorySize",
1479
+ "type": "number",
1480
+ "required": false
1481
+ },
1482
+ {
1483
+ "name": "Environment",
1484
+ "type": "ConstructorParameters<typeof Function>[0][\"Environment\"]",
1485
+ "required": false
1486
+ },
1487
+ {
1488
+ "name": "ManagedPolicyArns",
1489
+ "type": "string[]",
1490
+ "required": false
1491
+ },
1492
+ {
1493
+ "name": "Policies",
1494
+ "type": "InstanceType<typeof Role_Policy>[]",
1495
+ "required": false
1496
+ },
1497
+ {
1498
+ "name": "VpcConfig",
1499
+ "type": "ConstructorParameters<typeof Function_VpcConfig>[0]",
1500
+ "required": false
1501
+ }
1502
+ ]
1503
+ },
1504
+ {
1505
+ "name": "LambdaSqs",
1506
+ "lexicon": "aws",
1507
+ "description": "A Lambda function fed by an SQS queue through an event source mapping.",
1508
+ "bundles": [
1509
+ "EventSourceMapping",
1510
+ "Function",
1511
+ "Queue",
1512
+ "Role"
1513
+ ],
1514
+ "params": [
1515
+ {
1516
+ "name": "queueName",
1517
+ "type": "Value<string>",
1518
+ "required": false,
1519
+ "description": "`Value<string>`: a name is routinely built with `Sub`/`Ref` (#1366)."
1520
+ },
1521
+ {
1522
+ "name": "batchSize",
1523
+ "type": "number",
1524
+ "required": false
1525
+ },
1526
+ {
1527
+ "name": "maxBatchingWindow",
1528
+ "type": "number",
1529
+ "required": false
1530
+ },
1531
+ {
1532
+ "name": "defaults",
1533
+ "type": "LambdaFunctionProps[\"defaults\"] & { queue?: Partial<ConstructorParameters<typeof Queue>[0]>; eventSourceMapping?: Par...",
1534
+ "required": false
1535
+ },
1536
+ {
1537
+ "name": "name",
1538
+ "type": "string | ReturnType<typeof Sub>",
1539
+ "required": true
1540
+ },
1541
+ {
1542
+ "name": "Runtime",
1543
+ "type": "string",
1544
+ "required": true
1545
+ },
1546
+ {
1547
+ "name": "Handler",
1548
+ "type": "string",
1549
+ "required": true
1550
+ },
1551
+ {
1552
+ "name": "Code",
1553
+ "type": "ConstructorParameters<typeof Function>[0][\"Code\"]",
1554
+ "required": true
1555
+ },
1556
+ {
1557
+ "name": "Timeout",
1558
+ "type": "number",
1559
+ "required": false
1560
+ },
1561
+ {
1562
+ "name": "MemorySize",
1563
+ "type": "number",
1564
+ "required": false
1565
+ },
1566
+ {
1567
+ "name": "Environment",
1568
+ "type": "ConstructorParameters<typeof Function>[0][\"Environment\"]",
1569
+ "required": false
1570
+ },
1571
+ {
1572
+ "name": "ManagedPolicyArns",
1573
+ "type": "string[]",
1574
+ "required": false
1575
+ },
1576
+ {
1577
+ "name": "Policies",
1578
+ "type": "InstanceType<typeof Role_Policy>[]",
1579
+ "required": false
1580
+ },
1581
+ {
1582
+ "name": "VpcConfig",
1583
+ "type": "ConstructorParameters<typeof Function_VpcConfig>[0]",
1584
+ "required": false
1585
+ }
1586
+ ]
1587
+ },
1588
+ {
1589
+ "name": "MicrovmApp",
1590
+ "lexicon": "aws",
1591
+ "description": "MicrovmApp — composite-first delivery of AWS Lambda MicroVM support (#879).",
1592
+ "bundles": [
1593
+ "MicrovmImage",
1594
+ "NetworkConnector",
1595
+ "Role",
1596
+ "SecurityGroup"
1597
+ ],
1598
+ "params": [
1599
+ {
1600
+ "name": "name",
1601
+ "type": "string",
1602
+ "required": true,
1603
+ "description": "Unique image name (`^[a-zA-Z0-9-_]+$`, ≤64 chars)."
1604
+ },
1605
+ {
1606
+ "name": "description",
1607
+ "type": "string",
1608
+ "required": false,
1609
+ "description": "Human-readable description."
1610
+ },
1611
+ {
1612
+ "name": "codeArtifactUri",
1613
+ "type": "string",
1614
+ "required": true,
1615
+ "description": "The `CodeArtifact.Uri` value CloudFormation wants — e.g. the `uri` a `publish-artifact` step produced (`\"@Publish.uri\"`, wired in by the driver)."
1616
+ },
1617
+ {
1618
+ "name": "codeArtifactObjectArn",
1619
+ "type": "string",
1620
+ "required": true,
1621
+ "description": "Exact S3 object ARN of the code artifact, for the build role's `s3:GetObject` grant."
1622
+ },
1623
+ {
1624
+ "name": "baseImage",
1625
+ "type": "string",
1626
+ "required": true,
1627
+ "description": "AWS-managed base image alias (e.g. `\"al2023-1\"`) or a full base-image ARN."
1628
+ },
1629
+ {
1630
+ "name": "baseImageVersion",
1631
+ "type": "string",
1632
+ "required": false,
1633
+ "description": "Base image version to pin."
1634
+ },
1635
+ {
1636
+ "name": "memoryMiB",
1637
+ "type": "MicrovmMemoryMiB",
1638
+ "required": false,
1639
+ "description": "Baseline memory tier in MiB — one of the five documented tiers; vCPU auto-scales with it."
1640
+ },
1641
+ {
1642
+ "name": "environment",
1643
+ "type": "Record<string, string>",
1644
+ "required": false,
1645
+ "description": "Env vars baked into the image at build time (max 50) — snapshotted and shared by every VM booted from this image."
1646
+ },
1647
+ {
1648
+ "name": "additionalOsCapabilities",
1649
+ "type": "\"ALL\"[]",
1650
+ "required": false,
1651
+ "description": "Opt into `\"ALL\"` additional OS capabilities — a documented privilege escalation."
1652
+ },
1653
+ {
1654
+ "name": "disableLogging",
1655
+ "type": "boolean",
1656
+ "required": false,
1657
+ "description": "Disable CloudWatch build/runtime logging entirely."
1658
+ },
1659
+ {
1660
+ "name": "hooks",
1661
+ "type": "ConstructorParameters<typeof MicrovmImage_Hooks>[0]",
1662
+ "required": false,
1663
+ "description": "Lifecycle hooks — all default to disabled (traffic flows immediately)."
1664
+ },
1665
+ {
1666
+ "name": "buildConnector",
1667
+ "type": "MicrovmAppBuildConnectorProps",
1668
+ "required": false,
1669
+ "description": "Build-time egress: attach a `NetworkConnector` (+ its deny-all-egress security group + least-privilege ENI operator role) so the image build can reach a VPC..."
1670
+ },
1671
+ {
1672
+ "name": "additionalEgressConnectors",
1673
+ "type": "string[]",
1674
+ "required": false,
1675
+ "description": "Extra egress connector ARNs to bake in alongside the one this composite creates (e.g. an AWS-managed `INTERNET_EGRESS` alias, or a pre-existing shared..."
1676
+ },
1677
+ {
1678
+ "name": "defaults",
1679
+ "type": "{ buildRole?: Partial<ConstructorParameters<typeof Role>[0]>; executionRole?: Partial<ConstructorParameters<typeof Ro...",
1680
+ "required": false
1681
+ }
1682
+ ]
1683
+ },
1684
+ {
1685
+ "name": "MinimalVpc",
1686
+ "lexicon": "aws",
1687
+ "description": "A VPC with one public subnet, an internet gateway, a public route and a security group.",
1688
+ "bundles": [
1689
+ "EC2Route",
1690
+ "InternetGateway",
1691
+ "RouteTable",
1692
+ "SecurityGroup",
1693
+ "Subnet",
1694
+ "SubnetRouteTableAssociation",
1695
+ "VPCGatewayAttachment",
1696
+ "Vpc"
1697
+ ],
1698
+ "params": [
1699
+ {
1700
+ "name": "cidr",
1701
+ "type": "string",
1702
+ "required": false
1703
+ },
1704
+ {
1705
+ "name": "subnetCidr",
1706
+ "type": "string",
1707
+ "required": false
1708
+ },
1709
+ {
1710
+ "name": "defaults",
1711
+ "type": "{ vpc?: Partial<ConstructorParameters<typeof Vpc>[0]>; subnet?: Partial<ConstructorParameters<typeof Subnet>[0]>; sec...",
1712
+ "required": false
1713
+ }
1714
+ ]
1715
+ },
1716
+ {
1717
+ "name": "MonitoringStack",
1718
+ "lexicon": "aws",
1719
+ "description": "MonitoringStack — a CloudWatch dashboard wired to up to three named metrics, with an optional alarm per metric.",
1720
+ "bundles": [
1721
+ "Alarm",
1722
+ "CwDashboard"
1723
+ ],
1724
+ "params": [
1725
+ {
1726
+ "name": "dashboardName",
1727
+ "type": "Value<string>",
1728
+ "required": false,
1729
+ "description": "`Value<string>`: a name is routinely built with `Sub`/`Ref` (#1366)."
1730
+ },
1731
+ {
1732
+ "name": "metric1",
1733
+ "type": "MonitoringMetricSpec",
1734
+ "required": true
1735
+ },
1736
+ {
1737
+ "name": "metric2",
1738
+ "type": "MonitoringMetricSpec",
1739
+ "required": false
1740
+ },
1741
+ {
1742
+ "name": "metric3",
1743
+ "type": "MonitoringMetricSpec",
1744
+ "required": false
1745
+ },
1746
+ {
1747
+ "name": "tags",
1748
+ "type": "Array<{ Key: string; Value: string }>",
1749
+ "required": false
1750
+ },
1751
+ {
1752
+ "name": "defaults",
1753
+ "type": "{ dashboard?: Partial<ConstructorParameters<typeof CwDashboard>[0]>; alarm1?: Partial<ConstructorParameters<typeof Al...",
1754
+ "required": false
1755
+ }
1756
+ ]
1757
+ },
1758
+ {
1759
+ "name": "NlbService",
1760
+ "lexicon": "aws",
1761
+ "description": "A Network Load Balancer with a target group and listener.",
1762
+ "bundles": [
1763
+ "Listener",
1764
+ "LoadBalancer",
1765
+ "TargetGroup"
1766
+ ],
1767
+ "params": [
1768
+ {
1769
+ "name": "vpcId",
1770
+ "type": "string",
1771
+ "required": true
1772
+ },
1773
+ {
1774
+ "name": "subnetIds",
1775
+ "type": "string[]",
1776
+ "required": true
1777
+ },
1778
+ {
1779
+ "name": "listenerPort",
1780
+ "type": "number",
1781
+ "required": false
1782
+ },
1783
+ {
1784
+ "name": "targetPort",
1785
+ "type": "number",
1786
+ "required": false,
1787
+ "description": "Port the target group forwards traffic to."
1788
+ },
1789
+ {
1790
+ "name": "protocol",
1791
+ "type": "\"TCP\" | \"UDP\" | \"TLS\" | \"TCP_UDP\"",
1792
+ "required": false,
1793
+ "description": "Listener + target group protocol."
1794
+ },
1795
+ {
1796
+ "name": "scheme",
1797
+ "type": "\"internet-facing\" | \"internal\"",
1798
+ "required": false
1799
+ },
1800
+ {
1801
+ "name": "targetType",
1802
+ "type": "\"instance\" | \"ip\" | \"alb\"",
1803
+ "required": false,
1804
+ "description": "Target group target type."
1805
+ },
1806
+ {
1807
+ "name": "targets",
1808
+ "type": "Array<{ id: string; port?: number; availabilityZone?: string }>",
1809
+ "required": false,
1810
+ "description": "Static targets to register at creation time (instance IDs, IPs, or an ALB ARN depending on `targetType`)."
1811
+ },
1812
+ {
1813
+ "name": "certificateArn",
1814
+ "type": "string",
1815
+ "required": false,
1816
+ "description": "ACM certificate ARN."
1817
+ },
1818
+ {
1819
+ "name": "healthCheckProtocol",
1820
+ "type": "\"TCP\" | \"HTTP\" | \"HTTPS\"",
1821
+ "required": false
1822
+ },
1823
+ {
1824
+ "name": "healthCheckPort",
1825
+ "type": "string",
1826
+ "required": false
1827
+ },
1828
+ {
1829
+ "name": "healthCheckPath",
1830
+ "type": "string",
1831
+ "required": false,
1832
+ "description": "Only meaningful when `healthCheckProtocol` is `HTTP` or `HTTPS`."
1833
+ },
1834
+ {
1835
+ "name": "defaults",
1836
+ "type": "{ nlb?: Partial<ConstructorParameters<typeof LoadBalancer>[0]>; targetGroup?: Partial<ConstructorParameters<typeof Ta...",
1837
+ "required": false
1838
+ }
1839
+ ]
1840
+ },
1841
+ {
1842
+ "name": "NodeLambda",
1843
+ "lexicon": "aws",
1844
+ "description": "Deprecated: Use `LambdaNode` instead.",
1845
+ "bundles": [
1846
+ "Function",
1847
+ "Role"
1848
+ ],
1849
+ "params": [
1850
+ {
1851
+ "name": "ManagedPolicyArns",
1852
+ "type": "string[]",
1853
+ "required": false
1854
+ },
1855
+ {
1856
+ "name": "Policies",
1857
+ "type": "InstanceType<typeof Role_Policy>[]",
1858
+ "required": false
1859
+ },
1860
+ {
1861
+ "name": "defaults",
1862
+ "type": "{ role?: Partial<ConstructorParameters<typeof Role>[0]>; func?: Partial<ConstructorParameters<typeof Function>[0]>; }",
1863
+ "required": false
1864
+ },
1865
+ {
1866
+ "name": "Code",
1867
+ "type": "ConstructorParameters<typeof Function>[0][\"Code\"]",
1868
+ "required": true
1869
+ },
1870
+ {
1871
+ "name": "Timeout",
1872
+ "type": "number",
1873
+ "required": false
1874
+ },
1875
+ {
1876
+ "name": "MemorySize",
1877
+ "type": "number",
1878
+ "required": false
1879
+ },
1880
+ {
1881
+ "name": "Environment",
1882
+ "type": "ConstructorParameters<typeof Function>[0][\"Environment\"]",
1883
+ "required": false
1884
+ },
1885
+ {
1886
+ "name": "VpcConfig",
1887
+ "type": "ConstructorParameters<typeof Function_VpcConfig>[0]",
1888
+ "required": false
1889
+ },
1890
+ {
1891
+ "name": "name",
1892
+ "type": "string | ReturnType<typeof Sub>",
1893
+ "required": true
1894
+ },
1895
+ {
1896
+ "name": "Handler",
1897
+ "type": "string",
1898
+ "required": false
1899
+ },
1900
+ {
1901
+ "name": "Runtime",
1902
+ "type": "string",
1903
+ "required": false
1904
+ }
1905
+ ]
1906
+ },
1907
+ {
1908
+ "name": "OrganizationRoot",
1909
+ "lexicon": "aws",
1910
+ "description": "Creates the organization itself.",
1911
+ "bundles": [
1912
+ "Organization"
1913
+ ],
1914
+ "params": [
1915
+ {
1916
+ "name": "featureSet",
1917
+ "type": "\"ALL\" | \"CONSOLIDATED_BILLING\"",
1918
+ "required": false
1919
+ }
1920
+ ]
1921
+ },
1922
+ {
1923
+ "name": "OrganizationTrail",
1924
+ "lexicon": "aws",
1925
+ "description": "An organization-wide CloudTrail trail.",
1926
+ "bundles": [
1927
+ "Trail"
1928
+ ],
1929
+ "params": [
1930
+ {
1931
+ "name": "bucket",
1932
+ "type": "string",
1933
+ "required": true,
1934
+ "description": "S3 bucket the organization trail delivers into."
1935
+ }
1936
+ ]
1937
+ },
1938
+ {
1939
+ "name": "PythonLambda",
1940
+ "lexicon": "aws",
1941
+ "description": "Deprecated: Use `LambdaPython` instead.",
1942
+ "bundles": [
1943
+ "Function",
1944
+ "Role"
1945
+ ],
1946
+ "params": [
1947
+ {
1948
+ "name": "ManagedPolicyArns",
1949
+ "type": "string[]",
1950
+ "required": false
1951
+ },
1952
+ {
1953
+ "name": "Policies",
1954
+ "type": "InstanceType<typeof Role_Policy>[]",
1955
+ "required": false
1956
+ },
1957
+ {
1958
+ "name": "defaults",
1959
+ "type": "{ role?: Partial<ConstructorParameters<typeof Role>[0]>; func?: Partial<ConstructorParameters<typeof Function>[0]>; }",
1960
+ "required": false
1961
+ },
1962
+ {
1963
+ "name": "Code",
1964
+ "type": "ConstructorParameters<typeof Function>[0][\"Code\"]",
1965
+ "required": true
1966
+ },
1967
+ {
1968
+ "name": "Timeout",
1969
+ "type": "number",
1970
+ "required": false
1971
+ },
1972
+ {
1973
+ "name": "MemorySize",
1974
+ "type": "number",
1975
+ "required": false
1976
+ },
1977
+ {
1978
+ "name": "Environment",
1979
+ "type": "ConstructorParameters<typeof Function>[0][\"Environment\"]",
1980
+ "required": false
1981
+ },
1982
+ {
1983
+ "name": "VpcConfig",
1984
+ "type": "ConstructorParameters<typeof Function_VpcConfig>[0]",
1985
+ "required": false
1986
+ },
1987
+ {
1988
+ "name": "name",
1989
+ "type": "string | ReturnType<typeof Sub>",
1990
+ "required": true
1991
+ },
1992
+ {
1993
+ "name": "Handler",
1994
+ "type": "string",
1995
+ "required": false
1996
+ },
1997
+ {
1998
+ "name": "Runtime",
1999
+ "type": "string",
2000
+ "required": false
2001
+ }
2002
+ ]
2003
+ },
2004
+ {
2005
+ "name": "RdsInstance",
2006
+ "lexicon": "aws",
2007
+ "description": "An RDS database instance with its subnet group, parameter group and security group, defaulting to PostgreSQL.",
2008
+ "bundles": [
2009
+ "DbInstance",
2010
+ "RDSDBParameterGroup",
2011
+ "RDSDBSubnetGroup",
2012
+ "SecurityGroup"
2013
+ ],
2014
+ "params": [
2015
+ {
2016
+ "name": "engine",
2017
+ "type": "\"postgres\" | \"mysql\" | \"mariadb\"",
2018
+ "required": false
2019
+ },
2020
+ {
2021
+ "name": "vpcId",
2022
+ "type": "string",
2023
+ "required": true
2024
+ },
2025
+ {
2026
+ "name": "subnetIds",
2027
+ "type": "string[]",
2028
+ "required": true
2029
+ },
2030
+ {
2031
+ "name": "ingressSourceSG",
2032
+ "type": "string",
2033
+ "required": false
2034
+ },
2035
+ {
2036
+ "name": "ingressCidr",
2037
+ "type": "string",
2038
+ "required": false
2039
+ },
2040
+ {
2041
+ "name": "port",
2042
+ "type": "number",
2043
+ "required": false
2044
+ },
2045
+ {
2046
+ "name": "publiclyAccessible",
2047
+ "type": "boolean",
2048
+ "required": false
2049
+ },
2050
+ {
2051
+ "name": "masterUsername",
2052
+ "type": "string",
2053
+ "required": false
2054
+ },
2055
+ {
2056
+ "name": "masterPassword",
2057
+ "type": "string",
2058
+ "required": true
2059
+ },
2060
+ {
2061
+ "name": "engineVersion",
2062
+ "type": "string",
2063
+ "required": false
2064
+ },
2065
+ {
2066
+ "name": "databaseName",
2067
+ "type": "string",
2068
+ "required": false
2069
+ },
2070
+ {
2071
+ "name": "instanceClass",
2072
+ "type": "string",
2073
+ "required": false
2074
+ },
2075
+ {
2076
+ "name": "allocatedStorage",
2077
+ "type": "number",
2078
+ "required": false
2079
+ },
2080
+ {
2081
+ "name": "storageType",
2082
+ "type": "string",
2083
+ "required": false
2084
+ },
2085
+ {
2086
+ "name": "maxAllocatedStorage",
2087
+ "type": "number",
2088
+ "required": false
2089
+ },
2090
+ {
2091
+ "name": "multiAZ",
2092
+ "type": "boolean",
2093
+ "required": false
2094
+ },
2095
+ {
2096
+ "name": "storageEncrypted",
2097
+ "type": "boolean",
2098
+ "required": false
2099
+ },
2100
+ {
2101
+ "name": "kmsKeyId",
2102
+ "type": "string",
2103
+ "required": false
2104
+ },
2105
+ {
2106
+ "name": "backupRetentionPeriod",
2107
+ "type": "number",
2108
+ "required": false
2109
+ },
2110
+ {
2111
+ "name": "preferredBackupWindow",
2112
+ "type": "string",
2113
+ "required": false
2114
+ },
2115
+ {
2116
+ "name": "copyTagsToSnapshot",
2117
+ "type": "boolean",
2118
+ "required": false
2119
+ },
2120
+ {
2121
+ "name": "preferredMaintenanceWindow",
2122
+ "type": "string",
2123
+ "required": false
2124
+ },
2125
+ {
2126
+ "name": "autoMinorVersionUpgrade",
2127
+ "type": "boolean",
2128
+ "required": false
2129
+ },
2130
+ {
2131
+ "name": "enableCloudwatchLogs",
2132
+ "type": "boolean",
2133
+ "required": false
2134
+ },
2135
+ {
2136
+ "name": "enablePerformanceInsights",
2137
+ "type": "boolean",
2138
+ "required": false
2139
+ },
2140
+ {
2141
+ "name": "performanceInsightsRetentionPeriod",
2142
+ "type": "number",
2143
+ "required": false
2144
+ },
2145
+ {
2146
+ "name": "parameterGroupFamily",
2147
+ "type": "string",
2148
+ "required": false
2149
+ },
2150
+ {
2151
+ "name": "parameters",
2152
+ "type": "Record<string, string>",
2153
+ "required": false
2154
+ },
2155
+ {
2156
+ "name": "deletionProtection",
2157
+ "type": "boolean",
2158
+ "required": false
2159
+ },
2160
+ {
2161
+ "name": "defaults",
2162
+ "type": "{ subnetGroup?: Partial<ConstructorParameters<typeof RDSDBSubnetGroup>[0]>; sg?: Partial<ConstructorParameters<typeof...",
2163
+ "required": false
2164
+ }
2165
+ ]
2166
+ },
2167
+ {
2168
+ "name": "RdsPostgres",
2169
+ "lexicon": "aws",
2170
+ "description": "An RDS database instance with its subnet group, parameter group and security group, defaulting to PostgreSQL. Another name for RdsInstance.",
2171
+ "bundles": [
2172
+ "DbInstance",
2173
+ "RDSDBParameterGroup",
2174
+ "RDSDBSubnetGroup",
2175
+ "SecurityGroup"
2176
+ ],
2177
+ "params": [
2178
+ {
2179
+ "name": "engine",
2180
+ "type": "\"postgres\" | \"mysql\" | \"mariadb\"",
2181
+ "required": false
2182
+ },
2183
+ {
2184
+ "name": "vpcId",
2185
+ "type": "string",
2186
+ "required": true
2187
+ },
2188
+ {
2189
+ "name": "subnetIds",
2190
+ "type": "string[]",
2191
+ "required": true
2192
+ },
2193
+ {
2194
+ "name": "ingressSourceSG",
2195
+ "type": "string",
2196
+ "required": false
2197
+ },
2198
+ {
2199
+ "name": "ingressCidr",
2200
+ "type": "string",
2201
+ "required": false
2202
+ },
2203
+ {
2204
+ "name": "port",
2205
+ "type": "number",
2206
+ "required": false
2207
+ },
2208
+ {
2209
+ "name": "publiclyAccessible",
2210
+ "type": "boolean",
2211
+ "required": false
2212
+ },
2213
+ {
2214
+ "name": "masterUsername",
2215
+ "type": "string",
2216
+ "required": false
2217
+ },
2218
+ {
2219
+ "name": "masterPassword",
2220
+ "type": "string",
2221
+ "required": true
2222
+ },
2223
+ {
2224
+ "name": "engineVersion",
2225
+ "type": "string",
2226
+ "required": false
2227
+ },
2228
+ {
2229
+ "name": "databaseName",
2230
+ "type": "string",
2231
+ "required": false
2232
+ },
2233
+ {
2234
+ "name": "instanceClass",
2235
+ "type": "string",
2236
+ "required": false
2237
+ },
2238
+ {
2239
+ "name": "allocatedStorage",
2240
+ "type": "number",
2241
+ "required": false
2242
+ },
2243
+ {
2244
+ "name": "storageType",
2245
+ "type": "string",
2246
+ "required": false
2247
+ },
2248
+ {
2249
+ "name": "maxAllocatedStorage",
2250
+ "type": "number",
2251
+ "required": false
2252
+ },
2253
+ {
2254
+ "name": "multiAZ",
2255
+ "type": "boolean",
2256
+ "required": false
2257
+ },
2258
+ {
2259
+ "name": "storageEncrypted",
2260
+ "type": "boolean",
2261
+ "required": false
2262
+ },
2263
+ {
2264
+ "name": "kmsKeyId",
2265
+ "type": "string",
2266
+ "required": false
2267
+ },
2268
+ {
2269
+ "name": "backupRetentionPeriod",
2270
+ "type": "number",
2271
+ "required": false
2272
+ },
2273
+ {
2274
+ "name": "preferredBackupWindow",
2275
+ "type": "string",
2276
+ "required": false
2277
+ },
2278
+ {
2279
+ "name": "copyTagsToSnapshot",
2280
+ "type": "boolean",
2281
+ "required": false
2282
+ },
2283
+ {
2284
+ "name": "preferredMaintenanceWindow",
2285
+ "type": "string",
2286
+ "required": false
2287
+ },
2288
+ {
2289
+ "name": "autoMinorVersionUpgrade",
2290
+ "type": "boolean",
2291
+ "required": false
2292
+ },
2293
+ {
2294
+ "name": "enableCloudwatchLogs",
2295
+ "type": "boolean",
2296
+ "required": false
2297
+ },
2298
+ {
2299
+ "name": "enablePerformanceInsights",
2300
+ "type": "boolean",
2301
+ "required": false
2302
+ },
2303
+ {
2304
+ "name": "performanceInsightsRetentionPeriod",
2305
+ "type": "number",
2306
+ "required": false
2307
+ },
2308
+ {
2309
+ "name": "parameterGroupFamily",
2310
+ "type": "string",
2311
+ "required": false
2312
+ },
2313
+ {
2314
+ "name": "parameters",
2315
+ "type": "Record<string, string>",
2316
+ "required": false
2317
+ },
2318
+ {
2319
+ "name": "deletionProtection",
2320
+ "type": "boolean",
2321
+ "required": false
2322
+ },
2323
+ {
2324
+ "name": "defaults",
2325
+ "type": "{ subnetGroup?: Partial<ConstructorParameters<typeof RDSDBSubnetGroup>[0]>; sg?: Partial<ConstructorParameters<typeof...",
2326
+ "required": false
2327
+ }
2328
+ ]
2329
+ },
2330
+ {
2331
+ "name": "RegionRestriction",
2332
+ "lexicon": "aws",
2333
+ "description": "A service control policy that denies requests outside the listed regions.",
2334
+ "bundles": [
2335
+ "OrganizationsPolicy"
2336
+ ],
2337
+ "params": [
2338
+ {
2339
+ "name": "regions",
2340
+ "type": "string[]",
2341
+ "required": true,
2342
+ "description": "The only regions requests may target (global services excepted)."
2343
+ },
2344
+ {
2345
+ "name": "targetIds",
2346
+ "type": "string[]",
2347
+ "required": true,
2348
+ "description": "Root/OU ids the SCP attaches to."
2349
+ }
2350
+ ]
2351
+ },
2352
+ {
2353
+ "name": "ScheduledLambda",
2354
+ "lexicon": "aws",
2355
+ "description": "Deprecated: Use `LambdaScheduled` instead.",
2356
+ "bundles": [
2357
+ "EventRule",
2358
+ "Function",
2359
+ "Permission",
2360
+ "Role"
2361
+ ],
2362
+ "params": [
2363
+ {
2364
+ "name": "ruleName",
2365
+ "type": "Value<string>",
2366
+ "required": false,
2367
+ "description": "`Value<string>`: a name is routinely built with `Sub`/`Ref` (#1366)."
2368
+ },
2369
+ {
2370
+ "name": "schedule",
2371
+ "type": "string",
2372
+ "required": true
2373
+ },
2374
+ {
2375
+ "name": "enabled",
2376
+ "type": "boolean",
2377
+ "required": false
2378
+ },
2379
+ {
2380
+ "name": "defaults",
2381
+ "type": "LambdaFunctionProps[\"defaults\"] & { rule?: Partial<ConstructorParameters<typeof EventRule>[0]>; permission?: Partial<...",
2382
+ "required": false
2383
+ },
2384
+ {
2385
+ "name": "name",
2386
+ "type": "string | ReturnType<typeof Sub>",
2387
+ "required": true
2388
+ },
2389
+ {
2390
+ "name": "Runtime",
2391
+ "type": "string",
2392
+ "required": true
2393
+ },
2394
+ {
2395
+ "name": "Handler",
2396
+ "type": "string",
2397
+ "required": true
2398
+ },
2399
+ {
2400
+ "name": "Code",
2401
+ "type": "ConstructorParameters<typeof Function>[0][\"Code\"]",
2402
+ "required": true
2403
+ },
2404
+ {
2405
+ "name": "Timeout",
2406
+ "type": "number",
2407
+ "required": false
2408
+ },
2409
+ {
2410
+ "name": "MemorySize",
2411
+ "type": "number",
2412
+ "required": false
2413
+ },
2414
+ {
2415
+ "name": "Environment",
2416
+ "type": "ConstructorParameters<typeof Function>[0][\"Environment\"]",
2417
+ "required": false
2418
+ },
2419
+ {
2420
+ "name": "ManagedPolicyArns",
2421
+ "type": "string[]",
2422
+ "required": false
2423
+ },
2424
+ {
2425
+ "name": "Policies",
2426
+ "type": "InstanceType<typeof Role_Policy>[]",
2427
+ "required": false
2428
+ },
2429
+ {
2430
+ "name": "VpcConfig",
2431
+ "type": "ConstructorParameters<typeof Function_VpcConfig>[0]",
2432
+ "required": false
2433
+ }
2434
+ ]
2435
+ },
2436
+ {
2437
+ "name": "SolrFargateService",
2438
+ "lexicon": "aws",
2439
+ "description": "A FargateService preset for Apache Solr, with JVM heap and GC settings.",
2440
+ "bundles": [
2441
+ "ApplicationAutoScalingScalingPolicy",
2442
+ "EcsService",
2443
+ "ListenerRule",
2444
+ "LogGroup",
2445
+ "Role",
2446
+ "ScalableTarget",
2447
+ "SecurityGroup",
2448
+ "TargetGroup",
2449
+ "TaskDefinition"
2450
+ ],
2451
+ "params": [
2452
+ {
2453
+ "name": "solrHeap",
2454
+ "type": "string",
2455
+ "required": false,
2456
+ "description": "JVM heap size passed as SOLR_HEAP."
2457
+ },
2458
+ {
2459
+ "name": "gcOpts",
2460
+ "type": "string",
2461
+ "required": false,
2462
+ "description": "GC tuning string passed as GC_TUNE."
2463
+ },
2464
+ {
2465
+ "name": "clusterArn",
2466
+ "type": "Value<string>",
2467
+ "required": true
2468
+ },
2469
+ {
2470
+ "name": "listenerArn",
2471
+ "type": "Value<string>",
2472
+ "required": true
2473
+ },
2474
+ {
2475
+ "name": "albSecurityGroupId",
2476
+ "type": "Value<string>",
2477
+ "required": true
2478
+ },
2479
+ {
2480
+ "name": "executionRoleArn",
2481
+ "type": "Value<string>",
2482
+ "required": true
2483
+ },
2484
+ {
2485
+ "name": "priority",
2486
+ "type": "number",
2487
+ "required": true
2488
+ },
2489
+ {
2490
+ "name": "pathPatterns",
2491
+ "type": "string[]",
2492
+ "required": false
2493
+ },
2494
+ {
2495
+ "name": "hostHeaders",
2496
+ "type": "string[]",
2497
+ "required": false
2498
+ },
2499
+ {
2500
+ "name": "image",
2501
+ "type": "Value<string>",
2502
+ "required": true
2503
+ },
2504
+ {
2505
+ "name": "containerPort",
2506
+ "type": "number",
2507
+ "required": false
2508
+ },
2509
+ {
2510
+ "name": "cpu",
2511
+ "type": "string",
2512
+ "required": false
2513
+ },
2514
+ {
2515
+ "name": "memory",
2516
+ "type": "string",
2517
+ "required": false
2518
+ },
2519
+ {
2520
+ "name": "desiredCount",
2521
+ "type": "number",
2522
+ "required": false
2523
+ },
2524
+ {
2525
+ "name": "autoscaling",
2526
+ "type": "{ minCapacity?: number; maxCapacity: number; cpuTarget?: number; scaleInCooldown?: number; scaleOutCooldown?: number; }",
2527
+ "required": false
2528
+ },
2529
+ {
2530
+ "name": "environment",
2531
+ "type": "Record<string, string>",
2532
+ "required": false
2533
+ },
2534
+ {
2535
+ "name": "command",
2536
+ "type": "string[]",
2537
+ "required": false
2538
+ },
2539
+ {
2540
+ "name": "mountPoints",
2541
+ "type": "InstanceType<typeof TaskDefinition_MountPoint>[]",
2542
+ "required": false
2543
+ },
2544
+ {
2545
+ "name": "efsMounts",
2546
+ "type": "Array<{ fileSystemId: string; accessPointId?: string; containerPath: string; volumeName?: string; transitEncryption?:...",
2547
+ "required": false
2548
+ },
2549
+ {
2550
+ "name": "vpcId",
2551
+ "type": "Value<string>",
2552
+ "required": true
2553
+ },
2554
+ {
2555
+ "name": "privateSubnetIds",
2556
+ "type": "Array<Value<string>>",
2557
+ "required": true
2558
+ },
2559
+ {
2560
+ "name": "healthCheckPath",
2561
+ "type": "string",
2562
+ "required": false
2563
+ },
2564
+ {
2565
+ "name": "ulimits",
2566
+ "type": "Array<{ name: string; softLimit: number; hardLimit: number }>",
2567
+ "required": false
2568
+ },
2569
+ {
2570
+ "name": "ManagedPolicyArns",
2571
+ "type": "string[]",
2572
+ "required": false
2573
+ },
2574
+ {
2575
+ "name": "Policies",
2576
+ "type": "InstanceType<typeof Role_Policy>[]",
2577
+ "required": false
2578
+ },
2579
+ {
2580
+ "name": "logRetentionDays",
2581
+ "type": "number",
2582
+ "required": false
2583
+ },
2584
+ {
2585
+ "name": "defaults",
2586
+ "type": "{ taskRole?: Partial<ConstructorParameters<typeof Role>[0]>; taskDef?: Partial<ConstructorParameters<typeof TaskDefin...",
2587
+ "required": false
2588
+ }
2589
+ ]
2590
+ },
2591
+ {
2592
+ "name": "StepFunctionsWorkflow",
2593
+ "lexicon": "aws",
2594
+ "description": "A Step Functions state machine with its execution role and a log group.",
2595
+ "bundles": [
2596
+ "LogGroup",
2597
+ "Role",
2598
+ "StateMachine"
2599
+ ],
2600
+ "params": [
2601
+ {
2602
+ "name": "name",
2603
+ "type": "Value<string>",
2604
+ "required": false,
2605
+ "description": "`Value<string>`: a name is routinely built with `Sub`/`Ref` (#1366)."
2606
+ },
2607
+ {
2608
+ "name": "definition",
2609
+ "type": "Record<string, unknown>",
2610
+ "required": true,
2611
+ "description": "ASL state machine definition, authored as a plain object."
2612
+ },
2613
+ {
2614
+ "name": "lambdaFunctionArns",
2615
+ "type": "Value<string>[]",
2616
+ "required": false,
2617
+ "description": "ARNs of the Lambda functions this workflow's tasks invoke; grants `lambda:InvokeFunction` on each."
2618
+ },
2619
+ {
2620
+ "name": "stateMachineType",
2621
+ "type": "\"STANDARD\" | \"EXPRESS\"",
2622
+ "required": false
2623
+ },
2624
+ {
2625
+ "name": "logRetentionDays",
2626
+ "type": "number",
2627
+ "required": false,
2628
+ "description": "CloudWatch Logs retention for the auto-created log group."
2629
+ },
2630
+ {
2631
+ "name": "loggingLevel",
2632
+ "type": "\"ALL\" | \"ERROR\" | \"FATAL\" | \"OFF\"",
2633
+ "required": false,
2634
+ "description": "`LoggingConfiguration` level."
2635
+ },
2636
+ {
2637
+ "name": "ManagedPolicyArns",
2638
+ "type": "string[]",
2639
+ "required": false
2640
+ },
2641
+ {
2642
+ "name": "Policies",
2643
+ "type": "InstanceType<typeof Role_Policy>[]",
2644
+ "required": false
2645
+ },
2646
+ {
2647
+ "name": "defaults",
2648
+ "type": "{ role?: Partial<ConstructorParameters<typeof Role>[0]>; logGroup?: Partial<ConstructorParameters<typeof LogGroup>[0]...",
2649
+ "required": false
2650
+ }
2651
+ ]
2652
+ },
2653
+ {
2654
+ "name": "VpcDefault",
2655
+ "lexicon": "aws",
2656
+ "description": "A VPC across two or three availability zones with public and private subnets, an internet gateway, a NAT gateway and their route tables.",
2657
+ "bundles": [
2658
+ "EC2Route",
2659
+ "EIP",
2660
+ "InternetGateway",
2661
+ "NatGateway",
2662
+ "RouteTable",
2663
+ "Subnet",
2664
+ "SubnetRouteTableAssociation",
2665
+ "VPCGatewayAttachment",
2666
+ "Vpc"
2667
+ ],
2668
+ "params": [
2669
+ {
2670
+ "name": "cidr",
2671
+ "type": "string",
2672
+ "required": false
2673
+ },
2674
+ {
2675
+ "name": "azCount",
2676
+ "type": "2 | 3",
2677
+ "required": false,
2678
+ "description": "Number of availability zones (2 or 3, default: 2)."
2679
+ },
2680
+ {
2681
+ "name": "publicSubnet1Cidr",
2682
+ "type": "string",
2683
+ "required": false
2684
+ },
2685
+ {
2686
+ "name": "publicSubnet2Cidr",
2687
+ "type": "string",
2688
+ "required": false
2689
+ },
2690
+ {
2691
+ "name": "privateSubnet1Cidr",
2692
+ "type": "string",
2693
+ "required": false
2694
+ },
2695
+ {
2696
+ "name": "privateSubnet2Cidr",
2697
+ "type": "string",
2698
+ "required": false
2699
+ },
2700
+ {
2701
+ "name": "publicSubnet3Cidr",
2702
+ "type": "string",
2703
+ "required": false,
2704
+ "description": "Public subnet 3 CIDR (default: \"10.0.32.0/20\")."
2705
+ },
2706
+ {
2707
+ "name": "privateSubnet3Cidr",
2708
+ "type": "string",
2709
+ "required": false,
2710
+ "description": "Private subnet 3 CIDR (default: \"10.0.160.0/20\")."
2711
+ },
2712
+ {
2713
+ "name": "defaults",
2714
+ "type": "{ vpc?: Partial<ConstructorParameters<typeof Vpc>[0]>; publicSubnet1?: Partial<ConstructorParameters<typeof Subnet>[0...",
2715
+ "required": false
2716
+ }
2717
+ ]
2718
+ }
2719
+ ];