@cloudfleet/sdk 0.0.1-4ffe368 → 0.0.1-5175d16

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 (87) 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 +3 -0
  6. package/dist/client/client.gen.d.ts.map +1 -0
  7. package/dist/client/client.gen.js +220 -0
  8. package/dist/client/client.gen.js.map +1 -0
  9. package/dist/client/index.d.ts +9 -0
  10. package/dist/client/index.d.ts.map +1 -0
  11. package/dist/client/index.js +7 -0
  12. package/dist/client/index.js.map +1 -0
  13. package/dist/client/types.gen.d.ts +121 -0
  14. package/dist/client/types.gen.d.ts.map +1 -0
  15. package/dist/client/types.gen.js +3 -0
  16. package/dist/client/types.gen.js.map +1 -0
  17. package/dist/client/utils.gen.d.ts +38 -0
  18. package/dist/client/utils.gen.d.ts.map +1 -0
  19. package/dist/client/utils.gen.js +229 -0
  20. package/dist/client/utils.gen.js.map +1 -0
  21. package/dist/client.gen.d.ts +13 -0
  22. package/dist/client.gen.d.ts.map +1 -0
  23. package/dist/client.gen.js +4 -0
  24. package/dist/client.gen.js.map +1 -0
  25. package/dist/core/auth.gen.d.ts +19 -0
  26. package/dist/core/auth.gen.d.ts.map +1 -0
  27. package/dist/core/auth.gen.js +15 -0
  28. package/dist/core/auth.gen.js.map +1 -0
  29. package/dist/core/bodySerializer.gen.d.ts +26 -0
  30. package/dist/core/bodySerializer.gen.d.ts.map +1 -0
  31. package/dist/core/bodySerializer.gen.js +58 -0
  32. package/dist/core/bodySerializer.gen.js.map +1 -0
  33. package/dist/core/params.gen.d.ts +44 -0
  34. package/dist/core/params.gen.d.ts.map +1 -0
  35. package/dist/core/params.gen.js +101 -0
  36. package/dist/core/params.gen.js.map +1 -0
  37. package/dist/core/pathSerializer.gen.d.ts +34 -0
  38. package/dist/core/pathSerializer.gen.d.ts.map +1 -0
  39. package/dist/core/pathSerializer.gen.js +107 -0
  40. package/dist/core/pathSerializer.gen.js.map +1 -0
  41. package/dist/core/queryKeySerializer.gen.d.ts +19 -0
  42. package/dist/core/queryKeySerializer.gen.d.ts.map +1 -0
  43. package/dist/core/queryKeySerializer.gen.js +93 -0
  44. package/dist/core/queryKeySerializer.gen.js.map +1 -0
  45. package/dist/core/serverSentEvents.gen.d.ts +72 -0
  46. package/dist/core/serverSentEvents.gen.d.ts.map +1 -0
  47. package/dist/core/serverSentEvents.gen.js +133 -0
  48. package/dist/core/serverSentEvents.gen.js.map +1 -0
  49. package/dist/core/types.gen.d.ts +79 -0
  50. package/dist/core/types.gen.d.ts.map +1 -0
  51. package/dist/core/types.gen.js +3 -0
  52. package/dist/core/types.gen.js.map +1 -0
  53. package/dist/core/utils.gen.d.ts +20 -0
  54. package/dist/core/utils.gen.d.ts.map +1 -0
  55. package/dist/core/utils.gen.js +88 -0
  56. package/dist/core/utils.gen.js.map +1 -0
  57. package/dist/index.d.ts +3 -0
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +3 -0
  60. package/dist/index.js.map +1 -1
  61. package/dist/schemas.gen.d.ts +1865 -1142
  62. package/dist/schemas.gen.d.ts.map +1 -1
  63. package/dist/schemas.gen.js +3124 -1162
  64. package/dist/schemas.gen.js.map +1 -1
  65. package/dist/sdk.gen.d.ts +278 -150
  66. package/dist/sdk.gen.d.ts.map +1 -1
  67. package/dist/sdk.gen.js +366 -231
  68. package/dist/sdk.gen.js.map +1 -1
  69. package/dist/services/kubernetes/api.d.ts +196 -0
  70. package/dist/services/kubernetes/api.d.ts.map +1 -0
  71. package/dist/services/kubernetes/api.js +140 -0
  72. package/dist/services/kubernetes/api.js.map +1 -0
  73. package/dist/services/kubernetes/index.d.ts +44 -0
  74. package/dist/services/kubernetes/index.d.ts.map +1 -0
  75. package/dist/services/kubernetes/index.js +68 -0
  76. package/dist/services/kubernetes/index.js.map +1 -0
  77. package/dist/services/kubernetes/types.d.ts +1335 -0
  78. package/dist/services/kubernetes/types.d.ts.map +1 -0
  79. package/dist/services/kubernetes/types.js +2 -0
  80. package/dist/services/kubernetes/types.js.map +1 -0
  81. package/dist/types.gen.d.ts +1710 -963
  82. package/dist/types.gen.d.ts.map +1 -1
  83. package/dist/zod.gen.d.ts +3846 -2906
  84. package/dist/zod.gen.d.ts.map +1 -1
  85. package/dist/zod.gen.js +1621 -931
  86. package/dist/zod.gen.js.map +1 -1
  87. package/package.json +31 -5
@@ -1,20 +1,235 @@
1
- export type ClusterCreateInput = {
1
+ export type ClientOptions = {
2
+ baseUrl: 'https://api.cloudfleet.ai/v1' | (string & {});
3
+ };
4
+ export type BillingContact = {
2
5
  /**
3
- * Name of the cluster.
6
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
7
+ */
8
+ type: 'business' | 'personal';
9
+ /**
10
+ * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
11
+ */
12
+ company?: string;
13
+ /**
14
+ * Street address, P.O. box, c/o
15
+ */
16
+ address1?: string;
17
+ /**
18
+ * Apartment, suite, unit, building, floor, etc.
19
+ */
20
+ address2?: string;
21
+ /**
22
+ * Postal code as a string.
23
+ */
24
+ postalCode?: string;
25
+ /**
26
+ * City or town name.
27
+ */
28
+ city?: string;
29
+ /**
30
+ * State, province, or region name.
31
+ */
32
+ state?: string;
33
+ /**
34
+ * Country as a ISO 3166-1 alpha-2 country code.
35
+ */
36
+ country?: string;
37
+ /**
38
+ * Phone number as a string.
39
+ */
40
+ phone?: string;
41
+ /**
42
+ * Email address used for billing as a string.
43
+ */
44
+ email: string;
45
+ /**
46
+ * Name of the billing contact person.
47
+ */
48
+ individual_name: string;
49
+ /**
50
+ * Tax ID of the organization.
51
+ */
52
+ tax_id?: string;
53
+ /**
54
+ * Type of the tax ID.
55
+ */
56
+ tax_id_type?: 'ad_nrt' | 'ae_trn' | 'al_tin' | 'am_tin' | 'ao_tin' | 'ar_cuit' | 'at_vat' | 'au_abn' | 'au_arn' | 'ba_tin' | 'bb_tin' | 'be_vat' | 'bg_uic' | 'bg_vat' | 'bh_vat' | 'bo_tin' | 'br_cnpj' | 'br_cpf' | 'bs_tin' | 'by_tin' | 'ca_bn' | 'ca_gst_hst' | 'ca_pst_bc' | 'ca_pst_mb' | 'ca_pst_sk' | 'ca_qst' | 'cd_nif' | 'ch_uid' | 'ch_vat' | 'cl_tin' | 'cn_tin' | 'co_nit' | 'cr_tin' | 'cy_vat' | 'cz_vat' | 'de_stn' | 'de_vat' | 'dk_vat' | 'do_rcn' | 'ec_ruc' | 'ee_vat' | 'eg_tin' | 'es_cif' | 'es_vat' | 'eu_oss_vat' | 'fi_vat' | 'fr_vat' | 'gb_vat' | 'ge_vat' | 'gn_nif' | 'gr_vat' | 'hk_br' | 'hr_oib' | 'hr_vat' | 'hu_tin' | 'hu_vat' | 'id_npwp' | 'ie_vat' | 'il_vat' | 'in_gst' | 'is_vat' | 'it_vat' | 'jp_cn' | 'jp_rn' | 'jp_trn' | 'ke_pin' | 'kh_tin' | 'kr_brn' | 'kz_bin' | 'li_uid' | 'li_vat' | 'lt_vat' | 'lu_vat' | 'lv_vat' | 'ma_vat' | 'md_vat' | 'me_pib' | 'mk_vat' | 'mr_nif' | 'mt_vat' | 'mx_rfc' | 'my_frp' | 'my_itn' | 'my_sst' | 'ng_tin' | 'nl_vat' | 'no_vat' | 'no_voec' | 'np_pan' | 'nz_gst' | 'om_vat' | 'pe_ruc' | 'ph_tin' | 'pl_vat' | 'pt_vat' | 'ro_tin' | 'ro_vat' | 'rs_pib' | 'ru_inn' | 'ru_kpp' | 'sa_vat' | 'se_vat' | 'sg_gst' | 'sg_uen' | 'si_tin' | 'si_vat' | 'sk_vat' | 'sn_ninea' | 'sr_fin' | 'sv_nit' | 'th_vat' | 'tj_tin' | 'tr_tin' | 'tw_vat' | 'tz_vat' | 'ua_vat' | 'ug_tin' | 'us_ein' | 'uy_ruc' | 'uz_tin' | 'uz_vat' | 've_rif' | 'vn_tin' | 'xi_vat' | 'za_vat' | 'zm_tin' | 'zw_tin' | '';
57
+ };
58
+ export type BillingCredits = {
59
+ /**
60
+ * Generated unique identifier of the promotional code.
61
+ */
62
+ id?: string;
63
+ /**
64
+ * Type of the promotional code.
65
+ */
66
+ type: 'credit' | 'discount';
67
+ /**
68
+ * Timestamp when the credit becomes active. ISO 8601 date string in the UTC timezone.
69
+ */
70
+ date_start: string;
71
+ /**
72
+ * Timestamp when the credit expires or becomes inactive. ISO 8601 date string in the UTC timezone.
73
+ */
74
+ date_end?: string;
75
+ /**
76
+ * Promotional code used by the customer.
77
+ */
78
+ code: string;
79
+ /**
80
+ * Description of the promotional code.
81
+ */
82
+ description?: string;
83
+ /**
84
+ * Total value of the promotional code.
85
+ */
86
+ value_total: number;
87
+ /**
88
+ * Remaining value of the promotional code.
89
+ */
90
+ value_remaining?: number;
91
+ };
92
+ export type ChartCreateInput = {
93
+ /**
94
+ * Values to be used in the chart encoded as a JSON string.
95
+ */
96
+ values: string;
97
+ /**
98
+ * Desired version range or channel for the chart.
99
+ */
100
+ version_channel: string;
101
+ /**
102
+ * Unique identifier of the chart deployment aka name of the helm release.
103
+ */
104
+ name: string;
105
+ /**
106
+ * Namespace of the chart deployment
107
+ */
108
+ namespace: string;
109
+ /**
110
+ * Name of the chart listing
111
+ */
112
+ chart: string;
113
+ };
114
+ export type Chart = {
115
+ /**
116
+ * Values to be used in the chart encoded as a JSON string.
117
+ */
118
+ values: string;
119
+ /**
120
+ * Desired version range or channel for the chart.
121
+ */
122
+ version_channel: string;
123
+ /**
124
+ * Unique identifier of the chart deployment aka name of the helm release.
4
125
  */
5
126
  name: string;
6
127
  /**
7
- * Cloudfleet control plane region. One of "staging", "northamerica-central-1". This field can not be updated after creation.
128
+ * Namespace of the chart deployment
129
+ */
130
+ namespace: string;
131
+ /**
132
+ * Name of the chart listing
133
+ */
134
+ chart: string;
135
+ /**
136
+ * Status of the chart deployment (Flux HelmRelease Ready condition reason, e.g. InstallSucceeded, UpgradeFailed, Progressing).
137
+ */
138
+ status: string;
139
+ /**
140
+ * Current version of the chart deployment.
141
+ */
142
+ version_current: string;
143
+ /**
144
+ * Creation date and time of the chart deployment.
145
+ */
146
+ created_at: string;
147
+ /**
148
+ * Last update date and time of the chart deployment.
149
+ */
150
+ updated_at: string;
151
+ /**
152
+ * Indicates if the chart deployment is ready to be used.
153
+ */
154
+ ready: boolean;
155
+ };
156
+ export type ChartUpdateInput = {
157
+ /**
158
+ * Values to be used in the chart encoded as a JSON string.
159
+ */
160
+ values: string;
161
+ /**
162
+ * Desired version range or channel for the chart.
163
+ */
164
+ version_channel: string;
165
+ };
166
+ export type ClusterCreateInput = {
167
+ /**
168
+ * Name of the cluster.
8
169
  */
9
- region?: 'staging' | 'northamerica-central-1';
170
+ name: string;
10
171
  /**
11
172
  * Tier of the cluster.
12
173
  */
13
174
  tier: 'basic' | 'pro';
175
+ /**
176
+ * Cloudfleet control plane region. This field can not be updated after creation.
177
+ */
178
+ region: string;
14
179
  /**
15
180
  * Version of the kubernetes cluster.
16
181
  */
17
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
+ };
18
233
  };
19
234
  export type ClusterJoinInformation = {
20
235
  /**
@@ -25,6 +240,14 @@ export type ClusterJoinInformation = {
25
240
  * Internal URL of the Kubernetes cluster control plane. This is the endpoint that kubelet uses to connect to the cluster.
26
241
  */
27
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;
28
251
  /**
29
252
  * Authentication key for the cluster.
30
253
  */
@@ -49,6 +272,10 @@ export type ClusterJoinInformation = {
49
272
  * Containerd version of the cluster.
50
273
  */
51
274
  containerd: string;
275
+ /**
276
+ * NVIDIA driver version of the cluster.
277
+ */
278
+ nvidia_driver: string;
52
279
  };
53
280
  /**
54
281
  * OIDC Information for hosts to access to third party API's.
@@ -73,27 +300,74 @@ export type Cluster = {
73
300
  * Name of the cluster.
74
301
  */
75
302
  name: string;
76
- /**
77
- * Cloudfleet control plane region. One of "staging", "northamerica-central-1". This field can not be updated after creation.
78
- */
79
- region?: 'staging' | 'northamerica-central-1';
80
303
  /**
81
304
  * Tier of the cluster.
82
305
  */
83
306
  tier: 'basic' | 'pro';
84
307
  /**
85
- * Version of the kubernetes cluster.
308
+ * Cloudfleet control plane region. This field can not be updated after creation.
86
309
  */
87
- version_channel?: string;
310
+ region: string;
311
+ /**
312
+ * Cluster networking configuration. Immutable after creation.
313
+ */
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
+ };
88
361
  /**
89
362
  * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
90
363
  */
91
364
  id: string;
92
365
  /**
93
- * Status of the cluster. When creating a new cluster, set to `active`. When deleting a clusters, set to `deleted`.
366
+ * Status of the cluster.
94
367
  */
95
- status: 'active' | 'deleted' | 'creating' | 'deployed' | 'failed' | 'updating';
368
+ status: 'creating' | 'deployed' | 'updating' | 'disabled';
96
369
  endpoint?: string | '';
370
+ endpoint_public?: string | '';
97
371
  /**
98
372
  * Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.
99
373
  */
@@ -114,16 +388,45 @@ export type Cluster = {
114
388
  * Indicates if the cluster is ready to be used.
115
389
  */
116
390
  ready?: boolean;
391
+ /**
392
+ * Version of the kubernetes cluster.
393
+ */
394
+ version_channel?: string;
117
395
  };
118
396
  export type ClusterUpdateInput = {
119
397
  /**
120
398
  * Name of the cluster.
121
399
  */
122
400
  name?: string;
401
+ /**
402
+ * Tier of the cluster.
403
+ */
404
+ tier: 'basic' | 'pro';
123
405
  /**
124
406
  * Version of the kubernetes cluster.
125
407
  */
126
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
+ };
127
430
  };
128
431
  export type FleetCreateInput = {
129
432
  /**
@@ -131,39 +434,60 @@ export type FleetCreateInput = {
131
434
  */
132
435
  limits?: {
133
436
  /**
134
- * CPU limit in cores.
437
+ * CPU limit in cores. Maximum 100,000.
135
438
  */
136
- cpu: number;
439
+ cpu?: number;
137
440
  };
138
441
  gcp?: {
139
- enabled?: boolean;
442
+ enabled: boolean;
140
443
  /**
141
- * 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.
142
445
  */
143
- project: string;
446
+ project?: string;
144
447
  };
145
448
  hetzner?: {
146
- enabled?: boolean;
147
- apiKey?: string;
148
- } | {
449
+ enabled: boolean;
450
+ /**
451
+ * Hetzner Cloud API token with read / write access (64 alphanumeric characters). Omit this field to keep the existing value.
452
+ */
149
453
  apiKey?: string;
150
- enabled?: boolean;
151
454
  };
152
455
  aws?: {
153
- enabled?: boolean;
456
+ enabled: boolean;
154
457
  /**
155
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
458
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
156
459
  */
157
- controllerRoleArn: string;
460
+ controllerRoleArn?: string;
158
461
  };
159
462
  /**
160
- * Unique identifier of the kubernetes fleet.
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.
161
464
  */
162
- id: string;
465
+ constraints?: {
466
+ /**
467
+ * Allowed values for `karpenter.sh/capacity-type`.
468
+ */
469
+ 'karpenter.sh/capacity-type'?: Array<'on-demand' | 'spot'>;
470
+ /**
471
+ * Allowed values for `kubernetes.io/arch`.
472
+ */
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'>;
482
+ };
163
483
  /**
164
- * Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.
484
+ * Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.
165
485
  */
166
- type: 'managed' | 'connected';
486
+ scalingProfile?: 'aggressive' | 'conservative';
487
+ /**
488
+ * Unique identifier of the kubernetes fleet.
489
+ */
490
+ id: string;
167
491
  };
168
492
  export type Fleet = {
169
493
  /**
@@ -171,39 +495,76 @@ export type Fleet = {
171
495
  */
172
496
  limits?: {
173
497
  /**
174
- * CPU limit in cores.
498
+ * CPU limit in cores. Maximum 100,000.
175
499
  */
176
- cpu: number;
500
+ cpu?: number;
177
501
  };
178
502
  gcp?: {
179
- enabled?: boolean;
503
+ enabled: boolean;
180
504
  /**
181
- * 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.
182
506
  */
183
- project: string;
507
+ project?: string;
184
508
  };
185
509
  hetzner?: {
186
- enabled?: boolean;
187
- apiKey?: string;
188
- } | {
510
+ enabled: boolean;
511
+ /**
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.
513
+ */
189
514
  apiKey?: string;
190
- enabled?: boolean;
191
515
  };
192
516
  aws?: {
193
- enabled?: boolean;
517
+ enabled: boolean;
518
+ /**
519
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
520
+ */
521
+ controllerRoleArn?: string;
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?: {
194
527
  /**
195
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
528
+ * Allowed values for `karpenter.sh/capacity-type`.
196
529
  */
197
- controllerRoleArn: string;
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'>;
198
543
  };
544
+ /**
545
+ * Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.
546
+ */
547
+ scalingProfile: 'aggressive' | 'conservative';
199
548
  /**
200
549
  * Unique identifier of the kubernetes fleet.
201
550
  */
202
551
  id: string;
203
552
  /**
204
- * Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.
553
+ * Indicates whether the fleet configuration is healthy.
205
554
  */
206
- type: 'managed' | 'connected';
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;
207
568
  };
208
569
  export type FleetUpdateInput = {
209
570
  /**
@@ -211,752 +572,807 @@ export type FleetUpdateInput = {
211
572
  */
212
573
  limits?: {
213
574
  /**
214
- * CPU limit in cores.
575
+ * CPU limit in cores. Maximum 100,000.
215
576
  */
216
- cpu: number;
577
+ cpu?: number;
217
578
  };
218
579
  gcp?: {
219
- enabled?: boolean;
580
+ enabled: boolean;
220
581
  /**
221
- * 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.
222
583
  */
223
- project: string;
584
+ project?: string;
224
585
  };
225
586
  hetzner?: {
226
- enabled?: boolean;
227
- apiKey?: string;
228
- } | {
587
+ enabled: boolean;
588
+ /**
589
+ * Hetzner Cloud API token with read / write access (64 alphanumeric characters). Omit this field to keep the existing value.
590
+ */
229
591
  apiKey?: string;
230
- enabled?: boolean;
231
592
  };
232
593
  aws?: {
233
- enabled?: boolean;
594
+ enabled: boolean;
234
595
  /**
235
- * 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.
236
597
  */
237
- controllerRoleArn: string;
598
+ controllerRoleArn?: string;
238
599
  };
239
- };
240
- export type InfrastructureFilter = {
241
600
  /**
242
- * Version of the infrastructure filter definition. Currently only version 1 is supported.
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.
243
602
  */
244
- version?: 1;
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
+ };
245
621
  /**
246
- * Limit selection of cloud providers to this list. For the full list of supported providers, see [Providers](https://cloudfleet.ai/docs/cloud-infrastructure/providers/)
622
+ * Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.
247
623
  */
248
- provider?: Array<string>;
624
+ scalingProfile: 'aggressive' | 'conservative';
625
+ };
626
+ export type InviteCreateInput = {
249
627
  /**
250
- * Limits selection of cloud regions to this list of Cloudfleet regions. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)
628
+ * Email address of the user to invite.
251
629
  */
252
- region?: Array<string>;
630
+ email: string;
253
631
  /**
254
- * Limits selection of cloud regions to this list of Cloudfleet regions. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)
632
+ * Role the invited user will be assigned on redemption. Can be 'Administrator' or 'User'.
255
633
  */
256
- sub_region?: Array<string>;
634
+ role?: 'Administrator' | 'User';
635
+ };
636
+ export type Invite = {
257
637
  /**
258
- * Limits selection of cloud regions to this list of canonical provider regions
638
+ * Unique identifier of the invitation.
259
639
  */
260
- csp_region?: Array<string>;
640
+ id?: string;
261
641
  /**
262
- * Limits selection of instance types to this list. Instance / VM type as defined by the cloud service provider
642
+ * Unique identifier of the organization the project belongs to. UUID v4 string in canonical form
263
643
  */
264
- instance_type?: Array<string>;
644
+ organization_id?: string;
265
645
  /**
266
- * List of Normalized accelerator model names. For example, all variations of Nvidia A100 GPUs will have 'A100' as accelerator name with various memory configurations set in accelerator_memory field
646
+ * Creation date of the project. ISO 8601 date string in UTC timezone
267
647
  */
268
- accelerator_name?: Array<string>;
648
+ date_created: string;
269
649
  /**
270
- * List of normalized accelerator manufacturer names. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer
650
+ * User email address.
271
651
  */
272
- accelerator_manufacturer?: Array<string>;
652
+ email?: string;
273
653
  /**
274
- * Minimum number of accelerators available on the instance. Some cloud providers support shared accelerators, so the number of accelerators may be a fraction of the number of physical accelerators.
275
- */
276
- accelerator_count_min?: number;
277
- /**
278
- * Maximum number of accelerators available on the instance. Some cloud providers support shared accelerators, so the number of accelerators may be a fraction of the number of physical accelerators.
279
- */
280
- accelerator_count_max?: number;
281
- /**
282
- * Minimum amount of accelerator memory available to each accelerator. For example, Nvidia A100 GPUs will typically have '40.0' gibibytes (GiB) of memory, while A100 GPUs with HBM2E memory will have '80.0' gibibytes (GiB) of memory
654
+ * Generated unique invite code.
283
655
  */
284
- accelerator_memory_min?: number;
656
+ code?: string;
285
657
  /**
286
- * Maximum amount of accelerator memory available to each accelerator. For example, Nvidia A100 GPUs will typically have '40.0' gibibytes (GiB) of memory, while A100 GPUs with HBM2E memory will have '80.0' gibibytes (GiB) of memory
658
+ * Role the invited user will be assigned on redemption. Can be 'Administrator' or 'User'.
287
659
  */
288
- accelerator_memory_max?: number;
660
+ role?: 'Administrator' | 'User';
661
+ };
662
+ export type Invoice = {
289
663
  /**
290
- * Minimum amount of RAM in gibibytes (GiB)
664
+ * Unique identifier of the invoice.
291
665
  */
292
- memory_min?: number;
666
+ id?: string;
667
+ number?: string;
293
668
  /**
294
- * Maximum amount of RAM in gibibytes (GiB)
669
+ * Status of the invoice
295
670
  */
296
- memory_max?: number;
671
+ status?: string;
297
672
  /**
298
- * Minimum number of vCPUs as defined by the cloud service provider. Some cloud providers use hyperthreading, so the number of vCPUs may be twice as high as the number of physical cores.
673
+ * Total amount of the invoice
299
674
  */
300
- vcpu_min?: number;
675
+ total?: number;
301
676
  /**
302
- * Maximum number of vCPUs as defined by the cloud service provider. Some cloud providers use hyperthreading, so the number of vCPUs may be twice as high as the number of physical cores.
677
+ * Currency of the invoice
303
678
  */
304
- vcpu_max?: number;
679
+ currency?: string;
305
680
  /**
306
- * Minimum total storage in GiB (attached and local)
681
+ * Timestamp when the invoice was issued. ISO 8601 date string in the UTC timezone.
307
682
  */
308
- storage_total_min?: number;
683
+ created: string;
309
684
  /**
310
- * Maximum total storage in GiB (attached and local)
685
+ * Billing period start timestamp. ISO 8601 date string in the UTC timezone.
311
686
  */
312
- storage_total_max?: number;
687
+ period_start: string;
313
688
  /**
314
- * Minimum volume of directly attached, block-device local storage in gibibytes (GiB)
689
+ * Billing period end timestamp. ISO 8601 date string in the UTC timezone.
315
690
  */
316
- storage_local_min?: number;
691
+ period_end: string;
692
+ invoice_pdf?: string;
693
+ };
694
+ export type MarketplaceListingFiles = {
317
695
  /**
318
- * Maximum volume of directly attached, block-device local storage in gibibytes (GiB)
696
+ * Raw Chart.yaml content from the Helm chart
319
697
  */
320
- storage_local_max?: number;
698
+ chartYaml?: string;
321
699
  /**
322
- * Minimum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.
700
+ * Raw values.yaml content from the Helm chart
323
701
  */
324
- price_min?: number;
702
+ valuesYaml?: string;
325
703
  /**
326
- * Maximum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.
704
+ * JSON schema for values.yaml as a string
327
705
  */
328
- price_max?: number;
706
+ valuesSchemaJson?: string;
329
707
  };
330
- export type InfrastructureInstance = {
708
+ export type MarketplaceListing = {
331
709
  /**
332
- * Cloudfleet instance SKU. Has a format of <provider>-<csp_region>-<instance_type>.
710
+ * Name of the chart
333
711
  */
334
- sku: string;
712
+ name: string;
335
713
  /**
336
- * Normalized cloud service provider name. For the full list of supported providers, see [Providers](https://cloudfleet.ai/docs/cloud-infrastructure/providers/)
714
+ * Available versions of the chart
337
715
  */
338
- provider: string;
716
+ versions: Array<string>;
339
717
  /**
340
- * Normalized region. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)
718
+ * Version channels for the chart
341
719
  */
342
- region: string;
720
+ version_channels: Array<string>;
343
721
  /**
344
- * Normalized sub-region. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)
722
+ * Latest version of the chart
345
723
  */
346
- sub_region: string;
724
+ latestVersion: string;
347
725
  /**
348
- * Region as defined by the cloud service provider
726
+ * Chart metadata
349
727
  */
350
- csp_region: string;
351
- /**
352
- * Availability zone as defined by the cloud service provider
353
- */
354
- csp_zone: string;
728
+ metadata?: {
729
+ /**
730
+ * Chart name from metadata
731
+ */
732
+ name: string;
733
+ /**
734
+ * Chart version from metadata
735
+ */
736
+ version: string;
737
+ /**
738
+ * Chart description
739
+ */
740
+ description?: string;
741
+ /**
742
+ * Application version
743
+ */
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
+ };
779
+ };
780
+ export type OrganizationCreateInput = {
355
781
  /**
356
- * Instance / VM type as defined by the cloud service provider
782
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
357
783
  */
358
- instance_type: string;
784
+ type: 'business' | 'personal';
359
785
  /**
360
- * Instance CPU architecture
786
+ * Email address used for billing as a string.
361
787
  */
362
- architecture: string;
788
+ email: string;
363
789
  /**
364
- * Instance operating system
790
+ * First name of the billing contact person.
365
791
  */
366
- os: string;
792
+ first_name: string;
367
793
  /**
368
- * CPU count as defined by the cloud service provider. Some cloud providers use hyperthreading, so the number of vCPUs may be twice as high as the number of physical cores.
794
+ * Last name of the billing contact person.
369
795
  */
370
- vcpu: number;
796
+ last_name: string;
371
797
  /**
372
- * Total amount of RAM in gibibytes (GiB)
798
+ * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
373
799
  */
374
- memory: number;
800
+ company_name: string;
375
801
  /**
376
- * Volume of directly attached, block-device local storage in gibibytes (GiB)
802
+ * 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.
377
803
  */
378
- local_storage: number;
804
+ password: string;
805
+ };
806
+ export type OrganizationCreateOutput = {
379
807
  /**
380
- * Normalized model name of accelerator. For example, all variations of Nvidia A100 GPUs will have 'A100' as accelerator name with various memory configurations set in accelerator_memory field
808
+ * Unique identifier of the newly created organization. Generated by the API and safe to use for client-side tracking immediately.
381
809
  */
382
- accelerator_name?: string;
810
+ id: string;
811
+ };
812
+ export type Organization = {
383
813
  /**
384
- * Normalized manufacturer name of accelerator. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer
814
+ * Unique identifier of the organization. UUID v4 string in canonical form
385
815
  */
386
- accelerator_manufacturer?: string;
816
+ id: string;
387
817
  /**
388
- * Number of accelerators available on the instance. Some cloud providers support shared accelerators, so the number of accelerators may be a fraction of the number of physical accelerators.
818
+ * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
389
819
  */
390
- accelerator_count?: number;
820
+ name?: string;
391
821
  /**
392
- * Ammount of accelerator memory available to each accelerator. For example, Nvidia A100 GPUs will typically have '40.0' gibibytes (GiB) of memory, while A100 GPUs with HBM2E memory will have '80.0' gibibytes (GiB) of memory
822
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
393
823
  */
394
- accelerator_memory?: number;
824
+ type: 'business' | 'personal';
395
825
  /**
396
- * Maximum number of pods that can be run on this instance type.
826
+ * Creation date of the organization. ISO 8601 date string in UTC timezone
397
827
  */
398
- pods_capacity?: number;
828
+ date_created: string;
399
829
  /**
400
- * Capacity type of the instance. E.g. `on-demand`, `spot`.
830
+ * 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.
401
831
  */
402
- capacity_type?: string;
832
+ quota: {
833
+ /**
834
+ * Maximum number of Basic clusters that can be created.
835
+ */
836
+ basic_clusters_max: number;
837
+ /**
838
+ * Available number of Basic clusters that can be created.
839
+ */
840
+ basic_clusters_available: number;
841
+ /**
842
+ * Maximum number of Pro clusters that can be created.
843
+ */
844
+ pro_clusters_max: number;
845
+ /**
846
+ * Available number of Pro clusters that can be created.
847
+ */
848
+ pro_clusters_available: number;
849
+ /**
850
+ * Maximum number of fleets that can be created per cluster.
851
+ */
852
+ fleets_max: number;
853
+ /**
854
+ * List of Cloudfleet cluster tiers available for the organization.
855
+ */
856
+ cluster_tiers: Array<string>;
857
+ /**
858
+ * List of Cloudfleet control plane regions available for the organization.
859
+ */
860
+ regions: Array<string>;
861
+ /**
862
+ * List of CFKE control plane versions available for the organization.
863
+ */
864
+ versions: Array<{
865
+ /**
866
+ * Id of the control plane version. Used in API calls.
867
+ */
868
+ id: string;
869
+ /**
870
+ * Label of the control plane version. Used in frontent UI.
871
+ */
872
+ label: string;
873
+ }>;
874
+ /**
875
+ * Organization-level maximum CFCR storage volume in GB. -1 means no limit.
876
+ */
877
+ cfcr_storage_gb: number;
878
+ };
403
879
  /**
404
- * Price of running the inctance per hour in USD as defined by the cloud service provider
880
+ * Status of the organization. Can be `active` or `closed`, or `suspended`.
405
881
  */
406
- price: number;
882
+ status: 'active' | 'closed' | 'suspended';
407
883
  /**
408
- * Whether this instance type is available.
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.
409
885
  */
410
- available?: boolean;
886
+ verification: 'none' | 'submitted' | 'verified';
411
887
  };
412
- export type Invite = {
888
+ export type PaymentMethod = {
413
889
  /**
414
- * Unique identifier of the invitation.
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.
415
891
  */
416
- id?: string;
892
+ id: string;
417
893
  /**
418
- * Unique identifier of the organization the project belongs to. UUID v4 string in canonical form
894
+ * Payment method type. `card`, `sepa_debit` for SEPA Direct Debit (business accounts only), or `bank_transfer` for paying invoices by bank transfer.
419
895
  */
420
- organization_id?: string;
896
+ type: 'card' | 'sepa_debit' | 'bank_transfer';
421
897
  /**
422
- * Creation date of the project. ISO 8601 date string in UTC timezone
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.
423
899
  */
424
- date_created: string;
900
+ last4: string;
425
901
  /**
426
- * User email address.
902
+ * Two-digit number representing the card's expiration month. Null for SEPA Direct Debit and bank transfer.
427
903
  */
428
- email?: string;
904
+ exp_month: number;
429
905
  /**
430
- * Generated unique invite code.
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.
431
907
  */
432
- code?: string;
433
- };
434
- export type Invoice = {
908
+ exp_year: number;
435
909
  /**
436
- * Unique identifier of the invoice. UUID v4 string in canonical form
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.
437
911
  */
438
- id?: string;
912
+ brand: string;
439
913
  /**
440
- * Unique identifier of the organization. UUID v4 string in canonical form
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.
441
915
  */
442
- organizationId?: string;
916
+ iban: string;
443
917
  /**
444
- * Status of the invoice
918
+ * BIC/SWIFT of the destination bank for bank transfers. Set only for `bank_transfer`; null otherwise.
445
919
  */
446
- status?: 'DRAFT' | 'COMMITTED' | 'VOID';
920
+ bic: string;
447
921
  /**
448
- * Total amount of the invoice
922
+ * Account holder name of the destination bank account for bank transfers. Set only for `bank_transfer`; null otherwise.
449
923
  */
450
- amount?: number;
924
+ account_holder_name: string;
451
925
  /**
452
- * Currency of the invoice
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).
453
927
  */
454
- 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';
928
+ is_default: boolean;
929
+ };
930
+ export type PlatformQuota = {
455
931
  /**
456
- * Total amount of credit adjustments
932
+ * Maximum number of Basic clusters that can be created.
457
933
  */
458
- creditAdj?: number;
934
+ basic_clusters_max: number;
459
935
  /**
460
- * Total amount of refund adjustments
936
+ * Available number of Basic clusters that can be created.
461
937
  */
462
- refundAdj?: number;
938
+ basic_clusters_available: number;
463
939
  /**
464
- * Date of the invoice
940
+ * Maximum number of Pro clusters that can be created.
465
941
  */
466
- invoiceDate?: string;
942
+ pro_clusters_max: number;
467
943
  /**
468
- * Target date of the invoice
944
+ * Available number of Pro clusters that can be created.
469
945
  */
470
- targetDate?: string;
946
+ pro_clusters_available: number;
471
947
  /**
472
- * Number of the invoice
948
+ * Maximum number of fleets that can be created per cluster.
473
949
  */
474
- invoiceNumber?: string;
950
+ fleets_max: number;
475
951
  /**
476
- * Balance of the invoice
952
+ * List of Cloudfleet cluster tiers available for the organization.
477
953
  */
478
- balance?: number;
954
+ cluster_tiers: Array<string>;
479
955
  /**
480
- * Bundle keys of the invoice
956
+ * List of Cloudfleet control plane regions available for the organization.
481
957
  */
482
- bundleKeys?: string;
958
+ regions: Array<string>;
483
959
  /**
484
- * Credits of the invoice
960
+ * List of CFKE control plane versions available for the organization.
485
961
  */
486
- credits?: Array<{
487
- /**
488
- * Unique identifier of the invoice item. UUID v4 string in canonical form
489
- */
490
- id?: string;
491
- /**
492
- * Unique identifier of the linked invoice item. UUID v4 string in canonical form
493
- */
494
- linkedInvoiceItemId?: string;
495
- /**
496
- * Name of the product
497
- */
498
- productName?: string;
499
- /**
500
- * Name of the plan
501
- */
502
- planName?: string;
503
- /**
504
- * Name of the phase
505
- */
506
- phaseName?: string;
507
- /**
508
- * Name of the usage
509
- */
510
- usageName?: string;
511
- /**
512
- * Pretty name of the product
513
- */
514
- prettyProductName?: string;
515
- /**
516
- * Pretty name of the plan
517
- */
518
- prettyPlanName?: string;
519
- /**
520
- * Pretty name of the phase
521
- */
522
- prettyPhaseName?: string;
523
- /**
524
- * Pretty name of the usage
525
- */
526
- prettyUsageName?: string;
527
- /**
528
- * Type of the invoice item
529
- */
530
- itemType?: 'EXTERNAL_CHARGE' | 'FIXED' | 'RECURRING' | 'REPAIR_ADJ' | 'CBA_ADJ' | 'CREDIT_ADJ' | 'ITEM_ADJ' | 'USAGE' | 'TAX' | 'PARENT_SUMMARY';
531
- /**
532
- * Description of the invoice item
533
- */
534
- description?: string;
535
- /**
536
- * Start date of the invoice item
537
- */
538
- startDate?: string;
539
- /**
540
- * End date of the invoice item
541
- */
542
- endDate?: string;
543
- /**
544
- * Amount of the invoice item
545
- */
546
- amount?: number;
547
- /**
548
- * Rate of the invoice item
549
- */
550
- rate?: number;
551
- /**
552
- * Currency of the invoice item
553
- */
554
- 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';
962
+ versions: Array<{
555
963
  /**
556
- * Quantity of the invoice item
964
+ * Id of the control plane version. Used in API calls.
557
965
  */
558
- quantity?: number;
559
- /**
560
- * Details of the invoice item
561
- */
562
- itemDetails?: string;
563
- /**
564
- * Effective date of the catalog
565
- */
566
- catalogEffectiveDate?: string;
966
+ id: string;
567
967
  /**
568
- * Child items of the invoice item
968
+ * Label of the control plane version. Used in frontent UI.
569
969
  */
570
- childItems?: Array<Array<unknown> | boolean | number | {
571
- [key: string]: unknown;
572
- } | string>;
970
+ label: string;
573
971
  }>;
574
972
  /**
575
- * Items of the invoice
973
+ * Organization-level maximum CFCR storage volume in GB. -1 means no limit.
576
974
  */
577
- items?: Array<{
578
- /**
579
- * Unique identifier of the invoice item. UUID v4 string in canonical form
580
- */
581
- id?: string;
582
- /**
583
- * Unique identifier of the linked invoice item. UUID v4 string in canonical form
584
- */
585
- linkedInvoiceItemId?: string;
586
- /**
587
- * Name of the product
588
- */
589
- productName?: string;
590
- /**
591
- * Name of the plan
592
- */
593
- planName?: string;
594
- /**
595
- * Name of the phase
596
- */
597
- phaseName?: string;
598
- /**
599
- * Name of the usage
600
- */
601
- usageName?: string;
602
- /**
603
- * Pretty name of the product
604
- */
605
- prettyProductName?: string;
606
- /**
607
- * Pretty name of the plan
608
- */
609
- prettyPlanName?: string;
610
- /**
611
- * Pretty name of the phase
612
- */
613
- prettyPhaseName?: string;
614
- /**
615
- * Pretty name of the usage
616
- */
617
- prettyUsageName?: string;
618
- /**
619
- * Type of the invoice item
620
- */
621
- itemType?: 'EXTERNAL_CHARGE' | 'FIXED' | 'RECURRING' | 'REPAIR_ADJ' | 'CBA_ADJ' | 'CREDIT_ADJ' | 'ITEM_ADJ' | 'USAGE' | 'TAX' | 'PARENT_SUMMARY';
622
- /**
623
- * Description of the invoice item
624
- */
625
- description?: string;
626
- /**
627
- * Start date of the invoice item
628
- */
629
- startDate?: string;
630
- /**
631
- * End date of the invoice item
632
- */
633
- endDate?: string;
634
- /**
635
- * Amount of the invoice item
636
- */
637
- amount?: number;
638
- /**
639
- * Rate of the invoice item
640
- */
641
- rate?: number;
642
- /**
643
- * Currency of the invoice item
644
- */
645
- 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';
646
- /**
647
- * Quantity of the invoice item
648
- */
649
- quantity?: number;
650
- /**
651
- * Details of the invoice item
652
- */
653
- itemDetails?: string;
654
- /**
655
- * Effective date of the catalog
656
- */
657
- catalogEffectiveDate?: string;
658
- /**
659
- * Child items of the invoice item
660
- */
661
- childItems?: Array<Array<unknown> | boolean | number | {
662
- [key: string]: unknown;
663
- } | string>;
664
- }>;
975
+ cfcr_storage_gb: number;
665
976
  };
666
- export type OrganizationContactInfo = {
667
- /**
668
- * Street address, P.O. box, c/o
669
- */
670
- address1?: string;
671
- /**
672
- * Apartment, suite, unit, building, floor, etc.
673
- */
674
- address2?: string;
977
+ export type RegistryRepository = {
675
978
  /**
676
- * Postal code as a string.
979
+ * Repository name.
677
980
  */
678
- postalCode?: string;
679
- /**
680
- * City or town name.
681
- */
682
- city?: string;
683
- /**
684
- * State, province, or region name.
685
- */
686
- state?: string;
687
- /**
688
- * Country as a ISO 3166-1 alpha-2 country code.
689
- */
690
- country?: string;
981
+ name: string;
691
982
  /**
692
- * Phone number as a string.
983
+ * Registry region.
693
984
  */
694
- phone?: string;
985
+ region: string;
695
986
  /**
696
- * Email address used for billing as a string.
987
+ * Full URI of the repository.
697
988
  */
698
- email: string;
989
+ uri: string;
990
+ };
991
+ export type RegistryRepositoryWithTags = {
699
992
  /**
700
- * First name of the billing contact person.
993
+ * Repository name.
701
994
  */
702
- first_name: string;
995
+ name: string;
703
996
  /**
704
- * Last name of the billing contact person.
997
+ * Registry region.
705
998
  */
706
- last_name: string;
707
- };
708
- export type OrganizationCreateInput = {
999
+ region: string;
709
1000
  /**
710
- * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
1001
+ * Full URI of the repository.
711
1002
  */
712
- name: string;
1003
+ uri: string;
713
1004
  /**
714
- * Organization contact information and billing address.
1005
+ * Array of tags in the repository.
715
1006
  */
716
- contactInfo: {
717
- /**
718
- * Street address, P.O. box, c/o
719
- */
720
- address1?: string;
721
- /**
722
- * Apartment, suite, unit, building, floor, etc.
723
- */
724
- address2?: string;
725
- /**
726
- * Postal code as a string.
727
- */
728
- postalCode?: string;
729
- /**
730
- * City or town name.
731
- */
732
- city?: string;
733
- /**
734
- * State, province, or region name.
735
- */
736
- state?: string;
1007
+ tags: Array<{
737
1008
  /**
738
- * Country as a ISO 3166-1 alpha-2 country code.
1009
+ * Tag name.
739
1010
  */
740
- country?: string;
1011
+ name: string;
741
1012
  /**
742
- * Phone number as a string.
1013
+ * Size of the tag in bytes.
743
1014
  */
744
- phone?: string;
745
- /**
746
- * Email address used for billing as a string.
747
- */
748
- email: string;
1015
+ size: number;
749
1016
  /**
750
- * First name of the billing contact person.
1017
+ * Media type of the manifest.
751
1018
  */
752
- first_name: string;
1019
+ mediaType?: string;
753
1020
  /**
754
- * Last name of the billing contact person.
1021
+ * Array of platform strings for multi-arch images (e.g., linux/amd64, linux/arm64).
755
1022
  */
756
- last_name: string;
757
- };
1023
+ platforms?: Array<string>;
1024
+ }>;
758
1025
  /**
759
- * 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.
1026
+ * Total size of all tags in the repository in bytes.
760
1027
  */
761
- password: string;
1028
+ totalSize: number;
762
1029
  };
763
- export type Organization = {
1030
+ export type RegistryTag = {
764
1031
  /**
765
- * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
1032
+ * Tag name.
766
1033
  */
767
1034
  name: string;
768
1035
  /**
769
- * Organization contact information and billing address.
1036
+ * Manifest digest for pulling by digest.
770
1037
  */
771
- contactInfo: {
772
- /**
773
- * Street address, P.O. box, c/o
774
- */
775
- address1?: string;
776
- /**
777
- * Apartment, suite, unit, building, floor, etc.
778
- */
779
- address2?: string;
780
- /**
781
- * Postal code as a string.
782
- */
783
- postalCode?: string;
1038
+ digest: string;
1039
+ /**
1040
+ * Media type of the manifest.
1041
+ */
1042
+ mediaType?: string;
1043
+ /**
1044
+ * Manifest config metadata.
1045
+ */
1046
+ config?: {
784
1047
  /**
785
- * City or town name.
1048
+ * Size of the config in bytes.
786
1049
  */
787
- city?: string;
1050
+ size: number;
1051
+ };
1052
+ /**
1053
+ * Array of layer metadata.
1054
+ */
1055
+ layers?: Array<{
788
1056
  /**
789
- * State, province, or region name.
1057
+ * Digest of the layer.
790
1058
  */
791
- state?: string;
1059
+ digest?: string;
792
1060
  /**
793
- * Country as a ISO 3166-1 alpha-2 country code.
1061
+ * Size of the layer in bytes.
794
1062
  */
795
- country?: string;
1063
+ size: number;
1064
+ }>;
1065
+ /**
1066
+ * Array of manifests for multi-arch images.
1067
+ */
1068
+ manifests?: Array<{
796
1069
  /**
797
- * Phone number as a string.
1070
+ * Digest of the manifest.
798
1071
  */
799
- phone?: string;
1072
+ digest: string;
800
1073
  /**
801
- * Email address used for billing as a string.
1074
+ * Platform information for the manifest.
802
1075
  */
803
- email: string;
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
+ };
804
1090
  /**
805
- * First name of the billing contact person.
1091
+ * Layers for this platform.
806
1092
  */
807
- first_name: string;
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
+ }>;
808
1103
  /**
809
- * Last name of the billing contact person.
1104
+ * Total size of this platform manifest in bytes.
810
1105
  */
811
- last_name: string;
812
- };
1106
+ size?: number;
1107
+ }>;
813
1108
  /**
814
- * Unique identifier of the organization. UUID v4 string in canonical form
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).
815
1128
  */
816
1129
  id: string;
817
1130
  /**
818
- * Creation date of the organization. ISO 8601 date string in UTC timezone
1131
+ * Original filename as uploaded.
819
1132
  */
820
- date_created: string;
1133
+ filename: string;
821
1134
  /**
822
- * 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.
1135
+ * MIME content type of the attachment.
823
1136
  */
824
- quota: {
825
- /**
826
- * Maximum number of Basic clusters that can be created.
827
- */
828
- basic_clusters_max: number;
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<{
829
1164
  /**
830
- * Available number of Basic clusters that can be created.
1165
+ * Unique identifier of the ticket (Mongo ObjectId).
831
1166
  */
832
- basic_clusters_available: number;
1167
+ id: string;
833
1168
  /**
834
- * Maximum number of Pro clusters that can be created.
1169
+ * Current state of the ticket.
835
1170
  */
836
- pro_clusters_max: number;
1171
+ status: 'waiting_on_us' | 'waiting_on_user' | 'closed';
837
1172
  /**
838
- * Available number of Pro clusters that can be created.
1173
+ * Ticket category.
839
1174
  */
840
- pro_clusters_available: number;
1175
+ category: 'billing' | 'technical' | 'general';
841
1176
  /**
842
- * Maximum number of fleets that can be created per cluster.
1177
+ * First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.
843
1178
  */
844
- fleets_max: number;
1179
+ summary: string;
845
1180
  /**
846
- * Maximum number of CPU cores per managed fleet.
1181
+ * Closure timestamp. Null while the ticket is open.
847
1182
  */
848
- managed_fleets_cpu_max: number;
1183
+ closed_at?: string;
849
1184
  /**
850
- * List of Cloudfleet cluster tiers available for the organization.
1185
+ * Creation date of the ticket. ISO 8601 UTC.
851
1186
  */
852
- cluster_tiers: Array<string>;
1187
+ date_created: string;
853
1188
  /**
854
- * List of Cloudfleet control plane regions available for the organization.
1189
+ * Last update date of the ticket. ISO 8601 UTC.
855
1190
  */
856
- regions: Array<string>;
1191
+ date_updated: string;
857
1192
  /**
858
- * List of CFKE control plane versions available for the organization.
1193
+ * Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.
859
1194
  */
860
- versions: Array<{
1195
+ messages?: Array<{
861
1196
  /**
862
- * Id of the control plane version. Used in API calls.
1197
+ * Unique identifier of the message (Mongo ObjectId).
863
1198
  */
864
1199
  id: string;
865
1200
  /**
866
- * Label of the control plane version. Used in frontent UI.
1201
+ * Message type. Internal notes are filtered out of customer-facing responses.
867
1202
  */
868
- label: string;
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;
869
1241
  }>;
870
- };
1242
+ }>;
1243
+ };
1244
+ export type TicketMessageInput = {
871
1245
  /**
872
- * List of pending actions that the user needs to complete. Used in Cloudfleet console to guide the user through the onboarding process.
1246
+ * Reply body in markdown.
873
1247
  */
874
- pending_actions: Array<'signup-billing-address' | 'signup-payment-method' | 'signup-invite-team' | 'signup-create-cluster'>;
1248
+ body: string;
1249
+ };
1250
+ export type TicketMessage = {
875
1251
  /**
876
- * Status of the organization. Can be `active` or `closed`, or `suspended`.
1252
+ * Unique identifier of the message (Mongo ObjectId).
877
1253
  */
878
- status: 'active' | 'closed' | 'suspended';
879
- };
880
- export type OrganizationUpdateInput = {
1254
+ id: string;
881
1255
  /**
882
- * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
1256
+ * Message type. Internal notes are filtered out of customer-facing responses.
883
1257
  */
884
- name?: string;
1258
+ type: 'customer_reply' | 'agent_reply';
885
1259
  /**
886
- * Organization contact information and billing address.
1260
+ * Message body in markdown.
887
1261
  */
888
- contactInfo: {
889
- /**
890
- * Street address, P.O. box, c/o
891
- */
892
- address1?: string;
893
- /**
894
- * Apartment, suite, unit, building, floor, etc.
895
- */
896
- address2?: string;
897
- /**
898
- * Postal code as a string.
899
- */
900
- postalCode?: string;
901
- /**
902
- * City or town name.
903
- */
904
- city?: string;
905
- /**
906
- * State, province, or region name.
907
- */
908
- state?: string;
909
- /**
910
- * Country as a ISO 3166-1 alpha-2 country code.
911
- */
912
- country?: string;
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<{
913
1275
  /**
914
- * Phone number as a string.
1276
+ * Unique identifier of the attachment (Mongo ObjectId).
915
1277
  */
916
- phone?: string;
1278
+ id: string;
917
1279
  /**
918
- * Email address used for billing as a string.
1280
+ * Original filename as uploaded.
919
1281
  */
920
- email: string;
1282
+ filename: string;
921
1283
  /**
922
- * First name of the billing contact person.
1284
+ * MIME content type of the attachment.
923
1285
  */
924
- first_name: string;
1286
+ content_type: string;
925
1287
  /**
926
- * Last name of the billing contact person.
1288
+ * Size of the attachment in bytes.
927
1289
  */
928
- last_name: string;
929
- };
1290
+ size: number;
1291
+ }>;
1292
+ /**
1293
+ * Creation date of the message. ISO 8601 UTC.
1294
+ */
1295
+ date_created: string;
930
1296
  };
931
- export type PaymentMethod = {
1297
+ export type Ticket = {
932
1298
  /**
933
- * Unique identifier of the organization. UUID v4 string in canonical form.
1299
+ * Unique identifier of the ticket (Mongo ObjectId).
934
1300
  */
935
1301
  id: string;
936
1302
  /**
937
- * Whether organization payment method was set up and ready to use for payments.
1303
+ * Current state of the ticket.
938
1304
  */
939
- setup: boolean;
1305
+ status: 'waiting_on_us' | 'waiting_on_user' | 'closed';
940
1306
  /**
941
- * Payment method type type. Only `card` payments supported at the moment.
1307
+ * Ticket category.
942
1308
  */
943
- type: 'card';
1309
+ category: 'billing' | 'technical' | 'general';
944
1310
  /**
945
- * Last 4 digits of the payment card number.
1311
+ * First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.
946
1312
  */
947
- last4: string;
1313
+ summary: string;
948
1314
  /**
949
- * Two-digit number representing the card's expiration month.
1315
+ * Closure timestamp. Null while the ticket is open.
950
1316
  */
951
- exp_month: number;
1317
+ closed_at?: string;
952
1318
  /**
953
- * Four-digit number representing the card's expiration year.
1319
+ * Creation date of the ticket. ISO 8601 UTC.
954
1320
  */
955
- exp_year: number;
1321
+ date_created: string;
1322
+ /**
1323
+ * Last update date of the ticket. ISO 8601 UTC.
1324
+ */
1325
+ date_updated: string;
956
1326
  /**
957
- * Payment card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.
1327
+ * Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.
958
1328
  */
959
- brand: 'amex' | 'diners' | 'discover' | 'eftpos_au' | 'jcb' | 'mastercard' | 'unionpay' | 'visa' | 'unknown';
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
+ }>;
960
1376
  };
961
1377
  export type TokenCreateInput = {
962
1378
  /**
@@ -1000,35 +1416,85 @@ export type TokenUpdateInput = {
1000
1416
  */
1001
1417
  role?: 'Administrator' | 'User';
1002
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
+ };
1003
1473
  export type Usage = {
1004
1474
  /**
1005
1475
  * Hour of the usage
1006
1476
  */
1007
- hour?: string;
1477
+ hour: string;
1008
1478
  /**
1009
1479
  * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
1010
1480
  */
1011
1481
  cluster_id: string;
1012
1482
  /**
1013
- * Tier of the cluster.
1483
+ * The product the usage is associated with
1014
1484
  */
1015
- cluster_tier: '';
1485
+ product: string;
1016
1486
  /**
1017
- * The product the usage is associated with
1487
+ * Consumption
1018
1488
  */
1019
- product: 'cfke_infra_compute' | 'cfke_nodes' | 'cfke_controlplane';
1489
+ value: number;
1020
1490
  /**
1021
- * Name of the Kubernetes node
1491
+ * Price per unit
1022
1492
  */
1023
- node_name: string;
1493
+ price: number;
1024
1494
  /**
1025
- * SKU of the Kubernetes node
1495
+ * Total cost
1026
1496
  */
1027
- sku: string;
1028
- cpu: number | '';
1029
- price: number | '';
1030
- value: number | '';
1031
- total: number | '';
1497
+ total: number;
1032
1498
  };
1033
1499
  export type UserCreateInput = {
1034
1500
  /**
@@ -1048,17 +1514,9 @@ export type UserCreateInput = {
1048
1514
  */
1049
1515
  code: string;
1050
1516
  /**
1051
- * User password. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character.
1517
+ * User password. Must be at least 8 characters long.
1052
1518
  */
1053
1519
  password: string;
1054
- /**
1055
- * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
1056
- */
1057
- status?: 'active' | 'inactive';
1058
- /**
1059
- * User role. Can be 'Administrator', 'User'.
1060
- */
1061
- role?: 'Administrator' | 'User';
1062
1520
  };
1063
1521
  export type User = {
1064
1522
  /**
@@ -1089,16 +1547,6 @@ export type User = {
1089
1547
  * Creation date of the user. ISO 8601 date string in UTC timezone
1090
1548
  */
1091
1549
  date_created: string;
1092
- cluster_permissions?: Array<{
1093
- /**
1094
- * Unique identifier of the cluster. UUID v4 string in canonical form
1095
- */
1096
- cluster_id: string;
1097
- /**
1098
- * User permissions to access the cluster. Can be `readwrite` or `readonly`.
1099
- */
1100
- permissions: 'readwrite' | 'readonly';
1101
- }>;
1102
1550
  };
1103
1551
  export type UserUpdateInput = {
1104
1552
  /**
@@ -1123,123 +1571,351 @@ export type UserUpdateInput = {
1123
1571
  status?: 'active' | 'inactive';
1124
1572
  };
1125
1573
  export type GetUsageData = {
1574
+ body?: never;
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
+ };
1643
+ query?: never;
1644
+ url: '/billing/payment-methods/{paymentMethodId}/default';
1645
+ };
1646
+ export type SetDefaultPaymentMethodErrors = {
1647
+ /**
1648
+ * The bank transfer payment method cannot be set as the default.
1649
+ */
1650
+ 400: unknown;
1651
+ /**
1652
+ * Not authenticated
1653
+ */
1654
+ 401: unknown;
1655
+ /**
1656
+ * Payment method not found.
1657
+ */
1658
+ 404: unknown;
1659
+ };
1660
+ export type SetDefaultPaymentMethodResponses = {
1661
+ /**
1662
+ * Default payment method updated.
1663
+ */
1664
+ 204: void;
1665
+ };
1666
+ export type SetDefaultPaymentMethodResponse = SetDefaultPaymentMethodResponses[keyof SetDefaultPaymentMethodResponses];
1667
+ export type DeletePaymentMethodData = {
1668
+ body?: never;
1669
+ path: {
1670
+ /**
1671
+ * Stripe payment method identifier.
1672
+ */
1673
+ paymentMethodId: string;
1674
+ };
1675
+ query?: never;
1676
+ url: '/billing/payment-methods/{paymentMethodId}';
1677
+ };
1678
+ export type DeletePaymentMethodErrors = {
1679
+ /**
1680
+ * The bank transfer payment method cannot be removed.
1681
+ */
1682
+ 400: unknown;
1683
+ /**
1684
+ * Not authenticated
1685
+ */
1686
+ 401: unknown;
1687
+ /**
1688
+ * Payment method not found.
1689
+ */
1690
+ 404: unknown;
1691
+ /**
1692
+ * Cannot delete the only remaining payment method.
1693
+ */
1694
+ 409: unknown;
1695
+ };
1696
+ export type DeletePaymentMethodResponses = {
1697
+ /**
1698
+ * Payment method deleted.
1699
+ */
1700
+ 204: void;
1701
+ };
1702
+ export type DeletePaymentMethodResponse = DeletePaymentMethodResponses[keyof DeletePaymentMethodResponses];
1703
+ export type ListInvoicesData = {
1704
+ body?: never;
1705
+ path?: never;
1706
+ query?: never;
1707
+ url: '/billing/invoices';
1708
+ };
1709
+ export type ListInvoicesErrors = {
1710
+ /**
1711
+ * Not authenticated
1712
+ */
1713
+ 401: unknown;
1714
+ };
1715
+ export type ListInvoicesResponses = {
1716
+ /**
1717
+ * An array of usage records.
1718
+ */
1719
+ 200: Array<Invoice>;
1720
+ };
1721
+ export type ListInvoicesResponse = ListInvoicesResponses[keyof ListInvoicesResponses];
1722
+ export type GetContactData = {
1126
1723
  body?: never;
1127
1724
  path?: never;
1128
1725
  query?: never;
1129
- url: '/billing/usage';
1726
+ url: '/billing/contact';
1130
1727
  };
1131
- export type GetUsageErrors = {
1728
+ export type GetContactResponses = {
1132
1729
  /**
1133
- * Not authenticated
1730
+ * Returns a single object containing organization contact and billing address details.
1134
1731
  */
1135
- 401: unknown;
1732
+ 200: BillingContact;
1136
1733
  };
1137
- export type GetUsageResponses = {
1734
+ export type GetContactResponse = GetContactResponses[keyof GetContactResponses];
1735
+ export type UpdateContactData = {
1736
+ body: BillingContact;
1737
+ path?: never;
1738
+ query?: never;
1739
+ url: '/billing/contact';
1740
+ };
1741
+ export type UpdateContactResponses = {
1138
1742
  /**
1139
- * An array of usage records.
1743
+ * Successfully updated. Returns updated organization details.
1140
1744
  */
1141
- 200: Array<Usage>;
1745
+ 200: BillingContact;
1142
1746
  };
1143
- export type GetUsageResponse = GetUsageResponses[keyof GetUsageResponses];
1144
- export type GetBalanceData = {
1747
+ export type UpdateContactResponse = UpdateContactResponses[keyof UpdateContactResponses];
1748
+ export type GetCreditsData = {
1145
1749
  body?: never;
1146
1750
  path?: never;
1147
1751
  query?: never;
1148
- url: '/billing/balance';
1752
+ url: '/billing/credits';
1149
1753
  };
1150
- export type GetBalanceResponses = {
1754
+ export type GetCreditsErrors = {
1151
1755
  /**
1152
- * Current balance of the organization in USD as a floating-point number.
1756
+ * Not authenticated
1153
1757
  */
1154
- 200: number;
1758
+ 401: unknown;
1155
1759
  };
1156
- export type GetBalanceResponse = GetBalanceResponses[keyof GetBalanceResponses];
1157
- export type GetPaymentMethodData = {
1158
- body?: never;
1760
+ export type GetCreditsResponses = {
1761
+ /**
1762
+ * An array of the applied promotional credits records.
1763
+ */
1764
+ 200: Array<BillingCredits>;
1765
+ };
1766
+ export type GetCreditsResponse = GetCreditsResponses[keyof GetCreditsResponses];
1767
+ export type RedeemCreditsData = {
1768
+ body: {
1769
+ /**
1770
+ * Promotional code to redeem
1771
+ */
1772
+ code?: string;
1773
+ };
1159
1774
  path?: never;
1160
1775
  query?: never;
1161
- url: '/billing/payment-method';
1776
+ url: '/billing/credits';
1162
1777
  };
1163
- export type GetPaymentMethodErrors = {
1778
+ export type RedeemCreditsErrors = {
1164
1779
  /**
1165
- * Returns 404 Not Found if the organization does not have a payment method set up.
1780
+ * Not authenticated
1166
1781
  */
1167
- 404: unknown;
1782
+ 401: unknown;
1168
1783
  };
1169
- export type GetPaymentMethodResponses = {
1784
+ export type RedeemCreditsResponses = {
1170
1785
  /**
1171
- * Redacted payment card information.
1786
+ * Successfully created a new organization.
1172
1787
  */
1173
- 200: PaymentMethod;
1788
+ 200: unknown;
1174
1789
  };
1175
- export type GetPaymentMethodResponse = GetPaymentMethodResponses[keyof GetPaymentMethodResponses];
1176
- export type GetPaymentMethodSecretData = {
1790
+ export type ListChartsData = {
1177
1791
  body?: never;
1178
- path?: never;
1792
+ path: {
1793
+ /**
1794
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1795
+ */
1796
+ cluster_id: string;
1797
+ };
1179
1798
  query?: never;
1180
- url: '/billing/payment-method';
1799
+ url: '/clusters/{cluster_id}/charts';
1181
1800
  };
1182
- export type GetPaymentMethodSecretResponses = {
1801
+ export type ListChartsErrors = {
1183
1802
  /**
1184
- * 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.
1185
- *
1803
+ * Not authenticated
1186
1804
  */
1187
- 200: {
1805
+ 401: unknown;
1806
+ };
1807
+ export type ListChartsResponses = {
1808
+ /**
1809
+ * An array of charts
1810
+ */
1811
+ 200: Array<Chart>;
1812
+ };
1813
+ export type ListChartsResponse = ListChartsResponses[keyof ListChartsResponses];
1814
+ export type CreateChartData = {
1815
+ body: ChartCreateInput;
1816
+ path: {
1188
1817
  /**
1189
- * The client secret.
1818
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1190
1819
  */
1191
- id?: string;
1820
+ cluster_id: string;
1192
1821
  };
1822
+ query?: never;
1823
+ url: '/clusters/{cluster_id}/charts';
1193
1824
  };
1194
- export type GetPaymentMethodSecretResponse = GetPaymentMethodSecretResponses[keyof GetPaymentMethodSecretResponses];
1195
- export type ListInvoicesData = {
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];
1832
+ export type CreateChartResponses = {
1833
+ /**
1834
+ * Successfully created. Returns created Chart ID.
1835
+ */
1836
+ 200: string;
1837
+ };
1838
+ export type CreateChartResponse = CreateChartResponses[keyof CreateChartResponses];
1839
+ export type DeleteChartData = {
1196
1840
  body?: never;
1197
- path?: never;
1198
- query: {
1841
+ path: {
1199
1842
  /**
1200
- * Start date for the usage. Date of oldest data point to retrieve.
1843
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1201
1844
  */
1202
- start_date: string;
1845
+ cluster_id: string;
1203
1846
  /**
1204
- * End date for the usage. Date of newest data point to retrieve.
1847
+ * Chart deployment name as the unique identifier of the chart.
1205
1848
  */
1206
- end_date: string;
1849
+ chart_name: string;
1207
1850
  };
1208
- url: '/billing/invoices';
1851
+ query?: never;
1852
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
1209
1853
  };
1210
- export type ListInvoicesErrors = {
1854
+ export type DeleteChartErrors = {
1211
1855
  /**
1212
- * Not authenticated
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.
1213
1857
  */
1214
- 401: unknown;
1858
+ 409: string;
1215
1859
  };
1216
- export type ListInvoicesResponses = {
1860
+ export type DeleteChartError = DeleteChartErrors[keyof DeleteChartErrors];
1861
+ export type DeleteChartResponses = {
1217
1862
  /**
1218
- * An array of usage records.
1863
+ * Successfully deleted.
1219
1864
  */
1220
- 200: Array<Invoice>;
1865
+ 200: string;
1221
1866
  };
1222
- export type ListInvoicesResponse = ListInvoicesResponses[keyof ListInvoicesResponses];
1223
- export type GetInvoiceData = {
1867
+ export type DeleteChartResponse = DeleteChartResponses[keyof DeleteChartResponses];
1868
+ export type GetChartData = {
1224
1869
  body?: never;
1225
1870
  path: {
1226
1871
  /**
1227
- * Unique invoice identifier. UUID v4 string in canonical form
1872
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1873
+ */
1874
+ cluster_id: string;
1875
+ /**
1876
+ * Chart deployment name as the unique identifier of the chart.
1228
1877
  */
1229
- id: string;
1878
+ chart_name: string;
1230
1879
  };
1231
1880
  query?: never;
1232
- url: '/billing/invoices/{id}';
1881
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
1233
1882
  };
1234
- export type GetInvoiceResponses = {
1883
+ export type GetChartResponses = {
1235
1884
  /**
1236
- * Returns a single Invoice HTML representation under `html` property.
1885
+ * Returns a single object containing chart details.
1237
1886
  */
1238
- 200: {
1239
- html?: string;
1887
+ 200: Chart;
1888
+ };
1889
+ export type GetChartResponse = GetChartResponses[keyof GetChartResponses];
1890
+ export type UpdateChartData = {
1891
+ body: ChartUpdateInput;
1892
+ path: {
1893
+ /**
1894
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1895
+ */
1896
+ cluster_id: string;
1897
+ /**
1898
+ * Chart deployment name as the unique identifier of the chart.
1899
+ */
1900
+ chart_name: string;
1240
1901
  };
1902
+ query?: never;
1903
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
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];
1912
+ export type UpdateChartResponses = {
1913
+ /**
1914
+ * Successfully updated.
1915
+ */
1916
+ 200: string;
1241
1917
  };
1242
- export type GetInvoiceResponse = GetInvoiceResponses[keyof GetInvoiceResponses];
1918
+ export type UpdateChartResponse = UpdateChartResponses[keyof UpdateChartResponses];
1243
1919
  export type ListFleetsData = {
1244
1920
  body?: never;
1245
1921
  path: {
@@ -1280,6 +1956,10 @@ export type CreateFleetErrors = {
1280
1956
  * Cluster quota exceeded. Maximum number of fleets per cluster allowed in this organization is reached.
1281
1957
  */
1282
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;
1283
1963
  };
1284
1964
  export type CreateFleetError = CreateFleetErrors[keyof CreateFleetErrors];
1285
1965
  export type CreateFleetResponses = {
@@ -1304,6 +1984,13 @@ export type DeleteFleetData = {
1304
1984
  query?: never;
1305
1985
  url: '/clusters/{cluster_id}/fleets/{fleet_name}';
1306
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];
1307
1994
  export type DeleteFleetResponses = {
1308
1995
  /**
1309
1996
  * Successfully deleted.
@@ -1353,6 +2040,10 @@ export type UpdateFleetErrors = {
1353
2040
  * Organization must have a valid payment method configured to access this endpoint.
1354
2041
  */
1355
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;
1356
2047
  };
1357
2048
  export type UpdateFleetError = UpdateFleetErrors[keyof UpdateFleetErrors];
1358
2049
  export type UpdateFleetResponses = {
@@ -1435,9 +2126,24 @@ export type DeleteClusterData = {
1435
2126
  query?: never;
1436
2127
  url: '/clusters/{cluster_id}';
1437
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];
1438
2144
  export type DeleteClusterResponses = {
1439
2145
  /**
1440
- * Successfully deleted.
2146
+ * Successfully deleted. The cluster has been torn down.
1441
2147
  */
1442
2148
  200: string;
1443
2149
  };
@@ -1471,6 +2177,13 @@ export type UpdateClusterData = {
1471
2177
  query?: never;
1472
2178
  url: '/clusters/{cluster_id}';
1473
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];
1474
2187
  export type UpdateClusterResponses = {
1475
2188
  /**
1476
2189
  * Successfully updated. Returns updated cluster details.
@@ -1483,271 +2196,30 @@ export type GetJoinInformationData = {
1483
2196
  path: {
1484
2197
  /**
1485
2198
  * Unique identifier of the cluster. UUID v4 string in canonical form
1486
- */
1487
- cluster_id: string;
1488
- };
1489
- query?: never;
1490
- url: '/clusters/{cluster_id}/join_information';
1491
- };
1492
- export type GetJoinInformationErrors = {
1493
- /**
1494
- * Not authenticated
1495
- */
1496
- 401: unknown;
1497
- };
1498
- export type GetJoinInformationResponses = {
1499
- /**
1500
- * An object of cluster join information
1501
- */
1502
- 200: Cluster;
1503
- };
1504
- export type GetJoinInformationResponse = GetJoinInformationResponses[keyof GetJoinInformationResponses];
1505
- export type GetInfrastructureData = {
1506
- body?: never;
1507
- path?: never;
1508
- query?: {
1509
- /**
1510
- * Version of the task definition. Currently only version 1 is supported.
1511
- */
1512
- version?: 1;
1513
- /**
1514
- * Limit selection of cloud providers to this list. For the full list of supported providers, see [Providers](https://cloudfleet.ai/docs/cloud-infrastructure/providers/)
1515
- */
1516
- provider?: Array<string>;
1517
- /**
1518
- * Limits selection of cloud regions to this list of Cloudfleet regions. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)
1519
- */
1520
- region?: Array<string>;
1521
- /**
1522
- * Limits selection of cloud regions to this list of Cloudfleet regions. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)
1523
- */
1524
- sub_region?: Array<string>;
1525
- /**
1526
- * Limits selection of cloud regions to this list of canonical provider regions
1527
- */
1528
- csp_region?: Array<string>;
1529
- /**
1530
- * Limits selection of instance types to this list. Instance / VM type as defined by the cloud service provider
1531
- */
1532
- instance_type?: Array<string>;
1533
- /**
1534
- * List of Normalized accelerator model names. For example, all variations of Nvidia A100 GPUs will have 'A100' as accelerator name with various memory configurations set in accelerator_memory field
1535
- */
1536
- accelerator_name?: Array<string>;
1537
- /**
1538
- * List of normalized accelerator manufacturer names. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer
1539
- */
1540
- accelerator_manufacturer?: Array<string>;
1541
- /**
1542
- * Minimum number of accelerators available on the instance. Some cloud providers support shared accelerators, so the number of accelerators may be a fraction of the number of physical accelerators.
1543
- */
1544
- accelerator_count_min?: number;
1545
- /**
1546
- * Maximum number of accelerators available on the instance. Some cloud providers support shared accelerators, so the number of accelerators may be a fraction of the number of physical accelerators.
1547
- */
1548
- accelerator_count_max?: number;
1549
- /**
1550
- * Minimum amount of accelerator memory available to each accelerator. For example, Nvidia A100 GPUs will typically have '40.0' gibibytes (GiB) of memory, while A100 GPUs with HBM2E memory will have '80.0' gibibytes (GiB) of memory
1551
- */
1552
- accelerator_memory_min?: number;
1553
- /**
1554
- * Maximum amount of accelerator memory available to each accelerator. For example, Nvidia A100 GPUs will typically have '40.0' gibibytes (GiB) of memory, while A100 GPUs with HBM2E memory will have '80.0' gibibytes (GiB) of memory
1555
- */
1556
- accelerator_memory_max?: number;
1557
- /**
1558
- * Minimum amount of RAM in gibibytes (GiB)
1559
- */
1560
- memory_min?: number;
1561
- /**
1562
- * Maximum amount of RAM in gibibytes (GiB)
1563
- */
1564
- memory_max?: number;
1565
- /**
1566
- * Minimum number of vCPUs as defined by the cloud service provider. Some cloud providers use hyperthreading, so the number of vCPUs may be twice as high as the number of physical cores.
1567
- */
1568
- vcpu_min?: number;
1569
- /**
1570
- * Maximum number of vCPUs as defined by the cloud service provider. Some cloud providers use hyperthreading, so the number of vCPUs may be twice as high as the number of physical cores.
1571
- */
1572
- vcpu_max?: number;
1573
- /**
1574
- * Minimum total storage in GiB (attached and local)
1575
- */
1576
- storage_total_min?: number;
1577
- /**
1578
- * Maximum total storage in GiB (attached and local)
1579
- */
1580
- storage_total_max?: number;
1581
- /**
1582
- * Minimum volume of directly attached, block-device local storage in gibibytes (GiB)
1583
- */
1584
- storage_local_min?: number;
1585
- /**
1586
- * Maximum volume of directly attached, block-device local storage in gibibytes (GiB)
1587
- */
1588
- storage_local_max?: number;
1589
- /**
1590
- * Minimum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.
1591
- */
1592
- price_min?: number;
1593
- /**
1594
- * Maximum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.
1595
- */
1596
- price_max?: number;
1597
- };
1598
- url: '/infrastructure';
1599
- };
1600
- export type GetInfrastructureErrors = {
1601
- /**
1602
- * Returns a validation error if any of the search parameters in the request are invalid
1603
- */
1604
- 400: Blob | File;
1605
- };
1606
- export type GetInfrastructureError = GetInfrastructureErrors[keyof GetInfrastructureErrors];
1607
- export type GetInfrastructureResponses = {
1608
- /**
1609
- * An array of instances returned by the search
1610
- */
1611
- 200: Array<InfrastructureInstance>;
1612
- };
1613
- export type GetInfrastructureResponse = GetInfrastructureResponses[keyof GetInfrastructureResponses];
1614
- export type GetFacetsData = {
1615
- body?: never;
1616
- path?: never;
1617
- query?: never;
1618
- url: '/infrastructure/facets';
1619
- };
1620
- export type GetFacetsResponses = {
1621
- /**
1622
- * Calculates search facets of the infrastructure catalog
1623
- */
1624
- 200: Array<{
1625
- /**
1626
- * Limit selection of cloud providers to this list. For the full list of supported providers, see [Providers](https://cloudfleet.ai/docs/cloud-infrastructure/providers/)
1627
- */
1628
- provider?: Array<string>;
1629
- /**
1630
- * Limits selection of cloud regions to this list of Cloudfleet regions. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)
1631
- */
1632
- region?: Array<string>;
1633
- /**
1634
- * Limits selection of cloud sub-regions to this list of Cloudfleet sub-regions. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)
1635
- */
1636
- sub_region?: Array<string>;
1637
- /**
1638
- * Limits selection of cloud regions to this list of canonical provider regions
1639
- */
1640
- csp_region?: Array<string>;
1641
- /**
1642
- * Minimum number of vCPUs as defined by the cloud service provider. Some cloud providers use hyperthreading, so the number of vCPUs may be twice as high as the number of physical cores.
1643
- */
1644
- vcpu_min?: number;
1645
- /**
1646
- * Maximum number of vCPUs as defined by the cloud service provider. Some cloud providers use hyperthreading, so the number of vCPUs may be twice as high as the number of physical cores.
1647
- */
1648
- vcpu_max?: number;
1649
- /**
1650
- * Minimum amount of RAM in gibibytes (GiB)
1651
- */
1652
- memory_min?: number;
1653
- /**
1654
- * Maximum amount of RAM in gibibytes (GiB)
1655
- */
1656
- memory_max?: number;
1657
- /**
1658
- * Minimum volume of directly attached, block-device local storage in gibibytes (GiB)
1659
- */
1660
- storage_local_min?: number;
1661
- /**
1662
- * Maximum volume of directly attached, block-device local storage in gibibytes (GiB)
1663
- */
1664
- storage_local_max?: number;
1665
- /**
1666
- * List of Normalized accelerator model names. For example, all variations of Nvidia A100 GPUs will have 'A100' as accelerator name with various memory configurations set in accelerator_memory field
1667
- */
1668
- accelerator_name?: Array<string>;
1669
- /**
1670
- * List of normalized accelerator manufacturer names. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer
1671
- */
1672
- accelerator_manufacturer?: Array<string>;
1673
- /**
1674
- * Minimum number of accelerators available on the instance. Some cloud providers support shared accelerators, so the number of accelerators may be a fraction of the number of physical accelerators.
1675
- */
1676
- accelerator_count_min?: number;
1677
- /**
1678
- * Maximum number of accelerators available on the instance. Some cloud providers support shared accelerators, so the number of accelerators may be a fraction of the number of physical accelerators.
1679
- */
1680
- accelerator_count_max?: number;
1681
- /**
1682
- * Minimum amount of accelerator memory available to each accelerator. For example, Nvidia A100 GPUs will typically have '40.0' gibibytes (GiB) of memory, while A100 GPUs with HBM2E memory will have '80.0' gibibytes (GiB) of memory
1683
- */
1684
- accelerator_memory_min?: number;
1685
- /**
1686
- * Maximum amount of accelerator memory available to each accelerator. For example, Nvidia A100 GPUs will typically have '40.0' gibibytes (GiB) of memory, while A100 GPUs with HBM2E memory will have '80.0' gibibytes (GiB) of memory
1687
- */
1688
- accelerator_memory_max?: number;
1689
- /**
1690
- * Minimum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.
1691
- */
1692
- price_min?: number;
1693
- /**
1694
- * Maximum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.
1695
- */
1696
- price_max?: number;
1697
- /**
1698
- * Structured array of regions and sub-regions
1699
- */
1700
- regions_struct?: Array<{
1701
- /**
1702
- * Limits selection of cloud regions to this list of Cloudfleet regions. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)
1703
- */
1704
- region?: string;
1705
- sub_region?: Array<string>;
1706
- }>;
1707
- /**
1708
- * Structured array of regions and sub-regions
1709
- */
1710
- accelerators_struct?: Array<{
1711
- /**
1712
- * List of normalized accelerator manufacturer names. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer
1713
- */
1714
- accelerator_manufacturer?: string;
1715
- accelerator_name?: Array<string>;
1716
- }>;
1717
- /**
1718
- * Total number of instances in the catalog
1719
- */
1720
- count_total?: number;
1721
- /**
1722
- * Total number of instances in the catalog with at least 1 accelerator
1723
- */
1724
- count_accelerators?: number;
1725
- /**
1726
- * Total number of unique instances types in the catalog
1727
- */
1728
- count_instance_types?: number;
1729
- /**
1730
- * Total number of unique instances types in the catalog with at least 1 accelerator
1731
- */
1732
- count_accelerators_instance_types?: number;
1733
- }>;
1734
- };
1735
- export type GetFacetsResponse = GetFacetsResponses[keyof GetFacetsResponses];
1736
- export type GetRegionsData = {
1737
- body?: never;
1738
- path?: never;
2199
+ */
2200
+ cluster_id: string;
2201
+ };
1739
2202
  query?: never;
1740
- url: '/infrastructure/regions';
2203
+ url: '/clusters/{cluster_id}/join_information';
1741
2204
  };
1742
- export type GetRegionsResponses = {
2205
+ export type GetJoinInformationErrors = {
1743
2206
  /**
1744
- * Available Cloudfleet regions and Kubernetes versions.
2207
+ * Not authenticated
1745
2208
  */
1746
- 200: {
1747
- [key: string]: unknown;
1748
- };
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;
2214
+ };
2215
+ export type GetJoinInformationError = GetJoinInformationErrors[keyof GetJoinInformationErrors];
2216
+ export type GetJoinInformationResponses = {
2217
+ /**
2218
+ * An object of cluster join information
2219
+ */
2220
+ 200: ClusterJoinInformation;
1749
2221
  };
1750
- export type GetRegionsResponse = GetRegionsResponses[keyof GetRegionsResponses];
2222
+ export type GetJoinInformationResponse = GetJoinInformationResponses[keyof GetJoinInformationResponses];
1751
2223
  export type ListInvitesData = {
1752
2224
  body?: never;
1753
2225
  path?: never;
@@ -1768,12 +2240,7 @@ export type ListInvitesResponses = {
1768
2240
  };
1769
2241
  export type ListInvitesResponse = ListInvitesResponses[keyof ListInvitesResponses];
1770
2242
  export type CreateInviteData = {
1771
- body: {
1772
- /**
1773
- * User email address
1774
- */
1775
- email?: string;
1776
- };
2243
+ body: InviteCreateInput;
1777
2244
  path?: never;
1778
2245
  query?: never;
1779
2246
  url: '/invites';
@@ -1798,9 +2265,18 @@ export type GetInviteData = {
1798
2265
  };
1799
2266
  export type GetInviteResponses = {
1800
2267
  /**
1801
- * Returns a single object containing invite details.
2268
+ * The invitation code is valid. Returns the invited email and organization.
1802
2269
  */
1803
- 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
+ };
1804
2280
  };
1805
2281
  export type GetInviteResponse = GetInviteResponses[keyof GetInviteResponses];
1806
2282
  export type DeleteInviteData = {
@@ -1820,6 +2296,95 @@ export type DeleteInviteResponses = {
1820
2296
  */
1821
2297
  200: unknown;
1822
2298
  };
2299
+ export type ListMarketplaceChartsData = {
2300
+ body?: never;
2301
+ path?: never;
2302
+ query?: never;
2303
+ url: '/marketplace';
2304
+ };
2305
+ export type ListMarketplaceChartsErrors = {
2306
+ /**
2307
+ * Not authenticated
2308
+ */
2309
+ 401: unknown;
2310
+ };
2311
+ export type ListMarketplaceChartsResponses = {
2312
+ /**
2313
+ * An array of chart listings in the marketplace.
2314
+ */
2315
+ 200: Array<MarketplaceListing>;
2316
+ };
2317
+ export type ListMarketplaceChartsResponse = ListMarketplaceChartsResponses[keyof ListMarketplaceChartsResponses];
2318
+ export type GetMarketplaceChartFilesData = {
2319
+ body?: never;
2320
+ path: {
2321
+ /**
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
2356
+ */
2357
+ params?: {
2358
+ [key: string]: unknown;
2359
+ };
2360
+ };
2361
+ path?: never;
2362
+ query?: never;
2363
+ url: '/mcp';
2364
+ };
2365
+ export type PostMcpErrors = {
2366
+ /**
2367
+ * Not authenticated
2368
+ */
2369
+ 401: unknown;
2370
+ };
2371
+ export type PostMcpResponses = {
2372
+ /**
2373
+ * JSON-RPC 2.0 success or error response
2374
+ */
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
+ };
2386
+ };
2387
+ export type PostMcpResponse = PostMcpResponses[keyof PostMcpResponses];
1823
2388
  export type GetOrganizationData = {
1824
2389
  body?: never;
1825
2390
  path?: never;
@@ -1841,24 +2406,255 @@ export type CreateOrganizationData = {
1841
2406
  };
1842
2407
  export type CreateOrganizationResponses = {
1843
2408
  /**
1844
- * Successfully created a new organization. Returns organization details.
2409
+ * Organization signup accepted. Returns the generated organization id immediately; provisioning (billing, Keycloak realm, user) continues asynchronously in the background.
2410
+ *
1845
2411
  */
1846
- 200: Organization;
2412
+ 200: OrganizationCreateOutput;
1847
2413
  };
1848
2414
  export type CreateOrganizationResponse = CreateOrganizationResponses[keyof CreateOrganizationResponses];
1849
- export type UpdateOrganizationData = {
1850
- body: OrganizationUpdateInput;
2415
+ export type ListRepositoriesData = {
2416
+ body?: never;
1851
2417
  path?: never;
1852
2418
  query?: never;
1853
- url: '/organization';
2419
+ url: '/registry';
1854
2420
  };
1855
- export type UpdateOrganizationResponses = {
2421
+ export type ListRepositoriesErrors = {
1856
2422
  /**
1857
- * Successfully updated. Returns updated organization details.
2423
+ * Not authenticated
1858
2424
  */
1859
- 200: Organization;
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
2510
+ */
2511
+ 200: unknown;
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;
1860
2656
  };
1861
- export type UpdateOrganizationResponse = UpdateOrganizationResponses[keyof UpdateOrganizationResponses];
2657
+ export type GetTicketAttachmentResponse = GetTicketAttachmentResponses[keyof GetTicketAttachmentResponses];
1862
2658
  export type ListTokensData = {
1863
2659
  body?: never;
1864
2660
  path?: never;
@@ -2115,53 +2911,4 @@ export type UpdateUserResponses = {
2115
2911
  200: User;
2116
2912
  };
2117
2913
  export type UpdateUserResponse = UpdateUserResponses[keyof UpdateUserResponses];
2118
- export type DeleteClusterPermissionsData = {
2119
- body?: never;
2120
- path: {
2121
- /**
2122
- * Unique user identifier. UUID v4 string in canonical form
2123
- */
2124
- user_id: string;
2125
- /**
2126
- * Unique cluster identifier. UUID v4 string in canonical form
2127
- */
2128
- cluster_id: string;
2129
- };
2130
- query?: never;
2131
- url: '/users/{user_id}/clusters/{cluster_id}';
2132
- };
2133
- export type DeleteClusterPermissionsResponses = {
2134
- /**
2135
- * Successfully removed user from the cluster. Returns updated user details.
2136
- */
2137
- 200: User;
2138
- };
2139
- export type DeleteClusterPermissionsResponse = DeleteClusterPermissionsResponses[keyof DeleteClusterPermissionsResponses];
2140
- export type SetClusterPermissionsData = {
2141
- body: {
2142
- /**
2143
- * Level of permissions for the user to access the cluster
2144
- */
2145
- permissions?: 'readwrite' | 'readonly';
2146
- };
2147
- path: {
2148
- /**
2149
- * Unique user identifier. UUID v4 string in canonical form
2150
- */
2151
- user_id: string;
2152
- /**
2153
- * Unique cluster identifier. UUID v4 string in canonical form
2154
- */
2155
- cluster_id: string;
2156
- };
2157
- query?: never;
2158
- url: '/users/{user_id}/clusters/{cluster_id}';
2159
- };
2160
- export type SetClusterPermissionsResponses = {
2161
- /**
2162
- * Successfully created. Returns created user details.
2163
- */
2164
- 200: User;
2165
- };
2166
- export type SetClusterPermissionsResponse = SetClusterPermissionsResponses[keyof SetClusterPermissionsResponses];
2167
2914
  //# sourceMappingURL=types.gen.d.ts.map