@cloudfleet/sdk 0.0.1-7bf9c12 → 0.0.1-7c77c6d

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 (88) hide show
  1. package/README.md +26 -2
  2. package/dist/@tanstack/react-query.gen.d.ts +1084 -0
  3. package/dist/@tanstack/react-query.gen.d.ts.map +1 -0
  4. package/dist/@tanstack/react-query.gen.js +1305 -0
  5. package/dist/@tanstack/react-query.gen.js.map +1 -0
  6. package/dist/client/client.gen.d.ts +3 -0
  7. package/dist/client/client.gen.d.ts.map +1 -0
  8. package/dist/client/client.gen.js +217 -0
  9. package/dist/client/client.gen.js.map +1 -0
  10. package/dist/client/index.d.ts +9 -0
  11. package/dist/client/index.d.ts.map +1 -0
  12. package/dist/client/index.js +7 -0
  13. package/dist/client/index.js.map +1 -0
  14. package/dist/client/types.gen.d.ts +121 -0
  15. package/dist/client/types.gen.d.ts.map +1 -0
  16. package/dist/client/types.gen.js +3 -0
  17. package/dist/client/types.gen.js.map +1 -0
  18. package/dist/client/utils.gen.d.ts +38 -0
  19. package/dist/client/utils.gen.d.ts.map +1 -0
  20. package/dist/client/utils.gen.js +229 -0
  21. package/dist/client/utils.gen.js.map +1 -0
  22. package/dist/client.gen.d.ts +13 -0
  23. package/dist/client.gen.d.ts.map +1 -0
  24. package/dist/client.gen.js +4 -0
  25. package/dist/client.gen.js.map +1 -0
  26. package/dist/core/auth.gen.d.ts +19 -0
  27. package/dist/core/auth.gen.d.ts.map +1 -0
  28. package/dist/core/auth.gen.js +15 -0
  29. package/dist/core/auth.gen.js.map +1 -0
  30. package/dist/core/bodySerializer.gen.d.ts +26 -0
  31. package/dist/core/bodySerializer.gen.d.ts.map +1 -0
  32. package/dist/core/bodySerializer.gen.js +58 -0
  33. package/dist/core/bodySerializer.gen.js.map +1 -0
  34. package/dist/core/params.gen.d.ts +44 -0
  35. package/dist/core/params.gen.d.ts.map +1 -0
  36. package/dist/core/params.gen.js +101 -0
  37. package/dist/core/params.gen.js.map +1 -0
  38. package/dist/core/pathSerializer.gen.d.ts +34 -0
  39. package/dist/core/pathSerializer.gen.d.ts.map +1 -0
  40. package/dist/core/pathSerializer.gen.js +107 -0
  41. package/dist/core/pathSerializer.gen.js.map +1 -0
  42. package/dist/core/queryKeySerializer.gen.d.ts +19 -0
  43. package/dist/core/queryKeySerializer.gen.d.ts.map +1 -0
  44. package/dist/core/queryKeySerializer.gen.js +93 -0
  45. package/dist/core/queryKeySerializer.gen.js.map +1 -0
  46. package/dist/core/serverSentEvents.gen.d.ts +72 -0
  47. package/dist/core/serverSentEvents.gen.d.ts.map +1 -0
  48. package/dist/core/serverSentEvents.gen.js +133 -0
  49. package/dist/core/serverSentEvents.gen.js.map +1 -0
  50. package/dist/core/types.gen.d.ts +79 -0
  51. package/dist/core/types.gen.d.ts.map +1 -0
  52. package/dist/core/types.gen.js +3 -0
  53. package/dist/core/types.gen.js.map +1 -0
  54. package/dist/core/utils.gen.d.ts +20 -0
  55. package/dist/core/utils.gen.d.ts.map +1 -0
  56. package/dist/core/utils.gen.js +88 -0
  57. package/dist/core/utils.gen.js.map +1 -0
  58. package/dist/index.d.ts +3 -0
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +3 -0
  61. package/dist/index.js.map +1 -1
  62. package/dist/schemas.gen.d.ts +2065 -1051
  63. package/dist/schemas.gen.d.ts.map +1 -1
  64. package/dist/schemas.gen.js +3526 -1130
  65. package/dist/schemas.gen.js.map +1 -1
  66. package/dist/sdk.gen.d.ts +386 -198
  67. package/dist/sdk.gen.d.ts.map +1 -1
  68. package/dist/sdk.gen.js +521 -291
  69. package/dist/sdk.gen.js.map +1 -1
  70. package/dist/services/kubernetes/api.d.ts +196 -0
  71. package/dist/services/kubernetes/api.d.ts.map +1 -0
  72. package/dist/services/kubernetes/api.js +140 -0
  73. package/dist/services/kubernetes/api.js.map +1 -0
  74. package/dist/services/kubernetes/index.d.ts +44 -0
  75. package/dist/services/kubernetes/index.d.ts.map +1 -0
  76. package/dist/services/kubernetes/index.js +68 -0
  77. package/dist/services/kubernetes/index.js.map +1 -0
  78. package/dist/services/kubernetes/types.d.ts +1335 -0
  79. package/dist/services/kubernetes/types.d.ts.map +1 -0
  80. package/dist/services/kubernetes/types.js +2 -0
  81. package/dist/services/kubernetes/types.js.map +1 -0
  82. package/dist/types.gen.d.ts +2350 -1320
  83. package/dist/types.gen.d.ts.map +1 -1
  84. package/dist/zod.gen.d.ts +4276 -2817
  85. package/dist/zod.gen.d.ts.map +1 -1
  86. package/dist/zod.gen.js +1864 -944
  87. package/dist/zod.gen.js.map +1 -1
  88. package/package.json +30 -7
@@ -1,20 +1,234 @@
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' | 'aw_tin' | 'az_tin' | 'ba_tin' | 'bb_tin' | 'bd_bin' | 'be_vat' | 'bf_ifu' | 'bg_uic' | 'bg_vat' | 'bh_vat' | 'bj_ifu' | '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' | 'cm_niu' | 'cn_tin' | 'co_nit' | 'cr_tin' | 'cv_nif' | 'cy_vat' | 'cz_vat' | 'de_stn' | 'de_vat' | 'dk_vat' | 'do_rcn' | 'ec_ruc' | 'ee_vat' | 'eg_tin' | 'es_cif' | 'es_vat' | 'et_tin' | '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' | 'kg_tin' | 'kh_tin' | 'kr_brn' | 'kz_bin' | 'la_tin' | 'li_uid' | 'li_vat' | 'lk_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
+ /**
167
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
168
+ */
169
+ export type ClusterCreateInput = {
170
+ /**
171
+ * Name of the cluster.
8
172
  */
9
- region?: 'staging' | 'northamerica-central-1';
173
+ name: string;
10
174
  /**
11
175
  * Tier of the cluster.
12
176
  */
13
- tier: 'basic' | 'pro';
177
+ tier?: 'basic' | 'pro' | 'enterprise';
14
178
  /**
15
179
  * Version of the kubernetes cluster.
16
180
  */
17
181
  version_channel?: string;
182
+ /**
183
+ * Release channel for the cluster's control plane.
184
+ */
185
+ release_channel?: 'rapid' | 'stable' | 'extended';
186
+ /**
187
+ * Cluster feature toggles.
188
+ */
189
+ features?: {
190
+ /**
191
+ * GPU sharing strategy.
192
+ */
193
+ gpu_sharing_strategy?: 'none' | 'mps' | 'time_slicing';
194
+ /**
195
+ * Maximum number of pods that may share a single GPU.
196
+ */
197
+ gpu_max_shared_clients_per_gpu?: number;
198
+ /**
199
+ * Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.
200
+ */
201
+ cilium_socket_lb_host_namespace_only?: boolean;
202
+ };
203
+ /**
204
+ * Cloudfleet control plane region. This field can not be updated after creation.
205
+ */
206
+ region: string;
207
+ /**
208
+ * Cluster networking configuration. Immutable after creation.
209
+ */
210
+ networking?: {
211
+ /**
212
+ * CIDR block for pod IPs.
213
+ */
214
+ pod_cidr?: string;
215
+ /**
216
+ * CIDR block for service IPs.
217
+ */
218
+ service_cidr?: string;
219
+ /**
220
+ * Enable IPv4+IPv6 dual-stack networking.
221
+ */
222
+ dual_stack?: boolean;
223
+ /**
224
+ * IPv6 pod CIDR. Requires dual_stack.
225
+ */
226
+ pod_cidr_v6?: string;
227
+ /**
228
+ * IPv6 service CIDR. Requires dual_stack.
229
+ */
230
+ service_cidr_v6?: string;
231
+ };
18
232
  };
19
233
  export type ClusterJoinInformation = {
20
234
  /**
@@ -25,10 +239,22 @@ export type ClusterJoinInformation = {
25
239
  * Internal URL of the Kubernetes cluster control plane. This is the endpoint that kubelet uses to connect to the cluster.
26
240
  */
27
241
  endpoint: string;
242
+ /**
243
+ * Cluster DNS IP address. This is the IP address of the kube-dns service in the cluster.
244
+ */
245
+ cluster_dns: string;
246
+ /**
247
+ * Pod CIDR for the cluster. Used to configure iptables rules on nodes to prevent Tailscale routing loops.
248
+ */
249
+ pod_cidr: string;
28
250
  /**
29
251
  * Authentication key for the cluster.
30
252
  */
31
253
  auth_key: string;
254
+ /**
255
+ * Coordination server the node registers against. Empty on data plane v1 clusters, where the node advertises its own tag instead. A non-empty value requires a client that declares the dataplane-v2 capability.
256
+ */
257
+ login_server: string;
32
258
  /**
33
259
  * Bootstrap token for the cluster.
34
260
  */
@@ -49,6 +275,10 @@ export type ClusterJoinInformation = {
49
275
  * Containerd version of the cluster.
50
276
  */
51
277
  containerd: string;
278
+ /**
279
+ * NVIDIA driver version of the cluster.
280
+ */
281
+ nvidia_driver: string;
52
282
  };
53
283
  /**
54
284
  * OIDC Information for hosts to access to third party API's.
@@ -68,32 +298,82 @@ export type ClusterJoinInformation = {
68
298
  gcp_workload_identity_provider: string;
69
299
  };
70
300
  };
301
+ /**
302
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
303
+ */
71
304
  export type Cluster = {
72
305
  /**
73
306
  * Name of the cluster.
74
307
  */
75
308
  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
309
  /**
81
310
  * Tier of the cluster.
82
311
  */
83
- tier: 'basic' | 'pro';
312
+ tier: 'basic' | 'pro' | 'enterprise';
84
313
  /**
85
314
  * Version of the kubernetes cluster.
86
315
  */
87
- version_channel?: string;
316
+ version_channel: string;
317
+ /**
318
+ * Release channel for the cluster's control plane.
319
+ */
320
+ release_channel: 'rapid' | 'stable' | 'extended';
321
+ /**
322
+ * Cluster feature toggles.
323
+ */
324
+ features: {
325
+ /**
326
+ * GPU sharing strategy.
327
+ */
328
+ gpu_sharing_strategy: 'none' | 'mps' | 'time_slicing';
329
+ /**
330
+ * Maximum number of pods that may share a single GPU.
331
+ */
332
+ gpu_max_shared_clients_per_gpu: number;
333
+ /**
334
+ * Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.
335
+ */
336
+ cilium_socket_lb_host_namespace_only: boolean;
337
+ };
338
+ /**
339
+ * Cloudfleet control plane region. This field can not be updated after creation.
340
+ */
341
+ region: string;
342
+ /**
343
+ * Cluster networking configuration. Immutable after creation.
344
+ */
345
+ networking: {
346
+ /**
347
+ * CIDR block for pod IPs.
348
+ */
349
+ pod_cidr: string;
350
+ /**
351
+ * CIDR block for service IPs.
352
+ */
353
+ service_cidr: string;
354
+ /**
355
+ * Enable IPv4+IPv6 dual-stack networking.
356
+ */
357
+ dual_stack: boolean;
358
+ /**
359
+ * IPv6 pod CIDR. Requires dual_stack.
360
+ */
361
+ pod_cidr_v6: string;
362
+ /**
363
+ * IPv6 service CIDR. Requires dual_stack.
364
+ */
365
+ service_cidr_v6: string;
366
+ };
88
367
  /**
89
368
  * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
90
369
  */
91
370
  id: string;
92
371
  /**
93
- * Status of the cluster. When creating a new cluster, set to `active`. When deleting a clusters, set to `deleted`.
372
+ * Status of the cluster.
94
373
  */
95
- status: 'active' | 'deleted' | 'creating' | 'deployed' | 'failed' | 'updating';
374
+ status: 'creating' | 'deployed' | 'updating' | 'disabled';
96
375
  endpoint?: string | '';
376
+ endpoint_public?: string | '';
97
377
  /**
98
378
  * Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.
99
379
  */
@@ -113,739 +393,645 @@ export type Cluster = {
113
393
  /**
114
394
  * Indicates if the cluster is ready to be used.
115
395
  */
116
- ready?: boolean;
396
+ ready: boolean;
117
397
  };
398
+ /**
399
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
400
+ */
118
401
  export type ClusterUpdateInput = {
119
402
  /**
120
403
  * Name of the cluster.
121
404
  */
122
- name?: string;
405
+ name: string;
406
+ /**
407
+ * Tier of the cluster.
408
+ */
409
+ tier?: 'basic' | 'pro' | 'enterprise';
123
410
  /**
124
411
  * Version of the kubernetes cluster.
125
412
  */
126
413
  version_channel?: string;
127
- };
128
- export type FleetCreateInput = {
129
414
  /**
130
- * Limits define a set of bounds for provisioning capacity.
415
+ * Release channel for the cluster's control plane.
131
416
  */
132
- limits?: {
417
+ release_channel?: 'rapid' | 'stable' | 'extended';
418
+ /**
419
+ * Cluster feature toggles.
420
+ */
421
+ features?: {
133
422
  /**
134
- * CPU limit in cores.
423
+ * GPU sharing strategy.
135
424
  */
136
- cpu: number;
137
- };
138
- gcp?: {
139
- enabled?: boolean;
425
+ gpu_sharing_strategy?: 'none' | 'mps' | 'time_slicing';
140
426
  /**
141
- * Project GCP Project id to deploy instances into
427
+ * Maximum number of pods that may share a single GPU.
142
428
  */
143
- project: string;
144
- };
145
- hetzner?: {
146
- enabled?: boolean;
147
- apiKey?: string;
148
- } | {
149
- apiKey?: string;
150
- enabled?: boolean;
151
- };
152
- aws?: {
153
- enabled?: boolean;
429
+ gpu_max_shared_clients_per_gpu?: number;
154
430
  /**
155
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
431
+ * Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.
156
432
  */
157
- controllerRoleArn: string;
433
+ cilium_socket_lb_host_namespace_only?: boolean;
158
434
  };
435
+ };
436
+ export type FeedbackCreateInput = {
159
437
  /**
160
- * Unique identifier of the kubernetes fleet.
438
+ * Overall sentiment: positive, neutral or negative.
161
439
  */
162
- id: string;
440
+ sentiment: 'positive' | 'neutral' | 'negative';
163
441
  /**
164
- * Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.
442
+ * What was useful, confusing, wrong or missing.
165
443
  */
166
- type: 'managed' | 'connected';
444
+ message: string;
445
+ /**
446
+ * What you were trying to do when it happened.
447
+ */
448
+ context?: string;
449
+ /**
450
+ * Where the feedback was sent from: cli, mcp, plugin, console or api. Defaults to api.
451
+ */
452
+ source?: 'cli' | 'mcp' | 'plugin' | 'console' | 'api';
453
+ /**
454
+ * Name and version of the sending client.
455
+ */
456
+ client?: string;
167
457
  };
168
- export type Fleet = {
458
+ export type Feedback = {
459
+ /**
460
+ * Unique identifier of the feedback entry (Mongo ObjectId).
461
+ */
462
+ id: string;
463
+ };
464
+ /**
465
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
466
+ */
467
+ export type FleetCreateInput = {
169
468
  /**
170
469
  * Limits define a set of bounds for provisioning capacity.
171
470
  */
172
471
  limits?: {
173
472
  /**
174
- * CPU limit in cores.
473
+ * CPU limit in cores. Maximum 100,000.
175
474
  */
176
- cpu: number;
475
+ cpu?: number;
177
476
  };
178
477
  gcp?: {
179
- enabled?: boolean;
478
+ enabled: boolean;
180
479
  /**
181
- * Project GCP Project id to deploy instances into
480
+ * 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
481
  */
183
- project: string;
482
+ project?: string;
184
483
  };
185
484
  hetzner?: {
186
- enabled?: boolean;
187
- apiKey?: string;
188
- } | {
485
+ enabled: boolean;
486
+ /**
487
+ * Hetzner Cloud API token with read/write access (64 alphanumeric characters). Write-only: reads return a redacted placeholder, never the token. Omit the field, or send the placeholder back unchanged, to keep the existing key. Send a new value to rotate it.
488
+ */
189
489
  apiKey?: string;
190
- enabled?: boolean;
191
490
  };
192
491
  aws?: {
193
- enabled?: boolean;
492
+ enabled: boolean;
194
493
  /**
195
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
494
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
196
495
  */
197
- controllerRoleArn: string;
496
+ controllerRoleArn?: string;
198
497
  };
199
498
  /**
200
- * Unique identifier of the kubernetes fleet.
499
+ * 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.
201
500
  */
202
- id: string;
501
+ constraints?: {
502
+ /**
503
+ * Allowed values for `karpenter.sh/capacity-type`.
504
+ */
505
+ 'karpenter.sh/capacity-type'?: Array<'on-demand' | 'spot'>;
506
+ /**
507
+ * Allowed values for `kubernetes.io/arch`.
508
+ */
509
+ 'kubernetes.io/arch'?: Array<'amd64' | 'arm64'>;
510
+ /**
511
+ * Allowed values for `cfke.io/instance-family`.
512
+ */
513
+ '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'>;
514
+ /**
515
+ * Allowed values for `topology.kubernetes.io/region`.
516
+ */
517
+ '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'>;
518
+ };
519
+ /**
520
+ * Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet. Full-overwrite: omit to reset to the default (`conservative`).
521
+ */
522
+ scalingProfile?: 'aggressive' | 'conservative';
523
+ /**
524
+ * Taints applied to every node the fleet provisions, so only pods that tolerate them schedule there. Each key and effect pair may appear once. Full-overwrite: omit to remove all taints.
525
+ */
526
+ taints?: Array<{
527
+ /**
528
+ * Taint key: a Kubernetes qualified name with an optional DNS subdomain prefix. Keys under `node.kubernetes.io`, `node.cloudprovider.kubernetes.io`, `node.cilium.io`, `karpenter.sh` and `cfke.io` (and their subdomains) are reserved.
529
+ */
530
+ key: string;
531
+ /**
532
+ * Taint value. Optional.
533
+ */
534
+ value?: string;
535
+ /**
536
+ * Taint effect.
537
+ */
538
+ effect: 'NoSchedule' | 'PreferNoSchedule' | 'NoExecute';
539
+ }>;
203
540
  /**
204
- * Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.
541
+ * Unique identifier of the kubernetes fleet.
205
542
  */
206
- type: 'managed' | 'connected';
543
+ id: string;
207
544
  };
208
- export type FleetUpdateInput = {
545
+ /**
546
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
547
+ */
548
+ export type Fleet = {
209
549
  /**
210
550
  * Limits define a set of bounds for provisioning capacity.
211
551
  */
212
552
  limits?: {
213
553
  /**
214
- * CPU limit in cores.
554
+ * CPU limit in cores. Maximum 100,000.
215
555
  */
216
- cpu: number;
556
+ cpu?: number;
217
557
  };
218
558
  gcp?: {
219
- enabled?: boolean;
559
+ enabled: boolean;
220
560
  /**
221
- * Project GCP Project id to deploy instances into
561
+ * 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
562
  */
223
- project: string;
563
+ project?: string;
224
564
  };
225
565
  hetzner?: {
226
- enabled?: boolean;
227
- apiKey?: string;
228
- } | {
566
+ enabled: boolean;
567
+ /**
568
+ * Redacted Hetzner API token. Returned as 64 asterisks when a token is configured; omitted otherwise. The real value is never echoed by the API.
569
+ */
229
570
  apiKey?: string;
230
- enabled?: boolean;
231
571
  };
232
572
  aws?: {
233
- enabled?: boolean;
573
+ enabled: boolean;
234
574
  /**
235
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
575
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
236
576
  */
237
- controllerRoleArn: string;
577
+ controllerRoleArn?: string;
238
578
  };
239
- };
240
- export type InfrastructureFilter = {
241
579
  /**
242
- * Version of the infrastructure filter definition. Currently only version 1 is supported.
580
+ * 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.
243
581
  */
244
- version?: 1;
582
+ constraints: {
583
+ /**
584
+ * Allowed values for `karpenter.sh/capacity-type`.
585
+ */
586
+ 'karpenter.sh/capacity-type': Array<'on-demand' | 'spot'>;
587
+ /**
588
+ * Allowed values for `kubernetes.io/arch`.
589
+ */
590
+ 'kubernetes.io/arch': Array<'amd64' | 'arm64'>;
591
+ /**
592
+ * Allowed values for `cfke.io/instance-family`.
593
+ */
594
+ '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'>;
595
+ /**
596
+ * Allowed values for `topology.kubernetes.io/region`.
597
+ */
598
+ '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'>;
599
+ };
245
600
  /**
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/)
601
+ * Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet. Full-overwrite: omit to reset to the default (`conservative`).
247
602
  */
248
- provider?: Array<string>;
603
+ scalingProfile: 'aggressive' | 'conservative';
249
604
  /**
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/)
605
+ * Taints applied to every node the fleet provisions, so only pods that tolerate them schedule there. Each key and effect pair may appear once. Full-overwrite: omit to remove all taints.
251
606
  */
252
- region?: Array<string>;
607
+ taints: Array<{
608
+ /**
609
+ * Taint key: a Kubernetes qualified name with an optional DNS subdomain prefix. Keys under `node.kubernetes.io`, `node.cloudprovider.kubernetes.io`, `node.cilium.io`, `karpenter.sh` and `cfke.io` (and their subdomains) are reserved.
610
+ */
611
+ key: string;
612
+ /**
613
+ * Taint value. Optional.
614
+ */
615
+ value?: string;
616
+ /**
617
+ * Taint effect.
618
+ */
619
+ effect: 'NoSchedule' | 'PreferNoSchedule' | 'NoExecute';
620
+ }>;
253
621
  /**
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/)
622
+ * Unique identifier of the kubernetes fleet.
255
623
  */
256
- sub_region?: Array<string>;
624
+ id: string;
257
625
  /**
258
- * Limits selection of cloud regions to this list of canonical provider regions
626
+ * Indicates whether the fleet configuration is healthy.
259
627
  */
260
- csp_region?: Array<string>;
628
+ ready: boolean;
261
629
  /**
262
- * Limits selection of instance types to this list. Instance / VM type as defined by the cloud service provider
630
+ * Human-readable reason the fleet is not ready. Present only when `ready` is false.
263
631
  */
264
- instance_type?: Array<string>;
632
+ status_message?: string;
265
633
  /**
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
634
+ * Creation date and time of the fleet.
267
635
  */
268
- accelerator_name?: Array<string>;
636
+ created_at: string;
269
637
  /**
270
- * List of normalized accelerator manufacturer names. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer
638
+ * Date and time the fleet was last updated.
271
639
  */
272
- accelerator_manufacturer?: Array<string>;
273
- /**
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
283
- */
284
- accelerator_memory_min?: number;
285
- /**
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
287
- */
288
- accelerator_memory_max?: number;
289
- /**
290
- * Minimum amount of RAM in gibibytes (GiB)
291
- */
292
- memory_min?: number;
293
- /**
294
- * Maximum amount of RAM in gibibytes (GiB)
295
- */
296
- memory_max?: number;
297
- /**
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.
299
- */
300
- vcpu_min?: number;
301
- /**
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.
303
- */
304
- vcpu_max?: number;
305
- /**
306
- * Minimum total storage in GiB (attached and local)
307
- */
308
- storage_total_min?: number;
309
- /**
310
- * Maximum total storage in GiB (attached and local)
311
- */
312
- storage_total_max?: number;
313
- /**
314
- * Minimum volume of directly attached, block-device local storage in gibibytes (GiB)
315
- */
316
- storage_local_min?: number;
317
- /**
318
- * Maximum volume of directly attached, block-device local storage in gibibytes (GiB)
319
- */
320
- storage_local_max?: number;
321
- /**
322
- * Minimum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.
323
- */
324
- price_min?: number;
325
- /**
326
- * Maximum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.
327
- */
328
- price_max?: number;
640
+ updated_at: string;
329
641
  };
330
- export type InfrastructureInstance = {
642
+ /**
643
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
644
+ */
645
+ export type FleetUpdateInput = {
331
646
  /**
332
- * Cloudfleet instance SKU. Has a format of <provider>-<csp_region>-<instance_type>.
647
+ * Limits define a set of bounds for provisioning capacity.
333
648
  */
334
- sku: string;
649
+ limits?: {
650
+ /**
651
+ * CPU limit in cores. Maximum 100,000.
652
+ */
653
+ cpu?: number;
654
+ };
655
+ gcp?: {
656
+ enabled: boolean;
657
+ /**
658
+ * 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.
659
+ */
660
+ project?: string;
661
+ };
662
+ hetzner?: {
663
+ enabled: boolean;
664
+ /**
665
+ * Hetzner Cloud API token with read/write access (64 alphanumeric characters). Write-only: reads return a redacted placeholder, never the token. Omit the field, or send the placeholder back unchanged, to keep the existing key. Send a new value to rotate it.
666
+ */
667
+ apiKey?: string;
668
+ };
669
+ aws?: {
670
+ enabled: boolean;
671
+ /**
672
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
673
+ */
674
+ controllerRoleArn?: string;
675
+ };
335
676
  /**
336
- * Normalized cloud service provider name. For the full list of supported providers, see [Providers](https://cloudfleet.ai/docs/cloud-infrastructure/providers/)
677
+ * 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.
337
678
  */
338
- provider: string;
679
+ constraints?: {
680
+ /**
681
+ * Allowed values for `karpenter.sh/capacity-type`.
682
+ */
683
+ 'karpenter.sh/capacity-type'?: Array<'on-demand' | 'spot'>;
684
+ /**
685
+ * Allowed values for `kubernetes.io/arch`.
686
+ */
687
+ 'kubernetes.io/arch'?: Array<'amd64' | 'arm64'>;
688
+ /**
689
+ * Allowed values for `cfke.io/instance-family`.
690
+ */
691
+ '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'>;
692
+ /**
693
+ * Allowed values for `topology.kubernetes.io/region`.
694
+ */
695
+ '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'>;
696
+ };
339
697
  /**
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/)
698
+ * Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet. Full-overwrite: omit to reset to the default (`conservative`).
341
699
  */
342
- region: string;
700
+ scalingProfile?: 'aggressive' | 'conservative';
343
701
  /**
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/)
702
+ * Taints applied to every node the fleet provisions, so only pods that tolerate them schedule there. Each key and effect pair may appear once. Full-overwrite: omit to remove all taints.
345
703
  */
346
- sub_region: string;
704
+ taints?: Array<{
705
+ /**
706
+ * Taint key: a Kubernetes qualified name with an optional DNS subdomain prefix. Keys under `node.kubernetes.io`, `node.cloudprovider.kubernetes.io`, `node.cilium.io`, `karpenter.sh` and `cfke.io` (and their subdomains) are reserved.
707
+ */
708
+ key: string;
709
+ /**
710
+ * Taint value. Optional.
711
+ */
712
+ value?: string;
713
+ /**
714
+ * Taint effect.
715
+ */
716
+ effect: 'NoSchedule' | 'PreferNoSchedule' | 'NoExecute';
717
+ }>;
718
+ };
719
+ export type InviteCreateInput = {
347
720
  /**
348
- * Region as defined by the cloud service provider
721
+ * Email address of the user to invite.
349
722
  */
350
- csp_region: string;
723
+ email: string;
351
724
  /**
352
- * Availability zone as defined by the cloud service provider
725
+ * Role the invited user will be assigned on redemption. Can be 'Administrator' or 'User'.
353
726
  */
354
- csp_zone: string;
727
+ role?: 'Administrator' | 'User';
728
+ };
729
+ export type Invite = {
355
730
  /**
356
- * Instance / VM type as defined by the cloud service provider
731
+ * Unique identifier of the invitation.
357
732
  */
358
- instance_type: string;
733
+ id?: string;
359
734
  /**
360
- * Instance CPU architecture
735
+ * Unique identifier of the organization the project belongs to. UUID v4 string in canonical form
361
736
  */
362
- architecture: string;
737
+ organization_id?: string;
363
738
  /**
364
- * Instance operating system
739
+ * Creation date of the project. ISO 8601 date string in UTC timezone
365
740
  */
366
- os: string;
741
+ date_created: string;
367
742
  /**
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.
743
+ * User email address.
369
744
  */
370
- vcpu: number;
745
+ email?: string;
371
746
  /**
372
- * Total amount of RAM in gibibytes (GiB)
747
+ * Generated unique invite code.
373
748
  */
374
- memory: number;
749
+ code?: string;
375
750
  /**
376
- * Volume of directly attached, block-device local storage in gibibytes (GiB)
751
+ * Role the invited user will be assigned on redemption. Can be 'Administrator' or 'User'.
377
752
  */
378
- local_storage: number;
753
+ role?: 'Administrator' | 'User';
754
+ };
755
+ export type InvoicePaymentAttempt = {
379
756
  /**
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
757
+ * Identifier of the invoice.
381
758
  */
382
- accelerator_name?: string;
759
+ invoice_id: string;
383
760
  /**
384
- * Normalized manufacturer name of accelerator. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer
761
+ * Invoice number. Null if the invoice has no number.
385
762
  */
386
- accelerator_manufacturer?: string;
763
+ number: string;
387
764
  /**
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.
765
+ * Amount outstanding when the charge was attempted, in the smallest currency unit.
389
766
  */
390
- accelerator_count?: number;
767
+ amount: number;
391
768
  /**
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
769
+ * Currency of the invoice.
393
770
  */
394
- accelerator_memory?: number;
771
+ currency: string;
395
772
  /**
396
- * Maximum number of pods that can be run on this instance type.
773
+ * Outcome for this invoice: `paid`, `processing` (accepted, not yet settled), `requires_action` (awaiting customer authentication), or `failed` (declined).
397
774
  */
398
- pods_capacity?: number;
775
+ status: 'paid' | 'processing' | 'requires_action' | 'failed';
399
776
  /**
400
- * Capacity type of the instance. E.g. `on-demand`, `spot`.
777
+ * Client secret used to complete customer authentication. Set only when `status` is `requires_action`.
401
778
  */
402
- capacity_type?: string;
779
+ client_secret: string;
403
780
  /**
404
- * Price of running the inctance per hour in USD as defined by the cloud service provider
781
+ * Decline code. Set only when `status` is `failed`.
405
782
  */
406
- price: number;
783
+ failure_code: string;
407
784
  /**
408
- * Whether this instance type is available.
785
+ * Explanation of the decline, suitable for display. Set only when `status` is `failed`.
409
786
  */
410
- available?: boolean;
787
+ failure_message: string;
411
788
  };
412
- export type Invite = {
413
- /**
414
- * Unique identifier of the invitation.
415
- */
416
- id?: string;
417
- /**
418
- * Unique identifier of the organization the project belongs to. UUID v4 string in canonical form
419
- */
420
- organization_id?: string;
789
+ export type InvoicePaymentResult = {
421
790
  /**
422
- * Creation date of the project. ISO 8601 date string in UTC timezone
791
+ * Overall outcome: `paid` (nothing outstanding), `processing` (all accepted, not yet settled), `action_required` (one or more await customer authentication), `partially_paid`, `failed`, `nothing_due`, or `bank_transfer_due` (the organization pays by bank transfer; nothing was charged).
423
792
  */
424
- date_created: string;
793
+ code: 'paid' | 'processing' | 'action_required' | 'partially_paid' | 'failed' | 'nothing_due' | 'bank_transfer_due';
425
794
  /**
426
- * User email address.
795
+ * Summary of the outcome, suitable for display.
427
796
  */
428
- email?: string;
797
+ message: string;
429
798
  /**
430
- * Generated unique invite code.
799
+ * One entry per invoice charged, oldest first.
431
800
  */
432
- code?: string;
801
+ results: Array<{
802
+ /**
803
+ * Identifier of the invoice.
804
+ */
805
+ invoice_id: string;
806
+ /**
807
+ * Invoice number. Null if the invoice has no number.
808
+ */
809
+ number: string;
810
+ /**
811
+ * Amount outstanding when the charge was attempted, in the smallest currency unit.
812
+ */
813
+ amount: number;
814
+ /**
815
+ * Currency of the invoice.
816
+ */
817
+ currency: string;
818
+ /**
819
+ * Outcome for this invoice: `paid`, `processing` (accepted, not yet settled), `requires_action` (awaiting customer authentication), or `failed` (declined).
820
+ */
821
+ status: 'paid' | 'processing' | 'requires_action' | 'failed';
822
+ /**
823
+ * Client secret used to complete customer authentication. Set only when `status` is `requires_action`.
824
+ */
825
+ client_secret: string;
826
+ /**
827
+ * Decline code. Set only when `status` is `failed`.
828
+ */
829
+ failure_code: string;
830
+ /**
831
+ * Explanation of the decline, suitable for display. Set only when `status` is `failed`.
832
+ */
833
+ failure_message: string;
834
+ }>;
433
835
  };
434
836
  export type Invoice = {
435
837
  /**
436
- * Unique identifier of the invoice. UUID v4 string in canonical form
838
+ * Unique identifier of the invoice.
437
839
  */
438
840
  id?: string;
439
- /**
440
- * Unique identifier of the organization. UUID v4 string in canonical form
441
- */
442
- organizationId?: string;
841
+ number?: string;
443
842
  /**
444
843
  * Status of the invoice
445
844
  */
446
- status?: 'DRAFT' | 'COMMITTED' | 'VOID';
845
+ status?: string;
447
846
  /**
448
847
  * Total amount of the invoice
449
848
  */
450
- amount?: number;
849
+ total?: number;
451
850
  /**
452
851
  * Currency of the invoice
453
852
  */
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';
853
+ currency?: string;
455
854
  /**
456
- * Total amount of credit adjustments
855
+ * Timestamp when the invoice was issued. ISO 8601 date string in the UTC timezone.
457
856
  */
458
- creditAdj?: number;
857
+ created: string;
459
858
  /**
460
- * Total amount of refund adjustments
859
+ * Billing period start timestamp. ISO 8601 date string in the UTC timezone.
461
860
  */
462
- refundAdj?: number;
861
+ period_start: string;
463
862
  /**
464
- * Date of the invoice
863
+ * Billing period end timestamp. ISO 8601 date string in the UTC timezone.
465
864
  */
466
- invoiceDate?: string;
865
+ period_end: string;
866
+ invoice_pdf?: string;
867
+ };
868
+ export type MarketplaceListingFiles = {
467
869
  /**
468
- * Target date of the invoice
870
+ * Raw Chart.yaml content from the Helm chart
469
871
  */
470
- targetDate?: string;
872
+ chartYaml?: string;
471
873
  /**
472
- * Number of the invoice
874
+ * Raw values.yaml content from the Helm chart
473
875
  */
474
- invoiceNumber?: string;
876
+ valuesYaml?: string;
475
877
  /**
476
- * Balance of the invoice
878
+ * JSON schema for values.yaml as a string
477
879
  */
478
- balance?: number;
880
+ valuesSchemaJson?: string;
881
+ };
882
+ export type MarketplaceListing = {
479
883
  /**
480
- * Bundle keys of the invoice
884
+ * Name of the chart
481
885
  */
482
- bundleKeys?: string;
886
+ name: string;
483
887
  /**
484
- * Credits of the invoice
888
+ * Available versions of the chart
485
889
  */
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';
555
- /**
556
- * Quantity of the invoice item
557
- */
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;
567
- /**
568
- * Child items of the invoice item
569
- */
570
- childItems?: Array<Array<unknown> | boolean | number | {
571
- [key: string]: unknown;
572
- } | string>;
573
- }>;
890
+ versions: Array<string>;
574
891
  /**
575
- * Items of the invoice
892
+ * Version channels for the chart
576
893
  */
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;
894
+ version_channels: Array<string>;
895
+ /**
896
+ * Latest version of the chart
897
+ */
898
+ latestVersion: string;
899
+ /**
900
+ * Chart metadata
901
+ */
902
+ metadata?: {
614
903
  /**
615
- * Pretty name of the usage
904
+ * Chart name from metadata
616
905
  */
617
- prettyUsageName?: string;
906
+ name: string;
618
907
  /**
619
- * Type of the invoice item
908
+ * Chart version from metadata
620
909
  */
621
- itemType?: 'EXTERNAL_CHARGE' | 'FIXED' | 'RECURRING' | 'REPAIR_ADJ' | 'CBA_ADJ' | 'CREDIT_ADJ' | 'ITEM_ADJ' | 'USAGE' | 'TAX' | 'PARENT_SUMMARY';
910
+ version: string;
622
911
  /**
623
- * Description of the invoice item
912
+ * Chart description
624
913
  */
625
914
  description?: string;
626
915
  /**
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
916
+ * Application version
636
917
  */
637
- amount?: number;
918
+ appVersion?: string;
638
919
  /**
639
- * Rate of the invoice item
920
+ * Helm API version
640
921
  */
641
- rate?: number;
922
+ apiVersion?: string;
642
923
  /**
643
- * Currency of the invoice item
924
+ * Chart keywords
644
925
  */
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';
926
+ keywords?: Array<string>;
646
927
  /**
647
- * Quantity of the invoice item
928
+ * Chart home URL
648
929
  */
649
- quantity?: number;
930
+ home?: string;
650
931
  /**
651
- * Details of the invoice item
932
+ * A URL to an SVG or PNG image to be used as an icon
652
933
  */
653
- itemDetails?: string;
934
+ icon?: string;
654
935
  /**
655
- * Effective date of the catalog
936
+ * Chart source URLs
656
937
  */
657
- catalogEffectiveDate?: string;
938
+ sources?: Array<string>;
658
939
  /**
659
- * Child items of the invoice item
940
+ * Chart maintainers
660
941
  */
661
- childItems?: Array<Array<unknown> | boolean | number | {
662
- [key: string]: unknown;
663
- } | string>;
664
- }>;
942
+ maintainers?: Array<{
943
+ /**
944
+ * Maintainer name
945
+ */
946
+ name: string;
947
+ /**
948
+ * Maintainer email
949
+ */
950
+ email?: string;
951
+ }>;
952
+ };
665
953
  };
666
- export type OrganizationContactInfo = {
954
+ export type OrganizationCreateInput = {
667
955
  /**
668
- * Street address, P.O. box, c/o
956
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
669
957
  */
670
- address1?: string;
958
+ type: 'business' | 'personal';
671
959
  /**
672
- * Apartment, suite, unit, building, floor, etc.
960
+ * Email address used for billing as a string.
673
961
  */
674
- address2?: string;
962
+ email: string;
675
963
  /**
676
- * Postal code as a string.
964
+ * First name of the billing contact person.
677
965
  */
678
- postalCode?: string;
966
+ first_name: string;
679
967
  /**
680
- * City or town name.
968
+ * Last name of the billing contact person.
681
969
  */
682
- city?: string;
970
+ last_name: string;
683
971
  /**
684
- * State, province, or region name.
972
+ * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
685
973
  */
686
- state?: string;
974
+ company_name: string;
687
975
  /**
688
- * Country as a ISO 3166-1 alpha-2 country code.
976
+ * 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.
689
977
  */
690
- country?: string;
978
+ password: string;
979
+ };
980
+ export type OrganizationCreateOutput = {
691
981
  /**
692
- * Phone number as a string.
982
+ * Unique identifier of the newly created organization. Generated by the API and safe to use for client-side tracking immediately.
693
983
  */
694
- phone?: string;
984
+ id: string;
985
+ };
986
+ export type Organization = {
695
987
  /**
696
- * Email address used for billing as a string.
988
+ * Unique identifier of the organization. UUID v4 string in canonical form
697
989
  */
698
- email: string;
990
+ id: string;
699
991
  /**
700
- * First name of the billing contact person.
992
+ * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
701
993
  */
702
- first_name: string;
994
+ name?: string;
703
995
  /**
704
- * Last name of the billing contact person.
996
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
705
997
  */
706
- last_name: string;
707
- };
708
- export type OrganizationCreateInput = {
998
+ type: 'business' | 'personal';
709
999
  /**
710
- * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
1000
+ * Creation date of the organization. ISO 8601 date string in UTC timezone
711
1001
  */
712
- name: string;
1002
+ date_created: string;
713
1003
  /**
714
- * Organization contact information and billing address.
1004
+ * 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.
715
1005
  */
716
- contactInfo: {
1006
+ quota: {
717
1007
  /**
718
- * Street address, P.O. box, c/o
1008
+ * Maximum number of Basic clusters that can be created.
719
1009
  */
720
- address1?: string;
1010
+ basic_clusters_max: number;
721
1011
  /**
722
- * Apartment, suite, unit, building, floor, etc.
1012
+ * Available number of Basic clusters that can be created.
723
1013
  */
724
- address2?: string;
1014
+ basic_clusters_available: number;
725
1015
  /**
726
- * Postal code as a string.
1016
+ * Maximum number of Pro clusters that can be created.
727
1017
  */
728
- postalCode?: string;
1018
+ pro_clusters_max: number;
729
1019
  /**
730
- * City or town name.
1020
+ * Available number of Pro clusters that can be created.
731
1021
  */
732
- city?: string;
1022
+ pro_clusters_available: number;
733
1023
  /**
734
- * State, province, or region name.
1024
+ * Maximum number of Enterprise clusters that can be created.
735
1025
  */
736
- state?: string;
1026
+ enterprise_clusters_max: number;
737
1027
  /**
738
- * Country as a ISO 3166-1 alpha-2 country code.
1028
+ * Available number of Enterprise clusters that can be created.
739
1029
  */
740
- country?: string;
1030
+ enterprise_clusters_available: number;
741
1031
  /**
742
- * Phone number as a string.
1032
+ * Maximum number of fleets that can be created per cluster.
743
1033
  */
744
- phone?: string;
745
- /**
746
- * Email address used for billing as a string.
747
- */
748
- email: string;
749
- /**
750
- * First name of the billing contact person.
751
- */
752
- first_name: string;
753
- /**
754
- * Last name of the billing contact person.
755
- */
756
- last_name: string;
757
- };
758
- /**
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.
760
- */
761
- password: string;
762
- };
763
- export type Organization = {
764
- /**
765
- * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
766
- */
767
- name: string;
768
- /**
769
- * Organization contact information and billing address.
770
- */
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;
784
- /**
785
- * City or town name.
786
- */
787
- city?: string;
788
- /**
789
- * State, province, or region name.
790
- */
791
- state?: string;
792
- /**
793
- * Country as a ISO 3166-1 alpha-2 country code.
794
- */
795
- country?: string;
796
- /**
797
- * Phone number as a string.
798
- */
799
- phone?: string;
800
- /**
801
- * Email address used for billing as a string.
802
- */
803
- email: string;
804
- /**
805
- * First name of the billing contact person.
806
- */
807
- first_name: string;
808
- /**
809
- * Last name of the billing contact person.
810
- */
811
- last_name: string;
812
- };
813
- /**
814
- * Unique identifier of the organization. UUID v4 string in canonical form
815
- */
816
- id: string;
817
- /**
818
- * Creation date of the organization. ISO 8601 date string in UTC timezone
819
- */
820
- date_created: string;
821
- /**
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.
823
- */
824
- quota: {
825
- /**
826
- * Maximum number of Basic clusters that can be created.
827
- */
828
- basic_clusters_max: number;
829
- /**
830
- * Available number of Basic clusters that can be created.
831
- */
832
- basic_clusters_available: number;
833
- /**
834
- * Maximum number of Pro clusters that can be created.
835
- */
836
- pro_clusters_max: number;
837
- /**
838
- * Available number of Pro clusters that can be created.
839
- */
840
- pro_clusters_available: number;
841
- /**
842
- * Maximum number of fleets that can be created per cluster.
843
- */
844
- fleets_max: number;
845
- /**
846
- * Maximum number of CPU cores per managed fleet.
847
- */
848
- managed_fleets_cpu_max: number;
1034
+ fleets_max: number;
849
1035
  /**
850
1036
  * List of Cloudfleet cluster tiers available for the organization.
851
1037
  */
@@ -867,601 +1053,1467 @@ export type Organization = {
867
1053
  */
868
1054
  label: string;
869
1055
  }>;
1056
+ /**
1057
+ * Organization-level maximum CFCR storage volume in GB. -1 means no limit.
1058
+ */
1059
+ cfcr_storage_gb: number;
870
1060
  };
871
- /**
872
- * List of pending actions that the user needs to complete. Used in Cloudfleet console to guide the user through the onboarding process.
873
- */
874
- pending_actions: Array<'signup-billing-address' | 'signup-payment-method' | 'signup-invite-team' | 'signup-create-cluster'>;
875
1061
  /**
876
1062
  * Status of the organization. Can be `active` or `closed`, or `suspended`.
877
1063
  */
878
1064
  status: 'active' | 'closed' | 'suspended';
879
- };
880
- export type OrganizationUpdateInput = {
881
- /**
882
- * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
883
- */
884
- name?: string;
885
1065
  /**
886
- * Organization contact information and billing address.
1066
+ * 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.
887
1067
  */
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;
913
- /**
914
- * Phone number as a string.
915
- */
916
- phone?: string;
917
- /**
918
- * Email address used for billing as a string.
919
- */
920
- email: string;
921
- /**
922
- * First name of the billing contact person.
923
- */
924
- first_name: string;
925
- /**
926
- * Last name of the billing contact person.
927
- */
928
- last_name: string;
929
- };
1068
+ verification: 'none' | 'submitted' | 'verified';
930
1069
  };
931
1070
  export type PaymentMethod = {
932
1071
  /**
933
- * Unique identifier of the organization. UUID v4 string in canonical form.
1072
+ * 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.
934
1073
  */
935
1074
  id: string;
936
1075
  /**
937
- * Whether organization payment method was set up and ready to use for payments.
938
- */
939
- setup: boolean;
940
- /**
941
- * Payment method type type. Only `card` payments supported at the moment.
1076
+ * Payment method type. `card`, `sepa_debit` for SEPA Direct Debit (business accounts only), or `bank_transfer` for paying invoices by bank transfer.
942
1077
  */
943
- type: 'card';
1078
+ type: 'card' | 'sepa_debit' | 'bank_transfer';
944
1079
  /**
945
- * Last 4 digits of the payment card number.
1080
+ * 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.
946
1081
  */
947
1082
  last4: string;
948
1083
  /**
949
- * Two-digit number representing the card's expiration month.
1084
+ * Two-digit number representing the card's expiration month. Null for SEPA Direct Debit and bank transfer.
950
1085
  */
951
1086
  exp_month: number;
952
1087
  /**
953
- * Four-digit number representing the card's expiration year.
1088
+ * 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.
954
1089
  */
955
1090
  exp_year: number;
956
1091
  /**
957
- * Payment card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.
1092
+ * Payment card brand as reported by Stripe, e.g. `visa`, `mastercard`, `amex`, `cartes_bancaires`, or `unknown`. Null for SEPA Direct Debit and bank transfer.
958
1093
  */
959
- brand: 'amex' | 'diners' | 'discover' | 'eftpos_au' | 'jcb' | 'mastercard' | 'unionpay' | 'visa' | 'unknown';
960
- };
961
- export type TokenCreateInput = {
1094
+ brand: string;
962
1095
  /**
963
- * Human readable access token name.
1096
+ * 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.
964
1097
  */
965
- name: string;
1098
+ iban: string;
966
1099
  /**
967
- * Role assumed by the token.
1100
+ * BIC/SWIFT of the destination bank for bank transfers. Set only for `bank_transfer`; null otherwise.
968
1101
  */
969
- role: 'Administrator' | 'User';
970
- };
971
- export type Token = {
1102
+ bic: string;
972
1103
  /**
973
- * Human readable access token name.
1104
+ * Account holder name of the destination bank account for bank transfers. Set only for `bank_transfer`; null otherwise.
974
1105
  */
975
- name: string;
1106
+ account_holder_name: string;
976
1107
  /**
977
- * Role assumed by the token.
1108
+ * 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).
978
1109
  */
979
- role: 'Administrator' | 'User';
1110
+ is_default: boolean;
1111
+ };
1112
+ export type PlatformQuota = {
980
1113
  /**
981
- * Generated unique identifier of the access token.
1114
+ * Maximum number of Basic clusters that can be created.
982
1115
  */
983
- id?: string;
1116
+ basic_clusters_max: number;
984
1117
  /**
985
- * Access token secret. Unmasked only during creation.
1118
+ * Available number of Basic clusters that can be created.
986
1119
  */
987
- secret?: string;
1120
+ basic_clusters_available: number;
988
1121
  /**
989
- * Creation date of the access token. ISO 8601 date string in UTC timezone
1122
+ * Maximum number of Pro clusters that can be created.
990
1123
  */
991
- date_created: string;
992
- };
993
- export type TokenUpdateInput = {
1124
+ pro_clusters_max: number;
994
1125
  /**
995
- * Human readable access token name.
1126
+ * Available number of Pro clusters that can be created.
996
1127
  */
997
- name?: string;
1128
+ pro_clusters_available: number;
998
1129
  /**
999
- * Role assumed by the token.
1130
+ * Maximum number of Enterprise clusters that can be created.
1000
1131
  */
1001
- role?: 'Administrator' | 'User';
1002
- };
1003
- export type Usage = {
1132
+ enterprise_clusters_max: number;
1004
1133
  /**
1005
- * Hour of the usage
1134
+ * Available number of Enterprise clusters that can be created.
1006
1135
  */
1007
- hour?: string;
1136
+ enterprise_clusters_available: number;
1008
1137
  /**
1009
- * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
1138
+ * Maximum number of fleets that can be created per cluster.
1010
1139
  */
1011
- cluster_id: string;
1140
+ fleets_max: number;
1012
1141
  /**
1013
- * Tier of the cluster.
1142
+ * List of Cloudfleet cluster tiers available for the organization.
1014
1143
  */
1015
- cluster_tier: '';
1144
+ cluster_tiers: Array<string>;
1016
1145
  /**
1017
- * The product the usage is associated with
1146
+ * List of Cloudfleet control plane regions available for the organization.
1018
1147
  */
1019
- product: 'cfke_infra_compute' | 'cfke_nodes' | 'cfke_controlplane';
1148
+ regions: Array<string>;
1020
1149
  /**
1021
- * Name of the Kubernetes node
1150
+ * List of CFKE control plane versions available for the organization.
1022
1151
  */
1023
- node_name: string;
1152
+ versions: Array<{
1153
+ /**
1154
+ * Id of the control plane version. Used in API calls.
1155
+ */
1156
+ id: string;
1157
+ /**
1158
+ * Label of the control plane version. Used in frontent UI.
1159
+ */
1160
+ label: string;
1161
+ }>;
1024
1162
  /**
1025
- * SKU of the Kubernetes node
1163
+ * Organization-level maximum CFCR storage volume in GB. -1 means no limit.
1026
1164
  */
1027
- sku: string;
1028
- cpu: number | '';
1029
- price: number | '';
1030
- value: number | '';
1031
- total: number | '';
1165
+ cfcr_storage_gb: number;
1032
1166
  };
1033
- export type UserCreateInput = {
1167
+ export type RegistryRepository = {
1034
1168
  /**
1035
- * User email address.
1169
+ * Repository name.
1036
1170
  */
1037
- email: string;
1171
+ name: string;
1038
1172
  /**
1039
- * User first name.
1173
+ * Registry region.
1040
1174
  */
1041
- first_name: string;
1175
+ region: string;
1042
1176
  /**
1043
- * User last name.
1177
+ * Full URI of the repository.
1044
1178
  */
1045
- last_name: string;
1179
+ uri: string;
1180
+ };
1181
+ export type RegistryRepositoryWithTags = {
1046
1182
  /**
1047
- * Generated unique invite code.
1183
+ * Repository name.
1048
1184
  */
1049
- code: string;
1185
+ name: string;
1050
1186
  /**
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.
1187
+ * Registry region.
1052
1188
  */
1053
- password: string;
1189
+ region: string;
1054
1190
  /**
1055
- * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
1191
+ * Full URI of the repository.
1056
1192
  */
1057
- status?: 'active' | 'inactive';
1193
+ uri: string;
1058
1194
  /**
1059
- * User role. Can be 'Administrator', 'User'.
1195
+ * Array of tags in the repository.
1060
1196
  */
1061
- role?: 'Administrator' | 'User';
1062
- };
1063
- export type User = {
1197
+ tags: Array<{
1198
+ /**
1199
+ * Tag name.
1200
+ */
1201
+ name: string;
1202
+ /**
1203
+ * Size of the tag in bytes.
1204
+ */
1205
+ size: number;
1206
+ /**
1207
+ * Media type of the manifest.
1208
+ */
1209
+ mediaType?: string;
1210
+ /**
1211
+ * Array of platform strings for multi-arch images (e.g., linux/amd64, linux/arm64).
1212
+ */
1213
+ platforms?: Array<string>;
1214
+ }>;
1064
1215
  /**
1065
- * User email address.
1216
+ * Total size of all tags in the repository in bytes.
1066
1217
  */
1067
- email: string;
1218
+ totalSize: number;
1219
+ };
1220
+ export type RegistryTag = {
1068
1221
  /**
1069
- * User first name.
1222
+ * Tag name.
1070
1223
  */
1071
- first_name: string;
1224
+ name: string;
1072
1225
  /**
1073
- * User last name.
1226
+ * Manifest digest for pulling by digest.
1074
1227
  */
1075
- last_name: string;
1228
+ digest: string;
1076
1229
  /**
1077
- * User role. Can be 'Administrator', 'User'.
1230
+ * Media type of the manifest.
1078
1231
  */
1079
- role: 'Administrator' | 'User';
1232
+ mediaType?: string;
1080
1233
  /**
1081
- * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
1234
+ * Manifest config metadata.
1082
1235
  */
1083
- status: 'active' | 'inactive';
1236
+ config?: {
1237
+ /**
1238
+ * Size of the config in bytes.
1239
+ */
1240
+ size: number;
1241
+ };
1084
1242
  /**
1085
- * Unique identifier of the user. UUID v4 string in canonical form
1243
+ * Array of layer metadata.
1086
1244
  */
1087
- id: string;
1245
+ layers?: Array<{
1246
+ /**
1247
+ * Digest of the layer.
1248
+ */
1249
+ digest?: string;
1250
+ /**
1251
+ * Size of the layer in bytes.
1252
+ */
1253
+ size: number;
1254
+ }>;
1088
1255
  /**
1089
- * Creation date of the user. ISO 8601 date string in UTC timezone
1256
+ * Array of manifests for multi-arch images.
1090
1257
  */
1091
- date_created: string;
1092
- cluster_permissions?: Array<{
1258
+ manifests?: Array<{
1093
1259
  /**
1094
- * Unique identifier of the cluster. UUID v4 string in canonical form
1260
+ * Digest of the manifest.
1095
1261
  */
1096
- cluster_id: string;
1262
+ digest: string;
1263
+ /**
1264
+ * Platform information for the manifest.
1265
+ */
1266
+ platform?: {
1267
+ /**
1268
+ * Architecture of the platform.
1269
+ */
1270
+ architecture: string;
1271
+ /**
1272
+ * Operating system of the platform.
1273
+ */
1274
+ os: string;
1275
+ /**
1276
+ * Variant of the platform (e.g., v7, v8 for ARM).
1277
+ */
1278
+ variant?: string;
1279
+ };
1280
+ /**
1281
+ * Layers for this platform.
1282
+ */
1283
+ layers?: Array<{
1284
+ /**
1285
+ * Digest of the layer.
1286
+ */
1287
+ digest?: string;
1288
+ /**
1289
+ * Size of the layer in bytes.
1290
+ */
1291
+ size: number;
1292
+ }>;
1097
1293
  /**
1098
- * User permissions to access the cluster. Can be `readwrite` or `readonly`.
1294
+ * Total size of this platform manifest in bytes.
1099
1295
  */
1100
- permissions: 'readwrite' | 'readonly';
1296
+ size?: number;
1101
1297
  }>;
1102
- };
1103
- export type UserUpdateInput = {
1104
1298
  /**
1105
- * User email address.
1299
+ * Total size of the tag in bytes.
1106
1300
  */
1107
- email?: string;
1301
+ size: number;
1108
1302
  /**
1109
- * User first name.
1303
+ * Registry region.
1110
1304
  */
1111
- first_name?: string;
1305
+ region: string;
1112
1306
  /**
1113
- * User last name.
1307
+ * Repository name.
1114
1308
  */
1115
- last_name?: string;
1309
+ repository: string;
1116
1310
  /**
1117
- * User role. Can be 'Administrator', 'User'.
1311
+ * Full URI of the tag.
1118
1312
  */
1119
- role?: 'Administrator' | 'User';
1313
+ uri: string;
1314
+ };
1315
+ export type RoadmapItemCreateInput = {
1120
1316
  /**
1121
- * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
1317
+ * Your suggestion in one or two sentences. It is reviewed before it appears on the roadmap.
1122
1318
  */
1123
- status?: 'active' | 'inactive';
1319
+ text: string;
1124
1320
  };
1125
- export type GetUsageData = {
1126
- body?: never;
1127
- path?: never;
1128
- query?: never;
1129
- url: '/billing/usage';
1130
- };
1131
- export type GetUsageErrors = {
1321
+ export type RoadmapItem = {
1132
1322
  /**
1133
- * Not authenticated
1323
+ * Unique identifier of the roadmap item (Mongo ObjectId).
1134
1324
  */
1135
- 401: unknown;
1136
- };
1137
- export type GetUsageResponses = {
1325
+ id: string;
1138
1326
  /**
1139
- * An array of usage records.
1327
+ * Short description of the roadmap item.
1140
1328
  */
1141
- 200: Array<Usage>;
1142
- };
1143
- export type GetUsageResponse = GetUsageResponses[keyof GetUsageResponses];
1144
- export type GetBalanceData = {
1145
- body?: never;
1146
- path?: never;
1147
- query?: never;
1148
- url: '/billing/balance';
1149
- };
1150
- export type GetBalanceResponses = {
1329
+ text: string;
1151
1330
  /**
1152
- * Current balance of the organization in USD as a floating-point number.
1331
+ * The caller's vote on this item: -1 (down), 1 (up), 2 (double up), or null if the caller has not voted.
1153
1332
  */
1154
- 200: number;
1155
- };
1156
- export type GetBalanceResponse = GetBalanceResponses[keyof GetBalanceResponses];
1157
- export type GetPaymentMethodData = {
1158
- body?: never;
1159
- path?: never;
1160
- query?: never;
1161
- url: '/billing/payment-method';
1333
+ vote: -1 | 1 | 2;
1162
1334
  };
1163
- export type GetPaymentMethodErrors = {
1335
+ export type RoadmapVoteInput = {
1164
1336
  /**
1165
- * Returns 404 Not Found if the organization does not have a payment method set up.
1337
+ * Vote value: -1 (down), 1 (up), or 2 (double up).
1166
1338
  */
1167
- 404: unknown;
1339
+ value: -1 | 1 | 2;
1340
+ };
1341
+ export type TicketAttachment = {
1342
+ /**
1343
+ * Unique identifier of the attachment (Mongo ObjectId).
1344
+ */
1345
+ id: string;
1346
+ /**
1347
+ * Original filename as uploaded.
1348
+ */
1349
+ filename: string;
1350
+ /**
1351
+ * MIME content type of the attachment.
1352
+ */
1353
+ content_type: string;
1354
+ /**
1355
+ * Size of the attachment in bytes.
1356
+ */
1357
+ size: number;
1358
+ };
1359
+ export type TicketCreateInput = {
1360
+ /**
1361
+ * Ticket category. Drives auto-assignment and may carry a subcategory in `properties`.
1362
+ */
1363
+ category: 'billing' | 'technical' | 'general';
1364
+ /**
1365
+ * Initial message body in markdown. There is no separate subject — the first message body is the description.
1366
+ */
1367
+ body: string;
1368
+ /**
1369
+ * Free-form key/value bag set by the UI (e.g. `subcategory`, `cluster_id`, `cluster_name`, `region`).
1370
+ */
1371
+ properties?: {
1372
+ [key: string]: unknown;
1373
+ };
1374
+ /**
1375
+ * Grant Cloudfleet support staff access to the organization's resources while the ticket is open. Access cannot be revoked; it ends when the ticket is closed.
1376
+ */
1377
+ grant_support_access?: boolean;
1378
+ };
1379
+ export type TicketMessageInput = {
1380
+ /**
1381
+ * Reply body in markdown.
1382
+ */
1383
+ body: string;
1384
+ };
1385
+ export type TicketMessage = {
1386
+ /**
1387
+ * Unique identifier of the message (Mongo ObjectId).
1388
+ */
1389
+ id: string;
1390
+ /**
1391
+ * Message type. Internal notes are filtered out of customer-facing responses.
1392
+ */
1393
+ type: 'customer_reply' | 'agent_reply';
1394
+ /**
1395
+ * Message body in markdown.
1396
+ */
1397
+ body: string;
1398
+ /**
1399
+ * First name of the author. Null when not provided.
1400
+ */
1401
+ author_first_name?: string;
1402
+ /**
1403
+ * Last name of the author. Null when not provided.
1404
+ */
1405
+ author_last_name?: string;
1406
+ /**
1407
+ * Attachments associated with this message.
1408
+ */
1409
+ attachments?: Array<{
1410
+ /**
1411
+ * Unique identifier of the attachment (Mongo ObjectId).
1412
+ */
1413
+ id: string;
1414
+ /**
1415
+ * Original filename as uploaded.
1416
+ */
1417
+ filename: string;
1418
+ /**
1419
+ * MIME content type of the attachment.
1420
+ */
1421
+ content_type: string;
1422
+ /**
1423
+ * Size of the attachment in bytes.
1424
+ */
1425
+ size: number;
1426
+ }>;
1427
+ /**
1428
+ * Creation date of the message. ISO 8601 UTC.
1429
+ */
1430
+ date_created: string;
1431
+ };
1432
+ export type Ticket = {
1433
+ /**
1434
+ * Unique identifier of the ticket (Mongo ObjectId).
1435
+ */
1436
+ id: string;
1437
+ /**
1438
+ * Current state of the ticket.
1439
+ */
1440
+ status: 'waiting_on_us' | 'waiting_on_user' | 'closed';
1441
+ /**
1442
+ * Ticket category.
1443
+ */
1444
+ category: 'billing' | 'technical' | 'general';
1445
+ /**
1446
+ * First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.
1447
+ */
1448
+ summary: string;
1449
+ /**
1450
+ * Whether Cloudfleet support staff currently have access to the organization's resources. True once access is granted and until the ticket is closed.
1451
+ */
1452
+ support_access_granted: boolean;
1453
+ /**
1454
+ * When support access was granted. Null if it never was. Kept after the ticket is closed.
1455
+ */
1456
+ support_access_granted_at: string;
1457
+ /**
1458
+ * Closure timestamp. Null while the ticket is open.
1459
+ */
1460
+ closed_at?: string;
1461
+ /**
1462
+ * Creation date of the ticket. ISO 8601 UTC.
1463
+ */
1464
+ date_created: string;
1465
+ /**
1466
+ * Last update date of the ticket. ISO 8601 UTC.
1467
+ */
1468
+ date_updated: string;
1469
+ /**
1470
+ * Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.
1471
+ */
1472
+ messages?: Array<{
1473
+ /**
1474
+ * Unique identifier of the message (Mongo ObjectId).
1475
+ */
1476
+ id: string;
1477
+ /**
1478
+ * Message type. Internal notes are filtered out of customer-facing responses.
1479
+ */
1480
+ type: 'customer_reply' | 'agent_reply';
1481
+ /**
1482
+ * Message body in markdown.
1483
+ */
1484
+ body: string;
1485
+ /**
1486
+ * First name of the author. Null when not provided.
1487
+ */
1488
+ author_first_name?: string;
1489
+ /**
1490
+ * Last name of the author. Null when not provided.
1491
+ */
1492
+ author_last_name?: string;
1493
+ /**
1494
+ * Attachments associated with this message.
1495
+ */
1496
+ attachments?: Array<{
1497
+ /**
1498
+ * Unique identifier of the attachment (Mongo ObjectId).
1499
+ */
1500
+ id: string;
1501
+ /**
1502
+ * Original filename as uploaded.
1503
+ */
1504
+ filename: string;
1505
+ /**
1506
+ * MIME content type of the attachment.
1507
+ */
1508
+ content_type: string;
1509
+ /**
1510
+ * Size of the attachment in bytes.
1511
+ */
1512
+ size: number;
1513
+ }>;
1514
+ /**
1515
+ * Creation date of the message. ISO 8601 UTC.
1516
+ */
1517
+ date_created: string;
1518
+ }>;
1519
+ };
1520
+ export type TokenCreateInput = {
1521
+ /**
1522
+ * Human readable access token name.
1523
+ */
1524
+ name: string;
1525
+ /**
1526
+ * Role assumed by the token.
1527
+ */
1528
+ role: 'Administrator' | 'User';
1529
+ };
1530
+ export type Token = {
1531
+ /**
1532
+ * Human readable access token name.
1533
+ */
1534
+ name: string;
1535
+ /**
1536
+ * Role assumed by the token.
1537
+ */
1538
+ role: 'Administrator' | 'User';
1539
+ /**
1540
+ * Generated unique identifier of the access token.
1541
+ */
1542
+ id?: string;
1543
+ /**
1544
+ * Access token secret. Unmasked only during creation.
1545
+ */
1546
+ secret?: string;
1547
+ /**
1548
+ * Creation date of the access token. ISO 8601 date string in UTC timezone
1549
+ */
1550
+ date_created: string;
1551
+ };
1552
+ export type TokenUpdateInput = {
1553
+ /**
1554
+ * Human readable access token name.
1555
+ */
1556
+ name?: string;
1557
+ /**
1558
+ * Role assumed by the token.
1559
+ */
1560
+ role?: 'Administrator' | 'User';
1561
+ };
1562
+ export type UsageFacets = {
1563
+ /**
1564
+ * List of unique cluster IDs
1565
+ */
1566
+ cluster_id?: Array<string>;
1567
+ /**
1568
+ * List of unique products
1569
+ */
1570
+ product?: Array<'cfke_controlplane_basic' | 'cfke_controlplane_pro' | 'cfke_controlplane_enterprise' | 'cfke_connected_nodes_basic' | 'cfke_connected_nodes_pro' | 'cfke_connected_nodes_enterprise' | 'cfcr_storage'>;
1571
+ };
1572
+ export type UsageResponse = {
1573
+ /**
1574
+ * Usage data
1575
+ */
1576
+ data: Array<{
1577
+ /**
1578
+ * Hour of the usage
1579
+ */
1580
+ hour: string;
1581
+ /**
1582
+ * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
1583
+ */
1584
+ cluster_id: string;
1585
+ /**
1586
+ * The product the usage is associated with
1587
+ */
1588
+ product: 'cfke_controlplane_basic' | 'cfke_controlplane_pro' | 'cfke_controlplane_enterprise' | 'cfke_connected_nodes_basic' | 'cfke_connected_nodes_pro' | 'cfke_connected_nodes_enterprise' | 'cfcr_storage';
1589
+ /**
1590
+ * Consumption
1591
+ */
1592
+ value: number;
1593
+ /**
1594
+ * Price per unit
1595
+ */
1596
+ price: number;
1597
+ /**
1598
+ * Total cost
1599
+ */
1600
+ total: number;
1601
+ }>;
1602
+ /**
1603
+ * Facets for filtering
1604
+ */
1605
+ facets: {
1606
+ /**
1607
+ * List of unique cluster IDs
1608
+ */
1609
+ cluster_id?: Array<string>;
1610
+ /**
1611
+ * List of unique products
1612
+ */
1613
+ product?: Array<'cfke_controlplane_basic' | 'cfke_controlplane_pro' | 'cfke_controlplane_enterprise' | 'cfke_connected_nodes_basic' | 'cfke_connected_nodes_pro' | 'cfke_connected_nodes_enterprise' | 'cfcr_storage'>;
1614
+ };
1615
+ };
1616
+ export type Usage = {
1617
+ /**
1618
+ * Hour of the usage
1619
+ */
1620
+ hour: string;
1621
+ /**
1622
+ * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
1623
+ */
1624
+ cluster_id: string;
1625
+ /**
1626
+ * The product the usage is associated with
1627
+ */
1628
+ product: 'cfke_controlplane_basic' | 'cfke_controlplane_pro' | 'cfke_controlplane_enterprise' | 'cfke_connected_nodes_basic' | 'cfke_connected_nodes_pro' | 'cfke_connected_nodes_enterprise' | 'cfcr_storage';
1629
+ /**
1630
+ * Consumption
1631
+ */
1632
+ value: number;
1633
+ /**
1634
+ * Price per unit
1635
+ */
1636
+ price: number;
1637
+ /**
1638
+ * Total cost
1639
+ */
1640
+ total: number;
1641
+ };
1642
+ export type UserCreateInput = {
1643
+ /**
1644
+ * User email address.
1645
+ */
1646
+ email: string;
1647
+ /**
1648
+ * User first name.
1649
+ */
1650
+ first_name: string;
1651
+ /**
1652
+ * User last name.
1653
+ */
1654
+ last_name: string;
1655
+ /**
1656
+ * Generated unique invite code.
1657
+ */
1658
+ code: string;
1659
+ /**
1660
+ * User password. Must be at least 8 characters long.
1661
+ */
1662
+ password: string;
1663
+ };
1664
+ export type User = {
1665
+ /**
1666
+ * User email address.
1667
+ */
1668
+ email: string;
1669
+ /**
1670
+ * User first name.
1671
+ */
1672
+ first_name: string;
1673
+ /**
1674
+ * User last name.
1675
+ */
1676
+ last_name: string;
1677
+ /**
1678
+ * User role. Can be 'Administrator', 'User'.
1679
+ */
1680
+ role: 'Administrator' | 'User';
1681
+ /**
1682
+ * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
1683
+ */
1684
+ status: 'active' | 'inactive';
1685
+ /**
1686
+ * Unique identifier of the user. UUID v4 string in canonical form
1687
+ */
1688
+ id: string;
1689
+ /**
1690
+ * Creation date of the user. ISO 8601 date string in UTC timezone
1691
+ */
1692
+ date_created: string;
1693
+ };
1694
+ export type UserUpdateInput = {
1695
+ /**
1696
+ * User email address.
1697
+ */
1698
+ email?: string;
1699
+ /**
1700
+ * User first name.
1701
+ */
1702
+ first_name?: string;
1703
+ /**
1704
+ * User last name.
1705
+ */
1706
+ last_name?: string;
1707
+ /**
1708
+ * User role. Can be 'Administrator', 'User'.
1709
+ */
1710
+ role?: 'Administrator' | 'User';
1711
+ /**
1712
+ * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
1713
+ */
1714
+ status?: 'active' | 'inactive';
1715
+ };
1716
+ export type ListUserOrganizationsData = {
1717
+ body?: never;
1718
+ path: {
1719
+ /**
1720
+ * User email address.
1721
+ */
1722
+ email: string;
1723
+ };
1724
+ query?: never;
1725
+ url: '/users/organizations/{email}';
1726
+ };
1727
+ export type ListUserOrganizationsResponses = {
1728
+ /**
1729
+ * An array of organizations the user belongs to.
1730
+ */
1731
+ 200: Array<{
1732
+ /**
1733
+ * Unique identifier of the organization. UUID v4 string in canonical form
1734
+ */
1735
+ realm?: string;
1736
+ /**
1737
+ * Human-readable name of the organization
1738
+ */
1739
+ displayName?: string;
1740
+ }>;
1741
+ };
1742
+ export type ListUserOrganizationsResponse = ListUserOrganizationsResponses[keyof ListUserOrganizationsResponses];
1743
+ export type ListUsersData = {
1744
+ body?: never;
1745
+ path?: never;
1746
+ query?: never;
1747
+ url: '/users';
1748
+ };
1749
+ export type ListUsersErrors = {
1750
+ /**
1751
+ * Not authenticated
1752
+ */
1753
+ 401: unknown;
1754
+ };
1755
+ export type ListUsersResponses = {
1756
+ /**
1757
+ * An array of users
1758
+ */
1759
+ 200: Array<User>;
1760
+ };
1761
+ export type ListUsersResponse = ListUsersResponses[keyof ListUsersResponses];
1762
+ export type CreateUserData = {
1763
+ body: UserCreateInput;
1764
+ path?: never;
1765
+ query?: never;
1766
+ url: '/users';
1767
+ };
1768
+ export type CreateUserResponses = {
1769
+ /**
1770
+ * Successfully created. Returns created user details.
1771
+ */
1772
+ 200: User;
1773
+ };
1774
+ export type CreateUserResponse = CreateUserResponses[keyof CreateUserResponses];
1775
+ export type DeleteUserData = {
1776
+ body?: never;
1777
+ path: {
1778
+ /**
1779
+ * Unique user identifier. UUID v4 string in canonical form
1780
+ */
1781
+ user_id: string;
1782
+ };
1783
+ query?: never;
1784
+ url: '/users/{user_id}';
1785
+ };
1786
+ export type DeleteUserErrors = {
1787
+ /**
1788
+ * Deleting own user is not allowed. Delete your organization instead.
1789
+ */
1790
+ 400: unknown;
1791
+ /**
1792
+ * Not authenticated
1793
+ */
1794
+ 401: unknown;
1795
+ };
1796
+ export type DeleteUserResponses = {
1797
+ /**
1798
+ * User profile information
1799
+ */
1800
+ 200: User;
1801
+ };
1802
+ export type DeleteUserResponse = DeleteUserResponses[keyof DeleteUserResponses];
1803
+ export type GetUserData = {
1804
+ body?: never;
1805
+ path: {
1806
+ /**
1807
+ * Unique user identifier. UUID v4 string in canonical form
1808
+ */
1809
+ user_id: string;
1810
+ };
1811
+ query?: never;
1812
+ url: '/users/{user_id}';
1813
+ };
1814
+ export type GetUserErrors = {
1815
+ /**
1816
+ * Not authenticated
1817
+ */
1818
+ 401: unknown;
1819
+ };
1820
+ export type GetUserResponses = {
1821
+ /**
1822
+ * User profile information
1823
+ */
1824
+ 200: User;
1825
+ };
1826
+ export type GetUserResponse = GetUserResponses[keyof GetUserResponses];
1827
+ export type UpdateUserData = {
1828
+ body: UserUpdateInput;
1829
+ path: {
1830
+ /**
1831
+ * Unique user identifier. UUID v4 string in canonical form
1832
+ */
1833
+ user_id: string;
1834
+ };
1835
+ query?: never;
1836
+ url: '/users/{user_id}';
1837
+ };
1838
+ export type UpdateUserResponses = {
1839
+ /**
1840
+ * Successfully created. Returns created user details.
1841
+ */
1842
+ 200: User;
1843
+ };
1844
+ export type UpdateUserResponse = UpdateUserResponses[keyof UpdateUserResponses];
1845
+ export type ListTokensData = {
1846
+ body?: never;
1847
+ path?: never;
1848
+ query?: never;
1849
+ url: '/tokens';
1850
+ };
1851
+ export type ListTokensErrors = {
1852
+ /**
1853
+ * Not authenticated
1854
+ */
1855
+ 401: unknown;
1856
+ };
1857
+ export type ListTokensResponses = {
1858
+ /**
1859
+ * Returns a list of access token details with masked secrets.
1860
+ */
1861
+ 200: Array<Token>;
1862
+ };
1863
+ export type ListTokensResponse = ListTokensResponses[keyof ListTokensResponses];
1864
+ export type CreateTokenData = {
1865
+ body: TokenCreateInput;
1866
+ path?: never;
1867
+ query?: never;
1868
+ url: '/tokens';
1869
+ };
1870
+ export type CreateTokenErrors = {
1871
+ /**
1872
+ * Not authenticated
1873
+ */
1874
+ 401: unknown;
1875
+ };
1876
+ export type CreateTokenResponses = {
1877
+ /**
1878
+ * Successfully created. Returns created token details with unmasked/raw secret.
1879
+ */
1880
+ 200: Token;
1881
+ };
1882
+ export type CreateTokenResponse = CreateTokenResponses[keyof CreateTokenResponses];
1883
+ export type DeleteTokenData = {
1884
+ body?: never;
1885
+ path: {
1886
+ /**
1887
+ * Generated unique identifier of the access token.
1888
+ */
1889
+ token_id: string;
1890
+ };
1891
+ query?: never;
1892
+ url: '/tokens/{token_id}';
1168
1893
  };
1169
- export type GetPaymentMethodResponses = {
1894
+ export type DeleteTokenResponses = {
1170
1895
  /**
1171
- * Redacted payment card information.
1896
+ * Successfully deleted.
1172
1897
  */
1173
- 200: PaymentMethod;
1898
+ 200: unknown;
1174
1899
  };
1175
- export type GetPaymentMethodResponse = GetPaymentMethodResponses[keyof GetPaymentMethodResponses];
1176
- export type GetPaymentMethodSecretData = {
1900
+ export type GetTokenData = {
1177
1901
  body?: never;
1178
- path?: never;
1902
+ path: {
1903
+ /**
1904
+ * Generated unique identifier of the access token.
1905
+ */
1906
+ token_id: string;
1907
+ };
1179
1908
  query?: never;
1180
- url: '/billing/payment-method';
1909
+ url: '/tokens/{token_id}';
1181
1910
  };
1182
- export type GetPaymentMethodSecretResponses = {
1911
+ export type GetTokenErrors = {
1183
1912
  /**
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
- *
1913
+ * Not authenticated
1186
1914
  */
1187
- 200: {
1915
+ 401: unknown;
1916
+ };
1917
+ export type GetTokenResponses = {
1918
+ /**
1919
+ * Returns access token details with masked secret.
1920
+ */
1921
+ 200: Token;
1922
+ };
1923
+ export type GetTokenResponse = GetTokenResponses[keyof GetTokenResponses];
1924
+ export type UpdateTokenData = {
1925
+ body: TokenUpdateInput;
1926
+ path: {
1188
1927
  /**
1189
- * The client secret.
1928
+ * Generated unique identifier of the access token.
1190
1929
  */
1191
- id?: string;
1930
+ token_id: string;
1192
1931
  };
1932
+ query?: never;
1933
+ url: '/tokens/{token_id}';
1193
1934
  };
1194
- export type GetPaymentMethodSecretResponse = GetPaymentMethodSecretResponses[keyof GetPaymentMethodSecretResponses];
1195
- export type ListInvoicesData = {
1935
+ export type UpdateTokenErrors = {
1936
+ /**
1937
+ * Not authenticated
1938
+ */
1939
+ 401: unknown;
1940
+ };
1941
+ export type UpdateTokenResponses = {
1942
+ /**
1943
+ * Successfully updated. Returns updated token details with masked secret.
1944
+ */
1945
+ 200: Token;
1946
+ };
1947
+ export type UpdateTokenResponse = UpdateTokenResponses[keyof UpdateTokenResponses];
1948
+ export type RegenerateTokenData = {
1196
1949
  body?: never;
1197
- path?: never;
1198
- query: {
1199
- /**
1200
- * Start date for the usage. Date of oldest data point to retrieve.
1201
- */
1202
- start_date: string;
1950
+ path: {
1203
1951
  /**
1204
- * End date for the usage. Date of newest data point to retrieve.
1952
+ * Generated unique identifier of the access token.
1205
1953
  */
1206
- end_date: string;
1954
+ token_id: string;
1207
1955
  };
1208
- url: '/billing/invoices';
1956
+ query?: never;
1957
+ url: '/tokens/{token_id}/secret';
1209
1958
  };
1210
- export type ListInvoicesErrors = {
1959
+ export type RegenerateTokenErrors = {
1211
1960
  /**
1212
1961
  * Not authenticated
1213
1962
  */
1214
1963
  401: unknown;
1215
1964
  };
1216
- export type ListInvoicesResponses = {
1965
+ export type RegenerateTokenResponses = {
1217
1966
  /**
1218
- * An array of usage records.
1967
+ * Successfully updated. Returns updated token details with unmasked / raw secret.
1219
1968
  */
1220
- 200: Array<Invoice>;
1969
+ 200: Token;
1221
1970
  };
1222
- export type ListInvoicesResponse = ListInvoicesResponses[keyof ListInvoicesResponses];
1223
- export type GetInvoiceData = {
1971
+ export type RegenerateTokenResponse = RegenerateTokenResponses[keyof RegenerateTokenResponses];
1972
+ export type ListTicketsData = {
1973
+ body?: never;
1974
+ path?: never;
1975
+ query?: never;
1976
+ url: '/tickets';
1977
+ };
1978
+ export type ListTicketsResponses = {
1979
+ /**
1980
+ * An array of tickets for the organization, newest first.
1981
+ */
1982
+ 200: Array<Ticket>;
1983
+ };
1984
+ export type ListTicketsResponse = ListTicketsResponses[keyof ListTicketsResponses];
1985
+ export type CreateTicketData = {
1986
+ body: {
1987
+ /**
1988
+ * JSON-encoded TicketCreateInput.
1989
+ */
1990
+ payload?: string;
1991
+ attachments?: Array<Blob | File>;
1992
+ };
1993
+ path?: never;
1994
+ query?: never;
1995
+ url: '/tickets';
1996
+ };
1997
+ export type CreateTicketResponses = {
1998
+ /**
1999
+ * Ticket created.
2000
+ */
2001
+ 200: Ticket;
2002
+ };
2003
+ export type CreateTicketResponse = CreateTicketResponses[keyof CreateTicketResponses];
2004
+ export type CloseTicketData = {
1224
2005
  body?: never;
1225
2006
  path: {
2007
+ ticket_id: string;
2008
+ };
2009
+ query?: never;
2010
+ url: '/tickets/{ticket_id}';
2011
+ };
2012
+ export type CloseTicketResponses = {
2013
+ /**
2014
+ * Ticket closed.
2015
+ */
2016
+ 200: Ticket;
2017
+ };
2018
+ export type CloseTicketResponse = CloseTicketResponses[keyof CloseTicketResponses];
2019
+ export type GetTicketData = {
2020
+ body?: never;
2021
+ path: {
2022
+ ticket_id: string;
2023
+ };
2024
+ query?: never;
2025
+ url: '/tickets/{ticket_id}';
2026
+ };
2027
+ export type GetTicketResponses = {
2028
+ /**
2029
+ * Ticket with messages (internal notes excluded).
2030
+ */
2031
+ 200: Ticket;
2032
+ };
2033
+ export type GetTicketResponse = GetTicketResponses[keyof GetTicketResponses];
2034
+ export type GrantTicketSupportAccessData = {
2035
+ body?: never;
2036
+ path: {
2037
+ ticket_id: string;
2038
+ };
2039
+ query?: never;
2040
+ url: '/tickets/{ticket_id}/support-access';
2041
+ };
2042
+ export type GrantTicketSupportAccessErrors = {
2043
+ /**
2044
+ * Ticket is closed. Open a new ticket instead.
2045
+ */
2046
+ 409: unknown;
2047
+ };
2048
+ export type GrantTicketSupportAccessResponses = {
2049
+ /**
2050
+ * Support access granted.
2051
+ */
2052
+ 200: Ticket;
2053
+ };
2054
+ export type GrantTicketSupportAccessResponse = GrantTicketSupportAccessResponses[keyof GrantTicketSupportAccessResponses];
2055
+ export type ReplyTicketData = {
2056
+ body: {
1226
2057
  /**
1227
- * Unique invoice identifier. UUID v4 string in canonical form
2058
+ * JSON-encoded TicketMessageInput.
1228
2059
  */
1229
- id: string;
2060
+ payload?: string;
2061
+ attachments?: Array<Blob | File>;
2062
+ };
2063
+ path: {
2064
+ ticket_id: string;
1230
2065
  };
1231
2066
  query?: never;
1232
- url: '/billing/invoices/{id}';
2067
+ url: '/tickets/{ticket_id}/messages';
1233
2068
  };
1234
- export type GetInvoiceResponses = {
2069
+ export type ReplyTicketErrors = {
1235
2070
  /**
1236
- * Returns a single Invoice HTML representation under `html` property.
2071
+ * Ticket is closed. Open a new ticket instead.
1237
2072
  */
1238
- 200: {
1239
- html?: string;
2073
+ 409: unknown;
2074
+ };
2075
+ export type ReplyTicketResponses = {
2076
+ /**
2077
+ * Reply appended.
2078
+ */
2079
+ 200: TicketMessage;
2080
+ };
2081
+ export type ReplyTicketResponse = ReplyTicketResponses[keyof ReplyTicketResponses];
2082
+ export type GetTicketAttachmentData = {
2083
+ body?: never;
2084
+ path: {
2085
+ ticket_id: string;
2086
+ attachment_id: string;
1240
2087
  };
2088
+ query?: never;
2089
+ url: '/tickets/{ticket_id}/attachments/{attachment_id}';
1241
2090
  };
1242
- export type GetInvoiceResponse = GetInvoiceResponses[keyof GetInvoiceResponses];
1243
- export type ListFleetsData = {
2091
+ export type GetTicketAttachmentResponses = {
2092
+ /**
2093
+ * Attachment binary stream.
2094
+ */
2095
+ 200: Blob | File;
2096
+ };
2097
+ export type GetTicketAttachmentResponse = GetTicketAttachmentResponses[keyof GetTicketAttachmentResponses];
2098
+ export type ListRoadmapData = {
2099
+ body?: never;
2100
+ path?: never;
2101
+ query?: never;
2102
+ url: '/roadmap';
2103
+ };
2104
+ export type ListRoadmapResponses = {
2105
+ /**
2106
+ * An array of roadmap items, newest first.
2107
+ */
2108
+ 200: Array<RoadmapItem>;
2109
+ };
2110
+ export type ListRoadmapResponse = ListRoadmapResponses[keyof ListRoadmapResponses];
2111
+ export type SuggestRoadmapData = {
2112
+ body: RoadmapItemCreateInput;
2113
+ path?: never;
2114
+ query?: never;
2115
+ url: '/roadmap';
2116
+ };
2117
+ export type SuggestRoadmapResponses = {
2118
+ /**
2119
+ * Suggestion submitted for review.
2120
+ */
2121
+ 200: RoadmapItem;
2122
+ };
2123
+ export type SuggestRoadmapResponse = SuggestRoadmapResponses[keyof SuggestRoadmapResponses];
2124
+ export type UnvoteRoadmapData = {
2125
+ body?: never;
2126
+ path: {
2127
+ item_id: string;
2128
+ };
2129
+ query?: never;
2130
+ url: '/roadmap/{item_id}/vote';
2131
+ };
2132
+ export type UnvoteRoadmapErrors = {
2133
+ /**
2134
+ * Roadmap item not found.
2135
+ */
2136
+ 404: unknown;
2137
+ };
2138
+ export type UnvoteRoadmapResponses = {
2139
+ /**
2140
+ * Vote removed. Returns the item without a vote.
2141
+ */
2142
+ 200: RoadmapItem;
2143
+ };
2144
+ export type UnvoteRoadmapResponse = UnvoteRoadmapResponses[keyof UnvoteRoadmapResponses];
2145
+ export type VoteRoadmapData = {
2146
+ body: RoadmapVoteInput;
2147
+ path: {
2148
+ item_id: string;
2149
+ };
2150
+ query?: never;
2151
+ url: '/roadmap/{item_id}/vote';
2152
+ };
2153
+ export type VoteRoadmapErrors = {
2154
+ /**
2155
+ * Roadmap item not found.
2156
+ */
2157
+ 404: unknown;
2158
+ };
2159
+ export type VoteRoadmapResponses = {
2160
+ /**
2161
+ * Vote saved. Returns the item with your vote.
2162
+ */
2163
+ 200: RoadmapItem;
2164
+ };
2165
+ export type VoteRoadmapResponse = VoteRoadmapResponses[keyof VoteRoadmapResponses];
2166
+ export type ListRepositoriesData = {
2167
+ body?: never;
2168
+ path?: never;
2169
+ query?: never;
2170
+ url: '/registry';
2171
+ };
2172
+ export type ListRepositoriesErrors = {
2173
+ /**
2174
+ * Not authenticated
2175
+ */
2176
+ 401: unknown;
2177
+ /**
2178
+ * Internal server error
2179
+ */
2180
+ 500: unknown;
2181
+ };
2182
+ export type ListRepositoriesResponses = {
2183
+ /**
2184
+ * List of repositories
2185
+ */
2186
+ 200: Array<RegistryRepository>;
2187
+ };
2188
+ export type ListRepositoriesResponse = ListRepositoriesResponses[keyof ListRepositoriesResponses];
2189
+ export type ListTagsData = {
1244
2190
  body?: never;
1245
2191
  path: {
1246
2192
  /**
1247
- * Unique identifier of the cluster. UUID v4 string in canonical form
2193
+ * Region where the repository is located
1248
2194
  */
1249
- cluster_id: string;
2195
+ region: string;
2196
+ /**
2197
+ * Name of the repository
2198
+ */
2199
+ repository: string;
1250
2200
  };
1251
2201
  query?: never;
1252
- url: '/clusters/{cluster_id}/fleets';
2202
+ url: '/registry/{region}/{repository}';
1253
2203
  };
1254
- export type ListFleetsErrors = {
2204
+ export type ListTagsErrors = {
1255
2205
  /**
1256
2206
  * Not authenticated
1257
2207
  */
1258
2208
  401: unknown;
2209
+ /**
2210
+ * Repository not found
2211
+ */
2212
+ 404: unknown;
2213
+ /**
2214
+ * Internal server error
2215
+ */
2216
+ 500: unknown;
1259
2217
  };
1260
- export type ListFleetsResponses = {
2218
+ export type ListTagsResponses = {
1261
2219
  /**
1262
- * An array of fleets
2220
+ * Repository with tags
1263
2221
  */
1264
- 200: Array<Fleet>;
2222
+ 200: RegistryRepositoryWithTags;
1265
2223
  };
1266
- export type ListFleetsResponse = ListFleetsResponses[keyof ListFleetsResponses];
1267
- export type CreateFleetData = {
1268
- body: FleetCreateInput;
2224
+ export type ListTagsResponse = ListTagsResponses[keyof ListTagsResponses];
2225
+ export type DeleteTagData = {
2226
+ body?: never;
1269
2227
  path: {
1270
2228
  /**
1271
- * Unique identifier of the cluster. UUID v4 string in canonical form
2229
+ * Region where the repository is located
1272
2230
  */
1273
- cluster_id: string;
2231
+ region: string;
2232
+ /**
2233
+ * Name of the repository
2234
+ */
2235
+ repository: string;
2236
+ /**
2237
+ * Name of the tag
2238
+ */
2239
+ tag: string;
1274
2240
  };
1275
2241
  query?: never;
1276
- url: '/clusters/{cluster_id}/fleets';
2242
+ url: '/registry/{region}/{repository}/{tag}';
1277
2243
  };
1278
- export type CreateFleetErrors = {
2244
+ export type DeleteTagErrors = {
1279
2245
  /**
1280
- * Cluster quota exceeded. Maximum number of fleets per cluster allowed in this organization is reached.
2246
+ * Not authenticated
1281
2247
  */
1282
- 402: string;
2248
+ 401: unknown;
2249
+ /**
2250
+ * Tag not found
2251
+ */
2252
+ 404: unknown;
2253
+ /**
2254
+ * Internal server error
2255
+ */
2256
+ 500: unknown;
1283
2257
  };
1284
- export type CreateFleetError = CreateFleetErrors[keyof CreateFleetErrors];
1285
- export type CreateFleetResponses = {
2258
+ export type DeleteTagResponses = {
1286
2259
  /**
1287
- * Successfully created. Returns created Fleet ID.
2260
+ * Tag successfully deleted
1288
2261
  */
1289
- 200: string;
2262
+ 200: unknown;
1290
2263
  };
1291
- export type CreateFleetResponse = CreateFleetResponses[keyof CreateFleetResponses];
1292
- export type DeleteFleetData = {
2264
+ export type GetTagData = {
1293
2265
  body?: never;
1294
2266
  path: {
1295
2267
  /**
1296
- * Unique identifier of the cluster. UUID v4 string in canonical form
2268
+ * Region where the repository is located
1297
2269
  */
1298
- cluster_id: string;
2270
+ region: string;
1299
2271
  /**
1300
- * Unique identifier of the fleet. UUID v4 string in canonical form
2272
+ * Name of the repository
1301
2273
  */
1302
- fleet_name: string;
2274
+ repository: string;
2275
+ /**
2276
+ * Name of the tag
2277
+ */
2278
+ tag: string;
1303
2279
  };
1304
2280
  query?: never;
1305
- url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2281
+ url: '/registry/{region}/{repository}/{tag}';
2282
+ };
2283
+ export type GetTagErrors = {
2284
+ /**
2285
+ * Not authenticated
2286
+ */
2287
+ 401: unknown;
2288
+ /**
2289
+ * Tag not found
2290
+ */
2291
+ 404: unknown;
2292
+ /**
2293
+ * Internal server error
2294
+ */
2295
+ 500: unknown;
2296
+ };
2297
+ export type GetTagResponses = {
2298
+ /**
2299
+ * Tag details
2300
+ */
2301
+ 200: RegistryTag;
2302
+ };
2303
+ export type GetTagResponse = GetTagResponses[keyof GetTagResponses];
2304
+ export type GetOrganizationData = {
2305
+ body?: never;
2306
+ path?: never;
2307
+ query?: never;
2308
+ url: '/organization';
2309
+ };
2310
+ export type GetOrganizationResponses = {
2311
+ /**
2312
+ * Returns a single object containing organization details.
2313
+ */
2314
+ 200: Organization;
2315
+ };
2316
+ export type GetOrganizationResponse = GetOrganizationResponses[keyof GetOrganizationResponses];
2317
+ export type CreateOrganizationData = {
2318
+ body: OrganizationCreateInput;
2319
+ path?: never;
2320
+ query?: never;
2321
+ url: '/organization';
1306
2322
  };
1307
- export type DeleteFleetResponses = {
2323
+ export type CreateOrganizationResponses = {
1308
2324
  /**
1309
- * Successfully deleted.
2325
+ * Organization signup accepted. Returns the generated organization id immediately; provisioning (billing, Keycloak realm, user) continues asynchronously in the background.
2326
+ *
1310
2327
  */
1311
- 200: string;
2328
+ 200: OrganizationCreateOutput;
1312
2329
  };
1313
- export type DeleteFleetResponse = DeleteFleetResponses[keyof DeleteFleetResponses];
1314
- export type GetFleetData = {
1315
- body?: never;
1316
- path: {
1317
- /**
1318
- * Unique identifier of the cluster. UUID v4 string in canonical form
1319
- */
1320
- cluster_id: string;
2330
+ export type CreateOrganizationResponse = CreateOrganizationResponses[keyof CreateOrganizationResponses];
2331
+ export type PostMcpData = {
2332
+ /**
2333
+ * JSON-RPC 2.0 request payload
2334
+ */
2335
+ body: {
2336
+ jsonrpc?: string;
2337
+ method?: string;
2338
+ id?: string | number;
1321
2339
  /**
1322
- * Unique identifier of the fleet. UUID v4 string in canonical form
2340
+ * Method-specific parameters
1323
2341
  */
1324
- fleet_name: string;
2342
+ params?: {
2343
+ [key: string]: unknown;
2344
+ };
1325
2345
  };
2346
+ path?: never;
1326
2347
  query?: never;
1327
- url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2348
+ url: '/mcp';
1328
2349
  };
1329
- export type GetFleetResponses = {
2350
+ export type PostMcpErrors = {
1330
2351
  /**
1331
- * Returns a single object containing fleet details.
2352
+ * Not authenticated
1332
2353
  */
1333
- 200: Fleet;
2354
+ 401: unknown;
1334
2355
  };
1335
- export type GetFleetResponse = GetFleetResponses[keyof GetFleetResponses];
1336
- export type UpdateFleetData = {
1337
- body: FleetUpdateInput;
1338
- path: {
1339
- /**
1340
- * Unique identifier of the cluster. UUID v4 string in canonical form
1341
- */
1342
- cluster_id: string;
1343
- /**
1344
- * Unique identifier of the fleet. UUID v4 string in canonical form
1345
- */
1346
- fleet_name: string;
2356
+ export type PostMcpResponses = {
2357
+ /**
2358
+ * JSON-RPC 2.0 success or error response
2359
+ */
2360
+ 200: {
2361
+ jsonrpc?: string;
2362
+ id?: string | number;
2363
+ result?: {
2364
+ [key: string]: unknown;
2365
+ };
2366
+ error?: {
2367
+ code?: number;
2368
+ message?: string;
2369
+ };
1347
2370
  };
2371
+ };
2372
+ export type PostMcpResponse = PostMcpResponses[keyof PostMcpResponses];
2373
+ export type ListMarketplaceChartsData = {
2374
+ body?: never;
2375
+ path?: never;
1348
2376
  query?: never;
1349
- url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2377
+ url: '/marketplace';
1350
2378
  };
1351
- export type UpdateFleetErrors = {
2379
+ export type ListMarketplaceChartsErrors = {
1352
2380
  /**
1353
- * Organization must have a valid payment method configured to access this endpoint.
2381
+ * Not authenticated
1354
2382
  */
1355
- 402: string;
2383
+ 401: unknown;
1356
2384
  };
1357
- export type UpdateFleetError = UpdateFleetErrors[keyof UpdateFleetErrors];
1358
- export type UpdateFleetResponses = {
2385
+ export type ListMarketplaceChartsResponses = {
1359
2386
  /**
1360
- * Successfully updated.
2387
+ * An array of chart listings in the marketplace.
1361
2388
  */
1362
- 200: string;
2389
+ 200: Array<MarketplaceListing>;
1363
2390
  };
1364
- export type UpdateFleetResponse = UpdateFleetResponses[keyof UpdateFleetResponses];
1365
- export type QueryClusterData = {
2391
+ export type ListMarketplaceChartsResponse = ListMarketplaceChartsResponses[keyof ListMarketplaceChartsResponses];
2392
+ export type GetMarketplaceChartFilesData = {
1366
2393
  body?: never;
1367
2394
  path: {
1368
2395
  /**
1369
- * Unique identifier of the cluster. UUID v4 string in canonical form
2396
+ * Name of the chart in the marketplace.
1370
2397
  */
1371
- cluster_id: string;
2398
+ chart_name: string;
2399
+ /**
2400
+ * 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).
2401
+ */
2402
+ version_channel: string;
1372
2403
  };
1373
2404
  query?: never;
1374
- url: '/clusters/{cluster_id}/query';
2405
+ url: '/marketplace/{chart_name}/files/{version_channel}';
1375
2406
  };
1376
- export type QueryClusterErrors = {
2407
+ export type GetMarketplaceChartFilesErrors = {
1377
2408
  /**
1378
- * Not authenticated
2409
+ * Chart not found or no version matches the channel
1379
2410
  */
1380
- 401: unknown;
2411
+ 404: unknown;
1381
2412
  };
1382
- export type QueryClusterResponses = {
2413
+ export type GetMarketplaceChartFilesResponses = {
1383
2414
  /**
1384
- * Kubernetes API response
2415
+ * Returns an object containing the chart files for the latest matching version.
1385
2416
  */
1386
- 200: unknown;
2417
+ 200: MarketplaceListingFiles;
1387
2418
  };
1388
- export type ListClustersData = {
2419
+ export type GetMarketplaceChartFilesResponse = GetMarketplaceChartFilesResponses[keyof GetMarketplaceChartFilesResponses];
2420
+ export type ListInvitesData = {
1389
2421
  body?: never;
1390
2422
  path?: never;
1391
2423
  query?: never;
1392
- url: '/clusters';
2424
+ url: '/invites';
1393
2425
  };
1394
- export type ListClustersErrors = {
2426
+ export type ListInvitesErrors = {
1395
2427
  /**
1396
2428
  * Not authenticated
1397
2429
  */
1398
2430
  401: unknown;
1399
2431
  };
1400
- export type ListClustersResponses = {
2432
+ export type ListInvitesResponses = {
1401
2433
  /**
1402
- * An array of clusters
2434
+ * An array of invites
1403
2435
  */
1404
- 200: Array<Cluster>;
2436
+ 200: Array<Invite>;
1405
2437
  };
1406
- export type ListClustersResponse = ListClustersResponses[keyof ListClustersResponses];
1407
- export type CreateClusterData = {
1408
- body: ClusterCreateInput;
2438
+ export type ListInvitesResponse = ListInvitesResponses[keyof ListInvitesResponses];
2439
+ export type CreateInviteData = {
2440
+ body: InviteCreateInput;
1409
2441
  path?: never;
1410
2442
  query?: never;
1411
- url: '/clusters';
1412
- };
1413
- export type CreateClusterErrors = {
1414
- /**
1415
- * Cluster quota exceeded. Maximum number of clusters allowed in this organization is reached.
1416
- */
1417
- 402: string;
2443
+ url: '/invites';
1418
2444
  };
1419
- export type CreateClusterError = CreateClusterErrors[keyof CreateClusterErrors];
1420
- export type CreateClusterResponses = {
2445
+ export type CreateInviteResponses = {
1421
2446
  /**
1422
- * Successfully created. Returns created Cluster ID.
2447
+ * Successfully created. Returns created invite details.
1423
2448
  */
1424
- 200: string;
2449
+ 200: Invite;
1425
2450
  };
1426
- export type CreateClusterResponse = CreateClusterResponses[keyof CreateClusterResponses];
1427
- export type DeleteClusterData = {
2451
+ export type CreateInviteResponse = CreateInviteResponses[keyof CreateInviteResponses];
2452
+ export type GetInviteData = {
1428
2453
  body?: never;
1429
2454
  path: {
1430
2455
  /**
1431
- * Unique identifier of the cluster. UUID v4 string in canonical form
2456
+ * Invitation code
1432
2457
  */
1433
- cluster_id: string;
2458
+ code: string;
1434
2459
  };
1435
2460
  query?: never;
1436
- url: '/clusters/{cluster_id}';
2461
+ url: '/invites/{code}';
1437
2462
  };
1438
- export type DeleteClusterResponses = {
2463
+ export type GetInviteResponses = {
1439
2464
  /**
1440
- * Successfully deleted.
2465
+ * The invitation code is valid. Returns the invited email and organization.
1441
2466
  */
1442
- 200: string;
2467
+ 200: {
2468
+ /**
2469
+ * Email address the invite was issued to.
2470
+ */
2471
+ email?: string;
2472
+ /**
2473
+ * Identifier of the organization the invite grants access to.
2474
+ */
2475
+ organization_id?: string;
2476
+ };
1443
2477
  };
1444
- export type DeleteClusterResponse = DeleteClusterResponses[keyof DeleteClusterResponses];
1445
- export type GetClusterData = {
2478
+ export type GetInviteResponse = GetInviteResponses[keyof GetInviteResponses];
2479
+ export type DeleteInviteData = {
1446
2480
  body?: never;
1447
2481
  path: {
1448
2482
  /**
1449
- * Unique identifier of the cluster. UUID v4 string in canonical form
2483
+ * User email address
1450
2484
  */
1451
- cluster_id: string;
2485
+ email: string;
1452
2486
  };
1453
2487
  query?: never;
1454
- url: '/clusters/{cluster_id}';
2488
+ url: '/invites/{email}';
1455
2489
  };
1456
- export type GetClusterResponses = {
2490
+ export type DeleteInviteResponses = {
1457
2491
  /**
1458
- * Returns a single object containing cluster details.
2492
+ * Successfully deleted.
1459
2493
  */
1460
- 200: Cluster;
2494
+ 200: unknown;
1461
2495
  };
1462
- export type GetClusterResponse = GetClusterResponses[keyof GetClusterResponses];
1463
- export type UpdateClusterData = {
1464
- body: ClusterUpdateInput;
2496
+ export type SendFeedbackData = {
2497
+ body: FeedbackCreateInput;
2498
+ path?: never;
2499
+ query?: never;
2500
+ url: '/feedback';
2501
+ };
2502
+ export type SendFeedbackErrors = {
2503
+ /**
2504
+ * Too much feedback from this organization in the last hour.
2505
+ */
2506
+ 429: unknown;
2507
+ };
2508
+ export type SendFeedbackResponses = {
2509
+ /**
2510
+ * Feedback received.
2511
+ */
2512
+ 200: Feedback;
2513
+ };
2514
+ export type SendFeedbackResponse = SendFeedbackResponses[keyof SendFeedbackResponses];
2515
+ export type QueryClusterData = {
2516
+ body?: never;
1465
2517
  path: {
1466
2518
  /**
1467
2519
  * Unique identifier of the cluster. UUID v4 string in canonical form
@@ -1469,16 +2521,21 @@ export type UpdateClusterData = {
1469
2521
  cluster_id: string;
1470
2522
  };
1471
2523
  query?: never;
1472
- url: '/clusters/{cluster_id}';
2524
+ url: '/clusters/{cluster_id}/query';
1473
2525
  };
1474
- export type UpdateClusterResponses = {
2526
+ export type QueryClusterErrors = {
1475
2527
  /**
1476
- * Successfully updated. Returns updated cluster details.
2528
+ * Not authenticated
1477
2529
  */
1478
- 200: Cluster;
2530
+ 401: unknown;
1479
2531
  };
1480
- export type UpdateClusterResponse = UpdateClusterResponses[keyof UpdateClusterResponses];
1481
- export type GetJoinInformationData = {
2532
+ export type QueryClusterResponses = {
2533
+ /**
2534
+ * Kubernetes API response
2535
+ */
2536
+ 200: unknown;
2537
+ };
2538
+ export type ListFleetsData = {
1482
2539
  body?: never;
1483
2540
  path: {
1484
2541
  /**
@@ -1487,680 +2544,653 @@ export type GetJoinInformationData = {
1487
2544
  cluster_id: string;
1488
2545
  };
1489
2546
  query?: never;
1490
- url: '/clusters/{cluster_id}/join_information';
2547
+ url: '/clusters/{cluster_id}/fleets';
1491
2548
  };
1492
- export type GetJoinInformationErrors = {
2549
+ export type ListFleetsErrors = {
1493
2550
  /**
1494
2551
  * Not authenticated
1495
2552
  */
1496
2553
  401: unknown;
1497
2554
  };
1498
- export type GetJoinInformationResponses = {
2555
+ export type ListFleetsResponses = {
1499
2556
  /**
1500
- * An object of cluster join information
2557
+ * An array of fleets
1501
2558
  */
1502
- 200: Cluster;
2559
+ 200: Array<Fleet>;
1503
2560
  };
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;
2561
+ export type ListFleetsResponse = ListFleetsResponses[keyof ListFleetsResponses];
2562
+ export type CreateFleetData = {
2563
+ body: FleetCreateInput;
2564
+ path: {
1585
2565
  /**
1586
- * Maximum volume of directly attached, block-device local storage in gibibytes (GiB)
2566
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1587
2567
  */
1588
- storage_local_max?: number;
2568
+ cluster_id: string;
2569
+ };
2570
+ query?: never;
2571
+ url: '/clusters/{cluster_id}/fleets';
2572
+ };
2573
+ export type CreateFleetErrors = {
2574
+ /**
2575
+ * Cluster quota exceeded. Maximum number of fleets per cluster allowed in this organization is reached.
2576
+ */
2577
+ 402: string;
2578
+ /**
2579
+ * 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.
2580
+ */
2581
+ 409: string;
2582
+ };
2583
+ export type CreateFleetError = CreateFleetErrors[keyof CreateFleetErrors];
2584
+ export type CreateFleetResponses = {
2585
+ /**
2586
+ * Successfully created. Returns created Fleet ID.
2587
+ */
2588
+ 200: string;
2589
+ };
2590
+ export type CreateFleetResponse = CreateFleetResponses[keyof CreateFleetResponses];
2591
+ export type DeleteFleetData = {
2592
+ body?: never;
2593
+ path: {
1589
2594
  /**
1590
- * Minimum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.
2595
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1591
2596
  */
1592
- price_min?: number;
2597
+ cluster_id: string;
1593
2598
  /**
1594
- * Maximum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.
2599
+ * Unique identifier of the fleet. UUID v4 string in canonical form
1595
2600
  */
1596
- price_max?: number;
2601
+ fleet_name: string;
1597
2602
  };
1598
- url: '/infrastructure';
2603
+ query?: never;
2604
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}';
1599
2605
  };
1600
- export type GetInfrastructureErrors = {
2606
+ export type DeleteFleetErrors = {
1601
2607
  /**
1602
- * Returns a validation error if any of the search parameters in the request are invalid
2608
+ * 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.
1603
2609
  */
1604
- 400: Blob | File;
2610
+ 409: string;
1605
2611
  };
1606
- export type GetInfrastructureError = GetInfrastructureErrors[keyof GetInfrastructureErrors];
1607
- export type GetInfrastructureResponses = {
2612
+ export type DeleteFleetError = DeleteFleetErrors[keyof DeleteFleetErrors];
2613
+ export type DeleteFleetResponses = {
1608
2614
  /**
1609
- * An array of instances returned by the search
2615
+ * Successfully deleted.
1610
2616
  */
1611
- 200: Array<InfrastructureInstance>;
2617
+ 200: string;
1612
2618
  };
1613
- export type GetInfrastructureResponse = GetInfrastructureResponses[keyof GetInfrastructureResponses];
1614
- export type GetFacetsData = {
2619
+ export type DeleteFleetResponse = DeleteFleetResponses[keyof DeleteFleetResponses];
2620
+ export type GetFleetData = {
1615
2621
  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
- }>;
2622
+ path: {
1717
2623
  /**
1718
- * Total number of instances in the catalog
2624
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1719
2625
  */
1720
- count_total?: number;
2626
+ cluster_id: string;
1721
2627
  /**
1722
- * Total number of instances in the catalog with at least 1 accelerator
2628
+ * Unique identifier of the fleet. UUID v4 string in canonical form
1723
2629
  */
1724
- count_accelerators?: number;
2630
+ fleet_name: string;
2631
+ };
2632
+ query?: never;
2633
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2634
+ };
2635
+ export type GetFleetResponses = {
2636
+ /**
2637
+ * Returns a single object containing fleet details.
2638
+ */
2639
+ 200: Fleet;
2640
+ };
2641
+ export type GetFleetResponse = GetFleetResponses[keyof GetFleetResponses];
2642
+ export type UpdateFleetData = {
2643
+ body: FleetUpdateInput;
2644
+ path: {
1725
2645
  /**
1726
- * Total number of unique instances types in the catalog
2646
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1727
2647
  */
1728
- count_instance_types?: number;
2648
+ cluster_id: string;
1729
2649
  /**
1730
- * Total number of unique instances types in the catalog with at least 1 accelerator
2650
+ * Unique identifier of the fleet. UUID v4 string in canonical form
1731
2651
  */
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;
2652
+ fleet_name: string;
2653
+ };
1739
2654
  query?: never;
1740
- url: '/infrastructure/regions';
2655
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}';
1741
2656
  };
1742
- export type GetRegionsResponses = {
2657
+ export type UpdateFleetErrors = {
1743
2658
  /**
1744
- * Available Cloudfleet regions and Kubernetes versions.
2659
+ * Organization must have a valid payment method configured to access this endpoint.
1745
2660
  */
1746
- 200: {
1747
- [key: string]: unknown;
1748
- };
2661
+ 402: string;
2662
+ /**
2663
+ * 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.
2664
+ */
2665
+ 409: string;
1749
2666
  };
1750
- export type GetRegionsResponse = GetRegionsResponses[keyof GetRegionsResponses];
1751
- export type ListInvitesData = {
2667
+ export type UpdateFleetError = UpdateFleetErrors[keyof UpdateFleetErrors];
2668
+ export type UpdateFleetResponses = {
2669
+ /**
2670
+ * Successfully updated.
2671
+ */
2672
+ 200: string;
2673
+ };
2674
+ export type UpdateFleetResponse = UpdateFleetResponses[keyof UpdateFleetResponses];
2675
+ export type ListChartsData = {
1752
2676
  body?: never;
1753
- path?: never;
2677
+ path: {
2678
+ /**
2679
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2680
+ */
2681
+ cluster_id: string;
2682
+ };
1754
2683
  query?: never;
1755
- url: '/invites';
2684
+ url: '/clusters/{cluster_id}/charts';
1756
2685
  };
1757
- export type ListInvitesErrors = {
2686
+ export type ListChartsErrors = {
1758
2687
  /**
1759
2688
  * Not authenticated
1760
2689
  */
1761
2690
  401: unknown;
1762
2691
  };
1763
- export type ListInvitesResponses = {
2692
+ export type ListChartsResponses = {
1764
2693
  /**
1765
- * An array of invites
2694
+ * An array of charts
1766
2695
  */
1767
- 200: Array<Invite>;
2696
+ 200: Array<Chart>;
1768
2697
  };
1769
- export type ListInvitesResponse = ListInvitesResponses[keyof ListInvitesResponses];
1770
- export type CreateInviteData = {
1771
- body: {
2698
+ export type ListChartsResponse = ListChartsResponses[keyof ListChartsResponses];
2699
+ export type CreateChartData = {
2700
+ body: ChartCreateInput;
2701
+ path: {
1772
2702
  /**
1773
- * User email address
2703
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1774
2704
  */
1775
- email?: string;
2705
+ cluster_id: string;
1776
2706
  };
1777
- path?: never;
1778
2707
  query?: never;
1779
- url: '/invites';
2708
+ url: '/clusters/{cluster_id}/charts';
1780
2709
  };
1781
- export type CreateInviteResponses = {
2710
+ export type CreateChartErrors = {
1782
2711
  /**
1783
- * Successfully created. Returns created invite details.
2712
+ * 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.
1784
2713
  */
1785
- 200: Invite;
2714
+ 409: string;
1786
2715
  };
1787
- export type CreateInviteResponse = CreateInviteResponses[keyof CreateInviteResponses];
1788
- export type GetInviteData = {
2716
+ export type CreateChartError = CreateChartErrors[keyof CreateChartErrors];
2717
+ export type CreateChartResponses = {
2718
+ /**
2719
+ * Successfully created. Returns created Chart ID.
2720
+ */
2721
+ 200: string;
2722
+ };
2723
+ export type CreateChartResponse = CreateChartResponses[keyof CreateChartResponses];
2724
+ export type DeleteChartData = {
1789
2725
  body?: never;
1790
2726
  path: {
1791
2727
  /**
1792
- * Invitation code
2728
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1793
2729
  */
1794
- code: string;
2730
+ cluster_id: string;
2731
+ /**
2732
+ * Chart deployment name as the unique identifier of the chart.
2733
+ */
2734
+ chart_name: string;
1795
2735
  };
1796
2736
  query?: never;
1797
- url: '/invites/{code}';
2737
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
1798
2738
  };
1799
- export type GetInviteResponses = {
2739
+ export type DeleteChartErrors = {
1800
2740
  /**
1801
- * Returns a single object containing invite details.
2741
+ * 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.
1802
2742
  */
1803
- 200: Invite;
2743
+ 409: string;
1804
2744
  };
1805
- export type GetInviteResponse = GetInviteResponses[keyof GetInviteResponses];
1806
- export type DeleteInviteData = {
2745
+ export type DeleteChartError = DeleteChartErrors[keyof DeleteChartErrors];
2746
+ export type DeleteChartResponses = {
2747
+ /**
2748
+ * Successfully deleted.
2749
+ */
2750
+ 200: string;
2751
+ };
2752
+ export type DeleteChartResponse = DeleteChartResponses[keyof DeleteChartResponses];
2753
+ export type GetChartData = {
1807
2754
  body?: never;
1808
2755
  path: {
1809
2756
  /**
1810
- * User email address
2757
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1811
2758
  */
1812
- email: string;
2759
+ cluster_id: string;
2760
+ /**
2761
+ * Chart deployment name as the unique identifier of the chart.
2762
+ */
2763
+ chart_name: string;
1813
2764
  };
1814
2765
  query?: never;
1815
- url: '/invites/{email}';
2766
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
1816
2767
  };
1817
- export type DeleteInviteResponses = {
2768
+ export type GetChartResponses = {
1818
2769
  /**
1819
- * Successfully deleted.
2770
+ * Returns a single object containing chart details.
1820
2771
  */
1821
- 200: unknown;
2772
+ 200: Chart;
1822
2773
  };
1823
- export type GetOrganizationData = {
1824
- body?: never;
1825
- path?: never;
2774
+ export type GetChartResponse = GetChartResponses[keyof GetChartResponses];
2775
+ export type UpdateChartData = {
2776
+ body: ChartUpdateInput;
2777
+ path: {
2778
+ /**
2779
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2780
+ */
2781
+ cluster_id: string;
2782
+ /**
2783
+ * Chart deployment name as the unique identifier of the chart.
2784
+ */
2785
+ chart_name: string;
2786
+ };
1826
2787
  query?: never;
1827
- url: '/organization';
2788
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
1828
2789
  };
1829
- export type GetOrganizationResponses = {
2790
+ export type UpdateChartErrors = {
1830
2791
  /**
1831
- * Returns a single object containing organization details.
2792
+ * 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.
1832
2793
  */
1833
- 200: Organization;
1834
- };
1835
- export type GetOrganizationResponse = GetOrganizationResponses[keyof GetOrganizationResponses];
1836
- export type CreateOrganizationData = {
1837
- body: OrganizationCreateInput;
1838
- path?: never;
1839
- query?: never;
1840
- url: '/organization';
2794
+ 409: string;
1841
2795
  };
1842
- export type CreateOrganizationResponses = {
2796
+ export type UpdateChartError = UpdateChartErrors[keyof UpdateChartErrors];
2797
+ export type UpdateChartResponses = {
1843
2798
  /**
1844
- * Successfully created a new organization.
2799
+ * Successfully updated.
1845
2800
  */
1846
- 200: unknown;
2801
+ 200: string;
1847
2802
  };
1848
- export type UpdateOrganizationData = {
1849
- body: OrganizationUpdateInput;
2803
+ export type UpdateChartResponse = UpdateChartResponses[keyof UpdateChartResponses];
2804
+ export type ListClustersData = {
2805
+ body?: never;
1850
2806
  path?: never;
1851
2807
  query?: never;
1852
- url: '/organization';
2808
+ url: '/clusters';
1853
2809
  };
1854
- export type UpdateOrganizationResponses = {
2810
+ export type ListClustersErrors = {
1855
2811
  /**
1856
- * Successfully updated. Returns updated organization details.
2812
+ * Not authenticated
1857
2813
  */
1858
- 200: Organization;
2814
+ 401: unknown;
1859
2815
  };
1860
- export type UpdateOrganizationResponse = UpdateOrganizationResponses[keyof UpdateOrganizationResponses];
1861
- export type ListTokensData = {
1862
- body?: never;
2816
+ export type ListClustersResponses = {
2817
+ /**
2818
+ * An array of clusters
2819
+ */
2820
+ 200: Array<Cluster>;
2821
+ };
2822
+ export type ListClustersResponse = ListClustersResponses[keyof ListClustersResponses];
2823
+ export type CreateClusterData = {
2824
+ body: ClusterCreateInput;
1863
2825
  path?: never;
1864
2826
  query?: never;
1865
- url: '/tokens';
2827
+ url: '/clusters';
1866
2828
  };
1867
- export type ListTokensErrors = {
2829
+ export type CreateClusterErrors = {
1868
2830
  /**
1869
- * Not authenticated
2831
+ * Cluster quota exceeded. Maximum number of clusters allowed in this organization is reached.
1870
2832
  */
1871
- 401: unknown;
2833
+ 402: string;
1872
2834
  };
1873
- export type ListTokensResponses = {
2835
+ export type CreateClusterError = CreateClusterErrors[keyof CreateClusterErrors];
2836
+ export type CreateClusterResponses = {
1874
2837
  /**
1875
- * Returns a list of access token details with masked secrets.
2838
+ * Successfully created. Returns created Cluster ID.
1876
2839
  */
1877
- 200: Array<Token>;
2840
+ 200: string;
1878
2841
  };
1879
- export type ListTokensResponse = ListTokensResponses[keyof ListTokensResponses];
1880
- export type CreateTokenData = {
1881
- body: TokenCreateInput;
1882
- path?: never;
2842
+ export type CreateClusterResponse = CreateClusterResponses[keyof CreateClusterResponses];
2843
+ export type DeleteClusterData = {
2844
+ body?: never;
2845
+ path: {
2846
+ /**
2847
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2848
+ */
2849
+ cluster_id: string;
2850
+ };
1883
2851
  query?: never;
1884
- url: '/tokens';
2852
+ url: '/clusters/{cluster_id}';
1885
2853
  };
1886
- export type CreateTokenErrors = {
2854
+ export type DeleteClusterErrors = {
1887
2855
  /**
1888
- * Not authenticated
2856
+ * Cluster not found; it does not exist or has already been deleted.
2857
+ */
2858
+ 404: unknown;
2859
+ /**
2860
+ * 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.
2861
+ */
2862
+ 409: string;
2863
+ /**
2864
+ * Transient failure tearing down the cluster; retry the request.
1889
2865
  */
1890
- 401: unknown;
2866
+ 503: unknown;
1891
2867
  };
1892
- export type CreateTokenResponses = {
2868
+ export type DeleteClusterError = DeleteClusterErrors[keyof DeleteClusterErrors];
2869
+ export type DeleteClusterResponses = {
1893
2870
  /**
1894
- * Successfully created. Returns created token details with unmasked/raw secret.
2871
+ * Successfully deleted. The cluster has been torn down.
1895
2872
  */
1896
- 200: Token;
2873
+ 200: string;
1897
2874
  };
1898
- export type CreateTokenResponse = CreateTokenResponses[keyof CreateTokenResponses];
1899
- export type DeleteTokenData = {
2875
+ export type DeleteClusterResponse = DeleteClusterResponses[keyof DeleteClusterResponses];
2876
+ export type GetClusterData = {
1900
2877
  body?: never;
1901
2878
  path: {
1902
2879
  /**
1903
- * Generated unique identifier of the access token.
2880
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1904
2881
  */
1905
- token_id: string;
2882
+ cluster_id: string;
1906
2883
  };
1907
2884
  query?: never;
1908
- url: '/tokens/{token_id}';
2885
+ url: '/clusters/{cluster_id}';
1909
2886
  };
1910
- export type DeleteTokenResponses = {
2887
+ export type GetClusterResponses = {
1911
2888
  /**
1912
- * Successfully deleted.
2889
+ * Returns a single object containing cluster details.
1913
2890
  */
1914
- 200: unknown;
2891
+ 200: Cluster;
1915
2892
  };
1916
- export type GetTokenData = {
1917
- body?: never;
2893
+ export type GetClusterResponse = GetClusterResponses[keyof GetClusterResponses];
2894
+ export type UpdateClusterData = {
2895
+ body: ClusterUpdateInput;
1918
2896
  path: {
1919
2897
  /**
1920
- * Generated unique identifier of the access token.
2898
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1921
2899
  */
1922
- token_id: string;
2900
+ cluster_id: string;
1923
2901
  };
1924
2902
  query?: never;
1925
- url: '/tokens/{token_id}';
2903
+ url: '/clusters/{cluster_id}';
1926
2904
  };
1927
- export type GetTokenErrors = {
2905
+ export type UpdateClusterErrors = {
1928
2906
  /**
1929
- * Not authenticated
2907
+ * 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.
1930
2908
  */
1931
- 401: unknown;
2909
+ 409: string;
1932
2910
  };
1933
- export type GetTokenResponses = {
2911
+ export type UpdateClusterError = UpdateClusterErrors[keyof UpdateClusterErrors];
2912
+ export type UpdateClusterResponses = {
1934
2913
  /**
1935
- * Returns access token details with masked secret.
2914
+ * Successfully updated. Returns updated cluster details.
1936
2915
  */
1937
- 200: Token;
2916
+ 200: Cluster;
1938
2917
  };
1939
- export type GetTokenResponse = GetTokenResponses[keyof GetTokenResponses];
1940
- export type UpdateTokenData = {
1941
- body: TokenUpdateInput;
2918
+ export type UpdateClusterResponse = UpdateClusterResponses[keyof UpdateClusterResponses];
2919
+ export type GetJoinInformationData = {
2920
+ body?: never;
1942
2921
  path: {
1943
2922
  /**
1944
- * Generated unique identifier of the access token.
2923
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1945
2924
  */
1946
- token_id: string;
2925
+ cluster_id: string;
1947
2926
  };
1948
2927
  query?: never;
1949
- url: '/tokens/{token_id}';
2928
+ url: '/clusters/{cluster_id}/join_information';
1950
2929
  };
1951
- export type UpdateTokenErrors = {
2930
+ export type GetJoinInformationErrors = {
1952
2931
  /**
1953
2932
  * Not authenticated
1954
2933
  */
1955
2934
  401: unknown;
2935
+ /**
2936
+ * 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.
2937
+ */
2938
+ 409: string;
2939
+ /**
2940
+ * The cluster runs on Cloudfleet data plane v2 and the calling client did not declare the dataplane-v2 capability, so it cannot provision a node for it. Upgrade the Cloudfleet CLI or Terraform provider.
2941
+ */
2942
+ 426: string;
1956
2943
  };
1957
- export type UpdateTokenResponses = {
2944
+ export type GetJoinInformationError = GetJoinInformationErrors[keyof GetJoinInformationErrors];
2945
+ export type GetJoinInformationResponses = {
1958
2946
  /**
1959
- * Successfully updated. Returns updated token details with masked secret.
2947
+ * An object of cluster join information
1960
2948
  */
1961
- 200: Token;
2949
+ 200: ClusterJoinInformation;
1962
2950
  };
1963
- export type UpdateTokenResponse = UpdateTokenResponses[keyof UpdateTokenResponses];
1964
- export type RegenerateTokenData = {
2951
+ export type GetJoinInformationResponse = GetJoinInformationResponses[keyof GetJoinInformationResponses];
2952
+ export type GetUsageData = {
1965
2953
  body?: never;
1966
- path: {
2954
+ path?: never;
2955
+ query?: {
1967
2956
  /**
1968
- * Generated unique identifier of the access token.
2957
+ * 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)
1969
2958
  */
1970
- token_id: string;
2959
+ granularity?: 'hourly' | 'daily' | 'monthly';
1971
2960
  };
1972
- query?: never;
1973
- url: '/tokens/{token_id}/secret';
2961
+ url: '/billing/usage';
1974
2962
  };
1975
- export type RegenerateTokenErrors = {
2963
+ export type GetUsageErrors = {
1976
2964
  /**
1977
2965
  * Not authenticated
1978
2966
  */
1979
2967
  401: unknown;
1980
2968
  };
1981
- export type RegenerateTokenResponses = {
2969
+ export type GetUsageResponses = {
1982
2970
  /**
1983
- * Successfully updated. Returns updated token details with unmasked / raw secret.
2971
+ * Usage data with facets for filtering
1984
2972
  */
1985
- 200: Token;
2973
+ 200: UsageResponse;
1986
2974
  };
1987
- export type RegenerateTokenResponse = RegenerateTokenResponses[keyof RegenerateTokenResponses];
1988
- export type ListUserOrganizationsData = {
2975
+ export type GetUsageResponse = GetUsageResponses[keyof GetUsageResponses];
2976
+ export type GetPaymentMethodSecretData = {
1989
2977
  body?: never;
1990
- path: {
1991
- /**
1992
- * User email address.
1993
- */
1994
- email: string;
1995
- };
2978
+ path?: never;
1996
2979
  query?: never;
1997
- url: '/users/organizations/{email}';
2980
+ url: '/billing/payment-method';
1998
2981
  };
1999
- export type ListUserOrganizationsResponses = {
2982
+ export type GetPaymentMethodSecretResponses = {
2000
2983
  /**
2001
- * An array of organizations the user belongs to.
2984
+ * 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.
2985
+ *
2002
2986
  */
2003
- 200: Array<{
2004
- /**
2005
- * Unique identifier of the organization. UUID v4 string in canonical form
2006
- */
2007
- realm?: string;
2987
+ 200: {
2008
2988
  /**
2009
- * Human-readable name of the organization
2989
+ * The client secret.
2010
2990
  */
2011
- displayName?: string;
2012
- }>;
2991
+ id?: string;
2992
+ };
2013
2993
  };
2014
- export type ListUserOrganizationsResponse = ListUserOrganizationsResponses[keyof ListUserOrganizationsResponses];
2015
- export type ListUsersData = {
2994
+ export type GetPaymentMethodSecretResponse = GetPaymentMethodSecretResponses[keyof GetPaymentMethodSecretResponses];
2995
+ export type ListPaymentMethodsData = {
2016
2996
  body?: never;
2017
2997
  path?: never;
2018
2998
  query?: never;
2019
- url: '/users';
2999
+ url: '/billing/payment-methods';
2020
3000
  };
2021
- export type ListUsersErrors = {
3001
+ export type ListPaymentMethodsErrors = {
2022
3002
  /**
2023
3003
  * Not authenticated
2024
3004
  */
2025
3005
  401: unknown;
2026
3006
  };
2027
- export type ListUsersResponses = {
3007
+ export type ListPaymentMethodsResponses = {
2028
3008
  /**
2029
- * An array of users
3009
+ * An array of payment methods.
2030
3010
  */
2031
- 200: Array<User>;
3011
+ 200: Array<PaymentMethod>;
2032
3012
  };
2033
- export type ListUsersResponse = ListUsersResponses[keyof ListUsersResponses];
2034
- export type CreateUserData = {
2035
- body: UserCreateInput;
2036
- path?: never;
3013
+ export type ListPaymentMethodsResponse = ListPaymentMethodsResponses[keyof ListPaymentMethodsResponses];
3014
+ export type SetDefaultPaymentMethodData = {
3015
+ body?: never;
3016
+ path: {
3017
+ /**
3018
+ * Stripe payment method identifier.
3019
+ */
3020
+ paymentMethodId: string;
3021
+ };
2037
3022
  query?: never;
2038
- url: '/users';
3023
+ url: '/billing/payment-methods/{paymentMethodId}/default';
2039
3024
  };
2040
- export type CreateUserResponses = {
3025
+ export type SetDefaultPaymentMethodErrors = {
2041
3026
  /**
2042
- * Successfully created. Returns created user details.
3027
+ * The bank transfer payment method cannot be set as the default.
2043
3028
  */
2044
- 200: User;
3029
+ 400: unknown;
3030
+ /**
3031
+ * Not authenticated
3032
+ */
3033
+ 401: unknown;
3034
+ /**
3035
+ * Payment method not found.
3036
+ */
3037
+ 404: unknown;
2045
3038
  };
2046
- export type CreateUserResponse = CreateUserResponses[keyof CreateUserResponses];
2047
- export type DeleteUserData = {
3039
+ export type SetDefaultPaymentMethodResponses = {
3040
+ /**
3041
+ * Default payment method updated.
3042
+ */
3043
+ 204: void;
3044
+ };
3045
+ export type SetDefaultPaymentMethodResponse = SetDefaultPaymentMethodResponses[keyof SetDefaultPaymentMethodResponses];
3046
+ export type DeletePaymentMethodData = {
2048
3047
  body?: never;
2049
3048
  path: {
2050
3049
  /**
2051
- * Unique user identifier. UUID v4 string in canonical form
3050
+ * Stripe payment method identifier.
2052
3051
  */
2053
- user_id: string;
3052
+ paymentMethodId: string;
2054
3053
  };
2055
3054
  query?: never;
2056
- url: '/users/{user_id}';
3055
+ url: '/billing/payment-methods/{paymentMethodId}';
2057
3056
  };
2058
- export type DeleteUserErrors = {
3057
+ export type DeletePaymentMethodErrors = {
2059
3058
  /**
2060
- * Deleting own user is not allowed. Delete your organization instead.
3059
+ * The bank transfer payment method cannot be removed.
2061
3060
  */
2062
3061
  400: unknown;
2063
3062
  /**
2064
3063
  * Not authenticated
2065
3064
  */
2066
3065
  401: unknown;
3066
+ /**
3067
+ * Payment method not found.
3068
+ */
3069
+ 404: unknown;
3070
+ /**
3071
+ * Cannot delete the only remaining payment method.
3072
+ */
3073
+ 409: unknown;
2067
3074
  };
2068
- export type DeleteUserResponses = {
3075
+ export type DeletePaymentMethodResponses = {
2069
3076
  /**
2070
- * User profile information
3077
+ * Payment method deleted.
2071
3078
  */
2072
- 200: User;
3079
+ 204: void;
2073
3080
  };
2074
- export type DeleteUserResponse = DeleteUserResponses[keyof DeleteUserResponses];
2075
- export type GetUserData = {
3081
+ export type DeletePaymentMethodResponse = DeletePaymentMethodResponses[keyof DeletePaymentMethodResponses];
3082
+ export type ListInvoicesData = {
2076
3083
  body?: never;
2077
- path: {
2078
- /**
2079
- * Unique user identifier. UUID v4 string in canonical form
2080
- */
2081
- user_id: string;
2082
- };
3084
+ path?: never;
2083
3085
  query?: never;
2084
- url: '/users/{user_id}';
3086
+ url: '/billing/invoices';
2085
3087
  };
2086
- export type GetUserErrors = {
3088
+ export type ListInvoicesErrors = {
2087
3089
  /**
2088
3090
  * Not authenticated
2089
3091
  */
2090
3092
  401: unknown;
2091
3093
  };
2092
- export type GetUserResponses = {
3094
+ export type ListInvoicesResponses = {
2093
3095
  /**
2094
- * User profile information
3096
+ * An array of usage records.
2095
3097
  */
2096
- 200: User;
3098
+ 200: Array<Invoice>;
2097
3099
  };
2098
- export type GetUserResponse = GetUserResponses[keyof GetUserResponses];
2099
- export type UpdateUserData = {
2100
- body: UserUpdateInput;
2101
- path: {
2102
- /**
2103
- * Unique user identifier. UUID v4 string in canonical form
2104
- */
2105
- user_id: string;
2106
- };
3100
+ export type ListInvoicesResponse = ListInvoicesResponses[keyof ListInvoicesResponses];
3101
+ export type PayOpenInvoicesData = {
3102
+ body?: never;
3103
+ path?: never;
2107
3104
  query?: never;
2108
- url: '/users/{user_id}';
3105
+ url: '/billing/invoices/pay';
2109
3106
  };
2110
- export type UpdateUserResponses = {
3107
+ export type PayOpenInvoicesErrors = {
2111
3108
  /**
2112
- * Successfully created. Returns created user details.
3109
+ * The organization has no payment method that can be charged.
2113
3110
  */
2114
- 200: User;
3111
+ 400: unknown;
3112
+ /**
3113
+ * Not authenticated
3114
+ */
3115
+ 401: unknown;
3116
+ /**
3117
+ * Too many payment attempts for this organization.
3118
+ */
3119
+ 429: unknown;
2115
3120
  };
2116
- export type UpdateUserResponse = UpdateUserResponses[keyof UpdateUserResponses];
2117
- export type DeleteClusterPermissionsData = {
3121
+ export type PayOpenInvoicesResponses = {
3122
+ /**
3123
+ * The outcome of the attempt.
3124
+ */
3125
+ 200: InvoicePaymentResult;
3126
+ };
3127
+ export type PayOpenInvoicesResponse = PayOpenInvoicesResponses[keyof PayOpenInvoicesResponses];
3128
+ export type GetContactData = {
2118
3129
  body?: never;
2119
- path: {
2120
- /**
2121
- * Unique user identifier. UUID v4 string in canonical form
2122
- */
2123
- user_id: string;
2124
- /**
2125
- * Unique cluster identifier. UUID v4 string in canonical form
2126
- */
2127
- cluster_id: string;
2128
- };
3130
+ path?: never;
2129
3131
  query?: never;
2130
- url: '/users/{user_id}/clusters/{cluster_id}';
3132
+ url: '/billing/contact';
2131
3133
  };
2132
- export type DeleteClusterPermissionsResponses = {
3134
+ export type GetContactResponses = {
2133
3135
  /**
2134
- * Successfully removed user from the cluster. Returns updated user details.
3136
+ * Returns a single object containing organization contact and billing address details.
2135
3137
  */
2136
- 200: User;
3138
+ 200: BillingContact;
3139
+ };
3140
+ export type GetContactResponse = GetContactResponses[keyof GetContactResponses];
3141
+ export type UpdateContactData = {
3142
+ body: BillingContact;
3143
+ path?: never;
3144
+ query?: never;
3145
+ url: '/billing/contact';
3146
+ };
3147
+ export type UpdateContactResponses = {
3148
+ /**
3149
+ * Successfully updated. Returns updated organization details.
3150
+ */
3151
+ 200: BillingContact;
3152
+ };
3153
+ export type UpdateContactResponse = UpdateContactResponses[keyof UpdateContactResponses];
3154
+ export type GetCreditsData = {
3155
+ body?: never;
3156
+ path?: never;
3157
+ query?: never;
3158
+ url: '/billing/credits';
3159
+ };
3160
+ export type GetCreditsErrors = {
3161
+ /**
3162
+ * Not authenticated
3163
+ */
3164
+ 401: unknown;
3165
+ };
3166
+ export type GetCreditsResponses = {
3167
+ /**
3168
+ * An array of the applied promotional credits records.
3169
+ */
3170
+ 200: Array<BillingCredits>;
2137
3171
  };
2138
- export type DeleteClusterPermissionsResponse = DeleteClusterPermissionsResponses[keyof DeleteClusterPermissionsResponses];
2139
- export type SetClusterPermissionsData = {
3172
+ export type GetCreditsResponse = GetCreditsResponses[keyof GetCreditsResponses];
3173
+ export type RedeemCreditsData = {
2140
3174
  body: {
2141
3175
  /**
2142
- * Level of permissions for the user to access the cluster
2143
- */
2144
- permissions?: 'readwrite' | 'readonly';
2145
- };
2146
- path: {
2147
- /**
2148
- * Unique user identifier. UUID v4 string in canonical form
2149
- */
2150
- user_id: string;
2151
- /**
2152
- * Unique cluster identifier. UUID v4 string in canonical form
3176
+ * Promotional code to redeem
2153
3177
  */
2154
- cluster_id: string;
3178
+ code?: string;
2155
3179
  };
3180
+ path?: never;
2156
3181
  query?: never;
2157
- url: '/users/{user_id}/clusters/{cluster_id}';
3182
+ url: '/billing/credits';
2158
3183
  };
2159
- export type SetClusterPermissionsResponses = {
3184
+ export type RedeemCreditsErrors = {
2160
3185
  /**
2161
- * Successfully created. Returns created user details.
3186
+ * Not authenticated
2162
3187
  */
2163
- 200: User;
3188
+ 401: unknown;
3189
+ };
3190
+ export type RedeemCreditsResponses = {
3191
+ /**
3192
+ * Successfully created a new organization.
3193
+ */
3194
+ 200: unknown;
2164
3195
  };
2165
- export type SetClusterPermissionsResponse = SetClusterPermissionsResponses[keyof SetClusterPermissionsResponses];
2166
3196
  //# sourceMappingURL=types.gen.d.ts.map