@cloudfleet/sdk 0.0.1-a64863e → 0.0.1-a9ac9eb

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