@cloudfleet/sdk 0.0.1-0ac9bf0 → 0.0.1-0bc765b

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.
Files changed (60) hide show
  1. package/dist/@tanstack/react-query.gen.d.ts +1149 -0
  2. package/dist/@tanstack/react-query.gen.d.ts.map +1 -0
  3. package/dist/@tanstack/react-query.gen.js +1165 -0
  4. package/dist/@tanstack/react-query.gen.js.map +1 -0
  5. package/dist/client/client.gen.d.ts.map +1 -1
  6. package/dist/client/client.gen.js +113 -98
  7. package/dist/client/client.gen.js.map +1 -1
  8. package/dist/client/index.d.ts +1 -1
  9. package/dist/client/index.d.ts.map +1 -1
  10. package/dist/client/index.js.map +1 -1
  11. package/dist/client/types.gen.d.ts +9 -13
  12. package/dist/client/types.gen.d.ts.map +1 -1
  13. package/dist/client/utils.gen.d.ts +6 -2
  14. package/dist/client/utils.gen.d.ts.map +1 -1
  15. package/dist/client/utils.gen.js +10 -12
  16. package/dist/client/utils.gen.js.map +1 -1
  17. package/dist/client.gen.d.ts.map +1 -1
  18. package/dist/client.gen.js +1 -3
  19. package/dist/client.gen.js.map +1 -1
  20. package/dist/core/auth.gen.d.ts.map +1 -1
  21. package/dist/core/auth.gen.js.map +1 -1
  22. package/dist/core/bodySerializer.gen.d.ts +16 -8
  23. package/dist/core/bodySerializer.gen.d.ts.map +1 -1
  24. package/dist/core/bodySerializer.gen.js +1 -1
  25. package/dist/core/bodySerializer.gen.js.map +1 -1
  26. package/dist/core/params.gen.d.ts +10 -0
  27. package/dist/core/params.gen.d.ts.map +1 -1
  28. package/dist/core/params.gen.js +18 -6
  29. package/dist/core/params.gen.js.map +1 -1
  30. package/dist/core/pathSerializer.gen.d.ts.map +1 -1
  31. package/dist/core/pathSerializer.gen.js +3 -11
  32. package/dist/core/pathSerializer.gen.js.map +1 -1
  33. package/dist/core/queryKeySerializer.gen.d.ts.map +1 -1
  34. package/dist/core/queryKeySerializer.gen.js +4 -11
  35. package/dist/core/queryKeySerializer.gen.js.map +1 -1
  36. package/dist/core/serverSentEvents.gen.d.ts +1 -1
  37. package/dist/core/serverSentEvents.gen.d.ts.map +1 -1
  38. package/dist/core/serverSentEvents.gen.js +6 -9
  39. package/dist/core/serverSentEvents.gen.js.map +1 -1
  40. package/dist/core/types.gen.d.ts +1 -1
  41. package/dist/core/types.gen.d.ts.map +1 -1
  42. package/dist/core/utils.gen.d.ts.map +1 -1
  43. package/dist/core/utils.gen.js +1 -1
  44. package/dist/core/utils.gen.js.map +1 -1
  45. package/dist/schemas.gen.d.ts +1475 -218
  46. package/dist/schemas.gen.d.ts.map +1 -1
  47. package/dist/schemas.gen.js +2844 -328
  48. package/dist/schemas.gen.js.map +1 -1
  49. package/dist/sdk.gen.d.ts +117 -27
  50. package/dist/sdk.gen.d.ts.map +1 -1
  51. package/dist/sdk.gen.js +188 -141
  52. package/dist/sdk.gen.js.map +1 -1
  53. package/dist/services/kubernetes/api.d.ts +8 -8
  54. package/dist/types.gen.d.ts +1390 -150
  55. package/dist/types.gen.d.ts.map +1 -1
  56. package/dist/zod.gen.d.ts +2946 -847
  57. package/dist/zod.gen.d.ts.map +1 -1
  58. package/dist/zod.gen.js +1315 -519
  59. package/dist/zod.gen.js.map +1 -1
  60. package/package.json +28 -5
@@ -2,6 +2,10 @@ export type ClientOptions = {
2
2
  baseUrl: 'https://api.cloudfleet.ai/v1' | (string & {});
3
3
  };
4
4
  export type BillingContact = {
5
+ /**
6
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
7
+ */
8
+ type: 'business' | 'personal';
5
9
  /**
6
10
  * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
7
11
  */
@@ -129,9 +133,9 @@ export type Chart = {
129
133
  */
130
134
  chart: string;
131
135
  /**
132
- * Status of the chart deployment.
136
+ * Status of the chart deployment (Flux HelmRelease Ready condition reason, e.g. InstallSucceeded, UpgradeFailed, Progressing).
133
137
  */
134
- status: 'InstallSucceeded' | 'InstallFailed' | 'UpgradeSucceeded' | 'UpgradeFailed' | 'TestSucceeded' | 'TestFailed' | 'RollbackSucceeded' | 'RollbackFailed' | 'UninstallSucceeded' | 'UninstallFailed' | 'ArtifactFailed' | 'DependencyNotReady' | 'Progressing' | 'SourceNotReady';
138
+ status: string;
135
139
  /**
136
140
  * Current version of the chart deployment.
137
141
  */
@@ -169,13 +173,63 @@ export type ClusterCreateInput = {
169
173
  */
170
174
  tier: 'basic' | 'pro';
171
175
  /**
172
- * Cloudfleet control plane region. One of "staging", "northamerica-central-1", "europe-central-1a", "northamerica-central-1a". This field can not be updated after creation.
176
+ * Cloudfleet control plane region. This field can not be updated after creation.
173
177
  */
174
- region?: 'staging' | 'northamerica-central-1' | 'europe-central-1a' | 'northamerica-central-1a';
178
+ region: string;
175
179
  /**
176
180
  * Version of the kubernetes cluster.
177
181
  */
178
182
  version_channel?: string;
183
+ /**
184
+ * Release channel for the cluster's control plane.
185
+ */
186
+ release_channel?: 'rapid' | 'stable' | 'extended';
187
+ /**
188
+ * Cluster feature toggles.
189
+ */
190
+ features?: {
191
+ /**
192
+ * GPU sharing strategy.
193
+ */
194
+ gpu_sharing_strategy: 'none' | 'mps' | 'time_slicing';
195
+ /**
196
+ * Maximum number of pods that may share a single GPU.
197
+ */
198
+ gpu_max_shared_clients_per_gpu: number;
199
+ /**
200
+ * Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.
201
+ */
202
+ cilium_socket_lb_host_namespace_only?: boolean;
203
+ };
204
+ /**
205
+ * Cluster networking configuration. Immutable after creation.
206
+ */
207
+ networking?: {
208
+ /**
209
+ * CIDR block for pod IPs.
210
+ */
211
+ pod_cidr?: string;
212
+ /**
213
+ * CIDR block for service IPs.
214
+ */
215
+ service_cidr?: string;
216
+ /**
217
+ * CoreDNS service IP.
218
+ */
219
+ cluster_dns?: string;
220
+ /**
221
+ * Enable IPv4+IPv6 dual-stack networking.
222
+ */
223
+ dual_stack?: boolean;
224
+ /**
225
+ * IPv6 pod CIDR. Requires dual_stack.
226
+ */
227
+ pod_cidr_v6?: string;
228
+ /**
229
+ * IPv6 service CIDR. Requires dual_stack.
230
+ */
231
+ service_cidr_v6?: string;
232
+ };
179
233
  };
180
234
  export type ClusterJoinInformation = {
181
235
  /**
@@ -186,6 +240,14 @@ export type ClusterJoinInformation = {
186
240
  * Internal URL of the Kubernetes cluster control plane. This is the endpoint that kubelet uses to connect to the cluster.
187
241
  */
188
242
  endpoint: string;
243
+ /**
244
+ * Cluster DNS IP address. This is the IP address of the kube-dns service in the cluster.
245
+ */
246
+ cluster_dns: string;
247
+ /**
248
+ * Pod CIDR for the cluster. Used to configure iptables rules on nodes to prevent Tailscale routing loops.
249
+ */
250
+ pod_cidr: string;
189
251
  /**
190
252
  * Authentication key for the cluster.
191
253
  */
@@ -243,22 +305,69 @@ export type Cluster = {
243
305
  */
244
306
  tier: 'basic' | 'pro';
245
307
  /**
246
- * Cloudfleet control plane region. One of "staging", "northamerica-central-1", "europe-central-1a", "northamerica-central-1a". This field can not be updated after creation.
308
+ * Cloudfleet control plane region. This field can not be updated after creation.
247
309
  */
248
- region?: 'staging' | 'northamerica-central-1' | 'europe-central-1a' | 'northamerica-central-1a';
310
+ region: string;
249
311
  /**
250
- * Version of the kubernetes cluster.
312
+ * Cluster networking configuration. Immutable after creation.
251
313
  */
252
- version_channel?: string;
314
+ networking?: {
315
+ /**
316
+ * CIDR block for pod IPs.
317
+ */
318
+ pod_cidr?: string;
319
+ /**
320
+ * CIDR block for service IPs.
321
+ */
322
+ service_cidr?: string;
323
+ /**
324
+ * CoreDNS service IP.
325
+ */
326
+ cluster_dns?: string;
327
+ /**
328
+ * Enable IPv4+IPv6 dual-stack networking.
329
+ */
330
+ dual_stack?: boolean;
331
+ /**
332
+ * IPv6 pod CIDR. Requires dual_stack.
333
+ */
334
+ pod_cidr_v6?: string;
335
+ /**
336
+ * IPv6 service CIDR. Requires dual_stack.
337
+ */
338
+ service_cidr_v6?: string;
339
+ };
340
+ /**
341
+ * Release channel for the cluster's control plane.
342
+ */
343
+ release_channel?: 'rapid' | 'stable' | 'extended';
344
+ /**
345
+ * Cluster feature toggles.
346
+ */
347
+ features?: {
348
+ /**
349
+ * GPU sharing strategy.
350
+ */
351
+ gpu_sharing_strategy: 'none' | 'mps' | 'time_slicing';
352
+ /**
353
+ * Maximum number of pods that may share a single GPU.
354
+ */
355
+ gpu_max_shared_clients_per_gpu: number;
356
+ /**
357
+ * Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.
358
+ */
359
+ cilium_socket_lb_host_namespace_only?: boolean;
360
+ };
253
361
  /**
254
362
  * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
255
363
  */
256
364
  id: string;
257
365
  /**
258
- * Status of the cluster. When creating a new cluster, set to `active`. When deleting a clusters, set to `deleted`.
366
+ * Status of the cluster.
259
367
  */
260
- status: 'active' | 'disabled' | 'deleted' | 'creating' | 'deployed' | 'failed' | 'updating';
368
+ status: 'creating' | 'deployed' | 'updating' | 'disabled';
261
369
  endpoint?: string | '';
370
+ endpoint_public?: string | '';
262
371
  /**
263
372
  * Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.
264
373
  */
@@ -279,6 +388,10 @@ export type Cluster = {
279
388
  * Indicates if the cluster is ready to be used.
280
389
  */
281
390
  ready?: boolean;
391
+ /**
392
+ * Version of the kubernetes cluster.
393
+ */
394
+ version_channel?: string;
282
395
  };
283
396
  export type ClusterUpdateInput = {
284
397
  /**
@@ -293,6 +406,27 @@ export type ClusterUpdateInput = {
293
406
  * Version of the kubernetes cluster.
294
407
  */
295
408
  version_channel?: string;
409
+ /**
410
+ * Release channel for the cluster's control plane.
411
+ */
412
+ release_channel?: 'rapid' | 'stable' | 'extended';
413
+ /**
414
+ * Cluster feature toggles.
415
+ */
416
+ features?: {
417
+ /**
418
+ * GPU sharing strategy.
419
+ */
420
+ gpu_sharing_strategy: 'none' | 'mps' | 'time_slicing';
421
+ /**
422
+ * Maximum number of pods that may share a single GPU.
423
+ */
424
+ gpu_max_shared_clients_per_gpu: number;
425
+ /**
426
+ * Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.
427
+ */
428
+ cilium_socket_lb_host_namespace_only?: boolean;
429
+ };
296
430
  };
297
431
  export type FleetCreateInput = {
298
432
  /**
@@ -300,31 +434,56 @@ export type FleetCreateInput = {
300
434
  */
301
435
  limits?: {
302
436
  /**
303
- * CPU limit in cores.
437
+ * CPU limit in cores. Maximum 100,000.
304
438
  */
305
- cpu: number;
439
+ cpu?: number;
306
440
  };
307
441
  gcp?: {
308
- enabled?: boolean;
442
+ enabled: boolean;
309
443
  /**
310
- * Project GCP Project id to deploy instances into
444
+ * GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.
311
445
  */
312
- project: string;
446
+ project?: string;
313
447
  };
314
448
  hetzner?: {
315
- enabled?: boolean;
449
+ enabled: boolean;
316
450
  /**
317
- * Hetzner Cloud API key with read / write access
451
+ * Hetzner Cloud API token with read / write access (64 alphanumeric characters). Omit this field to keep the existing value.
318
452
  */
319
- apiKey: string;
453
+ apiKey?: string;
320
454
  };
321
455
  aws?: {
322
- enabled?: boolean;
456
+ enabled: boolean;
457
+ /**
458
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
459
+ */
460
+ controllerRoleArn?: string;
461
+ };
462
+ /**
463
+ * Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together. Omit a field to place no restriction on that key.
464
+ */
465
+ constraints?: {
466
+ /**
467
+ * Allowed values for `karpenter.sh/capacity-type`.
468
+ */
469
+ 'karpenter.sh/capacity-type'?: Array<'on-demand' | 'spot'>;
323
470
  /**
324
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
471
+ * Allowed values for `kubernetes.io/arch`.
325
472
  */
326
- controllerRoleArn: string;
473
+ 'kubernetes.io/arch'?: Array<'amd64' | 'arm64'>;
474
+ /**
475
+ * Allowed values for `cfke.io/instance-family`.
476
+ */
477
+ 'cfke.io/instance-family'?: Array<'a1' | 'a2' | 'a3' | 'a4' | 'c1' | 'c2' | 'c2d' | 'c3' | 'c3d' | 'c4' | 'c4a' | 'c4d' | 'c5' | 'c5a' | 'c5ad' | 'c5d' | 'c5n' | 'c6a' | 'c6g' | 'c6gd' | 'c6gn' | 'c6i' | 'c6id' | 'c6in' | 'c7a' | 'c7g' | 'c7gd' | 'c7gn' | 'c7i' | 'c7i-flex' | 'c8g' | 'c8gd' | 'cax' | 'ccx' | 'cpx' | 'cx' | 'd2' | 'd3' | 'd3en' | 'dl1' | 'dl2q' | 'e2' | 'f1' | 'f2' | 'g1' | 'g2' | 'g4ad' | 'g4dn' | 'g5' | 'g5g' | 'g6' | 'g6e' | 'gr6' | 'h1' | 'h3' | 'hpc6a' | 'hpc6id' | 'hpc7a' | 'hpc7g' | 'i2' | 'i3' | 'i3en' | 'i4g' | 'i4i' | 'i7i' | 'i7ie' | 'i8g' | 'im4gn' | 'inf1' | 'inf2' | 'is4gen' | 'm1' | 'm2' | 'm3' | 'm4' | 'm5' | 'm5a' | 'm5ad' | 'm5d' | 'm5dn' | 'm5n' | 'm5zn' | 'm6a' | 'm6g' | 'm6gd' | 'm6i' | 'm6id' | 'm6idn' | 'm6in' | 'm7a' | 'm7g' | 'm7gd' | 'm7i' | 'm7i-flex' | 'm8g' | 'm8gd' | 'n1' | 'n2' | 'n2d' | 'n4' | 'p3' | 'p3dn' | 'p4d' | 'p4de' | 'p5' | 'p5e' | 'p5en' | 'p6-b200' | 'r3' | 'r4' | 'r5' | 'r5a' | 'r5ad' | 'r5b' | 'r5d' | 'r5dn' | 'r5n' | 'r6a' | 'r6g' | 'r6gd' | 'r6i' | 'r6id' | 'r6idn' | 'r6in' | 'r7a' | 'r7g' | 'r7gd' | 'r7i' | 'r7iz' | 'r8g' | 'r8gd' | 't2' | 't2a' | 't2d' | 't3' | 't3a' | 't4g' | 'trn1' | 'trn1n' | 'u-3tb1' | 'u-6tb1' | 'u7i-12tb' | 'u7i-6tb' | 'u7i-8tb' | 'u7in-16tb' | 'u7in-24tb' | 'u7in-32tb' | 'vt1' | 'x1' | 'x1e' | 'x2gd' | 'x2idn' | 'x2iedn' | 'x2iezn' | 'x4' | 'x8g' | 'z1d' | 'z3'>;
478
+ /**
479
+ * Allowed values for `topology.kubernetes.io/region`.
480
+ */
481
+ 'topology.kubernetes.io/region'?: Array<'africa-south1' | 'ap-northeast-1' | 'ap-northeast-2' | 'ap-northeast-3' | 'ap-south-1' | 'ap-southeast-1' | 'ap-southeast-2' | 'ash' | 'asia-east1' | 'asia-east2' | 'asia-northeast1' | 'asia-northeast2' | 'asia-northeast3' | 'asia-south1' | 'asia-south2' | 'asia-southeast1' | 'asia-southeast2' | 'australia-southeast1' | 'australia-southeast2' | 'ca-central-1' | 'eu-central-1' | 'eu-central-2' | 'eu-north-1' | 'eu-west-1' | 'eu-west-2' | 'eu-west-3' | 'europe-central2' | 'europe-north1' | 'europe-southwest1' | 'europe-west1' | 'europe-west10' | 'europe-west12' | 'europe-west2' | 'europe-west3' | 'europe-west4' | 'europe-west6' | 'europe-west8' | 'europe-west9' | 'fsn1' | 'hel1' | 'hil' | 'me-central1' | 'me-central2' | 'me-west1' | 'nbg1' | 'northamerica-northeast1' | 'northamerica-northeast2' | 'sa-east-1' | 'sin' | 'southamerica-east1' | 'southamerica-west1' | 'us-central1' | 'us-east-1' | 'us-east-2' | 'us-east1' | 'us-east4' | 'us-east5' | 'us-south1' | 'us-west-1' | 'us-west-2' | 'us-west1' | 'us-west2' | 'us-west3' | 'us-west4'>;
327
482
  };
483
+ /**
484
+ * Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.
485
+ */
486
+ scalingProfile?: 'aggressive' | 'conservative';
328
487
  /**
329
488
  * Unique identifier of the kubernetes fleet.
330
489
  */
@@ -336,35 +495,76 @@ export type Fleet = {
336
495
  */
337
496
  limits?: {
338
497
  /**
339
- * CPU limit in cores.
498
+ * CPU limit in cores. Maximum 100,000.
340
499
  */
341
- cpu: number;
500
+ cpu?: number;
342
501
  };
343
502
  gcp?: {
344
- enabled?: boolean;
503
+ enabled: boolean;
345
504
  /**
346
- * Project GCP Project id to deploy instances into
505
+ * GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.
347
506
  */
348
- project: string;
507
+ project?: string;
349
508
  };
350
509
  hetzner?: {
351
- enabled?: boolean;
510
+ enabled: boolean;
352
511
  /**
353
- * Hetzner Cloud API key with read / write access
512
+ * Redacted Hetzner API token. Returned as 64 asterisks when a token is configured; omitted otherwise. The real value is never echoed by the API.
354
513
  */
355
- apiKey: string;
514
+ apiKey?: string;
356
515
  };
357
516
  aws?: {
358
- enabled?: boolean;
517
+ enabled: boolean;
359
518
  /**
360
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
519
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
361
520
  */
362
- controllerRoleArn: string;
521
+ controllerRoleArn?: string;
363
522
  };
523
+ /**
524
+ * Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together. Omit a field to place no restriction on that key.
525
+ */
526
+ constraints?: {
527
+ /**
528
+ * Allowed values for `karpenter.sh/capacity-type`.
529
+ */
530
+ 'karpenter.sh/capacity-type'?: Array<'on-demand' | 'spot'>;
531
+ /**
532
+ * Allowed values for `kubernetes.io/arch`.
533
+ */
534
+ 'kubernetes.io/arch'?: Array<'amd64' | 'arm64'>;
535
+ /**
536
+ * Allowed values for `cfke.io/instance-family`.
537
+ */
538
+ 'cfke.io/instance-family'?: Array<'a1' | 'a2' | 'a3' | 'a4' | 'c1' | 'c2' | 'c2d' | 'c3' | 'c3d' | 'c4' | 'c4a' | 'c4d' | 'c5' | 'c5a' | 'c5ad' | 'c5d' | 'c5n' | 'c6a' | 'c6g' | 'c6gd' | 'c6gn' | 'c6i' | 'c6id' | 'c6in' | 'c7a' | 'c7g' | 'c7gd' | 'c7gn' | 'c7i' | 'c7i-flex' | 'c8g' | 'c8gd' | 'cax' | 'ccx' | 'cpx' | 'cx' | 'd2' | 'd3' | 'd3en' | 'dl1' | 'dl2q' | 'e2' | 'f1' | 'f2' | 'g1' | 'g2' | 'g4ad' | 'g4dn' | 'g5' | 'g5g' | 'g6' | 'g6e' | 'gr6' | 'h1' | 'h3' | 'hpc6a' | 'hpc6id' | 'hpc7a' | 'hpc7g' | 'i2' | 'i3' | 'i3en' | 'i4g' | 'i4i' | 'i7i' | 'i7ie' | 'i8g' | 'im4gn' | 'inf1' | 'inf2' | 'is4gen' | 'm1' | 'm2' | 'm3' | 'm4' | 'm5' | 'm5a' | 'm5ad' | 'm5d' | 'm5dn' | 'm5n' | 'm5zn' | 'm6a' | 'm6g' | 'm6gd' | 'm6i' | 'm6id' | 'm6idn' | 'm6in' | 'm7a' | 'm7g' | 'm7gd' | 'm7i' | 'm7i-flex' | 'm8g' | 'm8gd' | 'n1' | 'n2' | 'n2d' | 'n4' | 'p3' | 'p3dn' | 'p4d' | 'p4de' | 'p5' | 'p5e' | 'p5en' | 'p6-b200' | 'r3' | 'r4' | 'r5' | 'r5a' | 'r5ad' | 'r5b' | 'r5d' | 'r5dn' | 'r5n' | 'r6a' | 'r6g' | 'r6gd' | 'r6i' | 'r6id' | 'r6idn' | 'r6in' | 'r7a' | 'r7g' | 'r7gd' | 'r7i' | 'r7iz' | 'r8g' | 'r8gd' | 't2' | 't2a' | 't2d' | 't3' | 't3a' | 't4g' | 'trn1' | 'trn1n' | 'u-3tb1' | 'u-6tb1' | 'u7i-12tb' | 'u7i-6tb' | 'u7i-8tb' | 'u7in-16tb' | 'u7in-24tb' | 'u7in-32tb' | 'vt1' | 'x1' | 'x1e' | 'x2gd' | 'x2idn' | 'x2iedn' | 'x2iezn' | 'x4' | 'x8g' | 'z1d' | 'z3'>;
539
+ /**
540
+ * Allowed values for `topology.kubernetes.io/region`.
541
+ */
542
+ 'topology.kubernetes.io/region'?: Array<'africa-south1' | 'ap-northeast-1' | 'ap-northeast-2' | 'ap-northeast-3' | 'ap-south-1' | 'ap-southeast-1' | 'ap-southeast-2' | 'ash' | 'asia-east1' | 'asia-east2' | 'asia-northeast1' | 'asia-northeast2' | 'asia-northeast3' | 'asia-south1' | 'asia-south2' | 'asia-southeast1' | 'asia-southeast2' | 'australia-southeast1' | 'australia-southeast2' | 'ca-central-1' | 'eu-central-1' | 'eu-central-2' | 'eu-north-1' | 'eu-west-1' | 'eu-west-2' | 'eu-west-3' | 'europe-central2' | 'europe-north1' | 'europe-southwest1' | 'europe-west1' | 'europe-west10' | 'europe-west12' | 'europe-west2' | 'europe-west3' | 'europe-west4' | 'europe-west6' | 'europe-west8' | 'europe-west9' | 'fsn1' | 'hel1' | 'hil' | 'me-central1' | 'me-central2' | 'me-west1' | 'nbg1' | 'northamerica-northeast1' | 'northamerica-northeast2' | 'sa-east-1' | 'sin' | 'southamerica-east1' | 'southamerica-west1' | 'us-central1' | 'us-east-1' | 'us-east-2' | 'us-east1' | 'us-east4' | 'us-east5' | 'us-south1' | 'us-west-1' | 'us-west-2' | 'us-west1' | 'us-west2' | 'us-west3' | 'us-west4'>;
543
+ };
544
+ /**
545
+ * Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.
546
+ */
547
+ scalingProfile: 'aggressive' | 'conservative';
364
548
  /**
365
549
  * Unique identifier of the kubernetes fleet.
366
550
  */
367
551
  id: string;
552
+ /**
553
+ * Indicates whether the fleet configuration is healthy.
554
+ */
555
+ ready: boolean;
556
+ /**
557
+ * Human-readable reason the fleet is not ready. Present only when `ready` is false.
558
+ */
559
+ status_message?: string;
560
+ /**
561
+ * Creation date and time of the fleet.
562
+ */
563
+ created_at: string;
564
+ /**
565
+ * Date and time the fleet was last updated.
566
+ */
567
+ updated_at: string;
368
568
  };
369
569
  export type FleetUpdateInput = {
370
570
  /**
@@ -372,31 +572,66 @@ export type FleetUpdateInput = {
372
572
  */
373
573
  limits?: {
374
574
  /**
375
- * CPU limit in cores.
575
+ * CPU limit in cores. Maximum 100,000.
376
576
  */
377
- cpu: number;
577
+ cpu?: number;
378
578
  };
379
579
  gcp?: {
380
- enabled?: boolean;
580
+ enabled: boolean;
381
581
  /**
382
- * Project GCP Project id to deploy instances into
582
+ * GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.
383
583
  */
384
- project: string;
584
+ project?: string;
385
585
  };
386
586
  hetzner?: {
387
- enabled?: boolean;
587
+ enabled: boolean;
388
588
  /**
389
- * Hetzner Cloud API key with read / write access
589
+ * Hetzner Cloud API token with read / write access (64 alphanumeric characters). Omit this field to keep the existing value.
390
590
  */
391
- apiKey: string;
591
+ apiKey?: string;
392
592
  };
393
593
  aws?: {
394
- enabled?: boolean;
594
+ enabled: boolean;
395
595
  /**
396
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
596
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
397
597
  */
398
- controllerRoleArn: string;
598
+ controllerRoleArn?: string;
399
599
  };
600
+ /**
601
+ * Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together. Omit a field to place no restriction on that key.
602
+ */
603
+ constraints?: {
604
+ /**
605
+ * Allowed values for `karpenter.sh/capacity-type`.
606
+ */
607
+ 'karpenter.sh/capacity-type'?: Array<'on-demand' | 'spot'>;
608
+ /**
609
+ * Allowed values for `kubernetes.io/arch`.
610
+ */
611
+ 'kubernetes.io/arch'?: Array<'amd64' | 'arm64'>;
612
+ /**
613
+ * Allowed values for `cfke.io/instance-family`.
614
+ */
615
+ 'cfke.io/instance-family'?: Array<'a1' | 'a2' | 'a3' | 'a4' | 'c1' | 'c2' | 'c2d' | 'c3' | 'c3d' | 'c4' | 'c4a' | 'c4d' | 'c5' | 'c5a' | 'c5ad' | 'c5d' | 'c5n' | 'c6a' | 'c6g' | 'c6gd' | 'c6gn' | 'c6i' | 'c6id' | 'c6in' | 'c7a' | 'c7g' | 'c7gd' | 'c7gn' | 'c7i' | 'c7i-flex' | 'c8g' | 'c8gd' | 'cax' | 'ccx' | 'cpx' | 'cx' | 'd2' | 'd3' | 'd3en' | 'dl1' | 'dl2q' | 'e2' | 'f1' | 'f2' | 'g1' | 'g2' | 'g4ad' | 'g4dn' | 'g5' | 'g5g' | 'g6' | 'g6e' | 'gr6' | 'h1' | 'h3' | 'hpc6a' | 'hpc6id' | 'hpc7a' | 'hpc7g' | 'i2' | 'i3' | 'i3en' | 'i4g' | 'i4i' | 'i7i' | 'i7ie' | 'i8g' | 'im4gn' | 'inf1' | 'inf2' | 'is4gen' | 'm1' | 'm2' | 'm3' | 'm4' | 'm5' | 'm5a' | 'm5ad' | 'm5d' | 'm5dn' | 'm5n' | 'm5zn' | 'm6a' | 'm6g' | 'm6gd' | 'm6i' | 'm6id' | 'm6idn' | 'm6in' | 'm7a' | 'm7g' | 'm7gd' | 'm7i' | 'm7i-flex' | 'm8g' | 'm8gd' | 'n1' | 'n2' | 'n2d' | 'n4' | 'p3' | 'p3dn' | 'p4d' | 'p4de' | 'p5' | 'p5e' | 'p5en' | 'p6-b200' | 'r3' | 'r4' | 'r5' | 'r5a' | 'r5ad' | 'r5b' | 'r5d' | 'r5dn' | 'r5n' | 'r6a' | 'r6g' | 'r6gd' | 'r6i' | 'r6id' | 'r6idn' | 'r6in' | 'r7a' | 'r7g' | 'r7gd' | 'r7i' | 'r7iz' | 'r8g' | 'r8gd' | 't2' | 't2a' | 't2d' | 't3' | 't3a' | 't4g' | 'trn1' | 'trn1n' | 'u-3tb1' | 'u-6tb1' | 'u7i-12tb' | 'u7i-6tb' | 'u7i-8tb' | 'u7in-16tb' | 'u7in-24tb' | 'u7in-32tb' | 'vt1' | 'x1' | 'x1e' | 'x2gd' | 'x2idn' | 'x2iedn' | 'x2iezn' | 'x4' | 'x8g' | 'z1d' | 'z3'>;
616
+ /**
617
+ * Allowed values for `topology.kubernetes.io/region`.
618
+ */
619
+ 'topology.kubernetes.io/region'?: Array<'africa-south1' | 'ap-northeast-1' | 'ap-northeast-2' | 'ap-northeast-3' | 'ap-south-1' | 'ap-southeast-1' | 'ap-southeast-2' | 'ash' | 'asia-east1' | 'asia-east2' | 'asia-northeast1' | 'asia-northeast2' | 'asia-northeast3' | 'asia-south1' | 'asia-south2' | 'asia-southeast1' | 'asia-southeast2' | 'australia-southeast1' | 'australia-southeast2' | 'ca-central-1' | 'eu-central-1' | 'eu-central-2' | 'eu-north-1' | 'eu-west-1' | 'eu-west-2' | 'eu-west-3' | 'europe-central2' | 'europe-north1' | 'europe-southwest1' | 'europe-west1' | 'europe-west10' | 'europe-west12' | 'europe-west2' | 'europe-west3' | 'europe-west4' | 'europe-west6' | 'europe-west8' | 'europe-west9' | 'fsn1' | 'hel1' | 'hil' | 'me-central1' | 'me-central2' | 'me-west1' | 'nbg1' | 'northamerica-northeast1' | 'northamerica-northeast2' | 'sa-east-1' | 'sin' | 'southamerica-east1' | 'southamerica-west1' | 'us-central1' | 'us-east-1' | 'us-east-2' | 'us-east1' | 'us-east4' | 'us-east5' | 'us-south1' | 'us-west-1' | 'us-west-2' | 'us-west1' | 'us-west2' | 'us-west3' | 'us-west4'>;
620
+ };
621
+ /**
622
+ * Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.
623
+ */
624
+ scalingProfile: 'aggressive' | 'conservative';
625
+ };
626
+ export type InviteCreateInput = {
627
+ /**
628
+ * Email address of the user to invite.
629
+ */
630
+ email: string;
631
+ /**
632
+ * Role the invited user will be assigned on redemption. Can be 'Administrator' or 'User'.
633
+ */
634
+ role?: 'Administrator' | 'User';
400
635
  };
401
636
  export type Invite = {
402
637
  /**
@@ -419,10 +654,14 @@ export type Invite = {
419
654
  * Generated unique invite code.
420
655
  */
421
656
  code?: string;
657
+ /**
658
+ * Role the invited user will be assigned on redemption. Can be 'Administrator' or 'User'.
659
+ */
660
+ role?: 'Administrator' | 'User';
422
661
  };
423
662
  export type Invoice = {
424
663
  /**
425
- * Unique identifier of the invoice. UUID v4 string in canonical form
664
+ * Unique identifier of the invoice.
426
665
  */
427
666
  id?: string;
428
667
  number?: string;
@@ -452,52 +691,97 @@ export type Invoice = {
452
691
  period_end: string;
453
692
  invoice_pdf?: string;
454
693
  };
455
- export type MarketplaceListing = {
694
+ export type MarketplaceListingFiles = {
456
695
  /**
457
- * Id of the chart listing
696
+ * Raw Chart.yaml content from the Helm chart
458
697
  */
459
- id: string;
698
+ chartYaml?: string;
460
699
  /**
461
- * Name of the chart listing
700
+ * Raw values.yaml content from the Helm chart
462
701
  */
463
- name: string;
702
+ valuesYaml?: string;
464
703
  /**
465
- * Author of the chart listing
704
+ * JSON schema for values.yaml as a string
466
705
  */
467
- developer: string;
706
+ valuesSchemaJson?: string;
707
+ };
708
+ export type MarketplaceListing = {
468
709
  /**
469
- * Short description of the chart listing
710
+ * Name of the chart
470
711
  */
471
- description: string;
712
+ name: string;
472
713
  /**
473
- * Logo of the chart listing
714
+ * Available versions of the chart
474
715
  */
475
- logoUrl: string;
716
+ versions: Array<string>;
476
717
  /**
477
- * Long description of the chart listing
718
+ * Version channels for the chart
478
719
  */
479
- longDescription: string;
720
+ version_channels: Array<string>;
480
721
  /**
481
- * Tags of the chart
722
+ * Latest version of the chart
482
723
  */
483
- categories: Array<string>;
484
- version_channels: Array<string>;
485
- value_schemas: Array<{
724
+ latestVersion: string;
725
+ /**
726
+ * Chart metadata
727
+ */
728
+ metadata?: {
729
+ /**
730
+ * Chart name from metadata
731
+ */
732
+ name: string;
486
733
  /**
487
- * Version of the chart.
734
+ * Chart version from metadata
488
735
  */
489
736
  version: string;
490
737
  /**
491
- * Schema of the chart values. JSON Schema as string
738
+ * Chart description
492
739
  */
493
- schema: string;
740
+ description?: string;
494
741
  /**
495
- * Schema of the chart values
742
+ * Application version
496
743
  */
497
- placeholder: string;
498
- }>;
744
+ appVersion?: string;
745
+ /**
746
+ * Helm API version
747
+ */
748
+ apiVersion?: string;
749
+ /**
750
+ * Chart keywords
751
+ */
752
+ keywords?: Array<string>;
753
+ /**
754
+ * Chart home URL
755
+ */
756
+ home?: string;
757
+ /**
758
+ * A URL to an SVG or PNG image to be used as an icon
759
+ */
760
+ icon?: string;
761
+ /**
762
+ * Chart source URLs
763
+ */
764
+ sources?: Array<string>;
765
+ /**
766
+ * Chart maintainers
767
+ */
768
+ maintainers?: Array<{
769
+ /**
770
+ * Maintainer name
771
+ */
772
+ name: string;
773
+ /**
774
+ * Maintainer email
775
+ */
776
+ email?: string;
777
+ }>;
778
+ };
499
779
  };
500
780
  export type OrganizationCreateInput = {
781
+ /**
782
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
783
+ */
784
+ type: 'business' | 'personal';
501
785
  /**
502
786
  * Email address used for billing as a string.
503
787
  */
@@ -519,6 +803,12 @@ export type OrganizationCreateInput = {
519
803
  */
520
804
  password: string;
521
805
  };
806
+ export type OrganizationCreateOutput = {
807
+ /**
808
+ * Unique identifier of the newly created organization. Generated by the API and safe to use for client-side tracking immediately.
809
+ */
810
+ id: string;
811
+ };
522
812
  export type Organization = {
523
813
  /**
524
814
  * Unique identifier of the organization. UUID v4 string in canonical form
@@ -528,6 +818,10 @@ export type Organization = {
528
818
  * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
529
819
  */
530
820
  name?: string;
821
+ /**
822
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
823
+ */
824
+ type: 'business' | 'personal';
531
825
  /**
532
826
  * Creation date of the organization. ISO 8601 date string in UTC timezone
533
827
  */
@@ -577,41 +871,508 @@ export type Organization = {
577
871
  */
578
872
  label: string;
579
873
  }>;
874
+ /**
875
+ * Organization-level maximum CFCR storage volume in GB. -1 means no limit.
876
+ */
877
+ cfcr_storage_gb: number;
580
878
  };
581
879
  /**
582
880
  * Status of the organization. Can be `active` or `closed`, or `suspended`.
583
881
  */
584
882
  status: 'active' | 'closed' | 'suspended';
883
+ /**
884
+ * Verification status of the organization, which determines the assigned quota. `none` when billing information is incomplete, `submitted` when billing information is complete but the organization is not yet verified, `verified` when the organization is verified.
885
+ */
886
+ verification: 'none' | 'submitted' | 'verified';
585
887
  };
586
888
  export type PaymentMethod = {
587
889
  /**
588
- * Unique identifier of the organization. UUID v4 string in canonical form.
890
+ * Payment method identifier. Stripe payment method id for cards/SEPA; the constant `bank_transfer` for the invoice/bank-transfer method. Used to set as default or delete the payment method.
589
891
  */
590
892
  id: string;
591
893
  /**
592
- * Whether organization payment method was set up and ready to use for payments.
593
- */
594
- setup: boolean;
595
- /**
596
- * Payment method type type. Only `card` payments supported at the moment.
894
+ * Payment method type. `card`, `sepa_debit` for SEPA Direct Debit (business accounts only), or `bank_transfer` for paying invoices by bank transfer.
597
895
  */
598
- type: 'card';
896
+ type: 'card' | 'sepa_debit' | 'bank_transfer';
599
897
  /**
600
- * Last 4 digits of the payment card number.
898
+ * Last 4 digits of the payment card number, of the bank account (IBAN) for SEPA Direct Debit, or of the destination IBAN for bank transfer.
601
899
  */
602
900
  last4: string;
603
901
  /**
604
- * Two-digit number representing the card's expiration month.
902
+ * Two-digit number representing the card's expiration month. Null for SEPA Direct Debit and bank transfer.
605
903
  */
606
904
  exp_month: number;
607
905
  /**
608
- * Four-digit number representing the card's expiration year.
906
+ * Four-digit number representing the card's expiration year. May be in the past for an expired card still on file. Null for SEPA Direct Debit and bank transfer.
609
907
  */
610
908
  exp_year: number;
611
909
  /**
612
- * Payment card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.
910
+ * Payment card brand as reported by Stripe, e.g. `visa`, `mastercard`, `amex`, `cartes_bancaires`, or `unknown`. Null for SEPA Direct Debit and bank transfer.
911
+ */
912
+ brand: string;
913
+ /**
914
+ * Full destination IBAN to send bank transfers to. Set only for `bank_transfer`; null otherwise. This is Cloudfleet's virtual receiving account, shown in full so the customer can pay into it.
915
+ */
916
+ iban: string;
917
+ /**
918
+ * BIC/SWIFT of the destination bank for bank transfers. Set only for `bank_transfer`; null otherwise.
919
+ */
920
+ bic: string;
921
+ /**
922
+ * Account holder name of the destination bank account for bank transfers. Set only for `bank_transfer`; null otherwise.
923
+ */
924
+ account_holder_name: string;
925
+ /**
926
+ * Whether this payment method is the default used for invoices and active subscriptions. Always false for `bank_transfer` (it cannot be a Stripe default payment method).
927
+ */
928
+ is_default: boolean;
929
+ };
930
+ export type PlatformQuota = {
931
+ /**
932
+ * Maximum number of Basic clusters that can be created.
613
933
  */
614
- brand: 'amex' | 'diners' | 'discover' | 'eftpos_au' | 'jcb' | 'mastercard' | 'unionpay' | 'visa' | 'unknown';
934
+ basic_clusters_max: number;
935
+ /**
936
+ * Available number of Basic clusters that can be created.
937
+ */
938
+ basic_clusters_available: number;
939
+ /**
940
+ * Maximum number of Pro clusters that can be created.
941
+ */
942
+ pro_clusters_max: number;
943
+ /**
944
+ * Available number of Pro clusters that can be created.
945
+ */
946
+ pro_clusters_available: number;
947
+ /**
948
+ * Maximum number of fleets that can be created per cluster.
949
+ */
950
+ fleets_max: number;
951
+ /**
952
+ * List of Cloudfleet cluster tiers available for the organization.
953
+ */
954
+ cluster_tiers: Array<string>;
955
+ /**
956
+ * List of Cloudfleet control plane regions available for the organization.
957
+ */
958
+ regions: Array<string>;
959
+ /**
960
+ * List of CFKE control plane versions available for the organization.
961
+ */
962
+ versions: Array<{
963
+ /**
964
+ * Id of the control plane version. Used in API calls.
965
+ */
966
+ id: string;
967
+ /**
968
+ * Label of the control plane version. Used in frontent UI.
969
+ */
970
+ label: string;
971
+ }>;
972
+ /**
973
+ * Organization-level maximum CFCR storage volume in GB. -1 means no limit.
974
+ */
975
+ cfcr_storage_gb: number;
976
+ };
977
+ export type RegistryRepository = {
978
+ /**
979
+ * Repository name.
980
+ */
981
+ name: string;
982
+ /**
983
+ * Registry region.
984
+ */
985
+ region: string;
986
+ /**
987
+ * Full URI of the repository.
988
+ */
989
+ uri: string;
990
+ };
991
+ export type RegistryRepositoryWithTags = {
992
+ /**
993
+ * Repository name.
994
+ */
995
+ name: string;
996
+ /**
997
+ * Registry region.
998
+ */
999
+ region: string;
1000
+ /**
1001
+ * Full URI of the repository.
1002
+ */
1003
+ uri: string;
1004
+ /**
1005
+ * Array of tags in the repository.
1006
+ */
1007
+ tags: Array<{
1008
+ /**
1009
+ * Tag name.
1010
+ */
1011
+ name: string;
1012
+ /**
1013
+ * Size of the tag in bytes.
1014
+ */
1015
+ size: number;
1016
+ /**
1017
+ * Media type of the manifest.
1018
+ */
1019
+ mediaType?: string;
1020
+ /**
1021
+ * Array of platform strings for multi-arch images (e.g., linux/amd64, linux/arm64).
1022
+ */
1023
+ platforms?: Array<string>;
1024
+ }>;
1025
+ /**
1026
+ * Total size of all tags in the repository in bytes.
1027
+ */
1028
+ totalSize: number;
1029
+ };
1030
+ export type RegistryTag = {
1031
+ /**
1032
+ * Tag name.
1033
+ */
1034
+ name: string;
1035
+ /**
1036
+ * Manifest digest for pulling by digest.
1037
+ */
1038
+ digest: string;
1039
+ /**
1040
+ * Media type of the manifest.
1041
+ */
1042
+ mediaType?: string;
1043
+ /**
1044
+ * Manifest config metadata.
1045
+ */
1046
+ config?: {
1047
+ /**
1048
+ * Size of the config in bytes.
1049
+ */
1050
+ size: number;
1051
+ };
1052
+ /**
1053
+ * Array of layer metadata.
1054
+ */
1055
+ layers?: Array<{
1056
+ /**
1057
+ * Digest of the layer.
1058
+ */
1059
+ digest?: string;
1060
+ /**
1061
+ * Size of the layer in bytes.
1062
+ */
1063
+ size: number;
1064
+ }>;
1065
+ /**
1066
+ * Array of manifests for multi-arch images.
1067
+ */
1068
+ manifests?: Array<{
1069
+ /**
1070
+ * Digest of the manifest.
1071
+ */
1072
+ digest: string;
1073
+ /**
1074
+ * Platform information for the manifest.
1075
+ */
1076
+ platform?: {
1077
+ /**
1078
+ * Architecture of the platform.
1079
+ */
1080
+ architecture: string;
1081
+ /**
1082
+ * Operating system of the platform.
1083
+ */
1084
+ os: string;
1085
+ /**
1086
+ * Variant of the platform (e.g., v7, v8 for ARM).
1087
+ */
1088
+ variant?: string;
1089
+ };
1090
+ /**
1091
+ * Layers for this platform.
1092
+ */
1093
+ layers?: Array<{
1094
+ /**
1095
+ * Digest of the layer.
1096
+ */
1097
+ digest?: string;
1098
+ /**
1099
+ * Size of the layer in bytes.
1100
+ */
1101
+ size: number;
1102
+ }>;
1103
+ /**
1104
+ * Total size of this platform manifest in bytes.
1105
+ */
1106
+ size?: number;
1107
+ }>;
1108
+ /**
1109
+ * Total size of the tag in bytes.
1110
+ */
1111
+ size: number;
1112
+ /**
1113
+ * Registry region.
1114
+ */
1115
+ region: string;
1116
+ /**
1117
+ * Repository name.
1118
+ */
1119
+ repository: string;
1120
+ /**
1121
+ * Full URI of the tag.
1122
+ */
1123
+ uri: string;
1124
+ };
1125
+ export type TicketAttachment = {
1126
+ /**
1127
+ * Unique identifier of the attachment (Mongo ObjectId).
1128
+ */
1129
+ id: string;
1130
+ /**
1131
+ * Original filename as uploaded.
1132
+ */
1133
+ filename: string;
1134
+ /**
1135
+ * MIME content type of the attachment.
1136
+ */
1137
+ content_type: string;
1138
+ /**
1139
+ * Size of the attachment in bytes.
1140
+ */
1141
+ size: number;
1142
+ };
1143
+ export type TicketCreateInput = {
1144
+ /**
1145
+ * Ticket category. Drives auto-assignment and may carry a subcategory in `properties`.
1146
+ */
1147
+ category: 'billing' | 'technical' | 'general';
1148
+ /**
1149
+ * Initial message body in markdown. There is no separate subject — the first message body is the description.
1150
+ */
1151
+ body: string;
1152
+ /**
1153
+ * Free-form key/value bag set by the UI (e.g. `subcategory`, `cluster_id`, `cluster_name`, `region`).
1154
+ */
1155
+ properties?: {
1156
+ [key: string]: unknown;
1157
+ };
1158
+ };
1159
+ export type TicketListResponse = {
1160
+ /**
1161
+ * Tickets for the organization, ordered newest first. Messages are omitted from list responses.
1162
+ */
1163
+ items: Array<{
1164
+ /**
1165
+ * Unique identifier of the ticket (Mongo ObjectId).
1166
+ */
1167
+ id: string;
1168
+ /**
1169
+ * Current state of the ticket.
1170
+ */
1171
+ status: 'waiting_on_us' | 'waiting_on_user' | 'closed';
1172
+ /**
1173
+ * Ticket category.
1174
+ */
1175
+ category: 'billing' | 'technical' | 'general';
1176
+ /**
1177
+ * First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.
1178
+ */
1179
+ summary: string;
1180
+ /**
1181
+ * Closure timestamp. Null while the ticket is open.
1182
+ */
1183
+ closed_at?: string;
1184
+ /**
1185
+ * Creation date of the ticket. ISO 8601 UTC.
1186
+ */
1187
+ date_created: string;
1188
+ /**
1189
+ * Last update date of the ticket. ISO 8601 UTC.
1190
+ */
1191
+ date_updated: string;
1192
+ /**
1193
+ * Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.
1194
+ */
1195
+ messages?: Array<{
1196
+ /**
1197
+ * Unique identifier of the message (Mongo ObjectId).
1198
+ */
1199
+ id: string;
1200
+ /**
1201
+ * Message type. Internal notes are filtered out of customer-facing responses.
1202
+ */
1203
+ type: 'customer_reply' | 'agent_reply';
1204
+ /**
1205
+ * Message body in markdown.
1206
+ */
1207
+ body: string;
1208
+ /**
1209
+ * First name of the author. Null when not provided.
1210
+ */
1211
+ author_first_name?: string;
1212
+ /**
1213
+ * Last name of the author. Null when not provided.
1214
+ */
1215
+ author_last_name?: string;
1216
+ /**
1217
+ * Attachments associated with this message.
1218
+ */
1219
+ attachments?: Array<{
1220
+ /**
1221
+ * Unique identifier of the attachment (Mongo ObjectId).
1222
+ */
1223
+ id: string;
1224
+ /**
1225
+ * Original filename as uploaded.
1226
+ */
1227
+ filename: string;
1228
+ /**
1229
+ * MIME content type of the attachment.
1230
+ */
1231
+ content_type: string;
1232
+ /**
1233
+ * Size of the attachment in bytes.
1234
+ */
1235
+ size: number;
1236
+ }>;
1237
+ /**
1238
+ * Creation date of the message. ISO 8601 UTC.
1239
+ */
1240
+ date_created: string;
1241
+ }>;
1242
+ }>;
1243
+ };
1244
+ export type TicketMessageInput = {
1245
+ /**
1246
+ * Reply body in markdown.
1247
+ */
1248
+ body: string;
1249
+ };
1250
+ export type TicketMessage = {
1251
+ /**
1252
+ * Unique identifier of the message (Mongo ObjectId).
1253
+ */
1254
+ id: string;
1255
+ /**
1256
+ * Message type. Internal notes are filtered out of customer-facing responses.
1257
+ */
1258
+ type: 'customer_reply' | 'agent_reply';
1259
+ /**
1260
+ * Message body in markdown.
1261
+ */
1262
+ body: string;
1263
+ /**
1264
+ * First name of the author. Null when not provided.
1265
+ */
1266
+ author_first_name?: string;
1267
+ /**
1268
+ * Last name of the author. Null when not provided.
1269
+ */
1270
+ author_last_name?: string;
1271
+ /**
1272
+ * Attachments associated with this message.
1273
+ */
1274
+ attachments?: Array<{
1275
+ /**
1276
+ * Unique identifier of the attachment (Mongo ObjectId).
1277
+ */
1278
+ id: string;
1279
+ /**
1280
+ * Original filename as uploaded.
1281
+ */
1282
+ filename: string;
1283
+ /**
1284
+ * MIME content type of the attachment.
1285
+ */
1286
+ content_type: string;
1287
+ /**
1288
+ * Size of the attachment in bytes.
1289
+ */
1290
+ size: number;
1291
+ }>;
1292
+ /**
1293
+ * Creation date of the message. ISO 8601 UTC.
1294
+ */
1295
+ date_created: string;
1296
+ };
1297
+ export type Ticket = {
1298
+ /**
1299
+ * Unique identifier of the ticket (Mongo ObjectId).
1300
+ */
1301
+ id: string;
1302
+ /**
1303
+ * Current state of the ticket.
1304
+ */
1305
+ status: 'waiting_on_us' | 'waiting_on_user' | 'closed';
1306
+ /**
1307
+ * Ticket category.
1308
+ */
1309
+ category: 'billing' | 'technical' | 'general';
1310
+ /**
1311
+ * First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.
1312
+ */
1313
+ summary: string;
1314
+ /**
1315
+ * Closure timestamp. Null while the ticket is open.
1316
+ */
1317
+ closed_at?: string;
1318
+ /**
1319
+ * Creation date of the ticket. ISO 8601 UTC.
1320
+ */
1321
+ date_created: string;
1322
+ /**
1323
+ * Last update date of the ticket. ISO 8601 UTC.
1324
+ */
1325
+ date_updated: string;
1326
+ /**
1327
+ * Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.
1328
+ */
1329
+ messages?: Array<{
1330
+ /**
1331
+ * Unique identifier of the message (Mongo ObjectId).
1332
+ */
1333
+ id: string;
1334
+ /**
1335
+ * Message type. Internal notes are filtered out of customer-facing responses.
1336
+ */
1337
+ type: 'customer_reply' | 'agent_reply';
1338
+ /**
1339
+ * Message body in markdown.
1340
+ */
1341
+ body: string;
1342
+ /**
1343
+ * First name of the author. Null when not provided.
1344
+ */
1345
+ author_first_name?: string;
1346
+ /**
1347
+ * Last name of the author. Null when not provided.
1348
+ */
1349
+ author_last_name?: string;
1350
+ /**
1351
+ * Attachments associated with this message.
1352
+ */
1353
+ attachments?: Array<{
1354
+ /**
1355
+ * Unique identifier of the attachment (Mongo ObjectId).
1356
+ */
1357
+ id: string;
1358
+ /**
1359
+ * Original filename as uploaded.
1360
+ */
1361
+ filename: string;
1362
+ /**
1363
+ * MIME content type of the attachment.
1364
+ */
1365
+ content_type: string;
1366
+ /**
1367
+ * Size of the attachment in bytes.
1368
+ */
1369
+ size: number;
1370
+ }>;
1371
+ /**
1372
+ * Creation date of the message. ISO 8601 UTC.
1373
+ */
1374
+ date_created: string;
1375
+ }>;
615
1376
  };
616
1377
  export type TokenCreateInput = {
617
1378
  /**
@@ -655,35 +1416,85 @@ export type TokenUpdateInput = {
655
1416
  */
656
1417
  role?: 'Administrator' | 'User';
657
1418
  };
1419
+ export type UsageFacets = {
1420
+ /**
1421
+ * List of unique cluster IDs
1422
+ */
1423
+ cluster_id?: Array<string>;
1424
+ /**
1425
+ * List of unique products
1426
+ */
1427
+ product?: Array<string>;
1428
+ };
1429
+ export type UsageResponse = {
1430
+ /**
1431
+ * Usage data
1432
+ */
1433
+ data: Array<{
1434
+ /**
1435
+ * Hour of the usage
1436
+ */
1437
+ hour: string;
1438
+ /**
1439
+ * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
1440
+ */
1441
+ cluster_id: string;
1442
+ /**
1443
+ * The product the usage is associated with
1444
+ */
1445
+ product: string;
1446
+ /**
1447
+ * Consumption
1448
+ */
1449
+ value: number;
1450
+ /**
1451
+ * Price per unit
1452
+ */
1453
+ price: number;
1454
+ /**
1455
+ * Total cost
1456
+ */
1457
+ total: number;
1458
+ }>;
1459
+ /**
1460
+ * Facets for filtering
1461
+ */
1462
+ facets: {
1463
+ /**
1464
+ * List of unique cluster IDs
1465
+ */
1466
+ cluster_id?: Array<string>;
1467
+ /**
1468
+ * List of unique products
1469
+ */
1470
+ product?: Array<string>;
1471
+ };
1472
+ };
658
1473
  export type Usage = {
659
1474
  /**
660
1475
  * Hour of the usage
661
1476
  */
662
- hour?: string;
1477
+ hour: string;
663
1478
  /**
664
1479
  * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
665
1480
  */
666
1481
  cluster_id: string;
667
1482
  /**
668
- * Tier of the cluster.
1483
+ * The product the usage is associated with
669
1484
  */
670
- cluster_tier: 'basic' | 'pro' | '';
1485
+ product: string;
671
1486
  /**
672
- * The product the usage is associated with
1487
+ * Consumption
673
1488
  */
674
- product: 'cfke_controlplane' | 'cfke_connected_nodes' | 'infra_compute' | 'infra_storage' | 'infra_loadbalancing' | 'infra_traffic' | 'cfcr_storage';
1489
+ value: number;
675
1490
  /**
676
- * Name of the Kubernetes node
1491
+ * Price per unit
677
1492
  */
678
- node_name: string;
1493
+ price: number;
679
1494
  /**
680
- * SKU of the Kubernetes node
1495
+ * Total cost
681
1496
  */
682
- sku: string;
683
- cpu: number | '';
684
- price: number | '';
685
- value: number | '';
686
- total: number | '';
1497
+ total: number;
687
1498
  };
688
1499
  export type UserCreateInput = {
689
1500
  /**
@@ -706,14 +1517,6 @@ export type UserCreateInput = {
706
1517
  * User password. Must be at least 8 characters long.
707
1518
  */
708
1519
  password: string;
709
- /**
710
- * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
711
- */
712
- status?: 'active' | 'inactive';
713
- /**
714
- * User role. Can be 'Administrator', 'User'.
715
- */
716
- role?: 'Administrator' | 'User';
717
1520
  };
718
1521
  export type User = {
719
1522
  /**
@@ -770,60 +1573,133 @@ export type UserUpdateInput = {
770
1573
  export type GetUsageData = {
771
1574
  body?: never;
772
1575
  path?: never;
1576
+ query?: {
1577
+ /**
1578
+ * Time granularity for usage aggregation - hourly (Past 48 hours aggregated by hour), daily (Past 30 days aggregated by day), monthly (Past 12 months aggregated by month)
1579
+ */
1580
+ granularity?: 'hourly' | 'daily' | 'monthly';
1581
+ };
1582
+ url: '/billing/usage';
1583
+ };
1584
+ export type GetUsageErrors = {
1585
+ /**
1586
+ * Not authenticated
1587
+ */
1588
+ 401: unknown;
1589
+ };
1590
+ export type GetUsageResponses = {
1591
+ /**
1592
+ * Usage data with facets for filtering
1593
+ */
1594
+ 200: UsageResponse;
1595
+ };
1596
+ export type GetUsageResponse = GetUsageResponses[keyof GetUsageResponses];
1597
+ export type GetPaymentMethodSecretData = {
1598
+ body?: never;
1599
+ path?: never;
1600
+ query?: never;
1601
+ url: '/billing/payment-method';
1602
+ };
1603
+ export type GetPaymentMethodSecretResponses = {
1604
+ /**
1605
+ * 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.
1606
+ *
1607
+ */
1608
+ 200: {
1609
+ /**
1610
+ * The client secret.
1611
+ */
1612
+ id?: string;
1613
+ };
1614
+ };
1615
+ export type GetPaymentMethodSecretResponse = GetPaymentMethodSecretResponses[keyof GetPaymentMethodSecretResponses];
1616
+ export type ListPaymentMethodsData = {
1617
+ body?: never;
1618
+ path?: never;
1619
+ query?: never;
1620
+ url: '/billing/payment-methods';
1621
+ };
1622
+ export type ListPaymentMethodsErrors = {
1623
+ /**
1624
+ * Not authenticated
1625
+ */
1626
+ 401: unknown;
1627
+ };
1628
+ export type ListPaymentMethodsResponses = {
1629
+ /**
1630
+ * An array of payment methods.
1631
+ */
1632
+ 200: Array<PaymentMethod>;
1633
+ };
1634
+ export type ListPaymentMethodsResponse = ListPaymentMethodsResponses[keyof ListPaymentMethodsResponses];
1635
+ export type SetDefaultPaymentMethodData = {
1636
+ body?: never;
1637
+ path: {
1638
+ /**
1639
+ * Stripe payment method identifier.
1640
+ */
1641
+ paymentMethodId: string;
1642
+ };
773
1643
  query?: never;
774
- url: '/billing/usage';
1644
+ url: '/billing/payment-methods/{paymentMethodId}/default';
775
1645
  };
776
- export type GetUsageErrors = {
1646
+ export type SetDefaultPaymentMethodErrors = {
1647
+ /**
1648
+ * The bank transfer payment method cannot be set as the default.
1649
+ */
1650
+ 400: unknown;
777
1651
  /**
778
1652
  * Not authenticated
779
1653
  */
780
1654
  401: unknown;
1655
+ /**
1656
+ * Payment method not found.
1657
+ */
1658
+ 404: unknown;
781
1659
  };
782
- export type GetUsageResponses = {
1660
+ export type SetDefaultPaymentMethodResponses = {
783
1661
  /**
784
- * An array of usage records.
1662
+ * Default payment method updated.
785
1663
  */
786
- 200: Array<Usage>;
1664
+ 204: void;
787
1665
  };
788
- export type GetUsageResponse = GetUsageResponses[keyof GetUsageResponses];
789
- export type GetPaymentMethodData = {
1666
+ export type SetDefaultPaymentMethodResponse = SetDefaultPaymentMethodResponses[keyof SetDefaultPaymentMethodResponses];
1667
+ export type DeletePaymentMethodData = {
790
1668
  body?: never;
791
- path?: never;
1669
+ path: {
1670
+ /**
1671
+ * Stripe payment method identifier.
1672
+ */
1673
+ paymentMethodId: string;
1674
+ };
792
1675
  query?: never;
793
- url: '/billing/payment-method';
1676
+ url: '/billing/payment-methods/{paymentMethodId}';
794
1677
  };
795
- export type GetPaymentMethodErrors = {
1678
+ export type DeletePaymentMethodErrors = {
1679
+ /**
1680
+ * The bank transfer payment method cannot be removed.
1681
+ */
1682
+ 400: unknown;
796
1683
  /**
797
- * Returns 404 Not Found if the organization does not have a payment method set up.
1684
+ * Not authenticated
1685
+ */
1686
+ 401: unknown;
1687
+ /**
1688
+ * Payment method not found.
798
1689
  */
799
1690
  404: unknown;
800
- };
801
- export type GetPaymentMethodResponses = {
802
1691
  /**
803
- * Redacted payment card information.
1692
+ * Cannot delete the only remaining payment method.
804
1693
  */
805
- 200: PaymentMethod;
806
- };
807
- export type GetPaymentMethodResponse = GetPaymentMethodResponses[keyof GetPaymentMethodResponses];
808
- export type GetPaymentMethodSecretData = {
809
- body?: never;
810
- path?: never;
811
- query?: never;
812
- url: '/billing/payment-method';
1694
+ 409: unknown;
813
1695
  };
814
- export type GetPaymentMethodSecretResponses = {
1696
+ export type DeletePaymentMethodResponses = {
815
1697
  /**
816
- * 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.
817
- *
1698
+ * Payment method deleted.
818
1699
  */
819
- 200: {
820
- /**
821
- * The client secret.
822
- */
823
- id?: string;
824
- };
1700
+ 204: void;
825
1701
  };
826
- export type GetPaymentMethodSecretResponse = GetPaymentMethodSecretResponses[keyof GetPaymentMethodSecretResponses];
1702
+ export type DeletePaymentMethodResponse = DeletePaymentMethodResponses[keyof DeletePaymentMethodResponses];
827
1703
  export type ListInvoicesData = {
828
1704
  body?: never;
829
1705
  path?: never;
@@ -946,6 +1822,13 @@ export type CreateChartData = {
946
1822
  query?: never;
947
1823
  url: '/clusters/{cluster_id}/charts';
948
1824
  };
1825
+ export type CreateChartErrors = {
1826
+ /**
1827
+ * The cluster cannot service this operation: it is still being created, or it is suspended. Retry once it is ready, or resume the cluster first.
1828
+ */
1829
+ 409: string;
1830
+ };
1831
+ export type CreateChartError = CreateChartErrors[keyof CreateChartErrors];
949
1832
  export type CreateChartResponses = {
950
1833
  /**
951
1834
  * Successfully created. Returns created Chart ID.
@@ -968,6 +1851,13 @@ export type DeleteChartData = {
968
1851
  query?: never;
969
1852
  url: '/clusters/{cluster_id}/charts/{chart_name}';
970
1853
  };
1854
+ export type DeleteChartErrors = {
1855
+ /**
1856
+ * The cluster cannot service this operation: it is still being created, or it is suspended. Retry once it is ready, or resume the cluster first.
1857
+ */
1858
+ 409: string;
1859
+ };
1860
+ export type DeleteChartError = DeleteChartErrors[keyof DeleteChartErrors];
971
1861
  export type DeleteChartResponses = {
972
1862
  /**
973
1863
  * Successfully deleted.
@@ -1012,6 +1902,13 @@ export type UpdateChartData = {
1012
1902
  query?: never;
1013
1903
  url: '/clusters/{cluster_id}/charts/{chart_name}';
1014
1904
  };
1905
+ export type UpdateChartErrors = {
1906
+ /**
1907
+ * The cluster cannot service this operation: it is still being created, or it is suspended. Retry once it is ready, or resume the cluster first.
1908
+ */
1909
+ 409: string;
1910
+ };
1911
+ export type UpdateChartError = UpdateChartErrors[keyof UpdateChartErrors];
1015
1912
  export type UpdateChartResponses = {
1016
1913
  /**
1017
1914
  * Successfully updated.
@@ -1059,6 +1956,10 @@ export type CreateFleetErrors = {
1059
1956
  * Cluster quota exceeded. Maximum number of fleets per cluster allowed in this organization is reached.
1060
1957
  */
1061
1958
  402: string;
1959
+ /**
1960
+ * The cluster cannot service this operation: it is still being created, or it is suspended. Retry once it is ready, or resume the cluster first.
1961
+ */
1962
+ 409: string;
1062
1963
  };
1063
1964
  export type CreateFleetError = CreateFleetErrors[keyof CreateFleetErrors];
1064
1965
  export type CreateFleetResponses = {
@@ -1083,6 +1984,13 @@ export type DeleteFleetData = {
1083
1984
  query?: never;
1084
1985
  url: '/clusters/{cluster_id}/fleets/{fleet_name}';
1085
1986
  };
1987
+ export type DeleteFleetErrors = {
1988
+ /**
1989
+ * The cluster cannot service this operation: it is still being created, or it is suspended. Retry once it is ready, or resume the cluster first.
1990
+ */
1991
+ 409: string;
1992
+ };
1993
+ export type DeleteFleetError = DeleteFleetErrors[keyof DeleteFleetErrors];
1086
1994
  export type DeleteFleetResponses = {
1087
1995
  /**
1088
1996
  * Successfully deleted.
@@ -1132,6 +2040,10 @@ export type UpdateFleetErrors = {
1132
2040
  * Organization must have a valid payment method configured to access this endpoint.
1133
2041
  */
1134
2042
  402: string;
2043
+ /**
2044
+ * The cluster cannot service this operation: it is still being created, or it is suspended. Retry once it is ready, or resume the cluster first.
2045
+ */
2046
+ 409: string;
1135
2047
  };
1136
2048
  export type UpdateFleetError = UpdateFleetErrors[keyof UpdateFleetErrors];
1137
2049
  export type UpdateFleetResponses = {
@@ -1214,9 +2126,24 @@ export type DeleteClusterData = {
1214
2126
  query?: never;
1215
2127
  url: '/clusters/{cluster_id}';
1216
2128
  };
2129
+ export type DeleteClusterErrors = {
2130
+ /**
2131
+ * Cluster not found — it does not exist or has already been deleted.
2132
+ */
2133
+ 404: unknown;
2134
+ /**
2135
+ * The cluster cannot service this operation: it is still being created, or it is suspended. Retry once it is ready, or resume the cluster first.
2136
+ */
2137
+ 409: string;
2138
+ /**
2139
+ * Transient failure tearing down the cluster; retry the request.
2140
+ */
2141
+ 503: unknown;
2142
+ };
2143
+ export type DeleteClusterError = DeleteClusterErrors[keyof DeleteClusterErrors];
1217
2144
  export type DeleteClusterResponses = {
1218
2145
  /**
1219
- * Successfully deleted.
2146
+ * Successfully deleted. The cluster has been torn down.
1220
2147
  */
1221
2148
  200: string;
1222
2149
  };
@@ -1250,6 +2177,13 @@ export type UpdateClusterData = {
1250
2177
  query?: never;
1251
2178
  url: '/clusters/{cluster_id}';
1252
2179
  };
2180
+ export type UpdateClusterErrors = {
2181
+ /**
2182
+ * The cluster cannot service this operation: it is still being created, or it is suspended. Retry once it is ready, or resume the cluster first.
2183
+ */
2184
+ 409: string;
2185
+ };
2186
+ export type UpdateClusterError = UpdateClusterErrors[keyof UpdateClusterErrors];
1253
2187
  export type UpdateClusterResponses = {
1254
2188
  /**
1255
2189
  * Successfully updated. Returns updated cluster details.
@@ -1273,7 +2207,12 @@ export type GetJoinInformationErrors = {
1273
2207
  * Not authenticated
1274
2208
  */
1275
2209
  401: unknown;
2210
+ /**
2211
+ * The cluster cannot service this operation: it is still being created, or it is suspended. Retry once it is ready, or resume the cluster first.
2212
+ */
2213
+ 409: string;
1276
2214
  };
2215
+ export type GetJoinInformationError = GetJoinInformationErrors[keyof GetJoinInformationErrors];
1277
2216
  export type GetJoinInformationResponses = {
1278
2217
  /**
1279
2218
  * An object of cluster join information
@@ -1301,12 +2240,7 @@ export type ListInvitesResponses = {
1301
2240
  };
1302
2241
  export type ListInvitesResponse = ListInvitesResponses[keyof ListInvitesResponses];
1303
2242
  export type CreateInviteData = {
1304
- body: {
1305
- /**
1306
- * User email address
1307
- */
1308
- email?: string;
1309
- };
2243
+ body: InviteCreateInput;
1310
2244
  path?: never;
1311
2245
  query?: never;
1312
2246
  url: '/invites';
@@ -1331,9 +2265,18 @@ export type GetInviteData = {
1331
2265
  };
1332
2266
  export type GetInviteResponses = {
1333
2267
  /**
1334
- * Returns a single object containing invite details.
2268
+ * The invitation code is valid. Returns the invited email and organization.
1335
2269
  */
1336
- 200: Invite;
2270
+ 200: {
2271
+ /**
2272
+ * Email address the invite was issued to.
2273
+ */
2274
+ email?: string;
2275
+ /**
2276
+ * Identifier of the organization the invite grants access to.
2277
+ */
2278
+ organization_id?: string;
2279
+ };
1337
2280
  };
1338
2281
  export type GetInviteResponse = GetInviteResponses[keyof GetInviteResponses];
1339
2282
  export type DeleteInviteData = {
@@ -1372,24 +2315,76 @@ export type ListMarketplaceChartsResponses = {
1372
2315
  200: Array<MarketplaceListing>;
1373
2316
  };
1374
2317
  export type ListMarketplaceChartsResponse = ListMarketplaceChartsResponses[keyof ListMarketplaceChartsResponses];
1375
- export type GetMarketplaceChartData = {
2318
+ export type GetMarketplaceChartFilesData = {
1376
2319
  body?: never;
1377
2320
  path: {
1378
2321
  /**
1379
- * Unique identifier of the chart listing in the marketplace.
2322
+ * Name of the chart in the marketplace.
2323
+ */
2324
+ chart_name: string;
2325
+ /**
2326
+ * Version channel pattern to match (e.g., "1.31.x-cfke.x" for latest 1.31 patch, "1.x.x-cfke.x" for latest 1.x minor).
2327
+ */
2328
+ version_channel: string;
2329
+ };
2330
+ query?: never;
2331
+ url: '/marketplace/{chart_name}/files/{version_channel}';
2332
+ };
2333
+ export type GetMarketplaceChartFilesErrors = {
2334
+ /**
2335
+ * Chart not found or no version matches the channel
2336
+ */
2337
+ 404: unknown;
2338
+ };
2339
+ export type GetMarketplaceChartFilesResponses = {
2340
+ /**
2341
+ * Returns an object containing the chart files for the latest matching version.
2342
+ */
2343
+ 200: MarketplaceListingFiles;
2344
+ };
2345
+ export type GetMarketplaceChartFilesResponse = GetMarketplaceChartFilesResponses[keyof GetMarketplaceChartFilesResponses];
2346
+ export type PostMcpData = {
2347
+ /**
2348
+ * JSON-RPC 2.0 request payload
2349
+ */
2350
+ body: {
2351
+ jsonrpc?: string;
2352
+ method?: string;
2353
+ id?: string | number;
2354
+ /**
2355
+ * Method-specific parameters
1380
2356
  */
1381
- listing_id: string;
2357
+ params?: {
2358
+ [key: string]: unknown;
2359
+ };
1382
2360
  };
2361
+ path?: never;
1383
2362
  query?: never;
1384
- url: '/marketplace/{listing_id}';
2363
+ url: '/mcp';
2364
+ };
2365
+ export type PostMcpErrors = {
2366
+ /**
2367
+ * Not authenticated
2368
+ */
2369
+ 401: unknown;
1385
2370
  };
1386
- export type GetMarketplaceChartResponses = {
2371
+ export type PostMcpResponses = {
1387
2372
  /**
1388
- * Returns an object containing the chart listing details.
2373
+ * JSON-RPC 2.0 success or error response
1389
2374
  */
1390
- 200: MarketplaceListing;
2375
+ 200: {
2376
+ jsonrpc?: string;
2377
+ id?: string | number;
2378
+ result?: {
2379
+ [key: string]: unknown;
2380
+ };
2381
+ error?: {
2382
+ code?: number;
2383
+ message?: string;
2384
+ };
2385
+ };
1391
2386
  };
1392
- export type GetMarketplaceChartResponse = GetMarketplaceChartResponses[keyof GetMarketplaceChartResponses];
2387
+ export type PostMcpResponse = PostMcpResponses[keyof PostMcpResponses];
1393
2388
  export type GetOrganizationData = {
1394
2389
  body?: never;
1395
2390
  path?: never;
@@ -1411,10 +2406,255 @@ export type CreateOrganizationData = {
1411
2406
  };
1412
2407
  export type CreateOrganizationResponses = {
1413
2408
  /**
1414
- * Successfully created a new organization.
2409
+ * Organization signup accepted. Returns the generated organization id immediately; provisioning (billing, Keycloak realm, user) continues asynchronously in the background.
2410
+ *
2411
+ */
2412
+ 200: OrganizationCreateOutput;
2413
+ };
2414
+ export type CreateOrganizationResponse = CreateOrganizationResponses[keyof CreateOrganizationResponses];
2415
+ export type ListRepositoriesData = {
2416
+ body?: never;
2417
+ path?: never;
2418
+ query?: never;
2419
+ url: '/registry';
2420
+ };
2421
+ export type ListRepositoriesErrors = {
2422
+ /**
2423
+ * Not authenticated
2424
+ */
2425
+ 401: unknown;
2426
+ /**
2427
+ * Internal server error
2428
+ */
2429
+ 500: unknown;
2430
+ };
2431
+ export type ListRepositoriesResponses = {
2432
+ /**
2433
+ * List of repositories
2434
+ */
2435
+ 200: Array<RegistryRepository>;
2436
+ };
2437
+ export type ListRepositoriesResponse = ListRepositoriesResponses[keyof ListRepositoriesResponses];
2438
+ export type ListTagsData = {
2439
+ body?: never;
2440
+ path: {
2441
+ /**
2442
+ * Region where the repository is located
2443
+ */
2444
+ region: string;
2445
+ /**
2446
+ * Name of the repository
2447
+ */
2448
+ repository: string;
2449
+ };
2450
+ query?: never;
2451
+ url: '/registry/{region}/{repository}';
2452
+ };
2453
+ export type ListTagsErrors = {
2454
+ /**
2455
+ * Not authenticated
2456
+ */
2457
+ 401: unknown;
2458
+ /**
2459
+ * Repository not found
2460
+ */
2461
+ 404: unknown;
2462
+ /**
2463
+ * Internal server error
2464
+ */
2465
+ 500: unknown;
2466
+ };
2467
+ export type ListTagsResponses = {
2468
+ /**
2469
+ * Repository with tags
2470
+ */
2471
+ 200: RegistryRepositoryWithTags;
2472
+ };
2473
+ export type ListTagsResponse = ListTagsResponses[keyof ListTagsResponses];
2474
+ export type DeleteTagData = {
2475
+ body?: never;
2476
+ path: {
2477
+ /**
2478
+ * Region where the repository is located
2479
+ */
2480
+ region: string;
2481
+ /**
2482
+ * Name of the repository
2483
+ */
2484
+ repository: string;
2485
+ /**
2486
+ * Name of the tag
2487
+ */
2488
+ tag: string;
2489
+ };
2490
+ query?: never;
2491
+ url: '/registry/{region}/{repository}/{tag}';
2492
+ };
2493
+ export type DeleteTagErrors = {
2494
+ /**
2495
+ * Not authenticated
2496
+ */
2497
+ 401: unknown;
2498
+ /**
2499
+ * Tag not found
2500
+ */
2501
+ 404: unknown;
2502
+ /**
2503
+ * Internal server error
2504
+ */
2505
+ 500: unknown;
2506
+ };
2507
+ export type DeleteTagResponses = {
2508
+ /**
2509
+ * Tag successfully deleted
1415
2510
  */
1416
2511
  200: unknown;
1417
2512
  };
2513
+ export type GetTagData = {
2514
+ body?: never;
2515
+ path: {
2516
+ /**
2517
+ * Region where the repository is located
2518
+ */
2519
+ region: string;
2520
+ /**
2521
+ * Name of the repository
2522
+ */
2523
+ repository: string;
2524
+ /**
2525
+ * Name of the tag
2526
+ */
2527
+ tag: string;
2528
+ };
2529
+ query?: never;
2530
+ url: '/registry/{region}/{repository}/{tag}';
2531
+ };
2532
+ export type GetTagErrors = {
2533
+ /**
2534
+ * Not authenticated
2535
+ */
2536
+ 401: unknown;
2537
+ /**
2538
+ * Tag not found
2539
+ */
2540
+ 404: unknown;
2541
+ /**
2542
+ * Internal server error
2543
+ */
2544
+ 500: unknown;
2545
+ };
2546
+ export type GetTagResponses = {
2547
+ /**
2548
+ * Tag details
2549
+ */
2550
+ 200: RegistryTag;
2551
+ };
2552
+ export type GetTagResponse = GetTagResponses[keyof GetTagResponses];
2553
+ export type ListTicketsData = {
2554
+ body?: never;
2555
+ path?: never;
2556
+ query?: never;
2557
+ url: '/tickets';
2558
+ };
2559
+ export type ListTicketsResponses = {
2560
+ /**
2561
+ * Tickets for the organization.
2562
+ */
2563
+ 200: TicketListResponse;
2564
+ };
2565
+ export type ListTicketsResponse = ListTicketsResponses[keyof ListTicketsResponses];
2566
+ export type CreateTicketData = {
2567
+ body: {
2568
+ /**
2569
+ * JSON-encoded TicketCreateInput.
2570
+ */
2571
+ payload?: string;
2572
+ attachments?: Array<Blob | File>;
2573
+ };
2574
+ path?: never;
2575
+ query?: never;
2576
+ url: '/tickets';
2577
+ };
2578
+ export type CreateTicketResponses = {
2579
+ /**
2580
+ * Ticket created.
2581
+ */
2582
+ 200: Ticket;
2583
+ };
2584
+ export type CreateTicketResponse = CreateTicketResponses[keyof CreateTicketResponses];
2585
+ export type CloseTicketData = {
2586
+ body?: never;
2587
+ path: {
2588
+ ticket_id: string;
2589
+ };
2590
+ query?: never;
2591
+ url: '/tickets/{ticket_id}';
2592
+ };
2593
+ export type CloseTicketResponses = {
2594
+ /**
2595
+ * Ticket closed.
2596
+ */
2597
+ 200: Ticket;
2598
+ };
2599
+ export type CloseTicketResponse = CloseTicketResponses[keyof CloseTicketResponses];
2600
+ export type GetTicketData = {
2601
+ body?: never;
2602
+ path: {
2603
+ ticket_id: string;
2604
+ };
2605
+ query?: never;
2606
+ url: '/tickets/{ticket_id}';
2607
+ };
2608
+ export type GetTicketResponses = {
2609
+ /**
2610
+ * Ticket with messages (internal notes excluded).
2611
+ */
2612
+ 200: Ticket;
2613
+ };
2614
+ export type GetTicketResponse = GetTicketResponses[keyof GetTicketResponses];
2615
+ export type ReplyTicketData = {
2616
+ body: {
2617
+ /**
2618
+ * JSON-encoded TicketMessageInput.
2619
+ */
2620
+ payload?: string;
2621
+ attachments?: Array<Blob | File>;
2622
+ };
2623
+ path: {
2624
+ ticket_id: string;
2625
+ };
2626
+ query?: never;
2627
+ url: '/tickets/{ticket_id}/messages';
2628
+ };
2629
+ export type ReplyTicketErrors = {
2630
+ /**
2631
+ * Ticket is closed. Open a new ticket instead.
2632
+ */
2633
+ 409: unknown;
2634
+ };
2635
+ export type ReplyTicketResponses = {
2636
+ /**
2637
+ * Reply appended.
2638
+ */
2639
+ 200: TicketMessage;
2640
+ };
2641
+ export type ReplyTicketResponse = ReplyTicketResponses[keyof ReplyTicketResponses];
2642
+ export type GetTicketAttachmentData = {
2643
+ body?: never;
2644
+ path: {
2645
+ ticket_id: string;
2646
+ attachment_id: string;
2647
+ };
2648
+ query?: never;
2649
+ url: '/tickets/{ticket_id}/attachments/{attachment_id}';
2650
+ };
2651
+ export type GetTicketAttachmentResponses = {
2652
+ /**
2653
+ * Attachment binary stream.
2654
+ */
2655
+ 200: Blob | File;
2656
+ };
2657
+ export type GetTicketAttachmentResponse = GetTicketAttachmentResponses[keyof GetTicketAttachmentResponses];
1418
2658
  export type ListTokensData = {
1419
2659
  body?: never;
1420
2660
  path?: never;