@cloudfleet/sdk 0.0.1-80ccdf7 → 0.0.1-81297bc

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(),
@@ -194,23 +180,14 @@ export const zChartUpdateInput = z.object({
194
180
  export const zClusterCreateInput = z.object({
195
181
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
196
182
  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(),
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()
183
+ region: z.string(),
184
+ 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')
209
185
  });
210
186
  export const zClusterJoinInformation = z.object({
211
187
  certificate_authority: z.string(),
212
188
  endpoint: z.url(),
213
189
  cluster_dns: z.string(),
190
+ pod_cidr: z.string(),
214
191
  auth_key: z.string(),
215
192
  bootstrap_token: z.string(),
216
193
  versions: z.object({
@@ -228,12 +205,7 @@ export const zClusterJoinInformation = z.object({
228
205
  export const zCluster = z.object({
229
206
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
230
207
  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(),
208
+ region: z.string(),
237
209
  id: z.uuid(),
238
210
  status: z.enum([
239
211
  'active',
@@ -248,6 +220,10 @@ export const zCluster = z.object({
248
220
  z.url(),
249
221
  z.enum([''])
250
222
  ]).optional(),
223
+ endpoint_public: z.union([
224
+ z.url(),
225
+ z.enum([''])
226
+ ]).optional(),
251
227
  certificate_ca: z.string().optional(),
252
228
  version_current: z.string().optional(),
253
229
  created_at: z.string().optional(),
@@ -262,63 +238,761 @@ export const zClusterUpdateInput = z.object({
262
238
  });
263
239
  export const zFleetCreateInput = z.object({
264
240
  limits: z.object({
265
- cpu: z.number().gte(0)
241
+ cpu: z.int().gte(0).lte(100000).optional()
266
242
  }).optional(),
267
243
  gcp: z.object({
268
- enabled: z.boolean().optional().default(true),
269
- project: z.string()
244
+ enabled: z.boolean(),
245
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
270
246
  }).optional(),
271
247
  hetzner: z.object({
272
- enabled: z.boolean().optional().default(true),
273
- apiKey: z.string()
248
+ enabled: z.boolean(),
249
+ apiKey: z.string().length(64).regex(/^[A-Za-z0-9]+$/).optional()
274
250
  }).optional(),
275
251
  aws: z.object({
276
- enabled: z.boolean().optional().default(true),
277
- controllerRoleArn: z.string()
252
+ enabled: z.boolean(),
253
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
278
254
  }).optional(),
255
+ constraints: z.object({
256
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).optional().default(['on-demand', 'spot']),
257
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).optional().default(['amd64']),
258
+ 'cfke.io/instance-family': z.array(z.enum([
259
+ 'a1',
260
+ 'a2',
261
+ 'a3',
262
+ 'a4',
263
+ 'c1',
264
+ 'c2',
265
+ 'c2d',
266
+ 'c3',
267
+ 'c3d',
268
+ 'c4',
269
+ 'c4a',
270
+ 'c4d',
271
+ 'c5',
272
+ 'c5a',
273
+ 'c5ad',
274
+ 'c5d',
275
+ 'c5n',
276
+ 'c6a',
277
+ 'c6g',
278
+ 'c6gd',
279
+ 'c6gn',
280
+ 'c6i',
281
+ 'c6id',
282
+ 'c6in',
283
+ 'c7a',
284
+ 'c7g',
285
+ 'c7gd',
286
+ 'c7gn',
287
+ 'c7i',
288
+ 'c7i-flex',
289
+ 'c8g',
290
+ 'c8gd',
291
+ 'cax',
292
+ 'ccx',
293
+ 'cpx',
294
+ 'cx',
295
+ 'd2',
296
+ 'd3',
297
+ 'd3en',
298
+ 'dl1',
299
+ 'dl2q',
300
+ 'e2',
301
+ 'f1',
302
+ 'f2',
303
+ 'g1',
304
+ 'g2',
305
+ 'g4ad',
306
+ 'g4dn',
307
+ 'g5',
308
+ 'g5g',
309
+ 'g6',
310
+ 'g6e',
311
+ 'gr6',
312
+ 'h1',
313
+ 'h3',
314
+ 'hpc6a',
315
+ 'hpc6id',
316
+ 'hpc7a',
317
+ 'hpc7g',
318
+ 'i2',
319
+ 'i3',
320
+ 'i3en',
321
+ 'i4g',
322
+ 'i4i',
323
+ 'i7i',
324
+ 'i7ie',
325
+ 'i8g',
326
+ 'im4gn',
327
+ 'inf1',
328
+ 'inf2',
329
+ 'is4gen',
330
+ 'm1',
331
+ 'm2',
332
+ 'm3',
333
+ 'm4',
334
+ 'm5',
335
+ 'm5a',
336
+ 'm5ad',
337
+ 'm5d',
338
+ 'm5dn',
339
+ 'm5n',
340
+ 'm5zn',
341
+ 'm6a',
342
+ 'm6g',
343
+ 'm6gd',
344
+ 'm6i',
345
+ 'm6id',
346
+ 'm6idn',
347
+ 'm6in',
348
+ 'm7a',
349
+ 'm7g',
350
+ 'm7gd',
351
+ 'm7i',
352
+ 'm7i-flex',
353
+ 'm8g',
354
+ 'm8gd',
355
+ 'n1',
356
+ 'n2',
357
+ 'n2d',
358
+ 'n4',
359
+ 'p3',
360
+ 'p3dn',
361
+ 'p4d',
362
+ 'p4de',
363
+ 'p5',
364
+ 'p5e',
365
+ 'p5en',
366
+ 'p6-b200',
367
+ 'r3',
368
+ 'r4',
369
+ 'r5',
370
+ 'r5a',
371
+ 'r5ad',
372
+ 'r5b',
373
+ 'r5d',
374
+ 'r5dn',
375
+ 'r5n',
376
+ 'r6a',
377
+ 'r6g',
378
+ 'r6gd',
379
+ 'r6i',
380
+ 'r6id',
381
+ 'r6idn',
382
+ 'r6in',
383
+ 'r7a',
384
+ 'r7g',
385
+ 'r7gd',
386
+ 'r7i',
387
+ 'r7iz',
388
+ 'r8g',
389
+ 'r8gd',
390
+ 't2',
391
+ 't2a',
392
+ 't2d',
393
+ 't3',
394
+ 't3a',
395
+ 't4g',
396
+ 'trn1',
397
+ 'trn1n',
398
+ 'u-3tb1',
399
+ 'u-6tb1',
400
+ 'u7i-12tb',
401
+ 'u7i-6tb',
402
+ 'u7i-8tb',
403
+ 'u7in-16tb',
404
+ 'u7in-24tb',
405
+ 'u7in-32tb',
406
+ 'vt1',
407
+ 'x1',
408
+ 'x1e',
409
+ 'x2gd',
410
+ 'x2idn',
411
+ 'x2iedn',
412
+ 'x2iezn',
413
+ 'x4',
414
+ 'x8g',
415
+ 'z1d',
416
+ 'z3'
417
+ ])).optional(),
418
+ 'topology.kubernetes.io/region': z.array(z.enum([
419
+ 'africa-south1',
420
+ 'ap-northeast-1',
421
+ 'ap-northeast-2',
422
+ 'ap-northeast-3',
423
+ 'ap-south-1',
424
+ 'ap-southeast-1',
425
+ 'ap-southeast-2',
426
+ 'ash',
427
+ 'asia-east1',
428
+ 'asia-east2',
429
+ 'asia-northeast1',
430
+ 'asia-northeast2',
431
+ 'asia-northeast3',
432
+ 'asia-south1',
433
+ 'asia-south2',
434
+ 'asia-southeast1',
435
+ 'asia-southeast2',
436
+ 'australia-southeast1',
437
+ 'australia-southeast2',
438
+ 'ca-central-1',
439
+ 'eu-central-1',
440
+ 'eu-central-2',
441
+ 'eu-north-1',
442
+ 'eu-west-1',
443
+ 'eu-west-2',
444
+ 'eu-west-3',
445
+ 'europe-central2',
446
+ 'europe-north1',
447
+ 'europe-southwest1',
448
+ 'europe-west1',
449
+ 'europe-west10',
450
+ 'europe-west12',
451
+ 'europe-west2',
452
+ 'europe-west3',
453
+ 'europe-west4',
454
+ 'europe-west6',
455
+ 'europe-west8',
456
+ 'europe-west9',
457
+ 'fsn1',
458
+ 'hel1',
459
+ 'hil',
460
+ 'me-central1',
461
+ 'me-central2',
462
+ 'me-west1',
463
+ 'nbg1',
464
+ 'northamerica-northeast1',
465
+ 'northamerica-northeast2',
466
+ 'sa-east-1',
467
+ 'sin',
468
+ 'southamerica-east1',
469
+ 'southamerica-west1',
470
+ 'us-central1',
471
+ 'us-east-1',
472
+ 'us-east-2',
473
+ 'us-east1',
474
+ 'us-east4',
475
+ 'us-east5',
476
+ 'us-south1',
477
+ 'us-west-1',
478
+ 'us-west-2',
479
+ 'us-west1',
480
+ 'us-west2',
481
+ 'us-west3',
482
+ 'us-west4'
483
+ ])).optional()
484
+ }).optional(),
485
+ scalingProfile: z.enum(['aggressive', 'conservative']).optional().default('conservative'),
279
486
  id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/)
280
487
  });
281
488
  export const zFleet = z.object({
282
489
  limits: z.object({
283
- cpu: z.number().gte(0)
490
+ cpu: z.int().gte(0).lte(100000).optional()
284
491
  }).optional(),
285
492
  gcp: z.object({
286
- enabled: z.boolean().optional().default(true),
287
- project: z.string()
493
+ enabled: z.boolean(),
494
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
288
495
  }).optional(),
289
496
  hetzner: z.object({
290
- enabled: z.boolean().optional().default(true),
291
- apiKey: z.string()
497
+ enabled: z.boolean(),
498
+ apiKey: z.string().regex(/^\*{64}$/).optional()
292
499
  }).optional(),
293
500
  aws: z.object({
294
- enabled: z.boolean().optional().default(true),
295
- controllerRoleArn: z.string()
501
+ enabled: z.boolean(),
502
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
503
+ }).optional(),
504
+ constraints: z.object({
505
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).optional().default(['on-demand', 'spot']),
506
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).optional().default(['amd64']),
507
+ 'cfke.io/instance-family': z.array(z.enum([
508
+ 'a1',
509
+ 'a2',
510
+ 'a3',
511
+ 'a4',
512
+ 'c1',
513
+ 'c2',
514
+ 'c2d',
515
+ 'c3',
516
+ 'c3d',
517
+ 'c4',
518
+ 'c4a',
519
+ 'c4d',
520
+ 'c5',
521
+ 'c5a',
522
+ 'c5ad',
523
+ 'c5d',
524
+ 'c5n',
525
+ 'c6a',
526
+ 'c6g',
527
+ 'c6gd',
528
+ 'c6gn',
529
+ 'c6i',
530
+ 'c6id',
531
+ 'c6in',
532
+ 'c7a',
533
+ 'c7g',
534
+ 'c7gd',
535
+ 'c7gn',
536
+ 'c7i',
537
+ 'c7i-flex',
538
+ 'c8g',
539
+ 'c8gd',
540
+ 'cax',
541
+ 'ccx',
542
+ 'cpx',
543
+ 'cx',
544
+ 'd2',
545
+ 'd3',
546
+ 'd3en',
547
+ 'dl1',
548
+ 'dl2q',
549
+ 'e2',
550
+ 'f1',
551
+ 'f2',
552
+ 'g1',
553
+ 'g2',
554
+ 'g4ad',
555
+ 'g4dn',
556
+ 'g5',
557
+ 'g5g',
558
+ 'g6',
559
+ 'g6e',
560
+ 'gr6',
561
+ 'h1',
562
+ 'h3',
563
+ 'hpc6a',
564
+ 'hpc6id',
565
+ 'hpc7a',
566
+ 'hpc7g',
567
+ 'i2',
568
+ 'i3',
569
+ 'i3en',
570
+ 'i4g',
571
+ 'i4i',
572
+ 'i7i',
573
+ 'i7ie',
574
+ 'i8g',
575
+ 'im4gn',
576
+ 'inf1',
577
+ 'inf2',
578
+ 'is4gen',
579
+ 'm1',
580
+ 'm2',
581
+ 'm3',
582
+ 'm4',
583
+ 'm5',
584
+ 'm5a',
585
+ 'm5ad',
586
+ 'm5d',
587
+ 'm5dn',
588
+ 'm5n',
589
+ 'm5zn',
590
+ 'm6a',
591
+ 'm6g',
592
+ 'm6gd',
593
+ 'm6i',
594
+ 'm6id',
595
+ 'm6idn',
596
+ 'm6in',
597
+ 'm7a',
598
+ 'm7g',
599
+ 'm7gd',
600
+ 'm7i',
601
+ 'm7i-flex',
602
+ 'm8g',
603
+ 'm8gd',
604
+ 'n1',
605
+ 'n2',
606
+ 'n2d',
607
+ 'n4',
608
+ 'p3',
609
+ 'p3dn',
610
+ 'p4d',
611
+ 'p4de',
612
+ 'p5',
613
+ 'p5e',
614
+ 'p5en',
615
+ 'p6-b200',
616
+ 'r3',
617
+ 'r4',
618
+ 'r5',
619
+ 'r5a',
620
+ 'r5ad',
621
+ 'r5b',
622
+ 'r5d',
623
+ 'r5dn',
624
+ 'r5n',
625
+ 'r6a',
626
+ 'r6g',
627
+ 'r6gd',
628
+ 'r6i',
629
+ 'r6id',
630
+ 'r6idn',
631
+ 'r6in',
632
+ 'r7a',
633
+ 'r7g',
634
+ 'r7gd',
635
+ 'r7i',
636
+ 'r7iz',
637
+ 'r8g',
638
+ 'r8gd',
639
+ 't2',
640
+ 't2a',
641
+ 't2d',
642
+ 't3',
643
+ 't3a',
644
+ 't4g',
645
+ 'trn1',
646
+ 'trn1n',
647
+ 'u-3tb1',
648
+ 'u-6tb1',
649
+ 'u7i-12tb',
650
+ 'u7i-6tb',
651
+ 'u7i-8tb',
652
+ 'u7in-16tb',
653
+ 'u7in-24tb',
654
+ 'u7in-32tb',
655
+ 'vt1',
656
+ 'x1',
657
+ 'x1e',
658
+ 'x2gd',
659
+ 'x2idn',
660
+ 'x2iedn',
661
+ 'x2iezn',
662
+ 'x4',
663
+ 'x8g',
664
+ 'z1d',
665
+ 'z3'
666
+ ])).optional(),
667
+ 'topology.kubernetes.io/region': z.array(z.enum([
668
+ 'africa-south1',
669
+ 'ap-northeast-1',
670
+ 'ap-northeast-2',
671
+ 'ap-northeast-3',
672
+ 'ap-south-1',
673
+ 'ap-southeast-1',
674
+ 'ap-southeast-2',
675
+ 'ash',
676
+ 'asia-east1',
677
+ 'asia-east2',
678
+ 'asia-northeast1',
679
+ 'asia-northeast2',
680
+ 'asia-northeast3',
681
+ 'asia-south1',
682
+ 'asia-south2',
683
+ 'asia-southeast1',
684
+ 'asia-southeast2',
685
+ 'australia-southeast1',
686
+ 'australia-southeast2',
687
+ 'ca-central-1',
688
+ 'eu-central-1',
689
+ 'eu-central-2',
690
+ 'eu-north-1',
691
+ 'eu-west-1',
692
+ 'eu-west-2',
693
+ 'eu-west-3',
694
+ 'europe-central2',
695
+ 'europe-north1',
696
+ 'europe-southwest1',
697
+ 'europe-west1',
698
+ 'europe-west10',
699
+ 'europe-west12',
700
+ 'europe-west2',
701
+ 'europe-west3',
702
+ 'europe-west4',
703
+ 'europe-west6',
704
+ 'europe-west8',
705
+ 'europe-west9',
706
+ 'fsn1',
707
+ 'hel1',
708
+ 'hil',
709
+ 'me-central1',
710
+ 'me-central2',
711
+ 'me-west1',
712
+ 'nbg1',
713
+ 'northamerica-northeast1',
714
+ 'northamerica-northeast2',
715
+ 'sa-east-1',
716
+ 'sin',
717
+ 'southamerica-east1',
718
+ 'southamerica-west1',
719
+ 'us-central1',
720
+ 'us-east-1',
721
+ 'us-east-2',
722
+ 'us-east1',
723
+ 'us-east4',
724
+ 'us-east5',
725
+ 'us-south1',
726
+ 'us-west-1',
727
+ 'us-west-2',
728
+ 'us-west1',
729
+ 'us-west2',
730
+ 'us-west3',
731
+ 'us-west4'
732
+ ])).optional()
296
733
  }).optional(),
734
+ scalingProfile: z.enum(['aggressive', 'conservative']).default('conservative'),
297
735
  id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/)
298
736
  });
299
737
  export const zFleetUpdateInput = z.object({
300
738
  limits: z.object({
301
- cpu: z.number().gte(0)
739
+ cpu: z.int().gte(0).lte(100000).optional()
302
740
  }).optional(),
303
741
  gcp: z.object({
304
- enabled: z.boolean().optional().default(true),
305
- project: z.string()
742
+ enabled: z.boolean(),
743
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
306
744
  }).optional(),
307
745
  hetzner: z.object({
308
- enabled: z.boolean().optional().default(true),
309
- apiKey: z.string()
746
+ enabled: z.boolean(),
747
+ apiKey: z.string().length(64).regex(/^[A-Za-z0-9]+$/).optional()
310
748
  }).optional(),
311
749
  aws: z.object({
312
- enabled: z.boolean().optional().default(true),
313
- controllerRoleArn: z.string()
314
- }).optional()
750
+ enabled: z.boolean(),
751
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
752
+ }).optional(),
753
+ constraints: z.object({
754
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).optional(),
755
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).optional(),
756
+ 'cfke.io/instance-family': z.array(z.enum([
757
+ 'a1',
758
+ 'a2',
759
+ 'a3',
760
+ 'a4',
761
+ 'c1',
762
+ 'c2',
763
+ 'c2d',
764
+ 'c3',
765
+ 'c3d',
766
+ 'c4',
767
+ 'c4a',
768
+ 'c4d',
769
+ 'c5',
770
+ 'c5a',
771
+ 'c5ad',
772
+ 'c5d',
773
+ 'c5n',
774
+ 'c6a',
775
+ 'c6g',
776
+ 'c6gd',
777
+ 'c6gn',
778
+ 'c6i',
779
+ 'c6id',
780
+ 'c6in',
781
+ 'c7a',
782
+ 'c7g',
783
+ 'c7gd',
784
+ 'c7gn',
785
+ 'c7i',
786
+ 'c7i-flex',
787
+ 'c8g',
788
+ 'c8gd',
789
+ 'cax',
790
+ 'ccx',
791
+ 'cpx',
792
+ 'cx',
793
+ 'd2',
794
+ 'd3',
795
+ 'd3en',
796
+ 'dl1',
797
+ 'dl2q',
798
+ 'e2',
799
+ 'f1',
800
+ 'f2',
801
+ 'g1',
802
+ 'g2',
803
+ 'g4ad',
804
+ 'g4dn',
805
+ 'g5',
806
+ 'g5g',
807
+ 'g6',
808
+ 'g6e',
809
+ 'gr6',
810
+ 'h1',
811
+ 'h3',
812
+ 'hpc6a',
813
+ 'hpc6id',
814
+ 'hpc7a',
815
+ 'hpc7g',
816
+ 'i2',
817
+ 'i3',
818
+ 'i3en',
819
+ 'i4g',
820
+ 'i4i',
821
+ 'i7i',
822
+ 'i7ie',
823
+ 'i8g',
824
+ 'im4gn',
825
+ 'inf1',
826
+ 'inf2',
827
+ 'is4gen',
828
+ 'm1',
829
+ 'm2',
830
+ 'm3',
831
+ 'm4',
832
+ 'm5',
833
+ 'm5a',
834
+ 'm5ad',
835
+ 'm5d',
836
+ 'm5dn',
837
+ 'm5n',
838
+ 'm5zn',
839
+ 'm6a',
840
+ 'm6g',
841
+ 'm6gd',
842
+ 'm6i',
843
+ 'm6id',
844
+ 'm6idn',
845
+ 'm6in',
846
+ 'm7a',
847
+ 'm7g',
848
+ 'm7gd',
849
+ 'm7i',
850
+ 'm7i-flex',
851
+ 'm8g',
852
+ 'm8gd',
853
+ 'n1',
854
+ 'n2',
855
+ 'n2d',
856
+ 'n4',
857
+ 'p3',
858
+ 'p3dn',
859
+ 'p4d',
860
+ 'p4de',
861
+ 'p5',
862
+ 'p5e',
863
+ 'p5en',
864
+ 'p6-b200',
865
+ 'r3',
866
+ 'r4',
867
+ 'r5',
868
+ 'r5a',
869
+ 'r5ad',
870
+ 'r5b',
871
+ 'r5d',
872
+ 'r5dn',
873
+ 'r5n',
874
+ 'r6a',
875
+ 'r6g',
876
+ 'r6gd',
877
+ 'r6i',
878
+ 'r6id',
879
+ 'r6idn',
880
+ 'r6in',
881
+ 'r7a',
882
+ 'r7g',
883
+ 'r7gd',
884
+ 'r7i',
885
+ 'r7iz',
886
+ 'r8g',
887
+ 'r8gd',
888
+ 't2',
889
+ 't2a',
890
+ 't2d',
891
+ 't3',
892
+ 't3a',
893
+ 't4g',
894
+ 'trn1',
895
+ 'trn1n',
896
+ 'u-3tb1',
897
+ 'u-6tb1',
898
+ 'u7i-12tb',
899
+ 'u7i-6tb',
900
+ 'u7i-8tb',
901
+ 'u7in-16tb',
902
+ 'u7in-24tb',
903
+ 'u7in-32tb',
904
+ 'vt1',
905
+ 'x1',
906
+ 'x1e',
907
+ 'x2gd',
908
+ 'x2idn',
909
+ 'x2iedn',
910
+ 'x2iezn',
911
+ 'x4',
912
+ 'x8g',
913
+ 'z1d',
914
+ 'z3'
915
+ ])).optional(),
916
+ 'topology.kubernetes.io/region': z.array(z.enum([
917
+ 'africa-south1',
918
+ 'ap-northeast-1',
919
+ 'ap-northeast-2',
920
+ 'ap-northeast-3',
921
+ 'ap-south-1',
922
+ 'ap-southeast-1',
923
+ 'ap-southeast-2',
924
+ 'ash',
925
+ 'asia-east1',
926
+ 'asia-east2',
927
+ 'asia-northeast1',
928
+ 'asia-northeast2',
929
+ 'asia-northeast3',
930
+ 'asia-south1',
931
+ 'asia-south2',
932
+ 'asia-southeast1',
933
+ 'asia-southeast2',
934
+ 'australia-southeast1',
935
+ 'australia-southeast2',
936
+ 'ca-central-1',
937
+ 'eu-central-1',
938
+ 'eu-central-2',
939
+ 'eu-north-1',
940
+ 'eu-west-1',
941
+ 'eu-west-2',
942
+ 'eu-west-3',
943
+ 'europe-central2',
944
+ 'europe-north1',
945
+ 'europe-southwest1',
946
+ 'europe-west1',
947
+ 'europe-west10',
948
+ 'europe-west12',
949
+ 'europe-west2',
950
+ 'europe-west3',
951
+ 'europe-west4',
952
+ 'europe-west6',
953
+ 'europe-west8',
954
+ 'europe-west9',
955
+ 'fsn1',
956
+ 'hel1',
957
+ 'hil',
958
+ 'me-central1',
959
+ 'me-central2',
960
+ 'me-west1',
961
+ 'nbg1',
962
+ 'northamerica-northeast1',
963
+ 'northamerica-northeast2',
964
+ 'sa-east-1',
965
+ 'sin',
966
+ 'southamerica-east1',
967
+ 'southamerica-west1',
968
+ 'us-central1',
969
+ 'us-east-1',
970
+ 'us-east-2',
971
+ 'us-east1',
972
+ 'us-east4',
973
+ 'us-east5',
974
+ 'us-south1',
975
+ 'us-west-1',
976
+ 'us-west-2',
977
+ 'us-west1',
978
+ 'us-west2',
979
+ 'us-west3',
980
+ 'us-west4'
981
+ ])).optional()
982
+ }).optional(),
983
+ scalingProfile: z.enum(['aggressive', 'conservative'])
984
+ });
985
+ export const zInviteCreateInput = z.object({
986
+ email: z.email(),
987
+ role: z.enum(['Administrator', 'User']).optional().default('User')
315
988
  });
316
989
  export const zInvite = z.object({
317
990
  id: z.string().optional(),
318
991
  organization_id: z.uuid().optional(),
319
992
  date_created: z.iso.datetime(),
320
993
  email: z.email().optional(),
321
- code: z.string().optional()
994
+ code: z.string().optional(),
995
+ role: z.enum(['Administrator', 'User']).optional().default('User')
322
996
  });
323
997
  export const zInvoice = z.object({
324
998
  id: z.string().optional(),
@@ -358,15 +1032,20 @@ export const zMarketplaceListing = z.object({
358
1032
  }).optional()
359
1033
  });
360
1034
  export const zOrganizationCreateInput = z.object({
1035
+ type: z.enum(['business', 'personal']),
361
1036
  email: z.email(),
362
- first_name: z.string(),
363
- last_name: z.string(),
1037
+ first_name: z.string().min(1),
1038
+ last_name: z.string().min(1),
364
1039
  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
1040
  password: z.string().min(8)
366
1041
  });
1042
+ export const zOrganizationCreateOutput = z.object({
1043
+ id: z.string()
1044
+ });
367
1045
  export const zOrganization = z.object({
368
1046
  id: z.uuid(),
369
1047
  name: z.string().min(2).max(120).optional(),
1048
+ type: z.enum(['business', 'personal']),
370
1049
  date_created: z.iso.datetime(),
371
1050
  quota: z.object({
372
1051
  basic_clusters_max: z.int().gte(0),
@@ -380,34 +1059,34 @@ export const zOrganization = z.object({
380
1059
  id: z.string(),
381
1060
  label: z.string()
382
1061
  })).min(1),
383
- copilot_user_hourly_tokens: z.int().gte(0),
384
- copilot_organization_hourly_tokens: z.int().gte(0),
385
1062
  cfcr_storage_gb: z.int().gte(-1)
386
1063
  }),
387
1064
  status: z.enum([
388
1065
  'active',
389
1066
  'closed',
390
1067
  'suspended'
1068
+ ]),
1069
+ verification: z.enum([
1070
+ 'none',
1071
+ 'submitted',
1072
+ 'verified'
391
1073
  ])
392
1074
  });
393
1075
  export const zPaymentMethod = z.object({
394
- id: z.uuid(),
395
- setup: z.boolean(),
396
- type: z.enum(['card']),
1076
+ id: z.string(),
1077
+ type: z.enum([
1078
+ 'card',
1079
+ 'sepa_debit',
1080
+ 'bank_transfer'
1081
+ ]),
397
1082
  last4: z.string(),
398
1083
  exp_month: z.int().gte(1).lte(12),
399
- exp_year: z.int().gte(2024),
400
- brand: z.enum([
401
- 'amex',
402
- 'diners',
403
- 'discover',
404
- 'eftpos_au',
405
- 'jcb',
406
- 'mastercard',
407
- 'unionpay',
408
- 'visa',
409
- 'unknown'
410
- ])
1084
+ exp_year: z.int(),
1085
+ brand: z.string(),
1086
+ iban: z.string(),
1087
+ bic: z.string(),
1088
+ account_holder_name: z.string(),
1089
+ is_default: z.boolean()
411
1090
  });
412
1091
  export const zPlatformQuota = z.object({
413
1092
  basic_clusters_max: z.int().gte(0),
@@ -421,8 +1100,6 @@ export const zPlatformQuota = z.object({
421
1100
  id: z.string(),
422
1101
  label: z.string()
423
1102
  })).min(1),
424
- copilot_user_hourly_tokens: z.int().gte(0),
425
- copilot_organization_hourly_tokens: z.int().gte(0),
426
1103
  cfcr_storage_gb: z.int().gte(-1)
427
1104
  });
428
1105
  export const zRegistryRepository = z.object({
@@ -471,6 +1148,102 @@ export const zRegistryTag = z.object({
471
1148
  repository: z.string(),
472
1149
  uri: z.string()
473
1150
  });
1151
+ export const zTicketAttachment = z.object({
1152
+ id: z.string(),
1153
+ filename: z.string(),
1154
+ content_type: z.string(),
1155
+ size: z.int()
1156
+ });
1157
+ export const zTicketCreateInput = z.object({
1158
+ category: z.enum([
1159
+ 'billing',
1160
+ 'technical',
1161
+ 'general'
1162
+ ]),
1163
+ body: z.string().min(1).max(50000).regex(/\S/),
1164
+ properties: z.record(z.string(), z.unknown()).optional()
1165
+ });
1166
+ export const zTicketListResponse = z.object({
1167
+ items: z.array(z.object({
1168
+ id: z.string(),
1169
+ status: z.enum([
1170
+ 'waiting_on_us',
1171
+ 'waiting_on_user',
1172
+ 'closed'
1173
+ ]),
1174
+ category: z.enum([
1175
+ 'billing',
1176
+ 'technical',
1177
+ 'general'
1178
+ ]),
1179
+ summary: z.string(),
1180
+ closed_at: z.iso.datetime().optional(),
1181
+ date_created: z.iso.datetime(),
1182
+ date_updated: z.iso.datetime(),
1183
+ messages: z.array(z.object({
1184
+ id: z.string(),
1185
+ type: z.enum(['customer_reply', 'agent_reply']),
1186
+ body: z.string(),
1187
+ author_first_name: z.string().optional(),
1188
+ author_last_name: z.string().optional(),
1189
+ attachments: z.array(z.object({
1190
+ id: z.string(),
1191
+ filename: z.string(),
1192
+ content_type: z.string(),
1193
+ size: z.int()
1194
+ })).optional(),
1195
+ date_created: z.iso.datetime()
1196
+ })).optional()
1197
+ }))
1198
+ });
1199
+ export const zTicketMessageInput = z.object({
1200
+ body: z.string().min(1).max(50000).regex(/\S/)
1201
+ });
1202
+ export const zTicketMessage = z.object({
1203
+ id: z.string(),
1204
+ type: z.enum(['customer_reply', 'agent_reply']),
1205
+ body: z.string(),
1206
+ author_first_name: z.string().optional(),
1207
+ author_last_name: z.string().optional(),
1208
+ attachments: z.array(z.object({
1209
+ id: z.string(),
1210
+ filename: z.string(),
1211
+ content_type: z.string(),
1212
+ size: z.int()
1213
+ })).optional(),
1214
+ date_created: z.iso.datetime()
1215
+ });
1216
+ export const zTicket = z.object({
1217
+ id: z.string(),
1218
+ status: z.enum([
1219
+ 'waiting_on_us',
1220
+ 'waiting_on_user',
1221
+ 'closed'
1222
+ ]),
1223
+ category: z.enum([
1224
+ 'billing',
1225
+ 'technical',
1226
+ 'general'
1227
+ ]),
1228
+ summary: z.string(),
1229
+ closed_at: z.iso.datetime().optional(),
1230
+ date_created: z.iso.datetime(),
1231
+ date_updated: z.iso.datetime(),
1232
+ messages: z.array(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
+ })).optional()
1246
+ });
474
1247
  export const zTokenCreateInput = z.object({
475
1248
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
476
1249
  role: z.enum(['Administrator', 'User'])
@@ -517,9 +1290,7 @@ export const zUserCreateInput = z.object({
517
1290
  first_name: z.string().min(1).max(50),
518
1291
  last_name: z.string().min(1).max(50),
519
1292
  code: z.string(),
520
- password: z.string().min(8),
521
- status: z.enum(['active', 'inactive']).optional(),
522
- role: z.enum(['Administrator', 'User']).optional()
1293
+ password: z.string().min(8)
523
1294
  });
524
1295
  export const zUser = z.object({
525
1296
  email: z.email(),
@@ -542,16 +1313,12 @@ export const zGetUsageQuery = z.object({
542
1313
  'hourly',
543
1314
  'daily',
544
1315
  'monthly'
545
- ]).optional()
1316
+ ]).optional().default('daily')
546
1317
  });
547
1318
  /**
548
1319
  * Usage data with facets for filtering
549
1320
  */
550
1321
  export const zGetUsageResponse = zUsageResponse;
551
- /**
552
- * Redacted payment card information.
553
- */
554
- export const zGetPaymentMethodResponse = zPaymentMethod;
555
1322
  /**
556
1323
  * 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.
557
1324
  *
@@ -559,6 +1326,24 @@ export const zGetPaymentMethodResponse = zPaymentMethod;
559
1326
  export const zGetPaymentMethodSecretResponse = z.object({
560
1327
  id: z.string().optional()
561
1328
  });
1329
+ /**
1330
+ * An array of payment methods.
1331
+ */
1332
+ export const zListPaymentMethodsResponse = z.array(zPaymentMethod);
1333
+ export const zSetDefaultPaymentMethodPath = z.object({
1334
+ paymentMethodId: z.string()
1335
+ });
1336
+ /**
1337
+ * Default payment method updated.
1338
+ */
1339
+ export const zSetDefaultPaymentMethodResponse = z.void();
1340
+ export const zDeletePaymentMethodPath = z.object({
1341
+ paymentMethodId: z.string()
1342
+ });
1343
+ /**
1344
+ * Payment method deleted.
1345
+ */
1346
+ export const zDeletePaymentMethodResponse = z.void();
562
1347
  /**
563
1348
  * An array of usage records.
564
1349
  */
@@ -675,7 +1460,7 @@ export const zDeleteClusterPath = z.object({
675
1460
  cluster_id: z.string()
676
1461
  });
677
1462
  /**
678
- * Successfully deleted.
1463
+ * Successfully deleted. The cluster has been torn down.
679
1464
  */
680
1465
  export const zDeleteClusterResponse = z.string();
681
1466
  export const zGetClusterPath = z.object({
@@ -704,9 +1489,7 @@ export const zGetJoinInformationResponse = zClusterJoinInformation;
704
1489
  * An array of invites
705
1490
  */
706
1491
  export const zListInvitesResponse = z.array(zInvite);
707
- export const zCreateInviteBody = z.object({
708
- email: z.string().optional()
709
- });
1492
+ export const zCreateInviteBody = zInviteCreateInput;
710
1493
  /**
711
1494
  * Successfully created. Returns created invite details.
712
1495
  */
@@ -715,11 +1498,14 @@ export const zGetInvitePath = z.object({
715
1498
  code: z.string()
716
1499
  });
717
1500
  /**
718
- * Returns a single object containing invite details.
1501
+ * The invitation code is valid. Returns the invited email and organization.
719
1502
  */
720
- export const zGetInviteResponse = zInvite;
1503
+ export const zGetInviteResponse = z.object({
1504
+ email: z.email().optional(),
1505
+ organization_id: z.string().optional()
1506
+ });
721
1507
  export const zDeleteInvitePath = z.object({
722
- email: z.string()
1508
+ email: z.email()
723
1509
  });
724
1510
  /**
725
1511
  * An array of chart listings in the marketplace.
@@ -765,6 +1551,11 @@ export const zPostMcpResponse = z.object({
765
1551
  */
766
1552
  export const zGetOrganizationResponse = zOrganization;
767
1553
  export const zCreateOrganizationBody = zOrganizationCreateInput;
1554
+ /**
1555
+ * Organization signup accepted. Returns the generated organization id immediately; provisioning (billing, Keycloak realm, user) continues asynchronously in the background.
1556
+ *
1557
+ */
1558
+ export const zCreateOrganizationResponse = zOrganizationCreateOutput;
768
1559
  /**
769
1560
  * List of repositories
770
1561
  */
@@ -791,6 +1582,51 @@ export const zGetTagPath = z.object({
791
1582
  * Tag details
792
1583
  */
793
1584
  export const zGetTagResponse = zRegistryTag;
1585
+ /**
1586
+ * Tickets for the organization.
1587
+ */
1588
+ export const zListTicketsResponse = zTicketListResponse;
1589
+ export const zCreateTicketBody = z.object({
1590
+ payload: z.string().optional(),
1591
+ attachments: z.array(z.string()).optional()
1592
+ });
1593
+ /**
1594
+ * Ticket created.
1595
+ */
1596
+ export const zCreateTicketResponse = zTicket;
1597
+ export const zCloseTicketPath = z.object({
1598
+ ticket_id: z.string()
1599
+ });
1600
+ /**
1601
+ * Ticket closed.
1602
+ */
1603
+ export const zCloseTicketResponse = zTicket;
1604
+ export const zGetTicketPath = z.object({
1605
+ ticket_id: z.string()
1606
+ });
1607
+ /**
1608
+ * Ticket with messages (internal notes excluded).
1609
+ */
1610
+ export const zGetTicketResponse = zTicket;
1611
+ export const zReplyTicketBody = z.object({
1612
+ payload: z.string().optional(),
1613
+ attachments: z.array(z.string()).optional()
1614
+ });
1615
+ export const zReplyTicketPath = z.object({
1616
+ ticket_id: z.string()
1617
+ });
1618
+ /**
1619
+ * Reply appended.
1620
+ */
1621
+ export const zReplyTicketResponse = zTicketMessage;
1622
+ export const zGetTicketAttachmentPath = z.object({
1623
+ ticket_id: z.string(),
1624
+ attachment_id: z.string()
1625
+ });
1626
+ /**
1627
+ * Attachment binary stream.
1628
+ */
1629
+ export const zGetTicketAttachmentResponse = z.string();
794
1630
  /**
795
1631
  * Returns a list of access token details with masked secrets.
796
1632
  */