@cloudfleet/sdk 0.0.1-7a6b7de → 0.0.1-7aa2bb2

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(),
@@ -199,18 +200,19 @@ export const zClusterCreateInput = z.object({
199
200
  'northamerica-central-1',
200
201
  'europe-central-1a',
201
202
  'northamerica-central-1a'
202
- ]).optional(),
203
+ ]).optional().default('staging-1a'),
203
204
  version_channel: z.enum([
204
205
  '1.x.x-cfke.x',
205
206
  '1.31.x-cfke.x',
206
207
  '1.32.x-cfke.x',
207
208
  '1.33.x-cfke.x'
208
- ]).optional()
209
+ ]).optional().default('1.x.x-cfke.x')
209
210
  });
210
211
  export const zClusterJoinInformation = z.object({
211
212
  certificate_authority: z.string(),
212
213
  endpoint: z.url(),
213
214
  cluster_dns: z.string(),
215
+ pod_cidr: z.string(),
214
216
  auth_key: z.string(),
215
217
  bootstrap_token: z.string(),
216
218
  versions: z.object({
@@ -233,7 +235,7 @@ export const zCluster = z.object({
233
235
  'northamerica-central-1',
234
236
  'europe-central-1a',
235
237
  'northamerica-central-1a'
236
- ]).optional(),
238
+ ]).optional().default('staging-1a'),
237
239
  id: z.uuid(),
238
240
  status: z.enum([
239
241
  'active',
@@ -248,6 +250,10 @@ export const zCluster = z.object({
248
250
  z.url(),
249
251
  z.enum([''])
250
252
  ]).optional(),
253
+ endpoint_public: z.union([
254
+ z.url(),
255
+ z.enum([''])
256
+ ]).optional(),
251
257
  certificate_ca: z.string().optional(),
252
258
  version_current: z.string().optional(),
253
259
  created_at: z.string().optional(),
@@ -262,63 +268,761 @@ export const zClusterUpdateInput = z.object({
262
268
  });
263
269
  export const zFleetCreateInput = z.object({
264
270
  limits: z.object({
265
- cpu: z.number().gte(0)
271
+ cpu: z.int().gte(0).lte(100000).optional()
266
272
  }).optional(),
267
273
  gcp: z.object({
268
- enabled: z.boolean().optional().default(true),
269
- project: z.string()
274
+ enabled: z.boolean(),
275
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
270
276
  }).optional(),
271
277
  hetzner: z.object({
272
- enabled: z.boolean().optional().default(true),
273
- apiKey: z.string()
278
+ enabled: z.boolean(),
279
+ apiKey: z.string().length(64).regex(/^[A-Za-z0-9]+$/).optional()
274
280
  }).optional(),
275
281
  aws: z.object({
276
- enabled: z.boolean().optional().default(true),
277
- controllerRoleArn: z.string()
282
+ enabled: z.boolean(),
283
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
284
+ }).optional(),
285
+ constraints: z.object({
286
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).optional().default(['on-demand', 'spot']),
287
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).optional().default(['amd64']),
288
+ 'cfke.io/instance-family': z.array(z.enum([
289
+ 'a1',
290
+ 'a2',
291
+ 'a3',
292
+ 'a4',
293
+ 'c1',
294
+ 'c2',
295
+ 'c2d',
296
+ 'c3',
297
+ 'c3d',
298
+ 'c4',
299
+ 'c4a',
300
+ 'c4d',
301
+ 'c5',
302
+ 'c5a',
303
+ 'c5ad',
304
+ 'c5d',
305
+ 'c5n',
306
+ 'c6a',
307
+ 'c6g',
308
+ 'c6gd',
309
+ 'c6gn',
310
+ 'c6i',
311
+ 'c6id',
312
+ 'c6in',
313
+ 'c7a',
314
+ 'c7g',
315
+ 'c7gd',
316
+ 'c7gn',
317
+ 'c7i',
318
+ 'c7i-flex',
319
+ 'c8g',
320
+ 'c8gd',
321
+ 'cax',
322
+ 'ccx',
323
+ 'cpx',
324
+ 'cx',
325
+ 'd2',
326
+ 'd3',
327
+ 'd3en',
328
+ 'dl1',
329
+ 'dl2q',
330
+ 'e2',
331
+ 'f1',
332
+ 'f2',
333
+ 'g1',
334
+ 'g2',
335
+ 'g4ad',
336
+ 'g4dn',
337
+ 'g5',
338
+ 'g5g',
339
+ 'g6',
340
+ 'g6e',
341
+ 'gr6',
342
+ 'h1',
343
+ 'h3',
344
+ 'hpc6a',
345
+ 'hpc6id',
346
+ 'hpc7a',
347
+ 'hpc7g',
348
+ 'i2',
349
+ 'i3',
350
+ 'i3en',
351
+ 'i4g',
352
+ 'i4i',
353
+ 'i7i',
354
+ 'i7ie',
355
+ 'i8g',
356
+ 'im4gn',
357
+ 'inf1',
358
+ 'inf2',
359
+ 'is4gen',
360
+ 'm1',
361
+ 'm2',
362
+ 'm3',
363
+ 'm4',
364
+ 'm5',
365
+ 'm5a',
366
+ 'm5ad',
367
+ 'm5d',
368
+ 'm5dn',
369
+ 'm5n',
370
+ 'm5zn',
371
+ 'm6a',
372
+ 'm6g',
373
+ 'm6gd',
374
+ 'm6i',
375
+ 'm6id',
376
+ 'm6idn',
377
+ 'm6in',
378
+ 'm7a',
379
+ 'm7g',
380
+ 'm7gd',
381
+ 'm7i',
382
+ 'm7i-flex',
383
+ 'm8g',
384
+ 'm8gd',
385
+ 'n1',
386
+ 'n2',
387
+ 'n2d',
388
+ 'n4',
389
+ 'p3',
390
+ 'p3dn',
391
+ 'p4d',
392
+ 'p4de',
393
+ 'p5',
394
+ 'p5e',
395
+ 'p5en',
396
+ 'p6-b200',
397
+ 'r3',
398
+ 'r4',
399
+ 'r5',
400
+ 'r5a',
401
+ 'r5ad',
402
+ 'r5b',
403
+ 'r5d',
404
+ 'r5dn',
405
+ 'r5n',
406
+ 'r6a',
407
+ 'r6g',
408
+ 'r6gd',
409
+ 'r6i',
410
+ 'r6id',
411
+ 'r6idn',
412
+ 'r6in',
413
+ 'r7a',
414
+ 'r7g',
415
+ 'r7gd',
416
+ 'r7i',
417
+ 'r7iz',
418
+ 'r8g',
419
+ 'r8gd',
420
+ 't2',
421
+ 't2a',
422
+ 't2d',
423
+ 't3',
424
+ 't3a',
425
+ 't4g',
426
+ 'trn1',
427
+ 'trn1n',
428
+ 'u-3tb1',
429
+ 'u-6tb1',
430
+ 'u7i-12tb',
431
+ 'u7i-6tb',
432
+ 'u7i-8tb',
433
+ 'u7in-16tb',
434
+ 'u7in-24tb',
435
+ 'u7in-32tb',
436
+ 'vt1',
437
+ 'x1',
438
+ 'x1e',
439
+ 'x2gd',
440
+ 'x2idn',
441
+ 'x2iedn',
442
+ 'x2iezn',
443
+ 'x4',
444
+ 'x8g',
445
+ 'z1d',
446
+ 'z3'
447
+ ])).optional(),
448
+ 'topology.kubernetes.io/region': z.array(z.enum([
449
+ 'africa-south1',
450
+ 'ap-northeast-1',
451
+ 'ap-northeast-2',
452
+ 'ap-northeast-3',
453
+ 'ap-south-1',
454
+ 'ap-southeast-1',
455
+ 'ap-southeast-2',
456
+ 'ash',
457
+ 'asia-east1',
458
+ 'asia-east2',
459
+ 'asia-northeast1',
460
+ 'asia-northeast2',
461
+ 'asia-northeast3',
462
+ 'asia-south1',
463
+ 'asia-south2',
464
+ 'asia-southeast1',
465
+ 'asia-southeast2',
466
+ 'australia-southeast1',
467
+ 'australia-southeast2',
468
+ 'ca-central-1',
469
+ 'eu-central-1',
470
+ 'eu-central-2',
471
+ 'eu-north-1',
472
+ 'eu-west-1',
473
+ 'eu-west-2',
474
+ 'eu-west-3',
475
+ 'europe-central2',
476
+ 'europe-north1',
477
+ 'europe-southwest1',
478
+ 'europe-west1',
479
+ 'europe-west10',
480
+ 'europe-west12',
481
+ 'europe-west2',
482
+ 'europe-west3',
483
+ 'europe-west4',
484
+ 'europe-west6',
485
+ 'europe-west8',
486
+ 'europe-west9',
487
+ 'fsn1',
488
+ 'hel1',
489
+ 'hil',
490
+ 'me-central1',
491
+ 'me-central2',
492
+ 'me-west1',
493
+ 'nbg1',
494
+ 'northamerica-northeast1',
495
+ 'northamerica-northeast2',
496
+ 'sa-east-1',
497
+ 'sin',
498
+ 'southamerica-east1',
499
+ 'southamerica-west1',
500
+ 'us-central1',
501
+ 'us-east-1',
502
+ 'us-east-2',
503
+ 'us-east1',
504
+ 'us-east4',
505
+ 'us-east5',
506
+ 'us-south1',
507
+ 'us-west-1',
508
+ 'us-west-2',
509
+ 'us-west1',
510
+ 'us-west2',
511
+ 'us-west3',
512
+ 'us-west4'
513
+ ])).optional()
278
514
  }).optional(),
515
+ scalingProfile: z.enum(['aggressive', 'conservative']).optional().default('conservative'),
279
516
  id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/)
280
517
  });
281
518
  export const zFleet = z.object({
282
519
  limits: z.object({
283
- cpu: z.number().gte(0)
520
+ cpu: z.int().gte(0).lte(100000).optional()
284
521
  }).optional(),
285
522
  gcp: z.object({
286
- enabled: z.boolean().optional().default(true),
287
- project: z.string()
523
+ enabled: z.boolean(),
524
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
288
525
  }).optional(),
289
526
  hetzner: z.object({
290
- enabled: z.boolean().optional().default(true),
291
- apiKey: z.string()
527
+ enabled: z.boolean(),
528
+ apiKey: z.string().regex(/^\*{64}$/).optional()
292
529
  }).optional(),
293
530
  aws: z.object({
294
- enabled: z.boolean().optional().default(true),
295
- controllerRoleArn: z.string()
531
+ enabled: z.boolean(),
532
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
533
+ }).optional(),
534
+ constraints: z.object({
535
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).optional().default(['on-demand', 'spot']),
536
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).optional().default(['amd64']),
537
+ 'cfke.io/instance-family': z.array(z.enum([
538
+ 'a1',
539
+ 'a2',
540
+ 'a3',
541
+ 'a4',
542
+ 'c1',
543
+ 'c2',
544
+ 'c2d',
545
+ 'c3',
546
+ 'c3d',
547
+ 'c4',
548
+ 'c4a',
549
+ 'c4d',
550
+ 'c5',
551
+ 'c5a',
552
+ 'c5ad',
553
+ 'c5d',
554
+ 'c5n',
555
+ 'c6a',
556
+ 'c6g',
557
+ 'c6gd',
558
+ 'c6gn',
559
+ 'c6i',
560
+ 'c6id',
561
+ 'c6in',
562
+ 'c7a',
563
+ 'c7g',
564
+ 'c7gd',
565
+ 'c7gn',
566
+ 'c7i',
567
+ 'c7i-flex',
568
+ 'c8g',
569
+ 'c8gd',
570
+ 'cax',
571
+ 'ccx',
572
+ 'cpx',
573
+ 'cx',
574
+ 'd2',
575
+ 'd3',
576
+ 'd3en',
577
+ 'dl1',
578
+ 'dl2q',
579
+ 'e2',
580
+ 'f1',
581
+ 'f2',
582
+ 'g1',
583
+ 'g2',
584
+ 'g4ad',
585
+ 'g4dn',
586
+ 'g5',
587
+ 'g5g',
588
+ 'g6',
589
+ 'g6e',
590
+ 'gr6',
591
+ 'h1',
592
+ 'h3',
593
+ 'hpc6a',
594
+ 'hpc6id',
595
+ 'hpc7a',
596
+ 'hpc7g',
597
+ 'i2',
598
+ 'i3',
599
+ 'i3en',
600
+ 'i4g',
601
+ 'i4i',
602
+ 'i7i',
603
+ 'i7ie',
604
+ 'i8g',
605
+ 'im4gn',
606
+ 'inf1',
607
+ 'inf2',
608
+ 'is4gen',
609
+ 'm1',
610
+ 'm2',
611
+ 'm3',
612
+ 'm4',
613
+ 'm5',
614
+ 'm5a',
615
+ 'm5ad',
616
+ 'm5d',
617
+ 'm5dn',
618
+ 'm5n',
619
+ 'm5zn',
620
+ 'm6a',
621
+ 'm6g',
622
+ 'm6gd',
623
+ 'm6i',
624
+ 'm6id',
625
+ 'm6idn',
626
+ 'm6in',
627
+ 'm7a',
628
+ 'm7g',
629
+ 'm7gd',
630
+ 'm7i',
631
+ 'm7i-flex',
632
+ 'm8g',
633
+ 'm8gd',
634
+ 'n1',
635
+ 'n2',
636
+ 'n2d',
637
+ 'n4',
638
+ 'p3',
639
+ 'p3dn',
640
+ 'p4d',
641
+ 'p4de',
642
+ 'p5',
643
+ 'p5e',
644
+ 'p5en',
645
+ 'p6-b200',
646
+ 'r3',
647
+ 'r4',
648
+ 'r5',
649
+ 'r5a',
650
+ 'r5ad',
651
+ 'r5b',
652
+ 'r5d',
653
+ 'r5dn',
654
+ 'r5n',
655
+ 'r6a',
656
+ 'r6g',
657
+ 'r6gd',
658
+ 'r6i',
659
+ 'r6id',
660
+ 'r6idn',
661
+ 'r6in',
662
+ 'r7a',
663
+ 'r7g',
664
+ 'r7gd',
665
+ 'r7i',
666
+ 'r7iz',
667
+ 'r8g',
668
+ 'r8gd',
669
+ 't2',
670
+ 't2a',
671
+ 't2d',
672
+ 't3',
673
+ 't3a',
674
+ 't4g',
675
+ 'trn1',
676
+ 'trn1n',
677
+ 'u-3tb1',
678
+ 'u-6tb1',
679
+ 'u7i-12tb',
680
+ 'u7i-6tb',
681
+ 'u7i-8tb',
682
+ 'u7in-16tb',
683
+ 'u7in-24tb',
684
+ 'u7in-32tb',
685
+ 'vt1',
686
+ 'x1',
687
+ 'x1e',
688
+ 'x2gd',
689
+ 'x2idn',
690
+ 'x2iedn',
691
+ 'x2iezn',
692
+ 'x4',
693
+ 'x8g',
694
+ 'z1d',
695
+ 'z3'
696
+ ])).optional(),
697
+ 'topology.kubernetes.io/region': z.array(z.enum([
698
+ 'africa-south1',
699
+ 'ap-northeast-1',
700
+ 'ap-northeast-2',
701
+ 'ap-northeast-3',
702
+ 'ap-south-1',
703
+ 'ap-southeast-1',
704
+ 'ap-southeast-2',
705
+ 'ash',
706
+ 'asia-east1',
707
+ 'asia-east2',
708
+ 'asia-northeast1',
709
+ 'asia-northeast2',
710
+ 'asia-northeast3',
711
+ 'asia-south1',
712
+ 'asia-south2',
713
+ 'asia-southeast1',
714
+ 'asia-southeast2',
715
+ 'australia-southeast1',
716
+ 'australia-southeast2',
717
+ 'ca-central-1',
718
+ 'eu-central-1',
719
+ 'eu-central-2',
720
+ 'eu-north-1',
721
+ 'eu-west-1',
722
+ 'eu-west-2',
723
+ 'eu-west-3',
724
+ 'europe-central2',
725
+ 'europe-north1',
726
+ 'europe-southwest1',
727
+ 'europe-west1',
728
+ 'europe-west10',
729
+ 'europe-west12',
730
+ 'europe-west2',
731
+ 'europe-west3',
732
+ 'europe-west4',
733
+ 'europe-west6',
734
+ 'europe-west8',
735
+ 'europe-west9',
736
+ 'fsn1',
737
+ 'hel1',
738
+ 'hil',
739
+ 'me-central1',
740
+ 'me-central2',
741
+ 'me-west1',
742
+ 'nbg1',
743
+ 'northamerica-northeast1',
744
+ 'northamerica-northeast2',
745
+ 'sa-east-1',
746
+ 'sin',
747
+ 'southamerica-east1',
748
+ 'southamerica-west1',
749
+ 'us-central1',
750
+ 'us-east-1',
751
+ 'us-east-2',
752
+ 'us-east1',
753
+ 'us-east4',
754
+ 'us-east5',
755
+ 'us-south1',
756
+ 'us-west-1',
757
+ 'us-west-2',
758
+ 'us-west1',
759
+ 'us-west2',
760
+ 'us-west3',
761
+ 'us-west4'
762
+ ])).optional()
296
763
  }).optional(),
764
+ scalingProfile: z.enum(['aggressive', 'conservative']).default('conservative'),
297
765
  id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/)
298
766
  });
299
767
  export const zFleetUpdateInput = z.object({
300
768
  limits: z.object({
301
- cpu: z.number().gte(0)
769
+ cpu: z.int().gte(0).lte(100000).optional()
302
770
  }).optional(),
303
771
  gcp: z.object({
304
- enabled: z.boolean().optional().default(true),
305
- project: z.string()
772
+ enabled: z.boolean(),
773
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
306
774
  }).optional(),
307
775
  hetzner: z.object({
308
- enabled: z.boolean().optional().default(true),
309
- apiKey: z.string()
776
+ enabled: z.boolean(),
777
+ apiKey: z.string().length(64).regex(/^[A-Za-z0-9]+$/).optional()
310
778
  }).optional(),
311
779
  aws: z.object({
312
- enabled: z.boolean().optional().default(true),
313
- controllerRoleArn: z.string()
314
- }).optional()
780
+ enabled: z.boolean(),
781
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
782
+ }).optional(),
783
+ constraints: z.object({
784
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).optional(),
785
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).optional(),
786
+ 'cfke.io/instance-family': z.array(z.enum([
787
+ 'a1',
788
+ 'a2',
789
+ 'a3',
790
+ 'a4',
791
+ 'c1',
792
+ 'c2',
793
+ 'c2d',
794
+ 'c3',
795
+ 'c3d',
796
+ 'c4',
797
+ 'c4a',
798
+ 'c4d',
799
+ 'c5',
800
+ 'c5a',
801
+ 'c5ad',
802
+ 'c5d',
803
+ 'c5n',
804
+ 'c6a',
805
+ 'c6g',
806
+ 'c6gd',
807
+ 'c6gn',
808
+ 'c6i',
809
+ 'c6id',
810
+ 'c6in',
811
+ 'c7a',
812
+ 'c7g',
813
+ 'c7gd',
814
+ 'c7gn',
815
+ 'c7i',
816
+ 'c7i-flex',
817
+ 'c8g',
818
+ 'c8gd',
819
+ 'cax',
820
+ 'ccx',
821
+ 'cpx',
822
+ 'cx',
823
+ 'd2',
824
+ 'd3',
825
+ 'd3en',
826
+ 'dl1',
827
+ 'dl2q',
828
+ 'e2',
829
+ 'f1',
830
+ 'f2',
831
+ 'g1',
832
+ 'g2',
833
+ 'g4ad',
834
+ 'g4dn',
835
+ 'g5',
836
+ 'g5g',
837
+ 'g6',
838
+ 'g6e',
839
+ 'gr6',
840
+ 'h1',
841
+ 'h3',
842
+ 'hpc6a',
843
+ 'hpc6id',
844
+ 'hpc7a',
845
+ 'hpc7g',
846
+ 'i2',
847
+ 'i3',
848
+ 'i3en',
849
+ 'i4g',
850
+ 'i4i',
851
+ 'i7i',
852
+ 'i7ie',
853
+ 'i8g',
854
+ 'im4gn',
855
+ 'inf1',
856
+ 'inf2',
857
+ 'is4gen',
858
+ 'm1',
859
+ 'm2',
860
+ 'm3',
861
+ 'm4',
862
+ 'm5',
863
+ 'm5a',
864
+ 'm5ad',
865
+ 'm5d',
866
+ 'm5dn',
867
+ 'm5n',
868
+ 'm5zn',
869
+ 'm6a',
870
+ 'm6g',
871
+ 'm6gd',
872
+ 'm6i',
873
+ 'm6id',
874
+ 'm6idn',
875
+ 'm6in',
876
+ 'm7a',
877
+ 'm7g',
878
+ 'm7gd',
879
+ 'm7i',
880
+ 'm7i-flex',
881
+ 'm8g',
882
+ 'm8gd',
883
+ 'n1',
884
+ 'n2',
885
+ 'n2d',
886
+ 'n4',
887
+ 'p3',
888
+ 'p3dn',
889
+ 'p4d',
890
+ 'p4de',
891
+ 'p5',
892
+ 'p5e',
893
+ 'p5en',
894
+ 'p6-b200',
895
+ 'r3',
896
+ 'r4',
897
+ 'r5',
898
+ 'r5a',
899
+ 'r5ad',
900
+ 'r5b',
901
+ 'r5d',
902
+ 'r5dn',
903
+ 'r5n',
904
+ 'r6a',
905
+ 'r6g',
906
+ 'r6gd',
907
+ 'r6i',
908
+ 'r6id',
909
+ 'r6idn',
910
+ 'r6in',
911
+ 'r7a',
912
+ 'r7g',
913
+ 'r7gd',
914
+ 'r7i',
915
+ 'r7iz',
916
+ 'r8g',
917
+ 'r8gd',
918
+ 't2',
919
+ 't2a',
920
+ 't2d',
921
+ 't3',
922
+ 't3a',
923
+ 't4g',
924
+ 'trn1',
925
+ 'trn1n',
926
+ 'u-3tb1',
927
+ 'u-6tb1',
928
+ 'u7i-12tb',
929
+ 'u7i-6tb',
930
+ 'u7i-8tb',
931
+ 'u7in-16tb',
932
+ 'u7in-24tb',
933
+ 'u7in-32tb',
934
+ 'vt1',
935
+ 'x1',
936
+ 'x1e',
937
+ 'x2gd',
938
+ 'x2idn',
939
+ 'x2iedn',
940
+ 'x2iezn',
941
+ 'x4',
942
+ 'x8g',
943
+ 'z1d',
944
+ 'z3'
945
+ ])).optional(),
946
+ 'topology.kubernetes.io/region': z.array(z.enum([
947
+ 'africa-south1',
948
+ 'ap-northeast-1',
949
+ 'ap-northeast-2',
950
+ 'ap-northeast-3',
951
+ 'ap-south-1',
952
+ 'ap-southeast-1',
953
+ 'ap-southeast-2',
954
+ 'ash',
955
+ 'asia-east1',
956
+ 'asia-east2',
957
+ 'asia-northeast1',
958
+ 'asia-northeast2',
959
+ 'asia-northeast3',
960
+ 'asia-south1',
961
+ 'asia-south2',
962
+ 'asia-southeast1',
963
+ 'asia-southeast2',
964
+ 'australia-southeast1',
965
+ 'australia-southeast2',
966
+ 'ca-central-1',
967
+ 'eu-central-1',
968
+ 'eu-central-2',
969
+ 'eu-north-1',
970
+ 'eu-west-1',
971
+ 'eu-west-2',
972
+ 'eu-west-3',
973
+ 'europe-central2',
974
+ 'europe-north1',
975
+ 'europe-southwest1',
976
+ 'europe-west1',
977
+ 'europe-west10',
978
+ 'europe-west12',
979
+ 'europe-west2',
980
+ 'europe-west3',
981
+ 'europe-west4',
982
+ 'europe-west6',
983
+ 'europe-west8',
984
+ 'europe-west9',
985
+ 'fsn1',
986
+ 'hel1',
987
+ 'hil',
988
+ 'me-central1',
989
+ 'me-central2',
990
+ 'me-west1',
991
+ 'nbg1',
992
+ 'northamerica-northeast1',
993
+ 'northamerica-northeast2',
994
+ 'sa-east-1',
995
+ 'sin',
996
+ 'southamerica-east1',
997
+ 'southamerica-west1',
998
+ 'us-central1',
999
+ 'us-east-1',
1000
+ 'us-east-2',
1001
+ 'us-east1',
1002
+ 'us-east4',
1003
+ 'us-east5',
1004
+ 'us-south1',
1005
+ 'us-west-1',
1006
+ 'us-west-2',
1007
+ 'us-west1',
1008
+ 'us-west2',
1009
+ 'us-west3',
1010
+ 'us-west4'
1011
+ ])).optional()
1012
+ }).optional(),
1013
+ scalingProfile: z.enum(['aggressive', 'conservative'])
1014
+ });
1015
+ export const zInviteCreateInput = z.object({
1016
+ email: z.email(),
1017
+ role: z.enum(['Administrator', 'User']).optional().default('User')
315
1018
  });
316
1019
  export const zInvite = z.object({
317
1020
  id: z.string().optional(),
318
1021
  organization_id: z.uuid().optional(),
319
1022
  date_created: z.iso.datetime(),
320
1023
  email: z.email().optional(),
321
- code: z.string().optional()
1024
+ code: z.string().optional(),
1025
+ role: z.enum(['Administrator', 'User']).optional().default('User')
322
1026
  });
323
1027
  export const zInvoice = z.object({
324
1028
  id: z.string().optional(),
@@ -358,15 +1062,20 @@ export const zMarketplaceListing = z.object({
358
1062
  }).optional()
359
1063
  });
360
1064
  export const zOrganizationCreateInput = z.object({
1065
+ type: z.enum(['business', 'personal']),
361
1066
  email: z.email(),
362
- first_name: z.string(),
363
- last_name: z.string(),
1067
+ first_name: z.string().min(1),
1068
+ last_name: z.string().min(1),
364
1069
  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
1070
  password: z.string().min(8)
366
1071
  });
1072
+ export const zOrganizationCreateOutput = z.object({
1073
+ id: z.string()
1074
+ });
367
1075
  export const zOrganization = z.object({
368
1076
  id: z.uuid(),
369
1077
  name: z.string().min(2).max(120).optional(),
1078
+ type: z.enum(['business', 'personal']),
370
1079
  date_created: z.iso.datetime(),
371
1080
  quota: z.object({
372
1081
  basic_clusters_max: z.int().gte(0),
@@ -386,26 +1095,28 @@ export const zOrganization = z.object({
386
1095
  'active',
387
1096
  'closed',
388
1097
  'suspended'
1098
+ ]),
1099
+ verification: z.enum([
1100
+ 'none',
1101
+ 'submitted',
1102
+ 'verified'
389
1103
  ])
390
1104
  });
391
1105
  export const zPaymentMethod = z.object({
392
- id: z.uuid(),
393
- setup: z.boolean(),
394
- type: z.enum(['card']),
1106
+ id: z.string(),
1107
+ type: z.enum([
1108
+ 'card',
1109
+ 'sepa_debit',
1110
+ 'bank_transfer'
1111
+ ]),
395
1112
  last4: z.string(),
396
1113
  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
- ])
1114
+ exp_year: z.int(),
1115
+ brand: z.string(),
1116
+ iban: z.string(),
1117
+ bic: z.string(),
1118
+ account_holder_name: z.string(),
1119
+ is_default: z.boolean()
409
1120
  });
410
1121
  export const zPlatformQuota = z.object({
411
1122
  basic_clusters_max: z.int().gte(0),
@@ -467,6 +1178,102 @@ export const zRegistryTag = z.object({
467
1178
  repository: z.string(),
468
1179
  uri: z.string()
469
1180
  });
1181
+ export const zTicketAttachment = z.object({
1182
+ id: z.string(),
1183
+ filename: z.string(),
1184
+ content_type: z.string(),
1185
+ size: z.int()
1186
+ });
1187
+ export const zTicketCreateInput = z.object({
1188
+ category: z.enum([
1189
+ 'billing',
1190
+ 'technical',
1191
+ 'general'
1192
+ ]),
1193
+ body: z.string().min(1).max(50000).regex(/\S/),
1194
+ properties: z.record(z.string(), z.unknown()).optional()
1195
+ });
1196
+ export const zTicketListResponse = z.object({
1197
+ items: z.array(z.object({
1198
+ id: z.string(),
1199
+ status: z.enum([
1200
+ 'waiting_on_us',
1201
+ 'waiting_on_user',
1202
+ 'closed'
1203
+ ]),
1204
+ category: z.enum([
1205
+ 'billing',
1206
+ 'technical',
1207
+ 'general'
1208
+ ]),
1209
+ summary: z.string(),
1210
+ closed_at: z.iso.datetime().optional(),
1211
+ date_created: z.iso.datetime(),
1212
+ date_updated: z.iso.datetime(),
1213
+ messages: z.array(z.object({
1214
+ id: z.string(),
1215
+ type: z.enum(['customer_reply', 'agent_reply']),
1216
+ body: z.string(),
1217
+ author_first_name: z.string().optional(),
1218
+ author_last_name: z.string().optional(),
1219
+ attachments: z.array(z.object({
1220
+ id: z.string(),
1221
+ filename: z.string(),
1222
+ content_type: z.string(),
1223
+ size: z.int()
1224
+ })).optional(),
1225
+ date_created: z.iso.datetime()
1226
+ })).optional()
1227
+ }))
1228
+ });
1229
+ export const zTicketMessageInput = z.object({
1230
+ body: z.string().min(1).max(50000).regex(/\S/)
1231
+ });
1232
+ export const zTicketMessage = z.object({
1233
+ id: z.string(),
1234
+ type: z.enum(['customer_reply', 'agent_reply']),
1235
+ body: z.string(),
1236
+ author_first_name: z.string().optional(),
1237
+ author_last_name: z.string().optional(),
1238
+ attachments: z.array(z.object({
1239
+ id: z.string(),
1240
+ filename: z.string(),
1241
+ content_type: z.string(),
1242
+ size: z.int()
1243
+ })).optional(),
1244
+ date_created: z.iso.datetime()
1245
+ });
1246
+ export const zTicket = z.object({
1247
+ id: z.string(),
1248
+ status: z.enum([
1249
+ 'waiting_on_us',
1250
+ 'waiting_on_user',
1251
+ 'closed'
1252
+ ]),
1253
+ category: z.enum([
1254
+ 'billing',
1255
+ 'technical',
1256
+ 'general'
1257
+ ]),
1258
+ summary: z.string(),
1259
+ closed_at: z.iso.datetime().optional(),
1260
+ date_created: z.iso.datetime(),
1261
+ date_updated: z.iso.datetime(),
1262
+ messages: z.array(z.object({
1263
+ id: z.string(),
1264
+ type: z.enum(['customer_reply', 'agent_reply']),
1265
+ body: z.string(),
1266
+ author_first_name: z.string().optional(),
1267
+ author_last_name: z.string().optional(),
1268
+ attachments: z.array(z.object({
1269
+ id: z.string(),
1270
+ filename: z.string(),
1271
+ content_type: z.string(),
1272
+ size: z.int()
1273
+ })).optional(),
1274
+ date_created: z.iso.datetime()
1275
+ })).optional()
1276
+ });
470
1277
  export const zTokenCreateInput = z.object({
471
1278
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
472
1279
  role: z.enum(['Administrator', 'User'])
@@ -513,9 +1320,7 @@ export const zUserCreateInput = z.object({
513
1320
  first_name: z.string().min(1).max(50),
514
1321
  last_name: z.string().min(1).max(50),
515
1322
  code: z.string(),
516
- password: z.string().min(8),
517
- status: z.enum(['active', 'inactive']).optional(),
518
- role: z.enum(['Administrator', 'User']).optional()
1323
+ password: z.string().min(8)
519
1324
  });
520
1325
  export const zUser = z.object({
521
1326
  email: z.email(),
@@ -538,16 +1343,12 @@ export const zGetUsageQuery = z.object({
538
1343
  'hourly',
539
1344
  'daily',
540
1345
  'monthly'
541
- ]).optional()
1346
+ ]).optional().default('daily')
542
1347
  });
543
1348
  /**
544
1349
  * Usage data with facets for filtering
545
1350
  */
546
1351
  export const zGetUsageResponse = zUsageResponse;
547
- /**
548
- * Redacted payment card information.
549
- */
550
- export const zGetPaymentMethodResponse = zPaymentMethod;
551
1352
  /**
552
1353
  * 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
1354
  *
@@ -555,6 +1356,24 @@ export const zGetPaymentMethodResponse = zPaymentMethod;
555
1356
  export const zGetPaymentMethodSecretResponse = z.object({
556
1357
  id: z.string().optional()
557
1358
  });
1359
+ /**
1360
+ * An array of payment methods.
1361
+ */
1362
+ export const zListPaymentMethodsResponse = z.array(zPaymentMethod);
1363
+ export const zSetDefaultPaymentMethodPath = z.object({
1364
+ paymentMethodId: z.string()
1365
+ });
1366
+ /**
1367
+ * Default payment method updated.
1368
+ */
1369
+ export const zSetDefaultPaymentMethodResponse = z.void();
1370
+ export const zDeletePaymentMethodPath = z.object({
1371
+ paymentMethodId: z.string()
1372
+ });
1373
+ /**
1374
+ * Payment method deleted.
1375
+ */
1376
+ export const zDeletePaymentMethodResponse = z.void();
558
1377
  /**
559
1378
  * An array of usage records.
560
1379
  */
@@ -689,13 +1508,6 @@ export const zUpdateClusterPath = z.object({
689
1508
  * Successfully updated. Returns updated cluster details.
690
1509
  */
691
1510
  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
1511
  export const zGetJoinInformationPath = z.object({
700
1512
  cluster_id: z.string()
701
1513
  });
@@ -707,9 +1519,7 @@ export const zGetJoinInformationResponse = zClusterJoinInformation;
707
1519
  * An array of invites
708
1520
  */
709
1521
  export const zListInvitesResponse = z.array(zInvite);
710
- export const zCreateInviteBody = z.object({
711
- email: z.string().optional()
712
- });
1522
+ export const zCreateInviteBody = zInviteCreateInput;
713
1523
  /**
714
1524
  * Successfully created. Returns created invite details.
715
1525
  */
@@ -718,11 +1528,14 @@ export const zGetInvitePath = z.object({
718
1528
  code: z.string()
719
1529
  });
720
1530
  /**
721
- * Returns a single object containing invite details.
1531
+ * The invitation code is valid. Returns the invited email and organization.
722
1532
  */
723
- export const zGetInviteResponse = zInvite;
1533
+ export const zGetInviteResponse = z.object({
1534
+ email: z.email().optional(),
1535
+ organization_id: z.string().optional()
1536
+ });
724
1537
  export const zDeleteInvitePath = z.object({
725
- email: z.string()
1538
+ email: z.email()
726
1539
  });
727
1540
  /**
728
1541
  * An array of chart listings in the marketplace.
@@ -768,6 +1581,11 @@ export const zPostMcpResponse = z.object({
768
1581
  */
769
1582
  export const zGetOrganizationResponse = zOrganization;
770
1583
  export const zCreateOrganizationBody = zOrganizationCreateInput;
1584
+ /**
1585
+ * Organization signup accepted. Returns the generated organization id immediately; provisioning (billing, Keycloak realm, user) continues asynchronously in the background.
1586
+ *
1587
+ */
1588
+ export const zCreateOrganizationResponse = zOrganizationCreateOutput;
771
1589
  /**
772
1590
  * List of repositories
773
1591
  */
@@ -794,6 +1612,51 @@ export const zGetTagPath = z.object({
794
1612
  * Tag details
795
1613
  */
796
1614
  export const zGetTagResponse = zRegistryTag;
1615
+ /**
1616
+ * Tickets for the organization.
1617
+ */
1618
+ export const zListTicketsResponse = zTicketListResponse;
1619
+ export const zCreateTicketBody = z.object({
1620
+ payload: z.string().optional(),
1621
+ attachments: z.array(z.string()).optional()
1622
+ });
1623
+ /**
1624
+ * Ticket created.
1625
+ */
1626
+ export const zCreateTicketResponse = zTicket;
1627
+ export const zCloseTicketPath = z.object({
1628
+ ticket_id: z.string()
1629
+ });
1630
+ /**
1631
+ * Ticket closed.
1632
+ */
1633
+ export const zCloseTicketResponse = zTicket;
1634
+ export const zGetTicketPath = z.object({
1635
+ ticket_id: z.string()
1636
+ });
1637
+ /**
1638
+ * Ticket with messages (internal notes excluded).
1639
+ */
1640
+ export const zGetTicketResponse = zTicket;
1641
+ export const zReplyTicketBody = z.object({
1642
+ payload: z.string().optional(),
1643
+ attachments: z.array(z.string()).optional()
1644
+ });
1645
+ export const zReplyTicketPath = z.object({
1646
+ ticket_id: z.string()
1647
+ });
1648
+ /**
1649
+ * Reply appended.
1650
+ */
1651
+ export const zReplyTicketResponse = zTicketMessage;
1652
+ export const zGetTicketAttachmentPath = z.object({
1653
+ ticket_id: z.string(),
1654
+ attachment_id: z.string()
1655
+ });
1656
+ /**
1657
+ * Attachment binary stream.
1658
+ */
1659
+ export const zGetTicketAttachmentResponse = z.string();
797
1660
  /**
798
1661
  * Returns a list of access token details with masked secrets.
799
1662
  */