@fjall/generator 0.88.4 → 0.89.4

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/LICENSE +21 -0
  2. package/dist/src/ast/astCdnParser.d.ts +15 -0
  3. package/dist/src/ast/astCdnParser.js +114 -0
  4. package/dist/src/ast/astCommonParser.d.ts +90 -0
  5. package/dist/src/ast/astCommonParser.js +351 -0
  6. package/dist/src/ast/astComputeParser.d.ts +14 -2
  7. package/dist/src/ast/astComputeParser.js +55 -9
  8. package/dist/src/ast/astDatabaseParser.d.ts +104 -0
  9. package/dist/src/ast/astDatabaseParser.js +275 -0
  10. package/dist/src/ast/astInfrastructureParser.d.ts +23 -277
  11. package/dist/src/ast/astInfrastructureParser.js +83 -1456
  12. package/dist/src/ast/astMessagingParser.d.ts +25 -0
  13. package/dist/src/ast/astMessagingParser.js +78 -0
  14. package/dist/src/ast/astNetworkParser.d.ts +70 -0
  15. package/dist/src/ast/astNetworkParser.js +219 -0
  16. package/dist/src/ast/astPatternParser.d.ts +80 -0
  17. package/dist/src/ast/astPatternParser.js +155 -0
  18. package/dist/src/ast/astStorageParser.d.ts +18 -0
  19. package/dist/src/ast/astStorageParser.js +164 -0
  20. package/dist/src/ast/index.d.ts +1 -0
  21. package/dist/src/ast/index.js +4 -0
  22. package/dist/src/dns/bindParser.d.ts +13 -0
  23. package/dist/src/dns/bindParser.js +224 -0
  24. package/dist/src/dns/bindWriter.d.ts +2 -0
  25. package/dist/src/dns/bindWriter.js +52 -0
  26. package/dist/src/dns/index.d.ts +4 -0
  27. package/dist/src/dns/index.js +4 -0
  28. package/dist/src/dns/infrastructureWriter.d.ts +2 -0
  29. package/dist/src/dns/infrastructureWriter.js +58 -0
  30. package/dist/src/dns/types.d.ts +82 -0
  31. package/dist/src/dns/types.js +52 -0
  32. package/dist/src/generation/common.d.ts +1 -16
  33. package/dist/src/generation/common.js +2 -28
  34. package/dist/src/generation/compute.js +77 -28
  35. package/dist/src/generation/index.d.ts +2 -1
  36. package/dist/src/generation/index.js +3 -1
  37. package/dist/src/generation/messagingConnections.d.ts +33 -0
  38. package/dist/src/generation/messagingConnections.js +73 -0
  39. package/dist/src/generation/storage.d.ts +5 -1
  40. package/dist/src/generation/storage.js +9 -1
  41. package/dist/src/generation/storageConnections.d.ts +3 -3
  42. package/dist/src/generation/storageConnections.js +8 -4
  43. package/dist/src/index.d.ts +1 -0
  44. package/dist/src/index.js +2 -0
  45. package/dist/src/planning/resourcePlanning.js +0 -2
  46. package/dist/src/presets/tierTypes.d.ts +4 -1
  47. package/dist/src/schemas/applicationSchemas.d.ts +854 -0
  48. package/dist/src/schemas/applicationSchemas.js +80 -0
  49. package/dist/src/schemas/baseSchemas.d.ts +206 -0
  50. package/dist/src/schemas/baseSchemas.js +248 -0
  51. package/dist/src/schemas/cdnSchemas.d.ts +61 -0
  52. package/dist/src/schemas/cdnSchemas.js +62 -0
  53. package/dist/src/schemas/computeSchemas.d.ts +723 -0
  54. package/dist/src/schemas/computeSchemas.js +727 -0
  55. package/dist/src/schemas/constants.d.ts +12 -8
  56. package/dist/src/schemas/constants.js +14 -4
  57. package/dist/src/schemas/databaseSchemas.d.ts +638 -0
  58. package/dist/src/schemas/databaseSchemas.js +366 -0
  59. package/dist/src/schemas/messagingSchemas.d.ts +20 -0
  60. package/dist/src/schemas/messagingSchemas.js +29 -0
  61. package/dist/src/schemas/networkSchemas.d.ts +246 -0
  62. package/dist/src/schemas/networkSchemas.js +125 -0
  63. package/dist/src/schemas/patternSchemas.d.ts +708 -0
  64. package/dist/src/schemas/patternSchemas.js +294 -0
  65. package/dist/src/schemas/resourceSchemas.d.ts +24 -3530
  66. package/dist/src/schemas/resourceSchemas.js +24 -2011
  67. package/dist/src/schemas/storageSchemas.d.ts +93 -0
  68. package/dist/src/schemas/storageSchemas.js +119 -0
  69. package/dist/src/util/errorUtils.d.ts +1 -2
  70. package/dist/src/util/errorUtils.js +1 -15
  71. package/dist/src/validation/patterns.d.ts +9 -0
  72. package/dist/src/validation/patterns.js +9 -0
  73. package/dist/src/version.d.ts +1 -1
  74. package/dist/src/version.js +1 -1
  75. package/package.json +5 -3
@@ -0,0 +1,638 @@
1
+ import { z } from "zod";
2
+ /** Reusable backup retention validation. Range: 1-35 days. */
3
+ export declare const BackupRetentionSchema: z.ZodNumber;
4
+ /** Reusable monitoring interval validation. Must be one of: 0, 1, 5, 10, 15, 30, 60. */
5
+ export declare const MonitoringIntervalSchema: z.ZodNumber;
6
+ /** Reusable database port validation. Range: 1024-65535. */
7
+ export declare const DatabasePortSchema: z.ZodNumber;
8
+ export declare const DatabaseTypeSchema: z.ZodEnum<{
9
+ Aurora: "Aurora";
10
+ Instance: "Instance";
11
+ GlobalAurora: "GlobalAurora";
12
+ }>;
13
+ export declare const ProxyConfigSchema: z.ZodObject<{
14
+ maxConnections: z.ZodOptional<z.ZodNumber>;
15
+ maxIdleConnections: z.ZodOptional<z.ZodNumber>;
16
+ connectionBorrowTimeout: z.ZodOptional<z.ZodNumber>;
17
+ requireTLS: z.ZodOptional<z.ZodBoolean>;
18
+ }, z.core.$strict>;
19
+ export declare const ReadReplicaConfigSchema: z.ZodObject<{
20
+ instanceType: z.ZodOptional<z.ZodString>;
21
+ availabilityZone: z.ZodOptional<z.ZodString>;
22
+ }, z.core.$strict>;
23
+ export declare const SecretRotationConfigSchema: z.ZodObject<{
24
+ automaticallyAfterDays: z.ZodOptional<z.ZodNumber>;
25
+ }, z.core.$strict>;
26
+ export declare const CredentialsConfigSchema: z.ZodObject<{
27
+ username: z.ZodOptional<z.ZodString>;
28
+ secretRotation: z.ZodOptional<z.ZodObject<{
29
+ automaticallyAfterDays: z.ZodOptional<z.ZodNumber>;
30
+ }, z.core.$strict>>;
31
+ }, z.core.$strict>;
32
+ export declare const ProxyConfigOrFalseSchema: z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
33
+ maxConnections: z.ZodOptional<z.ZodNumber>;
34
+ maxIdleConnections: z.ZodOptional<z.ZodNumber>;
35
+ connectionBorrowTimeout: z.ZodOptional<z.ZodNumber>;
36
+ requireTLS: z.ZodOptional<z.ZodBoolean>;
37
+ }, z.core.$strict>]>;
38
+ export declare const ReadReplicaConfigOrFalseSchema: z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
39
+ instanceType: z.ZodOptional<z.ZodString>;
40
+ availabilityZone: z.ZodOptional<z.ZodString>;
41
+ }, z.core.$strict>]>;
42
+ export declare const AuroraReaderConfigSchema: z.ZodObject<{
43
+ scaleWithWriter: z.ZodOptional<z.ZodBoolean>;
44
+ enableDatabaseInsights: z.ZodOptional<z.ZodBoolean>;
45
+ identifierSuffix: z.ZodOptional<z.ZodString>;
46
+ availabilityZone: z.ZodOptional<z.ZodString>;
47
+ }, z.core.$strict>;
48
+ export declare const AuroraWriterConfigSchema: z.ZodObject<{
49
+ enableDatabaseInsights: z.ZodOptional<z.ZodBoolean>;
50
+ identifierSuffix: z.ZodOptional<z.ZodString>;
51
+ availabilityZone: z.ZodOptional<z.ZodString>;
52
+ }, z.core.$strict>;
53
+ export declare const AuroraReadersConfigSchema: z.ZodObject<{
54
+ count: z.ZodOptional<z.ZodNumber>;
55
+ instances: z.ZodOptional<z.ZodArray<z.ZodObject<{
56
+ scaleWithWriter: z.ZodOptional<z.ZodBoolean>;
57
+ enableDatabaseInsights: z.ZodOptional<z.ZodBoolean>;
58
+ identifierSuffix: z.ZodOptional<z.ZodString>;
59
+ availabilityZone: z.ZodOptional<z.ZodString>;
60
+ }, z.core.$strict>>>;
61
+ defaultEnableDatabaseInsights: z.ZodOptional<z.ZodBoolean>;
62
+ }, z.core.$strict>;
63
+ export declare const AuroraReadersConfigOrFalseSchema: z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
64
+ count: z.ZodOptional<z.ZodNumber>;
65
+ instances: z.ZodOptional<z.ZodArray<z.ZodObject<{
66
+ scaleWithWriter: z.ZodOptional<z.ZodBoolean>;
67
+ enableDatabaseInsights: z.ZodOptional<z.ZodBoolean>;
68
+ identifierSuffix: z.ZodOptional<z.ZodString>;
69
+ availabilityZone: z.ZodOptional<z.ZodString>;
70
+ }, z.core.$strict>>>;
71
+ defaultEnableDatabaseInsights: z.ZodOptional<z.ZodBoolean>;
72
+ }, z.core.$strict>]>;
73
+ export declare const AwsManagedKeySchema: z.ZodObject<{
74
+ awsManaged: z.ZodLiteral<true>;
75
+ }, z.core.$strict>;
76
+ export declare const CustomerManagedKeyMarkerSchema: z.ZodObject<{
77
+ useCMK: z.ZodLiteral<true>;
78
+ }, z.core.$strict>;
79
+ export declare const EncryptionKeySpecSchema: z.ZodUnion<readonly [z.ZodObject<{
80
+ awsManaged: z.ZodLiteral<true>;
81
+ }, z.core.$strict>, z.ZodObject<{
82
+ useCMK: z.ZodLiteral<true>;
83
+ }, z.core.$strict>]>;
84
+ export declare const DatabaseInsightsConfigSchema: z.ZodObject<{
85
+ mode: z.ZodOptional<z.ZodEnum<{
86
+ standard: "standard";
87
+ advanced: "advanced";
88
+ }>>;
89
+ encryptionKey: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
90
+ awsManaged: z.ZodLiteral<true>;
91
+ }, z.core.$strict>, z.ZodObject<{
92
+ useCMK: z.ZodLiteral<true>;
93
+ }, z.core.$strict>]>>;
94
+ }, z.core.$strict>;
95
+ export declare const DatabaseInsightsConfigOrFalseSchema: z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
96
+ mode: z.ZodOptional<z.ZodEnum<{
97
+ standard: "standard";
98
+ advanced: "advanced";
99
+ }>>;
100
+ encryptionKey: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
101
+ awsManaged: z.ZodLiteral<true>;
102
+ }, z.core.$strict>, z.ZodObject<{
103
+ useCMK: z.ZodLiteral<true>;
104
+ }, z.core.$strict>]>>;
105
+ }, z.core.$strict>]>;
106
+ export declare const EncryptionConfigSchema: z.ZodObject<{
107
+ storageKey: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
108
+ awsManaged: z.ZodLiteral<true>;
109
+ }, z.core.$strict>, z.ZodObject<{
110
+ useCMK: z.ZodLiteral<true>;
111
+ }, z.core.$strict>]>>;
112
+ }, z.core.$strict>;
113
+ export declare const DatabaseResourcePlanSchema: z.ZodObject<{
114
+ name: z.ZodString;
115
+ type: z.ZodEnum<{
116
+ Aurora: "Aurora";
117
+ Instance: "Instance";
118
+ GlobalAurora: "GlobalAurora";
119
+ }>;
120
+ databaseName: z.ZodString;
121
+ instanceType: z.ZodOptional<z.ZodString>;
122
+ multiAz: z.ZodOptional<z.ZodBoolean>;
123
+ publiclyAccessible: z.ZodOptional<z.ZodBoolean>;
124
+ enableSecretRotation: z.ZodOptional<z.ZodBoolean>;
125
+ databaseInsights: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
126
+ mode: z.ZodOptional<z.ZodEnum<{
127
+ standard: "standard";
128
+ advanced: "advanced";
129
+ }>>;
130
+ encryptionKey: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
131
+ awsManaged: z.ZodLiteral<true>;
132
+ }, z.core.$strict>, z.ZodObject<{
133
+ useCMK: z.ZodLiteral<true>;
134
+ }, z.core.$strict>]>>;
135
+ }, z.core.$strict>]>>;
136
+ port: z.ZodOptional<z.ZodNumber>;
137
+ deletionProtection: z.ZodOptional<z.ZodBoolean>;
138
+ proxy: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
139
+ maxConnections: z.ZodOptional<z.ZodNumber>;
140
+ maxIdleConnections: z.ZodOptional<z.ZodNumber>;
141
+ connectionBorrowTimeout: z.ZodOptional<z.ZodNumber>;
142
+ requireTLS: z.ZodOptional<z.ZodBoolean>;
143
+ }, z.core.$strict>]>>;
144
+ credentials: z.ZodOptional<z.ZodObject<{
145
+ username: z.ZodOptional<z.ZodString>;
146
+ secretRotation: z.ZodOptional<z.ZodObject<{
147
+ automaticallyAfterDays: z.ZodOptional<z.ZodNumber>;
148
+ }, z.core.$strict>>;
149
+ }, z.core.$strict>>;
150
+ readReplica: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
151
+ instanceType: z.ZodOptional<z.ZodString>;
152
+ availabilityZone: z.ZodOptional<z.ZodString>;
153
+ }, z.core.$strict>]>>;
154
+ encryption: z.ZodOptional<z.ZodObject<{
155
+ storageKey: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
156
+ awsManaged: z.ZodLiteral<true>;
157
+ }, z.core.$strict>, z.ZodObject<{
158
+ useCMK: z.ZodLiteral<true>;
159
+ }, z.core.$strict>]>>;
160
+ }, z.core.$strict>>;
161
+ writer: z.ZodOptional<z.ZodObject<{
162
+ enableDatabaseInsights: z.ZodOptional<z.ZodBoolean>;
163
+ identifierSuffix: z.ZodOptional<z.ZodString>;
164
+ availabilityZone: z.ZodOptional<z.ZodString>;
165
+ }, z.core.$strict>>;
166
+ readers: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
167
+ count: z.ZodOptional<z.ZodNumber>;
168
+ instances: z.ZodOptional<z.ZodArray<z.ZodObject<{
169
+ scaleWithWriter: z.ZodOptional<z.ZodBoolean>;
170
+ enableDatabaseInsights: z.ZodOptional<z.ZodBoolean>;
171
+ identifierSuffix: z.ZodOptional<z.ZodString>;
172
+ availabilityZone: z.ZodOptional<z.ZodString>;
173
+ }, z.core.$strict>>>;
174
+ defaultEnableDatabaseInsights: z.ZodOptional<z.ZodBoolean>;
175
+ }, z.core.$strict>]>>;
176
+ backupRetention: z.ZodOptional<z.ZodNumber>;
177
+ preferredMaintenanceWindow: z.ZodOptional<z.ZodString>;
178
+ monitoringInterval: z.ZodOptional<z.ZodNumber>;
179
+ primaryRegion: z.ZodOptional<z.ZodString>;
180
+ secondaryRegions: z.ZodOptional<z.ZodArray<z.ZodString>>;
181
+ globalClusterIdentifier: z.ZodOptional<z.ZodString>;
182
+ enableGlobalWriteForwarding: z.ZodOptional<z.ZodBoolean>;
183
+ snapshotIdentifier: z.ZodOptional<z.ZodString>;
184
+ snapshotUsername: z.ZodOptional<z.ZodString>;
185
+ databaseEngine: z.ZodOptional<z.ZodEnum<{
186
+ postgresql: "postgresql";
187
+ mysql: "mysql";
188
+ }>>;
189
+ engineExpression: z.ZodOptional<z.ZodString>;
190
+ variableName: z.ZodOptional<z.ZodString>;
191
+ extraProperties: z.ZodOptional<z.ZodArray<z.ZodObject<{
192
+ key: z.ZodString;
193
+ sourceText: z.ZodString;
194
+ }, z.core.$strict>>>;
195
+ }, z.core.$strict>;
196
+ /**
197
+ * Database generator schema using discriminated union.
198
+ * This ensures type-specific fields are only allowed for the correct database type:
199
+ * - Instance: instanceType, multiAz, readReplica
200
+ * - Aurora: writer, readers, backupRetention
201
+ * - GlobalAurora: primaryRegion (required!), secondaryRegions, enableGlobalWriteForwarding
202
+ */
203
+ export declare const DatabaseGeneratorSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
204
+ appName: z.ZodString;
205
+ nameProvidedByFlag: z.ZodOptional<z.ZodBoolean>;
206
+ databaseName: z.ZodString;
207
+ resourceName: z.ZodOptional<z.ZodString>;
208
+ connectionConfig: z.ZodOptional<z.ZodObject<{
209
+ connectToCompute: z.ZodOptional<z.ZodArray<z.ZodString>>;
210
+ connectToServices: z.ZodOptional<z.ZodArray<z.ZodString>>;
211
+ }, z.core.$strict>>;
212
+ databaseInsights: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
213
+ mode: z.ZodOptional<z.ZodEnum<{
214
+ standard: "standard";
215
+ advanced: "advanced";
216
+ }>>;
217
+ encryptionKey: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
218
+ awsManaged: z.ZodLiteral<true>;
219
+ }, z.core.$strict>, z.ZodObject<{
220
+ useCMK: z.ZodLiteral<true>;
221
+ }, z.core.$strict>]>>;
222
+ }, z.core.$strict>]>>;
223
+ port: z.ZodOptional<z.ZodNumber>;
224
+ proxy: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
225
+ maxConnections: z.ZodOptional<z.ZodNumber>;
226
+ maxIdleConnections: z.ZodOptional<z.ZodNumber>;
227
+ connectionBorrowTimeout: z.ZodOptional<z.ZodNumber>;
228
+ requireTLS: z.ZodOptional<z.ZodBoolean>;
229
+ }, z.core.$strict>]>>;
230
+ credentials: z.ZodOptional<z.ZodObject<{
231
+ username: z.ZodOptional<z.ZodString>;
232
+ secretRotation: z.ZodOptional<z.ZodObject<{
233
+ automaticallyAfterDays: z.ZodOptional<z.ZodNumber>;
234
+ }, z.core.$strict>>;
235
+ }, z.core.$strict>>;
236
+ encryption: z.ZodOptional<z.ZodObject<{
237
+ storageKey: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
238
+ awsManaged: z.ZodLiteral<true>;
239
+ }, z.core.$strict>, z.ZodObject<{
240
+ useCMK: z.ZodLiteral<true>;
241
+ }, z.core.$strict>]>>;
242
+ }, z.core.$strict>>;
243
+ deletionProtection: z.ZodOptional<z.ZodBoolean>;
244
+ databaseType: z.ZodLiteral<"Instance">;
245
+ instanceType: z.ZodOptional<z.ZodString>;
246
+ multiAz: z.ZodOptional<z.ZodBoolean>;
247
+ readReplica: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
248
+ instanceType: z.ZodOptional<z.ZodString>;
249
+ availabilityZone: z.ZodOptional<z.ZodString>;
250
+ }, z.core.$strict>]>>;
251
+ publiclyAccessible: z.ZodOptional<z.ZodBoolean>;
252
+ backupRetention: z.ZodOptional<z.ZodNumber>;
253
+ allocatedStorage: z.ZodOptional<z.ZodNumber>;
254
+ snapshotIdentifier: z.ZodOptional<z.ZodString>;
255
+ snapshotUsername: z.ZodOptional<z.ZodString>;
256
+ }, z.core.$strict>, z.ZodObject<{
257
+ appName: z.ZodString;
258
+ nameProvidedByFlag: z.ZodOptional<z.ZodBoolean>;
259
+ databaseName: z.ZodString;
260
+ resourceName: z.ZodOptional<z.ZodString>;
261
+ connectionConfig: z.ZodOptional<z.ZodObject<{
262
+ connectToCompute: z.ZodOptional<z.ZodArray<z.ZodString>>;
263
+ connectToServices: z.ZodOptional<z.ZodArray<z.ZodString>>;
264
+ }, z.core.$strict>>;
265
+ databaseInsights: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
266
+ mode: z.ZodOptional<z.ZodEnum<{
267
+ standard: "standard";
268
+ advanced: "advanced";
269
+ }>>;
270
+ encryptionKey: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
271
+ awsManaged: z.ZodLiteral<true>;
272
+ }, z.core.$strict>, z.ZodObject<{
273
+ useCMK: z.ZodLiteral<true>;
274
+ }, z.core.$strict>]>>;
275
+ }, z.core.$strict>]>>;
276
+ port: z.ZodOptional<z.ZodNumber>;
277
+ proxy: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
278
+ maxConnections: z.ZodOptional<z.ZodNumber>;
279
+ maxIdleConnections: z.ZodOptional<z.ZodNumber>;
280
+ connectionBorrowTimeout: z.ZodOptional<z.ZodNumber>;
281
+ requireTLS: z.ZodOptional<z.ZodBoolean>;
282
+ }, z.core.$strict>]>>;
283
+ credentials: z.ZodOptional<z.ZodObject<{
284
+ username: z.ZodOptional<z.ZodString>;
285
+ secretRotation: z.ZodOptional<z.ZodObject<{
286
+ automaticallyAfterDays: z.ZodOptional<z.ZodNumber>;
287
+ }, z.core.$strict>>;
288
+ }, z.core.$strict>>;
289
+ encryption: z.ZodOptional<z.ZodObject<{
290
+ storageKey: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
291
+ awsManaged: z.ZodLiteral<true>;
292
+ }, z.core.$strict>, z.ZodObject<{
293
+ useCMK: z.ZodLiteral<true>;
294
+ }, z.core.$strict>]>>;
295
+ }, z.core.$strict>>;
296
+ deletionProtection: z.ZodOptional<z.ZodBoolean>;
297
+ databaseType: z.ZodLiteral<"Aurora">;
298
+ writer: z.ZodOptional<z.ZodObject<{
299
+ enableDatabaseInsights: z.ZodOptional<z.ZodBoolean>;
300
+ identifierSuffix: z.ZodOptional<z.ZodString>;
301
+ availabilityZone: z.ZodOptional<z.ZodString>;
302
+ }, z.core.$strict>>;
303
+ readers: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
304
+ count: z.ZodOptional<z.ZodNumber>;
305
+ instances: z.ZodOptional<z.ZodArray<z.ZodObject<{
306
+ scaleWithWriter: z.ZodOptional<z.ZodBoolean>;
307
+ enableDatabaseInsights: z.ZodOptional<z.ZodBoolean>;
308
+ identifierSuffix: z.ZodOptional<z.ZodString>;
309
+ availabilityZone: z.ZodOptional<z.ZodString>;
310
+ }, z.core.$strict>>>;
311
+ defaultEnableDatabaseInsights: z.ZodOptional<z.ZodBoolean>;
312
+ }, z.core.$strict>]>>;
313
+ backupRetention: z.ZodOptional<z.ZodNumber>;
314
+ preferredMaintenanceWindow: z.ZodOptional<z.ZodString>;
315
+ monitoringInterval: z.ZodOptional<z.ZodNumber>;
316
+ snapshotIdentifier: z.ZodOptional<z.ZodString>;
317
+ snapshotUsername: z.ZodOptional<z.ZodString>;
318
+ }, z.core.$strict>, z.ZodObject<{
319
+ appName: z.ZodString;
320
+ nameProvidedByFlag: z.ZodOptional<z.ZodBoolean>;
321
+ databaseName: z.ZodString;
322
+ resourceName: z.ZodOptional<z.ZodString>;
323
+ connectionConfig: z.ZodOptional<z.ZodObject<{
324
+ connectToCompute: z.ZodOptional<z.ZodArray<z.ZodString>>;
325
+ connectToServices: z.ZodOptional<z.ZodArray<z.ZodString>>;
326
+ }, z.core.$strict>>;
327
+ databaseInsights: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
328
+ mode: z.ZodOptional<z.ZodEnum<{
329
+ standard: "standard";
330
+ advanced: "advanced";
331
+ }>>;
332
+ encryptionKey: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
333
+ awsManaged: z.ZodLiteral<true>;
334
+ }, z.core.$strict>, z.ZodObject<{
335
+ useCMK: z.ZodLiteral<true>;
336
+ }, z.core.$strict>]>>;
337
+ }, z.core.$strict>]>>;
338
+ port: z.ZodOptional<z.ZodNumber>;
339
+ proxy: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
340
+ maxConnections: z.ZodOptional<z.ZodNumber>;
341
+ maxIdleConnections: z.ZodOptional<z.ZodNumber>;
342
+ connectionBorrowTimeout: z.ZodOptional<z.ZodNumber>;
343
+ requireTLS: z.ZodOptional<z.ZodBoolean>;
344
+ }, z.core.$strict>]>>;
345
+ credentials: z.ZodOptional<z.ZodObject<{
346
+ username: z.ZodOptional<z.ZodString>;
347
+ secretRotation: z.ZodOptional<z.ZodObject<{
348
+ automaticallyAfterDays: z.ZodOptional<z.ZodNumber>;
349
+ }, z.core.$strict>>;
350
+ }, z.core.$strict>>;
351
+ encryption: z.ZodOptional<z.ZodObject<{
352
+ storageKey: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
353
+ awsManaged: z.ZodLiteral<true>;
354
+ }, z.core.$strict>, z.ZodObject<{
355
+ useCMK: z.ZodLiteral<true>;
356
+ }, z.core.$strict>]>>;
357
+ }, z.core.$strict>>;
358
+ deletionProtection: z.ZodOptional<z.ZodBoolean>;
359
+ databaseType: z.ZodLiteral<"GlobalAurora">;
360
+ primaryRegion: z.ZodString;
361
+ secondaryRegions: z.ZodOptional<z.ZodArray<z.ZodString>>;
362
+ globalClusterIdentifier: z.ZodOptional<z.ZodString>;
363
+ enableGlobalWriteForwarding: z.ZodOptional<z.ZodBoolean>;
364
+ writer: z.ZodOptional<z.ZodObject<{
365
+ enableDatabaseInsights: z.ZodOptional<z.ZodBoolean>;
366
+ identifierSuffix: z.ZodOptional<z.ZodString>;
367
+ availabilityZone: z.ZodOptional<z.ZodString>;
368
+ }, z.core.$strict>>;
369
+ readers: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
370
+ count: z.ZodOptional<z.ZodNumber>;
371
+ instances: z.ZodOptional<z.ZodArray<z.ZodObject<{
372
+ scaleWithWriter: z.ZodOptional<z.ZodBoolean>;
373
+ enableDatabaseInsights: z.ZodOptional<z.ZodBoolean>;
374
+ identifierSuffix: z.ZodOptional<z.ZodString>;
375
+ availabilityZone: z.ZodOptional<z.ZodString>;
376
+ }, z.core.$strict>>>;
377
+ defaultEnableDatabaseInsights: z.ZodOptional<z.ZodBoolean>;
378
+ }, z.core.$strict>]>>;
379
+ backupRetention: z.ZodOptional<z.ZodNumber>;
380
+ preferredMaintenanceWindow: z.ZodOptional<z.ZodString>;
381
+ monitoringInterval: z.ZodOptional<z.ZodNumber>;
382
+ snapshotIdentifier: z.ZodOptional<z.ZodString>;
383
+ snapshotUsername: z.ZodOptional<z.ZodString>;
384
+ }, z.core.$strict>], "databaseType">;
385
+ export declare const DatabaseGeneratorSchemaFromUI: z.ZodDiscriminatedUnion<[z.ZodObject<{
386
+ appName: z.ZodString;
387
+ nameProvidedByFlag: z.ZodOptional<z.ZodBoolean>;
388
+ databaseName: z.ZodString;
389
+ connectionConfig: z.ZodOptional<z.ZodObject<{
390
+ connectToCompute: z.ZodOptional<z.ZodArray<z.ZodString>>;
391
+ connectToServices: z.ZodOptional<z.ZodArray<z.ZodString>>;
392
+ }, z.core.$strict>>;
393
+ databaseInsights: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
394
+ mode: z.ZodOptional<z.ZodEnum<{
395
+ standard: "standard";
396
+ advanced: "advanced";
397
+ }>>;
398
+ encryptionKey: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
399
+ awsManaged: z.ZodLiteral<true>;
400
+ }, z.core.$strict>, z.ZodObject<{
401
+ useCMK: z.ZodLiteral<true>;
402
+ }, z.core.$strict>]>>;
403
+ }, z.core.$strict>]>>;
404
+ port: z.ZodOptional<z.ZodNumber>;
405
+ proxy: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
406
+ maxConnections: z.ZodOptional<z.ZodNumber>;
407
+ maxIdleConnections: z.ZodOptional<z.ZodNumber>;
408
+ connectionBorrowTimeout: z.ZodOptional<z.ZodNumber>;
409
+ requireTLS: z.ZodOptional<z.ZodBoolean>;
410
+ }, z.core.$strict>]>>;
411
+ credentials: z.ZodOptional<z.ZodObject<{
412
+ username: z.ZodOptional<z.ZodString>;
413
+ secretRotation: z.ZodOptional<z.ZodObject<{
414
+ automaticallyAfterDays: z.ZodOptional<z.ZodNumber>;
415
+ }, z.core.$strict>>;
416
+ }, z.core.$strict>>;
417
+ encryption: z.ZodOptional<z.ZodObject<{
418
+ storageKey: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
419
+ awsManaged: z.ZodLiteral<true>;
420
+ }, z.core.$strict>, z.ZodObject<{
421
+ useCMK: z.ZodLiteral<true>;
422
+ }, z.core.$strict>]>>;
423
+ }, z.core.$strict>>;
424
+ deletionProtection: z.ZodOptional<z.ZodBoolean>;
425
+ resourceName: z.ZodString;
426
+ databaseType: z.ZodLiteral<"Instance">;
427
+ instanceType: z.ZodOptional<z.ZodString>;
428
+ multiAz: z.ZodOptional<z.ZodBoolean>;
429
+ readReplica: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
430
+ instanceType: z.ZodOptional<z.ZodString>;
431
+ availabilityZone: z.ZodOptional<z.ZodString>;
432
+ }, z.core.$strict>]>>;
433
+ publiclyAccessible: z.ZodOptional<z.ZodBoolean>;
434
+ backupRetention: z.ZodOptional<z.ZodNumber>;
435
+ allocatedStorage: z.ZodOptional<z.ZodNumber>;
436
+ snapshotIdentifier: z.ZodOptional<z.ZodString>;
437
+ snapshotUsername: z.ZodOptional<z.ZodString>;
438
+ }, z.core.$strict>, z.ZodObject<{
439
+ appName: z.ZodString;
440
+ nameProvidedByFlag: z.ZodOptional<z.ZodBoolean>;
441
+ databaseName: z.ZodString;
442
+ connectionConfig: z.ZodOptional<z.ZodObject<{
443
+ connectToCompute: z.ZodOptional<z.ZodArray<z.ZodString>>;
444
+ connectToServices: z.ZodOptional<z.ZodArray<z.ZodString>>;
445
+ }, z.core.$strict>>;
446
+ databaseInsights: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
447
+ mode: z.ZodOptional<z.ZodEnum<{
448
+ standard: "standard";
449
+ advanced: "advanced";
450
+ }>>;
451
+ encryptionKey: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
452
+ awsManaged: z.ZodLiteral<true>;
453
+ }, z.core.$strict>, z.ZodObject<{
454
+ useCMK: z.ZodLiteral<true>;
455
+ }, z.core.$strict>]>>;
456
+ }, z.core.$strict>]>>;
457
+ port: z.ZodOptional<z.ZodNumber>;
458
+ proxy: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
459
+ maxConnections: z.ZodOptional<z.ZodNumber>;
460
+ maxIdleConnections: z.ZodOptional<z.ZodNumber>;
461
+ connectionBorrowTimeout: z.ZodOptional<z.ZodNumber>;
462
+ requireTLS: z.ZodOptional<z.ZodBoolean>;
463
+ }, z.core.$strict>]>>;
464
+ credentials: z.ZodOptional<z.ZodObject<{
465
+ username: z.ZodOptional<z.ZodString>;
466
+ secretRotation: z.ZodOptional<z.ZodObject<{
467
+ automaticallyAfterDays: z.ZodOptional<z.ZodNumber>;
468
+ }, z.core.$strict>>;
469
+ }, z.core.$strict>>;
470
+ encryption: z.ZodOptional<z.ZodObject<{
471
+ storageKey: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
472
+ awsManaged: z.ZodLiteral<true>;
473
+ }, z.core.$strict>, z.ZodObject<{
474
+ useCMK: z.ZodLiteral<true>;
475
+ }, z.core.$strict>]>>;
476
+ }, z.core.$strict>>;
477
+ deletionProtection: z.ZodOptional<z.ZodBoolean>;
478
+ resourceName: z.ZodString;
479
+ databaseType: z.ZodLiteral<"Aurora">;
480
+ writer: z.ZodOptional<z.ZodObject<{
481
+ enableDatabaseInsights: z.ZodOptional<z.ZodBoolean>;
482
+ identifierSuffix: z.ZodOptional<z.ZodString>;
483
+ availabilityZone: z.ZodOptional<z.ZodString>;
484
+ }, z.core.$strict>>;
485
+ readers: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
486
+ count: z.ZodOptional<z.ZodNumber>;
487
+ instances: z.ZodOptional<z.ZodArray<z.ZodObject<{
488
+ scaleWithWriter: z.ZodOptional<z.ZodBoolean>;
489
+ enableDatabaseInsights: z.ZodOptional<z.ZodBoolean>;
490
+ identifierSuffix: z.ZodOptional<z.ZodString>;
491
+ availabilityZone: z.ZodOptional<z.ZodString>;
492
+ }, z.core.$strict>>>;
493
+ defaultEnableDatabaseInsights: z.ZodOptional<z.ZodBoolean>;
494
+ }, z.core.$strict>]>>;
495
+ backupRetention: z.ZodOptional<z.ZodNumber>;
496
+ preferredMaintenanceWindow: z.ZodOptional<z.ZodString>;
497
+ monitoringInterval: z.ZodOptional<z.ZodNumber>;
498
+ snapshotIdentifier: z.ZodOptional<z.ZodString>;
499
+ snapshotUsername: z.ZodOptional<z.ZodString>;
500
+ }, z.core.$strict>, z.ZodObject<{
501
+ appName: z.ZodString;
502
+ nameProvidedByFlag: z.ZodOptional<z.ZodBoolean>;
503
+ databaseName: z.ZodString;
504
+ connectionConfig: z.ZodOptional<z.ZodObject<{
505
+ connectToCompute: z.ZodOptional<z.ZodArray<z.ZodString>>;
506
+ connectToServices: z.ZodOptional<z.ZodArray<z.ZodString>>;
507
+ }, z.core.$strict>>;
508
+ databaseInsights: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
509
+ mode: z.ZodOptional<z.ZodEnum<{
510
+ standard: "standard";
511
+ advanced: "advanced";
512
+ }>>;
513
+ encryptionKey: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
514
+ awsManaged: z.ZodLiteral<true>;
515
+ }, z.core.$strict>, z.ZodObject<{
516
+ useCMK: z.ZodLiteral<true>;
517
+ }, z.core.$strict>]>>;
518
+ }, z.core.$strict>]>>;
519
+ port: z.ZodOptional<z.ZodNumber>;
520
+ proxy: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
521
+ maxConnections: z.ZodOptional<z.ZodNumber>;
522
+ maxIdleConnections: z.ZodOptional<z.ZodNumber>;
523
+ connectionBorrowTimeout: z.ZodOptional<z.ZodNumber>;
524
+ requireTLS: z.ZodOptional<z.ZodBoolean>;
525
+ }, z.core.$strict>]>>;
526
+ credentials: z.ZodOptional<z.ZodObject<{
527
+ username: z.ZodOptional<z.ZodString>;
528
+ secretRotation: z.ZodOptional<z.ZodObject<{
529
+ automaticallyAfterDays: z.ZodOptional<z.ZodNumber>;
530
+ }, z.core.$strict>>;
531
+ }, z.core.$strict>>;
532
+ encryption: z.ZodOptional<z.ZodObject<{
533
+ storageKey: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
534
+ awsManaged: z.ZodLiteral<true>;
535
+ }, z.core.$strict>, z.ZodObject<{
536
+ useCMK: z.ZodLiteral<true>;
537
+ }, z.core.$strict>]>>;
538
+ }, z.core.$strict>>;
539
+ deletionProtection: z.ZodOptional<z.ZodBoolean>;
540
+ resourceName: z.ZodString;
541
+ databaseType: z.ZodLiteral<"GlobalAurora">;
542
+ primaryRegion: z.ZodString;
543
+ secondaryRegions: z.ZodOptional<z.ZodArray<z.ZodString>>;
544
+ globalClusterIdentifier: z.ZodOptional<z.ZodString>;
545
+ enableGlobalWriteForwarding: z.ZodOptional<z.ZodBoolean>;
546
+ writer: z.ZodOptional<z.ZodObject<{
547
+ enableDatabaseInsights: z.ZodOptional<z.ZodBoolean>;
548
+ identifierSuffix: z.ZodOptional<z.ZodString>;
549
+ availabilityZone: z.ZodOptional<z.ZodString>;
550
+ }, z.core.$strict>>;
551
+ readers: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
552
+ count: z.ZodOptional<z.ZodNumber>;
553
+ instances: z.ZodOptional<z.ZodArray<z.ZodObject<{
554
+ scaleWithWriter: z.ZodOptional<z.ZodBoolean>;
555
+ enableDatabaseInsights: z.ZodOptional<z.ZodBoolean>;
556
+ identifierSuffix: z.ZodOptional<z.ZodString>;
557
+ availabilityZone: z.ZodOptional<z.ZodString>;
558
+ }, z.core.$strict>>>;
559
+ defaultEnableDatabaseInsights: z.ZodOptional<z.ZodBoolean>;
560
+ }, z.core.$strict>]>>;
561
+ backupRetention: z.ZodOptional<z.ZodNumber>;
562
+ preferredMaintenanceWindow: z.ZodOptional<z.ZodString>;
563
+ monitoringInterval: z.ZodOptional<z.ZodNumber>;
564
+ snapshotIdentifier: z.ZodOptional<z.ZodString>;
565
+ snapshotUsername: z.ZodOptional<z.ZodString>;
566
+ }, z.core.$strict>], "databaseType">;
567
+ /**
568
+ * Schema for adding RDS Proxy to an existing database.
569
+ * Used by the `fjall add proxy` command.
570
+ */
571
+ export declare const AddProxyGeneratorSchema: z.ZodObject<{
572
+ appName: z.ZodString;
573
+ databaseName: z.ZodString;
574
+ maxConnections: z.ZodOptional<z.ZodNumber>;
575
+ maxIdleConnections: z.ZodOptional<z.ZodNumber>;
576
+ connectionBorrowTimeout: z.ZodOptional<z.ZodNumber>;
577
+ requireTLS: z.ZodOptional<z.ZodBoolean>;
578
+ nameProvidedByFlag: z.ZodOptional<z.ZodBoolean>;
579
+ }, z.core.$strict>;
580
+ /**
581
+ * DynamoDB table resource plan schema (for OpenNext patterns)
582
+ */
583
+ export declare const DynamoDBResourcePlanSchema: z.ZodObject<{
584
+ name: z.ZodString;
585
+ partitionKey: z.ZodObject<{
586
+ name: z.ZodString;
587
+ type: z.ZodEnum<{
588
+ S: "S";
589
+ N: "N";
590
+ B: "B";
591
+ }>;
592
+ }, z.core.$strict>;
593
+ sortKey: z.ZodOptional<z.ZodObject<{
594
+ name: z.ZodString;
595
+ type: z.ZodEnum<{
596
+ S: "S";
597
+ N: "N";
598
+ B: "B";
599
+ }>;
600
+ }, z.core.$strict>>;
601
+ globalSecondaryIndexes: z.ZodOptional<z.ZodArray<z.ZodObject<{
602
+ indexName: z.ZodString;
603
+ partitionKey: z.ZodObject<{
604
+ name: z.ZodString;
605
+ type: z.ZodEnum<{
606
+ S: "S";
607
+ N: "N";
608
+ B: "B";
609
+ }>;
610
+ }, z.core.$strict>;
611
+ sortKey: z.ZodOptional<z.ZodObject<{
612
+ name: z.ZodString;
613
+ type: z.ZodEnum<{
614
+ S: "S";
615
+ N: "N";
616
+ B: "B";
617
+ }>;
618
+ }, z.core.$strict>>;
619
+ }, z.core.$strict>>>;
620
+ ttlAttribute: z.ZodOptional<z.ZodString>;
621
+ stream: z.ZodOptional<z.ZodBoolean>;
622
+ variableName: z.ZodOptional<z.ZodString>;
623
+ extraProperties: z.ZodOptional<z.ZodArray<z.ZodObject<{
624
+ key: z.ZodString;
625
+ sourceText: z.ZodString;
626
+ }, z.core.$strict>>>;
627
+ }, z.core.$strict>;
628
+ export type ProxyConfig = z.infer<typeof ProxyConfigSchema>;
629
+ export type ReadReplicaConfig = z.infer<typeof ReadReplicaConfigSchema>;
630
+ export type CredentialsConfig = z.infer<typeof CredentialsConfigSchema>;
631
+ export type DatabaseInsightsConfig = z.infer<typeof DatabaseInsightsConfigSchema>;
632
+ export type EncryptionConfig = z.infer<typeof EncryptionConfigSchema>;
633
+ export type AuroraWriterConfig = z.infer<typeof AuroraWriterConfigSchema>;
634
+ export type AuroraReadersConfig = z.infer<typeof AuroraReadersConfigSchema>;
635
+ export type DatabaseResourcePlan = z.infer<typeof DatabaseResourcePlanSchema>;
636
+ export type DynamoDBResourcePlan = z.infer<typeof DynamoDBResourcePlanSchema>;
637
+ export type DatabaseGeneratorOptions = z.infer<typeof DatabaseGeneratorSchema>;
638
+ export type AddProxyGeneratorOptions = z.infer<typeof AddProxyGeneratorSchema>;