@cloudfleet/sdk 0.0.1-a104fac → 0.0.1-a10877b

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.
package/dist/zod.gen.js CHANGED
@@ -1,6 +1,7 @@
1
1
  // This file is auto-generated by @hey-api/openapi-ts
2
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(),
@@ -166,22 +167,7 @@ export const zChart = z.object({
166
167
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
167
168
  namespace: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
168
169
  chart: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
169
- status: z.enum([
170
- 'InstallSucceeded',
171
- 'InstallFailed',
172
- 'UpgradeSucceeded',
173
- 'UpgradeFailed',
174
- 'TestSucceeded',
175
- 'TestFailed',
176
- 'RollbackSucceeded',
177
- 'RollbackFailed',
178
- 'UninstallSucceeded',
179
- 'UninstallFailed',
180
- 'ArtifactFailed',
181
- 'DependencyNotReady',
182
- 'Progressing',
183
- 'SourceNotReady'
184
- ]),
170
+ status: z.string(),
185
171
  version_current: z.string(),
186
172
  created_at: z.string(),
187
173
  updated_at: z.string(),
@@ -191,27 +177,57 @@ export const zChartUpdateInput = z.object({
191
177
  values: z.string(),
192
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-]+)*))?$/)
193
179
  });
180
+ /**
181
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
182
+ */
194
183
  export const zClusterCreateInput = z.object({
195
184
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
196
- tier: z.enum(['basic', 'pro']),
197
- region: z.enum([
198
- 'staging-1a',
199
- 'northamerica-central-1',
200
- 'europe-central-1a',
201
- 'northamerica-central-1a'
202
- ]).optional().default('staging-1a'),
203
- version_channel: z.enum([
204
- '1.x.x-cfke.x',
205
- '1.31.x-cfke.x',
206
- '1.32.x-cfke.x',
207
- '1.33.x-cfke.x'
208
- ]).optional().default('1.x.x-cfke.x')
185
+ tier: z.enum([
186
+ 'basic',
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
+ })
209
223
  });
210
224
  export const zClusterJoinInformation = z.object({
211
225
  certificate_authority: z.string(),
212
226
  endpoint: z.url(),
213
227
  cluster_dns: z.string(),
228
+ pod_cidr: z.string(),
214
229
  auth_key: z.string(),
230
+ login_server: z.string(),
215
231
  bootstrap_token: z.string(),
216
232
  versions: z.object({
217
233
  kubernetes: z.string(),
@@ -225,100 +241,927 @@ export const zClusterJoinInformation = z.object({
225
241
  gcp_workload_identity_provider: z.string()
226
242
  })
227
243
  });
244
+ /**
245
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
246
+ */
228
247
  export const zCluster = z.object({
229
248
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
230
- tier: z.enum(['basic', 'pro']),
231
- region: z.enum([
232
- 'staging-1a',
233
- 'northamerica-central-1',
234
- 'europe-central-1a',
235
- 'northamerica-central-1a'
236
- ]).optional().default('staging-1a'),
249
+ tier: z.enum([
250
+ 'basic',
251
+ 'pro',
252
+ 'enterprise'
253
+ ]).default('basic'),
254
+ 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'),
255
+ release_channel: z.enum([
256
+ 'rapid',
257
+ 'stable',
258
+ 'extended'
259
+ ]).default('rapid'),
260
+ features: z.object({
261
+ gpu_sharing_strategy: z.enum([
262
+ 'none',
263
+ 'mps',
264
+ 'time_slicing'
265
+ ]).default('none'),
266
+ gpu_max_shared_clients_per_gpu: z.int().gte(2).lte(48).default(4),
267
+ cilium_socket_lb_host_namespace_only: z.boolean()
268
+ }).default({
269
+ gpu_sharing_strategy: 'none',
270
+ gpu_max_shared_clients_per_gpu: 4,
271
+ cilium_socket_lb_host_namespace_only: false
272
+ }),
273
+ region: z.string(),
274
+ networking: z.object({
275
+ pod_cidr: z.string().default('10.244.0.0/16'),
276
+ service_cidr: z.string().default('10.96.0.0/12'),
277
+ dual_stack: z.boolean(),
278
+ pod_cidr_v6: z.string().default('2001:db8:1:2::/48'),
279
+ service_cidr_v6: z.string().default('2001:db8:1:1::/112')
280
+ }).default({
281
+ pod_cidr: '10.244.0.0/16',
282
+ service_cidr: '10.96.0.0/12',
283
+ dual_stack: false,
284
+ pod_cidr_v6: '2001:db8:1:2::/48',
285
+ service_cidr_v6: '2001:db8:1:1::/112'
286
+ }),
237
287
  id: z.uuid(),
238
288
  status: z.enum([
239
- 'active',
240
- 'disabled',
241
- 'deleted',
242
289
  'creating',
243
290
  'deployed',
244
- 'failed',
245
- 'updating'
291
+ 'updating',
292
+ 'disabled'
246
293
  ]),
247
294
  endpoint: z.union([
248
295
  z.url(),
249
296
  z.enum([''])
250
297
  ]).optional(),
298
+ endpoint_public: z.union([
299
+ z.url(),
300
+ z.enum([''])
301
+ ]).optional(),
251
302
  certificate_ca: z.string().optional(),
252
303
  version_current: z.string().optional(),
253
304
  created_at: z.string().optional(),
254
305
  updated_at: z.string().optional(),
255
- ready: z.boolean().optional(),
256
- 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()
306
+ ready: z.boolean()
257
307
  });
308
+ /**
309
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
310
+ */
258
311
  export const zClusterUpdateInput = z.object({
259
- name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/).optional(),
260
- tier: z.enum(['basic', 'pro']),
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()
312
+ name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
313
+ tier: z.enum([
314
+ 'basic',
315
+ 'pro',
316
+ 'enterprise'
317
+ ]).optional().default('basic'),
318
+ 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'),
319
+ release_channel: z.enum([
320
+ 'rapid',
321
+ 'stable',
322
+ 'extended'
323
+ ]).optional().default('rapid'),
324
+ features: z.object({
325
+ gpu_sharing_strategy: z.enum([
326
+ 'none',
327
+ 'mps',
328
+ 'time_slicing'
329
+ ]).optional().default('none'),
330
+ gpu_max_shared_clients_per_gpu: z.int().gte(2).lte(48).optional().default(4),
331
+ cilium_socket_lb_host_namespace_only: z.boolean().optional()
332
+ }).optional().default({
333
+ gpu_sharing_strategy: 'none',
334
+ gpu_max_shared_clients_per_gpu: 4,
335
+ cilium_socket_lb_host_namespace_only: false
336
+ })
262
337
  });
338
+ /**
339
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
340
+ */
263
341
  export const zFleetCreateInput = z.object({
264
342
  limits: z.object({
265
- cpu: z.number().gte(0)
343
+ cpu: z.int().gte(0).lte(100000).optional()
266
344
  }).optional(),
267
345
  gcp: z.object({
268
- enabled: z.boolean().optional().default(true),
269
- project: z.string()
346
+ enabled: z.boolean(),
347
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
270
348
  }).optional(),
271
349
  hetzner: z.object({
272
- enabled: z.boolean().optional().default(true),
273
- apiKey: z.string()
350
+ enabled: z.boolean(),
351
+ apiKey: z.string().length(64).regex(/^([A-Za-z0-9]{64}|\*{64})$/).optional()
274
352
  }).optional(),
275
353
  aws: z.object({
276
- enabled: z.boolean().optional().default(true),
277
- controllerRoleArn: z.string()
354
+ enabled: z.boolean(),
355
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
278
356
  }).optional(),
357
+ constraints: z.object({
358
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).optional().default(['on-demand', 'spot']),
359
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).optional().default(['amd64']),
360
+ 'cfke.io/instance-family': z.array(z.enum([
361
+ 'a1',
362
+ 'a2',
363
+ 'a3',
364
+ 'a4',
365
+ 'c1',
366
+ 'c2',
367
+ 'c2d',
368
+ 'c3',
369
+ 'c3d',
370
+ 'c4',
371
+ 'c4a',
372
+ 'c4d',
373
+ 'c5',
374
+ 'c5a',
375
+ 'c5ad',
376
+ 'c5d',
377
+ 'c5n',
378
+ 'c6a',
379
+ 'c6g',
380
+ 'c6gd',
381
+ 'c6gn',
382
+ 'c6i',
383
+ 'c6id',
384
+ 'c6in',
385
+ 'c7a',
386
+ 'c7g',
387
+ 'c7gd',
388
+ 'c7gn',
389
+ 'c7i',
390
+ 'c7i-flex',
391
+ 'c8g',
392
+ 'c8gd',
393
+ 'cax',
394
+ 'ccx',
395
+ 'cpx',
396
+ 'cx',
397
+ 'd2',
398
+ 'd3',
399
+ 'd3en',
400
+ 'dl1',
401
+ 'dl2q',
402
+ 'e2',
403
+ 'f1',
404
+ 'f2',
405
+ 'g1',
406
+ 'g2',
407
+ 'g4ad',
408
+ 'g4dn',
409
+ 'g5',
410
+ 'g5g',
411
+ 'g6',
412
+ 'g6e',
413
+ 'gr6',
414
+ 'h1',
415
+ 'h3',
416
+ 'hpc6a',
417
+ 'hpc6id',
418
+ 'hpc7a',
419
+ 'hpc7g',
420
+ 'i2',
421
+ 'i3',
422
+ 'i3en',
423
+ 'i4g',
424
+ 'i4i',
425
+ 'i7i',
426
+ 'i7ie',
427
+ 'i8g',
428
+ 'im4gn',
429
+ 'inf1',
430
+ 'inf2',
431
+ 'is4gen',
432
+ 'm1',
433
+ 'm2',
434
+ 'm3',
435
+ 'm4',
436
+ 'm5',
437
+ 'm5a',
438
+ 'm5ad',
439
+ 'm5d',
440
+ 'm5dn',
441
+ 'm5n',
442
+ 'm5zn',
443
+ 'm6a',
444
+ 'm6g',
445
+ 'm6gd',
446
+ 'm6i',
447
+ 'm6id',
448
+ 'm6idn',
449
+ 'm6in',
450
+ 'm7a',
451
+ 'm7g',
452
+ 'm7gd',
453
+ 'm7i',
454
+ 'm7i-flex',
455
+ 'm8g',
456
+ 'm8gd',
457
+ 'n1',
458
+ 'n2',
459
+ 'n2d',
460
+ 'n4',
461
+ 'p3',
462
+ 'p3dn',
463
+ 'p4d',
464
+ 'p4de',
465
+ 'p5',
466
+ 'p5e',
467
+ 'p5en',
468
+ 'p6-b200',
469
+ 'r3',
470
+ 'r4',
471
+ 'r5',
472
+ 'r5a',
473
+ 'r5ad',
474
+ 'r5b',
475
+ 'r5d',
476
+ 'r5dn',
477
+ 'r5n',
478
+ 'r6a',
479
+ 'r6g',
480
+ 'r6gd',
481
+ 'r6i',
482
+ 'r6id',
483
+ 'r6idn',
484
+ 'r6in',
485
+ 'r7a',
486
+ 'r7g',
487
+ 'r7gd',
488
+ 'r7i',
489
+ 'r7iz',
490
+ 'r8g',
491
+ 'r8gd',
492
+ 't2',
493
+ 't2a',
494
+ 't2d',
495
+ 't3',
496
+ 't3a',
497
+ 't4g',
498
+ 'trn1',
499
+ 'trn1n',
500
+ 'u-3tb1',
501
+ 'u-6tb1',
502
+ 'u7i-12tb',
503
+ 'u7i-6tb',
504
+ 'u7i-8tb',
505
+ 'u7in-16tb',
506
+ 'u7in-24tb',
507
+ 'u7in-32tb',
508
+ 'vt1',
509
+ 'x1',
510
+ 'x1e',
511
+ 'x2gd',
512
+ 'x2idn',
513
+ 'x2iedn',
514
+ 'x2iezn',
515
+ 'x4',
516
+ 'x8g',
517
+ 'z1d',
518
+ 'z3'
519
+ ])).optional().default([]),
520
+ 'topology.kubernetes.io/region': z.array(z.enum([
521
+ 'africa-south1',
522
+ 'ap-northeast-1',
523
+ 'ap-northeast-2',
524
+ 'ap-northeast-3',
525
+ 'ap-south-1',
526
+ 'ap-southeast-1',
527
+ 'ap-southeast-2',
528
+ 'ash',
529
+ 'asia-east1',
530
+ 'asia-east2',
531
+ 'asia-northeast1',
532
+ 'asia-northeast2',
533
+ 'asia-northeast3',
534
+ 'asia-south1',
535
+ 'asia-south2',
536
+ 'asia-southeast1',
537
+ 'asia-southeast2',
538
+ 'australia-southeast1',
539
+ 'australia-southeast2',
540
+ 'ca-central-1',
541
+ 'eu-central-1',
542
+ 'eu-central-2',
543
+ 'eu-north-1',
544
+ 'eu-west-1',
545
+ 'eu-west-2',
546
+ 'eu-west-3',
547
+ 'europe-central2',
548
+ 'europe-north1',
549
+ 'europe-southwest1',
550
+ 'europe-west1',
551
+ 'europe-west10',
552
+ 'europe-west12',
553
+ 'europe-west2',
554
+ 'europe-west3',
555
+ 'europe-west4',
556
+ 'europe-west6',
557
+ 'europe-west8',
558
+ 'europe-west9',
559
+ 'fsn1',
560
+ 'hel1',
561
+ 'hil',
562
+ 'me-central1',
563
+ 'me-central2',
564
+ 'me-west1',
565
+ 'nbg1',
566
+ 'northamerica-northeast1',
567
+ 'northamerica-northeast2',
568
+ 'sa-east-1',
569
+ 'sin',
570
+ 'southamerica-east1',
571
+ 'southamerica-west1',
572
+ 'us-central1',
573
+ 'us-east-1',
574
+ 'us-east-2',
575
+ 'us-east1',
576
+ 'us-east4',
577
+ 'us-east5',
578
+ 'us-south1',
579
+ 'us-west-1',
580
+ 'us-west-2',
581
+ 'us-west1',
582
+ 'us-west2',
583
+ 'us-west3',
584
+ 'us-west4'
585
+ ])).optional().default([])
586
+ }).optional().default({
587
+ 'karpenter.sh/capacity-type': ['on-demand', 'spot'],
588
+ 'kubernetes.io/arch': ['amd64'],
589
+ 'cfke.io/instance-family': [],
590
+ 'topology.kubernetes.io/region': []
591
+ }),
592
+ scalingProfile: z.enum(['aggressive', 'conservative']).optional().default('conservative'),
279
593
  id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/)
280
594
  });
595
+ /**
596
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
597
+ */
281
598
  export const zFleet = z.object({
282
599
  limits: z.object({
283
- cpu: z.number().gte(0)
600
+ cpu: z.int().gte(0).lte(100000).optional()
284
601
  }).optional(),
285
602
  gcp: z.object({
286
- enabled: z.boolean().optional().default(true),
287
- project: z.string()
603
+ enabled: z.boolean(),
604
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
288
605
  }).optional(),
289
606
  hetzner: z.object({
290
- enabled: z.boolean().optional().default(true),
291
- apiKey: z.string()
607
+ enabled: z.boolean(),
608
+ apiKey: z.string().regex(/^\*{64}$/).optional()
292
609
  }).optional(),
293
610
  aws: z.object({
294
- enabled: z.boolean().optional().default(true),
295
- controllerRoleArn: z.string()
611
+ enabled: z.boolean(),
612
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
296
613
  }).optional(),
297
- id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/)
614
+ constraints: z.object({
615
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).default(['on-demand', 'spot']),
616
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).default(['amd64']),
617
+ 'cfke.io/instance-family': z.array(z.enum([
618
+ 'a1',
619
+ 'a2',
620
+ 'a3',
621
+ 'a4',
622
+ 'c1',
623
+ 'c2',
624
+ 'c2d',
625
+ 'c3',
626
+ 'c3d',
627
+ 'c4',
628
+ 'c4a',
629
+ 'c4d',
630
+ 'c5',
631
+ 'c5a',
632
+ 'c5ad',
633
+ 'c5d',
634
+ 'c5n',
635
+ 'c6a',
636
+ 'c6g',
637
+ 'c6gd',
638
+ 'c6gn',
639
+ 'c6i',
640
+ 'c6id',
641
+ 'c6in',
642
+ 'c7a',
643
+ 'c7g',
644
+ 'c7gd',
645
+ 'c7gn',
646
+ 'c7i',
647
+ 'c7i-flex',
648
+ 'c8g',
649
+ 'c8gd',
650
+ 'cax',
651
+ 'ccx',
652
+ 'cpx',
653
+ 'cx',
654
+ 'd2',
655
+ 'd3',
656
+ 'd3en',
657
+ 'dl1',
658
+ 'dl2q',
659
+ 'e2',
660
+ 'f1',
661
+ 'f2',
662
+ 'g1',
663
+ 'g2',
664
+ 'g4ad',
665
+ 'g4dn',
666
+ 'g5',
667
+ 'g5g',
668
+ 'g6',
669
+ 'g6e',
670
+ 'gr6',
671
+ 'h1',
672
+ 'h3',
673
+ 'hpc6a',
674
+ 'hpc6id',
675
+ 'hpc7a',
676
+ 'hpc7g',
677
+ 'i2',
678
+ 'i3',
679
+ 'i3en',
680
+ 'i4g',
681
+ 'i4i',
682
+ 'i7i',
683
+ 'i7ie',
684
+ 'i8g',
685
+ 'im4gn',
686
+ 'inf1',
687
+ 'inf2',
688
+ 'is4gen',
689
+ 'm1',
690
+ 'm2',
691
+ 'm3',
692
+ 'm4',
693
+ 'm5',
694
+ 'm5a',
695
+ 'm5ad',
696
+ 'm5d',
697
+ 'm5dn',
698
+ 'm5n',
699
+ 'm5zn',
700
+ 'm6a',
701
+ 'm6g',
702
+ 'm6gd',
703
+ 'm6i',
704
+ 'm6id',
705
+ 'm6idn',
706
+ 'm6in',
707
+ 'm7a',
708
+ 'm7g',
709
+ 'm7gd',
710
+ 'm7i',
711
+ 'm7i-flex',
712
+ 'm8g',
713
+ 'm8gd',
714
+ 'n1',
715
+ 'n2',
716
+ 'n2d',
717
+ 'n4',
718
+ 'p3',
719
+ 'p3dn',
720
+ 'p4d',
721
+ 'p4de',
722
+ 'p5',
723
+ 'p5e',
724
+ 'p5en',
725
+ 'p6-b200',
726
+ 'r3',
727
+ 'r4',
728
+ 'r5',
729
+ 'r5a',
730
+ 'r5ad',
731
+ 'r5b',
732
+ 'r5d',
733
+ 'r5dn',
734
+ 'r5n',
735
+ 'r6a',
736
+ 'r6g',
737
+ 'r6gd',
738
+ 'r6i',
739
+ 'r6id',
740
+ 'r6idn',
741
+ 'r6in',
742
+ 'r7a',
743
+ 'r7g',
744
+ 'r7gd',
745
+ 'r7i',
746
+ 'r7iz',
747
+ 'r8g',
748
+ 'r8gd',
749
+ 't2',
750
+ 't2a',
751
+ 't2d',
752
+ 't3',
753
+ 't3a',
754
+ 't4g',
755
+ 'trn1',
756
+ 'trn1n',
757
+ 'u-3tb1',
758
+ 'u-6tb1',
759
+ 'u7i-12tb',
760
+ 'u7i-6tb',
761
+ 'u7i-8tb',
762
+ 'u7in-16tb',
763
+ 'u7in-24tb',
764
+ 'u7in-32tb',
765
+ 'vt1',
766
+ 'x1',
767
+ 'x1e',
768
+ 'x2gd',
769
+ 'x2idn',
770
+ 'x2iedn',
771
+ 'x2iezn',
772
+ 'x4',
773
+ 'x8g',
774
+ 'z1d',
775
+ 'z3'
776
+ ])).optional().default([]),
777
+ 'topology.kubernetes.io/region': z.array(z.enum([
778
+ 'africa-south1',
779
+ 'ap-northeast-1',
780
+ 'ap-northeast-2',
781
+ 'ap-northeast-3',
782
+ 'ap-south-1',
783
+ 'ap-southeast-1',
784
+ 'ap-southeast-2',
785
+ 'ash',
786
+ 'asia-east1',
787
+ 'asia-east2',
788
+ 'asia-northeast1',
789
+ 'asia-northeast2',
790
+ 'asia-northeast3',
791
+ 'asia-south1',
792
+ 'asia-south2',
793
+ 'asia-southeast1',
794
+ 'asia-southeast2',
795
+ 'australia-southeast1',
796
+ 'australia-southeast2',
797
+ 'ca-central-1',
798
+ 'eu-central-1',
799
+ 'eu-central-2',
800
+ 'eu-north-1',
801
+ 'eu-west-1',
802
+ 'eu-west-2',
803
+ 'eu-west-3',
804
+ 'europe-central2',
805
+ 'europe-north1',
806
+ 'europe-southwest1',
807
+ 'europe-west1',
808
+ 'europe-west10',
809
+ 'europe-west12',
810
+ 'europe-west2',
811
+ 'europe-west3',
812
+ 'europe-west4',
813
+ 'europe-west6',
814
+ 'europe-west8',
815
+ 'europe-west9',
816
+ 'fsn1',
817
+ 'hel1',
818
+ 'hil',
819
+ 'me-central1',
820
+ 'me-central2',
821
+ 'me-west1',
822
+ 'nbg1',
823
+ 'northamerica-northeast1',
824
+ 'northamerica-northeast2',
825
+ 'sa-east-1',
826
+ 'sin',
827
+ 'southamerica-east1',
828
+ 'southamerica-west1',
829
+ 'us-central1',
830
+ 'us-east-1',
831
+ 'us-east-2',
832
+ 'us-east1',
833
+ 'us-east4',
834
+ 'us-east5',
835
+ 'us-south1',
836
+ 'us-west-1',
837
+ 'us-west-2',
838
+ 'us-west1',
839
+ 'us-west2',
840
+ 'us-west3',
841
+ 'us-west4'
842
+ ])).optional().default([])
843
+ }).default({
844
+ 'karpenter.sh/capacity-type': ['on-demand', 'spot'],
845
+ 'kubernetes.io/arch': ['amd64'],
846
+ 'cfke.io/instance-family': [],
847
+ 'topology.kubernetes.io/region': []
848
+ }),
849
+ scalingProfile: z.enum(['aggressive', 'conservative']).default('conservative'),
850
+ id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
851
+ ready: z.boolean(),
852
+ status_message: z.string().optional(),
853
+ created_at: z.string(),
854
+ updated_at: z.string()
298
855
  });
856
+ /**
857
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
858
+ */
299
859
  export const zFleetUpdateInput = z.object({
300
860
  limits: z.object({
301
- cpu: z.number().gte(0)
861
+ cpu: z.int().gte(0).lte(100000).optional()
302
862
  }).optional(),
303
863
  gcp: z.object({
304
- enabled: z.boolean().optional().default(true),
305
- project: z.string()
864
+ enabled: z.boolean(),
865
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
306
866
  }).optional(),
307
867
  hetzner: z.object({
308
- enabled: z.boolean().optional().default(true),
309
- apiKey: z.string()
868
+ enabled: z.boolean(),
869
+ apiKey: z.string().length(64).regex(/^([A-Za-z0-9]{64}|\*{64})$/).optional()
310
870
  }).optional(),
311
871
  aws: z.object({
312
- enabled: z.boolean().optional().default(true),
313
- controllerRoleArn: z.string()
314
- }).optional()
872
+ enabled: z.boolean(),
873
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
874
+ }).optional(),
875
+ constraints: z.object({
876
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).optional().default(['on-demand', 'spot']),
877
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).optional().default(['amd64']),
878
+ 'cfke.io/instance-family': z.array(z.enum([
879
+ 'a1',
880
+ 'a2',
881
+ 'a3',
882
+ 'a4',
883
+ 'c1',
884
+ 'c2',
885
+ 'c2d',
886
+ 'c3',
887
+ 'c3d',
888
+ 'c4',
889
+ 'c4a',
890
+ 'c4d',
891
+ 'c5',
892
+ 'c5a',
893
+ 'c5ad',
894
+ 'c5d',
895
+ 'c5n',
896
+ 'c6a',
897
+ 'c6g',
898
+ 'c6gd',
899
+ 'c6gn',
900
+ 'c6i',
901
+ 'c6id',
902
+ 'c6in',
903
+ 'c7a',
904
+ 'c7g',
905
+ 'c7gd',
906
+ 'c7gn',
907
+ 'c7i',
908
+ 'c7i-flex',
909
+ 'c8g',
910
+ 'c8gd',
911
+ 'cax',
912
+ 'ccx',
913
+ 'cpx',
914
+ 'cx',
915
+ 'd2',
916
+ 'd3',
917
+ 'd3en',
918
+ 'dl1',
919
+ 'dl2q',
920
+ 'e2',
921
+ 'f1',
922
+ 'f2',
923
+ 'g1',
924
+ 'g2',
925
+ 'g4ad',
926
+ 'g4dn',
927
+ 'g5',
928
+ 'g5g',
929
+ 'g6',
930
+ 'g6e',
931
+ 'gr6',
932
+ 'h1',
933
+ 'h3',
934
+ 'hpc6a',
935
+ 'hpc6id',
936
+ 'hpc7a',
937
+ 'hpc7g',
938
+ 'i2',
939
+ 'i3',
940
+ 'i3en',
941
+ 'i4g',
942
+ 'i4i',
943
+ 'i7i',
944
+ 'i7ie',
945
+ 'i8g',
946
+ 'im4gn',
947
+ 'inf1',
948
+ 'inf2',
949
+ 'is4gen',
950
+ 'm1',
951
+ 'm2',
952
+ 'm3',
953
+ 'm4',
954
+ 'm5',
955
+ 'm5a',
956
+ 'm5ad',
957
+ 'm5d',
958
+ 'm5dn',
959
+ 'm5n',
960
+ 'm5zn',
961
+ 'm6a',
962
+ 'm6g',
963
+ 'm6gd',
964
+ 'm6i',
965
+ 'm6id',
966
+ 'm6idn',
967
+ 'm6in',
968
+ 'm7a',
969
+ 'm7g',
970
+ 'm7gd',
971
+ 'm7i',
972
+ 'm7i-flex',
973
+ 'm8g',
974
+ 'm8gd',
975
+ 'n1',
976
+ 'n2',
977
+ 'n2d',
978
+ 'n4',
979
+ 'p3',
980
+ 'p3dn',
981
+ 'p4d',
982
+ 'p4de',
983
+ 'p5',
984
+ 'p5e',
985
+ 'p5en',
986
+ 'p6-b200',
987
+ 'r3',
988
+ 'r4',
989
+ 'r5',
990
+ 'r5a',
991
+ 'r5ad',
992
+ 'r5b',
993
+ 'r5d',
994
+ 'r5dn',
995
+ 'r5n',
996
+ 'r6a',
997
+ 'r6g',
998
+ 'r6gd',
999
+ 'r6i',
1000
+ 'r6id',
1001
+ 'r6idn',
1002
+ 'r6in',
1003
+ 'r7a',
1004
+ 'r7g',
1005
+ 'r7gd',
1006
+ 'r7i',
1007
+ 'r7iz',
1008
+ 'r8g',
1009
+ 'r8gd',
1010
+ 't2',
1011
+ 't2a',
1012
+ 't2d',
1013
+ 't3',
1014
+ 't3a',
1015
+ 't4g',
1016
+ 'trn1',
1017
+ 'trn1n',
1018
+ 'u-3tb1',
1019
+ 'u-6tb1',
1020
+ 'u7i-12tb',
1021
+ 'u7i-6tb',
1022
+ 'u7i-8tb',
1023
+ 'u7in-16tb',
1024
+ 'u7in-24tb',
1025
+ 'u7in-32tb',
1026
+ 'vt1',
1027
+ 'x1',
1028
+ 'x1e',
1029
+ 'x2gd',
1030
+ 'x2idn',
1031
+ 'x2iedn',
1032
+ 'x2iezn',
1033
+ 'x4',
1034
+ 'x8g',
1035
+ 'z1d',
1036
+ 'z3'
1037
+ ])).optional().default([]),
1038
+ 'topology.kubernetes.io/region': z.array(z.enum([
1039
+ 'africa-south1',
1040
+ 'ap-northeast-1',
1041
+ 'ap-northeast-2',
1042
+ 'ap-northeast-3',
1043
+ 'ap-south-1',
1044
+ 'ap-southeast-1',
1045
+ 'ap-southeast-2',
1046
+ 'ash',
1047
+ 'asia-east1',
1048
+ 'asia-east2',
1049
+ 'asia-northeast1',
1050
+ 'asia-northeast2',
1051
+ 'asia-northeast3',
1052
+ 'asia-south1',
1053
+ 'asia-south2',
1054
+ 'asia-southeast1',
1055
+ 'asia-southeast2',
1056
+ 'australia-southeast1',
1057
+ 'australia-southeast2',
1058
+ 'ca-central-1',
1059
+ 'eu-central-1',
1060
+ 'eu-central-2',
1061
+ 'eu-north-1',
1062
+ 'eu-west-1',
1063
+ 'eu-west-2',
1064
+ 'eu-west-3',
1065
+ 'europe-central2',
1066
+ 'europe-north1',
1067
+ 'europe-southwest1',
1068
+ 'europe-west1',
1069
+ 'europe-west10',
1070
+ 'europe-west12',
1071
+ 'europe-west2',
1072
+ 'europe-west3',
1073
+ 'europe-west4',
1074
+ 'europe-west6',
1075
+ 'europe-west8',
1076
+ 'europe-west9',
1077
+ 'fsn1',
1078
+ 'hel1',
1079
+ 'hil',
1080
+ 'me-central1',
1081
+ 'me-central2',
1082
+ 'me-west1',
1083
+ 'nbg1',
1084
+ 'northamerica-northeast1',
1085
+ 'northamerica-northeast2',
1086
+ 'sa-east-1',
1087
+ 'sin',
1088
+ 'southamerica-east1',
1089
+ 'southamerica-west1',
1090
+ 'us-central1',
1091
+ 'us-east-1',
1092
+ 'us-east-2',
1093
+ 'us-east1',
1094
+ 'us-east4',
1095
+ 'us-east5',
1096
+ 'us-south1',
1097
+ 'us-west-1',
1098
+ 'us-west-2',
1099
+ 'us-west1',
1100
+ 'us-west2',
1101
+ 'us-west3',
1102
+ 'us-west4'
1103
+ ])).optional().default([])
1104
+ }).optional().default({
1105
+ 'karpenter.sh/capacity-type': ['on-demand', 'spot'],
1106
+ 'kubernetes.io/arch': ['amd64'],
1107
+ 'cfke.io/instance-family': [],
1108
+ 'topology.kubernetes.io/region': []
1109
+ }),
1110
+ scalingProfile: z.enum(['aggressive', 'conservative']).optional().default('conservative')
1111
+ });
1112
+ export const zInviteCreateInput = z.object({
1113
+ email: z.email(),
1114
+ role: z.enum(['Administrator', 'User']).optional().default('User')
315
1115
  });
316
1116
  export const zInvite = z.object({
317
1117
  id: z.string().optional(),
318
1118
  organization_id: z.uuid().optional(),
319
1119
  date_created: z.iso.datetime(),
320
1120
  email: z.email().optional(),
321
- code: z.string().optional()
1121
+ code: z.string().optional(),
1122
+ role: z.enum(['Administrator', 'User']).optional().default('User')
1123
+ });
1124
+ export const zInvoicePaymentAttempt = z.object({
1125
+ invoice_id: z.string(),
1126
+ number: z.string(),
1127
+ amount: z.number(),
1128
+ currency: z.string(),
1129
+ status: z.enum([
1130
+ 'paid',
1131
+ 'processing',
1132
+ 'requires_action',
1133
+ 'failed'
1134
+ ]),
1135
+ client_secret: z.string(),
1136
+ failure_code: z.string(),
1137
+ failure_message: z.string()
1138
+ });
1139
+ export const zInvoicePaymentResult = z.object({
1140
+ code: z.enum([
1141
+ 'paid',
1142
+ 'processing',
1143
+ 'action_required',
1144
+ 'partially_paid',
1145
+ 'failed',
1146
+ 'nothing_due',
1147
+ 'bank_transfer_due'
1148
+ ]),
1149
+ message: z.string(),
1150
+ results: z.array(z.object({
1151
+ invoice_id: z.string(),
1152
+ number: z.string(),
1153
+ amount: z.number(),
1154
+ currency: z.string(),
1155
+ status: z.enum([
1156
+ 'paid',
1157
+ 'processing',
1158
+ 'requires_action',
1159
+ 'failed'
1160
+ ]),
1161
+ client_secret: z.string(),
1162
+ failure_code: z.string(),
1163
+ failure_message: z.string()
1164
+ }))
322
1165
  });
323
1166
  export const zInvoice = z.object({
324
1167
  id: z.string().optional(),
@@ -358,21 +1201,28 @@ export const zMarketplaceListing = z.object({
358
1201
  }).optional()
359
1202
  });
360
1203
  export const zOrganizationCreateInput = z.object({
1204
+ type: z.enum(['business', 'personal']),
361
1205
  email: z.email(),
362
- first_name: z.string(),
363
- last_name: z.string(),
1206
+ first_name: z.string().min(1),
1207
+ last_name: z.string().min(1),
364
1208
  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,}$/),
365
1209
  password: z.string().min(8)
366
1210
  });
1211
+ export const zOrganizationCreateOutput = z.object({
1212
+ id: z.string()
1213
+ });
367
1214
  export const zOrganization = z.object({
368
1215
  id: z.uuid(),
369
1216
  name: z.string().min(2).max(120).optional(),
1217
+ type: z.enum(['business', 'personal']),
370
1218
  date_created: z.iso.datetime(),
371
1219
  quota: z.object({
372
1220
  basic_clusters_max: z.int().gte(0),
373
1221
  basic_clusters_available: z.int(),
374
1222
  pro_clusters_max: z.int().gte(0),
375
1223
  pro_clusters_available: z.int(),
1224
+ enterprise_clusters_max: z.int().gte(0),
1225
+ enterprise_clusters_available: z.int(),
376
1226
  fleets_max: z.int().gte(0),
377
1227
  cluster_tiers: z.array(z.string()).min(0),
378
1228
  regions: z.array(z.string()).min(1),
@@ -386,32 +1236,36 @@ export const zOrganization = z.object({
386
1236
  'active',
387
1237
  'closed',
388
1238
  'suspended'
1239
+ ]),
1240
+ verification: z.enum([
1241
+ 'none',
1242
+ 'submitted',
1243
+ 'verified'
389
1244
  ])
390
1245
  });
391
1246
  export const zPaymentMethod = z.object({
392
- id: z.uuid(),
393
- setup: z.boolean(),
394
- type: z.enum(['card']),
1247
+ id: z.string(),
1248
+ type: z.enum([
1249
+ 'card',
1250
+ 'sepa_debit',
1251
+ 'bank_transfer'
1252
+ ]),
395
1253
  last4: z.string(),
396
1254
  exp_month: z.int().gte(1).lte(12),
397
- exp_year: z.int().gte(2024),
398
- brand: z.enum([
399
- 'amex',
400
- 'diners',
401
- 'discover',
402
- 'eftpos_au',
403
- 'jcb',
404
- 'mastercard',
405
- 'unionpay',
406
- 'visa',
407
- 'unknown'
408
- ])
1255
+ exp_year: z.int(),
1256
+ brand: z.string(),
1257
+ iban: z.string(),
1258
+ bic: z.string(),
1259
+ account_holder_name: z.string(),
1260
+ is_default: z.boolean()
409
1261
  });
410
1262
  export const zPlatformQuota = z.object({
411
1263
  basic_clusters_max: z.int().gte(0),
412
1264
  basic_clusters_available: z.int(),
413
1265
  pro_clusters_max: z.int().gte(0),
414
1266
  pro_clusters_available: z.int(),
1267
+ enterprise_clusters_max: z.int().gte(0),
1268
+ enterprise_clusters_available: z.int(),
415
1269
  fleets_max: z.int().gte(0),
416
1270
  cluster_tiers: z.array(z.string()).min(0),
417
1271
  regions: z.array(z.string()).min(1),
@@ -467,6 +1321,69 @@ export const zRegistryTag = z.object({
467
1321
  repository: z.string(),
468
1322
  uri: z.string()
469
1323
  });
1324
+ export const zTicketAttachment = z.object({
1325
+ id: z.string(),
1326
+ filename: z.string(),
1327
+ content_type: z.string(),
1328
+ size: z.int()
1329
+ });
1330
+ export const zTicketCreateInput = z.object({
1331
+ category: z.enum([
1332
+ 'billing',
1333
+ 'technical',
1334
+ 'general'
1335
+ ]),
1336
+ body: z.string().min(1).max(50000).regex(/\S/),
1337
+ properties: z.record(z.string(), z.unknown()).optional()
1338
+ });
1339
+ export const zTicketMessageInput = z.object({
1340
+ body: z.string().min(1).max(50000).regex(/\S/)
1341
+ });
1342
+ export const zTicketMessage = z.object({
1343
+ id: z.string(),
1344
+ type: z.enum(['customer_reply', 'agent_reply']),
1345
+ body: z.string(),
1346
+ author_first_name: z.string().optional(),
1347
+ author_last_name: z.string().optional(),
1348
+ attachments: z.array(z.object({
1349
+ id: z.string(),
1350
+ filename: z.string(),
1351
+ content_type: z.string(),
1352
+ size: z.int()
1353
+ })).optional(),
1354
+ date_created: z.iso.datetime()
1355
+ });
1356
+ export const zTicket = z.object({
1357
+ id: z.string(),
1358
+ status: z.enum([
1359
+ 'waiting_on_us',
1360
+ 'waiting_on_user',
1361
+ 'closed'
1362
+ ]),
1363
+ category: z.enum([
1364
+ 'billing',
1365
+ 'technical',
1366
+ 'general'
1367
+ ]),
1368
+ summary: z.string(),
1369
+ closed_at: z.iso.datetime().optional(),
1370
+ date_created: z.iso.datetime(),
1371
+ date_updated: z.iso.datetime(),
1372
+ messages: z.array(z.object({
1373
+ id: z.string(),
1374
+ type: z.enum(['customer_reply', 'agent_reply']),
1375
+ body: z.string(),
1376
+ author_first_name: z.string().optional(),
1377
+ author_last_name: z.string().optional(),
1378
+ attachments: z.array(z.object({
1379
+ id: z.string(),
1380
+ filename: z.string(),
1381
+ content_type: z.string(),
1382
+ size: z.int()
1383
+ })).optional(),
1384
+ date_created: z.iso.datetime()
1385
+ })).optional()
1386
+ });
470
1387
  export const zTokenCreateInput = z.object({
471
1388
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
472
1389
  role: z.enum(['Administrator', 'User'])
@@ -484,26 +1401,58 @@ export const zTokenUpdateInput = z.object({
484
1401
  });
485
1402
  export const zUsageFacets = z.object({
486
1403
  cluster_id: z.array(z.string()).optional(),
487
- product: z.array(z.string()).optional()
1404
+ product: z.array(z.enum([
1405
+ 'cfke_controlplane_basic',
1406
+ 'cfke_controlplane_pro',
1407
+ 'cfke_controlplane_enterprise',
1408
+ 'cfke_connected_nodes_basic',
1409
+ 'cfke_connected_nodes_pro',
1410
+ 'cfke_connected_nodes_enterprise',
1411
+ 'cfcr_storage'
1412
+ ])).optional()
488
1413
  });
489
1414
  export const zUsageResponse = z.object({
490
1415
  data: z.array(z.object({
491
1416
  hour: z.string(),
492
1417
  cluster_id: z.string(),
493
- product: z.string(),
1418
+ product: z.enum([
1419
+ 'cfke_controlplane_basic',
1420
+ 'cfke_controlplane_pro',
1421
+ 'cfke_controlplane_enterprise',
1422
+ 'cfke_connected_nodes_basic',
1423
+ 'cfke_connected_nodes_pro',
1424
+ 'cfke_connected_nodes_enterprise',
1425
+ 'cfcr_storage'
1426
+ ]),
494
1427
  value: z.number(),
495
1428
  price: z.number(),
496
1429
  total: z.number()
497
1430
  })),
498
1431
  facets: z.object({
499
1432
  cluster_id: z.array(z.string()).optional(),
500
- product: z.array(z.string()).optional()
1433
+ product: z.array(z.enum([
1434
+ 'cfke_controlplane_basic',
1435
+ 'cfke_controlplane_pro',
1436
+ 'cfke_controlplane_enterprise',
1437
+ 'cfke_connected_nodes_basic',
1438
+ 'cfke_connected_nodes_pro',
1439
+ 'cfke_connected_nodes_enterprise',
1440
+ 'cfcr_storage'
1441
+ ])).optional()
501
1442
  })
502
1443
  });
503
1444
  export const zUsage = z.object({
504
1445
  hour: z.string(),
505
1446
  cluster_id: z.string(),
506
- product: z.string(),
1447
+ product: z.enum([
1448
+ 'cfke_controlplane_basic',
1449
+ 'cfke_controlplane_pro',
1450
+ 'cfke_controlplane_enterprise',
1451
+ 'cfke_connected_nodes_basic',
1452
+ 'cfke_connected_nodes_pro',
1453
+ 'cfke_connected_nodes_enterprise',
1454
+ 'cfcr_storage'
1455
+ ]),
507
1456
  value: z.number(),
508
1457
  price: z.number(),
509
1458
  total: z.number()
@@ -513,9 +1462,7 @@ export const zUserCreateInput = z.object({
513
1462
  first_name: z.string().min(1).max(50),
514
1463
  last_name: z.string().min(1).max(50),
515
1464
  code: z.string(),
516
- password: z.string().min(8),
517
- status: z.enum(['active', 'inactive']).optional(),
518
- role: z.enum(['Administrator', 'User']).optional()
1465
+ password: z.string().min(8)
519
1466
  });
520
1467
  export const zUser = z.object({
521
1468
  email: z.email(),
@@ -533,88 +1480,226 @@ export const zUserUpdateInput = z.object({
533
1480
  role: z.enum(['Administrator', 'User']).optional(),
534
1481
  status: z.enum(['active', 'inactive']).optional()
535
1482
  });
536
- export const zGetUsageQuery = z.object({
537
- granularity: z.enum([
538
- 'hourly',
539
- 'daily',
540
- 'monthly'
541
- ]).optional().default('daily')
1483
+ export const zListUserOrganizationsPath = z.object({
1484
+ email: z.string()
542
1485
  });
543
1486
  /**
544
- * Usage data with facets for filtering
1487
+ * An array of organizations the user belongs to.
545
1488
  */
546
- export const zGetUsageResponse = zUsageResponse;
1489
+ export const zListUserOrganizationsResponse = z.array(z.object({
1490
+ realm: z.string().optional(),
1491
+ displayName: z.string().optional()
1492
+ }));
547
1493
  /**
548
- * Redacted payment card information.
1494
+ * An array of users
549
1495
  */
550
- export const zGetPaymentMethodResponse = zPaymentMethod;
1496
+ export const zListUsersResponse = z.array(zUser);
1497
+ export const zCreateUserBody = zUserCreateInput;
551
1498
  /**
552
- * 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.
553
- *
1499
+ * Successfully created. Returns created user details.
554
1500
  */
555
- export const zGetPaymentMethodSecretResponse = z.object({
556
- id: z.string().optional()
1501
+ export const zCreateUserResponse = zUser;
1502
+ export const zDeleteUserPath = z.object({
1503
+ user_id: z.string()
557
1504
  });
558
1505
  /**
559
- * An array of usage records.
1506
+ * User profile information
560
1507
  */
561
- export const zListInvoicesResponse = z.array(zInvoice);
1508
+ export const zDeleteUserResponse = zUser;
1509
+ export const zGetUserPath = z.object({
1510
+ user_id: z.string()
1511
+ });
562
1512
  /**
563
- * Returns a single object containing organization contact and billing address details.
1513
+ * User profile information
564
1514
  */
565
- export const zGetContactResponse = zBillingContact;
566
- export const zUpdateContactBody = zBillingContact;
1515
+ export const zGetUserResponse = zUser;
1516
+ export const zUpdateUserBody = zUserUpdateInput;
1517
+ export const zUpdateUserPath = z.object({
1518
+ user_id: z.string()
1519
+ });
567
1520
  /**
568
- * Successfully updated. Returns updated organization details.
1521
+ * Successfully created. Returns created user details.
569
1522
  */
570
- export const zUpdateContactResponse = zBillingContact;
1523
+ export const zUpdateUserResponse = zUser;
571
1524
  /**
572
- * An array of the applied promotional credits records.
1525
+ * Returns a list of access token details with masked secrets.
573
1526
  */
574
- export const zGetCreditsResponse = z.array(zBillingCredits);
575
- export const zRedeemCreditsBody = z.object({
576
- code: z.string().optional()
1527
+ export const zListTokensResponse = z.array(zToken);
1528
+ export const zCreateTokenBody = zTokenCreateInput;
1529
+ /**
1530
+ * Successfully created. Returns created token details with unmasked/raw secret.
1531
+ */
1532
+ export const zCreateTokenResponse = zToken;
1533
+ export const zDeleteTokenPath = z.object({
1534
+ token_id: z.string()
577
1535
  });
578
- export const zListChartsPath = z.object({
579
- cluster_id: z.string()
1536
+ export const zGetTokenPath = z.object({
1537
+ token_id: z.string()
580
1538
  });
581
1539
  /**
582
- * An array of charts
1540
+ * Returns access token details with masked secret.
583
1541
  */
584
- export const zListChartsResponse = z.array(zChart);
585
- export const zCreateChartBody = zChartCreateInput;
586
- export const zCreateChartPath = z.object({
587
- cluster_id: z.string()
1542
+ export const zGetTokenResponse = zToken;
1543
+ export const zUpdateTokenBody = zTokenUpdateInput;
1544
+ export const zUpdateTokenPath = z.object({
1545
+ token_id: z.string()
588
1546
  });
589
1547
  /**
590
- * Successfully created. Returns created Chart ID.
1548
+ * Successfully updated. Returns updated token details with masked secret.
591
1549
  */
592
- export const zCreateChartResponse = z.string();
593
- export const zDeleteChartPath = z.object({
594
- cluster_id: z.string(),
595
- chart_name: z.string()
1550
+ export const zUpdateTokenResponse = zToken;
1551
+ export const zRegenerateTokenPath = z.object({
1552
+ token_id: z.string()
596
1553
  });
597
1554
  /**
598
- * Successfully deleted.
1555
+ * Successfully updated. Returns updated token details with unmasked / raw secret.
599
1556
  */
600
- export const zDeleteChartResponse = z.string();
601
- export const zGetChartPath = z.object({
602
- cluster_id: z.string(),
603
- chart_name: z.string()
1557
+ export const zRegenerateTokenResponse = zToken;
1558
+ /**
1559
+ * An array of tickets for the organization, newest first.
1560
+ */
1561
+ export const zListTicketsResponse = z.array(zTicket);
1562
+ export const zCreateTicketBody = z.object({
1563
+ payload: z.string().optional(),
1564
+ attachments: z.array(z.string()).optional()
604
1565
  });
605
1566
  /**
606
- * Returns a single object containing chart details.
1567
+ * Ticket created.
607
1568
  */
608
- export const zGetChartResponse = zChart;
609
- export const zUpdateChartBody = zChartUpdateInput;
610
- export const zUpdateChartPath = z.object({
611
- cluster_id: z.string(),
612
- chart_name: z.string()
1569
+ export const zCreateTicketResponse = zTicket;
1570
+ export const zCloseTicketPath = z.object({
1571
+ ticket_id: z.string()
613
1572
  });
614
1573
  /**
615
- * Successfully updated.
1574
+ * Ticket closed.
616
1575
  */
617
- export const zUpdateChartResponse = z.string();
1576
+ export const zCloseTicketResponse = zTicket;
1577
+ export const zGetTicketPath = z.object({
1578
+ ticket_id: z.string()
1579
+ });
1580
+ /**
1581
+ * Ticket with messages (internal notes excluded).
1582
+ */
1583
+ export const zGetTicketResponse = zTicket;
1584
+ export const zReplyTicketBody = z.object({
1585
+ payload: z.string().optional(),
1586
+ attachments: z.array(z.string()).optional()
1587
+ });
1588
+ export const zReplyTicketPath = z.object({
1589
+ ticket_id: z.string()
1590
+ });
1591
+ /**
1592
+ * Reply appended.
1593
+ */
1594
+ export const zReplyTicketResponse = zTicketMessage;
1595
+ export const zGetTicketAttachmentPath = z.object({
1596
+ ticket_id: z.string(),
1597
+ attachment_id: z.string()
1598
+ });
1599
+ /**
1600
+ * Attachment binary stream.
1601
+ */
1602
+ export const zGetTicketAttachmentResponse = z.string();
1603
+ /**
1604
+ * List of repositories
1605
+ */
1606
+ export const zListRepositoriesResponse = z.array(zRegistryRepository);
1607
+ export const zListTagsPath = z.object({
1608
+ region: z.string(),
1609
+ repository: z.string()
1610
+ });
1611
+ /**
1612
+ * Repository with tags
1613
+ */
1614
+ export const zListTagsResponse = zRegistryRepositoryWithTags;
1615
+ export const zDeleteTagPath = z.object({
1616
+ region: z.string(),
1617
+ repository: z.string(),
1618
+ tag: z.string()
1619
+ });
1620
+ export const zGetTagPath = z.object({
1621
+ region: z.string(),
1622
+ repository: z.string(),
1623
+ tag: z.string()
1624
+ });
1625
+ /**
1626
+ * Tag details
1627
+ */
1628
+ export const zGetTagResponse = zRegistryTag;
1629
+ /**
1630
+ * Returns a single object containing organization details.
1631
+ */
1632
+ export const zGetOrganizationResponse = zOrganization;
1633
+ export const zCreateOrganizationBody = zOrganizationCreateInput;
1634
+ /**
1635
+ * Organization signup accepted. Returns the generated organization id immediately; provisioning (billing, Keycloak realm, user) continues asynchronously in the background.
1636
+ *
1637
+ */
1638
+ export const zCreateOrganizationResponse = zOrganizationCreateOutput;
1639
+ /**
1640
+ * JSON-RPC 2.0 request payload
1641
+ */
1642
+ export const zPostMcpBody = z.object({
1643
+ jsonrpc: z.string().optional(),
1644
+ method: z.string().optional(),
1645
+ id: z.union([
1646
+ z.string(),
1647
+ z.number()
1648
+ ]).optional(),
1649
+ params: z.record(z.string(), z.unknown()).optional()
1650
+ });
1651
+ /**
1652
+ * JSON-RPC 2.0 success or error response
1653
+ */
1654
+ export const zPostMcpResponse = z.object({
1655
+ jsonrpc: z.string().optional(),
1656
+ id: z.union([
1657
+ z.string(),
1658
+ z.number()
1659
+ ]).optional(),
1660
+ result: z.record(z.string(), z.unknown()).optional(),
1661
+ error: z.object({
1662
+ code: z.int().optional(),
1663
+ message: z.string().optional()
1664
+ }).optional()
1665
+ });
1666
+ /**
1667
+ * An array of chart listings in the marketplace.
1668
+ */
1669
+ export const zListMarketplaceChartsResponse = z.array(zMarketplaceListing);
1670
+ export const zGetMarketplaceChartFilesPath = z.object({
1671
+ chart_name: z.string(),
1672
+ version_channel: z.string()
1673
+ });
1674
+ /**
1675
+ * Returns an object containing the chart files for the latest matching version.
1676
+ */
1677
+ export const zGetMarketplaceChartFilesResponse = zMarketplaceListingFiles;
1678
+ /**
1679
+ * An array of invites
1680
+ */
1681
+ export const zListInvitesResponse = z.array(zInvite);
1682
+ export const zCreateInviteBody = zInviteCreateInput;
1683
+ /**
1684
+ * Successfully created. Returns created invite details.
1685
+ */
1686
+ export const zCreateInviteResponse = zInvite;
1687
+ export const zGetInvitePath = z.object({
1688
+ code: z.string()
1689
+ });
1690
+ /**
1691
+ * The invitation code is valid. Returns the invited email and organization.
1692
+ */
1693
+ export const zGetInviteResponse = z.object({
1694
+ email: z.email().optional(),
1695
+ organization_id: z.string().optional()
1696
+ });
1697
+ export const zDeleteInvitePath = z.object({
1698
+ email: z.email()
1699
+ });
1700
+ export const zQueryClusterPath = z.object({
1701
+ cluster_id: z.string()
1702
+ });
618
1703
  export const zListFleetsPath = z.object({
619
1704
  cluster_id: z.string()
620
1705
  });
@@ -655,9 +1740,46 @@ export const zUpdateFleetPath = z.object({
655
1740
  * Successfully updated.
656
1741
  */
657
1742
  export const zUpdateFleetResponse = z.string();
658
- export const zQueryClusterPath = z.object({
1743
+ export const zListChartsPath = z.object({
659
1744
  cluster_id: z.string()
660
1745
  });
1746
+ /**
1747
+ * An array of charts
1748
+ */
1749
+ export const zListChartsResponse = z.array(zChart);
1750
+ export const zCreateChartBody = zChartCreateInput;
1751
+ export const zCreateChartPath = z.object({
1752
+ cluster_id: z.string()
1753
+ });
1754
+ /**
1755
+ * Successfully created. Returns created Chart ID.
1756
+ */
1757
+ export const zCreateChartResponse = z.string();
1758
+ export const zDeleteChartPath = z.object({
1759
+ cluster_id: z.string(),
1760
+ chart_name: z.string()
1761
+ });
1762
+ /**
1763
+ * Successfully deleted.
1764
+ */
1765
+ export const zDeleteChartResponse = z.string();
1766
+ export const zGetChartPath = z.object({
1767
+ cluster_id: z.string(),
1768
+ chart_name: z.string()
1769
+ });
1770
+ /**
1771
+ * Returns a single object containing chart details.
1772
+ */
1773
+ export const zGetChartResponse = zChart;
1774
+ export const zUpdateChartBody = zChartUpdateInput;
1775
+ export const zUpdateChartPath = z.object({
1776
+ cluster_id: z.string(),
1777
+ chart_name: z.string()
1778
+ });
1779
+ /**
1780
+ * Successfully updated.
1781
+ */
1782
+ export const zUpdateChartResponse = z.string();
661
1783
  /**
662
1784
  * An array of clusters
663
1785
  */
@@ -671,7 +1793,7 @@ export const zDeleteClusterPath = z.object({
671
1793
  cluster_id: z.string()
672
1794
  });
673
1795
  /**
674
- * Successfully deleted.
1796
+ * Successfully deleted. The cluster has been torn down.
675
1797
  */
676
1798
  export const zDeleteClusterResponse = z.string();
677
1799
  export const zGetClusterPath = z.object({
@@ -689,13 +1811,6 @@ export const zUpdateClusterPath = z.object({
689
1811
  * Successfully updated. Returns updated cluster details.
690
1812
  */
691
1813
  export const zUpdateClusterResponse = zCluster;
692
- export const zGetClusterCaPath = z.object({
693
- cluster_id: z.string()
694
- });
695
- /**
696
- * PEM-encoded certificate authority of the cluster.
697
- */
698
- export const zGetClusterCaResponse = z.string();
699
1814
  export const zGetJoinInformationPath = z.object({
700
1815
  cluster_id: z.string()
701
1816
  });
@@ -703,170 +1818,64 @@ export const zGetJoinInformationPath = z.object({
703
1818
  * An object of cluster join information
704
1819
  */
705
1820
  export const zGetJoinInformationResponse = zClusterJoinInformation;
706
- /**
707
- * An array of invites
708
- */
709
- export const zListInvitesResponse = z.array(zInvite);
710
- export const zCreateInviteBody = z.object({
711
- email: z.string().optional()
712
- });
713
- /**
714
- * Successfully created. Returns created invite details.
715
- */
716
- export const zCreateInviteResponse = zInvite;
717
- export const zGetInvitePath = z.object({
718
- code: z.string()
719
- });
720
- /**
721
- * Returns a single object containing invite details.
722
- */
723
- export const zGetInviteResponse = zInvite;
724
- export const zDeleteInvitePath = z.object({
725
- email: z.string()
726
- });
727
- /**
728
- * An array of chart listings in the marketplace.
729
- */
730
- export const zListMarketplaceChartsResponse = z.array(zMarketplaceListing);
731
- export const zGetMarketplaceChartFilesPath = z.object({
732
- chart_name: z.string(),
733
- version_channel: z.string()
734
- });
735
- /**
736
- * Returns an object containing the chart files for the latest matching version.
737
- */
738
- export const zGetMarketplaceChartFilesResponse = zMarketplaceListingFiles;
739
- /**
740
- * JSON-RPC 2.0 request payload
741
- */
742
- export const zPostMcpBody = z.object({
743
- jsonrpc: z.string().optional(),
744
- method: z.string().optional(),
745
- id: z.union([
746
- z.string(),
747
- z.number()
748
- ]).optional(),
749
- params: z.record(z.string(), z.unknown()).optional()
750
- });
751
- /**
752
- * JSON-RPC 2.0 success or error response
753
- */
754
- export const zPostMcpResponse = z.object({
755
- jsonrpc: z.string().optional(),
756
- id: z.union([
757
- z.string(),
758
- z.number()
759
- ]).optional(),
760
- result: z.record(z.string(), z.unknown()).optional(),
761
- error: z.object({
762
- code: z.int().optional(),
763
- message: z.string().optional()
764
- }).optional()
765
- });
766
- /**
767
- * Returns a single object containing organization details.
768
- */
769
- export const zGetOrganizationResponse = zOrganization;
770
- export const zCreateOrganizationBody = zOrganizationCreateInput;
771
- /**
772
- * List of repositories
773
- */
774
- export const zListRepositoriesResponse = z.array(zRegistryRepository);
775
- export const zListTagsPath = z.object({
776
- region: z.string(),
777
- repository: z.string()
778
- });
779
- /**
780
- * Repository with tags
781
- */
782
- export const zListTagsResponse = zRegistryRepositoryWithTags;
783
- export const zDeleteTagPath = z.object({
784
- region: z.string(),
785
- repository: z.string(),
786
- tag: z.string()
787
- });
788
- export const zGetTagPath = z.object({
789
- region: z.string(),
790
- repository: z.string(),
791
- tag: z.string()
1821
+ export const zGetUsageQuery = z.object({
1822
+ granularity: z.enum([
1823
+ 'hourly',
1824
+ 'daily',
1825
+ 'monthly'
1826
+ ]).optional().default('daily')
792
1827
  });
793
1828
  /**
794
- * Tag details
795
- */
796
- export const zGetTagResponse = zRegistryTag;
797
- /**
798
- * Returns a list of access token details with masked secrets.
1829
+ * Usage data with facets for filtering
799
1830
  */
800
- export const zListTokensResponse = z.array(zToken);
801
- export const zCreateTokenBody = zTokenCreateInput;
1831
+ export const zGetUsageResponse = zUsageResponse;
802
1832
  /**
803
- * Successfully created. Returns created token details with unmasked/raw secret.
1833
+ * 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.
1834
+ *
804
1835
  */
805
- export const zCreateTokenResponse = zToken;
806
- export const zDeleteTokenPath = z.object({
807
- token_id: z.string()
808
- });
809
- export const zGetTokenPath = z.object({
810
- token_id: z.string()
1836
+ export const zGetPaymentMethodSecretResponse = z.object({
1837
+ id: z.string().optional()
811
1838
  });
812
1839
  /**
813
- * Returns access token details with masked secret.
1840
+ * An array of payment methods.
814
1841
  */
815
- export const zGetTokenResponse = zToken;
816
- export const zUpdateTokenBody = zTokenUpdateInput;
817
- export const zUpdateTokenPath = z.object({
818
- token_id: z.string()
1842
+ export const zListPaymentMethodsResponse = z.array(zPaymentMethod);
1843
+ export const zSetDefaultPaymentMethodPath = z.object({
1844
+ paymentMethodId: z.string()
819
1845
  });
820
1846
  /**
821
- * Successfully updated. Returns updated token details with masked secret.
1847
+ * Default payment method updated.
822
1848
  */
823
- export const zUpdateTokenResponse = zToken;
824
- export const zRegenerateTokenPath = z.object({
825
- token_id: z.string()
1849
+ export const zSetDefaultPaymentMethodResponse = z.void();
1850
+ export const zDeletePaymentMethodPath = z.object({
1851
+ paymentMethodId: z.string()
826
1852
  });
827
1853
  /**
828
- * Successfully updated. Returns updated token details with unmasked / raw secret.
1854
+ * Payment method deleted.
829
1855
  */
830
- export const zRegenerateTokenResponse = zToken;
831
- export const zListUserOrganizationsPath = z.object({
832
- email: z.string()
833
- });
1856
+ export const zDeletePaymentMethodResponse = z.void();
834
1857
  /**
835
- * An array of organizations the user belongs to.
1858
+ * An array of usage records.
836
1859
  */
837
- export const zListUserOrganizationsResponse = z.array(z.object({
838
- realm: z.string().optional(),
839
- displayName: z.string().optional()
840
- }));
1860
+ export const zListInvoicesResponse = z.array(zInvoice);
841
1861
  /**
842
- * An array of users
1862
+ * The outcome of the attempt.
843
1863
  */
844
- export const zListUsersResponse = z.array(zUser);
845
- export const zCreateUserBody = zUserCreateInput;
1864
+ export const zPayOpenInvoicesResponse = zInvoicePaymentResult;
846
1865
  /**
847
- * Successfully created. Returns created user details.
1866
+ * Returns a single object containing organization contact and billing address details.
848
1867
  */
849
- export const zCreateUserResponse = zUser;
850
- export const zDeleteUserPath = z.object({
851
- user_id: z.string()
852
- });
1868
+ export const zGetContactResponse = zBillingContact;
1869
+ export const zUpdateContactBody = zBillingContact;
853
1870
  /**
854
- * User profile information
1871
+ * Successfully updated. Returns updated organization details.
855
1872
  */
856
- export const zDeleteUserResponse = zUser;
857
- export const zGetUserPath = z.object({
858
- user_id: z.string()
859
- });
1873
+ export const zUpdateContactResponse = zBillingContact;
860
1874
  /**
861
- * User profile information
1875
+ * An array of the applied promotional credits records.
862
1876
  */
863
- export const zGetUserResponse = zUser;
864
- export const zUpdateUserBody = zUserUpdateInput;
865
- export const zUpdateUserPath = z.object({
866
- user_id: z.string()
1877
+ export const zGetCreditsResponse = z.array(zBillingCredits);
1878
+ export const zRedeemCreditsBody = z.object({
1879
+ code: z.string().optional()
867
1880
  });
868
- /**
869
- * Successfully created. Returns created user details.
870
- */
871
- export const zUpdateUserResponse = zUser;
872
1881
  //# sourceMappingURL=zod.gen.js.map