@cloudfleet/sdk 0.0.1-081916a → 0.0.1-092d0b4

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().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')
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().default('staging-1a'),
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()
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()
278
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()
296
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()
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),
@@ -386,26 +1065,28 @@ export const zOrganization = z.object({
386
1065
  'active',
387
1066
  'closed',
388
1067
  'suspended'
1068
+ ]),
1069
+ verification: z.enum([
1070
+ 'none',
1071
+ 'submitted',
1072
+ 'verified'
389
1073
  ])
390
1074
  });
391
1075
  export const zPaymentMethod = z.object({
392
- id: z.uuid(),
393
- setup: z.boolean(),
394
- type: z.enum(['card']),
1076
+ id: z.string(),
1077
+ type: z.enum([
1078
+ 'card',
1079
+ 'sepa_debit',
1080
+ 'bank_transfer'
1081
+ ]),
395
1082
  last4: z.string(),
396
1083
  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
- ])
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()
409
1090
  });
410
1091
  export const zPlatformQuota = z.object({
411
1092
  basic_clusters_max: z.int().gte(0),
@@ -467,6 +1148,102 @@ export const zRegistryTag = z.object({
467
1148
  repository: z.string(),
468
1149
  uri: z.string()
469
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
+ });
470
1247
  export const zTokenCreateInput = z.object({
471
1248
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
472
1249
  role: z.enum(['Administrator', 'User'])
@@ -513,9 +1290,7 @@ export const zUserCreateInput = z.object({
513
1290
  first_name: z.string().min(1).max(50),
514
1291
  last_name: z.string().min(1).max(50),
515
1292
  code: z.string(),
516
- password: z.string().min(8),
517
- status: z.enum(['active', 'inactive']).optional(),
518
- role: z.enum(['Administrator', 'User']).optional()
1293
+ password: z.string().min(8)
519
1294
  });
520
1295
  export const zUser = z.object({
521
1296
  email: z.email(),
@@ -544,10 +1319,6 @@ export const zGetUsageQuery = z.object({
544
1319
  * Usage data with facets for filtering
545
1320
  */
546
1321
  export const zGetUsageResponse = zUsageResponse;
547
- /**
548
- * Redacted payment card information.
549
- */
550
- export const zGetPaymentMethodResponse = zPaymentMethod;
551
1322
  /**
552
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.
553
1324
  *
@@ -555,6 +1326,24 @@ export const zGetPaymentMethodResponse = zPaymentMethod;
555
1326
  export const zGetPaymentMethodSecretResponse = z.object({
556
1327
  id: z.string().optional()
557
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();
558
1347
  /**
559
1348
  * An array of usage records.
560
1349
  */
@@ -671,7 +1460,7 @@ export const zDeleteClusterPath = z.object({
671
1460
  cluster_id: z.string()
672
1461
  });
673
1462
  /**
674
- * Successfully deleted.
1463
+ * Successfully deleted. The cluster has been torn down.
675
1464
  */
676
1465
  export const zDeleteClusterResponse = z.string();
677
1466
  export const zGetClusterPath = z.object({
@@ -689,13 +1478,6 @@ export const zUpdateClusterPath = z.object({
689
1478
  * Successfully updated. Returns updated cluster details.
690
1479
  */
691
1480
  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
1481
  export const zGetJoinInformationPath = z.object({
700
1482
  cluster_id: z.string()
701
1483
  });
@@ -707,9 +1489,7 @@ export const zGetJoinInformationResponse = zClusterJoinInformation;
707
1489
  * An array of invites
708
1490
  */
709
1491
  export const zListInvitesResponse = z.array(zInvite);
710
- export const zCreateInviteBody = z.object({
711
- email: z.string().optional()
712
- });
1492
+ export const zCreateInviteBody = zInviteCreateInput;
713
1493
  /**
714
1494
  * Successfully created. Returns created invite details.
715
1495
  */
@@ -718,11 +1498,14 @@ export const zGetInvitePath = z.object({
718
1498
  code: z.string()
719
1499
  });
720
1500
  /**
721
- * Returns a single object containing invite details.
1501
+ * The invitation code is valid. Returns the invited email and organization.
722
1502
  */
723
- export const zGetInviteResponse = zInvite;
1503
+ export const zGetInviteResponse = z.object({
1504
+ email: z.email().optional(),
1505
+ organization_id: z.string().optional()
1506
+ });
724
1507
  export const zDeleteInvitePath = z.object({
725
- email: z.string()
1508
+ email: z.email()
726
1509
  });
727
1510
  /**
728
1511
  * An array of chart listings in the marketplace.
@@ -768,6 +1551,11 @@ export const zPostMcpResponse = z.object({
768
1551
  */
769
1552
  export const zGetOrganizationResponse = zOrganization;
770
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;
771
1559
  /**
772
1560
  * List of repositories
773
1561
  */
@@ -794,6 +1582,51 @@ export const zGetTagPath = z.object({
794
1582
  * Tag details
795
1583
  */
796
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();
797
1630
  /**
798
1631
  * Returns a list of access token details with masked secrets.
799
1632
  */