stacktape 3.5.8 → 3.6.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 (123) hide show
  1. package/.tsconfig.bun-build.json +1 -0
  2. package/ai-docs/cli-ref/aws-profile-create.md +22 -0
  3. package/ai-docs/cli-ref/aws-profile-delete.md +22 -0
  4. package/ai-docs/cli-ref/aws-profile-list.md +20 -0
  5. package/ai-docs/cli-ref/aws-profile-update.md +22 -0
  6. package/ai-docs/cli-ref/bastion-session.md +29 -0
  7. package/ai-docs/cli-ref/bastion-tunnel.md +30 -0
  8. package/ai-docs/cli-ref/bucket-sync.md +30 -0
  9. package/ai-docs/cli-ref/cf-module-update.md +26 -0
  10. package/ai-docs/cli-ref/cf-rollback.md +28 -0
  11. package/ai-docs/cli-ref/codebuild-deploy.md +34 -0
  12. package/ai-docs/cli-ref/compile-template.md +25 -0
  13. package/ai-docs/cli-ref/container-session.md +30 -0
  14. package/ai-docs/cli-ref/debug-alarms.md +28 -0
  15. package/ai-docs/cli-ref/debug-aws-sdk.md +33 -0
  16. package/ai-docs/cli-ref/debug-container-exec.md +36 -0
  17. package/ai-docs/cli-ref/debug-dynamodb.md +35 -0
  18. package/ai-docs/cli-ref/debug-logs.md +34 -0
  19. package/ai-docs/cli-ref/debug-metrics.md +33 -0
  20. package/ai-docs/cli-ref/debug-opensearch.md +35 -0
  21. package/ai-docs/cli-ref/debug-redis.md +36 -0
  22. package/ai-docs/cli-ref/debug-sql.md +35 -0
  23. package/ai-docs/cli-ref/defaults-configure.md +29 -0
  24. package/ai-docs/cli-ref/defaults-list.md +20 -0
  25. package/ai-docs/cli-ref/delete.md +24 -0
  26. package/ai-docs/cli-ref/deploy.md +25 -0
  27. package/ai-docs/cli-ref/deployment-script-run.md +28 -0
  28. package/ai-docs/cli-ref/dev-stop.md +26 -0
  29. package/ai-docs/cli-ref/dev.md +45 -0
  30. package/ai-docs/cli-ref/domain-add.md +26 -0
  31. package/ai-docs/cli-ref/help.md +18 -0
  32. package/ai-docs/cli-ref/info-operations.md +22 -0
  33. package/ai-docs/cli-ref/info-stack.md +30 -0
  34. package/ai-docs/cli-ref/info-stacks.md +26 -0
  35. package/ai-docs/cli-ref/info-whoami.md +22 -0
  36. package/ai-docs/cli-ref/init.md +30 -0
  37. package/ai-docs/cli-ref/login.md +20 -0
  38. package/ai-docs/cli-ref/logout.md +18 -0
  39. package/ai-docs/cli-ref/mcp-add.md +22 -0
  40. package/ai-docs/cli-ref/mcp.md +20 -0
  41. package/ai-docs/cli-ref/org-create.md +24 -0
  42. package/ai-docs/cli-ref/org-delete.md +24 -0
  43. package/ai-docs/cli-ref/org-list.md +22 -0
  44. package/ai-docs/cli-ref/package-workloads.md +25 -0
  45. package/ai-docs/cli-ref/param-get.md +26 -0
  46. package/ai-docs/cli-ref/preview-changes.md +23 -0
  47. package/ai-docs/cli-ref/project-create.md +22 -0
  48. package/ai-docs/cli-ref/projects-list.md +22 -0
  49. package/ai-docs/cli-ref/rollback.md +28 -0
  50. package/ai-docs/cli-ref/script-run.md +29 -0
  51. package/ai-docs/cli-ref/secret-create.md +28 -0
  52. package/ai-docs/cli-ref/secret-delete.md +26 -0
  53. package/ai-docs/cli-ref/secret-get.md +26 -0
  54. package/ai-docs/cli-ref/upgrade.md +20 -0
  55. package/ai-docs/cli-ref/version.md +18 -0
  56. package/ai-docs/concept/connecting-resources.md +369 -0
  57. package/ai-docs/concept/directives.md +371 -0
  58. package/ai-docs/concept/extending-cloudformation.md +315 -0
  59. package/ai-docs/concept/overrides-and-transforms.md +352 -0
  60. package/ai-docs/concept/stages-and-environments.md +347 -0
  61. package/ai-docs/concept/typescript-config.md +447 -0
  62. package/ai-docs/concept/yaml-config.md +338 -0
  63. package/ai-docs/config-ref/_root.md +131 -0
  64. package/ai-docs/config-ref/application-load-balancer.md +1109 -0
  65. package/ai-docs/config-ref/astro-web.md +115 -0
  66. package/ai-docs/config-ref/aws-cdk-construct.md +68 -0
  67. package/ai-docs/config-ref/bastion.md +93 -0
  68. package/ai-docs/config-ref/batch-job.md +179 -0
  69. package/ai-docs/config-ref/bucket.md +348 -0
  70. package/ai-docs/config-ref/cdn.md +496 -0
  71. package/ai-docs/config-ref/custom-resource.md +80 -0
  72. package/ai-docs/config-ref/deployment-script.md +79 -0
  73. package/ai-docs/config-ref/dynamo-db-table.md +202 -0
  74. package/ai-docs/config-ref/edge-lambda-function.md +87 -0
  75. package/ai-docs/config-ref/efs-filesystem.md +72 -0
  76. package/ai-docs/config-ref/event-bus.md +63 -0
  77. package/ai-docs/config-ref/function.md +409 -0
  78. package/ai-docs/config-ref/hosting-bucket.md +171 -0
  79. package/ai-docs/config-ref/http-api-gateway.md +149 -0
  80. package/ai-docs/config-ref/http-endpoint.md +92 -0
  81. package/ai-docs/config-ref/kinesis-stream.md +97 -0
  82. package/ai-docs/config-ref/mongo-db-atlas-cluster.md +254 -0
  83. package/ai-docs/config-ref/multi-container-workload.md +399 -0
  84. package/ai-docs/config-ref/network-load-balancer.md +118 -0
  85. package/ai-docs/config-ref/nextjs-web.md +147 -0
  86. package/ai-docs/config-ref/nuxt-web.md +81 -0
  87. package/ai-docs/config-ref/open-search.md +206 -0
  88. package/ai-docs/config-ref/private-service.md +75 -0
  89. package/ai-docs/config-ref/redis-cluster.md +223 -0
  90. package/ai-docs/config-ref/relational-database.md +525 -0
  91. package/ai-docs/config-ref/remix-web.md +74 -0
  92. package/ai-docs/config-ref/sns-topic.md +69 -0
  93. package/ai-docs/config-ref/solidstart-web.md +75 -0
  94. package/ai-docs/config-ref/sqs-queue-not-empty.md +414 -0
  95. package/ai-docs/config-ref/sqs-queue.md +232 -0
  96. package/ai-docs/config-ref/state-machine.md +235 -0
  97. package/ai-docs/config-ref/sveltekit-web.md +81 -0
  98. package/ai-docs/config-ref/tanstack-web.md +75 -0
  99. package/ai-docs/config-ref/upstash-redis.md +59 -0
  100. package/ai-docs/config-ref/user-auth-pool.md +876 -0
  101. package/ai-docs/config-ref/web-app-firewall.md +212 -0
  102. package/ai-docs/config-ref/web-service.md +178 -0
  103. package/ai-docs/config-ref/worker-service.md +41 -0
  104. package/ai-docs/getting-started/console.md +232 -0
  105. package/ai-docs/getting-started/deployment.md +434 -0
  106. package/ai-docs/getting-started/dev-mode.md +118 -0
  107. package/ai-docs/getting-started/how-it-works.md +119 -0
  108. package/ai-docs/getting-started/intro.md +157 -0
  109. package/ai-docs/getting-started/using-with-ai.md +228 -0
  110. package/ai-docs/getting-started/workflow.md +197 -0
  111. package/ai-docs/index.json +1514 -0
  112. package/ai-docs/recipe/background-jobs.md +183 -0
  113. package/ai-docs/recipe/database-migrations.md +240 -0
  114. package/ai-docs/recipe/graphql-api.md +211 -0
  115. package/ai-docs/recipe/monorepo-setup.md +183 -0
  116. package/ai-docs/recipe/nextjs-full-stack.md +188 -0
  117. package/ai-docs/recipe/rest-api-with-database.md +156 -0
  118. package/ai-docs/recipe/scheduled-tasks.md +186 -0
  119. package/ai-docs/recipe/static-website.md +241 -0
  120. package/ai-docs/troubleshooting/cloudformation-stack-states.md +189 -0
  121. package/bin/stacktape.js +0 -12
  122. package/package.json +1 -1
  123. package/plain.d.ts +372 -111
package/plain.d.ts CHANGED
@@ -44,10 +44,15 @@ export type StacktapeResourceDefinition =
44
44
  | RemixWeb;
45
45
  export type HttpMethod = "*" | "DELETE" | "GET" | "HEAD" | "OPTIONS" | "PATCH" | "POST" | "PUT";
46
46
  export type ApplicationLoadBalancerAlarmTrigger =
47
+ | ApplicationLoadBalancerCustomTrigger
47
48
  | ApplicationLoadBalancerErrorRateTrigger
48
- | ApplicationLoadBalancerUnhealthyTargetsTrigger
49
- | ApplicationLoadBalancerCustomTrigger;
50
- export type AlarmUserIntegration = MsTeamsIntegration | SlackIntegration | EmailIntegration;
49
+ | ApplicationLoadBalancerUnhealthyTargetsTrigger;
50
+ export type AlarmUserIntegration =
51
+ | MsTeamsIntegration
52
+ | SlackIntegration
53
+ | EmailIntegration
54
+ | DiscordIntegration
55
+ | WebhookIntegration;
51
56
  export type HttpApiGatewayAlarmTrigger = HttpApiGatewayErrorRateTrigger | HttpApiGatewayLatencyTrigger;
52
57
  /**
53
58
  * #### How traffic reaches this service from other resources.
@@ -180,7 +185,6 @@ export interface StacktapeConfig {
180
185
  * ```
181
186
  */
182
187
  variables?: any;
183
- budgetControl?: BudgetControl;
184
188
  hooks?: Hooks;
185
189
  /**
186
190
  * #### Custom shell commands or code you can run manually or as lifecycle hooks.
@@ -310,61 +314,6 @@ export interface UpstashProvider {
310
314
  */
311
315
  apiKey: string;
312
316
  }
313
- /**
314
- * #### Set a monthly spending limit and get email alerts when costs approach it.
315
- *
316
- * ---
317
- *
318
- * The budget resets at the start of each calendar month. You can configure alerts
319
- * based on actual spend or AWS-forecasted spend.
320
- *
321
- * > Not available in all regions (e.g., `ap-east-1`, `af-south-1`).
322
- */
323
- export interface BudgetControl {
324
- /**
325
- * #### Monthly spending limit in USD.
326
- *
327
- * ---
328
- *
329
- * Notification thresholds are calculated as a percentage of this amount.
330
- * Resets at the start of each calendar month.
331
- */
332
- limit: number;
333
- /**
334
- * #### Email alerts when spending approaches the limit.
335
- *
336
- * ---
337
- *
338
- * Each notification fires at a percentage threshold of the `limit`, based on
339
- * actual or forecasted spend. Max 5 notifications.
340
- */
341
- notifications?: BudgetNotification[];
342
- }
343
- export interface BudgetNotification {
344
- /**
345
- * #### Whether to alert on actual or forecasted spend.
346
- *
347
- * ---
348
- *
349
- * - `ACTUAL` — fires when you've already spent past the threshold.
350
- * - `FORECASTED` — fires when AWS predicts you'll exceed the threshold by month-end.
351
- *
352
- * Forecasts need ~5 weeks of usage data before they work.
353
- */
354
- budgetType?: "ACTUAL" | "FORECASTED";
355
- /**
356
- * #### Percentage of the budget limit that triggers this alert.
357
- *
358
- * ---
359
- *
360
- * Example: limit = $200, threshold = 80 → alert fires at $160.
361
- */
362
- thresholdPercentage?: number;
363
- /**
364
- * #### Email addresses that receive the alert. Max 10.
365
- */
366
- emails: string[];
367
- }
368
317
  /**
369
318
  * #### Run scripts automatically before/after deploy, delete, or dev commands.
370
319
  *
@@ -4402,61 +4351,13 @@ export interface ApplicationLoadBalancerAlarm {
4402
4351
  */
4403
4352
  notificationTargets?: AlarmUserIntegration[];
4404
4353
  /**
4405
- * #### Custom alarm description used in notification messages and the AWS console.
4406
- */
4407
- description?: string;
4408
- }
4409
- export interface ApplicationLoadBalancerErrorRateTrigger {
4410
- type: "application-load-balancer-error-rate";
4411
- properties: ApplicationLoadBalancerErrorRateTriggerProps;
4412
- }
4413
- export interface ApplicationLoadBalancerErrorRateTriggerProps {
4414
- /**
4415
- * #### Fires when 4xx/5xx error rate exceeds this percentage.
4416
- *
4417
- * ---
4418
- *
4419
- * Example: `5` fires the alarm if more than 5% of requests return errors.
4420
- */
4421
- thresholdPercent: number;
4422
- /**
4423
- * #### How to compare the metric value against the threshold.
4424
- */
4425
- comparisonOperator?:
4426
- | "GreaterThanOrEqualToThreshold"
4427
- | "GreaterThanThreshold"
4428
- | "LessThanOrEqualToThreshold"
4429
- | "LessThanThreshold";
4430
- }
4431
- export interface ApplicationLoadBalancerUnhealthyTargetsTrigger {
4432
- type: "application-load-balancer-unhealthy-targets";
4433
- properties: ApplicationLoadBalancerUnhealthyTargetsTriggerProps;
4434
- }
4435
- export interface ApplicationLoadBalancerUnhealthyTargetsTriggerProps {
4436
- /**
4437
- * #### Fires when the percentage of unhealthy targets exceeds this value.
4438
- *
4439
- * ---
4440
- *
4441
- * If the load balancer has multiple target groups, the alarm fires if *any* group breaches the threshold.
4442
- */
4443
- thresholdPercent: number;
4444
- /**
4445
- * #### Only monitor health of these target container services. If omitted, monitors all targets.
4446
- *
4447
- * ---
4448
- *
4449
- * Only services actually targeted by the load balancer can be listed.
4354
+ * #### Whether alarm state changes should appear in monitoring history.
4450
4355
  */
4451
- onlyIncludeTargets?: string[];
4356
+ includeInHistory?: boolean;
4452
4357
  /**
4453
- * #### How to compare the metric value against the threshold.
4358
+ * #### Custom alarm description used in notification messages and the AWS console.
4454
4359
  */
4455
- comparisonOperator?:
4456
- | "GreaterThanOrEqualToThreshold"
4457
- | "GreaterThanThreshold"
4458
- | "LessThanOrEqualToThreshold"
4459
- | "LessThanThreshold";
4360
+ description?: string;
4460
4361
  }
4461
4362
  export interface ApplicationLoadBalancerCustomTrigger {
4462
4363
  type: "application-load-balancer-custom";
@@ -4601,6 +4502,58 @@ export interface ApplicationLoadBalancerCustomTriggerProps {
4601
4502
  | "LessThanOrEqualToThreshold"
4602
4503
  | "LessThanThreshold";
4603
4504
  }
4505
+ export interface ApplicationLoadBalancerErrorRateTrigger {
4506
+ type: "application-load-balancer-error-rate";
4507
+ properties: ApplicationLoadBalancerErrorRateTriggerProps;
4508
+ }
4509
+ export interface ApplicationLoadBalancerErrorRateTriggerProps {
4510
+ /**
4511
+ * #### Fires when 4xx/5xx error rate exceeds this percentage.
4512
+ *
4513
+ * ---
4514
+ *
4515
+ * Example: `5` fires the alarm if more than 5% of requests return errors.
4516
+ */
4517
+ thresholdPercent: number;
4518
+ /**
4519
+ * #### How to compare the metric value against the threshold.
4520
+ */
4521
+ comparisonOperator?:
4522
+ | "GreaterThanOrEqualToThreshold"
4523
+ | "GreaterThanThreshold"
4524
+ | "LessThanOrEqualToThreshold"
4525
+ | "LessThanThreshold";
4526
+ }
4527
+ export interface ApplicationLoadBalancerUnhealthyTargetsTrigger {
4528
+ type: "application-load-balancer-unhealthy-targets";
4529
+ properties: ApplicationLoadBalancerUnhealthyTargetsTriggerProps;
4530
+ }
4531
+ export interface ApplicationLoadBalancerUnhealthyTargetsTriggerProps {
4532
+ /**
4533
+ * #### Fires when the percentage of unhealthy targets exceeds this value.
4534
+ *
4535
+ * ---
4536
+ *
4537
+ * If the load balancer has multiple target groups, the alarm fires if *any* group breaches the threshold.
4538
+ */
4539
+ thresholdPercent: number;
4540
+ /**
4541
+ * #### Only monitor health of these target container services. If omitted, monitors all targets.
4542
+ *
4543
+ * ---
4544
+ *
4545
+ * Only services actually targeted by the load balancer can be listed.
4546
+ */
4547
+ onlyIncludeTargets?: string[];
4548
+ /**
4549
+ * #### How to compare the metric value against the threshold.
4550
+ */
4551
+ comparisonOperator?:
4552
+ | "GreaterThanOrEqualToThreshold"
4553
+ | "GreaterThanThreshold"
4554
+ | "LessThanOrEqualToThreshold"
4555
+ | "LessThanThreshold";
4556
+ }
4604
4557
  /**
4605
4558
  * #### How long and how often to evaluate the metric before triggering.
4606
4559
  *
@@ -4682,6 +4635,43 @@ export interface EmailIntegrationProps {
4682
4635
  */
4683
4636
  recipient: string;
4684
4637
  }
4638
+ export interface DiscordIntegration {
4639
+ type: "discord";
4640
+ properties?: DiscordIntegrationProps;
4641
+ }
4642
+ export interface DiscordIntegrationProps {
4643
+ /**
4644
+ * #### Discord Webhook URL for the channel. Store as `$Secret()` for security.
4645
+ *
4646
+ * ---
4647
+ *
4648
+ * Create a webhook in your Discord channel settings (Edit Channel → Integrations → Webhooks).
4649
+ */
4650
+ webhookUrl: string;
4651
+ }
4652
+ export interface WebhookIntegration {
4653
+ type: "webhook";
4654
+ properties?: WebhookIntegrationProps;
4655
+ }
4656
+ export interface WebhookIntegrationProps {
4657
+ /**
4658
+ * #### The URL to send webhook POST requests to.
4659
+ */
4660
+ url: string;
4661
+ /**
4662
+ * #### Optional signing secret for HMAC-SHA256 payload verification.
4663
+ *
4664
+ * ---
4665
+ *
4666
+ * If provided, each request includes an `X-Stacktape-Signature` header.
4667
+ */
4668
+ secret?: string;
4669
+ headers?: RecordStringString;
4670
+ }
4671
+ /**
4672
+ * #### Optional custom headers to include in each request.
4673
+ */
4674
+ export interface RecordStringString {}
4685
4675
  export interface HttpApiGatewayAlarm {
4686
4676
  trigger: HttpApiGatewayAlarmTrigger;
4687
4677
  evaluation?: AlarmEvaluation1;
@@ -4689,6 +4679,10 @@ export interface HttpApiGatewayAlarm {
4689
4679
  * #### Where to send notifications when the alarm fires — Slack, MS Teams, or email.
4690
4680
  */
4691
4681
  notificationTargets?: AlarmUserIntegration[];
4682
+ /**
4683
+ * #### Whether alarm state changes should appear in monitoring history.
4684
+ */
4685
+ includeInHistory?: boolean;
4692
4686
  /**
4693
4687
  * #### Custom alarm description used in notification messages and the AWS console.
4694
4688
  */
@@ -5802,6 +5796,15 @@ export interface AuroraServerlessV2EngineProperties {
5802
5796
  * #### Maximum ACUs (0.5-128 in 0.5 increments). Caps your scaling and cost.
5803
5797
  */
5804
5798
  maxCapacity?: number;
5799
+ /**
5800
+ * #### Number of reader instances in the Aurora Serverless v2 cluster.
5801
+ *
5802
+ * ---
5803
+ *
5804
+ * Aurora Serverless v2 always has one writer instance. This value adds additional readers
5805
+ * (`0` means writer only, `2` means writer + 2 readers).
5806
+ */
5807
+ serverlessReadersCount?: number;
5805
5808
  /**
5806
5809
  * #### Engine version (e.g., `16.6` for PostgreSQL, `8.0.36` for MySQL).
5807
5810
  */
@@ -5976,6 +5979,10 @@ export interface RelationalDatabaseAlarm {
5976
5979
  * #### Where to send notifications when the alarm fires — Slack, MS Teams, or email.
5977
5980
  */
5978
5981
  notificationTargets?: AlarmUserIntegration[];
5982
+ /**
5983
+ * #### Whether alarm state changes should appear in monitoring history.
5984
+ */
5985
+ includeInHistory?: boolean;
5979
5986
  /**
5980
5987
  * #### Custom alarm description used in notification messages and the AWS console.
5981
5988
  */
@@ -9687,6 +9694,10 @@ export interface SqsQueueAlarm {
9687
9694
  * #### Where to send notifications when the alarm fires — Slack, MS Teams, or email.
9688
9695
  */
9689
9696
  notificationTargets?: AlarmUserIntegration[];
9697
+ /**
9698
+ * #### Whether alarm state changes should appear in monitoring history.
9699
+ */
9700
+ includeInHistory?: boolean;
9690
9701
  /**
9691
9702
  * #### Custom alarm description used in notification messages and the AWS console.
9692
9703
  */
@@ -10500,6 +10511,7 @@ export interface NextjsWebProps {
10500
10511
  * Not compatible with `useEdgeLambda: true`.
10501
10512
  */
10502
10513
  streamingEnabled?: boolean;
10514
+ cdn?: SsrWebCdnConfig;
10503
10515
  /**
10504
10516
  * #### Give this resource access to other resources in your stack.
10505
10517
  *
@@ -10600,6 +10612,101 @@ export interface LambdaFunctionLogging {
10600
10612
  */
10601
10613
  logForwarding?: HttpEndpointLogForwarding | HighlightLogForwarding | DatadogLogForwarding;
10602
10614
  }
10615
+ /**
10616
+ * #### CDN cache controls for SSR routes and specific path patterns.
10617
+ */
10618
+ export interface SsrWebCdnConfig {
10619
+ /**
10620
+ * #### Skip clearing the CDN cache after each deploy.
10621
+ *
10622
+ * ---
10623
+ *
10624
+ * By default, all cached content is flushed on every deploy so users see the latest version.
10625
+ * Set to `true` if you manage cache invalidation yourself or want to keep cached content between deploys.
10626
+ */
10627
+ disableInvalidationAfterDeploy?: boolean;
10628
+ defaultCachingOptions?: CdnCachingOptions4;
10629
+ /**
10630
+ * #### Override caching for specific CDN path patterns.
10631
+ *
10632
+ * ---
10633
+ *
10634
+ * Matches existing framework-managed paths (e.g. `_astro/*`, `_next/data/*`) or adds
10635
+ * new server-path caching rules (e.g. `/_server-islands/*`) while preserving managed routing.
10636
+ */
10637
+ pathCachingOverrides?: SsrWebPathCachingOverride[];
10638
+ }
10639
+ /**
10640
+ * #### Override default SSR caching behavior for all routes handled by the server.
10641
+ *
10642
+ * ---
10643
+ *
10644
+ * Useful when you want to cache SSR responses longer than the framework defaults.
10645
+ */
10646
+ export interface CdnCachingOptions4 {
10647
+ /**
10648
+ * #### HTTP methods to cache. Use `['GET', 'HEAD', 'OPTIONS']` if your API uses CORS preflight.
10649
+ */
10650
+ cacheMethods?: ("GET" | "HEAD" | "OPTIONS")[];
10651
+ /**
10652
+ * #### Minimum cache time (seconds). Overrides `Cache-Control: max-age` if the origin sets a lower value.
10653
+ */
10654
+ minTTL?: number;
10655
+ /**
10656
+ * #### Maximum cache time (seconds). Caps how long the CDN caches content, even if the origin says longer.
10657
+ */
10658
+ maxTTL?: number;
10659
+ /**
10660
+ * #### Default cache time (seconds). Used when the origin response has no `Cache-Control` or `Expires` header.
10661
+ */
10662
+ defaultTTL?: number;
10663
+ /**
10664
+ * #### Disable automatic Gzip/Brotli compression. Compression is on by default and reduces transfer size/cost.
10665
+ */
10666
+ disableCompression?: boolean;
10667
+ cacheKeyParameters?: CdnCacheKey;
10668
+ /**
10669
+ * #### Use a pre-existing AWS cache policy ID instead of configuring TTL and cache key options here.
10670
+ */
10671
+ cachePolicyId?: string;
10672
+ }
10673
+ export interface SsrWebPathCachingOverride {
10674
+ /**
10675
+ * #### URL path pattern to match (e.g., `/api/*`, `/_server-islands/*`).
10676
+ */
10677
+ path: string;
10678
+ cachingOptions: CdnCachingOptions5;
10679
+ }
10680
+ /**
10681
+ * #### Caching behavior override for this path pattern.
10682
+ */
10683
+ export interface CdnCachingOptions5 {
10684
+ /**
10685
+ * #### HTTP methods to cache. Use `['GET', 'HEAD', 'OPTIONS']` if your API uses CORS preflight.
10686
+ */
10687
+ cacheMethods?: ("GET" | "HEAD" | "OPTIONS")[];
10688
+ /**
10689
+ * #### Minimum cache time (seconds). Overrides `Cache-Control: max-age` if the origin sets a lower value.
10690
+ */
10691
+ minTTL?: number;
10692
+ /**
10693
+ * #### Maximum cache time (seconds). Caps how long the CDN caches content, even if the origin says longer.
10694
+ */
10695
+ maxTTL?: number;
10696
+ /**
10697
+ * #### Default cache time (seconds). Used when the origin response has no `Cache-Control` or `Expires` header.
10698
+ */
10699
+ defaultTTL?: number;
10700
+ /**
10701
+ * #### Disable automatic Gzip/Brotli compression. Compression is on by default and reduces transfer size/cost.
10702
+ */
10703
+ disableCompression?: boolean;
10704
+ cacheKeyParameters?: CdnCacheKey;
10705
+ /**
10706
+ * #### Use a pre-existing AWS cache policy ID instead of configuring TTL and cache key options here.
10707
+ */
10708
+ cachePolicyId?: string;
10709
+ }
10603
10710
  /**
10604
10711
  * #### Managed search and analytics engine (OpenSearch/Elasticsearch compatible).
10605
10712
  *
@@ -11411,6 +11518,10 @@ export interface LambdaAlarm {
11411
11518
  * #### Where to send notifications when the alarm fires — Slack, MS Teams, or email.
11412
11519
  */
11413
11520
  notificationTargets?: AlarmUserIntegration[];
11521
+ /**
11522
+ * #### Whether alarm state changes should appear in monitoring history.
11523
+ */
11524
+ includeInHistory?: boolean;
11414
11525
  /**
11415
11526
  * #### Custom alarm description used in notification messages and the AWS console.
11416
11527
  */
@@ -11811,6 +11922,7 @@ export interface AstroWebProps {
11811
11922
  * #### Set custom headers (e.g., `Cache-Control`) for static files matching a pattern.
11812
11923
  */
11813
11924
  fileOptions?: DirectoryUploadFilter[];
11925
+ cdn?: SsrWebCdnConfig1;
11814
11926
  /**
11815
11927
  * #### Give this resource access to other resources in your stack.
11816
11928
  *
@@ -11920,6 +12032,30 @@ export interface AstroWebDevConfig {
11920
12032
  */
11921
12033
  workingDirectory?: string;
11922
12034
  }
12035
+ /**
12036
+ * #### CDN cache controls for SSR routes and specific path patterns.
12037
+ */
12038
+ export interface SsrWebCdnConfig1 {
12039
+ /**
12040
+ * #### Skip clearing the CDN cache after each deploy.
12041
+ *
12042
+ * ---
12043
+ *
12044
+ * By default, all cached content is flushed on every deploy so users see the latest version.
12045
+ * Set to `true` if you manage cache invalidation yourself or want to keep cached content between deploys.
12046
+ */
12047
+ disableInvalidationAfterDeploy?: boolean;
12048
+ defaultCachingOptions?: CdnCachingOptions4;
12049
+ /**
12050
+ * #### Override caching for specific CDN path patterns.
12051
+ *
12052
+ * ---
12053
+ *
12054
+ * Matches existing framework-managed paths (e.g. `_astro/*`, `_next/data/*`) or adds
12055
+ * new server-path caching rules (e.g. `/_server-islands/*`) while preserving managed routing.
12056
+ */
12057
+ pathCachingOverrides?: SsrWebPathCachingOverride[];
12058
+ }
11923
12059
  /**
11924
12060
  * #### Deploy a Nuxt SSR app with Lambda (Nitro aws-lambda preset), S3 for static assets, and CloudFront CDN.
11925
12061
  *
@@ -11979,6 +12115,7 @@ export interface NuxtWebProps {
11979
12115
  * #### Set custom headers (e.g., `Cache-Control`) for static files matching a pattern.
11980
12116
  */
11981
12117
  fileOptions?: DirectoryUploadFilter[];
12118
+ cdn?: SsrWebCdnConfig2;
11982
12119
  /**
11983
12120
  * #### Give this resource access to other resources in your stack.
11984
12121
  *
@@ -12088,6 +12225,30 @@ export interface SsrWebDevConfig {
12088
12225
  */
12089
12226
  workingDirectory?: string;
12090
12227
  }
12228
+ /**
12229
+ * #### CDN cache controls for SSR routes and specific path patterns.
12230
+ */
12231
+ export interface SsrWebCdnConfig2 {
12232
+ /**
12233
+ * #### Skip clearing the CDN cache after each deploy.
12234
+ *
12235
+ * ---
12236
+ *
12237
+ * By default, all cached content is flushed on every deploy so users see the latest version.
12238
+ * Set to `true` if you manage cache invalidation yourself or want to keep cached content between deploys.
12239
+ */
12240
+ disableInvalidationAfterDeploy?: boolean;
12241
+ defaultCachingOptions?: CdnCachingOptions4;
12242
+ /**
12243
+ * #### Override caching for specific CDN path patterns.
12244
+ *
12245
+ * ---
12246
+ *
12247
+ * Matches existing framework-managed paths (e.g. `_astro/*`, `_next/data/*`) or adds
12248
+ * new server-path caching rules (e.g. `/_server-islands/*`) while preserving managed routing.
12249
+ */
12250
+ pathCachingOverrides?: SsrWebPathCachingOverride[];
12251
+ }
12091
12252
  /**
12092
12253
  * #### Deploy a SvelteKit SSR app with Lambda (AWS adapter), S3 for static assets, and CloudFront CDN.
12093
12254
  *
@@ -12147,6 +12308,7 @@ export interface SvelteKitWebProps {
12147
12308
  * #### Set custom headers (e.g., `Cache-Control`) for static files matching a pattern.
12148
12309
  */
12149
12310
  fileOptions?: DirectoryUploadFilter[];
12311
+ cdn?: SsrWebCdnConfig3;
12150
12312
  /**
12151
12313
  * #### Give this resource access to other resources in your stack.
12152
12314
  *
@@ -12235,6 +12397,30 @@ export interface SsrWebDevConfig1 {
12235
12397
  */
12236
12398
  workingDirectory?: string;
12237
12399
  }
12400
+ /**
12401
+ * #### CDN cache controls for SSR routes and specific path patterns.
12402
+ */
12403
+ export interface SsrWebCdnConfig3 {
12404
+ /**
12405
+ * #### Skip clearing the CDN cache after each deploy.
12406
+ *
12407
+ * ---
12408
+ *
12409
+ * By default, all cached content is flushed on every deploy so users see the latest version.
12410
+ * Set to `true` if you manage cache invalidation yourself or want to keep cached content between deploys.
12411
+ */
12412
+ disableInvalidationAfterDeploy?: boolean;
12413
+ defaultCachingOptions?: CdnCachingOptions4;
12414
+ /**
12415
+ * #### Override caching for specific CDN path patterns.
12416
+ *
12417
+ * ---
12418
+ *
12419
+ * Matches existing framework-managed paths (e.g. `_astro/*`, `_next/data/*`) or adds
12420
+ * new server-path caching rules (e.g. `/_server-islands/*`) while preserving managed routing.
12421
+ */
12422
+ pathCachingOverrides?: SsrWebPathCachingOverride[];
12423
+ }
12238
12424
  /**
12239
12425
  * #### Deploy a SolidStart SSR app with Lambda (AWS adapter), S3 for static assets, and CloudFront CDN.
12240
12426
  */
@@ -12290,6 +12476,7 @@ export interface SolidStartWebProps {
12290
12476
  * #### Set custom headers (e.g., `Cache-Control`) for static files matching a pattern.
12291
12477
  */
12292
12478
  fileOptions?: DirectoryUploadFilter[];
12479
+ cdn?: SsrWebCdnConfig4;
12293
12480
  /**
12294
12481
  * #### Give this resource access to other resources in your stack.
12295
12482
  *
@@ -12378,6 +12565,30 @@ export interface SsrWebDevConfig2 {
12378
12565
  */
12379
12566
  workingDirectory?: string;
12380
12567
  }
12568
+ /**
12569
+ * #### CDN cache controls for SSR routes and specific path patterns.
12570
+ */
12571
+ export interface SsrWebCdnConfig4 {
12572
+ /**
12573
+ * #### Skip clearing the CDN cache after each deploy.
12574
+ *
12575
+ * ---
12576
+ *
12577
+ * By default, all cached content is flushed on every deploy so users see the latest version.
12578
+ * Set to `true` if you manage cache invalidation yourself or want to keep cached content between deploys.
12579
+ */
12580
+ disableInvalidationAfterDeploy?: boolean;
12581
+ defaultCachingOptions?: CdnCachingOptions4;
12582
+ /**
12583
+ * #### Override caching for specific CDN path patterns.
12584
+ *
12585
+ * ---
12586
+ *
12587
+ * Matches existing framework-managed paths (e.g. `_astro/*`, `_next/data/*`) or adds
12588
+ * new server-path caching rules (e.g. `/_server-islands/*`) while preserving managed routing.
12589
+ */
12590
+ pathCachingOverrides?: SsrWebPathCachingOverride[];
12591
+ }
12381
12592
  /**
12382
12593
  * #### Deploy a TanStack Start SSR app with Lambda (Nitro aws-lambda preset), S3 for static assets, and CloudFront CDN.
12383
12594
  */
@@ -12433,6 +12644,7 @@ export interface TanStackWebProps {
12433
12644
  * #### Set custom headers (e.g., `Cache-Control`) for static files matching a pattern.
12434
12645
  */
12435
12646
  fileOptions?: DirectoryUploadFilter[];
12647
+ cdn?: SsrWebCdnConfig5;
12436
12648
  /**
12437
12649
  * #### Give this resource access to other resources in your stack.
12438
12650
  *
@@ -12521,6 +12733,30 @@ export interface SsrWebDevConfig3 {
12521
12733
  */
12522
12734
  workingDirectory?: string;
12523
12735
  }
12736
+ /**
12737
+ * #### CDN cache controls for SSR routes and specific path patterns.
12738
+ */
12739
+ export interface SsrWebCdnConfig5 {
12740
+ /**
12741
+ * #### Skip clearing the CDN cache after each deploy.
12742
+ *
12743
+ * ---
12744
+ *
12745
+ * By default, all cached content is flushed on every deploy so users see the latest version.
12746
+ * Set to `true` if you manage cache invalidation yourself or want to keep cached content between deploys.
12747
+ */
12748
+ disableInvalidationAfterDeploy?: boolean;
12749
+ defaultCachingOptions?: CdnCachingOptions4;
12750
+ /**
12751
+ * #### Override caching for specific CDN path patterns.
12752
+ *
12753
+ * ---
12754
+ *
12755
+ * Matches existing framework-managed paths (e.g. `_astro/*`, `_next/data/*`) or adds
12756
+ * new server-path caching rules (e.g. `/_server-islands/*`) while preserving managed routing.
12757
+ */
12758
+ pathCachingOverrides?: SsrWebPathCachingOverride[];
12759
+ }
12524
12760
  /**
12525
12761
  * #### Deploy a Remix SSR app with Lambda for server rendering, S3 for static assets, and CloudFront CDN.
12526
12762
  */
@@ -12576,6 +12812,7 @@ export interface RemixWebProps {
12576
12812
  * #### Set custom headers (e.g., `Cache-Control`) for static files matching a pattern.
12577
12813
  */
12578
12814
  fileOptions?: DirectoryUploadFilter[];
12815
+ cdn?: SsrWebCdnConfig6;
12579
12816
  /**
12580
12817
  * #### Give this resource access to other resources in your stack.
12581
12818
  *
@@ -12664,6 +12901,30 @@ export interface SsrWebDevConfig4 {
12664
12901
  */
12665
12902
  workingDirectory?: string;
12666
12903
  }
12904
+ /**
12905
+ * #### CDN cache controls for SSR routes and specific path patterns.
12906
+ */
12907
+ export interface SsrWebCdnConfig6 {
12908
+ /**
12909
+ * #### Skip clearing the CDN cache after each deploy.
12910
+ *
12911
+ * ---
12912
+ *
12913
+ * By default, all cached content is flushed on every deploy so users see the latest version.
12914
+ * Set to `true` if you manage cache invalidation yourself or want to keep cached content between deploys.
12915
+ */
12916
+ disableInvalidationAfterDeploy?: boolean;
12917
+ defaultCachingOptions?: CdnCachingOptions4;
12918
+ /**
12919
+ * #### Override caching for specific CDN path patterns.
12920
+ *
12921
+ * ---
12922
+ *
12923
+ * Matches existing framework-managed paths (e.g. `_astro/*`, `_next/data/*`) or adds
12924
+ * new server-path caching rules (e.g. `/_server-islands/*`) while preserving managed routing.
12925
+ */
12926
+ pathCachingOverrides?: SsrWebPathCachingOverride[];
12927
+ }
12667
12928
  export interface Default {
12668
12929
  Type: string;
12669
12930
  DependsOn?: string[] | IntrinsicFunction | string;