@cloudfleet/sdk 0.0.1-9c683a8 → 0.0.1-a04559e

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(),
@@ -191,27 +177,57 @@ export const zChartUpdateInput = z.object({
191
177
  values: z.string(),
192
178
  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-]+)*))?$/)
193
179
  });
180
+ /**
181
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
182
+ */
194
183
  export const zClusterCreateInput = z.object({
195
184
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
196
- 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')
185
+ tier: z.enum([
186
+ 'basic',
187
+ 'pro',
188
+ 'enterprise'
189
+ ]).optional().default('basic'),
190
+ 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'),
191
+ release_channel: z.enum([
192
+ 'rapid',
193
+ 'stable',
194
+ 'extended'
195
+ ]).optional().default('rapid'),
196
+ features: z.object({
197
+ gpu_sharing_strategy: z.enum([
198
+ 'none',
199
+ 'mps',
200
+ 'time_slicing'
201
+ ]).optional().default('none'),
202
+ gpu_max_shared_clients_per_gpu: z.int().gte(2).lte(48).optional().default(4),
203
+ cilium_socket_lb_host_namespace_only: z.boolean().optional()
204
+ }).optional().default({
205
+ gpu_sharing_strategy: 'none',
206
+ gpu_max_shared_clients_per_gpu: 4,
207
+ cilium_socket_lb_host_namespace_only: false
208
+ }),
209
+ region: z.string(),
210
+ networking: z.object({
211
+ pod_cidr: z.string().optional().default('10.244.0.0/16'),
212
+ service_cidr: z.string().optional().default('10.96.0.0/12'),
213
+ dual_stack: z.boolean().optional(),
214
+ pod_cidr_v6: z.string().optional().default('2001:db8:1:2::/48'),
215
+ service_cidr_v6: z.string().optional().default('2001:db8:1:1::/112')
216
+ }).optional().default({
217
+ pod_cidr: '10.244.0.0/16',
218
+ service_cidr: '10.96.0.0/12',
219
+ dual_stack: false,
220
+ pod_cidr_v6: '2001:db8:1:2::/48',
221
+ service_cidr_v6: '2001:db8:1:1::/112'
222
+ })
209
223
  });
210
224
  export const zClusterJoinInformation = z.object({
211
225
  certificate_authority: z.string(),
212
226
  endpoint: z.url(),
213
227
  cluster_dns: z.string(),
228
+ pod_cidr: z.string(),
214
229
  auth_key: z.string(),
230
+ login_server: z.string(),
215
231
  bootstrap_token: z.string(),
216
232
  versions: z.object({
217
233
  kubernetes: z.string(),
@@ -225,100 +241,954 @@ export const zClusterJoinInformation = z.object({
225
241
  gcp_workload_identity_provider: z.string()
226
242
  })
227
243
  });
244
+ /**
245
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
246
+ */
228
247
  export const zCluster = z.object({
229
248
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
230
- 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'),
249
+ tier: z.enum([
250
+ 'basic',
251
+ 'pro',
252
+ 'enterprise'
253
+ ]).default('basic'),
254
+ 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-]+)*))?$/).default('1.x.x-cfke.x'),
255
+ release_channel: z.enum([
256
+ 'rapid',
257
+ 'stable',
258
+ 'extended'
259
+ ]).default('rapid'),
260
+ features: z.object({
261
+ gpu_sharing_strategy: z.enum([
262
+ 'none',
263
+ 'mps',
264
+ 'time_slicing'
265
+ ]).default('none'),
266
+ gpu_max_shared_clients_per_gpu: z.int().gte(2).lte(48).default(4),
267
+ cilium_socket_lb_host_namespace_only: z.boolean()
268
+ }).default({
269
+ gpu_sharing_strategy: 'none',
270
+ gpu_max_shared_clients_per_gpu: 4,
271
+ cilium_socket_lb_host_namespace_only: false
272
+ }),
273
+ region: z.string(),
274
+ networking: z.object({
275
+ pod_cidr: z.string().default('10.244.0.0/16'),
276
+ service_cidr: z.string().default('10.96.0.0/12'),
277
+ dual_stack: z.boolean(),
278
+ pod_cidr_v6: z.string().default('2001:db8:1:2::/48'),
279
+ service_cidr_v6: z.string().default('2001:db8:1:1::/112')
280
+ }).default({
281
+ pod_cidr: '10.244.0.0/16',
282
+ service_cidr: '10.96.0.0/12',
283
+ dual_stack: false,
284
+ pod_cidr_v6: '2001:db8:1:2::/48',
285
+ service_cidr_v6: '2001:db8:1:1::/112'
286
+ }),
237
287
  id: z.uuid(),
238
288
  status: z.enum([
239
- 'active',
240
- 'disabled',
241
- 'deleted',
242
289
  'creating',
243
290
  'deployed',
244
- 'failed',
245
- 'updating'
291
+ 'updating',
292
+ 'disabled'
246
293
  ]),
247
294
  endpoint: z.union([
248
295
  z.url(),
249
296
  z.enum([''])
250
297
  ]).optional(),
298
+ endpoint_public: z.union([
299
+ z.url(),
300
+ z.enum([''])
301
+ ]).optional(),
251
302
  certificate_ca: z.string().optional(),
252
303
  version_current: z.string().optional(),
253
304
  created_at: z.string().optional(),
254
305
  updated_at: z.string().optional(),
255
- ready: z.boolean().optional(),
256
- 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()
306
+ ready: z.boolean()
257
307
  });
308
+ /**
309
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
310
+ */
258
311
  export const zClusterUpdateInput = z.object({
259
- name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/).optional(),
260
- 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()
312
+ name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
313
+ tier: z.enum([
314
+ 'basic',
315
+ 'pro',
316
+ 'enterprise'
317
+ ]).optional().default('basic'),
318
+ 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'),
319
+ release_channel: z.enum([
320
+ 'rapid',
321
+ 'stable',
322
+ 'extended'
323
+ ]).optional().default('rapid'),
324
+ features: z.object({
325
+ gpu_sharing_strategy: z.enum([
326
+ 'none',
327
+ 'mps',
328
+ 'time_slicing'
329
+ ]).optional().default('none'),
330
+ gpu_max_shared_clients_per_gpu: z.int().gte(2).lte(48).optional().default(4),
331
+ cilium_socket_lb_host_namespace_only: z.boolean().optional()
332
+ }).optional().default({
333
+ gpu_sharing_strategy: 'none',
334
+ gpu_max_shared_clients_per_gpu: 4,
335
+ cilium_socket_lb_host_namespace_only: false
336
+ })
262
337
  });
338
+ /**
339
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
340
+ */
263
341
  export const zFleetCreateInput = z.object({
264
342
  limits: z.object({
265
- cpu: z.number().gte(0)
343
+ cpu: z.int().gte(0).lte(100000).optional()
266
344
  }).optional(),
267
345
  gcp: z.object({
268
- enabled: z.boolean().optional().default(true),
269
- project: z.string()
346
+ enabled: z.boolean(),
347
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
270
348
  }).optional(),
271
349
  hetzner: z.object({
272
- enabled: z.boolean().optional().default(true),
273
- apiKey: z.string()
350
+ enabled: z.boolean(),
351
+ apiKey: z.string().length(64).regex(/^([A-Za-z0-9]{64}|\*{64})$/).optional()
274
352
  }).optional(),
275
353
  aws: z.object({
276
- enabled: z.boolean().optional().default(true),
277
- controllerRoleArn: z.string()
354
+ enabled: z.boolean(),
355
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
278
356
  }).optional(),
357
+ constraints: z.object({
358
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).optional().default(['on-demand', 'spot']),
359
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).optional().default(['amd64']),
360
+ 'cfke.io/instance-family': z.array(z.enum([
361
+ 'a1',
362
+ 'a2',
363
+ 'a3',
364
+ 'a4',
365
+ 'c1',
366
+ 'c2',
367
+ 'c2d',
368
+ 'c3',
369
+ 'c3d',
370
+ 'c4',
371
+ 'c4a',
372
+ 'c4d',
373
+ 'c5',
374
+ 'c5a',
375
+ 'c5ad',
376
+ 'c5d',
377
+ 'c5n',
378
+ 'c6a',
379
+ 'c6g',
380
+ 'c6gd',
381
+ 'c6gn',
382
+ 'c6i',
383
+ 'c6id',
384
+ 'c6in',
385
+ 'c7a',
386
+ 'c7g',
387
+ 'c7gd',
388
+ 'c7gn',
389
+ 'c7i',
390
+ 'c7i-flex',
391
+ 'c8g',
392
+ 'c8gd',
393
+ 'cax',
394
+ 'ccx',
395
+ 'cpx',
396
+ 'cx',
397
+ 'd2',
398
+ 'd3',
399
+ 'd3en',
400
+ 'dl1',
401
+ 'dl2q',
402
+ 'e2',
403
+ 'f1',
404
+ 'f2',
405
+ 'g1',
406
+ 'g2',
407
+ 'g4ad',
408
+ 'g4dn',
409
+ 'g5',
410
+ 'g5g',
411
+ 'g6',
412
+ 'g6e',
413
+ 'gr6',
414
+ 'h1',
415
+ 'h3',
416
+ 'hpc6a',
417
+ 'hpc6id',
418
+ 'hpc7a',
419
+ 'hpc7g',
420
+ 'i2',
421
+ 'i3',
422
+ 'i3en',
423
+ 'i4g',
424
+ 'i4i',
425
+ 'i7i',
426
+ 'i7ie',
427
+ 'i8g',
428
+ 'im4gn',
429
+ 'inf1',
430
+ 'inf2',
431
+ 'is4gen',
432
+ 'm1',
433
+ 'm2',
434
+ 'm3',
435
+ 'm4',
436
+ 'm5',
437
+ 'm5a',
438
+ 'm5ad',
439
+ 'm5d',
440
+ 'm5dn',
441
+ 'm5n',
442
+ 'm5zn',
443
+ 'm6a',
444
+ 'm6g',
445
+ 'm6gd',
446
+ 'm6i',
447
+ 'm6id',
448
+ 'm6idn',
449
+ 'm6in',
450
+ 'm7a',
451
+ 'm7g',
452
+ 'm7gd',
453
+ 'm7i',
454
+ 'm7i-flex',
455
+ 'm8g',
456
+ 'm8gd',
457
+ 'n1',
458
+ 'n2',
459
+ 'n2d',
460
+ 'n4',
461
+ 'p3',
462
+ 'p3dn',
463
+ 'p4d',
464
+ 'p4de',
465
+ 'p5',
466
+ 'p5e',
467
+ 'p5en',
468
+ 'p6-b200',
469
+ 'r3',
470
+ 'r4',
471
+ 'r5',
472
+ 'r5a',
473
+ 'r5ad',
474
+ 'r5b',
475
+ 'r5d',
476
+ 'r5dn',
477
+ 'r5n',
478
+ 'r6a',
479
+ 'r6g',
480
+ 'r6gd',
481
+ 'r6i',
482
+ 'r6id',
483
+ 'r6idn',
484
+ 'r6in',
485
+ 'r7a',
486
+ 'r7g',
487
+ 'r7gd',
488
+ 'r7i',
489
+ 'r7iz',
490
+ 'r8g',
491
+ 'r8gd',
492
+ 't2',
493
+ 't2a',
494
+ 't2d',
495
+ 't3',
496
+ 't3a',
497
+ 't4g',
498
+ 'trn1',
499
+ 'trn1n',
500
+ 'u-3tb1',
501
+ 'u-6tb1',
502
+ 'u7i-12tb',
503
+ 'u7i-6tb',
504
+ 'u7i-8tb',
505
+ 'u7in-16tb',
506
+ 'u7in-24tb',
507
+ 'u7in-32tb',
508
+ 'vt1',
509
+ 'x1',
510
+ 'x1e',
511
+ 'x2gd',
512
+ 'x2idn',
513
+ 'x2iedn',
514
+ 'x2iezn',
515
+ 'x4',
516
+ 'x8g',
517
+ 'z1d',
518
+ 'z3'
519
+ ])).optional().default([]),
520
+ 'topology.kubernetes.io/region': z.array(z.enum([
521
+ 'africa-south1',
522
+ 'ap-northeast-1',
523
+ 'ap-northeast-2',
524
+ 'ap-northeast-3',
525
+ 'ap-south-1',
526
+ 'ap-southeast-1',
527
+ 'ap-southeast-2',
528
+ 'ash',
529
+ 'asia-east1',
530
+ 'asia-east2',
531
+ 'asia-northeast1',
532
+ 'asia-northeast2',
533
+ 'asia-northeast3',
534
+ 'asia-south1',
535
+ 'asia-south2',
536
+ 'asia-southeast1',
537
+ 'asia-southeast2',
538
+ 'australia-southeast1',
539
+ 'australia-southeast2',
540
+ 'ca-central-1',
541
+ 'eu-central-1',
542
+ 'eu-central-2',
543
+ 'eu-north-1',
544
+ 'eu-west-1',
545
+ 'eu-west-2',
546
+ 'eu-west-3',
547
+ 'europe-central2',
548
+ 'europe-north1',
549
+ 'europe-southwest1',
550
+ 'europe-west1',
551
+ 'europe-west10',
552
+ 'europe-west12',
553
+ 'europe-west2',
554
+ 'europe-west3',
555
+ 'europe-west4',
556
+ 'europe-west6',
557
+ 'europe-west8',
558
+ 'europe-west9',
559
+ 'fsn1',
560
+ 'hel1',
561
+ 'hil',
562
+ 'me-central1',
563
+ 'me-central2',
564
+ 'me-west1',
565
+ 'nbg1',
566
+ 'northamerica-northeast1',
567
+ 'northamerica-northeast2',
568
+ 'sa-east-1',
569
+ 'sin',
570
+ 'southamerica-east1',
571
+ 'southamerica-west1',
572
+ 'us-central1',
573
+ 'us-east-1',
574
+ 'us-east-2',
575
+ 'us-east1',
576
+ 'us-east4',
577
+ 'us-east5',
578
+ 'us-south1',
579
+ 'us-west-1',
580
+ 'us-west-2',
581
+ 'us-west1',
582
+ 'us-west2',
583
+ 'us-west3',
584
+ 'us-west4'
585
+ ])).optional().default([])
586
+ }).optional().default({
587
+ 'karpenter.sh/capacity-type': ['on-demand', 'spot'],
588
+ 'kubernetes.io/arch': ['amd64'],
589
+ 'cfke.io/instance-family': [],
590
+ 'topology.kubernetes.io/region': []
591
+ }),
592
+ scalingProfile: z.enum(['aggressive', 'conservative']).optional().default('conservative'),
593
+ taints: z.array(z.object({
594
+ key: z.string(),
595
+ value: z.string().max(63).regex(/^([A-Za-z0-9]([-A-Za-z0-9_.]*[A-Za-z0-9])?)?$/).optional(),
596
+ effect: z.enum([
597
+ 'NoSchedule',
598
+ 'PreferNoSchedule',
599
+ 'NoExecute'
600
+ ])
601
+ })).max(50).optional().default([]),
279
602
  id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/)
280
603
  });
604
+ /**
605
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
606
+ */
281
607
  export const zFleet = z.object({
282
608
  limits: z.object({
283
- cpu: z.number().gte(0)
609
+ cpu: z.int().gte(0).lte(100000).optional()
284
610
  }).optional(),
285
611
  gcp: z.object({
286
- enabled: z.boolean().optional().default(true),
287
- project: z.string()
612
+ enabled: z.boolean(),
613
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
288
614
  }).optional(),
289
615
  hetzner: z.object({
290
- enabled: z.boolean().optional().default(true),
291
- apiKey: z.string()
616
+ enabled: z.boolean(),
617
+ apiKey: z.string().regex(/^\*{64}$/).optional()
292
618
  }).optional(),
293
619
  aws: z.object({
294
- enabled: z.boolean().optional().default(true),
295
- controllerRoleArn: z.string()
620
+ enabled: z.boolean(),
621
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
296
622
  }).optional(),
297
- id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/)
623
+ constraints: z.object({
624
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).default(['on-demand', 'spot']),
625
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).default(['amd64']),
626
+ 'cfke.io/instance-family': z.array(z.enum([
627
+ 'a1',
628
+ 'a2',
629
+ 'a3',
630
+ 'a4',
631
+ 'c1',
632
+ 'c2',
633
+ 'c2d',
634
+ 'c3',
635
+ 'c3d',
636
+ 'c4',
637
+ 'c4a',
638
+ 'c4d',
639
+ 'c5',
640
+ 'c5a',
641
+ 'c5ad',
642
+ 'c5d',
643
+ 'c5n',
644
+ 'c6a',
645
+ 'c6g',
646
+ 'c6gd',
647
+ 'c6gn',
648
+ 'c6i',
649
+ 'c6id',
650
+ 'c6in',
651
+ 'c7a',
652
+ 'c7g',
653
+ 'c7gd',
654
+ 'c7gn',
655
+ 'c7i',
656
+ 'c7i-flex',
657
+ 'c8g',
658
+ 'c8gd',
659
+ 'cax',
660
+ 'ccx',
661
+ 'cpx',
662
+ 'cx',
663
+ 'd2',
664
+ 'd3',
665
+ 'd3en',
666
+ 'dl1',
667
+ 'dl2q',
668
+ 'e2',
669
+ 'f1',
670
+ 'f2',
671
+ 'g1',
672
+ 'g2',
673
+ 'g4ad',
674
+ 'g4dn',
675
+ 'g5',
676
+ 'g5g',
677
+ 'g6',
678
+ 'g6e',
679
+ 'gr6',
680
+ 'h1',
681
+ 'h3',
682
+ 'hpc6a',
683
+ 'hpc6id',
684
+ 'hpc7a',
685
+ 'hpc7g',
686
+ 'i2',
687
+ 'i3',
688
+ 'i3en',
689
+ 'i4g',
690
+ 'i4i',
691
+ 'i7i',
692
+ 'i7ie',
693
+ 'i8g',
694
+ 'im4gn',
695
+ 'inf1',
696
+ 'inf2',
697
+ 'is4gen',
698
+ 'm1',
699
+ 'm2',
700
+ 'm3',
701
+ 'm4',
702
+ 'm5',
703
+ 'm5a',
704
+ 'm5ad',
705
+ 'm5d',
706
+ 'm5dn',
707
+ 'm5n',
708
+ 'm5zn',
709
+ 'm6a',
710
+ 'm6g',
711
+ 'm6gd',
712
+ 'm6i',
713
+ 'm6id',
714
+ 'm6idn',
715
+ 'm6in',
716
+ 'm7a',
717
+ 'm7g',
718
+ 'm7gd',
719
+ 'm7i',
720
+ 'm7i-flex',
721
+ 'm8g',
722
+ 'm8gd',
723
+ 'n1',
724
+ 'n2',
725
+ 'n2d',
726
+ 'n4',
727
+ 'p3',
728
+ 'p3dn',
729
+ 'p4d',
730
+ 'p4de',
731
+ 'p5',
732
+ 'p5e',
733
+ 'p5en',
734
+ 'p6-b200',
735
+ 'r3',
736
+ 'r4',
737
+ 'r5',
738
+ 'r5a',
739
+ 'r5ad',
740
+ 'r5b',
741
+ 'r5d',
742
+ 'r5dn',
743
+ 'r5n',
744
+ 'r6a',
745
+ 'r6g',
746
+ 'r6gd',
747
+ 'r6i',
748
+ 'r6id',
749
+ 'r6idn',
750
+ 'r6in',
751
+ 'r7a',
752
+ 'r7g',
753
+ 'r7gd',
754
+ 'r7i',
755
+ 'r7iz',
756
+ 'r8g',
757
+ 'r8gd',
758
+ 't2',
759
+ 't2a',
760
+ 't2d',
761
+ 't3',
762
+ 't3a',
763
+ 't4g',
764
+ 'trn1',
765
+ 'trn1n',
766
+ 'u-3tb1',
767
+ 'u-6tb1',
768
+ 'u7i-12tb',
769
+ 'u7i-6tb',
770
+ 'u7i-8tb',
771
+ 'u7in-16tb',
772
+ 'u7in-24tb',
773
+ 'u7in-32tb',
774
+ 'vt1',
775
+ 'x1',
776
+ 'x1e',
777
+ 'x2gd',
778
+ 'x2idn',
779
+ 'x2iedn',
780
+ 'x2iezn',
781
+ 'x4',
782
+ 'x8g',
783
+ 'z1d',
784
+ 'z3'
785
+ ])).optional().default([]),
786
+ 'topology.kubernetes.io/region': z.array(z.enum([
787
+ 'africa-south1',
788
+ 'ap-northeast-1',
789
+ 'ap-northeast-2',
790
+ 'ap-northeast-3',
791
+ 'ap-south-1',
792
+ 'ap-southeast-1',
793
+ 'ap-southeast-2',
794
+ 'ash',
795
+ 'asia-east1',
796
+ 'asia-east2',
797
+ 'asia-northeast1',
798
+ 'asia-northeast2',
799
+ 'asia-northeast3',
800
+ 'asia-south1',
801
+ 'asia-south2',
802
+ 'asia-southeast1',
803
+ 'asia-southeast2',
804
+ 'australia-southeast1',
805
+ 'australia-southeast2',
806
+ 'ca-central-1',
807
+ 'eu-central-1',
808
+ 'eu-central-2',
809
+ 'eu-north-1',
810
+ 'eu-west-1',
811
+ 'eu-west-2',
812
+ 'eu-west-3',
813
+ 'europe-central2',
814
+ 'europe-north1',
815
+ 'europe-southwest1',
816
+ 'europe-west1',
817
+ 'europe-west10',
818
+ 'europe-west12',
819
+ 'europe-west2',
820
+ 'europe-west3',
821
+ 'europe-west4',
822
+ 'europe-west6',
823
+ 'europe-west8',
824
+ 'europe-west9',
825
+ 'fsn1',
826
+ 'hel1',
827
+ 'hil',
828
+ 'me-central1',
829
+ 'me-central2',
830
+ 'me-west1',
831
+ 'nbg1',
832
+ 'northamerica-northeast1',
833
+ 'northamerica-northeast2',
834
+ 'sa-east-1',
835
+ 'sin',
836
+ 'southamerica-east1',
837
+ 'southamerica-west1',
838
+ 'us-central1',
839
+ 'us-east-1',
840
+ 'us-east-2',
841
+ 'us-east1',
842
+ 'us-east4',
843
+ 'us-east5',
844
+ 'us-south1',
845
+ 'us-west-1',
846
+ 'us-west-2',
847
+ 'us-west1',
848
+ 'us-west2',
849
+ 'us-west3',
850
+ 'us-west4'
851
+ ])).optional().default([])
852
+ }).default({
853
+ 'karpenter.sh/capacity-type': ['on-demand', 'spot'],
854
+ 'kubernetes.io/arch': ['amd64'],
855
+ 'cfke.io/instance-family': [],
856
+ 'topology.kubernetes.io/region': []
857
+ }),
858
+ scalingProfile: z.enum(['aggressive', 'conservative']).default('conservative'),
859
+ taints: z.array(z.object({
860
+ key: z.string(),
861
+ value: z.string().max(63).regex(/^([A-Za-z0-9]([-A-Za-z0-9_.]*[A-Za-z0-9])?)?$/).optional(),
862
+ effect: z.enum([
863
+ 'NoSchedule',
864
+ 'PreferNoSchedule',
865
+ 'NoExecute'
866
+ ])
867
+ })).max(50).default([]),
868
+ id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
869
+ ready: z.boolean(),
870
+ status_message: z.string().optional(),
871
+ created_at: z.string(),
872
+ updated_at: z.string()
298
873
  });
874
+ /**
875
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
876
+ */
299
877
  export const zFleetUpdateInput = z.object({
300
878
  limits: z.object({
301
- cpu: z.number().gte(0)
879
+ cpu: z.int().gte(0).lte(100000).optional()
302
880
  }).optional(),
303
881
  gcp: z.object({
304
- enabled: z.boolean().optional().default(true),
305
- project: z.string()
882
+ enabled: z.boolean(),
883
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
306
884
  }).optional(),
307
885
  hetzner: z.object({
308
- enabled: z.boolean().optional().default(true),
309
- apiKey: z.string()
886
+ enabled: z.boolean(),
887
+ apiKey: z.string().length(64).regex(/^([A-Za-z0-9]{64}|\*{64})$/).optional()
310
888
  }).optional(),
311
889
  aws: z.object({
312
- enabled: z.boolean().optional().default(true),
313
- controllerRoleArn: z.string()
314
- }).optional()
890
+ enabled: z.boolean(),
891
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
892
+ }).optional(),
893
+ constraints: z.object({
894
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).optional().default(['on-demand', 'spot']),
895
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).optional().default(['amd64']),
896
+ 'cfke.io/instance-family': z.array(z.enum([
897
+ 'a1',
898
+ 'a2',
899
+ 'a3',
900
+ 'a4',
901
+ 'c1',
902
+ 'c2',
903
+ 'c2d',
904
+ 'c3',
905
+ 'c3d',
906
+ 'c4',
907
+ 'c4a',
908
+ 'c4d',
909
+ 'c5',
910
+ 'c5a',
911
+ 'c5ad',
912
+ 'c5d',
913
+ 'c5n',
914
+ 'c6a',
915
+ 'c6g',
916
+ 'c6gd',
917
+ 'c6gn',
918
+ 'c6i',
919
+ 'c6id',
920
+ 'c6in',
921
+ 'c7a',
922
+ 'c7g',
923
+ 'c7gd',
924
+ 'c7gn',
925
+ 'c7i',
926
+ 'c7i-flex',
927
+ 'c8g',
928
+ 'c8gd',
929
+ 'cax',
930
+ 'ccx',
931
+ 'cpx',
932
+ 'cx',
933
+ 'd2',
934
+ 'd3',
935
+ 'd3en',
936
+ 'dl1',
937
+ 'dl2q',
938
+ 'e2',
939
+ 'f1',
940
+ 'f2',
941
+ 'g1',
942
+ 'g2',
943
+ 'g4ad',
944
+ 'g4dn',
945
+ 'g5',
946
+ 'g5g',
947
+ 'g6',
948
+ 'g6e',
949
+ 'gr6',
950
+ 'h1',
951
+ 'h3',
952
+ 'hpc6a',
953
+ 'hpc6id',
954
+ 'hpc7a',
955
+ 'hpc7g',
956
+ 'i2',
957
+ 'i3',
958
+ 'i3en',
959
+ 'i4g',
960
+ 'i4i',
961
+ 'i7i',
962
+ 'i7ie',
963
+ 'i8g',
964
+ 'im4gn',
965
+ 'inf1',
966
+ 'inf2',
967
+ 'is4gen',
968
+ 'm1',
969
+ 'm2',
970
+ 'm3',
971
+ 'm4',
972
+ 'm5',
973
+ 'm5a',
974
+ 'm5ad',
975
+ 'm5d',
976
+ 'm5dn',
977
+ 'm5n',
978
+ 'm5zn',
979
+ 'm6a',
980
+ 'm6g',
981
+ 'm6gd',
982
+ 'm6i',
983
+ 'm6id',
984
+ 'm6idn',
985
+ 'm6in',
986
+ 'm7a',
987
+ 'm7g',
988
+ 'm7gd',
989
+ 'm7i',
990
+ 'm7i-flex',
991
+ 'm8g',
992
+ 'm8gd',
993
+ 'n1',
994
+ 'n2',
995
+ 'n2d',
996
+ 'n4',
997
+ 'p3',
998
+ 'p3dn',
999
+ 'p4d',
1000
+ 'p4de',
1001
+ 'p5',
1002
+ 'p5e',
1003
+ 'p5en',
1004
+ 'p6-b200',
1005
+ 'r3',
1006
+ 'r4',
1007
+ 'r5',
1008
+ 'r5a',
1009
+ 'r5ad',
1010
+ 'r5b',
1011
+ 'r5d',
1012
+ 'r5dn',
1013
+ 'r5n',
1014
+ 'r6a',
1015
+ 'r6g',
1016
+ 'r6gd',
1017
+ 'r6i',
1018
+ 'r6id',
1019
+ 'r6idn',
1020
+ 'r6in',
1021
+ 'r7a',
1022
+ 'r7g',
1023
+ 'r7gd',
1024
+ 'r7i',
1025
+ 'r7iz',
1026
+ 'r8g',
1027
+ 'r8gd',
1028
+ 't2',
1029
+ 't2a',
1030
+ 't2d',
1031
+ 't3',
1032
+ 't3a',
1033
+ 't4g',
1034
+ 'trn1',
1035
+ 'trn1n',
1036
+ 'u-3tb1',
1037
+ 'u-6tb1',
1038
+ 'u7i-12tb',
1039
+ 'u7i-6tb',
1040
+ 'u7i-8tb',
1041
+ 'u7in-16tb',
1042
+ 'u7in-24tb',
1043
+ 'u7in-32tb',
1044
+ 'vt1',
1045
+ 'x1',
1046
+ 'x1e',
1047
+ 'x2gd',
1048
+ 'x2idn',
1049
+ 'x2iedn',
1050
+ 'x2iezn',
1051
+ 'x4',
1052
+ 'x8g',
1053
+ 'z1d',
1054
+ 'z3'
1055
+ ])).optional().default([]),
1056
+ 'topology.kubernetes.io/region': z.array(z.enum([
1057
+ 'africa-south1',
1058
+ 'ap-northeast-1',
1059
+ 'ap-northeast-2',
1060
+ 'ap-northeast-3',
1061
+ 'ap-south-1',
1062
+ 'ap-southeast-1',
1063
+ 'ap-southeast-2',
1064
+ 'ash',
1065
+ 'asia-east1',
1066
+ 'asia-east2',
1067
+ 'asia-northeast1',
1068
+ 'asia-northeast2',
1069
+ 'asia-northeast3',
1070
+ 'asia-south1',
1071
+ 'asia-south2',
1072
+ 'asia-southeast1',
1073
+ 'asia-southeast2',
1074
+ 'australia-southeast1',
1075
+ 'australia-southeast2',
1076
+ 'ca-central-1',
1077
+ 'eu-central-1',
1078
+ 'eu-central-2',
1079
+ 'eu-north-1',
1080
+ 'eu-west-1',
1081
+ 'eu-west-2',
1082
+ 'eu-west-3',
1083
+ 'europe-central2',
1084
+ 'europe-north1',
1085
+ 'europe-southwest1',
1086
+ 'europe-west1',
1087
+ 'europe-west10',
1088
+ 'europe-west12',
1089
+ 'europe-west2',
1090
+ 'europe-west3',
1091
+ 'europe-west4',
1092
+ 'europe-west6',
1093
+ 'europe-west8',
1094
+ 'europe-west9',
1095
+ 'fsn1',
1096
+ 'hel1',
1097
+ 'hil',
1098
+ 'me-central1',
1099
+ 'me-central2',
1100
+ 'me-west1',
1101
+ 'nbg1',
1102
+ 'northamerica-northeast1',
1103
+ 'northamerica-northeast2',
1104
+ 'sa-east-1',
1105
+ 'sin',
1106
+ 'southamerica-east1',
1107
+ 'southamerica-west1',
1108
+ 'us-central1',
1109
+ 'us-east-1',
1110
+ 'us-east-2',
1111
+ 'us-east1',
1112
+ 'us-east4',
1113
+ 'us-east5',
1114
+ 'us-south1',
1115
+ 'us-west-1',
1116
+ 'us-west-2',
1117
+ 'us-west1',
1118
+ 'us-west2',
1119
+ 'us-west3',
1120
+ 'us-west4'
1121
+ ])).optional().default([])
1122
+ }).optional().default({
1123
+ 'karpenter.sh/capacity-type': ['on-demand', 'spot'],
1124
+ 'kubernetes.io/arch': ['amd64'],
1125
+ 'cfke.io/instance-family': [],
1126
+ 'topology.kubernetes.io/region': []
1127
+ }),
1128
+ scalingProfile: z.enum(['aggressive', 'conservative']).optional().default('conservative'),
1129
+ taints: z.array(z.object({
1130
+ key: z.string(),
1131
+ value: z.string().max(63).regex(/^([A-Za-z0-9]([-A-Za-z0-9_.]*[A-Za-z0-9])?)?$/).optional(),
1132
+ effect: z.enum([
1133
+ 'NoSchedule',
1134
+ 'PreferNoSchedule',
1135
+ 'NoExecute'
1136
+ ])
1137
+ })).max(50).optional().default([])
1138
+ });
1139
+ export const zInviteCreateInput = z.object({
1140
+ email: z.email(),
1141
+ role: z.enum(['Administrator', 'User']).optional().default('User')
315
1142
  });
316
1143
  export const zInvite = z.object({
317
1144
  id: z.string().optional(),
318
1145
  organization_id: z.uuid().optional(),
319
1146
  date_created: z.iso.datetime(),
320
1147
  email: z.email().optional(),
321
- code: z.string().optional()
1148
+ code: z.string().optional(),
1149
+ role: z.enum(['Administrator', 'User']).optional().default('User')
1150
+ });
1151
+ export const zInvoicePaymentAttempt = z.object({
1152
+ invoice_id: z.string(),
1153
+ number: z.string(),
1154
+ amount: z.number(),
1155
+ currency: z.string(),
1156
+ status: z.enum([
1157
+ 'paid',
1158
+ 'processing',
1159
+ 'requires_action',
1160
+ 'failed'
1161
+ ]),
1162
+ client_secret: z.string(),
1163
+ failure_code: z.string(),
1164
+ failure_message: z.string()
1165
+ });
1166
+ export const zInvoicePaymentResult = z.object({
1167
+ code: z.enum([
1168
+ 'paid',
1169
+ 'processing',
1170
+ 'action_required',
1171
+ 'partially_paid',
1172
+ 'failed',
1173
+ 'nothing_due',
1174
+ 'bank_transfer_due'
1175
+ ]),
1176
+ message: z.string(),
1177
+ results: z.array(z.object({
1178
+ invoice_id: z.string(),
1179
+ number: z.string(),
1180
+ amount: z.number(),
1181
+ currency: z.string(),
1182
+ status: z.enum([
1183
+ 'paid',
1184
+ 'processing',
1185
+ 'requires_action',
1186
+ 'failed'
1187
+ ]),
1188
+ client_secret: z.string(),
1189
+ failure_code: z.string(),
1190
+ failure_message: z.string()
1191
+ }))
322
1192
  });
323
1193
  export const zInvoice = z.object({
324
1194
  id: z.string().optional(),
@@ -358,21 +1228,28 @@ export const zMarketplaceListing = z.object({
358
1228
  }).optional()
359
1229
  });
360
1230
  export const zOrganizationCreateInput = z.object({
1231
+ type: z.enum(['business', 'personal']),
361
1232
  email: z.email(),
362
- first_name: z.string(),
363
- last_name: z.string(),
1233
+ first_name: z.string().min(1),
1234
+ last_name: z.string().min(1),
364
1235
  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
1236
  password: z.string().min(8)
366
1237
  });
1238
+ export const zOrganizationCreateOutput = z.object({
1239
+ id: z.string()
1240
+ });
367
1241
  export const zOrganization = z.object({
368
1242
  id: z.uuid(),
369
1243
  name: z.string().min(2).max(120).optional(),
1244
+ type: z.enum(['business', 'personal']),
370
1245
  date_created: z.iso.datetime(),
371
1246
  quota: z.object({
372
1247
  basic_clusters_max: z.int().gte(0),
373
1248
  basic_clusters_available: z.int(),
374
1249
  pro_clusters_max: z.int().gte(0),
375
1250
  pro_clusters_available: z.int(),
1251
+ enterprise_clusters_max: z.int().gte(0),
1252
+ enterprise_clusters_available: z.int(),
376
1253
  fleets_max: z.int().gte(0),
377
1254
  cluster_tiers: z.array(z.string()).min(0),
378
1255
  regions: z.array(z.string()).min(1),
@@ -386,32 +1263,36 @@ export const zOrganization = z.object({
386
1263
  'active',
387
1264
  'closed',
388
1265
  'suspended'
1266
+ ]),
1267
+ verification: z.enum([
1268
+ 'none',
1269
+ 'submitted',
1270
+ 'verified'
389
1271
  ])
390
1272
  });
391
1273
  export const zPaymentMethod = z.object({
392
- id: z.uuid(),
393
- setup: z.boolean(),
394
- type: z.enum(['card']),
1274
+ id: z.string(),
1275
+ type: z.enum([
1276
+ 'card',
1277
+ 'sepa_debit',
1278
+ 'bank_transfer'
1279
+ ]),
395
1280
  last4: z.string(),
396
1281
  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
- ])
1282
+ exp_year: z.int(),
1283
+ brand: z.string(),
1284
+ iban: z.string(),
1285
+ bic: z.string(),
1286
+ account_holder_name: z.string(),
1287
+ is_default: z.boolean()
409
1288
  });
410
1289
  export const zPlatformQuota = z.object({
411
1290
  basic_clusters_max: z.int().gte(0),
412
1291
  basic_clusters_available: z.int(),
413
1292
  pro_clusters_max: z.int().gte(0),
414
1293
  pro_clusters_available: z.int(),
1294
+ enterprise_clusters_max: z.int().gte(0),
1295
+ enterprise_clusters_available: z.int(),
415
1296
  fleets_max: z.int().gte(0),
416
1297
  cluster_tiers: z.array(z.string()).min(0),
417
1298
  regions: z.array(z.string()).min(1),
@@ -467,6 +1348,69 @@ export const zRegistryTag = z.object({
467
1348
  repository: z.string(),
468
1349
  uri: z.string()
469
1350
  });
1351
+ export const zTicketAttachment = z.object({
1352
+ id: z.string(),
1353
+ filename: z.string(),
1354
+ content_type: z.string(),
1355
+ size: z.int()
1356
+ });
1357
+ export const zTicketCreateInput = z.object({
1358
+ category: z.enum([
1359
+ 'billing',
1360
+ 'technical',
1361
+ 'general'
1362
+ ]),
1363
+ body: z.string().min(1).max(50000).regex(/\S/),
1364
+ properties: z.record(z.string(), z.unknown()).optional()
1365
+ });
1366
+ export const zTicketMessageInput = z.object({
1367
+ body: z.string().min(1).max(50000).regex(/\S/)
1368
+ });
1369
+ export const zTicketMessage = z.object({
1370
+ id: z.string(),
1371
+ type: z.enum(['customer_reply', 'agent_reply']),
1372
+ body: z.string(),
1373
+ author_first_name: z.string().optional(),
1374
+ author_last_name: z.string().optional(),
1375
+ attachments: z.array(z.object({
1376
+ id: z.string(),
1377
+ filename: z.string(),
1378
+ content_type: z.string(),
1379
+ size: z.int()
1380
+ })).optional(),
1381
+ date_created: z.iso.datetime()
1382
+ });
1383
+ export const zTicket = z.object({
1384
+ id: z.string(),
1385
+ status: z.enum([
1386
+ 'waiting_on_us',
1387
+ 'waiting_on_user',
1388
+ 'closed'
1389
+ ]),
1390
+ category: z.enum([
1391
+ 'billing',
1392
+ 'technical',
1393
+ 'general'
1394
+ ]),
1395
+ summary: z.string(),
1396
+ closed_at: z.iso.datetime().optional(),
1397
+ date_created: z.iso.datetime(),
1398
+ date_updated: z.iso.datetime(),
1399
+ messages: z.array(z.object({
1400
+ id: z.string(),
1401
+ type: z.enum(['customer_reply', 'agent_reply']),
1402
+ body: z.string(),
1403
+ author_first_name: z.string().optional(),
1404
+ author_last_name: z.string().optional(),
1405
+ attachments: z.array(z.object({
1406
+ id: z.string(),
1407
+ filename: z.string(),
1408
+ content_type: z.string(),
1409
+ size: z.int()
1410
+ })).optional(),
1411
+ date_created: z.iso.datetime()
1412
+ })).optional()
1413
+ });
470
1414
  export const zTokenCreateInput = z.object({
471
1415
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
472
1416
  role: z.enum(['Administrator', 'User'])
@@ -484,26 +1428,58 @@ export const zTokenUpdateInput = z.object({
484
1428
  });
485
1429
  export const zUsageFacets = z.object({
486
1430
  cluster_id: z.array(z.string()).optional(),
487
- product: z.array(z.string()).optional()
1431
+ product: z.array(z.enum([
1432
+ 'cfke_controlplane_basic',
1433
+ 'cfke_controlplane_pro',
1434
+ 'cfke_controlplane_enterprise',
1435
+ 'cfke_connected_nodes_basic',
1436
+ 'cfke_connected_nodes_pro',
1437
+ 'cfke_connected_nodes_enterprise',
1438
+ 'cfcr_storage'
1439
+ ])).optional()
488
1440
  });
489
1441
  export const zUsageResponse = z.object({
490
1442
  data: z.array(z.object({
491
1443
  hour: z.string(),
492
1444
  cluster_id: z.string(),
493
- product: z.string(),
1445
+ product: z.enum([
1446
+ 'cfke_controlplane_basic',
1447
+ 'cfke_controlplane_pro',
1448
+ 'cfke_controlplane_enterprise',
1449
+ 'cfke_connected_nodes_basic',
1450
+ 'cfke_connected_nodes_pro',
1451
+ 'cfke_connected_nodes_enterprise',
1452
+ 'cfcr_storage'
1453
+ ]),
494
1454
  value: z.number(),
495
1455
  price: z.number(),
496
1456
  total: z.number()
497
1457
  })),
498
1458
  facets: z.object({
499
1459
  cluster_id: z.array(z.string()).optional(),
500
- product: z.array(z.string()).optional()
1460
+ product: z.array(z.enum([
1461
+ 'cfke_controlplane_basic',
1462
+ 'cfke_controlplane_pro',
1463
+ 'cfke_controlplane_enterprise',
1464
+ 'cfke_connected_nodes_basic',
1465
+ 'cfke_connected_nodes_pro',
1466
+ 'cfke_connected_nodes_enterprise',
1467
+ 'cfcr_storage'
1468
+ ])).optional()
501
1469
  })
502
1470
  });
503
1471
  export const zUsage = z.object({
504
1472
  hour: z.string(),
505
1473
  cluster_id: z.string(),
506
- product: z.string(),
1474
+ product: z.enum([
1475
+ 'cfke_controlplane_basic',
1476
+ 'cfke_controlplane_pro',
1477
+ 'cfke_controlplane_enterprise',
1478
+ 'cfke_connected_nodes_basic',
1479
+ 'cfke_connected_nodes_pro',
1480
+ 'cfke_connected_nodes_enterprise',
1481
+ 'cfcr_storage'
1482
+ ]),
507
1483
  value: z.number(),
508
1484
  price: z.number(),
509
1485
  total: z.number()
@@ -513,9 +1489,7 @@ export const zUserCreateInput = z.object({
513
1489
  first_name: z.string().min(1).max(50),
514
1490
  last_name: z.string().min(1).max(50),
515
1491
  code: z.string(),
516
- password: z.string().min(8),
517
- status: z.enum(['active', 'inactive']).optional(),
518
- role: z.enum(['Administrator', 'User']).optional()
1492
+ password: z.string().min(8)
519
1493
  });
520
1494
  export const zUser = z.object({
521
1495
  email: z.email(),
@@ -533,88 +1507,226 @@ export const zUserUpdateInput = z.object({
533
1507
  role: z.enum(['Administrator', 'User']).optional(),
534
1508
  status: z.enum(['active', 'inactive']).optional()
535
1509
  });
536
- export const zGetUsageQuery = z.object({
537
- granularity: z.enum([
538
- 'hourly',
539
- 'daily',
540
- 'monthly'
541
- ]).optional().default('daily')
1510
+ export const zListUserOrganizationsPath = z.object({
1511
+ email: z.string()
542
1512
  });
543
1513
  /**
544
- * Usage data with facets for filtering
1514
+ * An array of organizations the user belongs to.
545
1515
  */
546
- export const zGetUsageResponse = zUsageResponse;
1516
+ export const zListUserOrganizationsResponse = z.array(z.object({
1517
+ realm: z.string().optional(),
1518
+ displayName: z.string().optional()
1519
+ }));
547
1520
  /**
548
- * Redacted payment card information.
1521
+ * An array of users
549
1522
  */
550
- export const zGetPaymentMethodResponse = zPaymentMethod;
1523
+ export const zListUsersResponse = z.array(zUser);
1524
+ export const zCreateUserBody = zUserCreateInput;
551
1525
  /**
552
- * 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
- *
1526
+ * Successfully created. Returns created user details.
554
1527
  */
555
- export const zGetPaymentMethodSecretResponse = z.object({
556
- id: z.string().optional()
1528
+ export const zCreateUserResponse = zUser;
1529
+ export const zDeleteUserPath = z.object({
1530
+ user_id: z.string()
557
1531
  });
558
1532
  /**
559
- * An array of usage records.
1533
+ * User profile information
560
1534
  */
561
- export const zListInvoicesResponse = z.array(zInvoice);
1535
+ export const zDeleteUserResponse = zUser;
1536
+ export const zGetUserPath = z.object({
1537
+ user_id: z.string()
1538
+ });
562
1539
  /**
563
- * Returns a single object containing organization contact and billing address details.
1540
+ * User profile information
564
1541
  */
565
- export const zGetContactResponse = zBillingContact;
566
- export const zUpdateContactBody = zBillingContact;
1542
+ export const zGetUserResponse = zUser;
1543
+ export const zUpdateUserBody = zUserUpdateInput;
1544
+ export const zUpdateUserPath = z.object({
1545
+ user_id: z.string()
1546
+ });
567
1547
  /**
568
- * Successfully updated. Returns updated organization details.
1548
+ * Successfully created. Returns created user details.
569
1549
  */
570
- export const zUpdateContactResponse = zBillingContact;
1550
+ export const zUpdateUserResponse = zUser;
571
1551
  /**
572
- * An array of the applied promotional credits records.
1552
+ * Returns a list of access token details with masked secrets.
573
1553
  */
574
- export const zGetCreditsResponse = z.array(zBillingCredits);
575
- export const zRedeemCreditsBody = z.object({
576
- code: z.string().optional()
1554
+ export const zListTokensResponse = z.array(zToken);
1555
+ export const zCreateTokenBody = zTokenCreateInput;
1556
+ /**
1557
+ * Successfully created. Returns created token details with unmasked/raw secret.
1558
+ */
1559
+ export const zCreateTokenResponse = zToken;
1560
+ export const zDeleteTokenPath = z.object({
1561
+ token_id: z.string()
577
1562
  });
578
- export const zListChartsPath = z.object({
579
- cluster_id: z.string()
1563
+ export const zGetTokenPath = z.object({
1564
+ token_id: z.string()
580
1565
  });
581
1566
  /**
582
- * An array of charts
1567
+ * Returns access token details with masked secret.
583
1568
  */
584
- export const zListChartsResponse = z.array(zChart);
585
- export const zCreateChartBody = zChartCreateInput;
586
- export const zCreateChartPath = z.object({
587
- cluster_id: z.string()
1569
+ export const zGetTokenResponse = zToken;
1570
+ export const zUpdateTokenBody = zTokenUpdateInput;
1571
+ export const zUpdateTokenPath = z.object({
1572
+ token_id: z.string()
588
1573
  });
589
1574
  /**
590
- * Successfully created. Returns created Chart ID.
1575
+ * Successfully updated. Returns updated token details with masked secret.
591
1576
  */
592
- export const zCreateChartResponse = z.string();
593
- export const zDeleteChartPath = z.object({
594
- cluster_id: z.string(),
595
- chart_name: z.string()
1577
+ export const zUpdateTokenResponse = zToken;
1578
+ export const zRegenerateTokenPath = z.object({
1579
+ token_id: z.string()
596
1580
  });
597
1581
  /**
598
- * Successfully deleted.
1582
+ * Successfully updated. Returns updated token details with unmasked / raw secret.
599
1583
  */
600
- export const zDeleteChartResponse = z.string();
601
- export const zGetChartPath = z.object({
602
- cluster_id: z.string(),
603
- chart_name: z.string()
1584
+ export const zRegenerateTokenResponse = zToken;
1585
+ /**
1586
+ * An array of tickets for the organization, newest first.
1587
+ */
1588
+ export const zListTicketsResponse = z.array(zTicket);
1589
+ export const zCreateTicketBody = z.object({
1590
+ payload: z.string().optional(),
1591
+ attachments: z.array(z.string()).optional()
604
1592
  });
605
1593
  /**
606
- * Returns a single object containing chart details.
1594
+ * Ticket created.
607
1595
  */
608
- export const zGetChartResponse = zChart;
609
- export const zUpdateChartBody = zChartUpdateInput;
610
- export const zUpdateChartPath = z.object({
611
- cluster_id: z.string(),
612
- chart_name: z.string()
1596
+ export const zCreateTicketResponse = zTicket;
1597
+ export const zCloseTicketPath = z.object({
1598
+ ticket_id: z.string()
613
1599
  });
614
1600
  /**
615
- * Successfully updated.
1601
+ * Ticket closed.
616
1602
  */
617
- export const zUpdateChartResponse = z.string();
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();
1630
+ /**
1631
+ * List of repositories
1632
+ */
1633
+ export const zListRepositoriesResponse = z.array(zRegistryRepository);
1634
+ export const zListTagsPath = z.object({
1635
+ region: z.string(),
1636
+ repository: z.string()
1637
+ });
1638
+ /**
1639
+ * Repository with tags
1640
+ */
1641
+ export const zListTagsResponse = zRegistryRepositoryWithTags;
1642
+ export const zDeleteTagPath = z.object({
1643
+ region: z.string(),
1644
+ repository: z.string(),
1645
+ tag: z.string()
1646
+ });
1647
+ export const zGetTagPath = z.object({
1648
+ region: z.string(),
1649
+ repository: z.string(),
1650
+ tag: z.string()
1651
+ });
1652
+ /**
1653
+ * Tag details
1654
+ */
1655
+ export const zGetTagResponse = zRegistryTag;
1656
+ /**
1657
+ * Returns a single object containing organization details.
1658
+ */
1659
+ export const zGetOrganizationResponse = zOrganization;
1660
+ export const zCreateOrganizationBody = zOrganizationCreateInput;
1661
+ /**
1662
+ * Organization signup accepted. Returns the generated organization id immediately; provisioning (billing, Keycloak realm, user) continues asynchronously in the background.
1663
+ *
1664
+ */
1665
+ export const zCreateOrganizationResponse = zOrganizationCreateOutput;
1666
+ /**
1667
+ * JSON-RPC 2.0 request payload
1668
+ */
1669
+ export const zPostMcpBody = z.object({
1670
+ jsonrpc: z.string().optional(),
1671
+ method: z.string().optional(),
1672
+ id: z.union([
1673
+ z.string(),
1674
+ z.number()
1675
+ ]).optional(),
1676
+ params: z.record(z.string(), z.unknown()).optional()
1677
+ });
1678
+ /**
1679
+ * JSON-RPC 2.0 success or error response
1680
+ */
1681
+ export const zPostMcpResponse = z.object({
1682
+ jsonrpc: z.string().optional(),
1683
+ id: z.union([
1684
+ z.string(),
1685
+ z.number()
1686
+ ]).optional(),
1687
+ result: z.record(z.string(), z.unknown()).optional(),
1688
+ error: z.object({
1689
+ code: z.int().optional(),
1690
+ message: z.string().optional()
1691
+ }).optional()
1692
+ });
1693
+ /**
1694
+ * An array of chart listings in the marketplace.
1695
+ */
1696
+ export const zListMarketplaceChartsResponse = z.array(zMarketplaceListing);
1697
+ export const zGetMarketplaceChartFilesPath = z.object({
1698
+ chart_name: z.string(),
1699
+ version_channel: z.string()
1700
+ });
1701
+ /**
1702
+ * Returns an object containing the chart files for the latest matching version.
1703
+ */
1704
+ export const zGetMarketplaceChartFilesResponse = zMarketplaceListingFiles;
1705
+ /**
1706
+ * An array of invites
1707
+ */
1708
+ export const zListInvitesResponse = z.array(zInvite);
1709
+ export const zCreateInviteBody = zInviteCreateInput;
1710
+ /**
1711
+ * Successfully created. Returns created invite details.
1712
+ */
1713
+ export const zCreateInviteResponse = zInvite;
1714
+ export const zGetInvitePath = z.object({
1715
+ code: z.string()
1716
+ });
1717
+ /**
1718
+ * The invitation code is valid. Returns the invited email and organization.
1719
+ */
1720
+ export const zGetInviteResponse = z.object({
1721
+ email: z.email().optional(),
1722
+ organization_id: z.string().optional()
1723
+ });
1724
+ export const zDeleteInvitePath = z.object({
1725
+ email: z.email()
1726
+ });
1727
+ export const zQueryClusterPath = z.object({
1728
+ cluster_id: z.string()
1729
+ });
618
1730
  export const zListFleetsPath = z.object({
619
1731
  cluster_id: z.string()
620
1732
  });
@@ -655,9 +1767,46 @@ export const zUpdateFleetPath = z.object({
655
1767
  * Successfully updated.
656
1768
  */
657
1769
  export const zUpdateFleetResponse = z.string();
658
- export const zQueryClusterPath = z.object({
1770
+ export const zListChartsPath = z.object({
659
1771
  cluster_id: z.string()
660
1772
  });
1773
+ /**
1774
+ * An array of charts
1775
+ */
1776
+ export const zListChartsResponse = z.array(zChart);
1777
+ export const zCreateChartBody = zChartCreateInput;
1778
+ export const zCreateChartPath = z.object({
1779
+ cluster_id: z.string()
1780
+ });
1781
+ /**
1782
+ * Successfully created. Returns created Chart ID.
1783
+ */
1784
+ export const zCreateChartResponse = z.string();
1785
+ export const zDeleteChartPath = z.object({
1786
+ cluster_id: z.string(),
1787
+ chart_name: z.string()
1788
+ });
1789
+ /**
1790
+ * Successfully deleted.
1791
+ */
1792
+ export const zDeleteChartResponse = z.string();
1793
+ export const zGetChartPath = z.object({
1794
+ cluster_id: z.string(),
1795
+ chart_name: z.string()
1796
+ });
1797
+ /**
1798
+ * Returns a single object containing chart details.
1799
+ */
1800
+ export const zGetChartResponse = zChart;
1801
+ export const zUpdateChartBody = zChartUpdateInput;
1802
+ export const zUpdateChartPath = z.object({
1803
+ cluster_id: z.string(),
1804
+ chart_name: z.string()
1805
+ });
1806
+ /**
1807
+ * Successfully updated.
1808
+ */
1809
+ export const zUpdateChartResponse = z.string();
661
1810
  /**
662
1811
  * An array of clusters
663
1812
  */
@@ -671,7 +1820,7 @@ export const zDeleteClusterPath = z.object({
671
1820
  cluster_id: z.string()
672
1821
  });
673
1822
  /**
674
- * Successfully deleted.
1823
+ * Successfully deleted. The cluster has been torn down.
675
1824
  */
676
1825
  export const zDeleteClusterResponse = z.string();
677
1826
  export const zGetClusterPath = z.object({
@@ -689,13 +1838,6 @@ export const zUpdateClusterPath = z.object({
689
1838
  * Successfully updated. Returns updated cluster details.
690
1839
  */
691
1840
  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
1841
  export const zGetJoinInformationPath = z.object({
700
1842
  cluster_id: z.string()
701
1843
  });
@@ -703,170 +1845,64 @@ export const zGetJoinInformationPath = z.object({
703
1845
  * An object of cluster join information
704
1846
  */
705
1847
  export const zGetJoinInformationResponse = zClusterJoinInformation;
706
- /**
707
- * An array of invites
708
- */
709
- export const zListInvitesResponse = z.array(zInvite);
710
- export const zCreateInviteBody = z.object({
711
- email: z.string().optional()
712
- });
713
- /**
714
- * Successfully created. Returns created invite details.
715
- */
716
- export const zCreateInviteResponse = zInvite;
717
- export const zGetInvitePath = z.object({
718
- code: z.string()
719
- });
720
- /**
721
- * Returns a single object containing invite details.
722
- */
723
- export const zGetInviteResponse = zInvite;
724
- export const zDeleteInvitePath = z.object({
725
- email: z.string()
726
- });
727
- /**
728
- * An array of chart listings in the marketplace.
729
- */
730
- export const zListMarketplaceChartsResponse = z.array(zMarketplaceListing);
731
- export const zGetMarketplaceChartFilesPath = z.object({
732
- chart_name: z.string(),
733
- version_channel: z.string()
734
- });
735
- /**
736
- * Returns an object containing the chart files for the latest matching version.
737
- */
738
- export const zGetMarketplaceChartFilesResponse = zMarketplaceListingFiles;
739
- /**
740
- * JSON-RPC 2.0 request payload
741
- */
742
- export const zPostMcpBody = z.object({
743
- jsonrpc: z.string().optional(),
744
- method: z.string().optional(),
745
- id: z.union([
746
- z.string(),
747
- z.number()
748
- ]).optional(),
749
- params: z.record(z.string(), z.unknown()).optional()
750
- });
751
- /**
752
- * JSON-RPC 2.0 success or error response
753
- */
754
- export const zPostMcpResponse = z.object({
755
- jsonrpc: z.string().optional(),
756
- id: z.union([
757
- z.string(),
758
- z.number()
759
- ]).optional(),
760
- result: z.record(z.string(), z.unknown()).optional(),
761
- error: z.object({
762
- code: z.int().optional(),
763
- message: z.string().optional()
764
- }).optional()
765
- });
766
- /**
767
- * Returns a single object containing organization details.
768
- */
769
- export const zGetOrganizationResponse = zOrganization;
770
- export const zCreateOrganizationBody = zOrganizationCreateInput;
771
- /**
772
- * List of repositories
773
- */
774
- export const zListRepositoriesResponse = z.array(zRegistryRepository);
775
- export const zListTagsPath = z.object({
776
- region: z.string(),
777
- repository: z.string()
778
- });
779
- /**
780
- * Repository with tags
781
- */
782
- export const zListTagsResponse = zRegistryRepositoryWithTags;
783
- export const zDeleteTagPath = z.object({
784
- region: z.string(),
785
- repository: z.string(),
786
- tag: z.string()
787
- });
788
- export const zGetTagPath = z.object({
789
- region: z.string(),
790
- repository: z.string(),
791
- tag: z.string()
1848
+ export const zGetUsageQuery = z.object({
1849
+ granularity: z.enum([
1850
+ 'hourly',
1851
+ 'daily',
1852
+ 'monthly'
1853
+ ]).optional().default('daily')
792
1854
  });
793
1855
  /**
794
- * Tag details
795
- */
796
- export const zGetTagResponse = zRegistryTag;
797
- /**
798
- * Returns a list of access token details with masked secrets.
1856
+ * Usage data with facets for filtering
799
1857
  */
800
- export const zListTokensResponse = z.array(zToken);
801
- export const zCreateTokenBody = zTokenCreateInput;
1858
+ export const zGetUsageResponse = zUsageResponse;
802
1859
  /**
803
- * Successfully created. Returns created token details with unmasked/raw secret.
1860
+ * 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.
1861
+ *
804
1862
  */
805
- export const zCreateTokenResponse = zToken;
806
- export const zDeleteTokenPath = z.object({
807
- token_id: z.string()
808
- });
809
- export const zGetTokenPath = z.object({
810
- token_id: z.string()
1863
+ export const zGetPaymentMethodSecretResponse = z.object({
1864
+ id: z.string().optional()
811
1865
  });
812
1866
  /**
813
- * Returns access token details with masked secret.
1867
+ * An array of payment methods.
814
1868
  */
815
- export const zGetTokenResponse = zToken;
816
- export const zUpdateTokenBody = zTokenUpdateInput;
817
- export const zUpdateTokenPath = z.object({
818
- token_id: z.string()
1869
+ export const zListPaymentMethodsResponse = z.array(zPaymentMethod);
1870
+ export const zSetDefaultPaymentMethodPath = z.object({
1871
+ paymentMethodId: z.string()
819
1872
  });
820
1873
  /**
821
- * Successfully updated. Returns updated token details with masked secret.
1874
+ * Default payment method updated.
822
1875
  */
823
- export const zUpdateTokenResponse = zToken;
824
- export const zRegenerateTokenPath = z.object({
825
- token_id: z.string()
1876
+ export const zSetDefaultPaymentMethodResponse = z.void();
1877
+ export const zDeletePaymentMethodPath = z.object({
1878
+ paymentMethodId: z.string()
826
1879
  });
827
1880
  /**
828
- * Successfully updated. Returns updated token details with unmasked / raw secret.
1881
+ * Payment method deleted.
829
1882
  */
830
- export const zRegenerateTokenResponse = zToken;
831
- export const zListUserOrganizationsPath = z.object({
832
- email: z.string()
833
- });
1883
+ export const zDeletePaymentMethodResponse = z.void();
834
1884
  /**
835
- * An array of organizations the user belongs to.
1885
+ * An array of usage records.
836
1886
  */
837
- export const zListUserOrganizationsResponse = z.array(z.object({
838
- realm: z.string().optional(),
839
- displayName: z.string().optional()
840
- }));
1887
+ export const zListInvoicesResponse = z.array(zInvoice);
841
1888
  /**
842
- * An array of users
1889
+ * The outcome of the attempt.
843
1890
  */
844
- export const zListUsersResponse = z.array(zUser);
845
- export const zCreateUserBody = zUserCreateInput;
1891
+ export const zPayOpenInvoicesResponse = zInvoicePaymentResult;
846
1892
  /**
847
- * Successfully created. Returns created user details.
1893
+ * Returns a single object containing organization contact and billing address details.
848
1894
  */
849
- export const zCreateUserResponse = zUser;
850
- export const zDeleteUserPath = z.object({
851
- user_id: z.string()
852
- });
1895
+ export const zGetContactResponse = zBillingContact;
1896
+ export const zUpdateContactBody = zBillingContact;
853
1897
  /**
854
- * User profile information
1898
+ * Successfully updated. Returns updated organization details.
855
1899
  */
856
- export const zDeleteUserResponse = zUser;
857
- export const zGetUserPath = z.object({
858
- user_id: z.string()
859
- });
1900
+ export const zUpdateContactResponse = zBillingContact;
860
1901
  /**
861
- * User profile information
1902
+ * An array of the applied promotional credits records.
862
1903
  */
863
- export const zGetUserResponse = zUser;
864
- export const zUpdateUserBody = zUserUpdateInput;
865
- export const zUpdateUserPath = z.object({
866
- user_id: z.string()
1904
+ export const zGetCreditsResponse = z.array(zBillingCredits);
1905
+ export const zRedeemCreditsBody = z.object({
1906
+ code: z.string().optional()
867
1907
  });
868
- /**
869
- * Successfully created. Returns created user details.
870
- */
871
- export const zUpdateUserResponse = zUser;
872
1908
  //# sourceMappingURL=zod.gen.js.map