@cloudfleet/sdk 0.0.1-d824507 → 0.0.1-d940b00

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,40 @@ 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'),
185
+ release_channel: z.enum([
186
+ 'rapid',
187
+ 'stable',
188
+ 'extended'
189
+ ]).optional().default('rapid'),
190
+ features: z.object({
191
+ gpu_sharing_strategy: z.enum([
192
+ 'none',
193
+ 'mps',
194
+ 'time_slicing'
195
+ ]),
196
+ gpu_max_shared_clients_per_gpu: z.int().gte(1).lte(48),
197
+ cilium_socket_lb_host_namespace_only: z.boolean().optional()
198
+ }).optional().default({
199
+ gpu_sharing_strategy: 'none',
200
+ gpu_max_shared_clients_per_gpu: 10,
201
+ cilium_socket_lb_host_namespace_only: false
202
+ }),
203
+ networking: z.object({
204
+ pod_cidr: z.string().optional(),
205
+ service_cidr: z.string().optional(),
206
+ cluster_dns: z.string().optional(),
207
+ dual_stack: z.boolean().optional(),
208
+ pod_cidr_v6: z.string().optional(),
209
+ service_cidr_v6: z.string().optional()
210
+ }).optional()
209
211
  });
210
212
  export const zClusterJoinInformation = z.object({
211
213
  certificate_authority: z.string(),
212
214
  endpoint: z.url(),
213
215
  cluster_dns: z.string(),
216
+ pod_cidr: z.string(),
214
217
  auth_key: z.string(),
215
218
  bootstrap_token: z.string(),
216
219
  versions: z.object({
@@ -228,26 +231,44 @@ export const zClusterJoinInformation = z.object({
228
231
  export const zCluster = z.object({
229
232
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
230
233
  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'),
234
+ region: z.string(),
235
+ networking: z.object({
236
+ pod_cidr: z.string().optional(),
237
+ service_cidr: z.string().optional(),
238
+ cluster_dns: z.string().optional(),
239
+ dual_stack: z.boolean().optional(),
240
+ pod_cidr_v6: z.string().optional(),
241
+ service_cidr_v6: z.string().optional()
242
+ }).optional(),
243
+ release_channel: z.enum([
244
+ 'rapid',
245
+ 'stable',
246
+ 'extended'
247
+ ]).optional(),
248
+ features: z.object({
249
+ gpu_sharing_strategy: z.enum([
250
+ 'none',
251
+ 'mps',
252
+ 'time_slicing'
253
+ ]),
254
+ gpu_max_shared_clients_per_gpu: z.int().gte(1).lte(48),
255
+ cilium_socket_lb_host_namespace_only: z.boolean().optional()
256
+ }).optional(),
237
257
  id: z.uuid(),
238
258
  status: z.enum([
239
- 'active',
240
- 'disabled',
241
- 'deleted',
242
259
  'creating',
243
260
  'deployed',
244
- 'failed',
245
- 'updating'
261
+ 'updating',
262
+ 'disabled'
246
263
  ]),
247
264
  endpoint: z.union([
248
265
  z.url(),
249
266
  z.enum([''])
250
267
  ]).optional(),
268
+ endpoint_public: z.union([
269
+ z.url(),
270
+ z.enum([''])
271
+ ]).optional(),
251
272
  certificate_ca: z.string().optional(),
252
273
  version_current: z.string().optional(),
253
274
  created_at: z.string().optional(),
@@ -258,67 +279,783 @@ export const zCluster = z.object({
258
279
  export const zClusterUpdateInput = z.object({
259
280
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/).optional(),
260
281
  tier: z.enum(['basic', 'pro']),
261
- version_channel: z.string().regex(/^(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/).optional()
282
+ 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(),
283
+ release_channel: z.enum([
284
+ 'rapid',
285
+ 'stable',
286
+ 'extended'
287
+ ]).optional(),
288
+ features: z.object({
289
+ gpu_sharing_strategy: z.enum([
290
+ 'none',
291
+ 'mps',
292
+ 'time_slicing'
293
+ ]),
294
+ gpu_max_shared_clients_per_gpu: z.int().gte(1).lte(48),
295
+ cilium_socket_lb_host_namespace_only: z.boolean().optional()
296
+ }).optional()
262
297
  });
263
298
  export const zFleetCreateInput = z.object({
264
299
  limits: z.object({
265
- cpu: z.number().gte(0)
300
+ cpu: z.int().gte(0).lte(100000).optional()
266
301
  }).optional(),
267
302
  gcp: z.object({
268
- enabled: z.boolean().optional().default(true),
269
- project: z.string()
303
+ enabled: z.boolean(),
304
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
270
305
  }).optional(),
271
306
  hetzner: z.object({
272
- enabled: z.boolean().optional().default(true),
273
- apiKey: z.string()
307
+ enabled: z.boolean(),
308
+ apiKey: z.string().length(64).regex(/^[A-Za-z0-9]+$/).optional()
274
309
  }).optional(),
275
310
  aws: z.object({
276
- enabled: z.boolean().optional().default(true),
277
- controllerRoleArn: z.string()
311
+ enabled: z.boolean(),
312
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
313
+ }).optional(),
314
+ constraints: z.object({
315
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).optional().default(['on-demand', 'spot']),
316
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).optional().default(['amd64']),
317
+ 'cfke.io/instance-family': z.array(z.enum([
318
+ 'a1',
319
+ 'a2',
320
+ 'a3',
321
+ 'a4',
322
+ 'c1',
323
+ 'c2',
324
+ 'c2d',
325
+ 'c3',
326
+ 'c3d',
327
+ 'c4',
328
+ 'c4a',
329
+ 'c4d',
330
+ 'c5',
331
+ 'c5a',
332
+ 'c5ad',
333
+ 'c5d',
334
+ 'c5n',
335
+ 'c6a',
336
+ 'c6g',
337
+ 'c6gd',
338
+ 'c6gn',
339
+ 'c6i',
340
+ 'c6id',
341
+ 'c6in',
342
+ 'c7a',
343
+ 'c7g',
344
+ 'c7gd',
345
+ 'c7gn',
346
+ 'c7i',
347
+ 'c7i-flex',
348
+ 'c8g',
349
+ 'c8gd',
350
+ 'cax',
351
+ 'ccx',
352
+ 'cpx',
353
+ 'cx',
354
+ 'd2',
355
+ 'd3',
356
+ 'd3en',
357
+ 'dl1',
358
+ 'dl2q',
359
+ 'e2',
360
+ 'f1',
361
+ 'f2',
362
+ 'g1',
363
+ 'g2',
364
+ 'g4ad',
365
+ 'g4dn',
366
+ 'g5',
367
+ 'g5g',
368
+ 'g6',
369
+ 'g6e',
370
+ 'gr6',
371
+ 'h1',
372
+ 'h3',
373
+ 'hpc6a',
374
+ 'hpc6id',
375
+ 'hpc7a',
376
+ 'hpc7g',
377
+ 'i2',
378
+ 'i3',
379
+ 'i3en',
380
+ 'i4g',
381
+ 'i4i',
382
+ 'i7i',
383
+ 'i7ie',
384
+ 'i8g',
385
+ 'im4gn',
386
+ 'inf1',
387
+ 'inf2',
388
+ 'is4gen',
389
+ 'm1',
390
+ 'm2',
391
+ 'm3',
392
+ 'm4',
393
+ 'm5',
394
+ 'm5a',
395
+ 'm5ad',
396
+ 'm5d',
397
+ 'm5dn',
398
+ 'm5n',
399
+ 'm5zn',
400
+ 'm6a',
401
+ 'm6g',
402
+ 'm6gd',
403
+ 'm6i',
404
+ 'm6id',
405
+ 'm6idn',
406
+ 'm6in',
407
+ 'm7a',
408
+ 'm7g',
409
+ 'm7gd',
410
+ 'm7i',
411
+ 'm7i-flex',
412
+ 'm8g',
413
+ 'm8gd',
414
+ 'n1',
415
+ 'n2',
416
+ 'n2d',
417
+ 'n4',
418
+ 'p3',
419
+ 'p3dn',
420
+ 'p4d',
421
+ 'p4de',
422
+ 'p5',
423
+ 'p5e',
424
+ 'p5en',
425
+ 'p6-b200',
426
+ 'r3',
427
+ 'r4',
428
+ 'r5',
429
+ 'r5a',
430
+ 'r5ad',
431
+ 'r5b',
432
+ 'r5d',
433
+ 'r5dn',
434
+ 'r5n',
435
+ 'r6a',
436
+ 'r6g',
437
+ 'r6gd',
438
+ 'r6i',
439
+ 'r6id',
440
+ 'r6idn',
441
+ 'r6in',
442
+ 'r7a',
443
+ 'r7g',
444
+ 'r7gd',
445
+ 'r7i',
446
+ 'r7iz',
447
+ 'r8g',
448
+ 'r8gd',
449
+ 't2',
450
+ 't2a',
451
+ 't2d',
452
+ 't3',
453
+ 't3a',
454
+ 't4g',
455
+ 'trn1',
456
+ 'trn1n',
457
+ 'u-3tb1',
458
+ 'u-6tb1',
459
+ 'u7i-12tb',
460
+ 'u7i-6tb',
461
+ 'u7i-8tb',
462
+ 'u7in-16tb',
463
+ 'u7in-24tb',
464
+ 'u7in-32tb',
465
+ 'vt1',
466
+ 'x1',
467
+ 'x1e',
468
+ 'x2gd',
469
+ 'x2idn',
470
+ 'x2iedn',
471
+ 'x2iezn',
472
+ 'x4',
473
+ 'x8g',
474
+ 'z1d',
475
+ 'z3'
476
+ ])).optional(),
477
+ 'topology.kubernetes.io/region': z.array(z.enum([
478
+ 'africa-south1',
479
+ 'ap-northeast-1',
480
+ 'ap-northeast-2',
481
+ 'ap-northeast-3',
482
+ 'ap-south-1',
483
+ 'ap-southeast-1',
484
+ 'ap-southeast-2',
485
+ 'ash',
486
+ 'asia-east1',
487
+ 'asia-east2',
488
+ 'asia-northeast1',
489
+ 'asia-northeast2',
490
+ 'asia-northeast3',
491
+ 'asia-south1',
492
+ 'asia-south2',
493
+ 'asia-southeast1',
494
+ 'asia-southeast2',
495
+ 'australia-southeast1',
496
+ 'australia-southeast2',
497
+ 'ca-central-1',
498
+ 'eu-central-1',
499
+ 'eu-central-2',
500
+ 'eu-north-1',
501
+ 'eu-west-1',
502
+ 'eu-west-2',
503
+ 'eu-west-3',
504
+ 'europe-central2',
505
+ 'europe-north1',
506
+ 'europe-southwest1',
507
+ 'europe-west1',
508
+ 'europe-west10',
509
+ 'europe-west12',
510
+ 'europe-west2',
511
+ 'europe-west3',
512
+ 'europe-west4',
513
+ 'europe-west6',
514
+ 'europe-west8',
515
+ 'europe-west9',
516
+ 'fsn1',
517
+ 'hel1',
518
+ 'hil',
519
+ 'me-central1',
520
+ 'me-central2',
521
+ 'me-west1',
522
+ 'nbg1',
523
+ 'northamerica-northeast1',
524
+ 'northamerica-northeast2',
525
+ 'sa-east-1',
526
+ 'sin',
527
+ 'southamerica-east1',
528
+ 'southamerica-west1',
529
+ 'us-central1',
530
+ 'us-east-1',
531
+ 'us-east-2',
532
+ 'us-east1',
533
+ 'us-east4',
534
+ 'us-east5',
535
+ 'us-south1',
536
+ 'us-west-1',
537
+ 'us-west-2',
538
+ 'us-west1',
539
+ 'us-west2',
540
+ 'us-west3',
541
+ 'us-west4'
542
+ ])).optional()
278
543
  }).optional(),
544
+ scalingProfile: z.enum(['aggressive', 'conservative']).optional().default('conservative'),
279
545
  id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/)
280
546
  });
281
547
  export const zFleet = z.object({
282
548
  limits: z.object({
283
- cpu: z.number().gte(0)
549
+ cpu: z.int().gte(0).lte(100000).optional()
284
550
  }).optional(),
285
551
  gcp: z.object({
286
- enabled: z.boolean().optional().default(true),
287
- project: z.string()
552
+ enabled: z.boolean(),
553
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
288
554
  }).optional(),
289
555
  hetzner: z.object({
290
- enabled: z.boolean().optional().default(true),
291
- apiKey: z.string()
556
+ enabled: z.boolean(),
557
+ apiKey: z.string().regex(/^\*{64}$/).optional()
292
558
  }).optional(),
293
559
  aws: z.object({
294
- enabled: z.boolean().optional().default(true),
295
- controllerRoleArn: z.string()
560
+ enabled: z.boolean(),
561
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
296
562
  }).optional(),
297
- id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/)
563
+ constraints: z.object({
564
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).optional().default(['on-demand', 'spot']),
565
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).optional().default(['amd64']),
566
+ 'cfke.io/instance-family': z.array(z.enum([
567
+ 'a1',
568
+ 'a2',
569
+ 'a3',
570
+ 'a4',
571
+ 'c1',
572
+ 'c2',
573
+ 'c2d',
574
+ 'c3',
575
+ 'c3d',
576
+ 'c4',
577
+ 'c4a',
578
+ 'c4d',
579
+ 'c5',
580
+ 'c5a',
581
+ 'c5ad',
582
+ 'c5d',
583
+ 'c5n',
584
+ 'c6a',
585
+ 'c6g',
586
+ 'c6gd',
587
+ 'c6gn',
588
+ 'c6i',
589
+ 'c6id',
590
+ 'c6in',
591
+ 'c7a',
592
+ 'c7g',
593
+ 'c7gd',
594
+ 'c7gn',
595
+ 'c7i',
596
+ 'c7i-flex',
597
+ 'c8g',
598
+ 'c8gd',
599
+ 'cax',
600
+ 'ccx',
601
+ 'cpx',
602
+ 'cx',
603
+ 'd2',
604
+ 'd3',
605
+ 'd3en',
606
+ 'dl1',
607
+ 'dl2q',
608
+ 'e2',
609
+ 'f1',
610
+ 'f2',
611
+ 'g1',
612
+ 'g2',
613
+ 'g4ad',
614
+ 'g4dn',
615
+ 'g5',
616
+ 'g5g',
617
+ 'g6',
618
+ 'g6e',
619
+ 'gr6',
620
+ 'h1',
621
+ 'h3',
622
+ 'hpc6a',
623
+ 'hpc6id',
624
+ 'hpc7a',
625
+ 'hpc7g',
626
+ 'i2',
627
+ 'i3',
628
+ 'i3en',
629
+ 'i4g',
630
+ 'i4i',
631
+ 'i7i',
632
+ 'i7ie',
633
+ 'i8g',
634
+ 'im4gn',
635
+ 'inf1',
636
+ 'inf2',
637
+ 'is4gen',
638
+ 'm1',
639
+ 'm2',
640
+ 'm3',
641
+ 'm4',
642
+ 'm5',
643
+ 'm5a',
644
+ 'm5ad',
645
+ 'm5d',
646
+ 'm5dn',
647
+ 'm5n',
648
+ 'm5zn',
649
+ 'm6a',
650
+ 'm6g',
651
+ 'm6gd',
652
+ 'm6i',
653
+ 'm6id',
654
+ 'm6idn',
655
+ 'm6in',
656
+ 'm7a',
657
+ 'm7g',
658
+ 'm7gd',
659
+ 'm7i',
660
+ 'm7i-flex',
661
+ 'm8g',
662
+ 'm8gd',
663
+ 'n1',
664
+ 'n2',
665
+ 'n2d',
666
+ 'n4',
667
+ 'p3',
668
+ 'p3dn',
669
+ 'p4d',
670
+ 'p4de',
671
+ 'p5',
672
+ 'p5e',
673
+ 'p5en',
674
+ 'p6-b200',
675
+ 'r3',
676
+ 'r4',
677
+ 'r5',
678
+ 'r5a',
679
+ 'r5ad',
680
+ 'r5b',
681
+ 'r5d',
682
+ 'r5dn',
683
+ 'r5n',
684
+ 'r6a',
685
+ 'r6g',
686
+ 'r6gd',
687
+ 'r6i',
688
+ 'r6id',
689
+ 'r6idn',
690
+ 'r6in',
691
+ 'r7a',
692
+ 'r7g',
693
+ 'r7gd',
694
+ 'r7i',
695
+ 'r7iz',
696
+ 'r8g',
697
+ 'r8gd',
698
+ 't2',
699
+ 't2a',
700
+ 't2d',
701
+ 't3',
702
+ 't3a',
703
+ 't4g',
704
+ 'trn1',
705
+ 'trn1n',
706
+ 'u-3tb1',
707
+ 'u-6tb1',
708
+ 'u7i-12tb',
709
+ 'u7i-6tb',
710
+ 'u7i-8tb',
711
+ 'u7in-16tb',
712
+ 'u7in-24tb',
713
+ 'u7in-32tb',
714
+ 'vt1',
715
+ 'x1',
716
+ 'x1e',
717
+ 'x2gd',
718
+ 'x2idn',
719
+ 'x2iedn',
720
+ 'x2iezn',
721
+ 'x4',
722
+ 'x8g',
723
+ 'z1d',
724
+ 'z3'
725
+ ])).optional(),
726
+ 'topology.kubernetes.io/region': z.array(z.enum([
727
+ 'africa-south1',
728
+ 'ap-northeast-1',
729
+ 'ap-northeast-2',
730
+ 'ap-northeast-3',
731
+ 'ap-south-1',
732
+ 'ap-southeast-1',
733
+ 'ap-southeast-2',
734
+ 'ash',
735
+ 'asia-east1',
736
+ 'asia-east2',
737
+ 'asia-northeast1',
738
+ 'asia-northeast2',
739
+ 'asia-northeast3',
740
+ 'asia-south1',
741
+ 'asia-south2',
742
+ 'asia-southeast1',
743
+ 'asia-southeast2',
744
+ 'australia-southeast1',
745
+ 'australia-southeast2',
746
+ 'ca-central-1',
747
+ 'eu-central-1',
748
+ 'eu-central-2',
749
+ 'eu-north-1',
750
+ 'eu-west-1',
751
+ 'eu-west-2',
752
+ 'eu-west-3',
753
+ 'europe-central2',
754
+ 'europe-north1',
755
+ 'europe-southwest1',
756
+ 'europe-west1',
757
+ 'europe-west10',
758
+ 'europe-west12',
759
+ 'europe-west2',
760
+ 'europe-west3',
761
+ 'europe-west4',
762
+ 'europe-west6',
763
+ 'europe-west8',
764
+ 'europe-west9',
765
+ 'fsn1',
766
+ 'hel1',
767
+ 'hil',
768
+ 'me-central1',
769
+ 'me-central2',
770
+ 'me-west1',
771
+ 'nbg1',
772
+ 'northamerica-northeast1',
773
+ 'northamerica-northeast2',
774
+ 'sa-east-1',
775
+ 'sin',
776
+ 'southamerica-east1',
777
+ 'southamerica-west1',
778
+ 'us-central1',
779
+ 'us-east-1',
780
+ 'us-east-2',
781
+ 'us-east1',
782
+ 'us-east4',
783
+ 'us-east5',
784
+ 'us-south1',
785
+ 'us-west-1',
786
+ 'us-west-2',
787
+ 'us-west1',
788
+ 'us-west2',
789
+ 'us-west3',
790
+ 'us-west4'
791
+ ])).optional()
792
+ }).optional(),
793
+ scalingProfile: z.enum(['aggressive', 'conservative']).default('conservative'),
794
+ id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
795
+ ready: z.boolean(),
796
+ status_message: z.string().optional(),
797
+ created_at: z.string(),
798
+ updated_at: z.string()
298
799
  });
299
800
  export const zFleetUpdateInput = z.object({
300
801
  limits: z.object({
301
- cpu: z.number().gte(0)
802
+ cpu: z.int().gte(0).lte(100000).optional()
302
803
  }).optional(),
303
804
  gcp: z.object({
304
- enabled: z.boolean().optional().default(true),
305
- project: z.string()
805
+ enabled: z.boolean(),
806
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
306
807
  }).optional(),
307
808
  hetzner: z.object({
308
- enabled: z.boolean().optional().default(true),
309
- apiKey: z.string()
809
+ enabled: z.boolean(),
810
+ apiKey: z.string().length(64).regex(/^[A-Za-z0-9]+$/).optional()
310
811
  }).optional(),
311
812
  aws: z.object({
312
- enabled: z.boolean().optional().default(true),
313
- controllerRoleArn: z.string()
314
- }).optional()
813
+ enabled: z.boolean(),
814
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
815
+ }).optional(),
816
+ constraints: z.object({
817
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).optional(),
818
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).optional(),
819
+ 'cfke.io/instance-family': z.array(z.enum([
820
+ 'a1',
821
+ 'a2',
822
+ 'a3',
823
+ 'a4',
824
+ 'c1',
825
+ 'c2',
826
+ 'c2d',
827
+ 'c3',
828
+ 'c3d',
829
+ 'c4',
830
+ 'c4a',
831
+ 'c4d',
832
+ 'c5',
833
+ 'c5a',
834
+ 'c5ad',
835
+ 'c5d',
836
+ 'c5n',
837
+ 'c6a',
838
+ 'c6g',
839
+ 'c6gd',
840
+ 'c6gn',
841
+ 'c6i',
842
+ 'c6id',
843
+ 'c6in',
844
+ 'c7a',
845
+ 'c7g',
846
+ 'c7gd',
847
+ 'c7gn',
848
+ 'c7i',
849
+ 'c7i-flex',
850
+ 'c8g',
851
+ 'c8gd',
852
+ 'cax',
853
+ 'ccx',
854
+ 'cpx',
855
+ 'cx',
856
+ 'd2',
857
+ 'd3',
858
+ 'd3en',
859
+ 'dl1',
860
+ 'dl2q',
861
+ 'e2',
862
+ 'f1',
863
+ 'f2',
864
+ 'g1',
865
+ 'g2',
866
+ 'g4ad',
867
+ 'g4dn',
868
+ 'g5',
869
+ 'g5g',
870
+ 'g6',
871
+ 'g6e',
872
+ 'gr6',
873
+ 'h1',
874
+ 'h3',
875
+ 'hpc6a',
876
+ 'hpc6id',
877
+ 'hpc7a',
878
+ 'hpc7g',
879
+ 'i2',
880
+ 'i3',
881
+ 'i3en',
882
+ 'i4g',
883
+ 'i4i',
884
+ 'i7i',
885
+ 'i7ie',
886
+ 'i8g',
887
+ 'im4gn',
888
+ 'inf1',
889
+ 'inf2',
890
+ 'is4gen',
891
+ 'm1',
892
+ 'm2',
893
+ 'm3',
894
+ 'm4',
895
+ 'm5',
896
+ 'm5a',
897
+ 'm5ad',
898
+ 'm5d',
899
+ 'm5dn',
900
+ 'm5n',
901
+ 'm5zn',
902
+ 'm6a',
903
+ 'm6g',
904
+ 'm6gd',
905
+ 'm6i',
906
+ 'm6id',
907
+ 'm6idn',
908
+ 'm6in',
909
+ 'm7a',
910
+ 'm7g',
911
+ 'm7gd',
912
+ 'm7i',
913
+ 'm7i-flex',
914
+ 'm8g',
915
+ 'm8gd',
916
+ 'n1',
917
+ 'n2',
918
+ 'n2d',
919
+ 'n4',
920
+ 'p3',
921
+ 'p3dn',
922
+ 'p4d',
923
+ 'p4de',
924
+ 'p5',
925
+ 'p5e',
926
+ 'p5en',
927
+ 'p6-b200',
928
+ 'r3',
929
+ 'r4',
930
+ 'r5',
931
+ 'r5a',
932
+ 'r5ad',
933
+ 'r5b',
934
+ 'r5d',
935
+ 'r5dn',
936
+ 'r5n',
937
+ 'r6a',
938
+ 'r6g',
939
+ 'r6gd',
940
+ 'r6i',
941
+ 'r6id',
942
+ 'r6idn',
943
+ 'r6in',
944
+ 'r7a',
945
+ 'r7g',
946
+ 'r7gd',
947
+ 'r7i',
948
+ 'r7iz',
949
+ 'r8g',
950
+ 'r8gd',
951
+ 't2',
952
+ 't2a',
953
+ 't2d',
954
+ 't3',
955
+ 't3a',
956
+ 't4g',
957
+ 'trn1',
958
+ 'trn1n',
959
+ 'u-3tb1',
960
+ 'u-6tb1',
961
+ 'u7i-12tb',
962
+ 'u7i-6tb',
963
+ 'u7i-8tb',
964
+ 'u7in-16tb',
965
+ 'u7in-24tb',
966
+ 'u7in-32tb',
967
+ 'vt1',
968
+ 'x1',
969
+ 'x1e',
970
+ 'x2gd',
971
+ 'x2idn',
972
+ 'x2iedn',
973
+ 'x2iezn',
974
+ 'x4',
975
+ 'x8g',
976
+ 'z1d',
977
+ 'z3'
978
+ ])).optional(),
979
+ 'topology.kubernetes.io/region': z.array(z.enum([
980
+ 'africa-south1',
981
+ 'ap-northeast-1',
982
+ 'ap-northeast-2',
983
+ 'ap-northeast-3',
984
+ 'ap-south-1',
985
+ 'ap-southeast-1',
986
+ 'ap-southeast-2',
987
+ 'ash',
988
+ 'asia-east1',
989
+ 'asia-east2',
990
+ 'asia-northeast1',
991
+ 'asia-northeast2',
992
+ 'asia-northeast3',
993
+ 'asia-south1',
994
+ 'asia-south2',
995
+ 'asia-southeast1',
996
+ 'asia-southeast2',
997
+ 'australia-southeast1',
998
+ 'australia-southeast2',
999
+ 'ca-central-1',
1000
+ 'eu-central-1',
1001
+ 'eu-central-2',
1002
+ 'eu-north-1',
1003
+ 'eu-west-1',
1004
+ 'eu-west-2',
1005
+ 'eu-west-3',
1006
+ 'europe-central2',
1007
+ 'europe-north1',
1008
+ 'europe-southwest1',
1009
+ 'europe-west1',
1010
+ 'europe-west10',
1011
+ 'europe-west12',
1012
+ 'europe-west2',
1013
+ 'europe-west3',
1014
+ 'europe-west4',
1015
+ 'europe-west6',
1016
+ 'europe-west8',
1017
+ 'europe-west9',
1018
+ 'fsn1',
1019
+ 'hel1',
1020
+ 'hil',
1021
+ 'me-central1',
1022
+ 'me-central2',
1023
+ 'me-west1',
1024
+ 'nbg1',
1025
+ 'northamerica-northeast1',
1026
+ 'northamerica-northeast2',
1027
+ 'sa-east-1',
1028
+ 'sin',
1029
+ 'southamerica-east1',
1030
+ 'southamerica-west1',
1031
+ 'us-central1',
1032
+ 'us-east-1',
1033
+ 'us-east-2',
1034
+ 'us-east1',
1035
+ 'us-east4',
1036
+ 'us-east5',
1037
+ 'us-south1',
1038
+ 'us-west-1',
1039
+ 'us-west-2',
1040
+ 'us-west1',
1041
+ 'us-west2',
1042
+ 'us-west3',
1043
+ 'us-west4'
1044
+ ])).optional()
1045
+ }).optional(),
1046
+ scalingProfile: z.enum(['aggressive', 'conservative'])
1047
+ });
1048
+ export const zInviteCreateInput = z.object({
1049
+ email: z.email(),
1050
+ role: z.enum(['Administrator', 'User']).optional().default('User')
315
1051
  });
316
1052
  export const zInvite = z.object({
317
1053
  id: z.string().optional(),
318
1054
  organization_id: z.uuid().optional(),
319
1055
  date_created: z.iso.datetime(),
320
1056
  email: z.email().optional(),
321
- code: z.string().optional()
1057
+ code: z.string().optional(),
1058
+ role: z.enum(['Administrator', 'User']).optional().default('User')
322
1059
  });
323
1060
  export const zInvoice = z.object({
324
1061
  id: z.string().optional(),
@@ -358,15 +1095,20 @@ export const zMarketplaceListing = z.object({
358
1095
  }).optional()
359
1096
  });
360
1097
  export const zOrganizationCreateInput = z.object({
1098
+ type: z.enum(['business', 'personal']),
361
1099
  email: z.email(),
362
- first_name: z.string(),
363
- last_name: z.string(),
1100
+ first_name: z.string().min(1),
1101
+ last_name: z.string().min(1),
364
1102
  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
1103
  password: z.string().min(8)
366
1104
  });
1105
+ export const zOrganizationCreateOutput = z.object({
1106
+ id: z.string()
1107
+ });
367
1108
  export const zOrganization = z.object({
368
1109
  id: z.uuid(),
369
1110
  name: z.string().min(2).max(120).optional(),
1111
+ type: z.enum(['business', 'personal']),
370
1112
  date_created: z.iso.datetime(),
371
1113
  quota: z.object({
372
1114
  basic_clusters_max: z.int().gte(0),
@@ -386,26 +1128,28 @@ export const zOrganization = z.object({
386
1128
  'active',
387
1129
  'closed',
388
1130
  'suspended'
1131
+ ]),
1132
+ verification: z.enum([
1133
+ 'none',
1134
+ 'submitted',
1135
+ 'verified'
389
1136
  ])
390
1137
  });
391
1138
  export const zPaymentMethod = z.object({
392
- id: z.uuid(),
393
- setup: z.boolean(),
394
- type: z.enum(['card']),
1139
+ id: z.string(),
1140
+ type: z.enum([
1141
+ 'card',
1142
+ 'sepa_debit',
1143
+ 'bank_transfer'
1144
+ ]),
395
1145
  last4: z.string(),
396
1146
  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
- ])
1147
+ exp_year: z.int(),
1148
+ brand: z.string(),
1149
+ iban: z.string(),
1150
+ bic: z.string(),
1151
+ account_holder_name: z.string(),
1152
+ is_default: z.boolean()
409
1153
  });
410
1154
  export const zPlatformQuota = z.object({
411
1155
  basic_clusters_max: z.int().gte(0),
@@ -609,9 +1353,7 @@ export const zUserCreateInput = z.object({
609
1353
  first_name: z.string().min(1).max(50),
610
1354
  last_name: z.string().min(1).max(50),
611
1355
  code: z.string(),
612
- password: z.string().min(8),
613
- status: z.enum(['active', 'inactive']).optional(),
614
- role: z.enum(['Administrator', 'User']).optional()
1356
+ password: z.string().min(8)
615
1357
  });
616
1358
  export const zUser = z.object({
617
1359
  email: z.email(),
@@ -640,10 +1382,6 @@ export const zGetUsageQuery = z.object({
640
1382
  * Usage data with facets for filtering
641
1383
  */
642
1384
  export const zGetUsageResponse = zUsageResponse;
643
- /**
644
- * Redacted payment card information.
645
- */
646
- export const zGetPaymentMethodResponse = zPaymentMethod;
647
1385
  /**
648
1386
  * 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.
649
1387
  *
@@ -651,6 +1389,24 @@ export const zGetPaymentMethodResponse = zPaymentMethod;
651
1389
  export const zGetPaymentMethodSecretResponse = z.object({
652
1390
  id: z.string().optional()
653
1391
  });
1392
+ /**
1393
+ * An array of payment methods.
1394
+ */
1395
+ export const zListPaymentMethodsResponse = z.array(zPaymentMethod);
1396
+ export const zSetDefaultPaymentMethodPath = z.object({
1397
+ paymentMethodId: z.string()
1398
+ });
1399
+ /**
1400
+ * Default payment method updated.
1401
+ */
1402
+ export const zSetDefaultPaymentMethodResponse = z.void();
1403
+ export const zDeletePaymentMethodPath = z.object({
1404
+ paymentMethodId: z.string()
1405
+ });
1406
+ /**
1407
+ * Payment method deleted.
1408
+ */
1409
+ export const zDeletePaymentMethodResponse = z.void();
654
1410
  /**
655
1411
  * An array of usage records.
656
1412
  */
@@ -767,7 +1523,7 @@ export const zDeleteClusterPath = z.object({
767
1523
  cluster_id: z.string()
768
1524
  });
769
1525
  /**
770
- * Successfully deleted.
1526
+ * Successfully deleted. The cluster has been torn down.
771
1527
  */
772
1528
  export const zDeleteClusterResponse = z.string();
773
1529
  export const zGetClusterPath = z.object({
@@ -796,9 +1552,7 @@ export const zGetJoinInformationResponse = zClusterJoinInformation;
796
1552
  * An array of invites
797
1553
  */
798
1554
  export const zListInvitesResponse = z.array(zInvite);
799
- export const zCreateInviteBody = z.object({
800
- email: z.string().optional()
801
- });
1555
+ export const zCreateInviteBody = zInviteCreateInput;
802
1556
  /**
803
1557
  * Successfully created. Returns created invite details.
804
1558
  */
@@ -807,11 +1561,14 @@ export const zGetInvitePath = z.object({
807
1561
  code: z.string()
808
1562
  });
809
1563
  /**
810
- * Returns a single object containing invite details.
1564
+ * The invitation code is valid. Returns the invited email and organization.
811
1565
  */
812
- export const zGetInviteResponse = zInvite;
1566
+ export const zGetInviteResponse = z.object({
1567
+ email: z.email().optional(),
1568
+ organization_id: z.string().optional()
1569
+ });
813
1570
  export const zDeleteInvitePath = z.object({
814
- email: z.string()
1571
+ email: z.email()
815
1572
  });
816
1573
  /**
817
1574
  * An array of chart listings in the marketplace.
@@ -857,6 +1614,11 @@ export const zPostMcpResponse = z.object({
857
1614
  */
858
1615
  export const zGetOrganizationResponse = zOrganization;
859
1616
  export const zCreateOrganizationBody = zOrganizationCreateInput;
1617
+ /**
1618
+ * Organization signup accepted. Returns the generated organization id immediately; provisioning (billing, Keycloak realm, user) continues asynchronously in the background.
1619
+ *
1620
+ */
1621
+ export const zCreateOrganizationResponse = zOrganizationCreateOutput;
860
1622
  /**
861
1623
  * List of repositories
862
1624
  */