@cloudfleet/sdk 0.0.1-6a8db0f → 0.0.1-6b51285

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 (73) hide show
  1. package/README.md +26 -2
  2. package/dist/@tanstack/react-query.gen.d.ts +1159 -0
  3. package/dist/@tanstack/react-query.gen.d.ts.map +1 -0
  4. package/dist/@tanstack/react-query.gen.js +1175 -0
  5. package/dist/@tanstack/react-query.gen.js.map +1 -0
  6. package/dist/client/client.gen.d.ts +3 -0
  7. package/dist/client/client.gen.d.ts.map +1 -0
  8. package/dist/client/client.gen.js +217 -0
  9. package/dist/client/client.gen.js.map +1 -0
  10. package/dist/client/index.d.ts +9 -0
  11. package/dist/client/index.d.ts.map +1 -0
  12. package/dist/client/index.js +7 -0
  13. package/dist/client/index.js.map +1 -0
  14. package/dist/client/types.gen.d.ts +121 -0
  15. package/dist/client/types.gen.d.ts.map +1 -0
  16. package/dist/client/types.gen.js +3 -0
  17. package/dist/client/types.gen.js.map +1 -0
  18. package/dist/client/utils.gen.d.ts +38 -0
  19. package/dist/client/utils.gen.d.ts.map +1 -0
  20. package/dist/client/utils.gen.js +229 -0
  21. package/dist/client/utils.gen.js.map +1 -0
  22. package/dist/client.gen.d.ts +4 -4
  23. package/dist/client.gen.d.ts.map +1 -1
  24. package/dist/client.gen.js +2 -4
  25. package/dist/client.gen.js.map +1 -1
  26. package/dist/core/auth.gen.d.ts +19 -0
  27. package/dist/core/auth.gen.d.ts.map +1 -0
  28. package/dist/core/auth.gen.js +15 -0
  29. package/dist/core/auth.gen.js.map +1 -0
  30. package/dist/core/bodySerializer.gen.d.ts +26 -0
  31. package/dist/core/bodySerializer.gen.d.ts.map +1 -0
  32. package/dist/core/bodySerializer.gen.js +58 -0
  33. package/dist/core/bodySerializer.gen.js.map +1 -0
  34. package/dist/core/params.gen.d.ts +44 -0
  35. package/dist/core/params.gen.d.ts.map +1 -0
  36. package/dist/core/params.gen.js +101 -0
  37. package/dist/core/params.gen.js.map +1 -0
  38. package/dist/core/pathSerializer.gen.d.ts +34 -0
  39. package/dist/core/pathSerializer.gen.d.ts.map +1 -0
  40. package/dist/core/pathSerializer.gen.js +107 -0
  41. package/dist/core/pathSerializer.gen.js.map +1 -0
  42. package/dist/core/queryKeySerializer.gen.d.ts +19 -0
  43. package/dist/core/queryKeySerializer.gen.d.ts.map +1 -0
  44. package/dist/core/queryKeySerializer.gen.js +93 -0
  45. package/dist/core/queryKeySerializer.gen.js.map +1 -0
  46. package/dist/core/serverSentEvents.gen.d.ts +72 -0
  47. package/dist/core/serverSentEvents.gen.d.ts.map +1 -0
  48. package/dist/core/serverSentEvents.gen.js +133 -0
  49. package/dist/core/serverSentEvents.gen.js.map +1 -0
  50. package/dist/core/types.gen.d.ts +79 -0
  51. package/dist/core/types.gen.d.ts.map +1 -0
  52. package/dist/core/types.gen.js +3 -0
  53. package/dist/core/types.gen.js.map +1 -0
  54. package/dist/core/utils.gen.d.ts +20 -0
  55. package/dist/core/utils.gen.d.ts.map +1 -0
  56. package/dist/core/utils.gen.js +88 -0
  57. package/dist/core/utils.gen.js.map +1 -0
  58. package/dist/schemas.gen.d.ts +1724 -680
  59. package/dist/schemas.gen.d.ts.map +1 -1
  60. package/dist/schemas.gen.js +3034 -709
  61. package/dist/schemas.gen.js.map +1 -1
  62. package/dist/sdk.gen.d.ts +300 -175
  63. package/dist/sdk.gen.d.ts.map +1 -1
  64. package/dist/sdk.gen.js +427 -348
  65. package/dist/sdk.gen.js.map +1 -1
  66. package/dist/services/kubernetes/api.d.ts +20 -20
  67. package/dist/types.gen.d.ts +1825 -801
  68. package/dist/types.gen.d.ts.map +1 -1
  69. package/dist/zod.gen.d.ts +3889 -2233
  70. package/dist/zod.gen.d.ts.map +1 -1
  71. package/dist/zod.gen.js +1526 -824
  72. package/dist/zod.gen.js.map +1 -1
  73. package/package.json +28 -9
package/dist/zod.gen.js CHANGED
@@ -1,6 +1,7 @@
1
1
  // This file is auto-generated by @hey-api/openapi-ts
2
- import { z } from 'zod';
2
+ import * as z from 'zod';
3
3
  export const zBillingContact = z.object({
4
+ type: z.enum(['business', 'personal']),
4
5
  company: z.string().min(2).max(120).regex(/^(?!\s)(?!.*\s$)(?=.*[a-zA-ZÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ0-9])[a-zA-ZÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ0-9 -.]{2,}$/).optional(),
5
6
  address1: z.string().optional(),
6
7
  address2: z.string().optional(),
@@ -9,9 +10,8 @@ export const zBillingContact = z.object({
9
10
  state: z.string().optional(),
10
11
  country: z.string().optional(),
11
12
  phone: z.string().optional(),
12
- email: z.string().email(),
13
- first_name: z.string(),
14
- last_name: z.string(),
13
+ email: z.email(),
14
+ individual_name: z.string(),
15
15
  tax_id: z.string().optional(),
16
16
  tax_id_type: z.enum([
17
17
  'ad_nrt',
@@ -146,16 +146,12 @@ export const zBillingContact = z.object({
146
146
  });
147
147
  export const zBillingCredits = z.object({
148
148
  id: z.string().optional(),
149
- date_created: z.string().datetime(),
149
+ type: z.enum(['credit', 'discount']),
150
+ date_start: z.iso.datetime(),
151
+ date_end: z.iso.datetime().optional(),
150
152
  code: z.string(),
151
153
  description: z.string().optional(),
152
- products: z.array(z.string()).optional(),
153
- type: z.enum([
154
- 'credit',
155
- 'discount'
156
- ]),
157
- value: z.number(),
158
- billing_period: z.string().datetime(),
154
+ value_total: z.number(),
159
155
  value_remaining: z.number().optional()
160
156
  });
161
157
  export const zChartCreateInput = z.object({
@@ -171,22 +167,7 @@ export const zChart = z.object({
171
167
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
172
168
  namespace: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
173
169
  chart: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
174
- status: z.enum([
175
- 'InstallSucceeded',
176
- 'InstallFailed',
177
- 'UpgradeSucceeded',
178
- 'UpgradeFailed',
179
- 'TestSucceeded',
180
- 'TestFailed',
181
- 'RollbackSucceeded',
182
- 'RollbackFailed',
183
- 'UninstallSucceeded',
184
- 'UninstallFailed',
185
- 'ArtifactFailed',
186
- 'DependencyNotReady',
187
- 'Progressing',
188
- 'SourceNotReady'
189
- ]),
170
+ status: z.string(),
190
171
  version_current: z.string(),
191
172
  created_at: z.string(),
192
173
  updated_at: z.string(),
@@ -196,27 +177,62 @@ export const zChartUpdateInput = z.object({
196
177
  values: z.string(),
197
178
  version_channel: z.string().regex(/^(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/)
198
179
  });
180
+ /**
181
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
182
+ */
199
183
  export const zClusterCreateInput = z.object({
200
184
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
201
- region: z.enum([
202
- 'staging',
203
- 'northamerica-central-1'
204
- ]).optional(),
205
185
  tier: z.enum([
206
186
  'basic',
207
- 'pro'
208
- ]),
209
- version_channel: z.string().regex(/^(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/).optional().default('1.x.x-cfke.x')
187
+ 'pro',
188
+ 'enterprise'
189
+ ]).optional().default('basic'),
190
+ version_channel: z.string().regex(/^(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/).optional().default('1.x.x-cfke.x'),
191
+ release_channel: z.enum([
192
+ 'rapid',
193
+ 'stable',
194
+ 'extended'
195
+ ]).optional().default('rapid'),
196
+ features: z.object({
197
+ gpu_sharing_strategy: z.enum([
198
+ 'none',
199
+ 'mps',
200
+ 'time_slicing'
201
+ ]).optional().default('none'),
202
+ gpu_max_shared_clients_per_gpu: z.int().gte(2).lte(48).optional().default(4),
203
+ cilium_socket_lb_host_namespace_only: z.boolean().optional()
204
+ }).optional().default({
205
+ gpu_sharing_strategy: 'none',
206
+ gpu_max_shared_clients_per_gpu: 4,
207
+ cilium_socket_lb_host_namespace_only: false
208
+ }),
209
+ region: z.string(),
210
+ networking: z.object({
211
+ pod_cidr: z.string().optional().default('10.244.0.0/16'),
212
+ service_cidr: z.string().optional().default('10.96.0.0/12'),
213
+ dual_stack: z.boolean().optional(),
214
+ pod_cidr_v6: z.string().optional().default('2001:db8:1:2::/48'),
215
+ service_cidr_v6: z.string().optional().default('2001:db8:1:1::/112')
216
+ }).optional().default({
217
+ pod_cidr: '10.244.0.0/16',
218
+ service_cidr: '10.96.0.0/12',
219
+ dual_stack: false,
220
+ pod_cidr_v6: '2001:db8:1:2::/48',
221
+ service_cidr_v6: '2001:db8:1:1::/112'
222
+ })
210
223
  });
211
224
  export const zClusterJoinInformation = z.object({
212
225
  certificate_authority: z.string(),
213
- endpoint: z.string().url(),
226
+ endpoint: z.url(),
227
+ cluster_dns: z.string(),
228
+ pod_cidr: z.string(),
214
229
  auth_key: z.string(),
215
230
  bootstrap_token: z.string(),
216
231
  versions: z.object({
217
232
  kubernetes: z.string(),
218
233
  tailscale: z.string(),
219
- containerd: z.string()
234
+ containerd: z.string(),
235
+ nvidia_driver: z.string()
220
236
  }),
221
237
  third_party_api_access_config: z.object({
222
238
  metadata_url: z.string(),
@@ -224,910 +240,1596 @@ export const zClusterJoinInformation = z.object({
224
240
  gcp_workload_identity_provider: z.string()
225
241
  })
226
242
  });
243
+ /**
244
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
245
+ */
227
246
  export const zCluster = z.object({
228
247
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
229
- region: z.enum([
230
- 'staging',
231
- 'northamerica-central-1'
232
- ]).optional(),
233
248
  tier: z.enum([
234
249
  'basic',
235
- 'pro'
236
- ]),
237
- version_channel: z.string().regex(/^(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/).optional().default('1.x.x-cfke.x'),
238
- id: z.string().uuid(),
250
+ 'pro',
251
+ 'enterprise'
252
+ ]).default('basic'),
253
+ version_channel: z.string().regex(/^(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/).default('1.x.x-cfke.x'),
254
+ release_channel: z.enum([
255
+ 'rapid',
256
+ 'stable',
257
+ 'extended'
258
+ ]).default('rapid'),
259
+ features: z.object({
260
+ gpu_sharing_strategy: z.enum([
261
+ 'none',
262
+ 'mps',
263
+ 'time_slicing'
264
+ ]).default('none'),
265
+ gpu_max_shared_clients_per_gpu: z.int().gte(2).lte(48).default(4),
266
+ cilium_socket_lb_host_namespace_only: z.boolean()
267
+ }).default({
268
+ gpu_sharing_strategy: 'none',
269
+ gpu_max_shared_clients_per_gpu: 4,
270
+ cilium_socket_lb_host_namespace_only: false
271
+ }),
272
+ region: z.string(),
273
+ networking: z.object({
274
+ pod_cidr: z.string().default('10.244.0.0/16'),
275
+ service_cidr: z.string().default('10.96.0.0/12'),
276
+ dual_stack: z.boolean(),
277
+ pod_cidr_v6: z.string().default('2001:db8:1:2::/48'),
278
+ service_cidr_v6: z.string().default('2001:db8:1:1::/112')
279
+ }).default({
280
+ pod_cidr: '10.244.0.0/16',
281
+ service_cidr: '10.96.0.0/12',
282
+ dual_stack: false,
283
+ pod_cidr_v6: '2001:db8:1:2::/48',
284
+ service_cidr_v6: '2001:db8:1:1::/112'
285
+ }),
286
+ id: z.uuid(),
239
287
  status: z.enum([
240
- 'active',
241
- 'deleted',
242
288
  'creating',
243
289
  'deployed',
244
- 'failed',
245
- 'updating'
290
+ 'updating',
291
+ 'disabled'
246
292
  ]),
247
293
  endpoint: z.union([
248
- z.string().url(),
249
- z.enum([
250
- ''
251
- ])
294
+ z.url(),
295
+ z.enum([''])
296
+ ]).optional(),
297
+ endpoint_public: z.union([
298
+ z.url(),
299
+ z.enum([''])
252
300
  ]).optional(),
253
301
  certificate_ca: z.string().optional(),
254
302
  version_current: z.string().optional(),
255
303
  created_at: z.string().optional(),
256
304
  updated_at: z.string().optional(),
257
- ready: z.boolean().optional()
305
+ ready: z.boolean()
258
306
  });
307
+ /**
308
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
309
+ */
259
310
  export const zClusterUpdateInput = z.object({
260
- name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/).optional(),
261
- version_channel: z.string().regex(/^(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/).optional()
311
+ name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
312
+ tier: z.enum([
313
+ 'basic',
314
+ 'pro',
315
+ 'enterprise'
316
+ ]).optional().default('basic'),
317
+ version_channel: z.string().regex(/^(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/).optional().default('1.x.x-cfke.x'),
318
+ release_channel: z.enum([
319
+ 'rapid',
320
+ 'stable',
321
+ 'extended'
322
+ ]).optional().default('rapid'),
323
+ features: z.object({
324
+ gpu_sharing_strategy: z.enum([
325
+ 'none',
326
+ 'mps',
327
+ 'time_slicing'
328
+ ]).optional().default('none'),
329
+ gpu_max_shared_clients_per_gpu: z.int().gte(2).lte(48).optional().default(4),
330
+ cilium_socket_lb_host_namespace_only: z.boolean().optional()
331
+ }).optional().default({
332
+ gpu_sharing_strategy: 'none',
333
+ gpu_max_shared_clients_per_gpu: 4,
334
+ cilium_socket_lb_host_namespace_only: false
335
+ })
262
336
  });
337
+ /**
338
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
339
+ */
263
340
  export const zFleetCreateInput = z.object({
264
341
  limits: z.object({
265
- cpu: z.number().gte(0)
342
+ cpu: z.int().gte(0).lte(100000).optional()
266
343
  }).optional(),
267
344
  gcp: z.object({
268
- enabled: z.boolean().optional().default(true),
269
- project: z.string()
345
+ enabled: z.boolean(),
346
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
270
347
  }).optional(),
271
348
  hetzner: z.object({
272
- enabled: z.boolean().optional().default(true),
273
- apiKey: z.string()
349
+ enabled: z.boolean(),
350
+ apiKey: z.string().length(64).regex(/^([A-Za-z0-9]{64}|\*{64})$/).optional()
274
351
  }).optional(),
275
352
  aws: z.object({
276
- enabled: z.boolean().optional().default(true),
277
- controllerRoleArn: z.string()
353
+ enabled: z.boolean(),
354
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
278
355
  }).optional(),
356
+ constraints: z.object({
357
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).optional().default(['on-demand', 'spot']),
358
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).optional().default(['amd64']),
359
+ 'cfke.io/instance-family': z.array(z.enum([
360
+ 'a1',
361
+ 'a2',
362
+ 'a3',
363
+ 'a4',
364
+ 'c1',
365
+ 'c2',
366
+ 'c2d',
367
+ 'c3',
368
+ 'c3d',
369
+ 'c4',
370
+ 'c4a',
371
+ 'c4d',
372
+ 'c5',
373
+ 'c5a',
374
+ 'c5ad',
375
+ 'c5d',
376
+ 'c5n',
377
+ 'c6a',
378
+ 'c6g',
379
+ 'c6gd',
380
+ 'c6gn',
381
+ 'c6i',
382
+ 'c6id',
383
+ 'c6in',
384
+ 'c7a',
385
+ 'c7g',
386
+ 'c7gd',
387
+ 'c7gn',
388
+ 'c7i',
389
+ 'c7i-flex',
390
+ 'c8g',
391
+ 'c8gd',
392
+ 'cax',
393
+ 'ccx',
394
+ 'cpx',
395
+ 'cx',
396
+ 'd2',
397
+ 'd3',
398
+ 'd3en',
399
+ 'dl1',
400
+ 'dl2q',
401
+ 'e2',
402
+ 'f1',
403
+ 'f2',
404
+ 'g1',
405
+ 'g2',
406
+ 'g4ad',
407
+ 'g4dn',
408
+ 'g5',
409
+ 'g5g',
410
+ 'g6',
411
+ 'g6e',
412
+ 'gr6',
413
+ 'h1',
414
+ 'h3',
415
+ 'hpc6a',
416
+ 'hpc6id',
417
+ 'hpc7a',
418
+ 'hpc7g',
419
+ 'i2',
420
+ 'i3',
421
+ 'i3en',
422
+ 'i4g',
423
+ 'i4i',
424
+ 'i7i',
425
+ 'i7ie',
426
+ 'i8g',
427
+ 'im4gn',
428
+ 'inf1',
429
+ 'inf2',
430
+ 'is4gen',
431
+ 'm1',
432
+ 'm2',
433
+ 'm3',
434
+ 'm4',
435
+ 'm5',
436
+ 'm5a',
437
+ 'm5ad',
438
+ 'm5d',
439
+ 'm5dn',
440
+ 'm5n',
441
+ 'm5zn',
442
+ 'm6a',
443
+ 'm6g',
444
+ 'm6gd',
445
+ 'm6i',
446
+ 'm6id',
447
+ 'm6idn',
448
+ 'm6in',
449
+ 'm7a',
450
+ 'm7g',
451
+ 'm7gd',
452
+ 'm7i',
453
+ 'm7i-flex',
454
+ 'm8g',
455
+ 'm8gd',
456
+ 'n1',
457
+ 'n2',
458
+ 'n2d',
459
+ 'n4',
460
+ 'p3',
461
+ 'p3dn',
462
+ 'p4d',
463
+ 'p4de',
464
+ 'p5',
465
+ 'p5e',
466
+ 'p5en',
467
+ 'p6-b200',
468
+ 'r3',
469
+ 'r4',
470
+ 'r5',
471
+ 'r5a',
472
+ 'r5ad',
473
+ 'r5b',
474
+ 'r5d',
475
+ 'r5dn',
476
+ 'r5n',
477
+ 'r6a',
478
+ 'r6g',
479
+ 'r6gd',
480
+ 'r6i',
481
+ 'r6id',
482
+ 'r6idn',
483
+ 'r6in',
484
+ 'r7a',
485
+ 'r7g',
486
+ 'r7gd',
487
+ 'r7i',
488
+ 'r7iz',
489
+ 'r8g',
490
+ 'r8gd',
491
+ 't2',
492
+ 't2a',
493
+ 't2d',
494
+ 't3',
495
+ 't3a',
496
+ 't4g',
497
+ 'trn1',
498
+ 'trn1n',
499
+ 'u-3tb1',
500
+ 'u-6tb1',
501
+ 'u7i-12tb',
502
+ 'u7i-6tb',
503
+ 'u7i-8tb',
504
+ 'u7in-16tb',
505
+ 'u7in-24tb',
506
+ 'u7in-32tb',
507
+ 'vt1',
508
+ 'x1',
509
+ 'x1e',
510
+ 'x2gd',
511
+ 'x2idn',
512
+ 'x2iedn',
513
+ 'x2iezn',
514
+ 'x4',
515
+ 'x8g',
516
+ 'z1d',
517
+ 'z3'
518
+ ])).optional().default([]),
519
+ 'topology.kubernetes.io/region': z.array(z.enum([
520
+ 'africa-south1',
521
+ 'ap-northeast-1',
522
+ 'ap-northeast-2',
523
+ 'ap-northeast-3',
524
+ 'ap-south-1',
525
+ 'ap-southeast-1',
526
+ 'ap-southeast-2',
527
+ 'ash',
528
+ 'asia-east1',
529
+ 'asia-east2',
530
+ 'asia-northeast1',
531
+ 'asia-northeast2',
532
+ 'asia-northeast3',
533
+ 'asia-south1',
534
+ 'asia-south2',
535
+ 'asia-southeast1',
536
+ 'asia-southeast2',
537
+ 'australia-southeast1',
538
+ 'australia-southeast2',
539
+ 'ca-central-1',
540
+ 'eu-central-1',
541
+ 'eu-central-2',
542
+ 'eu-north-1',
543
+ 'eu-west-1',
544
+ 'eu-west-2',
545
+ 'eu-west-3',
546
+ 'europe-central2',
547
+ 'europe-north1',
548
+ 'europe-southwest1',
549
+ 'europe-west1',
550
+ 'europe-west10',
551
+ 'europe-west12',
552
+ 'europe-west2',
553
+ 'europe-west3',
554
+ 'europe-west4',
555
+ 'europe-west6',
556
+ 'europe-west8',
557
+ 'europe-west9',
558
+ 'fsn1',
559
+ 'hel1',
560
+ 'hil',
561
+ 'me-central1',
562
+ 'me-central2',
563
+ 'me-west1',
564
+ 'nbg1',
565
+ 'northamerica-northeast1',
566
+ 'northamerica-northeast2',
567
+ 'sa-east-1',
568
+ 'sin',
569
+ 'southamerica-east1',
570
+ 'southamerica-west1',
571
+ 'us-central1',
572
+ 'us-east-1',
573
+ 'us-east-2',
574
+ 'us-east1',
575
+ 'us-east4',
576
+ 'us-east5',
577
+ 'us-south1',
578
+ 'us-west-1',
579
+ 'us-west-2',
580
+ 'us-west1',
581
+ 'us-west2',
582
+ 'us-west3',
583
+ 'us-west4'
584
+ ])).optional().default([])
585
+ }).optional().default({
586
+ 'karpenter.sh/capacity-type': ['on-demand', 'spot'],
587
+ 'kubernetes.io/arch': ['amd64'],
588
+ 'cfke.io/instance-family': [],
589
+ 'topology.kubernetes.io/region': []
590
+ }),
591
+ scalingProfile: z.enum(['aggressive', 'conservative']).optional().default('conservative'),
279
592
  id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/)
280
593
  });
594
+ /**
595
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
596
+ */
281
597
  export const zFleet = z.object({
282
598
  limits: z.object({
283
- cpu: z.number().gte(0)
599
+ cpu: z.int().gte(0).lte(100000).optional()
284
600
  }).optional(),
285
601
  gcp: z.object({
286
- enabled: z.boolean().optional().default(true),
287
- project: z.string()
602
+ enabled: z.boolean(),
603
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
288
604
  }).optional(),
289
605
  hetzner: z.object({
290
- enabled: z.boolean().optional().default(true),
291
- apiKey: z.string()
606
+ enabled: z.boolean(),
607
+ apiKey: z.string().regex(/^\*{64}$/).optional()
292
608
  }).optional(),
293
609
  aws: z.object({
294
- enabled: z.boolean().optional().default(true),
295
- controllerRoleArn: z.string()
610
+ enabled: z.boolean(),
611
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
296
612
  }).optional(),
297
- id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/)
613
+ constraints: z.object({
614
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).default(['on-demand', 'spot']),
615
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).default(['amd64']),
616
+ 'cfke.io/instance-family': z.array(z.enum([
617
+ 'a1',
618
+ 'a2',
619
+ 'a3',
620
+ 'a4',
621
+ 'c1',
622
+ 'c2',
623
+ 'c2d',
624
+ 'c3',
625
+ 'c3d',
626
+ 'c4',
627
+ 'c4a',
628
+ 'c4d',
629
+ 'c5',
630
+ 'c5a',
631
+ 'c5ad',
632
+ 'c5d',
633
+ 'c5n',
634
+ 'c6a',
635
+ 'c6g',
636
+ 'c6gd',
637
+ 'c6gn',
638
+ 'c6i',
639
+ 'c6id',
640
+ 'c6in',
641
+ 'c7a',
642
+ 'c7g',
643
+ 'c7gd',
644
+ 'c7gn',
645
+ 'c7i',
646
+ 'c7i-flex',
647
+ 'c8g',
648
+ 'c8gd',
649
+ 'cax',
650
+ 'ccx',
651
+ 'cpx',
652
+ 'cx',
653
+ 'd2',
654
+ 'd3',
655
+ 'd3en',
656
+ 'dl1',
657
+ 'dl2q',
658
+ 'e2',
659
+ 'f1',
660
+ 'f2',
661
+ 'g1',
662
+ 'g2',
663
+ 'g4ad',
664
+ 'g4dn',
665
+ 'g5',
666
+ 'g5g',
667
+ 'g6',
668
+ 'g6e',
669
+ 'gr6',
670
+ 'h1',
671
+ 'h3',
672
+ 'hpc6a',
673
+ 'hpc6id',
674
+ 'hpc7a',
675
+ 'hpc7g',
676
+ 'i2',
677
+ 'i3',
678
+ 'i3en',
679
+ 'i4g',
680
+ 'i4i',
681
+ 'i7i',
682
+ 'i7ie',
683
+ 'i8g',
684
+ 'im4gn',
685
+ 'inf1',
686
+ 'inf2',
687
+ 'is4gen',
688
+ 'm1',
689
+ 'm2',
690
+ 'm3',
691
+ 'm4',
692
+ 'm5',
693
+ 'm5a',
694
+ 'm5ad',
695
+ 'm5d',
696
+ 'm5dn',
697
+ 'm5n',
698
+ 'm5zn',
699
+ 'm6a',
700
+ 'm6g',
701
+ 'm6gd',
702
+ 'm6i',
703
+ 'm6id',
704
+ 'm6idn',
705
+ 'm6in',
706
+ 'm7a',
707
+ 'm7g',
708
+ 'm7gd',
709
+ 'm7i',
710
+ 'm7i-flex',
711
+ 'm8g',
712
+ 'm8gd',
713
+ 'n1',
714
+ 'n2',
715
+ 'n2d',
716
+ 'n4',
717
+ 'p3',
718
+ 'p3dn',
719
+ 'p4d',
720
+ 'p4de',
721
+ 'p5',
722
+ 'p5e',
723
+ 'p5en',
724
+ 'p6-b200',
725
+ 'r3',
726
+ 'r4',
727
+ 'r5',
728
+ 'r5a',
729
+ 'r5ad',
730
+ 'r5b',
731
+ 'r5d',
732
+ 'r5dn',
733
+ 'r5n',
734
+ 'r6a',
735
+ 'r6g',
736
+ 'r6gd',
737
+ 'r6i',
738
+ 'r6id',
739
+ 'r6idn',
740
+ 'r6in',
741
+ 'r7a',
742
+ 'r7g',
743
+ 'r7gd',
744
+ 'r7i',
745
+ 'r7iz',
746
+ 'r8g',
747
+ 'r8gd',
748
+ 't2',
749
+ 't2a',
750
+ 't2d',
751
+ 't3',
752
+ 't3a',
753
+ 't4g',
754
+ 'trn1',
755
+ 'trn1n',
756
+ 'u-3tb1',
757
+ 'u-6tb1',
758
+ 'u7i-12tb',
759
+ 'u7i-6tb',
760
+ 'u7i-8tb',
761
+ 'u7in-16tb',
762
+ 'u7in-24tb',
763
+ 'u7in-32tb',
764
+ 'vt1',
765
+ 'x1',
766
+ 'x1e',
767
+ 'x2gd',
768
+ 'x2idn',
769
+ 'x2iedn',
770
+ 'x2iezn',
771
+ 'x4',
772
+ 'x8g',
773
+ 'z1d',
774
+ 'z3'
775
+ ])).optional().default([]),
776
+ 'topology.kubernetes.io/region': z.array(z.enum([
777
+ 'africa-south1',
778
+ 'ap-northeast-1',
779
+ 'ap-northeast-2',
780
+ 'ap-northeast-3',
781
+ 'ap-south-1',
782
+ 'ap-southeast-1',
783
+ 'ap-southeast-2',
784
+ 'ash',
785
+ 'asia-east1',
786
+ 'asia-east2',
787
+ 'asia-northeast1',
788
+ 'asia-northeast2',
789
+ 'asia-northeast3',
790
+ 'asia-south1',
791
+ 'asia-south2',
792
+ 'asia-southeast1',
793
+ 'asia-southeast2',
794
+ 'australia-southeast1',
795
+ 'australia-southeast2',
796
+ 'ca-central-1',
797
+ 'eu-central-1',
798
+ 'eu-central-2',
799
+ 'eu-north-1',
800
+ 'eu-west-1',
801
+ 'eu-west-2',
802
+ 'eu-west-3',
803
+ 'europe-central2',
804
+ 'europe-north1',
805
+ 'europe-southwest1',
806
+ 'europe-west1',
807
+ 'europe-west10',
808
+ 'europe-west12',
809
+ 'europe-west2',
810
+ 'europe-west3',
811
+ 'europe-west4',
812
+ 'europe-west6',
813
+ 'europe-west8',
814
+ 'europe-west9',
815
+ 'fsn1',
816
+ 'hel1',
817
+ 'hil',
818
+ 'me-central1',
819
+ 'me-central2',
820
+ 'me-west1',
821
+ 'nbg1',
822
+ 'northamerica-northeast1',
823
+ 'northamerica-northeast2',
824
+ 'sa-east-1',
825
+ 'sin',
826
+ 'southamerica-east1',
827
+ 'southamerica-west1',
828
+ 'us-central1',
829
+ 'us-east-1',
830
+ 'us-east-2',
831
+ 'us-east1',
832
+ 'us-east4',
833
+ 'us-east5',
834
+ 'us-south1',
835
+ 'us-west-1',
836
+ 'us-west-2',
837
+ 'us-west1',
838
+ 'us-west2',
839
+ 'us-west3',
840
+ 'us-west4'
841
+ ])).optional().default([])
842
+ }).default({
843
+ 'karpenter.sh/capacity-type': ['on-demand', 'spot'],
844
+ 'kubernetes.io/arch': ['amd64'],
845
+ 'cfke.io/instance-family': [],
846
+ 'topology.kubernetes.io/region': []
847
+ }),
848
+ scalingProfile: z.enum(['aggressive', 'conservative']).default('conservative'),
849
+ id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
850
+ ready: z.boolean(),
851
+ status_message: z.string().optional(),
852
+ created_at: z.string(),
853
+ updated_at: z.string()
298
854
  });
855
+ /**
856
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
857
+ */
299
858
  export const zFleetUpdateInput = z.object({
300
859
  limits: z.object({
301
- cpu: z.number().gte(0)
860
+ cpu: z.int().gte(0).lte(100000).optional()
302
861
  }).optional(),
303
862
  gcp: z.object({
304
- enabled: z.boolean().optional().default(true),
305
- project: z.string()
863
+ enabled: z.boolean(),
864
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
306
865
  }).optional(),
307
866
  hetzner: z.object({
308
- enabled: z.boolean().optional().default(true),
309
- apiKey: z.string()
867
+ enabled: z.boolean(),
868
+ apiKey: z.string().length(64).regex(/^([A-Za-z0-9]{64}|\*{64})$/).optional()
310
869
  }).optional(),
311
870
  aws: z.object({
312
- enabled: z.boolean().optional().default(true),
313
- controllerRoleArn: z.string()
314
- }).optional()
871
+ enabled: z.boolean(),
872
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
873
+ }).optional(),
874
+ constraints: z.object({
875
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).optional().default(['on-demand', 'spot']),
876
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).optional().default(['amd64']),
877
+ 'cfke.io/instance-family': z.array(z.enum([
878
+ 'a1',
879
+ 'a2',
880
+ 'a3',
881
+ 'a4',
882
+ 'c1',
883
+ 'c2',
884
+ 'c2d',
885
+ 'c3',
886
+ 'c3d',
887
+ 'c4',
888
+ 'c4a',
889
+ 'c4d',
890
+ 'c5',
891
+ 'c5a',
892
+ 'c5ad',
893
+ 'c5d',
894
+ 'c5n',
895
+ 'c6a',
896
+ 'c6g',
897
+ 'c6gd',
898
+ 'c6gn',
899
+ 'c6i',
900
+ 'c6id',
901
+ 'c6in',
902
+ 'c7a',
903
+ 'c7g',
904
+ 'c7gd',
905
+ 'c7gn',
906
+ 'c7i',
907
+ 'c7i-flex',
908
+ 'c8g',
909
+ 'c8gd',
910
+ 'cax',
911
+ 'ccx',
912
+ 'cpx',
913
+ 'cx',
914
+ 'd2',
915
+ 'd3',
916
+ 'd3en',
917
+ 'dl1',
918
+ 'dl2q',
919
+ 'e2',
920
+ 'f1',
921
+ 'f2',
922
+ 'g1',
923
+ 'g2',
924
+ 'g4ad',
925
+ 'g4dn',
926
+ 'g5',
927
+ 'g5g',
928
+ 'g6',
929
+ 'g6e',
930
+ 'gr6',
931
+ 'h1',
932
+ 'h3',
933
+ 'hpc6a',
934
+ 'hpc6id',
935
+ 'hpc7a',
936
+ 'hpc7g',
937
+ 'i2',
938
+ 'i3',
939
+ 'i3en',
940
+ 'i4g',
941
+ 'i4i',
942
+ 'i7i',
943
+ 'i7ie',
944
+ 'i8g',
945
+ 'im4gn',
946
+ 'inf1',
947
+ 'inf2',
948
+ 'is4gen',
949
+ 'm1',
950
+ 'm2',
951
+ 'm3',
952
+ 'm4',
953
+ 'm5',
954
+ 'm5a',
955
+ 'm5ad',
956
+ 'm5d',
957
+ 'm5dn',
958
+ 'm5n',
959
+ 'm5zn',
960
+ 'm6a',
961
+ 'm6g',
962
+ 'm6gd',
963
+ 'm6i',
964
+ 'm6id',
965
+ 'm6idn',
966
+ 'm6in',
967
+ 'm7a',
968
+ 'm7g',
969
+ 'm7gd',
970
+ 'm7i',
971
+ 'm7i-flex',
972
+ 'm8g',
973
+ 'm8gd',
974
+ 'n1',
975
+ 'n2',
976
+ 'n2d',
977
+ 'n4',
978
+ 'p3',
979
+ 'p3dn',
980
+ 'p4d',
981
+ 'p4de',
982
+ 'p5',
983
+ 'p5e',
984
+ 'p5en',
985
+ 'p6-b200',
986
+ 'r3',
987
+ 'r4',
988
+ 'r5',
989
+ 'r5a',
990
+ 'r5ad',
991
+ 'r5b',
992
+ 'r5d',
993
+ 'r5dn',
994
+ 'r5n',
995
+ 'r6a',
996
+ 'r6g',
997
+ 'r6gd',
998
+ 'r6i',
999
+ 'r6id',
1000
+ 'r6idn',
1001
+ 'r6in',
1002
+ 'r7a',
1003
+ 'r7g',
1004
+ 'r7gd',
1005
+ 'r7i',
1006
+ 'r7iz',
1007
+ 'r8g',
1008
+ 'r8gd',
1009
+ 't2',
1010
+ 't2a',
1011
+ 't2d',
1012
+ 't3',
1013
+ 't3a',
1014
+ 't4g',
1015
+ 'trn1',
1016
+ 'trn1n',
1017
+ 'u-3tb1',
1018
+ 'u-6tb1',
1019
+ 'u7i-12tb',
1020
+ 'u7i-6tb',
1021
+ 'u7i-8tb',
1022
+ 'u7in-16tb',
1023
+ 'u7in-24tb',
1024
+ 'u7in-32tb',
1025
+ 'vt1',
1026
+ 'x1',
1027
+ 'x1e',
1028
+ 'x2gd',
1029
+ 'x2idn',
1030
+ 'x2iedn',
1031
+ 'x2iezn',
1032
+ 'x4',
1033
+ 'x8g',
1034
+ 'z1d',
1035
+ 'z3'
1036
+ ])).optional().default([]),
1037
+ 'topology.kubernetes.io/region': z.array(z.enum([
1038
+ 'africa-south1',
1039
+ 'ap-northeast-1',
1040
+ 'ap-northeast-2',
1041
+ 'ap-northeast-3',
1042
+ 'ap-south-1',
1043
+ 'ap-southeast-1',
1044
+ 'ap-southeast-2',
1045
+ 'ash',
1046
+ 'asia-east1',
1047
+ 'asia-east2',
1048
+ 'asia-northeast1',
1049
+ 'asia-northeast2',
1050
+ 'asia-northeast3',
1051
+ 'asia-south1',
1052
+ 'asia-south2',
1053
+ 'asia-southeast1',
1054
+ 'asia-southeast2',
1055
+ 'australia-southeast1',
1056
+ 'australia-southeast2',
1057
+ 'ca-central-1',
1058
+ 'eu-central-1',
1059
+ 'eu-central-2',
1060
+ 'eu-north-1',
1061
+ 'eu-west-1',
1062
+ 'eu-west-2',
1063
+ 'eu-west-3',
1064
+ 'europe-central2',
1065
+ 'europe-north1',
1066
+ 'europe-southwest1',
1067
+ 'europe-west1',
1068
+ 'europe-west10',
1069
+ 'europe-west12',
1070
+ 'europe-west2',
1071
+ 'europe-west3',
1072
+ 'europe-west4',
1073
+ 'europe-west6',
1074
+ 'europe-west8',
1075
+ 'europe-west9',
1076
+ 'fsn1',
1077
+ 'hel1',
1078
+ 'hil',
1079
+ 'me-central1',
1080
+ 'me-central2',
1081
+ 'me-west1',
1082
+ 'nbg1',
1083
+ 'northamerica-northeast1',
1084
+ 'northamerica-northeast2',
1085
+ 'sa-east-1',
1086
+ 'sin',
1087
+ 'southamerica-east1',
1088
+ 'southamerica-west1',
1089
+ 'us-central1',
1090
+ 'us-east-1',
1091
+ 'us-east-2',
1092
+ 'us-east1',
1093
+ 'us-east4',
1094
+ 'us-east5',
1095
+ 'us-south1',
1096
+ 'us-west-1',
1097
+ 'us-west-2',
1098
+ 'us-west1',
1099
+ 'us-west2',
1100
+ 'us-west3',
1101
+ 'us-west4'
1102
+ ])).optional().default([])
1103
+ }).optional().default({
1104
+ 'karpenter.sh/capacity-type': ['on-demand', 'spot'],
1105
+ 'kubernetes.io/arch': ['amd64'],
1106
+ 'cfke.io/instance-family': [],
1107
+ 'topology.kubernetes.io/region': []
1108
+ }),
1109
+ scalingProfile: z.enum(['aggressive', 'conservative']).optional().default('conservative')
1110
+ });
1111
+ export const zInviteCreateInput = z.object({
1112
+ email: z.email(),
1113
+ role: z.enum(['Administrator', 'User']).optional().default('User')
315
1114
  });
316
1115
  export const zInvite = z.object({
317
1116
  id: z.string().optional(),
318
- organization_id: z.string().uuid().optional(),
319
- date_created: z.string().datetime(),
320
- email: z.string().email().optional(),
321
- code: z.string().optional()
1117
+ organization_id: z.uuid().optional(),
1118
+ date_created: z.iso.datetime(),
1119
+ email: z.email().optional(),
1120
+ code: z.string().optional(),
1121
+ role: z.enum(['Administrator', 'User']).optional().default('User')
322
1122
  });
323
1123
  export const zInvoice = z.object({
324
- id: z.string().uuid().optional(),
325
- organizationId: z.string().uuid().optional(),
326
- status: z.enum([
327
- 'DRAFT',
328
- 'COMMITTED',
329
- 'VOID'
330
- ]).optional(),
331
- amount: z.number().optional(),
332
- currency: z.enum([
333
- 'AED',
334
- 'AFN',
335
- 'ALL',
336
- 'AMD',
337
- 'ANG',
338
- 'AOA',
339
- 'ARS',
340
- 'AUD',
341
- 'AWG',
342
- 'AZN',
343
- 'BAM',
344
- 'BBD',
345
- 'BDT',
346
- 'BGN',
347
- 'BHD',
348
- 'BIF',
349
- 'BMD',
350
- 'BND',
351
- 'BOB',
352
- 'BRL',
353
- 'BSD',
354
- 'BTN',
355
- 'BWP',
356
- 'BYR',
357
- 'BZD',
358
- 'CAD',
359
- 'CDF',
360
- 'CHF',
361
- 'CLP',
362
- 'CNY',
363
- 'COP',
364
- 'CRC',
365
- 'CUC',
366
- 'CUP',
367
- 'CVE',
368
- 'CZK',
369
- 'DJF',
370
- 'DKK',
371
- 'DOP',
372
- 'DZD',
373
- 'EGP',
374
- 'ERN',
375
- 'ETB',
376
- 'EUR',
377
- 'FJD',
378
- 'FKP',
379
- 'GBP',
380
- 'GEL',
381
- 'GGP',
382
- 'GHS',
383
- 'GIP',
384
- 'GMD',
385
- 'GNF',
386
- 'GTQ',
387
- 'GYD',
388
- 'HKD',
389
- 'HNL',
390
- 'HRK',
391
- 'HTG',
392
- 'HUF',
393
- 'IDR',
394
- 'ILS',
395
- 'IMP',
396
- 'INR',
397
- 'IQD',
398
- 'IRR',
399
- 'ISK',
400
- 'JEP',
401
- 'JMD',
402
- 'JOD',
403
- 'JPY',
404
- 'KES',
405
- 'KGS',
406
- 'KHR',
407
- 'KMF',
408
- 'KPW',
409
- 'KRW',
410
- 'KWD',
411
- 'KYD',
412
- 'KZT',
413
- 'LAK',
414
- 'LBP',
415
- 'LKR',
416
- 'LRD',
417
- 'LSL',
418
- 'LTL',
419
- 'LVL',
420
- 'LYD',
421
- 'MAD',
422
- 'MDL',
423
- 'MGA',
424
- 'MKD',
425
- 'MMK',
426
- 'MNT',
427
- 'MOP',
428
- 'MRO',
429
- 'MUR',
430
- 'MVR',
431
- 'MWK',
432
- 'MXN',
433
- 'MYR',
434
- 'MZN',
435
- 'NAD',
436
- 'NGN',
437
- 'NIO',
438
- 'NOK',
439
- 'NPR',
440
- 'NZD',
441
- 'OMR',
442
- 'PAB',
443
- 'PEN',
444
- 'PGK',
445
- 'PHP',
446
- 'PKR',
447
- 'PLN',
448
- 'PYG',
449
- 'QAR',
450
- 'RON',
451
- 'RSD',
452
- 'RUB',
453
- 'RWF',
454
- 'SAR',
455
- 'SBD',
456
- 'SCR',
457
- 'SDG',
458
- 'SEK',
459
- 'SGD',
460
- 'SHP',
461
- 'SLL',
462
- 'SOS',
463
- 'SPL',
464
- 'SRD',
465
- 'STD',
466
- 'SVC',
467
- 'SYP',
468
- 'SZL',
469
- 'THB',
470
- 'TJS',
471
- 'TMT',
472
- 'TND',
473
- 'TOP',
474
- 'TRY',
475
- 'TTD',
476
- 'TVD',
477
- 'TWD',
478
- 'TZS',
479
- 'UAH',
480
- 'UGX',
481
- 'USD',
482
- 'UYU',
483
- 'UZS',
484
- 'VEF',
485
- 'VND',
486
- 'VUV',
487
- 'WST',
488
- 'XAF',
489
- 'XCD',
490
- 'XDR',
491
- 'XOF',
492
- 'XPF',
493
- 'YER',
494
- 'ZAR',
495
- 'ZMW',
496
- 'ZWD',
497
- 'BTC'
498
- ]).optional(),
499
- creditAdj: z.number().optional(),
500
- refundAdj: z.number().optional(),
501
- invoiceDate: z.string().optional(),
502
- targetDate: z.string().optional(),
503
- invoiceNumber: z.string().optional(),
504
- balance: z.number().optional(),
505
- bundleKeys: z.string().optional(),
506
- credits: z.array(z.object({
507
- id: z.string().uuid().optional(),
508
- linkedInvoiceItemId: z.string().uuid().optional(),
509
- productName: z.string().optional(),
510
- planName: z.string().optional(),
511
- phaseName: z.string().optional(),
512
- usageName: z.string().optional(),
513
- prettyProductName: z.string().optional(),
514
- prettyPlanName: z.string().optional(),
515
- prettyPhaseName: z.string().optional(),
516
- prettyUsageName: z.string().optional(),
517
- itemType: z.enum([
518
- 'EXTERNAL_CHARGE',
519
- 'FIXED',
520
- 'RECURRING',
521
- 'REPAIR_ADJ',
522
- 'CBA_ADJ',
523
- 'CREDIT_ADJ',
524
- 'ITEM_ADJ',
525
- 'USAGE',
526
- 'TAX',
527
- 'PARENT_SUMMARY'
528
- ]).optional(),
529
- description: z.string().optional(),
530
- startDate: z.string().optional(),
531
- endDate: z.string().optional(),
532
- amount: z.number().optional(),
533
- rate: z.number().optional(),
534
- currency: z.enum([
535
- 'AED',
536
- 'AFN',
537
- 'ALL',
538
- 'AMD',
539
- 'ANG',
540
- 'AOA',
541
- 'ARS',
542
- 'AUD',
543
- 'AWG',
544
- 'AZN',
545
- 'BAM',
546
- 'BBD',
547
- 'BDT',
548
- 'BGN',
549
- 'BHD',
550
- 'BIF',
551
- 'BMD',
552
- 'BND',
553
- 'BOB',
554
- 'BRL',
555
- 'BSD',
556
- 'BTN',
557
- 'BWP',
558
- 'BYR',
559
- 'BZD',
560
- 'CAD',
561
- 'CDF',
562
- 'CHF',
563
- 'CLP',
564
- 'CNY',
565
- 'COP',
566
- 'CRC',
567
- 'CUC',
568
- 'CUP',
569
- 'CVE',
570
- 'CZK',
571
- 'DJF',
572
- 'DKK',
573
- 'DOP',
574
- 'DZD',
575
- 'EGP',
576
- 'ERN',
577
- 'ETB',
578
- 'EUR',
579
- 'FJD',
580
- 'FKP',
581
- 'GBP',
582
- 'GEL',
583
- 'GGP',
584
- 'GHS',
585
- 'GIP',
586
- 'GMD',
587
- 'GNF',
588
- 'GTQ',
589
- 'GYD',
590
- 'HKD',
591
- 'HNL',
592
- 'HRK',
593
- 'HTG',
594
- 'HUF',
595
- 'IDR',
596
- 'ILS',
597
- 'IMP',
598
- 'INR',
599
- 'IQD',
600
- 'IRR',
601
- 'ISK',
602
- 'JEP',
603
- 'JMD',
604
- 'JOD',
605
- 'JPY',
606
- 'KES',
607
- 'KGS',
608
- 'KHR',
609
- 'KMF',
610
- 'KPW',
611
- 'KRW',
612
- 'KWD',
613
- 'KYD',
614
- 'KZT',
615
- 'LAK',
616
- 'LBP',
617
- 'LKR',
618
- 'LRD',
619
- 'LSL',
620
- 'LTL',
621
- 'LVL',
622
- 'LYD',
623
- 'MAD',
624
- 'MDL',
625
- 'MGA',
626
- 'MKD',
627
- 'MMK',
628
- 'MNT',
629
- 'MOP',
630
- 'MRO',
631
- 'MUR',
632
- 'MVR',
633
- 'MWK',
634
- 'MXN',
635
- 'MYR',
636
- 'MZN',
637
- 'NAD',
638
- 'NGN',
639
- 'NIO',
640
- 'NOK',
641
- 'NPR',
642
- 'NZD',
643
- 'OMR',
644
- 'PAB',
645
- 'PEN',
646
- 'PGK',
647
- 'PHP',
648
- 'PKR',
649
- 'PLN',
650
- 'PYG',
651
- 'QAR',
652
- 'RON',
653
- 'RSD',
654
- 'RUB',
655
- 'RWF',
656
- 'SAR',
657
- 'SBD',
658
- 'SCR',
659
- 'SDG',
660
- 'SEK',
661
- 'SGD',
662
- 'SHP',
663
- 'SLL',
664
- 'SOS',
665
- 'SPL',
666
- 'SRD',
667
- 'STD',
668
- 'SVC',
669
- 'SYP',
670
- 'SZL',
671
- 'THB',
672
- 'TJS',
673
- 'TMT',
674
- 'TND',
675
- 'TOP',
676
- 'TRY',
677
- 'TTD',
678
- 'TVD',
679
- 'TWD',
680
- 'TZS',
681
- 'UAH',
682
- 'UGX',
683
- 'USD',
684
- 'UYU',
685
- 'UZS',
686
- 'VEF',
687
- 'VND',
688
- 'VUV',
689
- 'WST',
690
- 'XAF',
691
- 'XCD',
692
- 'XDR',
693
- 'XOF',
694
- 'XPF',
695
- 'YER',
696
- 'ZAR',
697
- 'ZMW',
698
- 'ZWD',
699
- 'BTC'
700
- ]).optional(),
701
- quantity: z.number().optional(),
702
- itemDetails: z.string().optional(),
703
- catalogEffectiveDate: z.string().optional(),
704
- childItems: z.array(z.unknown()).optional()
705
- })).optional(),
706
- items: z.array(z.object({
707
- id: z.string().uuid().optional(),
708
- linkedInvoiceItemId: z.string().uuid().optional(),
709
- productName: z.string().optional(),
710
- planName: z.string().optional(),
711
- phaseName: z.string().optional(),
712
- usageName: z.string().optional(),
713
- prettyProductName: z.string().optional(),
714
- prettyPlanName: z.string().optional(),
715
- prettyPhaseName: z.string().optional(),
716
- prettyUsageName: z.string().optional(),
717
- itemType: z.enum([
718
- 'EXTERNAL_CHARGE',
719
- 'FIXED',
720
- 'RECURRING',
721
- 'REPAIR_ADJ',
722
- 'CBA_ADJ',
723
- 'CREDIT_ADJ',
724
- 'ITEM_ADJ',
725
- 'USAGE',
726
- 'TAX',
727
- 'PARENT_SUMMARY'
728
- ]).optional(),
729
- description: z.string().optional(),
730
- startDate: z.string().optional(),
731
- endDate: z.string().optional(),
732
- amount: z.number().optional(),
733
- rate: z.number().optional(),
734
- currency: z.enum([
735
- 'AED',
736
- 'AFN',
737
- 'ALL',
738
- 'AMD',
739
- 'ANG',
740
- 'AOA',
741
- 'ARS',
742
- 'AUD',
743
- 'AWG',
744
- 'AZN',
745
- 'BAM',
746
- 'BBD',
747
- 'BDT',
748
- 'BGN',
749
- 'BHD',
750
- 'BIF',
751
- 'BMD',
752
- 'BND',
753
- 'BOB',
754
- 'BRL',
755
- 'BSD',
756
- 'BTN',
757
- 'BWP',
758
- 'BYR',
759
- 'BZD',
760
- 'CAD',
761
- 'CDF',
762
- 'CHF',
763
- 'CLP',
764
- 'CNY',
765
- 'COP',
766
- 'CRC',
767
- 'CUC',
768
- 'CUP',
769
- 'CVE',
770
- 'CZK',
771
- 'DJF',
772
- 'DKK',
773
- 'DOP',
774
- 'DZD',
775
- 'EGP',
776
- 'ERN',
777
- 'ETB',
778
- 'EUR',
779
- 'FJD',
780
- 'FKP',
781
- 'GBP',
782
- 'GEL',
783
- 'GGP',
784
- 'GHS',
785
- 'GIP',
786
- 'GMD',
787
- 'GNF',
788
- 'GTQ',
789
- 'GYD',
790
- 'HKD',
791
- 'HNL',
792
- 'HRK',
793
- 'HTG',
794
- 'HUF',
795
- 'IDR',
796
- 'ILS',
797
- 'IMP',
798
- 'INR',
799
- 'IQD',
800
- 'IRR',
801
- 'ISK',
802
- 'JEP',
803
- 'JMD',
804
- 'JOD',
805
- 'JPY',
806
- 'KES',
807
- 'KGS',
808
- 'KHR',
809
- 'KMF',
810
- 'KPW',
811
- 'KRW',
812
- 'KWD',
813
- 'KYD',
814
- 'KZT',
815
- 'LAK',
816
- 'LBP',
817
- 'LKR',
818
- 'LRD',
819
- 'LSL',
820
- 'LTL',
821
- 'LVL',
822
- 'LYD',
823
- 'MAD',
824
- 'MDL',
825
- 'MGA',
826
- 'MKD',
827
- 'MMK',
828
- 'MNT',
829
- 'MOP',
830
- 'MRO',
831
- 'MUR',
832
- 'MVR',
833
- 'MWK',
834
- 'MXN',
835
- 'MYR',
836
- 'MZN',
837
- 'NAD',
838
- 'NGN',
839
- 'NIO',
840
- 'NOK',
841
- 'NPR',
842
- 'NZD',
843
- 'OMR',
844
- 'PAB',
845
- 'PEN',
846
- 'PGK',
847
- 'PHP',
848
- 'PKR',
849
- 'PLN',
850
- 'PYG',
851
- 'QAR',
852
- 'RON',
853
- 'RSD',
854
- 'RUB',
855
- 'RWF',
856
- 'SAR',
857
- 'SBD',
858
- 'SCR',
859
- 'SDG',
860
- 'SEK',
861
- 'SGD',
862
- 'SHP',
863
- 'SLL',
864
- 'SOS',
865
- 'SPL',
866
- 'SRD',
867
- 'STD',
868
- 'SVC',
869
- 'SYP',
870
- 'SZL',
871
- 'THB',
872
- 'TJS',
873
- 'TMT',
874
- 'TND',
875
- 'TOP',
876
- 'TRY',
877
- 'TTD',
878
- 'TVD',
879
- 'TWD',
880
- 'TZS',
881
- 'UAH',
882
- 'UGX',
883
- 'USD',
884
- 'UYU',
885
- 'UZS',
886
- 'VEF',
887
- 'VND',
888
- 'VUV',
889
- 'WST',
890
- 'XAF',
891
- 'XCD',
892
- 'XDR',
893
- 'XOF',
894
- 'XPF',
895
- 'YER',
896
- 'ZAR',
897
- 'ZMW',
898
- 'ZWD',
899
- 'BTC'
900
- ]).optional(),
901
- quantity: z.number().optional(),
902
- itemDetails: z.string().optional(),
903
- catalogEffectiveDate: z.string().optional(),
904
- childItems: z.array(z.unknown()).optional()
905
- })).optional()
1124
+ id: z.string().optional(),
1125
+ number: z.string().optional(),
1126
+ status: z.string().optional(),
1127
+ total: z.number().optional(),
1128
+ currency: z.string().optional(),
1129
+ created: z.iso.datetime(),
1130
+ period_start: z.iso.datetime(),
1131
+ period_end: z.iso.datetime(),
1132
+ invoice_pdf: z.string().optional()
1133
+ });
1134
+ export const zMarketplaceListingFiles = z.object({
1135
+ chartYaml: z.string().optional(),
1136
+ valuesYaml: z.string().optional(),
1137
+ valuesSchemaJson: z.string().optional()
906
1138
  });
907
1139
  export const zMarketplaceListing = z.object({
908
- id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
909
1140
  name: z.string(),
910
- developer: z.string(),
911
- description: z.string(),
912
- logoUrl: z.string(),
913
- longDescription: z.string(),
914
- categories: z.array(z.string()),
1141
+ versions: z.array(z.string().regex(/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/)),
915
1142
  version_channels: z.array(z.string().regex(/^(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/)),
916
- value_schemas: z.array(z.object({
917
- version: z.string().regex(/^(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/),
918
- schema: z.string(),
919
- placeholder: z.string()
920
- }))
1143
+ latestVersion: z.string(),
1144
+ metadata: z.object({
1145
+ name: z.string(),
1146
+ version: z.string(),
1147
+ description: z.string().optional(),
1148
+ appVersion: z.string().optional(),
1149
+ apiVersion: z.string().optional(),
1150
+ keywords: z.array(z.string()).optional(),
1151
+ home: z.string().optional(),
1152
+ icon: z.string().optional(),
1153
+ sources: z.array(z.string()).optional(),
1154
+ maintainers: z.array(z.object({
1155
+ name: z.string(),
1156
+ email: z.string().optional()
1157
+ })).optional()
1158
+ }).optional()
921
1159
  });
922
1160
  export const zOrganizationCreateInput = z.object({
923
- email: z.string().email(),
924
- first_name: z.string(),
925
- last_name: z.string(),
1161
+ type: z.enum(['business', 'personal']),
1162
+ email: z.email(),
1163
+ first_name: z.string().min(1),
1164
+ last_name: z.string().min(1),
926
1165
  company_name: z.string().min(2).max(120).regex(/^(?!\s)(?!.*\s$)(?=.*[a-zA-ZÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ0-9])[a-zA-ZÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ0-9 -.]{2,}$/),
927
1166
  password: z.string().min(8)
928
1167
  });
1168
+ export const zOrganizationCreateOutput = z.object({
1169
+ id: z.string()
1170
+ });
929
1171
  export const zOrganization = z.object({
930
- id: z.string().uuid(),
1172
+ id: z.uuid(),
931
1173
  name: z.string().min(2).max(120).optional(),
932
- date_created: z.string().datetime(),
1174
+ type: z.enum(['business', 'personal']),
1175
+ date_created: z.iso.datetime(),
933
1176
  quota: z.object({
934
- basic_clusters_max: z.number().int().gte(0),
935
- basic_clusters_available: z.number().int(),
936
- pro_clusters_max: z.number().int().gte(0),
937
- pro_clusters_available: z.number().int(),
938
- fleets_max: z.number().int().gte(0),
1177
+ basic_clusters_max: z.int().gte(0),
1178
+ basic_clusters_available: z.int(),
1179
+ pro_clusters_max: z.int().gte(0),
1180
+ pro_clusters_available: z.int(),
1181
+ enterprise_clusters_max: z.int().gte(0),
1182
+ enterprise_clusters_available: z.int(),
1183
+ fleets_max: z.int().gte(0),
939
1184
  cluster_tiers: z.array(z.string()).min(0),
940
1185
  regions: z.array(z.string()).min(1),
941
1186
  versions: z.array(z.object({
942
1187
  id: z.string(),
943
1188
  label: z.string()
944
- })).min(1)
1189
+ })).min(1),
1190
+ cfcr_storage_gb: z.int().gte(-1)
945
1191
  }),
946
1192
  status: z.enum([
947
1193
  'active',
948
1194
  'closed',
949
1195
  'suspended'
1196
+ ]),
1197
+ verification: z.enum([
1198
+ 'none',
1199
+ 'submitted',
1200
+ 'verified'
950
1201
  ])
951
1202
  });
952
1203
  export const zPaymentMethod = z.object({
953
- id: z.string().uuid(),
954
- setup: z.boolean(),
1204
+ id: z.string(),
955
1205
  type: z.enum([
956
- 'card'
1206
+ 'card',
1207
+ 'sepa_debit',
1208
+ 'bank_transfer'
957
1209
  ]),
958
1210
  last4: z.string(),
959
- exp_month: z.number().int().gte(1).lte(12),
960
- exp_year: z.number().int().gte(2024),
961
- brand: z.enum([
962
- 'amex',
963
- 'diners',
964
- 'discover',
965
- 'eftpos_au',
966
- 'jcb',
967
- 'mastercard',
968
- 'unionpay',
969
- 'visa',
970
- 'unknown'
971
- ])
1211
+ exp_month: z.int().gte(1).lte(12),
1212
+ exp_year: z.int(),
1213
+ brand: z.string(),
1214
+ iban: z.string(),
1215
+ bic: z.string(),
1216
+ account_holder_name: z.string(),
1217
+ is_default: z.boolean()
1218
+ });
1219
+ export const zPlatformQuota = z.object({
1220
+ basic_clusters_max: z.int().gte(0),
1221
+ basic_clusters_available: z.int(),
1222
+ pro_clusters_max: z.int().gte(0),
1223
+ pro_clusters_available: z.int(),
1224
+ enterprise_clusters_max: z.int().gte(0),
1225
+ enterprise_clusters_available: z.int(),
1226
+ fleets_max: z.int().gte(0),
1227
+ cluster_tiers: z.array(z.string()).min(0),
1228
+ regions: z.array(z.string()).min(1),
1229
+ versions: z.array(z.object({
1230
+ id: z.string(),
1231
+ label: z.string()
1232
+ })).min(1),
1233
+ cfcr_storage_gb: z.int().gte(-1)
1234
+ });
1235
+ export const zRegistryRepository = z.object({
1236
+ name: z.string(),
1237
+ region: z.string(),
1238
+ uri: z.string()
1239
+ });
1240
+ export const zRegistryRepositoryWithTags = z.object({
1241
+ name: z.string(),
1242
+ region: z.string(),
1243
+ uri: z.string(),
1244
+ tags: z.array(z.object({
1245
+ name: z.string(),
1246
+ size: z.number(),
1247
+ mediaType: z.string().optional(),
1248
+ platforms: z.array(z.string()).optional()
1249
+ })),
1250
+ totalSize: z.number()
1251
+ });
1252
+ export const zRegistryTag = z.object({
1253
+ name: z.string(),
1254
+ digest: z.string(),
1255
+ mediaType: z.string().optional(),
1256
+ config: z.object({
1257
+ size: z.number()
1258
+ }).optional(),
1259
+ layers: z.array(z.object({
1260
+ digest: z.string().optional(),
1261
+ size: z.number()
1262
+ })).optional(),
1263
+ manifests: z.array(z.object({
1264
+ digest: z.string(),
1265
+ platform: z.object({
1266
+ architecture: z.string(),
1267
+ os: z.string(),
1268
+ variant: z.string().optional()
1269
+ }).optional(),
1270
+ layers: z.array(z.object({
1271
+ digest: z.string().optional(),
1272
+ size: z.number()
1273
+ })).optional(),
1274
+ size: z.number().optional()
1275
+ })).optional(),
1276
+ size: z.number(),
1277
+ region: z.string(),
1278
+ repository: z.string(),
1279
+ uri: z.string()
1280
+ });
1281
+ export const zTicketAttachment = z.object({
1282
+ id: z.string(),
1283
+ filename: z.string(),
1284
+ content_type: z.string(),
1285
+ size: z.int()
1286
+ });
1287
+ export const zTicketCreateInput = z.object({
1288
+ category: z.enum([
1289
+ 'billing',
1290
+ 'technical',
1291
+ 'general'
1292
+ ]),
1293
+ body: z.string().min(1).max(50000).regex(/\S/),
1294
+ properties: z.record(z.string(), z.unknown()).optional()
1295
+ });
1296
+ export const zTicketListResponse = z.object({
1297
+ items: z.array(z.object({
1298
+ id: z.string(),
1299
+ status: z.enum([
1300
+ 'waiting_on_us',
1301
+ 'waiting_on_user',
1302
+ 'closed'
1303
+ ]),
1304
+ category: z.enum([
1305
+ 'billing',
1306
+ 'technical',
1307
+ 'general'
1308
+ ]),
1309
+ summary: z.string(),
1310
+ closed_at: z.iso.datetime().optional(),
1311
+ date_created: z.iso.datetime(),
1312
+ date_updated: z.iso.datetime(),
1313
+ messages: z.array(z.object({
1314
+ id: z.string(),
1315
+ type: z.enum(['customer_reply', 'agent_reply']),
1316
+ body: z.string(),
1317
+ author_first_name: z.string().optional(),
1318
+ author_last_name: z.string().optional(),
1319
+ attachments: z.array(z.object({
1320
+ id: z.string(),
1321
+ filename: z.string(),
1322
+ content_type: z.string(),
1323
+ size: z.int()
1324
+ })).optional(),
1325
+ date_created: z.iso.datetime()
1326
+ })).optional()
1327
+ }))
1328
+ });
1329
+ export const zTicketMessageInput = z.object({
1330
+ body: z.string().min(1).max(50000).regex(/\S/)
1331
+ });
1332
+ export const zTicketMessage = z.object({
1333
+ id: z.string(),
1334
+ type: z.enum(['customer_reply', 'agent_reply']),
1335
+ body: z.string(),
1336
+ author_first_name: z.string().optional(),
1337
+ author_last_name: z.string().optional(),
1338
+ attachments: z.array(z.object({
1339
+ id: z.string(),
1340
+ filename: z.string(),
1341
+ content_type: z.string(),
1342
+ size: z.int()
1343
+ })).optional(),
1344
+ date_created: z.iso.datetime()
1345
+ });
1346
+ export const zTicket = z.object({
1347
+ id: z.string(),
1348
+ status: z.enum([
1349
+ 'waiting_on_us',
1350
+ 'waiting_on_user',
1351
+ 'closed'
1352
+ ]),
1353
+ category: z.enum([
1354
+ 'billing',
1355
+ 'technical',
1356
+ 'general'
1357
+ ]),
1358
+ summary: z.string(),
1359
+ closed_at: z.iso.datetime().optional(),
1360
+ date_created: z.iso.datetime(),
1361
+ date_updated: z.iso.datetime(),
1362
+ messages: z.array(z.object({
1363
+ id: z.string(),
1364
+ type: z.enum(['customer_reply', 'agent_reply']),
1365
+ body: z.string(),
1366
+ author_first_name: z.string().optional(),
1367
+ author_last_name: z.string().optional(),
1368
+ attachments: z.array(z.object({
1369
+ id: z.string(),
1370
+ filename: z.string(),
1371
+ content_type: z.string(),
1372
+ size: z.int()
1373
+ })).optional(),
1374
+ date_created: z.iso.datetime()
1375
+ })).optional()
972
1376
  });
973
1377
  export const zTokenCreateInput = z.object({
974
1378
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
975
- role: z.enum([
976
- 'Administrator',
977
- 'User'
978
- ])
1379
+ role: z.enum(['Administrator', 'User'])
979
1380
  });
980
1381
  export const zToken = z.object({
981
1382
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
982
- role: z.enum([
983
- 'Administrator',
984
- 'User'
985
- ]),
1383
+ role: z.enum(['Administrator', 'User']),
986
1384
  id: z.string().optional(),
987
1385
  secret: z.string().optional(),
988
- date_created: z.string().datetime()
1386
+ date_created: z.iso.datetime()
989
1387
  });
990
1388
  export const zTokenUpdateInput = z.object({
991
1389
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/).optional(),
992
- role: z.enum([
993
- 'Administrator',
994
- 'User'
995
- ]).optional()
1390
+ role: z.enum(['Administrator', 'User']).optional()
1391
+ });
1392
+ export const zUsageFacets = z.object({
1393
+ cluster_id: z.array(z.string()).optional(),
1394
+ product: z.array(z.string()).optional()
1395
+ });
1396
+ export const zUsageResponse = z.object({
1397
+ data: z.array(z.object({
1398
+ hour: z.string(),
1399
+ cluster_id: z.string(),
1400
+ product: z.string(),
1401
+ value: z.number(),
1402
+ price: z.number(),
1403
+ total: z.number()
1404
+ })),
1405
+ facets: z.object({
1406
+ cluster_id: z.array(z.string()).optional(),
1407
+ product: z.array(z.string()).optional()
1408
+ })
996
1409
  });
997
1410
  export const zUsage = z.object({
998
- hour: z.string().optional(),
999
- cluster_id: z.string().uuid(),
1000
- cluster_tier: z.enum([
1001
- 'basic',
1002
- 'pro',
1003
- ''
1004
- ]),
1005
- product: z.enum([
1006
- 'cfke_controlplane',
1007
- 'cfke_connected_nodes',
1008
- 'infra_compute',
1009
- 'infra_storage',
1010
- 'infra_loadbalancing',
1011
- 'infra_traffic',
1012
- 'cfcr_storage'
1013
- ]),
1014
- node_name: z.string(),
1015
- sku: z.string(),
1016
- cpu: z.union([
1017
- z.number(),
1018
- z.enum([
1019
- ''
1020
- ])
1021
- ]),
1022
- price: z.union([
1023
- z.number(),
1024
- z.enum([
1025
- ''
1026
- ])
1027
- ]),
1028
- value: z.union([
1029
- z.number(),
1030
- z.enum([
1031
- ''
1032
- ])
1033
- ]),
1034
- total: z.union([
1035
- z.number(),
1036
- z.enum([
1037
- ''
1038
- ])
1039
- ])
1411
+ hour: z.string(),
1412
+ cluster_id: z.string(),
1413
+ product: z.string(),
1414
+ value: z.number(),
1415
+ price: z.number(),
1416
+ total: z.number()
1040
1417
  });
1041
1418
  export const zUserCreateInput = z.object({
1042
- email: z.string().email(),
1419
+ email: z.email(),
1043
1420
  first_name: z.string().min(1).max(50),
1044
1421
  last_name: z.string().min(1).max(50),
1045
1422
  code: z.string(),
1046
- password: z.string().min(8),
1047
- status: z.enum([
1048
- 'active',
1049
- 'inactive'
1050
- ]).optional(),
1051
- role: z.enum([
1052
- 'Administrator',
1053
- 'User'
1054
- ]).optional()
1423
+ password: z.string().min(8)
1055
1424
  });
1056
1425
  export const zUser = z.object({
1057
- email: z.string().email(),
1426
+ email: z.email(),
1058
1427
  first_name: z.string().min(1).max(50),
1059
1428
  last_name: z.string().min(1).max(50),
1060
- role: z.enum([
1061
- 'Administrator',
1062
- 'User'
1063
- ]),
1064
- status: z.enum([
1065
- 'active',
1066
- 'inactive'
1067
- ]),
1068
- id: z.string().uuid(),
1069
- date_created: z.string().datetime()
1429
+ role: z.enum(['Administrator', 'User']),
1430
+ status: z.enum(['active', 'inactive']),
1431
+ id: z.uuid(),
1432
+ date_created: z.iso.datetime()
1070
1433
  });
1071
1434
  export const zUserUpdateInput = z.object({
1072
- email: z.string().email().optional(),
1435
+ email: z.email().optional(),
1073
1436
  first_name: z.string().min(1).max(50).optional(),
1074
1437
  last_name: z.string().min(1).max(50).optional(),
1075
- role: z.enum([
1076
- 'Administrator',
1077
- 'User'
1438
+ role: z.enum(['Administrator', 'User']).optional(),
1439
+ status: z.enum(['active', 'inactive']).optional()
1440
+ });
1441
+ export const zListUserOrganizationsPath = z.object({
1442
+ email: z.string()
1443
+ });
1444
+ /**
1445
+ * An array of organizations the user belongs to.
1446
+ */
1447
+ export const zListUserOrganizationsResponse = z.array(z.object({
1448
+ realm: z.string().optional(),
1449
+ displayName: z.string().optional()
1450
+ }));
1451
+ /**
1452
+ * An array of users
1453
+ */
1454
+ export const zListUsersResponse = z.array(zUser);
1455
+ export const zCreateUserBody = zUserCreateInput;
1456
+ /**
1457
+ * Successfully created. Returns created user details.
1458
+ */
1459
+ export const zCreateUserResponse = zUser;
1460
+ export const zDeleteUserPath = z.object({
1461
+ user_id: z.string()
1462
+ });
1463
+ /**
1464
+ * User profile information
1465
+ */
1466
+ export const zDeleteUserResponse = zUser;
1467
+ export const zGetUserPath = z.object({
1468
+ user_id: z.string()
1469
+ });
1470
+ /**
1471
+ * User profile information
1472
+ */
1473
+ export const zGetUserResponse = zUser;
1474
+ export const zUpdateUserBody = zUserUpdateInput;
1475
+ export const zUpdateUserPath = z.object({
1476
+ user_id: z.string()
1477
+ });
1478
+ /**
1479
+ * Successfully created. Returns created user details.
1480
+ */
1481
+ export const zUpdateUserResponse = zUser;
1482
+ /**
1483
+ * Returns a list of access token details with masked secrets.
1484
+ */
1485
+ export const zListTokensResponse = z.array(zToken);
1486
+ export const zCreateTokenBody = zTokenCreateInput;
1487
+ /**
1488
+ * Successfully created. Returns created token details with unmasked/raw secret.
1489
+ */
1490
+ export const zCreateTokenResponse = zToken;
1491
+ export const zDeleteTokenPath = z.object({
1492
+ token_id: z.string()
1493
+ });
1494
+ export const zGetTokenPath = z.object({
1495
+ token_id: z.string()
1496
+ });
1497
+ /**
1498
+ * Returns access token details with masked secret.
1499
+ */
1500
+ export const zGetTokenResponse = zToken;
1501
+ export const zUpdateTokenBody = zTokenUpdateInput;
1502
+ export const zUpdateTokenPath = z.object({
1503
+ token_id: z.string()
1504
+ });
1505
+ /**
1506
+ * Successfully updated. Returns updated token details with masked secret.
1507
+ */
1508
+ export const zUpdateTokenResponse = zToken;
1509
+ export const zRegenerateTokenPath = z.object({
1510
+ token_id: z.string()
1511
+ });
1512
+ /**
1513
+ * Successfully updated. Returns updated token details with unmasked / raw secret.
1514
+ */
1515
+ export const zRegenerateTokenResponse = zToken;
1516
+ /**
1517
+ * Tickets for the organization.
1518
+ */
1519
+ export const zListTicketsResponse = zTicketListResponse;
1520
+ export const zCreateTicketBody = z.object({
1521
+ payload: z.string().optional(),
1522
+ attachments: z.array(z.string()).optional()
1523
+ });
1524
+ /**
1525
+ * Ticket created.
1526
+ */
1527
+ export const zCreateTicketResponse = zTicket;
1528
+ export const zCloseTicketPath = z.object({
1529
+ ticket_id: z.string()
1530
+ });
1531
+ /**
1532
+ * Ticket closed.
1533
+ */
1534
+ export const zCloseTicketResponse = zTicket;
1535
+ export const zGetTicketPath = z.object({
1536
+ ticket_id: z.string()
1537
+ });
1538
+ /**
1539
+ * Ticket with messages (internal notes excluded).
1540
+ */
1541
+ export const zGetTicketResponse = zTicket;
1542
+ export const zReplyTicketBody = z.object({
1543
+ payload: z.string().optional(),
1544
+ attachments: z.array(z.string()).optional()
1545
+ });
1546
+ export const zReplyTicketPath = z.object({
1547
+ ticket_id: z.string()
1548
+ });
1549
+ /**
1550
+ * Reply appended.
1551
+ */
1552
+ export const zReplyTicketResponse = zTicketMessage;
1553
+ export const zGetTicketAttachmentPath = z.object({
1554
+ ticket_id: z.string(),
1555
+ attachment_id: z.string()
1556
+ });
1557
+ /**
1558
+ * Attachment binary stream.
1559
+ */
1560
+ export const zGetTicketAttachmentResponse = z.string();
1561
+ /**
1562
+ * List of repositories
1563
+ */
1564
+ export const zListRepositoriesResponse = z.array(zRegistryRepository);
1565
+ export const zListTagsPath = z.object({
1566
+ region: z.string(),
1567
+ repository: z.string()
1568
+ });
1569
+ /**
1570
+ * Repository with tags
1571
+ */
1572
+ export const zListTagsResponse = zRegistryRepositoryWithTags;
1573
+ export const zDeleteTagPath = z.object({
1574
+ region: z.string(),
1575
+ repository: z.string(),
1576
+ tag: z.string()
1577
+ });
1578
+ export const zGetTagPath = z.object({
1579
+ region: z.string(),
1580
+ repository: z.string(),
1581
+ tag: z.string()
1582
+ });
1583
+ /**
1584
+ * Tag details
1585
+ */
1586
+ export const zGetTagResponse = zRegistryTag;
1587
+ /**
1588
+ * Returns a single object containing organization details.
1589
+ */
1590
+ export const zGetOrganizationResponse = zOrganization;
1591
+ export const zCreateOrganizationBody = zOrganizationCreateInput;
1592
+ /**
1593
+ * Organization signup accepted. Returns the generated organization id immediately; provisioning (billing, Keycloak realm, user) continues asynchronously in the background.
1594
+ *
1595
+ */
1596
+ export const zCreateOrganizationResponse = zOrganizationCreateOutput;
1597
+ /**
1598
+ * JSON-RPC 2.0 request payload
1599
+ */
1600
+ export const zPostMcpBody = z.object({
1601
+ jsonrpc: z.string().optional(),
1602
+ method: z.string().optional(),
1603
+ id: z.union([
1604
+ z.string(),
1605
+ z.number()
1078
1606
  ]).optional(),
1079
- status: z.enum([
1080
- 'active',
1081
- 'inactive'
1082
- ]).optional()
1607
+ params: z.record(z.string(), z.unknown()).optional()
1083
1608
  });
1084
- export const zGetUsageResponse = z.array(zUsage);
1085
- export const zGetBalanceResponse = z.number();
1086
- export const zGetPaymentMethodResponse = zPaymentMethod;
1087
- export const zGetPaymentMethodSecretResponse = z.object({
1088
- id: z.string().optional()
1609
+ /**
1610
+ * JSON-RPC 2.0 success or error response
1611
+ */
1612
+ export const zPostMcpResponse = z.object({
1613
+ jsonrpc: z.string().optional(),
1614
+ id: z.union([
1615
+ z.string(),
1616
+ z.number()
1617
+ ]).optional(),
1618
+ result: z.record(z.string(), z.unknown()).optional(),
1619
+ error: z.object({
1620
+ code: z.int().optional(),
1621
+ message: z.string().optional()
1622
+ }).optional()
1089
1623
  });
1090
- export const zListInvoicesResponse = z.array(zInvoice);
1091
- export const zGetInvoiceResponse = z.object({
1092
- html: z.string().optional()
1624
+ /**
1625
+ * An array of chart listings in the marketplace.
1626
+ */
1627
+ export const zListMarketplaceChartsResponse = z.array(zMarketplaceListing);
1628
+ export const zGetMarketplaceChartFilesPath = z.object({
1629
+ chart_name: z.string(),
1630
+ version_channel: z.string()
1093
1631
  });
1094
- export const zGetContactResponse = zBillingContact;
1095
- export const zUpdateContactResponse = zBillingContact;
1096
- export const zGetCreditsResponse = z.array(zBillingCredits);
1097
- export const zListChartsResponse = z.array(zChart);
1098
- export const zCreateChartResponse = z.string();
1099
- export const zDeleteChartResponse = z.string();
1100
- export const zGetChartResponse = zChart;
1101
- export const zUpdateChartResponse = z.string();
1632
+ /**
1633
+ * Returns an object containing the chart files for the latest matching version.
1634
+ */
1635
+ export const zGetMarketplaceChartFilesResponse = zMarketplaceListingFiles;
1636
+ /**
1637
+ * An array of invites
1638
+ */
1639
+ export const zListInvitesResponse = z.array(zInvite);
1640
+ export const zCreateInviteBody = zInviteCreateInput;
1641
+ /**
1642
+ * Successfully created. Returns created invite details.
1643
+ */
1644
+ export const zCreateInviteResponse = zInvite;
1645
+ export const zGetInvitePath = z.object({
1646
+ code: z.string()
1647
+ });
1648
+ /**
1649
+ * The invitation code is valid. Returns the invited email and organization.
1650
+ */
1651
+ export const zGetInviteResponse = z.object({
1652
+ email: z.email().optional(),
1653
+ organization_id: z.string().optional()
1654
+ });
1655
+ export const zDeleteInvitePath = z.object({
1656
+ email: z.email()
1657
+ });
1658
+ export const zQueryClusterPath = z.object({
1659
+ cluster_id: z.string()
1660
+ });
1661
+ export const zListFleetsPath = z.object({
1662
+ cluster_id: z.string()
1663
+ });
1664
+ /**
1665
+ * An array of fleets
1666
+ */
1102
1667
  export const zListFleetsResponse = z.array(zFleet);
1668
+ export const zCreateFleetBody = zFleetCreateInput;
1669
+ export const zCreateFleetPath = z.object({
1670
+ cluster_id: z.string()
1671
+ });
1672
+ /**
1673
+ * Successfully created. Returns created Fleet ID.
1674
+ */
1103
1675
  export const zCreateFleetResponse = z.string();
1676
+ export const zDeleteFleetPath = z.object({
1677
+ cluster_id: z.string(),
1678
+ fleet_name: z.string()
1679
+ });
1680
+ /**
1681
+ * Successfully deleted.
1682
+ */
1104
1683
  export const zDeleteFleetResponse = z.string();
1684
+ export const zGetFleetPath = z.object({
1685
+ cluster_id: z.string(),
1686
+ fleet_name: z.string()
1687
+ });
1688
+ /**
1689
+ * Returns a single object containing fleet details.
1690
+ */
1105
1691
  export const zGetFleetResponse = zFleet;
1692
+ export const zUpdateFleetBody = zFleetUpdateInput;
1693
+ export const zUpdateFleetPath = z.object({
1694
+ cluster_id: z.string(),
1695
+ fleet_name: z.string()
1696
+ });
1697
+ /**
1698
+ * Successfully updated.
1699
+ */
1106
1700
  export const zUpdateFleetResponse = z.string();
1701
+ export const zListChartsPath = z.object({
1702
+ cluster_id: z.string()
1703
+ });
1704
+ /**
1705
+ * An array of charts
1706
+ */
1707
+ export const zListChartsResponse = z.array(zChart);
1708
+ export const zCreateChartBody = zChartCreateInput;
1709
+ export const zCreateChartPath = z.object({
1710
+ cluster_id: z.string()
1711
+ });
1712
+ /**
1713
+ * Successfully created. Returns created Chart ID.
1714
+ */
1715
+ export const zCreateChartResponse = z.string();
1716
+ export const zDeleteChartPath = z.object({
1717
+ cluster_id: z.string(),
1718
+ chart_name: z.string()
1719
+ });
1720
+ /**
1721
+ * Successfully deleted.
1722
+ */
1723
+ export const zDeleteChartResponse = z.string();
1724
+ export const zGetChartPath = z.object({
1725
+ cluster_id: z.string(),
1726
+ chart_name: z.string()
1727
+ });
1728
+ /**
1729
+ * Returns a single object containing chart details.
1730
+ */
1731
+ export const zGetChartResponse = zChart;
1732
+ export const zUpdateChartBody = zChartUpdateInput;
1733
+ export const zUpdateChartPath = z.object({
1734
+ cluster_id: z.string(),
1735
+ chart_name: z.string()
1736
+ });
1737
+ /**
1738
+ * Successfully updated.
1739
+ */
1740
+ export const zUpdateChartResponse = z.string();
1741
+ /**
1742
+ * An array of clusters
1743
+ */
1107
1744
  export const zListClustersResponse = z.array(zCluster);
1745
+ export const zCreateClusterBody = zClusterCreateInput;
1746
+ /**
1747
+ * Successfully created. Returns created Cluster ID.
1748
+ */
1108
1749
  export const zCreateClusterResponse = z.string();
1750
+ export const zDeleteClusterPath = z.object({
1751
+ cluster_id: z.string()
1752
+ });
1753
+ /**
1754
+ * Successfully deleted. The cluster has been torn down.
1755
+ */
1109
1756
  export const zDeleteClusterResponse = z.string();
1757
+ export const zGetClusterPath = z.object({
1758
+ cluster_id: z.string()
1759
+ });
1760
+ /**
1761
+ * Returns a single object containing cluster details.
1762
+ */
1110
1763
  export const zGetClusterResponse = zCluster;
1764
+ export const zUpdateClusterBody = zClusterUpdateInput;
1765
+ export const zUpdateClusterPath = z.object({
1766
+ cluster_id: z.string()
1767
+ });
1768
+ /**
1769
+ * Successfully updated. Returns updated cluster details.
1770
+ */
1111
1771
  export const zUpdateClusterResponse = zCluster;
1112
- export const zGetJoinInformationResponse = zCluster;
1113
- export const zListInvitesResponse = z.array(zInvite);
1114
- export const zCreateInviteResponse = zInvite;
1115
- export const zGetInviteResponse = zInvite;
1116
- export const zListMarketplaceChartsResponse = z.array(zMarketplaceListing);
1117
- export const zGetMarketplaceChartResponse = zMarketplaceListing;
1118
- export const zGetOrganizationResponse = zOrganization;
1119
- export const zListTokensResponse = z.array(zToken);
1120
- export const zCreateTokenResponse = zToken;
1121
- export const zGetTokenResponse = zToken;
1122
- export const zUpdateTokenResponse = zToken;
1123
- export const zRegenerateTokenResponse = zToken;
1124
- export const zListUserOrganizationsResponse = z.array(z.object({
1125
- realm: z.string().optional(),
1126
- displayName: z.string().optional()
1127
- }));
1128
- export const zListUsersResponse = z.array(zUser);
1129
- export const zCreateUserResponse = zUser;
1130
- export const zDeleteUserResponse = zUser;
1131
- export const zGetUserResponse = zUser;
1132
- export const zUpdateUserResponse = zUser;
1772
+ export const zGetJoinInformationPath = z.object({
1773
+ cluster_id: z.string()
1774
+ });
1775
+ /**
1776
+ * An object of cluster join information
1777
+ */
1778
+ export const zGetJoinInformationResponse = zClusterJoinInformation;
1779
+ export const zGetUsageQuery = z.object({
1780
+ granularity: z.enum([
1781
+ 'hourly',
1782
+ 'daily',
1783
+ 'monthly'
1784
+ ]).optional().default('daily')
1785
+ });
1786
+ /**
1787
+ * Usage data with facets for filtering
1788
+ */
1789
+ export const zGetUsageResponse = zUsageResponse;
1790
+ /**
1791
+ * The client secret. Used for client-side retrieval using a publishable key. The client secret can be used to complete a payment from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret.
1792
+ *
1793
+ */
1794
+ export const zGetPaymentMethodSecretResponse = z.object({
1795
+ id: z.string().optional()
1796
+ });
1797
+ /**
1798
+ * An array of payment methods.
1799
+ */
1800
+ export const zListPaymentMethodsResponse = z.array(zPaymentMethod);
1801
+ export const zSetDefaultPaymentMethodPath = z.object({
1802
+ paymentMethodId: z.string()
1803
+ });
1804
+ /**
1805
+ * Default payment method updated.
1806
+ */
1807
+ export const zSetDefaultPaymentMethodResponse = z.void();
1808
+ export const zDeletePaymentMethodPath = z.object({
1809
+ paymentMethodId: z.string()
1810
+ });
1811
+ /**
1812
+ * Payment method deleted.
1813
+ */
1814
+ export const zDeletePaymentMethodResponse = z.void();
1815
+ /**
1816
+ * An array of usage records.
1817
+ */
1818
+ export const zListInvoicesResponse = z.array(zInvoice);
1819
+ /**
1820
+ * Returns a single object containing organization contact and billing address details.
1821
+ */
1822
+ export const zGetContactResponse = zBillingContact;
1823
+ export const zUpdateContactBody = zBillingContact;
1824
+ /**
1825
+ * Successfully updated. Returns updated organization details.
1826
+ */
1827
+ export const zUpdateContactResponse = zBillingContact;
1828
+ /**
1829
+ * An array of the applied promotional credits records.
1830
+ */
1831
+ export const zGetCreditsResponse = z.array(zBillingCredits);
1832
+ export const zRedeemCreditsBody = z.object({
1833
+ code: z.string().optional()
1834
+ });
1133
1835
  //# sourceMappingURL=zod.gen.js.map