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
@@ -0,0 +1,348 @@
1
+ ---
2
+ docType: config-ref
3
+ title: Bucket
4
+ resourceType: bucket
5
+ tags:
6
+ - bucket
7
+ - s3
8
+ - storage
9
+ - object-storage
10
+ source: types/stacktape-config/buckets.d.ts
11
+ priority: 1
12
+ ---
13
+
14
+ # Bucket
15
+
16
+ S3 storage bucket for files, images, backups, or any binary data.
17
+
18
+ Pay only for what you store and transfer. Highly durable (99.999999999%).
19
+
20
+ Resource type: `bucket`
21
+
22
+ ## TypeScript Definition
23
+
24
+ ```typescript
25
+ /**
26
+ * #### S3 storage bucket for files, images, backups, or any binary data.
27
+ *
28
+ * ---
29
+ *
30
+ * Pay only for what you store and transfer. Highly durable (99.999999999%).
31
+ */
32
+ interface Bucket {
33
+ type: 'bucket';
34
+ properties?: BucketProps;
35
+ overrides?: ResourceOverrides;
36
+ }
37
+
38
+ type SupportedHeaderPreset =
39
+ | 'gatsby-static-website'
40
+ | 'static-website'
41
+ | 'single-page-app'
42
+ | 'astro-static-website'
43
+ | 'sveltekit-static-website'
44
+ | 'nuxt-static-website';
45
+
46
+ interface DirectoryUpload {
47
+ /**
48
+ * #### Path to the local directory to upload (relative to project root).
49
+ *
50
+ * ---
51
+ *
52
+ * The bucket will mirror this directory exactly — existing files not in the directory are deleted.
53
+ */
54
+ directoryPath: string;
55
+ /**
56
+ * #### Set HTTP headers or tags on files matching specific patterns.
57
+ */
58
+ fileOptions?: DirectoryUploadFilter[];
59
+ /**
60
+ * #### Glob patterns for files to skip during upload (relative to `directoryPath`).
61
+ */
62
+ excludeFilesPatterns?: string[];
63
+ // /**
64
+ // * #### Configures which files should be included during upload (glob patterns).
65
+ // * ---
66
+ // * - Relative to the `directoryPath`
67
+ // * - If you do not specify this property, all the files/folders in the directory are included(uploaded).
68
+ // * - If a file matches both a pattern from `skipFiles` and `includeFiles` properties, then file is not uploaded (`skipFiles` takes precedence over `includeFiles`)
69
+ // */
70
+ // includeFiles?: string[];
71
+ /**
72
+ * #### Preset for HTTP caching headers, optimized for your frontend framework.
73
+ *
74
+ * ---
75
+ *
76
+ * - **`single-page-app`**: HTML never cached, hashed assets cached forever. For React/Vue/Angular SPAs.
77
+ * - **`static-website`**: CDN-cached, never browser-cached. For generic static sites.
78
+ * - **`astro-static-website`** / **`sveltekit-static-website`** / **`nuxt-static-website`**: Framework-specific
79
+ * caching (hashed build assets cached forever, HTML always fresh).
80
+ *
81
+ * Override individual files with `fileOptions`.
82
+ */
83
+ headersPreset?: SupportedHeaderPreset;
84
+ /**
85
+ * #### Disable faster uploads via S3 Transfer Acceleration. Saves a small per-GB cost.
86
+ * @default false
87
+ */
88
+ disableS3TransferAcceleration?: boolean;
89
+ }
90
+
91
+ interface KeyValuePair {
92
+ /**
93
+ * #### Key
94
+ */
95
+ key: string;
96
+ /**
97
+ * #### Value
98
+ */
99
+ value: string;
100
+ }
101
+
102
+ interface DirectoryUploadFilter {
103
+ /**
104
+ * #### Glob pattern for files this rule applies to (e.g., `*.html`, `assets/**`).
105
+ */
106
+ includePattern: string;
107
+ /**
108
+ * #### Glob pattern for files to exclude even if they match `includePattern`.
109
+ */
110
+ excludePattern?: string;
111
+ /**
112
+ * #### HTTP headers (e.g., `Cache-Control`) for matching files. Forwarded through CDN to the browser.
113
+ */
114
+ headers?: KeyValuePair[];
115
+ /**
116
+ * #### Tags for matching files. Can be used to target files with `lifecycleRules`.
117
+ */
118
+ tags?: KeyValuePair[];
119
+ }
120
+
121
+ interface BucketProps {
122
+ /**
123
+ * #### Sync a local directory to this bucket on every deploy.
124
+ *
125
+ * ---
126
+ *
127
+ * > **Warning:** Replaces all existing bucket contents. Don't use for buckets
128
+ * > with user-uploaded or application-generated files.
129
+ */
130
+ directoryUpload?: DirectoryUpload;
131
+ /**
132
+ * #### Who can read/write to this bucket: `private` (default), `public-read`, or `public-read-write`.
133
+ */
134
+ accessibility?: BucketAccessibility;
135
+ /**
136
+ * #### CORS settings for browser-based access to the bucket.
137
+ */
138
+ cors?: BucketCorsConfig;
139
+ /**
140
+ * #### Keep previous versions of overwritten/deleted objects. Helps recover from mistakes.
141
+ */
142
+ versioning?: boolean;
143
+ /**
144
+ * #### Encrypt stored objects at rest (AES-256).
145
+ */
146
+ encryption?: boolean;
147
+ /**
148
+ * #### Auto-delete or move objects to cheaper storage classes over time.
149
+ *
150
+ * ---
151
+ *
152
+ * Use to control storage costs: expire old files, archive infrequently accessed data,
153
+ * or clean up incomplete uploads.
154
+ */
155
+ lifecycleRules?: (
156
+ | Expiration
157
+ | NonCurrentVersionExpiration
158
+ | ClassTransition
159
+ | NonCurrentVersionClassTransition
160
+ | AbortIncompleteMultipartUpload
161
+ )[];
162
+ /**
163
+ * #### Send events (object created, deleted, etc.) to EventBridge for event-driven workflows.
164
+ *
165
+ * @default false
166
+ */
167
+ enableEventBusNotifications?: boolean;
168
+ /**
169
+ * #### Put a CDN (CloudFront) in front of this bucket for faster downloads and lower bandwidth costs.
170
+ */
171
+ cdn?: BucketCdnConfiguration;
172
+ }
173
+
174
+ interface BucketAccessibility {
175
+ /**
176
+ * #### Configures pre-defined accessibility modes for the bucket.
177
+ *
178
+ * ---
179
+ *
180
+ * This allows you to easily configure the most common access patterns.
181
+ *
182
+ * Available modes:
183
+ * - `public-read-write`: Everyone can read from and write to the bucket.
184
+ * - `public-read`: Everyone can read from the bucket. Only compute resources and entities with sufficient IAM permissions can write to it.
185
+ * - `private` (default): Only compute resources and entities with sufficient IAM permissions can read from or write to the bucket.
186
+ *
187
+ * For functions, batch jobs, and container workloads, you can grant the required IAM permissions using the `allowsAccessTo` or `iamRoleStatements` properties in their respective configurations.
188
+ *
189
+ * @default private
190
+ */
191
+ accessibilityMode: 'private' | 'public-read-write' | 'public-read';
192
+ /**
193
+ * #### Advanced access configuration that leverages IAM policy statements.
194
+ *
195
+ * ---
196
+ *
197
+ * This gives you fine-grained access control over the bucket.
198
+ */
199
+ accessPolicyStatements?: BucketPolicyIamRoleStatement[];
200
+ }
201
+
202
+ interface BucketCdnConfiguration extends CdnConfiguration {
203
+ /**
204
+ * #### Rewrites incoming requests to work for a single-page application.
205
+ *
206
+ * ---
207
+ *
208
+ * The routing works as follows:
209
+ * - If the path has an extension (e.g., `.css`, `.js`, `.png`), the request is not rewritten, and the appropriate file is returned.
210
+ * - If the path does not have an extension, the request is routed to `index.html`.
211
+ *
212
+ * This allows single-page applications to handle routing on the client side.
213
+ */
214
+ rewriteRoutesForSinglePageApp?: boolean;
215
+ /**
216
+ * #### Disables URL normalization.
217
+ *
218
+ * ---
219
+ *
220
+ * URL normalization is enabled by default and is useful for serving HTML files from the bucket with clean URLs.
221
+ *
222
+ * @default false
223
+ */
224
+ disableUrlNormalization?: boolean;
225
+ }
226
+
227
+ interface LifecycleRuleBase {
228
+ /**
229
+ * #### Only apply this rule to objects with this key prefix (e.g., `logs/`, `uploads/`).
230
+ */
231
+ prefix?: string;
232
+ /**
233
+ * #### Only apply this rule to objects with these tags.
234
+ */
235
+ tags?: KeyValuePair[];
236
+ }
237
+
238
+ interface Expiration {
239
+ type: 'expiration';
240
+ properties: ExpirationProps;
241
+ }
242
+
243
+ interface ExpirationProps extends LifecycleRuleBase {
244
+ /**
245
+ * #### Delete objects this many days after upload.
246
+ */
247
+ daysAfterUpload: number;
248
+ }
249
+
250
+ interface NonCurrentVersionExpiration {
251
+ type: 'non-current-version-expiration';
252
+ properties: NonCurrentVersionExpirationProps;
253
+ }
254
+
255
+ interface NonCurrentVersionExpirationProps extends LifecycleRuleBase {
256
+ /**
257
+ * #### Delete old versions this many days after they become non-current. Requires `versioning: true`.
258
+ */
259
+ daysAfterVersioned: number;
260
+ }
261
+
262
+ interface ClassTransition {
263
+ type: 'class-transition';
264
+ properties: ClassTransitionProps;
265
+ }
266
+
267
+ interface ClassTransitionProps extends LifecycleRuleBase {
268
+ /**
269
+ * #### Move objects to a cheaper storage class this many days after upload.
270
+ */
271
+ daysAfterUpload: number;
272
+ /**
273
+ * #### Target storage class. Cheaper classes have higher retrieval costs/latency.
274
+ *
275
+ * ---
276
+ *
277
+ * - `STANDARD_IA` / `ONEZONE_IA`: Infrequent access, instant retrieval.
278
+ * - `INTELLIGENT_TIERING`: AWS auto-moves between tiers based on access patterns.
279
+ * - `GLACIER`: Archive, minutes to hours for retrieval.
280
+ * - `DEEP_ARCHIVE`: Cheapest, 12+ hours for retrieval.
281
+ */
282
+ storageClass: 'DEEP_ARCHIVE' | 'GLACIER' | 'INTELLIGENT_TIERING' | 'ONEZONE_IA' | 'STANDARD_IA';
283
+ }
284
+
285
+ interface NonCurrentVersionClassTransition {
286
+ type: 'non-current-version-class-transition';
287
+ properties: NonCurrentVersionClassTransitionProps;
288
+ }
289
+
290
+ interface NonCurrentVersionClassTransitionProps extends LifecycleRuleBase {
291
+ /**
292
+ * #### Move old versions to a cheaper storage class this many days after becoming non-current.
293
+ */
294
+ daysAfterVersioned: number;
295
+ /**
296
+ * #### Target storage class for non-current versions.
297
+ */
298
+ storageClass: 'DEEP_ARCHIVE' | 'GLACIER' | 'INTELLIGENT_TIERING' | 'ONEZONE_IA' | 'STANDARD_IA';
299
+ }
300
+
301
+ interface AbortIncompleteMultipartUpload {
302
+ type: 'abort-incomplete-multipart-upload';
303
+ properties: AbortIncompleteMultipartUploadProps;
304
+ }
305
+
306
+ interface AbortIncompleteMultipartUploadProps extends LifecycleRuleBase {
307
+ /**
308
+ * #### Clean up incomplete multipart uploads after this many days. Prevents storage waste.
309
+ */
310
+ daysAfterInitiation: number;
311
+ }
312
+
313
+ interface BucketCorsConfig {
314
+ /**
315
+ * #### Enable CORS. When `true` with no rules, uses permissive defaults (`*` origins, all methods).
316
+ */
317
+ enabled: boolean;
318
+ /**
319
+ * #### Custom CORS rules. First matching rule wins for each preflight request.
320
+ */
321
+ corsRules?: BucketCorsRule[];
322
+ }
323
+
324
+ interface BucketCorsRule {
325
+ /**
326
+ * #### Allowed origins (e.g., `https://example.com`). Use `*` for any.
327
+ */
328
+ allowedOrigins?: string[];
329
+ /**
330
+ * #### Allowed request headers.
331
+ */
332
+ allowedHeaders?: string[];
333
+ /**
334
+ * #### Allowed HTTP methods.
335
+ */
336
+ allowedMethods?: ('GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'HEAD' | '*')[];
337
+ /**
338
+ * #### Response headers accessible to browser JavaScript.
339
+ */
340
+ exposedResponseHeaders?: string[];
341
+ /**
342
+ * #### How long (seconds) browsers can cache preflight responses.
343
+ */
344
+ maxAge?: number;
345
+ }
346
+
347
+ type BucketReferencableParam = 'name' | 'arn' | CdnReferenceableParam;
348
+ ```