@cloudfleet/sdk 0.0.1-8116a0a → 0.0.1-81297bc

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +1346 -589
  46. package/dist/schemas.gen.d.ts.map +1 -1
  47. package/dist/schemas.gen.js +2664 -693
  48. package/dist/schemas.gen.js.map +1 -1
  49. package/dist/sdk.gen.d.ts +153 -31
  50. package/dist/sdk.gen.d.ts.map +1 -1
  51. package/dist/sdk.gen.js +227 -158
  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 +1189 -389
  55. package/dist/types.gen.d.ts.map +1 -1
  56. package/dist/zod.gen.d.ts +2789 -2023
  57. package/dist/zod.gen.d.ts.map +1 -1
  58. package/dist/zod.gen.js +1251 -1129
  59. package/dist/zod.gen.js.map +1 -1
  60. package/package.json +29 -6
@@ -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
  */
@@ -39,13 +43,9 @@ export type BillingContact = {
39
43
  */
40
44
  email: string;
41
45
  /**
42
- * First name of the billing contact person.
43
- */
44
- first_name: string;
45
- /**
46
- * Last name of the billing contact person.
46
+ * Name of the billing contact person.
47
47
  */
48
- last_name: string;
48
+ individual_name: string;
49
49
  /**
50
50
  * Tax ID of the organization.
51
51
  */
@@ -61,35 +61,31 @@ export type BillingCredits = {
61
61
  */
62
62
  id?: string;
63
63
  /**
64
- * Date of the credit application. ISO 8601 date string in the UTC timezone.
65
- */
66
- date_created: string;
67
- /**
68
- * Promotional code used by the customer.
64
+ * Type of the promotional code.
69
65
  */
70
- code: string;
66
+ type: 'credit' | 'discount';
71
67
  /**
72
- * Description of the promotional code.
68
+ * Timestamp when the credit becomes active. ISO 8601 date string in the UTC timezone.
73
69
  */
74
- description?: string;
70
+ date_start: string;
75
71
  /**
76
- * List of product SKUs that the promotional code can be used on.
72
+ * Timestamp when the credit expires or becomes inactive. ISO 8601 date string in the UTC timezone.
77
73
  */
78
- products?: Array<string>;
74
+ date_end?: string;
79
75
  /**
80
- * Type of the promotional code.
76
+ * Promotional code used by the customer.
81
77
  */
82
- type: 'credit' | 'discount';
78
+ code: string;
83
79
  /**
84
- * Value of the promotional code.
80
+ * Description of the promotional code.
85
81
  */
86
- value: number;
82
+ description?: string;
87
83
  /**
88
- * Date of the billing cycle. An ISO 8601 date string in the UTC timezone.
84
+ * Total value of the promotional code.
89
85
  */
90
- billing_period: string;
86
+ value_total: number;
91
87
  /**
92
- * Value of the promotional code.
88
+ * Remaining value of the promotional code.
93
89
  */
94
90
  value_remaining?: number;
95
91
  };
@@ -137,9 +133,9 @@ export type Chart = {
137
133
  */
138
134
  chart: string;
139
135
  /**
140
- * Status of the chart deployment.
136
+ * Status of the chart deployment (Flux HelmRelease Ready condition reason, e.g. InstallSucceeded, UpgradeFailed, Progressing).
141
137
  */
142
- status: 'InstallSucceeded' | 'InstallFailed' | 'UpgradeSucceeded' | 'UpgradeFailed' | 'TestSucceeded' | 'TestFailed' | 'RollbackSucceeded' | 'RollbackFailed' | 'UninstallSucceeded' | 'UninstallFailed' | 'ArtifactFailed' | 'DependencyNotReady' | 'Progressing' | 'SourceNotReady';
138
+ status: string;
143
139
  /**
144
140
  * Current version of the chart deployment.
145
141
  */
@@ -177,9 +173,9 @@ export type ClusterCreateInput = {
177
173
  */
178
174
  tier: 'basic' | 'pro';
179
175
  /**
180
- * 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.
181
177
  */
182
- region?: 'staging' | 'northamerica-central-1' | 'europe-central-1a' | 'northamerica-central-1a';
178
+ region: string;
183
179
  /**
184
180
  * Version of the kubernetes cluster.
185
181
  */
@@ -194,6 +190,14 @@ export type ClusterJoinInformation = {
194
190
  * Internal URL of the Kubernetes cluster control plane. This is the endpoint that kubelet uses to connect to the cluster.
195
191
  */
196
192
  endpoint: string;
193
+ /**
194
+ * Cluster DNS IP address. This is the IP address of the kube-dns service in the cluster.
195
+ */
196
+ cluster_dns: string;
197
+ /**
198
+ * Pod CIDR for the cluster. Used to configure iptables rules on nodes to prevent Tailscale routing loops.
199
+ */
200
+ pod_cidr: string;
197
201
  /**
198
202
  * Authentication key for the cluster.
199
203
  */
@@ -251,13 +255,9 @@ export type Cluster = {
251
255
  */
252
256
  tier: 'basic' | 'pro';
253
257
  /**
254
- * Cloudfleet control plane region. One of "staging", "northamerica-central-1", "europe-central-1a", "northamerica-central-1a". This field can not be updated after creation.
258
+ * Cloudfleet control plane region. This field can not be updated after creation.
255
259
  */
256
- region?: 'staging' | 'northamerica-central-1' | 'europe-central-1a' | 'northamerica-central-1a';
257
- /**
258
- * Version of the kubernetes cluster.
259
- */
260
- version_channel?: string;
260
+ region: string;
261
261
  /**
262
262
  * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
263
263
  */
@@ -265,8 +265,9 @@ export type Cluster = {
265
265
  /**
266
266
  * Status of the cluster. When creating a new cluster, set to `active`. When deleting a clusters, set to `deleted`.
267
267
  */
268
- status: 'active' | 'deleted' | 'creating' | 'deployed' | 'failed' | 'updating';
268
+ status: 'active' | 'disabled' | 'deleted' | 'creating' | 'deployed' | 'failed' | 'updating';
269
269
  endpoint?: string | '';
270
+ endpoint_public?: string | '';
270
271
  /**
271
272
  * Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.
272
273
  */
@@ -287,6 +288,10 @@ export type Cluster = {
287
288
  * Indicates if the cluster is ready to be used.
288
289
  */
289
290
  ready?: boolean;
291
+ /**
292
+ * Version of the kubernetes cluster.
293
+ */
294
+ version_channel?: string;
290
295
  };
291
296
  export type ClusterUpdateInput = {
292
297
  /**
@@ -308,31 +313,56 @@ export type FleetCreateInput = {
308
313
  */
309
314
  limits?: {
310
315
  /**
311
- * CPU limit in cores.
316
+ * CPU limit in cores. Maximum 100,000.
312
317
  */
313
- cpu: number;
318
+ cpu?: number;
314
319
  };
315
320
  gcp?: {
316
- enabled?: boolean;
321
+ enabled: boolean;
317
322
  /**
318
- * Project GCP Project id to deploy instances into
323
+ * 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.
319
324
  */
320
- project: string;
325
+ project?: string;
321
326
  };
322
327
  hetzner?: {
323
- enabled?: boolean;
328
+ enabled: boolean;
324
329
  /**
325
- * Hetzner Cloud API key with read / write access
330
+ * Hetzner Cloud API token with read / write access (64 alphanumeric characters). Omit this field to keep the existing value.
326
331
  */
327
- apiKey: string;
332
+ apiKey?: string;
328
333
  };
329
334
  aws?: {
330
- enabled?: boolean;
335
+ enabled: boolean;
336
+ /**
337
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
338
+ */
339
+ controllerRoleArn?: string;
340
+ };
341
+ /**
342
+ * 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.
343
+ */
344
+ constraints?: {
345
+ /**
346
+ * Allowed values for `karpenter.sh/capacity-type`.
347
+ */
348
+ 'karpenter.sh/capacity-type'?: Array<'on-demand' | 'spot'>;
349
+ /**
350
+ * Allowed values for `kubernetes.io/arch`.
351
+ */
352
+ 'kubernetes.io/arch'?: Array<'amd64' | 'arm64'>;
353
+ /**
354
+ * Allowed values for `cfke.io/instance-family`.
355
+ */
356
+ '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'>;
331
357
  /**
332
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
358
+ * Allowed values for `topology.kubernetes.io/region`.
333
359
  */
334
- controllerRoleArn: string;
360
+ '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'>;
335
361
  };
362
+ /**
363
+ * Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.
364
+ */
365
+ scalingProfile?: 'aggressive' | 'conservative';
336
366
  /**
337
367
  * Unique identifier of the kubernetes fleet.
338
368
  */
@@ -344,31 +374,56 @@ export type Fleet = {
344
374
  */
345
375
  limits?: {
346
376
  /**
347
- * CPU limit in cores.
377
+ * CPU limit in cores. Maximum 100,000.
348
378
  */
349
- cpu: number;
379
+ cpu?: number;
350
380
  };
351
381
  gcp?: {
352
- enabled?: boolean;
382
+ enabled: boolean;
353
383
  /**
354
- * Project GCP Project id to deploy instances into
384
+ * 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.
355
385
  */
356
- project: string;
386
+ project?: string;
357
387
  };
358
388
  hetzner?: {
359
- enabled?: boolean;
389
+ enabled: boolean;
360
390
  /**
361
- * Hetzner Cloud API key with read / write access
391
+ * Redacted Hetzner API token. Returned as 64 asterisks when a token is configured; omitted otherwise. The real value is never echoed by the API.
362
392
  */
363
- apiKey: string;
393
+ apiKey?: string;
364
394
  };
365
395
  aws?: {
366
- enabled?: boolean;
396
+ enabled: boolean;
367
397
  /**
368
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
398
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
369
399
  */
370
- controllerRoleArn: string;
400
+ controllerRoleArn?: string;
371
401
  };
402
+ /**
403
+ * 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.
404
+ */
405
+ constraints?: {
406
+ /**
407
+ * Allowed values for `karpenter.sh/capacity-type`.
408
+ */
409
+ 'karpenter.sh/capacity-type'?: Array<'on-demand' | 'spot'>;
410
+ /**
411
+ * Allowed values for `kubernetes.io/arch`.
412
+ */
413
+ 'kubernetes.io/arch'?: Array<'amd64' | 'arm64'>;
414
+ /**
415
+ * Allowed values for `cfke.io/instance-family`.
416
+ */
417
+ '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'>;
418
+ /**
419
+ * Allowed values for `topology.kubernetes.io/region`.
420
+ */
421
+ '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'>;
422
+ };
423
+ /**
424
+ * Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.
425
+ */
426
+ scalingProfile: 'aggressive' | 'conservative';
372
427
  /**
373
428
  * Unique identifier of the kubernetes fleet.
374
429
  */
@@ -380,31 +435,66 @@ export type FleetUpdateInput = {
380
435
  */
381
436
  limits?: {
382
437
  /**
383
- * CPU limit in cores.
438
+ * CPU limit in cores. Maximum 100,000.
384
439
  */
385
- cpu: number;
440
+ cpu?: number;
386
441
  };
387
442
  gcp?: {
388
- enabled?: boolean;
443
+ enabled: boolean;
389
444
  /**
390
- * Project GCP Project id to deploy instances into
445
+ * 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.
391
446
  */
392
- project: string;
447
+ project?: string;
393
448
  };
394
449
  hetzner?: {
395
- enabled?: boolean;
450
+ enabled: boolean;
396
451
  /**
397
- * Hetzner Cloud API key with read / write access
452
+ * Hetzner Cloud API token with read / write access (64 alphanumeric characters). Omit this field to keep the existing value.
398
453
  */
399
- apiKey: string;
454
+ apiKey?: string;
400
455
  };
401
456
  aws?: {
402
- enabled?: boolean;
457
+ enabled: boolean;
403
458
  /**
404
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
459
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
405
460
  */
406
- controllerRoleArn: string;
461
+ controllerRoleArn?: string;
407
462
  };
463
+ /**
464
+ * 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.
465
+ */
466
+ constraints?: {
467
+ /**
468
+ * Allowed values for `karpenter.sh/capacity-type`.
469
+ */
470
+ 'karpenter.sh/capacity-type'?: Array<'on-demand' | 'spot'>;
471
+ /**
472
+ * Allowed values for `kubernetes.io/arch`.
473
+ */
474
+ 'kubernetes.io/arch'?: Array<'amd64' | 'arm64'>;
475
+ /**
476
+ * Allowed values for `cfke.io/instance-family`.
477
+ */
478
+ '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'>;
479
+ /**
480
+ * Allowed values for `topology.kubernetes.io/region`.
481
+ */
482
+ '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'>;
483
+ };
484
+ /**
485
+ * Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.
486
+ */
487
+ scalingProfile: 'aggressive' | 'conservative';
488
+ };
489
+ export type InviteCreateInput = {
490
+ /**
491
+ * Email address of the user to invite.
492
+ */
493
+ email: string;
494
+ /**
495
+ * Role the invited user will be assigned on redemption. Can be 'Administrator' or 'User'.
496
+ */
497
+ role?: 'Administrator' | 'User';
408
498
  };
409
499
  export type Invite = {
410
500
  /**
@@ -427,399 +517,725 @@ export type Invite = {
427
517
  * Generated unique invite code.
428
518
  */
429
519
  code?: string;
520
+ /**
521
+ * Role the invited user will be assigned on redemption. Can be 'Administrator' or 'User'.
522
+ */
523
+ role?: 'Administrator' | 'User';
430
524
  };
431
525
  export type Invoice = {
432
526
  /**
433
- * Unique identifier of the invoice. UUID v4 string in canonical form
527
+ * Unique identifier of the invoice.
434
528
  */
435
529
  id?: string;
436
- /**
437
- * Unique identifier of the organization. UUID v4 string in canonical form
438
- */
439
- organizationId?: string;
530
+ number?: string;
440
531
  /**
441
532
  * Status of the invoice
442
533
  */
443
- status?: 'DRAFT' | 'COMMITTED' | 'VOID';
534
+ status?: string;
444
535
  /**
445
536
  * Total amount of the invoice
446
537
  */
447
- amount?: number;
538
+ total?: number;
448
539
  /**
449
540
  * Currency of the invoice
450
541
  */
451
- currency?: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GGP' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'IMP' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JEP' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SPL' | 'SRD' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TVD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XDR' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWD' | 'BTC';
542
+ currency?: string;
543
+ /**
544
+ * Timestamp when the invoice was issued. ISO 8601 date string in the UTC timezone.
545
+ */
546
+ created: string;
547
+ /**
548
+ * Billing period start timestamp. ISO 8601 date string in the UTC timezone.
549
+ */
550
+ period_start: string;
551
+ /**
552
+ * Billing period end timestamp. ISO 8601 date string in the UTC timezone.
553
+ */
554
+ period_end: string;
555
+ invoice_pdf?: string;
556
+ };
557
+ export type MarketplaceListingFiles = {
452
558
  /**
453
- * Total amount of credit adjustments
559
+ * Raw Chart.yaml content from the Helm chart
454
560
  */
455
- creditAdj?: number;
561
+ chartYaml?: string;
456
562
  /**
457
- * Total amount of refund adjustments
563
+ * Raw values.yaml content from the Helm chart
458
564
  */
459
- refundAdj?: number;
565
+ valuesYaml?: string;
460
566
  /**
461
- * Date of the invoice
567
+ * JSON schema for values.yaml as a string
462
568
  */
463
- invoiceDate?: string;
569
+ valuesSchemaJson?: string;
570
+ };
571
+ export type MarketplaceListing = {
464
572
  /**
465
- * Target date of the invoice
573
+ * Name of the chart
466
574
  */
467
- targetDate?: string;
575
+ name: string;
468
576
  /**
469
- * Number of the invoice
577
+ * Available versions of the chart
470
578
  */
471
- invoiceNumber?: string;
579
+ versions: Array<string>;
472
580
  /**
473
- * Balance of the invoice
581
+ * Version channels for the chart
474
582
  */
475
- balance?: number;
583
+ version_channels: Array<string>;
476
584
  /**
477
- * Bundle keys of the invoice
585
+ * Latest version of the chart
478
586
  */
479
- bundleKeys?: string;
587
+ latestVersion: string;
480
588
  /**
481
- * Credits of the invoice
589
+ * Chart metadata
482
590
  */
483
- credits?: Array<{
591
+ metadata?: {
484
592
  /**
485
- * Unique identifier of the invoice item. UUID v4 string in canonical form
593
+ * Chart name from metadata
486
594
  */
487
- id?: string;
595
+ name: string;
488
596
  /**
489
- * Unique identifier of the linked invoice item. UUID v4 string in canonical form
597
+ * Chart version from metadata
490
598
  */
491
- linkedInvoiceItemId?: string;
599
+ version: string;
492
600
  /**
493
- * Name of the product
601
+ * Chart description
494
602
  */
495
- productName?: string;
603
+ description?: string;
496
604
  /**
497
- * Name of the plan
605
+ * Application version
498
606
  */
499
- planName?: string;
607
+ appVersion?: string;
500
608
  /**
501
- * Name of the phase
609
+ * Helm API version
502
610
  */
503
- phaseName?: string;
611
+ apiVersion?: string;
504
612
  /**
505
- * Name of the usage
613
+ * Chart keywords
506
614
  */
507
- usageName?: string;
615
+ keywords?: Array<string>;
508
616
  /**
509
- * Pretty name of the product
617
+ * Chart home URL
510
618
  */
511
- prettyProductName?: string;
619
+ home?: string;
512
620
  /**
513
- * Pretty name of the plan
621
+ * A URL to an SVG or PNG image to be used as an icon
514
622
  */
515
- prettyPlanName?: string;
623
+ icon?: string;
516
624
  /**
517
- * Pretty name of the phase
625
+ * Chart source URLs
518
626
  */
519
- prettyPhaseName?: string;
627
+ sources?: Array<string>;
520
628
  /**
521
- * Pretty name of the usage
629
+ * Chart maintainers
522
630
  */
523
- prettyUsageName?: string;
631
+ maintainers?: Array<{
632
+ /**
633
+ * Maintainer name
634
+ */
635
+ name: string;
636
+ /**
637
+ * Maintainer email
638
+ */
639
+ email?: string;
640
+ }>;
641
+ };
642
+ };
643
+ export type OrganizationCreateInput = {
644
+ /**
645
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
646
+ */
647
+ type: 'business' | 'personal';
648
+ /**
649
+ * Email address used for billing as a string.
650
+ */
651
+ email: string;
652
+ /**
653
+ * First name of the billing contact person.
654
+ */
655
+ first_name: string;
656
+ /**
657
+ * Last name of the billing contact person.
658
+ */
659
+ last_name: string;
660
+ /**
661
+ * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
662
+ */
663
+ company_name: string;
664
+ /**
665
+ * Password for the root account. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character.
666
+ */
667
+ password: string;
668
+ };
669
+ export type OrganizationCreateOutput = {
670
+ /**
671
+ * Unique identifier of the newly created organization. Generated by the API and safe to use for client-side tracking immediately.
672
+ */
673
+ id: string;
674
+ };
675
+ export type Organization = {
676
+ /**
677
+ * Unique identifier of the organization. UUID v4 string in canonical form
678
+ */
679
+ id: string;
680
+ /**
681
+ * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
682
+ */
683
+ name?: string;
684
+ /**
685
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
686
+ */
687
+ type: 'business' | 'personal';
688
+ /**
689
+ * Creation date of the organization. ISO 8601 date string in UTC timezone
690
+ */
691
+ date_created: string;
692
+ /**
693
+ * For security reasons, platform quota is controlled by Cloudfleet and can be updated only by Cloudfleet administrators. Please open a support ticket if you need to change the platform quota.
694
+ */
695
+ quota: {
524
696
  /**
525
- * Type of the invoice item
697
+ * Maximum number of Basic clusters that can be created.
526
698
  */
527
- itemType?: 'EXTERNAL_CHARGE' | 'FIXED' | 'RECURRING' | 'REPAIR_ADJ' | 'CBA_ADJ' | 'CREDIT_ADJ' | 'ITEM_ADJ' | 'USAGE' | 'TAX' | 'PARENT_SUMMARY';
699
+ basic_clusters_max: number;
528
700
  /**
529
- * Description of the invoice item
701
+ * Available number of Basic clusters that can be created.
530
702
  */
531
- description?: string;
703
+ basic_clusters_available: number;
532
704
  /**
533
- * Start date of the invoice item
705
+ * Maximum number of Pro clusters that can be created.
534
706
  */
535
- startDate?: string;
707
+ pro_clusters_max: number;
536
708
  /**
537
- * End date of the invoice item
709
+ * Available number of Pro clusters that can be created.
538
710
  */
539
- endDate?: string;
711
+ pro_clusters_available: number;
540
712
  /**
541
- * Amount of the invoice item
713
+ * Maximum number of fleets that can be created per cluster.
542
714
  */
543
- amount?: number;
715
+ fleets_max: number;
544
716
  /**
545
- * Rate of the invoice item
717
+ * List of Cloudfleet cluster tiers available for the organization.
546
718
  */
547
- rate?: number;
719
+ cluster_tiers: Array<string>;
548
720
  /**
549
- * Currency of the invoice item
721
+ * List of Cloudfleet control plane regions available for the organization.
550
722
  */
551
- currency?: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GGP' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'IMP' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JEP' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SPL' | 'SRD' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TVD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XDR' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWD' | 'BTC';
723
+ regions: Array<string>;
552
724
  /**
553
- * Quantity of the invoice item
725
+ * List of CFKE control plane versions available for the organization.
554
726
  */
555
- quantity?: number;
727
+ versions: Array<{
728
+ /**
729
+ * Id of the control plane version. Used in API calls.
730
+ */
731
+ id: string;
732
+ /**
733
+ * Label of the control plane version. Used in frontent UI.
734
+ */
735
+ label: string;
736
+ }>;
556
737
  /**
557
- * Details of the invoice item
738
+ * Organization-level maximum CFCR storage volume in GB. -1 means no limit.
558
739
  */
559
- itemDetails?: string;
740
+ cfcr_storage_gb: number;
741
+ };
742
+ /**
743
+ * Status of the organization. Can be `active` or `closed`, or `suspended`.
744
+ */
745
+ status: 'active' | 'closed' | 'suspended';
746
+ /**
747
+ * 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.
748
+ */
749
+ verification: 'none' | 'submitted' | 'verified';
750
+ };
751
+ export type PaymentMethod = {
752
+ /**
753
+ * 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.
754
+ */
755
+ id: string;
756
+ /**
757
+ * Payment method type. `card`, `sepa_debit` for SEPA Direct Debit (business accounts only), or `bank_transfer` for paying invoices by bank transfer.
758
+ */
759
+ type: 'card' | 'sepa_debit' | 'bank_transfer';
760
+ /**
761
+ * 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.
762
+ */
763
+ last4: string;
764
+ /**
765
+ * Two-digit number representing the card's expiration month. Null for SEPA Direct Debit and bank transfer.
766
+ */
767
+ exp_month: number;
768
+ /**
769
+ * 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.
770
+ */
771
+ exp_year: number;
772
+ /**
773
+ * Payment card brand as reported by Stripe, e.g. `visa`, `mastercard`, `amex`, `cartes_bancaires`, or `unknown`. Null for SEPA Direct Debit and bank transfer.
774
+ */
775
+ brand: string;
776
+ /**
777
+ * 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.
778
+ */
779
+ iban: string;
780
+ /**
781
+ * BIC/SWIFT of the destination bank for bank transfers. Set only for `bank_transfer`; null otherwise.
782
+ */
783
+ bic: string;
784
+ /**
785
+ * Account holder name of the destination bank account for bank transfers. Set only for `bank_transfer`; null otherwise.
786
+ */
787
+ account_holder_name: string;
788
+ /**
789
+ * 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).
790
+ */
791
+ is_default: boolean;
792
+ };
793
+ export type PlatformQuota = {
794
+ /**
795
+ * Maximum number of Basic clusters that can be created.
796
+ */
797
+ basic_clusters_max: number;
798
+ /**
799
+ * Available number of Basic clusters that can be created.
800
+ */
801
+ basic_clusters_available: number;
802
+ /**
803
+ * Maximum number of Pro clusters that can be created.
804
+ */
805
+ pro_clusters_max: number;
806
+ /**
807
+ * Available number of Pro clusters that can be created.
808
+ */
809
+ pro_clusters_available: number;
810
+ /**
811
+ * Maximum number of fleets that can be created per cluster.
812
+ */
813
+ fleets_max: number;
814
+ /**
815
+ * List of Cloudfleet cluster tiers available for the organization.
816
+ */
817
+ cluster_tiers: Array<string>;
818
+ /**
819
+ * List of Cloudfleet control plane regions available for the organization.
820
+ */
821
+ regions: Array<string>;
822
+ /**
823
+ * List of CFKE control plane versions available for the organization.
824
+ */
825
+ versions: Array<{
560
826
  /**
561
- * Effective date of the catalog
827
+ * Id of the control plane version. Used in API calls.
562
828
  */
563
- catalogEffectiveDate?: string;
829
+ id: string;
564
830
  /**
565
- * Child items of the invoice item
831
+ * Label of the control plane version. Used in frontent UI.
566
832
  */
567
- childItems?: Array<Array<unknown> | boolean | number | {
568
- [key: string]: unknown;
569
- } | string>;
833
+ label: string;
570
834
  }>;
571
835
  /**
572
- * Items of the invoice
836
+ * Organization-level maximum CFCR storage volume in GB. -1 means no limit.
573
837
  */
574
- items?: Array<{
575
- /**
576
- * Unique identifier of the invoice item. UUID v4 string in canonical form
577
- */
578
- id?: string;
579
- /**
580
- * Unique identifier of the linked invoice item. UUID v4 string in canonical form
581
- */
582
- linkedInvoiceItemId?: string;
838
+ cfcr_storage_gb: number;
839
+ };
840
+ export type RegistryRepository = {
841
+ /**
842
+ * Repository name.
843
+ */
844
+ name: string;
845
+ /**
846
+ * Registry region.
847
+ */
848
+ region: string;
849
+ /**
850
+ * Full URI of the repository.
851
+ */
852
+ uri: string;
853
+ };
854
+ export type RegistryRepositoryWithTags = {
855
+ /**
856
+ * Repository name.
857
+ */
858
+ name: string;
859
+ /**
860
+ * Registry region.
861
+ */
862
+ region: string;
863
+ /**
864
+ * Full URI of the repository.
865
+ */
866
+ uri: string;
867
+ /**
868
+ * Array of tags in the repository.
869
+ */
870
+ tags: Array<{
583
871
  /**
584
- * Name of the product
872
+ * Tag name.
585
873
  */
586
- productName?: string;
874
+ name: string;
587
875
  /**
588
- * Name of the plan
876
+ * Size of the tag in bytes.
589
877
  */
590
- planName?: string;
878
+ size: number;
591
879
  /**
592
- * Name of the phase
880
+ * Media type of the manifest.
593
881
  */
594
- phaseName?: string;
882
+ mediaType?: string;
595
883
  /**
596
- * Name of the usage
884
+ * Array of platform strings for multi-arch images (e.g., linux/amd64, linux/arm64).
597
885
  */
598
- usageName?: string;
886
+ platforms?: Array<string>;
887
+ }>;
888
+ /**
889
+ * Total size of all tags in the repository in bytes.
890
+ */
891
+ totalSize: number;
892
+ };
893
+ export type RegistryTag = {
894
+ /**
895
+ * Tag name.
896
+ */
897
+ name: string;
898
+ /**
899
+ * Manifest digest for pulling by digest.
900
+ */
901
+ digest: string;
902
+ /**
903
+ * Media type of the manifest.
904
+ */
905
+ mediaType?: string;
906
+ /**
907
+ * Manifest config metadata.
908
+ */
909
+ config?: {
599
910
  /**
600
- * Pretty name of the product
911
+ * Size of the config in bytes.
601
912
  */
602
- prettyProductName?: string;
913
+ size: number;
914
+ };
915
+ /**
916
+ * Array of layer metadata.
917
+ */
918
+ layers?: Array<{
603
919
  /**
604
- * Pretty name of the plan
920
+ * Digest of the layer.
605
921
  */
606
- prettyPlanName?: string;
922
+ digest?: string;
607
923
  /**
608
- * Pretty name of the phase
924
+ * Size of the layer in bytes.
609
925
  */
610
- prettyPhaseName?: string;
926
+ size: number;
927
+ }>;
928
+ /**
929
+ * Array of manifests for multi-arch images.
930
+ */
931
+ manifests?: Array<{
611
932
  /**
612
- * Pretty name of the usage
933
+ * Digest of the manifest.
613
934
  */
614
- prettyUsageName?: string;
935
+ digest: string;
615
936
  /**
616
- * Type of the invoice item
937
+ * Platform information for the manifest.
617
938
  */
618
- itemType?: 'EXTERNAL_CHARGE' | 'FIXED' | 'RECURRING' | 'REPAIR_ADJ' | 'CBA_ADJ' | 'CREDIT_ADJ' | 'ITEM_ADJ' | 'USAGE' | 'TAX' | 'PARENT_SUMMARY';
939
+ platform?: {
940
+ /**
941
+ * Architecture of the platform.
942
+ */
943
+ architecture: string;
944
+ /**
945
+ * Operating system of the platform.
946
+ */
947
+ os: string;
948
+ /**
949
+ * Variant of the platform (e.g., v7, v8 for ARM).
950
+ */
951
+ variant?: string;
952
+ };
619
953
  /**
620
- * Description of the invoice item
954
+ * Layers for this platform.
621
955
  */
622
- description?: string;
956
+ layers?: Array<{
957
+ /**
958
+ * Digest of the layer.
959
+ */
960
+ digest?: string;
961
+ /**
962
+ * Size of the layer in bytes.
963
+ */
964
+ size: number;
965
+ }>;
623
966
  /**
624
- * Start date of the invoice item
967
+ * Total size of this platform manifest in bytes.
625
968
  */
626
- startDate?: string;
969
+ size?: number;
970
+ }>;
971
+ /**
972
+ * Total size of the tag in bytes.
973
+ */
974
+ size: number;
975
+ /**
976
+ * Registry region.
977
+ */
978
+ region: string;
979
+ /**
980
+ * Repository name.
981
+ */
982
+ repository: string;
983
+ /**
984
+ * Full URI of the tag.
985
+ */
986
+ uri: string;
987
+ };
988
+ export type TicketAttachment = {
989
+ /**
990
+ * Unique identifier of the attachment (Mongo ObjectId).
991
+ */
992
+ id: string;
993
+ /**
994
+ * Original filename as uploaded.
995
+ */
996
+ filename: string;
997
+ /**
998
+ * MIME content type of the attachment.
999
+ */
1000
+ content_type: string;
1001
+ /**
1002
+ * Size of the attachment in bytes.
1003
+ */
1004
+ size: number;
1005
+ };
1006
+ export type TicketCreateInput = {
1007
+ /**
1008
+ * Ticket category. Drives auto-assignment and may carry a subcategory in `properties`.
1009
+ */
1010
+ category: 'billing' | 'technical' | 'general';
1011
+ /**
1012
+ * Initial message body in markdown. There is no separate subject — the first message body is the description.
1013
+ */
1014
+ body: string;
1015
+ /**
1016
+ * Free-form key/value bag set by the UI (e.g. `subcategory`, `cluster_id`, `cluster_name`, `region`).
1017
+ */
1018
+ properties?: {
1019
+ [key: string]: unknown;
1020
+ };
1021
+ };
1022
+ export type TicketListResponse = {
1023
+ /**
1024
+ * Tickets for the organization, ordered newest first. Messages are omitted from list responses.
1025
+ */
1026
+ items: Array<{
627
1027
  /**
628
- * End date of the invoice item
1028
+ * Unique identifier of the ticket (Mongo ObjectId).
629
1029
  */
630
- endDate?: string;
1030
+ id: string;
631
1031
  /**
632
- * Amount of the invoice item
1032
+ * Current state of the ticket.
633
1033
  */
634
- amount?: number;
1034
+ status: 'waiting_on_us' | 'waiting_on_user' | 'closed';
635
1035
  /**
636
- * Rate of the invoice item
1036
+ * Ticket category.
637
1037
  */
638
- rate?: number;
1038
+ category: 'billing' | 'technical' | 'general';
639
1039
  /**
640
- * Currency of the invoice item
1040
+ * First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.
641
1041
  */
642
- currency?: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GGP' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'IMP' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JEP' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SPL' | 'SRD' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TVD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XDR' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWD' | 'BTC';
1042
+ summary: string;
643
1043
  /**
644
- * Quantity of the invoice item
1044
+ * Closure timestamp. Null while the ticket is open.
645
1045
  */
646
- quantity?: number;
1046
+ closed_at?: string;
647
1047
  /**
648
- * Details of the invoice item
1048
+ * Creation date of the ticket. ISO 8601 UTC.
649
1049
  */
650
- itemDetails?: string;
1050
+ date_created: string;
651
1051
  /**
652
- * Effective date of the catalog
1052
+ * Last update date of the ticket. ISO 8601 UTC.
653
1053
  */
654
- catalogEffectiveDate?: string;
1054
+ date_updated: string;
655
1055
  /**
656
- * Child items of the invoice item
1056
+ * Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.
657
1057
  */
658
- childItems?: Array<Array<unknown> | boolean | number | {
659
- [key: string]: unknown;
660
- } | string>;
1058
+ messages?: Array<{
1059
+ /**
1060
+ * Unique identifier of the message (Mongo ObjectId).
1061
+ */
1062
+ id: string;
1063
+ /**
1064
+ * Message type. Internal notes are filtered out of customer-facing responses.
1065
+ */
1066
+ type: 'customer_reply' | 'agent_reply';
1067
+ /**
1068
+ * Message body in markdown.
1069
+ */
1070
+ body: string;
1071
+ /**
1072
+ * First name of the author. Null when not provided.
1073
+ */
1074
+ author_first_name?: string;
1075
+ /**
1076
+ * Last name of the author. Null when not provided.
1077
+ */
1078
+ author_last_name?: string;
1079
+ /**
1080
+ * Attachments associated with this message.
1081
+ */
1082
+ attachments?: Array<{
1083
+ /**
1084
+ * Unique identifier of the attachment (Mongo ObjectId).
1085
+ */
1086
+ id: string;
1087
+ /**
1088
+ * Original filename as uploaded.
1089
+ */
1090
+ filename: string;
1091
+ /**
1092
+ * MIME content type of the attachment.
1093
+ */
1094
+ content_type: string;
1095
+ /**
1096
+ * Size of the attachment in bytes.
1097
+ */
1098
+ size: number;
1099
+ }>;
1100
+ /**
1101
+ * Creation date of the message. ISO 8601 UTC.
1102
+ */
1103
+ date_created: string;
1104
+ }>;
661
1105
  }>;
662
1106
  };
663
- export type MarketplaceListing = {
1107
+ export type TicketMessageInput = {
664
1108
  /**
665
- * Id of the chart listing
1109
+ * Reply body in markdown.
666
1110
  */
667
- id: string;
1111
+ body: string;
1112
+ };
1113
+ export type TicketMessage = {
668
1114
  /**
669
- * Name of the chart listing
1115
+ * Unique identifier of the message (Mongo ObjectId).
670
1116
  */
671
- name: string;
1117
+ id: string;
672
1118
  /**
673
- * Author of the chart listing
1119
+ * Message type. Internal notes are filtered out of customer-facing responses.
674
1120
  */
675
- developer: string;
1121
+ type: 'customer_reply' | 'agent_reply';
676
1122
  /**
677
- * Short description of the chart listing
1123
+ * Message body in markdown.
678
1124
  */
679
- description: string;
1125
+ body: string;
680
1126
  /**
681
- * Logo of the chart listing
1127
+ * First name of the author. Null when not provided.
682
1128
  */
683
- logoUrl: string;
1129
+ author_first_name?: string;
684
1130
  /**
685
- * Long description of the chart listing
1131
+ * Last name of the author. Null when not provided.
686
1132
  */
687
- longDescription: string;
1133
+ author_last_name?: string;
688
1134
  /**
689
- * Tags of the chart
1135
+ * Attachments associated with this message.
690
1136
  */
691
- categories: Array<string>;
692
- version_channels: Array<string>;
693
- value_schemas: Array<{
1137
+ attachments?: Array<{
694
1138
  /**
695
- * Version of the chart.
1139
+ * Unique identifier of the attachment (Mongo ObjectId).
696
1140
  */
697
- version: string;
1141
+ id: string;
1142
+ /**
1143
+ * Original filename as uploaded.
1144
+ */
1145
+ filename: string;
698
1146
  /**
699
- * Schema of the chart values. JSON Schema as string
1147
+ * MIME content type of the attachment.
700
1148
  */
701
- schema: string;
1149
+ content_type: string;
702
1150
  /**
703
- * Schema of the chart values
1151
+ * Size of the attachment in bytes.
704
1152
  */
705
- placeholder: string;
1153
+ size: number;
706
1154
  }>;
707
- };
708
- export type OrganizationCreateInput = {
709
1155
  /**
710
- * Email address used for billing as a string.
1156
+ * Creation date of the message. ISO 8601 UTC.
711
1157
  */
712
- email: string;
1158
+ date_created: string;
1159
+ };
1160
+ export type Ticket = {
713
1161
  /**
714
- * First name of the billing contact person.
1162
+ * Unique identifier of the ticket (Mongo ObjectId).
715
1163
  */
716
- first_name: string;
1164
+ id: string;
717
1165
  /**
718
- * Last name of the billing contact person.
1166
+ * Current state of the ticket.
719
1167
  */
720
- last_name: string;
1168
+ status: 'waiting_on_us' | 'waiting_on_user' | 'closed';
721
1169
  /**
722
- * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
1170
+ * Ticket category.
723
1171
  */
724
- company_name: string;
1172
+ category: 'billing' | 'technical' | 'general';
725
1173
  /**
726
- * Password for the root account. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character.
1174
+ * First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.
727
1175
  */
728
- password: string;
729
- };
730
- export type Organization = {
1176
+ summary: string;
731
1177
  /**
732
- * Unique identifier of the organization. UUID v4 string in canonical form
1178
+ * Closure timestamp. Null while the ticket is open.
733
1179
  */
734
- id: string;
1180
+ closed_at?: string;
735
1181
  /**
736
- * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
1182
+ * Creation date of the ticket. ISO 8601 UTC.
737
1183
  */
738
- name?: string;
1184
+ date_created: string;
739
1185
  /**
740
- * Creation date of the organization. ISO 8601 date string in UTC timezone
1186
+ * Last update date of the ticket. ISO 8601 UTC.
741
1187
  */
742
- date_created: string;
1188
+ date_updated: string;
743
1189
  /**
744
- * For security reasons, platform quota is controlled by Cloudfleet and can be updated only by Cloudfleet administrators. Please open a support ticket if you need to change the platform quota.
1190
+ * Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.
745
1191
  */
746
- quota: {
1192
+ messages?: Array<{
747
1193
  /**
748
- * Maximum number of Basic clusters that can be created.
749
- */
750
- basic_clusters_max: number;
751
- /**
752
- * Available number of Basic clusters that can be created.
1194
+ * Unique identifier of the message (Mongo ObjectId).
753
1195
  */
754
- basic_clusters_available: number;
1196
+ id: string;
755
1197
  /**
756
- * Maximum number of Pro clusters that can be created.
1198
+ * Message type. Internal notes are filtered out of customer-facing responses.
757
1199
  */
758
- pro_clusters_max: number;
1200
+ type: 'customer_reply' | 'agent_reply';
759
1201
  /**
760
- * Available number of Pro clusters that can be created.
1202
+ * Message body in markdown.
761
1203
  */
762
- pro_clusters_available: number;
1204
+ body: string;
763
1205
  /**
764
- * Maximum number of fleets that can be created per cluster.
1206
+ * First name of the author. Null when not provided.
765
1207
  */
766
- fleets_max: number;
1208
+ author_first_name?: string;
767
1209
  /**
768
- * List of Cloudfleet cluster tiers available for the organization.
1210
+ * Last name of the author. Null when not provided.
769
1211
  */
770
- cluster_tiers: Array<string>;
1212
+ author_last_name?: string;
771
1213
  /**
772
- * List of Cloudfleet control plane regions available for the organization.
1214
+ * Attachments associated with this message.
773
1215
  */
774
- regions: Array<string>;
775
- /**
776
- * List of CFKE control plane versions available for the organization.
777
- */
778
- versions: Array<{
1216
+ attachments?: Array<{
779
1217
  /**
780
- * Id of the control plane version. Used in API calls.
1218
+ * Unique identifier of the attachment (Mongo ObjectId).
781
1219
  */
782
1220
  id: string;
783
1221
  /**
784
- * Label of the control plane version. Used in frontent UI.
1222
+ * Original filename as uploaded.
785
1223
  */
786
- label: string;
1224
+ filename: string;
1225
+ /**
1226
+ * MIME content type of the attachment.
1227
+ */
1228
+ content_type: string;
1229
+ /**
1230
+ * Size of the attachment in bytes.
1231
+ */
1232
+ size: number;
787
1233
  }>;
788
- };
789
- /**
790
- * Status of the organization. Can be `active` or `closed`, or `suspended`.
791
- */
792
- status: 'active' | 'closed' | 'suspended';
793
- };
794
- export type PaymentMethod = {
795
- /**
796
- * Unique identifier of the organization. UUID v4 string in canonical form.
797
- */
798
- id: string;
799
- /**
800
- * Whether organization payment method was set up and ready to use for payments.
801
- */
802
- setup: boolean;
803
- /**
804
- * Payment method type type. Only `card` payments supported at the moment.
805
- */
806
- type: 'card';
807
- /**
808
- * Last 4 digits of the payment card number.
809
- */
810
- last4: string;
811
- /**
812
- * Two-digit number representing the card's expiration month.
813
- */
814
- exp_month: number;
815
- /**
816
- * Four-digit number representing the card's expiration year.
817
- */
818
- exp_year: number;
819
- /**
820
- * Payment card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.
821
- */
822
- brand: 'amex' | 'diners' | 'discover' | 'eftpos_au' | 'jcb' | 'mastercard' | 'unionpay' | 'visa' | 'unknown';
1234
+ /**
1235
+ * Creation date of the message. ISO 8601 UTC.
1236
+ */
1237
+ date_created: string;
1238
+ }>;
823
1239
  };
824
1240
  export type TokenCreateInput = {
825
1241
  /**
@@ -863,35 +1279,85 @@ export type TokenUpdateInput = {
863
1279
  */
864
1280
  role?: 'Administrator' | 'User';
865
1281
  };
1282
+ export type UsageFacets = {
1283
+ /**
1284
+ * List of unique cluster IDs
1285
+ */
1286
+ cluster_id?: Array<string>;
1287
+ /**
1288
+ * List of unique products
1289
+ */
1290
+ product?: Array<string>;
1291
+ };
1292
+ export type UsageResponse = {
1293
+ /**
1294
+ * Usage data
1295
+ */
1296
+ data: Array<{
1297
+ /**
1298
+ * Hour of the usage
1299
+ */
1300
+ hour: string;
1301
+ /**
1302
+ * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
1303
+ */
1304
+ cluster_id: string;
1305
+ /**
1306
+ * The product the usage is associated with
1307
+ */
1308
+ product: string;
1309
+ /**
1310
+ * Consumption
1311
+ */
1312
+ value: number;
1313
+ /**
1314
+ * Price per unit
1315
+ */
1316
+ price: number;
1317
+ /**
1318
+ * Total cost
1319
+ */
1320
+ total: number;
1321
+ }>;
1322
+ /**
1323
+ * Facets for filtering
1324
+ */
1325
+ facets: {
1326
+ /**
1327
+ * List of unique cluster IDs
1328
+ */
1329
+ cluster_id?: Array<string>;
1330
+ /**
1331
+ * List of unique products
1332
+ */
1333
+ product?: Array<string>;
1334
+ };
1335
+ };
866
1336
  export type Usage = {
867
1337
  /**
868
1338
  * Hour of the usage
869
1339
  */
870
- hour?: string;
1340
+ hour: string;
871
1341
  /**
872
1342
  * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
873
1343
  */
874
1344
  cluster_id: string;
875
1345
  /**
876
- * Tier of the cluster.
1346
+ * The product the usage is associated with
877
1347
  */
878
- cluster_tier: 'basic' | 'pro' | '';
1348
+ product: string;
879
1349
  /**
880
- * The product the usage is associated with
1350
+ * Consumption
881
1351
  */
882
- product: 'cfke_controlplane' | 'cfke_connected_nodes' | 'infra_compute' | 'infra_storage' | 'infra_loadbalancing' | 'infra_traffic' | 'cfcr_storage';
1352
+ value: number;
883
1353
  /**
884
- * Name of the Kubernetes node
1354
+ * Price per unit
885
1355
  */
886
- node_name: string;
1356
+ price: number;
887
1357
  /**
888
- * SKU of the Kubernetes node
1358
+ * Total cost
889
1359
  */
890
- sku: string;
891
- cpu: number | '';
892
- price: number | '';
893
- value: number | '';
894
- total: number | '';
1360
+ total: number;
895
1361
  };
896
1362
  export type UserCreateInput = {
897
1363
  /**
@@ -914,14 +1380,6 @@ export type UserCreateInput = {
914
1380
  * User password. Must be at least 8 characters long.
915
1381
  */
916
1382
  password: string;
917
- /**
918
- * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
919
- */
920
- status?: 'active' | 'inactive';
921
- /**
922
- * User role. Can be 'Administrator', 'User'.
923
- */
924
- role?: 'Administrator' | 'User';
925
1383
  };
926
1384
  export type User = {
927
1385
  /**
@@ -978,54 +1436,27 @@ export type UserUpdateInput = {
978
1436
  export type GetUsageData = {
979
1437
  body?: never;
980
1438
  path?: never;
981
- query?: never;
1439
+ query?: {
1440
+ /**
1441
+ * 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)
1442
+ */
1443
+ granularity?: 'hourly' | 'daily' | 'monthly';
1444
+ };
982
1445
  url: '/billing/usage';
983
1446
  };
984
1447
  export type GetUsageErrors = {
985
1448
  /**
986
1449
  * Not authenticated
987
1450
  */
988
- 401: unknown;
989
- };
990
- export type GetUsageResponses = {
991
- /**
992
- * An array of usage records.
993
- */
994
- 200: Array<Usage>;
995
- };
996
- export type GetUsageResponse = GetUsageResponses[keyof GetUsageResponses];
997
- export type GetBalanceData = {
998
- body?: never;
999
- path?: never;
1000
- query?: never;
1001
- url: '/billing/balance';
1002
- };
1003
- export type GetBalanceResponses = {
1004
- /**
1005
- * Current balance of the organization in USD as a floating-point number.
1006
- */
1007
- 200: number;
1008
- };
1009
- export type GetBalanceResponse = GetBalanceResponses[keyof GetBalanceResponses];
1010
- export type GetPaymentMethodData = {
1011
- body?: never;
1012
- path?: never;
1013
- query?: never;
1014
- url: '/billing/payment-method';
1015
- };
1016
- export type GetPaymentMethodErrors = {
1017
- /**
1018
- * Returns 404 Not Found if the organization does not have a payment method set up.
1019
- */
1020
- 404: unknown;
1451
+ 401: unknown;
1021
1452
  };
1022
- export type GetPaymentMethodResponses = {
1453
+ export type GetUsageResponses = {
1023
1454
  /**
1024
- * Redacted payment card information.
1455
+ * Usage data with facets for filtering
1025
1456
  */
1026
- 200: PaymentMethod;
1457
+ 200: UsageResponse;
1027
1458
  };
1028
- export type GetPaymentMethodResponse = GetPaymentMethodResponses[keyof GetPaymentMethodResponses];
1459
+ export type GetUsageResponse = GetUsageResponses[keyof GetUsageResponses];
1029
1460
  export type GetPaymentMethodSecretData = {
1030
1461
  body?: never;
1031
1462
  path?: never;
@@ -1045,54 +1476,112 @@ export type GetPaymentMethodSecretResponses = {
1045
1476
  };
1046
1477
  };
1047
1478
  export type GetPaymentMethodSecretResponse = GetPaymentMethodSecretResponses[keyof GetPaymentMethodSecretResponses];
1048
- export type ListInvoicesData = {
1479
+ export type ListPaymentMethodsData = {
1049
1480
  body?: never;
1050
1481
  path?: never;
1051
- query: {
1052
- /**
1053
- * Start date for the usage. Date of oldest data point to retrieve.
1054
- */
1055
- start_date: string;
1482
+ query?: never;
1483
+ url: '/billing/payment-methods';
1484
+ };
1485
+ export type ListPaymentMethodsErrors = {
1486
+ /**
1487
+ * Not authenticated
1488
+ */
1489
+ 401: unknown;
1490
+ };
1491
+ export type ListPaymentMethodsResponses = {
1492
+ /**
1493
+ * An array of payment methods.
1494
+ */
1495
+ 200: Array<PaymentMethod>;
1496
+ };
1497
+ export type ListPaymentMethodsResponse = ListPaymentMethodsResponses[keyof ListPaymentMethodsResponses];
1498
+ export type SetDefaultPaymentMethodData = {
1499
+ body?: never;
1500
+ path: {
1056
1501
  /**
1057
- * End date for the usage. Date of newest data point to retrieve.
1502
+ * Stripe payment method identifier.
1058
1503
  */
1059
- end_date: string;
1504
+ paymentMethodId: string;
1060
1505
  };
1061
- url: '/billing/invoices';
1506
+ query?: never;
1507
+ url: '/billing/payment-methods/{paymentMethodId}/default';
1062
1508
  };
1063
- export type ListInvoicesErrors = {
1509
+ export type SetDefaultPaymentMethodErrors = {
1510
+ /**
1511
+ * The bank transfer payment method cannot be set as the default.
1512
+ */
1513
+ 400: unknown;
1064
1514
  /**
1065
1515
  * Not authenticated
1066
1516
  */
1067
1517
  401: unknown;
1518
+ /**
1519
+ * Payment method not found.
1520
+ */
1521
+ 404: unknown;
1068
1522
  };
1069
- export type ListInvoicesResponses = {
1523
+ export type SetDefaultPaymentMethodResponses = {
1070
1524
  /**
1071
- * An array of usage records.
1525
+ * Default payment method updated.
1072
1526
  */
1073
- 200: Array<Invoice>;
1527
+ 204: void;
1074
1528
  };
1075
- export type ListInvoicesResponse = ListInvoicesResponses[keyof ListInvoicesResponses];
1076
- export type GetInvoiceData = {
1529
+ export type SetDefaultPaymentMethodResponse = SetDefaultPaymentMethodResponses[keyof SetDefaultPaymentMethodResponses];
1530
+ export type DeletePaymentMethodData = {
1077
1531
  body?: never;
1078
1532
  path: {
1079
1533
  /**
1080
- * Unique invoice identifier. UUID v4 string in canonical form
1534
+ * Stripe payment method identifier.
1081
1535
  */
1082
- id: string;
1536
+ paymentMethodId: string;
1083
1537
  };
1084
1538
  query?: never;
1085
- url: '/billing/invoices/{id}';
1539
+ url: '/billing/payment-methods/{paymentMethodId}';
1086
1540
  };
1087
- export type GetInvoiceResponses = {
1541
+ export type DeletePaymentMethodErrors = {
1088
1542
  /**
1089
- * Returns a single Invoice HTML representation under `html` property.
1543
+ * The bank transfer payment method cannot be removed.
1090
1544
  */
1091
- 200: {
1092
- html?: string;
1093
- };
1545
+ 400: unknown;
1546
+ /**
1547
+ * Not authenticated
1548
+ */
1549
+ 401: unknown;
1550
+ /**
1551
+ * Payment method not found.
1552
+ */
1553
+ 404: unknown;
1554
+ /**
1555
+ * Cannot delete the only remaining payment method.
1556
+ */
1557
+ 409: unknown;
1558
+ };
1559
+ export type DeletePaymentMethodResponses = {
1560
+ /**
1561
+ * Payment method deleted.
1562
+ */
1563
+ 204: void;
1564
+ };
1565
+ export type DeletePaymentMethodResponse = DeletePaymentMethodResponses[keyof DeletePaymentMethodResponses];
1566
+ export type ListInvoicesData = {
1567
+ body?: never;
1568
+ path?: never;
1569
+ query?: never;
1570
+ url: '/billing/invoices';
1571
+ };
1572
+ export type ListInvoicesErrors = {
1573
+ /**
1574
+ * Not authenticated
1575
+ */
1576
+ 401: unknown;
1577
+ };
1578
+ export type ListInvoicesResponses = {
1579
+ /**
1580
+ * An array of usage records.
1581
+ */
1582
+ 200: Array<Invoice>;
1094
1583
  };
1095
- export type GetInvoiceResponse = GetInvoiceResponses[keyof GetInvoiceResponses];
1584
+ export type ListInvoicesResponse = ListInvoicesResponses[keyof ListInvoicesResponses];
1096
1585
  export type GetContactData = {
1097
1586
  body?: never;
1098
1587
  path?: never;
@@ -1464,9 +1953,19 @@ export type DeleteClusterData = {
1464
1953
  query?: never;
1465
1954
  url: '/clusters/{cluster_id}';
1466
1955
  };
1956
+ export type DeleteClusterErrors = {
1957
+ /**
1958
+ * Cluster not found — it does not exist or has already been deleted.
1959
+ */
1960
+ 404: unknown;
1961
+ /**
1962
+ * Transient failure tearing down the cluster; retry the request.
1963
+ */
1964
+ 503: unknown;
1965
+ };
1467
1966
  export type DeleteClusterResponses = {
1468
1967
  /**
1469
- * Successfully deleted.
1968
+ * Successfully deleted. The cluster has been torn down.
1470
1969
  */
1471
1970
  200: string;
1472
1971
  };
@@ -1551,12 +2050,7 @@ export type ListInvitesResponses = {
1551
2050
  };
1552
2051
  export type ListInvitesResponse = ListInvitesResponses[keyof ListInvitesResponses];
1553
2052
  export type CreateInviteData = {
1554
- body: {
1555
- /**
1556
- * User email address
1557
- */
1558
- email?: string;
1559
- };
2053
+ body: InviteCreateInput;
1560
2054
  path?: never;
1561
2055
  query?: never;
1562
2056
  url: '/invites';
@@ -1581,9 +2075,18 @@ export type GetInviteData = {
1581
2075
  };
1582
2076
  export type GetInviteResponses = {
1583
2077
  /**
1584
- * Returns a single object containing invite details.
2078
+ * The invitation code is valid. Returns the invited email and organization.
1585
2079
  */
1586
- 200: Invite;
2080
+ 200: {
2081
+ /**
2082
+ * Email address the invite was issued to.
2083
+ */
2084
+ email?: string;
2085
+ /**
2086
+ * Identifier of the organization the invite grants access to.
2087
+ */
2088
+ organization_id?: string;
2089
+ };
1587
2090
  };
1588
2091
  export type GetInviteResponse = GetInviteResponses[keyof GetInviteResponses];
1589
2092
  export type DeleteInviteData = {
@@ -1622,24 +2125,76 @@ export type ListMarketplaceChartsResponses = {
1622
2125
  200: Array<MarketplaceListing>;
1623
2126
  };
1624
2127
  export type ListMarketplaceChartsResponse = ListMarketplaceChartsResponses[keyof ListMarketplaceChartsResponses];
1625
- export type GetMarketplaceChartData = {
2128
+ export type GetMarketplaceChartFilesData = {
1626
2129
  body?: never;
1627
2130
  path: {
1628
2131
  /**
1629
- * Unique identifier of the chart listing in the marketplace.
2132
+ * Name of the chart in the marketplace.
2133
+ */
2134
+ chart_name: string;
2135
+ /**
2136
+ * 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).
2137
+ */
2138
+ version_channel: string;
2139
+ };
2140
+ query?: never;
2141
+ url: '/marketplace/{chart_name}/files/{version_channel}';
2142
+ };
2143
+ export type GetMarketplaceChartFilesErrors = {
2144
+ /**
2145
+ * Chart not found or no version matches the channel
2146
+ */
2147
+ 404: unknown;
2148
+ };
2149
+ export type GetMarketplaceChartFilesResponses = {
2150
+ /**
2151
+ * Returns an object containing the chart files for the latest matching version.
2152
+ */
2153
+ 200: MarketplaceListingFiles;
2154
+ };
2155
+ export type GetMarketplaceChartFilesResponse = GetMarketplaceChartFilesResponses[keyof GetMarketplaceChartFilesResponses];
2156
+ export type PostMcpData = {
2157
+ /**
2158
+ * JSON-RPC 2.0 request payload
2159
+ */
2160
+ body: {
2161
+ jsonrpc?: string;
2162
+ method?: string;
2163
+ id?: string | number;
2164
+ /**
2165
+ * Method-specific parameters
1630
2166
  */
1631
- listing_id: string;
2167
+ params?: {
2168
+ [key: string]: unknown;
2169
+ };
1632
2170
  };
2171
+ path?: never;
1633
2172
  query?: never;
1634
- url: '/marketplace/{listing_id}';
2173
+ url: '/mcp';
2174
+ };
2175
+ export type PostMcpErrors = {
2176
+ /**
2177
+ * Not authenticated
2178
+ */
2179
+ 401: unknown;
1635
2180
  };
1636
- export type GetMarketplaceChartResponses = {
2181
+ export type PostMcpResponses = {
1637
2182
  /**
1638
- * Returns an object containing the chart listing details.
2183
+ * JSON-RPC 2.0 success or error response
1639
2184
  */
1640
- 200: MarketplaceListing;
2185
+ 200: {
2186
+ jsonrpc?: string;
2187
+ id?: string | number;
2188
+ result?: {
2189
+ [key: string]: unknown;
2190
+ };
2191
+ error?: {
2192
+ code?: number;
2193
+ message?: string;
2194
+ };
2195
+ };
1641
2196
  };
1642
- export type GetMarketplaceChartResponse = GetMarketplaceChartResponses[keyof GetMarketplaceChartResponses];
2197
+ export type PostMcpResponse = PostMcpResponses[keyof PostMcpResponses];
1643
2198
  export type GetOrganizationData = {
1644
2199
  body?: never;
1645
2200
  path?: never;
@@ -1661,10 +2216,255 @@ export type CreateOrganizationData = {
1661
2216
  };
1662
2217
  export type CreateOrganizationResponses = {
1663
2218
  /**
1664
- * Successfully created a new organization.
2219
+ * Organization signup accepted. Returns the generated organization id immediately; provisioning (billing, Keycloak realm, user) continues asynchronously in the background.
2220
+ *
2221
+ */
2222
+ 200: OrganizationCreateOutput;
2223
+ };
2224
+ export type CreateOrganizationResponse = CreateOrganizationResponses[keyof CreateOrganizationResponses];
2225
+ export type ListRepositoriesData = {
2226
+ body?: never;
2227
+ path?: never;
2228
+ query?: never;
2229
+ url: '/registry';
2230
+ };
2231
+ export type ListRepositoriesErrors = {
2232
+ /**
2233
+ * Not authenticated
2234
+ */
2235
+ 401: unknown;
2236
+ /**
2237
+ * Internal server error
2238
+ */
2239
+ 500: unknown;
2240
+ };
2241
+ export type ListRepositoriesResponses = {
2242
+ /**
2243
+ * List of repositories
2244
+ */
2245
+ 200: Array<RegistryRepository>;
2246
+ };
2247
+ export type ListRepositoriesResponse = ListRepositoriesResponses[keyof ListRepositoriesResponses];
2248
+ export type ListTagsData = {
2249
+ body?: never;
2250
+ path: {
2251
+ /**
2252
+ * Region where the repository is located
2253
+ */
2254
+ region: string;
2255
+ /**
2256
+ * Name of the repository
2257
+ */
2258
+ repository: string;
2259
+ };
2260
+ query?: never;
2261
+ url: '/registry/{region}/{repository}';
2262
+ };
2263
+ export type ListTagsErrors = {
2264
+ /**
2265
+ * Not authenticated
2266
+ */
2267
+ 401: unknown;
2268
+ /**
2269
+ * Repository not found
2270
+ */
2271
+ 404: unknown;
2272
+ /**
2273
+ * Internal server error
2274
+ */
2275
+ 500: unknown;
2276
+ };
2277
+ export type ListTagsResponses = {
2278
+ /**
2279
+ * Repository with tags
2280
+ */
2281
+ 200: RegistryRepositoryWithTags;
2282
+ };
2283
+ export type ListTagsResponse = ListTagsResponses[keyof ListTagsResponses];
2284
+ export type DeleteTagData = {
2285
+ body?: never;
2286
+ path: {
2287
+ /**
2288
+ * Region where the repository is located
2289
+ */
2290
+ region: string;
2291
+ /**
2292
+ * Name of the repository
2293
+ */
2294
+ repository: string;
2295
+ /**
2296
+ * Name of the tag
2297
+ */
2298
+ tag: string;
2299
+ };
2300
+ query?: never;
2301
+ url: '/registry/{region}/{repository}/{tag}';
2302
+ };
2303
+ export type DeleteTagErrors = {
2304
+ /**
2305
+ * Not authenticated
2306
+ */
2307
+ 401: unknown;
2308
+ /**
2309
+ * Tag not found
2310
+ */
2311
+ 404: unknown;
2312
+ /**
2313
+ * Internal server error
2314
+ */
2315
+ 500: unknown;
2316
+ };
2317
+ export type DeleteTagResponses = {
2318
+ /**
2319
+ * Tag successfully deleted
1665
2320
  */
1666
2321
  200: unknown;
1667
2322
  };
2323
+ export type GetTagData = {
2324
+ body?: never;
2325
+ path: {
2326
+ /**
2327
+ * Region where the repository is located
2328
+ */
2329
+ region: string;
2330
+ /**
2331
+ * Name of the repository
2332
+ */
2333
+ repository: string;
2334
+ /**
2335
+ * Name of the tag
2336
+ */
2337
+ tag: string;
2338
+ };
2339
+ query?: never;
2340
+ url: '/registry/{region}/{repository}/{tag}';
2341
+ };
2342
+ export type GetTagErrors = {
2343
+ /**
2344
+ * Not authenticated
2345
+ */
2346
+ 401: unknown;
2347
+ /**
2348
+ * Tag not found
2349
+ */
2350
+ 404: unknown;
2351
+ /**
2352
+ * Internal server error
2353
+ */
2354
+ 500: unknown;
2355
+ };
2356
+ export type GetTagResponses = {
2357
+ /**
2358
+ * Tag details
2359
+ */
2360
+ 200: RegistryTag;
2361
+ };
2362
+ export type GetTagResponse = GetTagResponses[keyof GetTagResponses];
2363
+ export type ListTicketsData = {
2364
+ body?: never;
2365
+ path?: never;
2366
+ query?: never;
2367
+ url: '/tickets';
2368
+ };
2369
+ export type ListTicketsResponses = {
2370
+ /**
2371
+ * Tickets for the organization.
2372
+ */
2373
+ 200: TicketListResponse;
2374
+ };
2375
+ export type ListTicketsResponse = ListTicketsResponses[keyof ListTicketsResponses];
2376
+ export type CreateTicketData = {
2377
+ body: {
2378
+ /**
2379
+ * JSON-encoded TicketCreateInput.
2380
+ */
2381
+ payload?: string;
2382
+ attachments?: Array<Blob | File>;
2383
+ };
2384
+ path?: never;
2385
+ query?: never;
2386
+ url: '/tickets';
2387
+ };
2388
+ export type CreateTicketResponses = {
2389
+ /**
2390
+ * Ticket created.
2391
+ */
2392
+ 200: Ticket;
2393
+ };
2394
+ export type CreateTicketResponse = CreateTicketResponses[keyof CreateTicketResponses];
2395
+ export type CloseTicketData = {
2396
+ body?: never;
2397
+ path: {
2398
+ ticket_id: string;
2399
+ };
2400
+ query?: never;
2401
+ url: '/tickets/{ticket_id}';
2402
+ };
2403
+ export type CloseTicketResponses = {
2404
+ /**
2405
+ * Ticket closed.
2406
+ */
2407
+ 200: Ticket;
2408
+ };
2409
+ export type CloseTicketResponse = CloseTicketResponses[keyof CloseTicketResponses];
2410
+ export type GetTicketData = {
2411
+ body?: never;
2412
+ path: {
2413
+ ticket_id: string;
2414
+ };
2415
+ query?: never;
2416
+ url: '/tickets/{ticket_id}';
2417
+ };
2418
+ export type GetTicketResponses = {
2419
+ /**
2420
+ * Ticket with messages (internal notes excluded).
2421
+ */
2422
+ 200: Ticket;
2423
+ };
2424
+ export type GetTicketResponse = GetTicketResponses[keyof GetTicketResponses];
2425
+ export type ReplyTicketData = {
2426
+ body: {
2427
+ /**
2428
+ * JSON-encoded TicketMessageInput.
2429
+ */
2430
+ payload?: string;
2431
+ attachments?: Array<Blob | File>;
2432
+ };
2433
+ path: {
2434
+ ticket_id: string;
2435
+ };
2436
+ query?: never;
2437
+ url: '/tickets/{ticket_id}/messages';
2438
+ };
2439
+ export type ReplyTicketErrors = {
2440
+ /**
2441
+ * Ticket is closed. Open a new ticket instead.
2442
+ */
2443
+ 409: unknown;
2444
+ };
2445
+ export type ReplyTicketResponses = {
2446
+ /**
2447
+ * Reply appended.
2448
+ */
2449
+ 200: TicketMessage;
2450
+ };
2451
+ export type ReplyTicketResponse = ReplyTicketResponses[keyof ReplyTicketResponses];
2452
+ export type GetTicketAttachmentData = {
2453
+ body?: never;
2454
+ path: {
2455
+ ticket_id: string;
2456
+ attachment_id: string;
2457
+ };
2458
+ query?: never;
2459
+ url: '/tickets/{ticket_id}/attachments/{attachment_id}';
2460
+ };
2461
+ export type GetTicketAttachmentResponses = {
2462
+ /**
2463
+ * Attachment binary stream.
2464
+ */
2465
+ 200: Blob | File;
2466
+ };
2467
+ export type GetTicketAttachmentResponse = GetTicketAttachmentResponses[keyof GetTicketAttachmentResponses];
1668
2468
  export type ListTokensData = {
1669
2469
  body?: never;
1670
2470
  path?: never;