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

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 +1159 -0
  3. package/dist/@tanstack/react-query.gen.d.ts.map +1 -0
  4. package/dist/@tanstack/react-query.gen.js +1175 -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 +1903 -1101
  63. package/dist/schemas.gen.d.ts.map +1 -1
  64. package/dist/schemas.gen.js +3243 -1168
  65. package/dist/schemas.gen.js.map +1 -1
  66. package/dist/sdk.gen.d.ts +336 -198
  67. package/dist/sdk.gen.d.ts.map +1 -1
  68. package/dist/sdk.gen.js +442 -297
  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 +1982 -1208
  83. package/dist/types.gen.d.ts.map +1 -1
  84. package/dist/zod.gen.d.ts +3935 -2818
  85. package/dist/zod.gen.d.ts.map +1 -1
  86. package/dist/zod.gen.js +1705 -947
  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' | 'ba_tin' | 'bb_tin' | 'be_vat' | 'bg_uic' | 'bg_vat' | 'bh_vat' | 'bo_tin' | 'br_cnpj' | 'br_cpf' | 'bs_tin' | 'by_tin' | 'ca_bn' | 'ca_gst_hst' | 'ca_pst_bc' | 'ca_pst_mb' | 'ca_pst_sk' | 'ca_qst' | 'cd_nif' | 'ch_uid' | 'ch_vat' | 'cl_tin' | 'cn_tin' | 'co_nit' | 'cr_tin' | 'cy_vat' | 'cz_vat' | 'de_stn' | 'de_vat' | 'dk_vat' | 'do_rcn' | 'ec_ruc' | 'ee_vat' | 'eg_tin' | 'es_cif' | 'es_vat' | 'eu_oss_vat' | 'fi_vat' | 'fr_vat' | 'gb_vat' | 'ge_vat' | 'gn_nif' | 'gr_vat' | 'hk_br' | 'hr_oib' | 'hr_vat' | 'hu_tin' | 'hu_vat' | 'id_npwp' | 'ie_vat' | 'il_vat' | 'in_gst' | 'is_vat' | 'it_vat' | 'jp_cn' | 'jp_rn' | 'jp_trn' | 'ke_pin' | 'kh_tin' | 'kr_brn' | 'kz_bin' | 'li_uid' | 'li_vat' | 'lt_vat' | 'lu_vat' | 'lv_vat' | 'ma_vat' | 'md_vat' | 'me_pib' | 'mk_vat' | 'mr_nif' | 'mt_vat' | 'mx_rfc' | 'my_frp' | 'my_itn' | 'my_sst' | 'ng_tin' | 'nl_vat' | 'no_vat' | 'no_voec' | 'np_pan' | 'nz_gst' | 'om_vat' | 'pe_ruc' | 'ph_tin' | 'pl_vat' | 'pt_vat' | 'ro_tin' | 'ro_vat' | 'rs_pib' | 'ru_inn' | 'ru_kpp' | 'sa_vat' | 'se_vat' | 'sg_gst' | 'sg_uen' | 'si_tin' | 'si_vat' | 'sk_vat' | 'sn_ninea' | 'sr_fin' | 'sv_nit' | 'th_vat' | 'tj_tin' | 'tr_tin' | 'tw_vat' | 'tz_vat' | 'ua_vat' | 'ug_tin' | 'us_ein' | 'uy_ruc' | 'uz_tin' | 'uz_vat' | 've_rif' | 'vn_tin' | 'xi_vat' | 'za_vat' | 'zm_tin' | 'zw_tin' | '';
57
+ };
58
+ export type BillingCredits = {
59
+ /**
60
+ * Generated unique identifier of the promotional code.
61
+ */
62
+ id?: string;
63
+ /**
64
+ * Type of the promotional code.
65
+ */
66
+ type: 'credit' | 'discount';
67
+ /**
68
+ * Timestamp when the credit becomes active. ISO 8601 date string in the UTC timezone.
69
+ */
70
+ date_start: string;
71
+ /**
72
+ * Timestamp when the credit expires or becomes inactive. ISO 8601 date string in the UTC timezone.
73
+ */
74
+ date_end?: string;
75
+ /**
76
+ * Promotional code used by the customer.
77
+ */
78
+ code: string;
79
+ /**
80
+ * Description of the promotional code.
81
+ */
82
+ description?: string;
83
+ /**
84
+ * Total value of the promotional code.
85
+ */
86
+ value_total: number;
87
+ /**
88
+ * Remaining value of the promotional code.
89
+ */
90
+ value_remaining?: number;
91
+ };
92
+ export type ChartCreateInput = {
93
+ /**
94
+ * Values to be used in the chart encoded as a JSON string.
95
+ */
96
+ values: string;
97
+ /**
98
+ * Desired version range or channel for the chart.
99
+ */
100
+ version_channel: string;
101
+ /**
102
+ * Unique identifier of the chart deployment aka name of the helm release.
103
+ */
104
+ name: string;
105
+ /**
106
+ * Namespace of the chart deployment
107
+ */
108
+ namespace: string;
109
+ /**
110
+ * Name of the chart listing
111
+ */
112
+ chart: string;
113
+ };
114
+ export type Chart = {
115
+ /**
116
+ * Values to be used in the chart encoded as a JSON string.
117
+ */
118
+ values: string;
119
+ /**
120
+ * Desired version range or channel for the chart.
121
+ */
122
+ version_channel: string;
123
+ /**
124
+ * Unique identifier of the chart deployment aka name of the helm release.
4
125
  */
5
126
  name: string;
6
127
  /**
7
- * Cloudfleet control plane region. One of "staging", "northamerica-central-1". This field can not be updated after creation.
128
+ * Namespace of the chart deployment
129
+ */
130
+ namespace: string;
131
+ /**
132
+ * Name of the chart listing
133
+ */
134
+ chart: string;
135
+ /**
136
+ * Status of the chart deployment (Flux HelmRelease Ready condition reason, e.g. InstallSucceeded, UpgradeFailed, Progressing).
137
+ */
138
+ status: string;
139
+ /**
140
+ * Current version of the chart deployment.
141
+ */
142
+ version_current: string;
143
+ /**
144
+ * Creation date and time of the chart deployment.
145
+ */
146
+ created_at: string;
147
+ /**
148
+ * Last update date and time of the chart deployment.
149
+ */
150
+ updated_at: string;
151
+ /**
152
+ * Indicates if the chart deployment is ready to be used.
153
+ */
154
+ ready: boolean;
155
+ };
156
+ export type ChartUpdateInput = {
157
+ /**
158
+ * Values to be used in the chart encoded as a JSON string.
159
+ */
160
+ values: string;
161
+ /**
162
+ * Desired version range or channel for the chart.
163
+ */
164
+ version_channel: string;
165
+ };
166
+ /**
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,6 +239,14 @@ 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
  */
@@ -49,6 +271,10 @@ export type ClusterJoinInformation = {
49
271
  * Containerd version of the cluster.
50
272
  */
51
273
  containerd: string;
274
+ /**
275
+ * NVIDIA driver version of the cluster.
276
+ */
277
+ nvidia_driver: string;
52
278
  };
53
279
  /**
54
280
  * OIDC Information for hosts to access to third party API's.
@@ -68,32 +294,82 @@ export type ClusterJoinInformation = {
68
294
  gcp_workload_identity_provider: string;
69
295
  };
70
296
  };
297
+ /**
298
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
299
+ */
71
300
  export type Cluster = {
72
301
  /**
73
302
  * Name of the cluster.
74
303
  */
75
304
  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
305
  /**
81
306
  * Tier of the cluster.
82
307
  */
83
- tier: 'basic' | 'pro';
308
+ tier: 'basic' | 'pro' | 'enterprise';
84
309
  /**
85
310
  * Version of the kubernetes cluster.
86
311
  */
87
- version_channel?: string;
312
+ version_channel: string;
313
+ /**
314
+ * Release channel for the cluster's control plane.
315
+ */
316
+ release_channel: 'rapid' | 'stable' | 'extended';
317
+ /**
318
+ * Cluster feature toggles.
319
+ */
320
+ features: {
321
+ /**
322
+ * GPU sharing strategy.
323
+ */
324
+ gpu_sharing_strategy: 'none' | 'mps' | 'time_slicing';
325
+ /**
326
+ * Maximum number of pods that may share a single GPU.
327
+ */
328
+ gpu_max_shared_clients_per_gpu: number;
329
+ /**
330
+ * Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.
331
+ */
332
+ cilium_socket_lb_host_namespace_only: boolean;
333
+ };
334
+ /**
335
+ * Cloudfleet control plane region. This field can not be updated after creation.
336
+ */
337
+ region: string;
338
+ /**
339
+ * Cluster networking configuration. Immutable after creation.
340
+ */
341
+ networking: {
342
+ /**
343
+ * CIDR block for pod IPs.
344
+ */
345
+ pod_cidr: string;
346
+ /**
347
+ * CIDR block for service IPs.
348
+ */
349
+ service_cidr: string;
350
+ /**
351
+ * Enable IPv4+IPv6 dual-stack networking.
352
+ */
353
+ dual_stack: boolean;
354
+ /**
355
+ * IPv6 pod CIDR. Requires dual_stack.
356
+ */
357
+ pod_cidr_v6: string;
358
+ /**
359
+ * IPv6 service CIDR. Requires dual_stack.
360
+ */
361
+ service_cidr_v6: string;
362
+ };
88
363
  /**
89
364
  * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
90
365
  */
91
366
  id: string;
92
367
  /**
93
- * Status of the cluster. When creating a new cluster, set to `active`. When deleting a clusters, set to `deleted`.
368
+ * Status of the cluster.
94
369
  */
95
- status: 'active' | 'deleted' | 'creating' | 'deployed' | 'failed' | 'updating';
370
+ status: 'creating' | 'deployed' | 'updating' | 'disabled';
96
371
  endpoint?: string | '';
372
+ endpoint_public?: string | '';
97
373
  /**
98
374
  * Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.
99
375
  */
@@ -113,850 +389,1016 @@ export type Cluster = {
113
389
  /**
114
390
  * Indicates if the cluster is ready to be used.
115
391
  */
116
- ready?: boolean;
392
+ ready: boolean;
117
393
  };
394
+ /**
395
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
396
+ */
118
397
  export type ClusterUpdateInput = {
119
398
  /**
120
399
  * Name of the cluster.
121
400
  */
122
- name?: string;
401
+ name: string;
402
+ /**
403
+ * Tier of the cluster.
404
+ */
405
+ tier?: 'basic' | 'pro' | 'enterprise';
123
406
  /**
124
407
  * Version of the kubernetes cluster.
125
408
  */
126
409
  version_channel?: string;
410
+ /**
411
+ * Release channel for the cluster's control plane.
412
+ */
413
+ release_channel?: 'rapid' | 'stable' | 'extended';
414
+ /**
415
+ * Cluster feature toggles.
416
+ */
417
+ features?: {
418
+ /**
419
+ * GPU sharing strategy.
420
+ */
421
+ gpu_sharing_strategy?: 'none' | 'mps' | 'time_slicing';
422
+ /**
423
+ * Maximum number of pods that may share a single GPU.
424
+ */
425
+ gpu_max_shared_clients_per_gpu?: number;
426
+ /**
427
+ * Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.
428
+ */
429
+ cilium_socket_lb_host_namespace_only?: boolean;
430
+ };
127
431
  };
432
+ /**
433
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
434
+ */
128
435
  export type FleetCreateInput = {
129
436
  /**
130
437
  * Limits define a set of bounds for provisioning capacity.
131
438
  */
132
439
  limits?: {
133
440
  /**
134
- * CPU limit in cores.
441
+ * CPU limit in cores. Maximum 100,000.
135
442
  */
136
- cpu: number;
443
+ cpu?: number;
137
444
  };
138
445
  gcp?: {
139
- enabled?: boolean;
446
+ enabled: boolean;
140
447
  /**
141
- * Project GCP Project id to deploy instances into
448
+ * GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.
142
449
  */
143
- project: string;
450
+ project?: string;
144
451
  };
145
452
  hetzner?: {
146
- enabled?: boolean;
147
- apiKey?: string;
148
- } | {
453
+ enabled: boolean;
454
+ /**
455
+ * 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.
456
+ */
149
457
  apiKey?: string;
150
- enabled?: boolean;
151
458
  };
152
459
  aws?: {
153
- enabled?: boolean;
460
+ enabled: boolean;
154
461
  /**
155
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
462
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
156
463
  */
157
- controllerRoleArn: string;
464
+ controllerRoleArn?: string;
158
465
  };
159
466
  /**
160
- * Unique identifier of the kubernetes fleet.
467
+ * 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.
161
468
  */
162
- id: string;
469
+ constraints?: {
470
+ /**
471
+ * Allowed values for `karpenter.sh/capacity-type`.
472
+ */
473
+ 'karpenter.sh/capacity-type'?: Array<'on-demand' | 'spot'>;
474
+ /**
475
+ * Allowed values for `kubernetes.io/arch`.
476
+ */
477
+ 'kubernetes.io/arch'?: Array<'amd64' | 'arm64'>;
478
+ /**
479
+ * Allowed values for `cfke.io/instance-family`.
480
+ */
481
+ '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'>;
482
+ /**
483
+ * Allowed values for `topology.kubernetes.io/region`.
484
+ */
485
+ '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'>;
486
+ };
487
+ /**
488
+ * 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`).
489
+ */
490
+ scalingProfile?: 'aggressive' | 'conservative';
163
491
  /**
164
- * Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.
492
+ * Unique identifier of the kubernetes fleet.
165
493
  */
166
- type: 'managed' | 'connected';
494
+ id: string;
167
495
  };
496
+ /**
497
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
498
+ */
168
499
  export type Fleet = {
169
500
  /**
170
501
  * Limits define a set of bounds for provisioning capacity.
171
502
  */
172
503
  limits?: {
173
504
  /**
174
- * CPU limit in cores.
505
+ * CPU limit in cores. Maximum 100,000.
175
506
  */
176
- cpu: number;
507
+ cpu?: number;
177
508
  };
178
509
  gcp?: {
179
- enabled?: boolean;
510
+ enabled: boolean;
180
511
  /**
181
- * Project GCP Project id to deploy instances into
512
+ * 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
513
  */
183
- project: string;
514
+ project?: string;
184
515
  };
185
516
  hetzner?: {
186
- enabled?: boolean;
187
- apiKey?: string;
188
- } | {
517
+ enabled: boolean;
518
+ /**
519
+ * Redacted Hetzner API token. Returned as 64 asterisks when a token is configured; omitted otherwise. The real value is never echoed by the API.
520
+ */
189
521
  apiKey?: string;
190
- enabled?: boolean;
191
522
  };
192
523
  aws?: {
193
- enabled?: boolean;
524
+ enabled: boolean;
525
+ /**
526
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
527
+ */
528
+ controllerRoleArn?: string;
529
+ };
530
+ /**
531
+ * 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.
532
+ */
533
+ constraints: {
534
+ /**
535
+ * Allowed values for `karpenter.sh/capacity-type`.
536
+ */
537
+ 'karpenter.sh/capacity-type': Array<'on-demand' | 'spot'>;
538
+ /**
539
+ * Allowed values for `kubernetes.io/arch`.
540
+ */
541
+ 'kubernetes.io/arch': Array<'amd64' | 'arm64'>;
542
+ /**
543
+ * Allowed values for `cfke.io/instance-family`.
544
+ */
545
+ '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'>;
194
546
  /**
195
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
547
+ * Allowed values for `topology.kubernetes.io/region`.
196
548
  */
197
- controllerRoleArn: string;
549
+ 'topology.kubernetes.io/region'?: Array<'africa-south1' | 'ap-northeast-1' | 'ap-northeast-2' | 'ap-northeast-3' | 'ap-south-1' | 'ap-southeast-1' | 'ap-southeast-2' | 'ash' | 'asia-east1' | 'asia-east2' | 'asia-northeast1' | 'asia-northeast2' | 'asia-northeast3' | 'asia-south1' | 'asia-south2' | 'asia-southeast1' | 'asia-southeast2' | 'australia-southeast1' | 'australia-southeast2' | 'ca-central-1' | 'eu-central-1' | 'eu-central-2' | 'eu-north-1' | 'eu-west-1' | 'eu-west-2' | 'eu-west-3' | 'europe-central2' | 'europe-north1' | 'europe-southwest1' | 'europe-west1' | 'europe-west10' | 'europe-west12' | 'europe-west2' | 'europe-west3' | 'europe-west4' | 'europe-west6' | 'europe-west8' | 'europe-west9' | 'fsn1' | 'hel1' | 'hil' | 'me-central1' | 'me-central2' | 'me-west1' | 'nbg1' | 'northamerica-northeast1' | 'northamerica-northeast2' | 'sa-east-1' | 'sin' | 'southamerica-east1' | 'southamerica-west1' | 'us-central1' | 'us-east-1' | 'us-east-2' | 'us-east1' | 'us-east4' | 'us-east5' | 'us-south1' | 'us-west-1' | 'us-west-2' | 'us-west1' | 'us-west2' | 'us-west3' | 'us-west4'>;
198
550
  };
551
+ /**
552
+ * 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`).
553
+ */
554
+ scalingProfile: 'aggressive' | 'conservative';
199
555
  /**
200
556
  * Unique identifier of the kubernetes fleet.
201
557
  */
202
558
  id: string;
203
559
  /**
204
- * Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.
560
+ * Indicates whether the fleet configuration is healthy.
561
+ */
562
+ ready: boolean;
563
+ /**
564
+ * Human-readable reason the fleet is not ready. Present only when `ready` is false.
565
+ */
566
+ status_message?: string;
567
+ /**
568
+ * Creation date and time of the fleet.
569
+ */
570
+ created_at: string;
571
+ /**
572
+ * Date and time the fleet was last updated.
205
573
  */
206
- type: 'managed' | 'connected';
574
+ updated_at: string;
207
575
  };
576
+ /**
577
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
578
+ */
208
579
  export type FleetUpdateInput = {
209
580
  /**
210
581
  * Limits define a set of bounds for provisioning capacity.
211
582
  */
212
583
  limits?: {
213
584
  /**
214
- * CPU limit in cores.
585
+ * CPU limit in cores. Maximum 100,000.
215
586
  */
216
- cpu: number;
587
+ cpu?: number;
217
588
  };
218
589
  gcp?: {
219
- enabled?: boolean;
590
+ enabled: boolean;
220
591
  /**
221
- * Project GCP Project id to deploy instances into
592
+ * 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
593
  */
223
- project: string;
594
+ project?: string;
224
595
  };
225
596
  hetzner?: {
226
- enabled?: boolean;
227
- apiKey?: string;
228
- } | {
597
+ enabled: boolean;
598
+ /**
599
+ * 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.
600
+ */
229
601
  apiKey?: string;
230
- enabled?: boolean;
231
602
  };
232
603
  aws?: {
233
- enabled?: boolean;
604
+ enabled: boolean;
234
605
  /**
235
- * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
606
+ * AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.
236
607
  */
237
- controllerRoleArn: string;
608
+ controllerRoleArn?: string;
238
609
  };
239
- };
240
- export type InfrastructureFilter = {
241
610
  /**
242
- * Version of the infrastructure filter definition. Currently only version 1 is supported.
611
+ * 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
612
  */
244
- version?: 1;
613
+ constraints?: {
614
+ /**
615
+ * Allowed values for `karpenter.sh/capacity-type`.
616
+ */
617
+ 'karpenter.sh/capacity-type'?: Array<'on-demand' | 'spot'>;
618
+ /**
619
+ * Allowed values for `kubernetes.io/arch`.
620
+ */
621
+ 'kubernetes.io/arch'?: Array<'amd64' | 'arm64'>;
622
+ /**
623
+ * Allowed values for `cfke.io/instance-family`.
624
+ */
625
+ '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'>;
626
+ /**
627
+ * Allowed values for `topology.kubernetes.io/region`.
628
+ */
629
+ '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'>;
630
+ };
245
631
  /**
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/)
632
+ * 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
633
  */
248
- provider?: Array<string>;
634
+ scalingProfile?: 'aggressive' | 'conservative';
635
+ };
636
+ export type InviteCreateInput = {
249
637
  /**
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/)
638
+ * Email address of the user to invite.
251
639
  */
252
- region?: Array<string>;
640
+ email: string;
253
641
  /**
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/)
642
+ * Role the invited user will be assigned on redemption. Can be 'Administrator' or 'User'.
255
643
  */
256
- sub_region?: Array<string>;
644
+ role?: 'Administrator' | 'User';
645
+ };
646
+ export type Invite = {
257
647
  /**
258
- * Limits selection of cloud regions to this list of canonical provider regions
648
+ * Unique identifier of the invitation.
259
649
  */
260
- csp_region?: Array<string>;
650
+ id?: string;
261
651
  /**
262
- * Limits selection of instance types to this list. Instance / VM type as defined by the cloud service provider
652
+ * Unique identifier of the organization the project belongs to. UUID v4 string in canonical form
263
653
  */
264
- instance_type?: Array<string>;
654
+ organization_id?: string;
265
655
  /**
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
656
+ * Creation date of the project. ISO 8601 date string in UTC timezone
267
657
  */
268
- accelerator_name?: Array<string>;
658
+ date_created: string;
269
659
  /**
270
- * List of normalized accelerator manufacturer names. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer
660
+ * User email address.
271
661
  */
272
- accelerator_manufacturer?: Array<string>;
662
+ email?: string;
273
663
  /**
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.
664
+ * Generated unique invite code.
275
665
  */
276
- accelerator_count_min?: number;
666
+ code?: string;
277
667
  /**
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.
668
+ * Role the invited user will be assigned on redemption. Can be 'Administrator' or 'User'.
279
669
  */
280
- accelerator_count_max?: number;
670
+ role?: 'Administrator' | 'User';
671
+ };
672
+ export type Invoice = {
281
673
  /**
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
674
+ * Unique identifier of the invoice.
283
675
  */
284
- accelerator_memory_min?: number;
676
+ id?: string;
677
+ number?: string;
285
678
  /**
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)
679
+ * Status of the invoice
291
680
  */
292
- memory_min?: number;
681
+ status?: string;
293
682
  /**
294
- * Maximum amount of RAM in gibibytes (GiB)
683
+ * Total amount of the invoice
295
684
  */
296
- memory_max?: number;
685
+ total?: number;
297
686
  /**
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.
687
+ * Currency of the invoice
299
688
  */
300
- vcpu_min?: number;
689
+ currency?: string;
301
690
  /**
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.
691
+ * Timestamp when the invoice was issued. ISO 8601 date string in the UTC timezone.
303
692
  */
304
- vcpu_max?: number;
693
+ created: string;
305
694
  /**
306
- * Minimum total storage in GiB (attached and local)
695
+ * Billing period start timestamp. ISO 8601 date string in the UTC timezone.
307
696
  */
308
- storage_total_min?: number;
697
+ period_start: string;
309
698
  /**
310
- * Maximum total storage in GiB (attached and local)
699
+ * Billing period end timestamp. ISO 8601 date string in the UTC timezone.
311
700
  */
312
- storage_total_max?: number;
701
+ period_end: string;
702
+ invoice_pdf?: string;
703
+ };
704
+ export type MarketplaceListingFiles = {
313
705
  /**
314
- * Minimum volume of directly attached, block-device local storage in gibibytes (GiB)
706
+ * Raw Chart.yaml content from the Helm chart
315
707
  */
316
- storage_local_min?: number;
708
+ chartYaml?: string;
317
709
  /**
318
- * Maximum volume of directly attached, block-device local storage in gibibytes (GiB)
710
+ * Raw values.yaml content from the Helm chart
319
711
  */
320
- storage_local_max?: number;
712
+ valuesYaml?: string;
321
713
  /**
322
- * Minimum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.
714
+ * JSON schema for values.yaml as a string
323
715
  */
324
- price_min?: number;
716
+ valuesSchemaJson?: string;
717
+ };
718
+ export type MarketplaceListing = {
325
719
  /**
326
- * Maximum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.
720
+ * Name of the chart
327
721
  */
328
- price_max?: number;
329
- };
330
- export type InfrastructureInstance = {
722
+ name: string;
331
723
  /**
332
- * Cloudfleet instance SKU. Has a format of <provider>-<csp_region>-<instance_type>.
724
+ * Available versions of the chart
333
725
  */
334
- sku: string;
726
+ versions: Array<string>;
335
727
  /**
336
- * Normalized cloud service provider name. For the full list of supported providers, see [Providers](https://cloudfleet.ai/docs/cloud-infrastructure/providers/)
728
+ * Version channels for the chart
337
729
  */
338
- provider: string;
730
+ version_channels: Array<string>;
339
731
  /**
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/)
732
+ * Latest version of the chart
341
733
  */
342
- region: string;
734
+ latestVersion: string;
343
735
  /**
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/)
736
+ * Chart metadata
345
737
  */
346
- sub_region: string;
738
+ metadata?: {
739
+ /**
740
+ * Chart name from metadata
741
+ */
742
+ name: string;
743
+ /**
744
+ * Chart version from metadata
745
+ */
746
+ version: string;
747
+ /**
748
+ * Chart description
749
+ */
750
+ description?: string;
751
+ /**
752
+ * Application version
753
+ */
754
+ appVersion?: string;
755
+ /**
756
+ * Helm API version
757
+ */
758
+ apiVersion?: string;
759
+ /**
760
+ * Chart keywords
761
+ */
762
+ keywords?: Array<string>;
763
+ /**
764
+ * Chart home URL
765
+ */
766
+ home?: string;
767
+ /**
768
+ * A URL to an SVG or PNG image to be used as an icon
769
+ */
770
+ icon?: string;
771
+ /**
772
+ * Chart source URLs
773
+ */
774
+ sources?: Array<string>;
775
+ /**
776
+ * Chart maintainers
777
+ */
778
+ maintainers?: Array<{
779
+ /**
780
+ * Maintainer name
781
+ */
782
+ name: string;
783
+ /**
784
+ * Maintainer email
785
+ */
786
+ email?: string;
787
+ }>;
788
+ };
789
+ };
790
+ export type OrganizationCreateInput = {
347
791
  /**
348
- * Region as defined by the cloud service provider
792
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
349
793
  */
350
- csp_region: string;
794
+ type: 'business' | 'personal';
351
795
  /**
352
- * Availability zone as defined by the cloud service provider
796
+ * Email address used for billing as a string.
353
797
  */
354
- csp_zone: string;
798
+ email: string;
355
799
  /**
356
- * Instance / VM type as defined by the cloud service provider
800
+ * First name of the billing contact person.
357
801
  */
358
- instance_type: string;
802
+ first_name: string;
359
803
  /**
360
- * Instance CPU architecture
804
+ * Last name of the billing contact person.
361
805
  */
362
- architecture: string;
806
+ last_name: string;
363
807
  /**
364
- * Instance operating system
808
+ * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
365
809
  */
366
- os: string;
810
+ company_name: string;
367
811
  /**
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.
812
+ * 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.
369
813
  */
370
- vcpu: number;
814
+ password: string;
815
+ };
816
+ export type OrganizationCreateOutput = {
371
817
  /**
372
- * Total amount of RAM in gibibytes (GiB)
818
+ * Unique identifier of the newly created organization. Generated by the API and safe to use for client-side tracking immediately.
373
819
  */
374
- memory: number;
820
+ id: string;
821
+ };
822
+ export type Organization = {
375
823
  /**
376
- * Volume of directly attached, block-device local storage in gibibytes (GiB)
824
+ * Unique identifier of the organization. UUID v4 string in canonical form
377
825
  */
378
- local_storage: number;
826
+ id: string;
379
827
  /**
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
828
+ * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
381
829
  */
382
- accelerator_name?: string;
830
+ name?: string;
383
831
  /**
384
- * Normalized manufacturer name of accelerator. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer
832
+ * Type of the organization. `business` for legal entities, `personal` for individuals.
385
833
  */
386
- accelerator_manufacturer?: string;
834
+ type: 'business' | 'personal';
387
835
  /**
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.
836
+ * Creation date of the organization. ISO 8601 date string in UTC timezone
389
837
  */
390
- accelerator_count?: number;
838
+ date_created: string;
391
839
  /**
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
840
+ * 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.
393
841
  */
394
- accelerator_memory?: number;
842
+ quota: {
843
+ /**
844
+ * Maximum number of Basic clusters that can be created.
845
+ */
846
+ basic_clusters_max: number;
847
+ /**
848
+ * Available number of Basic clusters that can be created.
849
+ */
850
+ basic_clusters_available: number;
851
+ /**
852
+ * Maximum number of Pro clusters that can be created.
853
+ */
854
+ pro_clusters_max: number;
855
+ /**
856
+ * Available number of Pro clusters that can be created.
857
+ */
858
+ pro_clusters_available: number;
859
+ /**
860
+ * Maximum number of Enterprise clusters that can be created.
861
+ */
862
+ enterprise_clusters_max: number;
863
+ /**
864
+ * Available number of Enterprise clusters that can be created.
865
+ */
866
+ enterprise_clusters_available: number;
867
+ /**
868
+ * Maximum number of fleets that can be created per cluster.
869
+ */
870
+ fleets_max: number;
871
+ /**
872
+ * List of Cloudfleet cluster tiers available for the organization.
873
+ */
874
+ cluster_tiers: Array<string>;
875
+ /**
876
+ * List of Cloudfleet control plane regions available for the organization.
877
+ */
878
+ regions: Array<string>;
879
+ /**
880
+ * List of CFKE control plane versions available for the organization.
881
+ */
882
+ versions: Array<{
883
+ /**
884
+ * Id of the control plane version. Used in API calls.
885
+ */
886
+ id: string;
887
+ /**
888
+ * Label of the control plane version. Used in frontent UI.
889
+ */
890
+ label: string;
891
+ }>;
892
+ /**
893
+ * Organization-level maximum CFCR storage volume in GB. -1 means no limit.
894
+ */
895
+ cfcr_storage_gb: number;
896
+ };
395
897
  /**
396
- * Maximum number of pods that can be run on this instance type.
898
+ * Status of the organization. Can be `active` or `closed`, or `suspended`.
397
899
  */
398
- pods_capacity?: number;
900
+ status: 'active' | 'closed' | 'suspended';
399
901
  /**
400
- * Capacity type of the instance. E.g. `on-demand`, `spot`.
902
+ * 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.
401
903
  */
402
- capacity_type?: string;
904
+ verification: 'none' | 'submitted' | 'verified';
905
+ };
906
+ export type PaymentMethod = {
403
907
  /**
404
- * Price of running the inctance per hour in USD as defined by the cloud service provider
908
+ * 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.
405
909
  */
406
- price: number;
910
+ id: string;
407
911
  /**
408
- * Whether this instance type is available.
912
+ * Payment method type. `card`, `sepa_debit` for SEPA Direct Debit (business accounts only), or `bank_transfer` for paying invoices by bank transfer.
409
913
  */
410
- available?: boolean;
411
- };
412
- export type Invite = {
914
+ type: 'card' | 'sepa_debit' | 'bank_transfer';
413
915
  /**
414
- * Unique identifier of the invitation.
916
+ * 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.
415
917
  */
416
- id?: string;
918
+ last4: string;
417
919
  /**
418
- * Unique identifier of the organization the project belongs to. UUID v4 string in canonical form
920
+ * Two-digit number representing the card's expiration month. Null for SEPA Direct Debit and bank transfer.
419
921
  */
420
- organization_id?: string;
922
+ exp_month: number;
421
923
  /**
422
- * Creation date of the project. ISO 8601 date string in UTC timezone
924
+ * 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.
423
925
  */
424
- date_created: string;
926
+ exp_year: number;
425
927
  /**
426
- * User email address.
928
+ * Payment card brand as reported by Stripe, e.g. `visa`, `mastercard`, `amex`, `cartes_bancaires`, or `unknown`. Null for SEPA Direct Debit and bank transfer.
427
929
  */
428
- email?: string;
930
+ brand: string;
429
931
  /**
430
- * Generated unique invite code.
932
+ * 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.
431
933
  */
432
- code?: string;
433
- };
434
- export type Invoice = {
934
+ iban: string;
435
935
  /**
436
- * Unique identifier of the invoice. UUID v4 string in canonical form
936
+ * BIC/SWIFT of the destination bank for bank transfers. Set only for `bank_transfer`; null otherwise.
437
937
  */
438
- id?: string;
938
+ bic: string;
439
939
  /**
440
- * Unique identifier of the organization. UUID v4 string in canonical form
940
+ * Account holder name of the destination bank account for bank transfers. Set only for `bank_transfer`; null otherwise.
441
941
  */
442
- organizationId?: string;
942
+ account_holder_name: string;
443
943
  /**
444
- * Status of the invoice
944
+ * 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).
445
945
  */
446
- status?: 'DRAFT' | 'COMMITTED' | 'VOID';
946
+ is_default: boolean;
947
+ };
948
+ export type PlatformQuota = {
447
949
  /**
448
- * Total amount of the invoice
950
+ * Maximum number of Basic clusters that can be created.
449
951
  */
450
- amount?: number;
952
+ basic_clusters_max: number;
451
953
  /**
452
- * Currency of the invoice
954
+ * Available number of Basic clusters that can be created.
453
955
  */
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';
956
+ basic_clusters_available: number;
455
957
  /**
456
- * Total amount of credit adjustments
958
+ * Maximum number of Pro clusters that can be created.
457
959
  */
458
- creditAdj?: number;
960
+ pro_clusters_max: number;
459
961
  /**
460
- * Total amount of refund adjustments
962
+ * Available number of Pro clusters that can be created.
461
963
  */
462
- refundAdj?: number;
964
+ pro_clusters_available: number;
463
965
  /**
464
- * Date of the invoice
966
+ * Maximum number of Enterprise clusters that can be created.
465
967
  */
466
- invoiceDate?: string;
968
+ enterprise_clusters_max: number;
467
969
  /**
468
- * Target date of the invoice
970
+ * Available number of Enterprise clusters that can be created.
469
971
  */
470
- targetDate?: string;
972
+ enterprise_clusters_available: number;
471
973
  /**
472
- * Number of the invoice
974
+ * Maximum number of fleets that can be created per cluster.
473
975
  */
474
- invoiceNumber?: string;
976
+ fleets_max: number;
475
977
  /**
476
- * Balance of the invoice
978
+ * List of Cloudfleet cluster tiers available for the organization.
477
979
  */
478
- balance?: number;
980
+ cluster_tiers: Array<string>;
479
981
  /**
480
- * Bundle keys of the invoice
982
+ * List of Cloudfleet control plane regions available for the organization.
481
983
  */
482
- bundleKeys?: string;
984
+ regions: Array<string>;
483
985
  /**
484
- * Credits of the invoice
986
+ * List of CFKE control plane versions available for the organization.
485
987
  */
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';
988
+ versions: Array<{
531
989
  /**
532
- * Description of the invoice item
990
+ * Id of the control plane version. Used in API calls.
533
991
  */
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;
992
+ id: string;
551
993
  /**
552
- * Currency of the invoice item
994
+ * Label of the control plane version. Used in frontent UI.
553
995
  */
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';
996
+ label: string;
997
+ }>;
998
+ /**
999
+ * Organization-level maximum CFCR storage volume in GB. -1 means no limit.
1000
+ */
1001
+ cfcr_storage_gb: number;
1002
+ };
1003
+ export type RegistryRepository = {
1004
+ /**
1005
+ * Repository name.
1006
+ */
1007
+ name: string;
1008
+ /**
1009
+ * Registry region.
1010
+ */
1011
+ region: string;
1012
+ /**
1013
+ * Full URI of the repository.
1014
+ */
1015
+ uri: string;
1016
+ };
1017
+ export type RegistryRepositoryWithTags = {
1018
+ /**
1019
+ * Repository name.
1020
+ */
1021
+ name: string;
1022
+ /**
1023
+ * Registry region.
1024
+ */
1025
+ region: string;
1026
+ /**
1027
+ * Full URI of the repository.
1028
+ */
1029
+ uri: string;
1030
+ /**
1031
+ * Array of tags in the repository.
1032
+ */
1033
+ tags: Array<{
555
1034
  /**
556
- * Quantity of the invoice item
1035
+ * Tag name.
557
1036
  */
558
- quantity?: number;
1037
+ name: string;
559
1038
  /**
560
- * Details of the invoice item
1039
+ * Size of the tag in bytes.
561
1040
  */
562
- itemDetails?: string;
1041
+ size: number;
563
1042
  /**
564
- * Effective date of the catalog
1043
+ * Media type of the manifest.
565
1044
  */
566
- catalogEffectiveDate?: string;
1045
+ mediaType?: string;
567
1046
  /**
568
- * Child items of the invoice item
1047
+ * Array of platform strings for multi-arch images (e.g., linux/amd64, linux/arm64).
569
1048
  */
570
- childItems?: Array<Array<unknown> | boolean | number | {
571
- [key: string]: unknown;
572
- } | string>;
1049
+ platforms?: Array<string>;
573
1050
  }>;
574
1051
  /**
575
- * Items of the invoice
1052
+ * Total size of all tags in the repository in bytes.
1053
+ */
1054
+ totalSize: number;
1055
+ };
1056
+ export type RegistryTag = {
1057
+ /**
1058
+ * Tag name.
1059
+ */
1060
+ name: string;
1061
+ /**
1062
+ * Manifest digest for pulling by digest.
576
1063
  */
577
- items?: Array<{
1064
+ digest: string;
1065
+ /**
1066
+ * Media type of the manifest.
1067
+ */
1068
+ mediaType?: string;
1069
+ /**
1070
+ * Manifest config metadata.
1071
+ */
1072
+ config?: {
578
1073
  /**
579
- * Unique identifier of the invoice item. UUID v4 string in canonical form
1074
+ * Size of the config in bytes.
580
1075
  */
581
- id?: string;
1076
+ size: number;
1077
+ };
1078
+ /**
1079
+ * Array of layer metadata.
1080
+ */
1081
+ layers?: Array<{
582
1082
  /**
583
- * Unique identifier of the linked invoice item. UUID v4 string in canonical form
1083
+ * Digest of the layer.
584
1084
  */
585
- linkedInvoiceItemId?: string;
1085
+ digest?: string;
586
1086
  /**
587
- * Name of the product
1087
+ * Size of the layer in bytes.
588
1088
  */
589
- productName?: string;
1089
+ size: number;
1090
+ }>;
1091
+ /**
1092
+ * Array of manifests for multi-arch images.
1093
+ */
1094
+ manifests?: Array<{
590
1095
  /**
591
- * Name of the plan
1096
+ * Digest of the manifest.
592
1097
  */
593
- planName?: string;
1098
+ digest: string;
594
1099
  /**
595
- * Name of the phase
1100
+ * Platform information for the manifest.
596
1101
  */
597
- phaseName?: string;
1102
+ platform?: {
1103
+ /**
1104
+ * Architecture of the platform.
1105
+ */
1106
+ architecture: string;
1107
+ /**
1108
+ * Operating system of the platform.
1109
+ */
1110
+ os: string;
1111
+ /**
1112
+ * Variant of the platform (e.g., v7, v8 for ARM).
1113
+ */
1114
+ variant?: string;
1115
+ };
598
1116
  /**
599
- * Name of the usage
1117
+ * Layers for this platform.
600
1118
  */
601
- usageName?: string;
1119
+ layers?: Array<{
1120
+ /**
1121
+ * Digest of the layer.
1122
+ */
1123
+ digest?: string;
1124
+ /**
1125
+ * Size of the layer in bytes.
1126
+ */
1127
+ size: number;
1128
+ }>;
602
1129
  /**
603
- * Pretty name of the product
1130
+ * Total size of this platform manifest in bytes.
604
1131
  */
605
- prettyProductName?: string;
1132
+ size?: number;
1133
+ }>;
1134
+ /**
1135
+ * Total size of the tag in bytes.
1136
+ */
1137
+ size: number;
1138
+ /**
1139
+ * Registry region.
1140
+ */
1141
+ region: string;
1142
+ /**
1143
+ * Repository name.
1144
+ */
1145
+ repository: string;
1146
+ /**
1147
+ * Full URI of the tag.
1148
+ */
1149
+ uri: string;
1150
+ };
1151
+ export type TicketAttachment = {
1152
+ /**
1153
+ * Unique identifier of the attachment (Mongo ObjectId).
1154
+ */
1155
+ id: string;
1156
+ /**
1157
+ * Original filename as uploaded.
1158
+ */
1159
+ filename: string;
1160
+ /**
1161
+ * MIME content type of the attachment.
1162
+ */
1163
+ content_type: string;
1164
+ /**
1165
+ * Size of the attachment in bytes.
1166
+ */
1167
+ size: number;
1168
+ };
1169
+ export type TicketCreateInput = {
1170
+ /**
1171
+ * Ticket category. Drives auto-assignment and may carry a subcategory in `properties`.
1172
+ */
1173
+ category: 'billing' | 'technical' | 'general';
1174
+ /**
1175
+ * Initial message body in markdown. There is no separate subject — the first message body is the description.
1176
+ */
1177
+ body: string;
1178
+ /**
1179
+ * Free-form key/value bag set by the UI (e.g. `subcategory`, `cluster_id`, `cluster_name`, `region`).
1180
+ */
1181
+ properties?: {
1182
+ [key: string]: unknown;
1183
+ };
1184
+ };
1185
+ export type TicketListResponse = {
1186
+ /**
1187
+ * Tickets for the organization, ordered newest first. Messages are omitted from list responses.
1188
+ */
1189
+ items: Array<{
606
1190
  /**
607
- * Pretty name of the plan
1191
+ * Unique identifier of the ticket (Mongo ObjectId).
608
1192
  */
609
- prettyPlanName?: string;
1193
+ id: string;
610
1194
  /**
611
- * Pretty name of the phase
1195
+ * Current state of the ticket.
612
1196
  */
613
- prettyPhaseName?: string;
1197
+ status: 'waiting_on_us' | 'waiting_on_user' | 'closed';
614
1198
  /**
615
- * Pretty name of the usage
1199
+ * Ticket category.
616
1200
  */
617
- prettyUsageName?: string;
1201
+ category: 'billing' | 'technical' | 'general';
618
1202
  /**
619
- * Type of the invoice item
1203
+ * First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.
620
1204
  */
621
- itemType?: 'EXTERNAL_CHARGE' | 'FIXED' | 'RECURRING' | 'REPAIR_ADJ' | 'CBA_ADJ' | 'CREDIT_ADJ' | 'ITEM_ADJ' | 'USAGE' | 'TAX' | 'PARENT_SUMMARY';
1205
+ summary: string;
622
1206
  /**
623
- * Description of the invoice item
1207
+ * Closure timestamp. Null while the ticket is open.
624
1208
  */
625
- description?: string;
1209
+ closed_at?: string;
626
1210
  /**
627
- * Start date of the invoice item
1211
+ * Creation date of the ticket. ISO 8601 UTC.
628
1212
  */
629
- startDate?: string;
1213
+ date_created: string;
630
1214
  /**
631
- * End date of the invoice item
1215
+ * Last update date of the ticket. ISO 8601 UTC.
632
1216
  */
633
- endDate?: string;
1217
+ date_updated: string;
634
1218
  /**
635
- * Amount of the invoice item
1219
+ * Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.
636
1220
  */
637
- amount?: number;
638
- /**
639
- * Rate of the invoice item
640
- */
641
- rate?: number;
642
- /**
643
- * Currency of the invoice item
644
- */
645
- currency?: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GGP' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'IMP' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JEP' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SPL' | 'SRD' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TVD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XDR' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWD' | 'BTC';
646
- /**
647
- * Quantity of the invoice item
648
- */
649
- quantity?: number;
650
- /**
651
- * Details of the invoice item
652
- */
653
- itemDetails?: string;
654
- /**
655
- * Effective date of the catalog
656
- */
657
- catalogEffectiveDate?: string;
658
- /**
659
- * Child items of the invoice item
660
- */
661
- childItems?: Array<Array<unknown> | boolean | number | {
662
- [key: string]: unknown;
663
- } | string>;
1221
+ messages?: Array<{
1222
+ /**
1223
+ * Unique identifier of the message (Mongo ObjectId).
1224
+ */
1225
+ id: string;
1226
+ /**
1227
+ * Message type. Internal notes are filtered out of customer-facing responses.
1228
+ */
1229
+ type: 'customer_reply' | 'agent_reply';
1230
+ /**
1231
+ * Message body in markdown.
1232
+ */
1233
+ body: string;
1234
+ /**
1235
+ * First name of the author. Null when not provided.
1236
+ */
1237
+ author_first_name?: string;
1238
+ /**
1239
+ * Last name of the author. Null when not provided.
1240
+ */
1241
+ author_last_name?: string;
1242
+ /**
1243
+ * Attachments associated with this message.
1244
+ */
1245
+ attachments?: Array<{
1246
+ /**
1247
+ * Unique identifier of the attachment (Mongo ObjectId).
1248
+ */
1249
+ id: string;
1250
+ /**
1251
+ * Original filename as uploaded.
1252
+ */
1253
+ filename: string;
1254
+ /**
1255
+ * MIME content type of the attachment.
1256
+ */
1257
+ content_type: string;
1258
+ /**
1259
+ * Size of the attachment in bytes.
1260
+ */
1261
+ size: number;
1262
+ }>;
1263
+ /**
1264
+ * Creation date of the message. ISO 8601 UTC.
1265
+ */
1266
+ date_created: string;
1267
+ }>;
664
1268
  }>;
665
1269
  };
666
- export type OrganizationContactInfo = {
667
- /**
668
- * Street address, P.O. box, c/o
669
- */
670
- address1?: string;
671
- /**
672
- * Apartment, suite, unit, building, floor, etc.
673
- */
674
- address2?: string;
675
- /**
676
- * Postal code as a string.
677
- */
678
- postalCode?: string;
679
- /**
680
- * City or town name.
681
- */
682
- city?: string;
683
- /**
684
- * State, province, or region name.
685
- */
686
- state?: string;
1270
+ export type TicketMessageInput = {
687
1271
  /**
688
- * Country as a ISO 3166-1 alpha-2 country code.
1272
+ * Reply body in markdown.
689
1273
  */
690
- country?: string;
1274
+ body: string;
1275
+ };
1276
+ export type TicketMessage = {
691
1277
  /**
692
- * Phone number as a string.
1278
+ * Unique identifier of the message (Mongo ObjectId).
693
1279
  */
694
- phone?: string;
1280
+ id: string;
695
1281
  /**
696
- * Email address used for billing as a string.
1282
+ * Message type. Internal notes are filtered out of customer-facing responses.
697
1283
  */
698
- email: string;
1284
+ type: 'customer_reply' | 'agent_reply';
699
1285
  /**
700
- * First name of the billing contact person.
1286
+ * Message body in markdown.
701
1287
  */
702
- first_name: string;
1288
+ body: string;
703
1289
  /**
704
- * Last name of the billing contact person.
1290
+ * First name of the author. Null when not provided.
705
1291
  */
706
- last_name: string;
707
- };
708
- export type OrganizationCreateInput = {
1292
+ author_first_name?: string;
709
1293
  /**
710
- * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
1294
+ * Last name of the author. Null when not provided.
711
1295
  */
712
- name: string;
1296
+ author_last_name?: string;
713
1297
  /**
714
- * Organization contact information and billing address.
1298
+ * Attachments associated with this message.
715
1299
  */
716
- contactInfo: {
717
- /**
718
- * Street address, P.O. box, c/o
719
- */
720
- address1?: string;
721
- /**
722
- * Apartment, suite, unit, building, floor, etc.
723
- */
724
- address2?: string;
725
- /**
726
- * Postal code as a string.
727
- */
728
- postalCode?: string;
729
- /**
730
- * City or town name.
731
- */
732
- city?: string;
733
- /**
734
- * State, province, or region name.
735
- */
736
- state?: string;
737
- /**
738
- * Country as a ISO 3166-1 alpha-2 country code.
739
- */
740
- country?: string;
1300
+ attachments?: Array<{
741
1301
  /**
742
- * Phone number as a string.
1302
+ * Unique identifier of the attachment (Mongo ObjectId).
743
1303
  */
744
- phone?: string;
1304
+ id: string;
745
1305
  /**
746
- * Email address used for billing as a string.
1306
+ * Original filename as uploaded.
747
1307
  */
748
- email: string;
1308
+ filename: string;
749
1309
  /**
750
- * First name of the billing contact person.
1310
+ * MIME content type of the attachment.
751
1311
  */
752
- first_name: string;
1312
+ content_type: string;
753
1313
  /**
754
- * Last name of the billing contact person.
1314
+ * Size of the attachment in bytes.
755
1315
  */
756
- last_name: string;
757
- };
1316
+ size: number;
1317
+ }>;
758
1318
  /**
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.
1319
+ * Creation date of the message. ISO 8601 UTC.
760
1320
  */
761
- password: string;
1321
+ date_created: string;
762
1322
  };
763
- export type Organization = {
1323
+ export type Ticket = {
764
1324
  /**
765
- * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
1325
+ * Unique identifier of the ticket (Mongo ObjectId).
766
1326
  */
767
- name: string;
1327
+ id: string;
768
1328
  /**
769
- * Organization contact information and billing address.
1329
+ * Current state of the ticket.
770
1330
  */
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
- };
1331
+ status: 'waiting_on_us' | 'waiting_on_user' | 'closed';
813
1332
  /**
814
- * Unique identifier of the organization. UUID v4 string in canonical form
1333
+ * Ticket category.
815
1334
  */
816
- id: string;
1335
+ category: 'billing' | 'technical' | 'general';
817
1336
  /**
818
- * Creation date of the organization. ISO 8601 date string in UTC timezone
1337
+ * First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.
1338
+ */
1339
+ summary: string;
1340
+ /**
1341
+ * Closure timestamp. Null while the ticket is open.
1342
+ */
1343
+ closed_at?: string;
1344
+ /**
1345
+ * Creation date of the ticket. ISO 8601 UTC.
819
1346
  */
820
1347
  date_created: string;
821
1348
  /**
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.
1349
+ * Last update date of the ticket. ISO 8601 UTC.
823
1350
  */
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;
1351
+ date_updated: string;
1352
+ /**
1353
+ * Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.
1354
+ */
1355
+ messages?: Array<{
837
1356
  /**
838
- * Available number of Pro clusters that can be created.
1357
+ * Unique identifier of the message (Mongo ObjectId).
839
1358
  */
840
- pro_clusters_available: number;
1359
+ id: string;
841
1360
  /**
842
- * Maximum number of fleets that can be created per cluster.
1361
+ * Message type. Internal notes are filtered out of customer-facing responses.
843
1362
  */
844
- fleets_max: number;
1363
+ type: 'customer_reply' | 'agent_reply';
845
1364
  /**
846
- * Maximum number of CPU cores per managed fleet.
1365
+ * Message body in markdown.
847
1366
  */
848
- managed_fleets_cpu_max: number;
1367
+ body: string;
849
1368
  /**
850
- * List of Cloudfleet cluster tiers available for the organization.
1369
+ * First name of the author. Null when not provided.
851
1370
  */
852
- cluster_tiers: Array<string>;
1371
+ author_first_name?: string;
853
1372
  /**
854
- * List of Cloudfleet control plane regions available for the organization.
1373
+ * Last name of the author. Null when not provided.
855
1374
  */
856
- regions: Array<string>;
1375
+ author_last_name?: string;
857
1376
  /**
858
- * List of CFKE control plane versions available for the organization.
1377
+ * Attachments associated with this message.
859
1378
  */
860
- versions: Array<{
1379
+ attachments?: Array<{
861
1380
  /**
862
- * Id of the control plane version. Used in API calls.
1381
+ * Unique identifier of the attachment (Mongo ObjectId).
863
1382
  */
864
1383
  id: string;
865
1384
  /**
866
- * Label of the control plane version. Used in frontent UI.
1385
+ * Original filename as uploaded.
867
1386
  */
868
- label: string;
1387
+ filename: string;
1388
+ /**
1389
+ * MIME content type of the attachment.
1390
+ */
1391
+ content_type: string;
1392
+ /**
1393
+ * Size of the attachment in bytes.
1394
+ */
1395
+ size: number;
869
1396
  }>;
870
- };
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
- /**
876
- * Status of the organization. Can be `active` or `closed`, or `suspended`.
877
- */
878
- 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
- /**
886
- * Organization contact information and billing address.
887
- */
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
1397
  /**
926
- * Last name of the billing contact person.
1398
+ * Creation date of the message. ISO 8601 UTC.
927
1399
  */
928
- last_name: string;
929
- };
930
- };
931
- export type PaymentMethod = {
932
- /**
933
- * Unique identifier of the organization. UUID v4 string in canonical form.
934
- */
935
- id: string;
936
- /**
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.
942
- */
943
- type: 'card';
944
- /**
945
- * Last 4 digits of the payment card number.
946
- */
947
- last4: string;
948
- /**
949
- * Two-digit number representing the card's expiration month.
950
- */
951
- exp_month: number;
952
- /**
953
- * Four-digit number representing the card's expiration year.
954
- */
955
- exp_year: number;
956
- /**
957
- * Payment card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.
958
- */
959
- brand: 'amex' | 'diners' | 'discover' | 'eftpos_au' | 'jcb' | 'mastercard' | 'unionpay' | 'visa' | 'unknown';
1400
+ date_created: string;
1401
+ }>;
960
1402
  };
961
1403
  export type TokenCreateInput = {
962
1404
  /**
@@ -1000,35 +1442,85 @@ export type TokenUpdateInput = {
1000
1442
  */
1001
1443
  role?: 'Administrator' | 'User';
1002
1444
  };
1445
+ export type UsageFacets = {
1446
+ /**
1447
+ * List of unique cluster IDs
1448
+ */
1449
+ cluster_id?: Array<string>;
1450
+ /**
1451
+ * List of unique products
1452
+ */
1453
+ product?: Array<string>;
1454
+ };
1455
+ export type UsageResponse = {
1456
+ /**
1457
+ * Usage data
1458
+ */
1459
+ data: Array<{
1460
+ /**
1461
+ * Hour of the usage
1462
+ */
1463
+ hour: string;
1464
+ /**
1465
+ * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
1466
+ */
1467
+ cluster_id: string;
1468
+ /**
1469
+ * The product the usage is associated with
1470
+ */
1471
+ product: string;
1472
+ /**
1473
+ * Consumption
1474
+ */
1475
+ value: number;
1476
+ /**
1477
+ * Price per unit
1478
+ */
1479
+ price: number;
1480
+ /**
1481
+ * Total cost
1482
+ */
1483
+ total: number;
1484
+ }>;
1485
+ /**
1486
+ * Facets for filtering
1487
+ */
1488
+ facets: {
1489
+ /**
1490
+ * List of unique cluster IDs
1491
+ */
1492
+ cluster_id?: Array<string>;
1493
+ /**
1494
+ * List of unique products
1495
+ */
1496
+ product?: Array<string>;
1497
+ };
1498
+ };
1003
1499
  export type Usage = {
1004
1500
  /**
1005
1501
  * Hour of the usage
1006
1502
  */
1007
- hour?: string;
1503
+ hour: string;
1008
1504
  /**
1009
1505
  * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
1010
1506
  */
1011
1507
  cluster_id: string;
1012
1508
  /**
1013
- * Tier of the cluster.
1509
+ * The product the usage is associated with
1014
1510
  */
1015
- cluster_tier: '';
1511
+ product: string;
1016
1512
  /**
1017
- * The product the usage is associated with
1513
+ * Consumption
1018
1514
  */
1019
- product: 'cfke_infra_compute' | 'cfke_nodes' | 'cfke_controlplane';
1515
+ value: number;
1020
1516
  /**
1021
- * Name of the Kubernetes node
1517
+ * Price per unit
1022
1518
  */
1023
- node_name: string;
1519
+ price: number;
1024
1520
  /**
1025
- * SKU of the Kubernetes node
1521
+ * Total cost
1026
1522
  */
1027
- sku: string;
1028
- cpu: number | '';
1029
- price: number | '';
1030
- value: number | '';
1031
- total: number | '';
1523
+ total: number;
1032
1524
  };
1033
1525
  export type UserCreateInput = {
1034
1526
  /**
@@ -1048,17 +1540,9 @@ export type UserCreateInput = {
1048
1540
  */
1049
1541
  code: string;
1050
1542
  /**
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.
1543
+ * User password. Must be at least 8 characters long.
1052
1544
  */
1053
1545
  password: string;
1054
- /**
1055
- * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
1056
- */
1057
- status?: 'active' | 'inactive';
1058
- /**
1059
- * User role. Can be 'Administrator', 'User'.
1060
- */
1061
- role?: 'Administrator' | 'User';
1062
1546
  };
1063
1547
  export type User = {
1064
1548
  /**
@@ -1089,16 +1573,6 @@ export type User = {
1089
1573
  * Creation date of the user. ISO 8601 date string in UTC timezone
1090
1574
  */
1091
1575
  date_created: string;
1092
- cluster_permissions?: Array<{
1093
- /**
1094
- * Unique identifier of the cluster. UUID v4 string in canonical form
1095
- */
1096
- cluster_id: string;
1097
- /**
1098
- * User permissions to access the cluster. Can be `readwrite` or `readonly`.
1099
- */
1100
- permissions: 'readwrite' | 'readonly';
1101
- }>;
1102
1576
  };
1103
1577
  export type UserUpdateInput = {
1104
1578
  /**
@@ -1122,658 +1596,642 @@ export type UserUpdateInput = {
1122
1596
  */
1123
1597
  status?: 'active' | 'inactive';
1124
1598
  };
1125
- export type GetUsageData = {
1599
+ export type ListUserOrganizationsData = {
1600
+ body?: never;
1601
+ path: {
1602
+ /**
1603
+ * User email address.
1604
+ */
1605
+ email: string;
1606
+ };
1607
+ query?: never;
1608
+ url: '/users/organizations/{email}';
1609
+ };
1610
+ export type ListUserOrganizationsResponses = {
1611
+ /**
1612
+ * An array of organizations the user belongs to.
1613
+ */
1614
+ 200: Array<{
1615
+ /**
1616
+ * Unique identifier of the organization. UUID v4 string in canonical form
1617
+ */
1618
+ realm?: string;
1619
+ /**
1620
+ * Human-readable name of the organization
1621
+ */
1622
+ displayName?: string;
1623
+ }>;
1624
+ };
1625
+ export type ListUserOrganizationsResponse = ListUserOrganizationsResponses[keyof ListUserOrganizationsResponses];
1626
+ export type ListUsersData = {
1126
1627
  body?: never;
1127
1628
  path?: never;
1128
1629
  query?: never;
1129
- url: '/billing/usage';
1630
+ url: '/users';
1130
1631
  };
1131
- export type GetUsageErrors = {
1632
+ export type ListUsersErrors = {
1132
1633
  /**
1133
1634
  * Not authenticated
1134
1635
  */
1135
1636
  401: unknown;
1136
1637
  };
1137
- export type GetUsageResponses = {
1638
+ export type ListUsersResponses = {
1138
1639
  /**
1139
- * An array of usage records.
1640
+ * An array of users
1140
1641
  */
1141
- 200: Array<Usage>;
1642
+ 200: Array<User>;
1142
1643
  };
1143
- export type GetUsageResponse = GetUsageResponses[keyof GetUsageResponses];
1144
- export type GetBalanceData = {
1145
- body?: never;
1644
+ export type ListUsersResponse = ListUsersResponses[keyof ListUsersResponses];
1645
+ export type CreateUserData = {
1646
+ body: UserCreateInput;
1146
1647
  path?: never;
1147
1648
  query?: never;
1148
- url: '/billing/balance';
1649
+ url: '/users';
1149
1650
  };
1150
- export type GetBalanceResponses = {
1651
+ export type CreateUserResponses = {
1151
1652
  /**
1152
- * Current balance of the organization in USD as a floating-point number.
1653
+ * Successfully created. Returns created user details.
1153
1654
  */
1154
- 200: number;
1655
+ 200: User;
1155
1656
  };
1156
- export type GetBalanceResponse = GetBalanceResponses[keyof GetBalanceResponses];
1157
- export type GetPaymentMethodData = {
1657
+ export type CreateUserResponse = CreateUserResponses[keyof CreateUserResponses];
1658
+ export type DeleteUserData = {
1158
1659
  body?: never;
1159
- path?: never;
1660
+ path: {
1661
+ /**
1662
+ * Unique user identifier. UUID v4 string in canonical form
1663
+ */
1664
+ user_id: string;
1665
+ };
1160
1666
  query?: never;
1161
- url: '/billing/payment-method';
1667
+ url: '/users/{user_id}';
1162
1668
  };
1163
- export type GetPaymentMethodErrors = {
1669
+ export type DeleteUserErrors = {
1164
1670
  /**
1165
- * Returns 404 Not Found if the organization does not have a payment method set up.
1671
+ * Deleting own user is not allowed. Delete your organization instead.
1166
1672
  */
1167
- 404: unknown;
1168
- };
1169
- export type GetPaymentMethodResponses = {
1673
+ 400: unknown;
1170
1674
  /**
1171
- * Redacted payment card information.
1675
+ * Not authenticated
1172
1676
  */
1173
- 200: PaymentMethod;
1174
- };
1175
- export type GetPaymentMethodResponse = GetPaymentMethodResponses[keyof GetPaymentMethodResponses];
1176
- export type GetPaymentMethodSecretData = {
1177
- body?: never;
1178
- path?: never;
1179
- query?: never;
1180
- url: '/billing/payment-method';
1677
+ 401: unknown;
1181
1678
  };
1182
- export type GetPaymentMethodSecretResponses = {
1679
+ export type DeleteUserResponses = {
1183
1680
  /**
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
- *
1681
+ * User profile information
1186
1682
  */
1187
- 200: {
1188
- /**
1189
- * The client secret.
1190
- */
1191
- id?: string;
1192
- };
1683
+ 200: User;
1193
1684
  };
1194
- export type GetPaymentMethodSecretResponse = GetPaymentMethodSecretResponses[keyof GetPaymentMethodSecretResponses];
1195
- export type ListInvoicesData = {
1685
+ export type DeleteUserResponse = DeleteUserResponses[keyof DeleteUserResponses];
1686
+ export type GetUserData = {
1196
1687
  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;
1688
+ path: {
1203
1689
  /**
1204
- * End date for the usage. Date of newest data point to retrieve.
1690
+ * Unique user identifier. UUID v4 string in canonical form
1205
1691
  */
1206
- end_date: string;
1692
+ user_id: string;
1207
1693
  };
1208
- url: '/billing/invoices';
1694
+ query?: never;
1695
+ url: '/users/{user_id}';
1209
1696
  };
1210
- export type ListInvoicesErrors = {
1697
+ export type GetUserErrors = {
1211
1698
  /**
1212
1699
  * Not authenticated
1213
1700
  */
1214
1701
  401: unknown;
1215
1702
  };
1216
- export type ListInvoicesResponses = {
1703
+ export type GetUserResponses = {
1217
1704
  /**
1218
- * An array of usage records.
1705
+ * User profile information
1219
1706
  */
1220
- 200: Array<Invoice>;
1707
+ 200: User;
1221
1708
  };
1222
- export type ListInvoicesResponse = ListInvoicesResponses[keyof ListInvoicesResponses];
1223
- export type GetInvoiceData = {
1224
- body?: never;
1709
+ export type GetUserResponse = GetUserResponses[keyof GetUserResponses];
1710
+ export type UpdateUserData = {
1711
+ body: UserUpdateInput;
1225
1712
  path: {
1226
1713
  /**
1227
- * Unique invoice identifier. UUID v4 string in canonical form
1714
+ * Unique user identifier. UUID v4 string in canonical form
1228
1715
  */
1229
- id: string;
1716
+ user_id: string;
1230
1717
  };
1231
1718
  query?: never;
1232
- url: '/billing/invoices/{id}';
1719
+ url: '/users/{user_id}';
1233
1720
  };
1234
- export type GetInvoiceResponses = {
1721
+ export type UpdateUserResponses = {
1235
1722
  /**
1236
- * Returns a single Invoice HTML representation under `html` property.
1723
+ * Successfully created. Returns created user details.
1237
1724
  */
1238
- 200: {
1239
- html?: string;
1240
- };
1725
+ 200: User;
1241
1726
  };
1242
- export type GetInvoiceResponse = GetInvoiceResponses[keyof GetInvoiceResponses];
1243
- export type ListFleetsData = {
1727
+ export type UpdateUserResponse = UpdateUserResponses[keyof UpdateUserResponses];
1728
+ export type ListTokensData = {
1244
1729
  body?: never;
1245
- path: {
1246
- /**
1247
- * Unique identifier of the cluster. UUID v4 string in canonical form
1248
- */
1249
- cluster_id: string;
1250
- };
1730
+ path?: never;
1251
1731
  query?: never;
1252
- url: '/clusters/{cluster_id}/fleets';
1732
+ url: '/tokens';
1253
1733
  };
1254
- export type ListFleetsErrors = {
1734
+ export type ListTokensErrors = {
1255
1735
  /**
1256
1736
  * Not authenticated
1257
1737
  */
1258
1738
  401: unknown;
1259
1739
  };
1260
- export type ListFleetsResponses = {
1740
+ export type ListTokensResponses = {
1261
1741
  /**
1262
- * An array of fleets
1742
+ * Returns a list of access token details with masked secrets.
1263
1743
  */
1264
- 200: Array<Fleet>;
1744
+ 200: Array<Token>;
1265
1745
  };
1266
- export type ListFleetsResponse = ListFleetsResponses[keyof ListFleetsResponses];
1267
- export type CreateFleetData = {
1268
- body: FleetCreateInput;
1269
- path: {
1270
- /**
1271
- * Unique identifier of the cluster. UUID v4 string in canonical form
1272
- */
1273
- cluster_id: string;
1274
- };
1746
+ export type ListTokensResponse = ListTokensResponses[keyof ListTokensResponses];
1747
+ export type CreateTokenData = {
1748
+ body: TokenCreateInput;
1749
+ path?: never;
1275
1750
  query?: never;
1276
- url: '/clusters/{cluster_id}/fleets';
1751
+ url: '/tokens';
1277
1752
  };
1278
- export type CreateFleetErrors = {
1753
+ export type CreateTokenErrors = {
1279
1754
  /**
1280
- * Cluster quota exceeded. Maximum number of fleets per cluster allowed in this organization is reached.
1755
+ * Not authenticated
1281
1756
  */
1282
- 402: string;
1757
+ 401: unknown;
1283
1758
  };
1284
- export type CreateFleetError = CreateFleetErrors[keyof CreateFleetErrors];
1285
- export type CreateFleetResponses = {
1759
+ export type CreateTokenResponses = {
1286
1760
  /**
1287
- * Successfully created. Returns created Fleet ID.
1761
+ * Successfully created. Returns created token details with unmasked/raw secret.
1288
1762
  */
1289
- 200: string;
1763
+ 200: Token;
1290
1764
  };
1291
- export type CreateFleetResponse = CreateFleetResponses[keyof CreateFleetResponses];
1292
- export type DeleteFleetData = {
1765
+ export type CreateTokenResponse = CreateTokenResponses[keyof CreateTokenResponses];
1766
+ export type DeleteTokenData = {
1293
1767
  body?: never;
1294
1768
  path: {
1295
1769
  /**
1296
- * Unique identifier of the cluster. UUID v4 string in canonical form
1297
- */
1298
- cluster_id: string;
1299
- /**
1300
- * Unique identifier of the fleet. UUID v4 string in canonical form
1770
+ * Generated unique identifier of the access token.
1301
1771
  */
1302
- fleet_name: string;
1772
+ token_id: string;
1303
1773
  };
1304
1774
  query?: never;
1305
- url: '/clusters/{cluster_id}/fleets/{fleet_name}';
1775
+ url: '/tokens/{token_id}';
1306
1776
  };
1307
- export type DeleteFleetResponses = {
1777
+ export type DeleteTokenResponses = {
1308
1778
  /**
1309
1779
  * Successfully deleted.
1310
1780
  */
1311
- 200: string;
1781
+ 200: unknown;
1312
1782
  };
1313
- export type DeleteFleetResponse = DeleteFleetResponses[keyof DeleteFleetResponses];
1314
- export type GetFleetData = {
1783
+ export type GetTokenData = {
1315
1784
  body?: never;
1316
1785
  path: {
1317
1786
  /**
1318
- * Unique identifier of the cluster. UUID v4 string in canonical form
1319
- */
1320
- cluster_id: string;
1321
- /**
1322
- * Unique identifier of the fleet. UUID v4 string in canonical form
1787
+ * Generated unique identifier of the access token.
1323
1788
  */
1324
- fleet_name: string;
1789
+ token_id: string;
1325
1790
  };
1326
1791
  query?: never;
1327
- url: '/clusters/{cluster_id}/fleets/{fleet_name}';
1792
+ url: '/tokens/{token_id}';
1328
1793
  };
1329
- export type GetFleetResponses = {
1794
+ export type GetTokenErrors = {
1330
1795
  /**
1331
- * Returns a single object containing fleet details.
1796
+ * Not authenticated
1332
1797
  */
1333
- 200: Fleet;
1798
+ 401: unknown;
1334
1799
  };
1335
- export type GetFleetResponse = GetFleetResponses[keyof GetFleetResponses];
1336
- export type UpdateFleetData = {
1337
- body: FleetUpdateInput;
1800
+ export type GetTokenResponses = {
1801
+ /**
1802
+ * Returns access token details with masked secret.
1803
+ */
1804
+ 200: Token;
1805
+ };
1806
+ export type GetTokenResponse = GetTokenResponses[keyof GetTokenResponses];
1807
+ export type UpdateTokenData = {
1808
+ body: TokenUpdateInput;
1338
1809
  path: {
1339
1810
  /**
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
1811
+ * Generated unique identifier of the access token.
1345
1812
  */
1346
- fleet_name: string;
1813
+ token_id: string;
1347
1814
  };
1348
1815
  query?: never;
1349
- url: '/clusters/{cluster_id}/fleets/{fleet_name}';
1816
+ url: '/tokens/{token_id}';
1350
1817
  };
1351
- export type UpdateFleetErrors = {
1818
+ export type UpdateTokenErrors = {
1352
1819
  /**
1353
- * Organization must have a valid payment method configured to access this endpoint.
1820
+ * Not authenticated
1354
1821
  */
1355
- 402: string;
1822
+ 401: unknown;
1356
1823
  };
1357
- export type UpdateFleetError = UpdateFleetErrors[keyof UpdateFleetErrors];
1358
- export type UpdateFleetResponses = {
1824
+ export type UpdateTokenResponses = {
1359
1825
  /**
1360
- * Successfully updated.
1826
+ * Successfully updated. Returns updated token details with masked secret.
1361
1827
  */
1362
- 200: string;
1828
+ 200: Token;
1363
1829
  };
1364
- export type UpdateFleetResponse = UpdateFleetResponses[keyof UpdateFleetResponses];
1365
- export type QueryClusterData = {
1830
+ export type UpdateTokenResponse = UpdateTokenResponses[keyof UpdateTokenResponses];
1831
+ export type RegenerateTokenData = {
1366
1832
  body?: never;
1367
1833
  path: {
1368
1834
  /**
1369
- * Unique identifier of the cluster. UUID v4 string in canonical form
1835
+ * Generated unique identifier of the access token.
1370
1836
  */
1371
- cluster_id: string;
1837
+ token_id: string;
1372
1838
  };
1373
1839
  query?: never;
1374
- url: '/clusters/{cluster_id}/query';
1840
+ url: '/tokens/{token_id}/secret';
1375
1841
  };
1376
- export type QueryClusterErrors = {
1842
+ export type RegenerateTokenErrors = {
1377
1843
  /**
1378
1844
  * Not authenticated
1379
1845
  */
1380
1846
  401: unknown;
1381
1847
  };
1382
- export type QueryClusterResponses = {
1848
+ export type RegenerateTokenResponses = {
1383
1849
  /**
1384
- * Kubernetes API response
1850
+ * Successfully updated. Returns updated token details with unmasked / raw secret.
1385
1851
  */
1386
- 200: unknown;
1852
+ 200: Token;
1387
1853
  };
1388
- export type ListClustersData = {
1854
+ export type RegenerateTokenResponse = RegenerateTokenResponses[keyof RegenerateTokenResponses];
1855
+ export type ListTicketsData = {
1389
1856
  body?: never;
1390
1857
  path?: never;
1391
1858
  query?: never;
1392
- url: '/clusters';
1393
- };
1394
- export type ListClustersErrors = {
1395
- /**
1396
- * Not authenticated
1397
- */
1398
- 401: unknown;
1859
+ url: '/tickets';
1399
1860
  };
1400
- export type ListClustersResponses = {
1861
+ export type ListTicketsResponses = {
1401
1862
  /**
1402
- * An array of clusters
1863
+ * Tickets for the organization.
1403
1864
  */
1404
- 200: Array<Cluster>;
1865
+ 200: TicketListResponse;
1405
1866
  };
1406
- export type ListClustersResponse = ListClustersResponses[keyof ListClustersResponses];
1407
- export type CreateClusterData = {
1408
- body: ClusterCreateInput;
1867
+ export type ListTicketsResponse = ListTicketsResponses[keyof ListTicketsResponses];
1868
+ export type CreateTicketData = {
1869
+ body: {
1870
+ /**
1871
+ * JSON-encoded TicketCreateInput.
1872
+ */
1873
+ payload?: string;
1874
+ attachments?: Array<Blob | File>;
1875
+ };
1409
1876
  path?: never;
1410
1877
  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;
1878
+ url: '/tickets';
1418
1879
  };
1419
- export type CreateClusterError = CreateClusterErrors[keyof CreateClusterErrors];
1420
- export type CreateClusterResponses = {
1880
+ export type CreateTicketResponses = {
1421
1881
  /**
1422
- * Successfully created. Returns created Cluster ID.
1882
+ * Ticket created.
1423
1883
  */
1424
- 200: string;
1884
+ 200: Ticket;
1425
1885
  };
1426
- export type CreateClusterResponse = CreateClusterResponses[keyof CreateClusterResponses];
1427
- export type DeleteClusterData = {
1886
+ export type CreateTicketResponse = CreateTicketResponses[keyof CreateTicketResponses];
1887
+ export type CloseTicketData = {
1428
1888
  body?: never;
1429
1889
  path: {
1430
- /**
1431
- * Unique identifier of the cluster. UUID v4 string in canonical form
1432
- */
1433
- cluster_id: string;
1890
+ ticket_id: string;
1434
1891
  };
1435
1892
  query?: never;
1436
- url: '/clusters/{cluster_id}';
1893
+ url: '/tickets/{ticket_id}';
1437
1894
  };
1438
- export type DeleteClusterResponses = {
1895
+ export type CloseTicketResponses = {
1439
1896
  /**
1440
- * Successfully deleted.
1897
+ * Ticket closed.
1441
1898
  */
1442
- 200: string;
1899
+ 200: Ticket;
1443
1900
  };
1444
- export type DeleteClusterResponse = DeleteClusterResponses[keyof DeleteClusterResponses];
1445
- export type GetClusterData = {
1901
+ export type CloseTicketResponse = CloseTicketResponses[keyof CloseTicketResponses];
1902
+ export type GetTicketData = {
1446
1903
  body?: never;
1447
1904
  path: {
1448
- /**
1449
- * Unique identifier of the cluster. UUID v4 string in canonical form
1450
- */
1451
- cluster_id: string;
1905
+ ticket_id: string;
1452
1906
  };
1453
1907
  query?: never;
1454
- url: '/clusters/{cluster_id}';
1908
+ url: '/tickets/{ticket_id}';
1455
1909
  };
1456
- export type GetClusterResponses = {
1910
+ export type GetTicketResponses = {
1457
1911
  /**
1458
- * Returns a single object containing cluster details.
1912
+ * Ticket with messages (internal notes excluded).
1459
1913
  */
1460
- 200: Cluster;
1914
+ 200: Ticket;
1461
1915
  };
1462
- export type GetClusterResponse = GetClusterResponses[keyof GetClusterResponses];
1463
- export type UpdateClusterData = {
1464
- body: ClusterUpdateInput;
1465
- path: {
1916
+ export type GetTicketResponse = GetTicketResponses[keyof GetTicketResponses];
1917
+ export type ReplyTicketData = {
1918
+ body: {
1466
1919
  /**
1467
- * Unique identifier of the cluster. UUID v4 string in canonical form
1920
+ * JSON-encoded TicketMessageInput.
1468
1921
  */
1469
- cluster_id: string;
1922
+ payload?: string;
1923
+ attachments?: Array<Blob | File>;
1924
+ };
1925
+ path: {
1926
+ ticket_id: string;
1470
1927
  };
1471
1928
  query?: never;
1472
- url: '/clusters/{cluster_id}';
1929
+ url: '/tickets/{ticket_id}/messages';
1473
1930
  };
1474
- export type UpdateClusterResponses = {
1931
+ export type ReplyTicketErrors = {
1475
1932
  /**
1476
- * Successfully updated. Returns updated cluster details.
1933
+ * Ticket is closed. Open a new ticket instead.
1477
1934
  */
1478
- 200: Cluster;
1935
+ 409: unknown;
1479
1936
  };
1480
- export type UpdateClusterResponse = UpdateClusterResponses[keyof UpdateClusterResponses];
1481
- export type GetJoinInformationData = {
1937
+ export type ReplyTicketResponses = {
1938
+ /**
1939
+ * Reply appended.
1940
+ */
1941
+ 200: TicketMessage;
1942
+ };
1943
+ export type ReplyTicketResponse = ReplyTicketResponses[keyof ReplyTicketResponses];
1944
+ export type GetTicketAttachmentData = {
1482
1945
  body?: never;
1483
1946
  path: {
1484
- /**
1485
- * Unique identifier of the cluster. UUID v4 string in canonical form
1486
- */
1487
- cluster_id: string;
1947
+ ticket_id: string;
1948
+ attachment_id: string;
1488
1949
  };
1489
1950
  query?: never;
1490
- url: '/clusters/{cluster_id}/join_information';
1951
+ url: '/tickets/{ticket_id}/attachments/{attachment_id}';
1491
1952
  };
1492
- export type GetJoinInformationErrors = {
1953
+ export type GetTicketAttachmentResponses = {
1954
+ /**
1955
+ * Attachment binary stream.
1956
+ */
1957
+ 200: Blob | File;
1958
+ };
1959
+ export type GetTicketAttachmentResponse = GetTicketAttachmentResponses[keyof GetTicketAttachmentResponses];
1960
+ export type ListRepositoriesData = {
1961
+ body?: never;
1962
+ path?: never;
1963
+ query?: never;
1964
+ url: '/registry';
1965
+ };
1966
+ export type ListRepositoriesErrors = {
1493
1967
  /**
1494
1968
  * Not authenticated
1495
1969
  */
1496
1970
  401: unknown;
1971
+ /**
1972
+ * Internal server error
1973
+ */
1974
+ 500: unknown;
1497
1975
  };
1498
- export type GetJoinInformationResponses = {
1976
+ export type ListRepositoriesResponses = {
1499
1977
  /**
1500
- * An object of cluster join information
1978
+ * List of repositories
1501
1979
  */
1502
- 200: Cluster;
1980
+ 200: Array<RegistryRepository>;
1503
1981
  };
1504
- export type GetJoinInformationResponse = GetJoinInformationResponses[keyof GetJoinInformationResponses];
1505
- export type GetInfrastructureData = {
1982
+ export type ListRepositoriesResponse = ListRepositoriesResponses[keyof ListRepositoriesResponses];
1983
+ export type ListTagsData = {
1506
1984
  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;
1985
+ path: {
1565
1986
  /**
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.
1987
+ * Region where the repository is located
1567
1988
  */
1568
- vcpu_min?: number;
1989
+ region: string;
1569
1990
  /**
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.
1991
+ * Name of the repository
1571
1992
  */
1572
- vcpu_max?: number;
1993
+ repository: string;
1994
+ };
1995
+ query?: never;
1996
+ url: '/registry/{region}/{repository}';
1997
+ };
1998
+ export type ListTagsErrors = {
1999
+ /**
2000
+ * Not authenticated
2001
+ */
2002
+ 401: unknown;
2003
+ /**
2004
+ * Repository not found
2005
+ */
2006
+ 404: unknown;
2007
+ /**
2008
+ * Internal server error
2009
+ */
2010
+ 500: unknown;
2011
+ };
2012
+ export type ListTagsResponses = {
2013
+ /**
2014
+ * Repository with tags
2015
+ */
2016
+ 200: RegistryRepositoryWithTags;
2017
+ };
2018
+ export type ListTagsResponse = ListTagsResponses[keyof ListTagsResponses];
2019
+ export type DeleteTagData = {
2020
+ body?: never;
2021
+ path: {
1573
2022
  /**
1574
- * Minimum total storage in GiB (attached and local)
2023
+ * Region where the repository is located
1575
2024
  */
1576
- storage_total_min?: number;
2025
+ region: string;
1577
2026
  /**
1578
- * Maximum total storage in GiB (attached and local)
2027
+ * Name of the repository
1579
2028
  */
1580
- storage_total_max?: number;
2029
+ repository: string;
1581
2030
  /**
1582
- * Minimum volume of directly attached, block-device local storage in gibibytes (GiB)
2031
+ * Name of the tag
1583
2032
  */
1584
- storage_local_min?: number;
2033
+ tag: string;
2034
+ };
2035
+ query?: never;
2036
+ url: '/registry/{region}/{repository}/{tag}';
2037
+ };
2038
+ export type DeleteTagErrors = {
2039
+ /**
2040
+ * Not authenticated
2041
+ */
2042
+ 401: unknown;
2043
+ /**
2044
+ * Tag not found
2045
+ */
2046
+ 404: unknown;
2047
+ /**
2048
+ * Internal server error
2049
+ */
2050
+ 500: unknown;
2051
+ };
2052
+ export type DeleteTagResponses = {
2053
+ /**
2054
+ * Tag successfully deleted
2055
+ */
2056
+ 200: unknown;
2057
+ };
2058
+ export type GetTagData = {
2059
+ body?: never;
2060
+ path: {
1585
2061
  /**
1586
- * Maximum volume of directly attached, block-device local storage in gibibytes (GiB)
2062
+ * Region where the repository is located
1587
2063
  */
1588
- storage_local_max?: number;
2064
+ region: string;
1589
2065
  /**
1590
- * Minimum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.
2066
+ * Name of the repository
1591
2067
  */
1592
- price_min?: number;
2068
+ repository: string;
1593
2069
  /**
1594
- * Maximum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.
2070
+ * Name of the tag
1595
2071
  */
1596
- price_max?: number;
2072
+ tag: string;
1597
2073
  };
1598
- url: '/infrastructure';
2074
+ query?: never;
2075
+ url: '/registry/{region}/{repository}/{tag}';
1599
2076
  };
1600
- export type GetInfrastructureErrors = {
2077
+ export type GetTagErrors = {
2078
+ /**
2079
+ * Not authenticated
2080
+ */
2081
+ 401: unknown;
2082
+ /**
2083
+ * Tag not found
2084
+ */
2085
+ 404: unknown;
1601
2086
  /**
1602
- * Returns a validation error if any of the search parameters in the request are invalid
2087
+ * Internal server error
1603
2088
  */
1604
- 400: Blob | File;
2089
+ 500: unknown;
1605
2090
  };
1606
- export type GetInfrastructureError = GetInfrastructureErrors[keyof GetInfrastructureErrors];
1607
- export type GetInfrastructureResponses = {
2091
+ export type GetTagResponses = {
1608
2092
  /**
1609
- * An array of instances returned by the search
2093
+ * Tag details
1610
2094
  */
1611
- 200: Array<InfrastructureInstance>;
2095
+ 200: RegistryTag;
1612
2096
  };
1613
- export type GetInfrastructureResponse = GetInfrastructureResponses[keyof GetInfrastructureResponses];
1614
- export type GetFacetsData = {
2097
+ export type GetTagResponse = GetTagResponses[keyof GetTagResponses];
2098
+ export type GetOrganizationData = {
1615
2099
  body?: never;
1616
2100
  path?: never;
1617
2101
  query?: never;
1618
- url: '/infrastructure/facets';
2102
+ url: '/organization';
1619
2103
  };
1620
- export type GetFacetsResponses = {
2104
+ export type GetOrganizationResponses = {
1621
2105
  /**
1622
- * Calculates search facets of the infrastructure catalog
2106
+ * Returns a single object containing organization details.
1623
2107
  */
1624
- 200: Array<{
1625
- /**
1626
- * Limit selection of cloud providers to this list. For the full list of supported providers, see [Providers](https://cloudfleet.ai/docs/cloud-infrastructure/providers/)
1627
- */
1628
- provider?: Array<string>;
1629
- /**
1630
- * Limits selection of cloud regions to this list of Cloudfleet regions. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)
1631
- */
1632
- region?: Array<string>;
1633
- /**
1634
- * Limits selection of cloud sub-regions to this list of Cloudfleet sub-regions. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)
1635
- */
1636
- sub_region?: Array<string>;
1637
- /**
1638
- * Limits selection of cloud regions to this list of canonical provider regions
1639
- */
1640
- csp_region?: Array<string>;
1641
- /**
1642
- * Minimum number of vCPUs as defined by the cloud service provider. Some cloud providers use hyperthreading, so the number of vCPUs may be twice as high as the number of physical cores.
1643
- */
1644
- vcpu_min?: number;
1645
- /**
1646
- * Maximum number of vCPUs as defined by the cloud service provider. Some cloud providers use hyperthreading, so the number of vCPUs may be twice as high as the number of physical cores.
1647
- */
1648
- vcpu_max?: number;
1649
- /**
1650
- * Minimum amount of RAM in gibibytes (GiB)
1651
- */
1652
- memory_min?: number;
1653
- /**
1654
- * Maximum amount of RAM in gibibytes (GiB)
1655
- */
1656
- memory_max?: number;
1657
- /**
1658
- * Minimum volume of directly attached, block-device local storage in gibibytes (GiB)
1659
- */
1660
- storage_local_min?: number;
1661
- /**
1662
- * Maximum volume of directly attached, block-device local storage in gibibytes (GiB)
1663
- */
1664
- storage_local_max?: number;
1665
- /**
1666
- * List of Normalized accelerator model names. For example, all variations of Nvidia A100 GPUs will have 'A100' as accelerator name with various memory configurations set in accelerator_memory field
1667
- */
1668
- accelerator_name?: Array<string>;
1669
- /**
1670
- * List of normalized accelerator manufacturer names. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer
1671
- */
1672
- accelerator_manufacturer?: Array<string>;
1673
- /**
1674
- * Minimum number of accelerators available on the instance. Some cloud providers support shared accelerators, so the number of accelerators may be a fraction of the number of physical accelerators.
1675
- */
1676
- accelerator_count_min?: number;
1677
- /**
1678
- * Maximum number of accelerators available on the instance. Some cloud providers support shared accelerators, so the number of accelerators may be a fraction of the number of physical accelerators.
1679
- */
1680
- accelerator_count_max?: number;
1681
- /**
1682
- * Minimum amount of accelerator memory available to each accelerator. For example, Nvidia A100 GPUs will typically have '40.0' gibibytes (GiB) of memory, while A100 GPUs with HBM2E memory will have '80.0' gibibytes (GiB) of memory
1683
- */
1684
- accelerator_memory_min?: number;
1685
- /**
1686
- * Maximum amount of accelerator memory available to each accelerator. For example, Nvidia A100 GPUs will typically have '40.0' gibibytes (GiB) of memory, while A100 GPUs with HBM2E memory will have '80.0' gibibytes (GiB) of memory
1687
- */
1688
- accelerator_memory_max?: number;
1689
- /**
1690
- * Minimum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.
1691
- */
1692
- price_min?: number;
1693
- /**
1694
- * Maximum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.
1695
- */
1696
- price_max?: number;
1697
- /**
1698
- * Structured array of regions and sub-regions
1699
- */
1700
- regions_struct?: Array<{
1701
- /**
1702
- * Limits selection of cloud regions to this list of Cloudfleet regions. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)
1703
- */
1704
- region?: string;
1705
- sub_region?: Array<string>;
1706
- }>;
1707
- /**
1708
- * Structured array of regions and sub-regions
1709
- */
1710
- accelerators_struct?: Array<{
1711
- /**
1712
- * List of normalized accelerator manufacturer names. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer
1713
- */
1714
- accelerator_manufacturer?: string;
1715
- accelerator_name?: Array<string>;
1716
- }>;
1717
- /**
1718
- * Total number of instances in the catalog
1719
- */
1720
- count_total?: number;
1721
- /**
1722
- * Total number of instances in the catalog with at least 1 accelerator
1723
- */
1724
- count_accelerators?: number;
1725
- /**
1726
- * Total number of unique instances types in the catalog
1727
- */
1728
- count_instance_types?: number;
2108
+ 200: Organization;
2109
+ };
2110
+ export type GetOrganizationResponse = GetOrganizationResponses[keyof GetOrganizationResponses];
2111
+ export type CreateOrganizationData = {
2112
+ body: OrganizationCreateInput;
2113
+ path?: never;
2114
+ query?: never;
2115
+ url: '/organization';
2116
+ };
2117
+ export type CreateOrganizationResponses = {
2118
+ /**
2119
+ * Organization signup accepted. Returns the generated organization id immediately; provisioning (billing, Keycloak realm, user) continues asynchronously in the background.
2120
+ *
2121
+ */
2122
+ 200: OrganizationCreateOutput;
2123
+ };
2124
+ export type CreateOrganizationResponse = CreateOrganizationResponses[keyof CreateOrganizationResponses];
2125
+ export type PostMcpData = {
2126
+ /**
2127
+ * JSON-RPC 2.0 request payload
2128
+ */
2129
+ body: {
2130
+ jsonrpc?: string;
2131
+ method?: string;
2132
+ id?: string | number;
1729
2133
  /**
1730
- * Total number of unique instances types in the catalog with at least 1 accelerator
2134
+ * Method-specific parameters
1731
2135
  */
1732
- count_accelerators_instance_types?: number;
1733
- }>;
1734
- };
1735
- export type GetFacetsResponse = GetFacetsResponses[keyof GetFacetsResponses];
1736
- export type GetRegionsData = {
1737
- body?: never;
2136
+ params?: {
2137
+ [key: string]: unknown;
2138
+ };
2139
+ };
1738
2140
  path?: never;
1739
2141
  query?: never;
1740
- url: '/infrastructure/regions';
2142
+ url: '/mcp';
1741
2143
  };
1742
- export type GetRegionsResponses = {
2144
+ export type PostMcpErrors = {
1743
2145
  /**
1744
- * Available Cloudfleet regions and Kubernetes versions.
2146
+ * Not authenticated
2147
+ */
2148
+ 401: unknown;
2149
+ };
2150
+ export type PostMcpResponses = {
2151
+ /**
2152
+ * JSON-RPC 2.0 success or error response
1745
2153
  */
1746
2154
  200: {
1747
- [key: string]: unknown;
2155
+ jsonrpc?: string;
2156
+ id?: string | number;
2157
+ result?: {
2158
+ [key: string]: unknown;
2159
+ };
2160
+ error?: {
2161
+ code?: number;
2162
+ message?: string;
2163
+ };
1748
2164
  };
1749
2165
  };
1750
- export type GetRegionsResponse = GetRegionsResponses[keyof GetRegionsResponses];
1751
- export type ListInvitesData = {
2166
+ export type PostMcpResponse = PostMcpResponses[keyof PostMcpResponses];
2167
+ export type ListMarketplaceChartsData = {
1752
2168
  body?: never;
1753
2169
  path?: never;
1754
2170
  query?: never;
1755
- url: '/invites';
2171
+ url: '/marketplace';
1756
2172
  };
1757
- export type ListInvitesErrors = {
2173
+ export type ListMarketplaceChartsErrors = {
1758
2174
  /**
1759
2175
  * Not authenticated
1760
2176
  */
1761
2177
  401: unknown;
1762
2178
  };
1763
- export type ListInvitesResponses = {
2179
+ export type ListMarketplaceChartsResponses = {
1764
2180
  /**
1765
- * An array of invites
2181
+ * An array of chart listings in the marketplace.
1766
2182
  */
1767
- 200: Array<Invite>;
2183
+ 200: Array<MarketplaceListing>;
1768
2184
  };
1769
- export type ListInvitesResponse = ListInvitesResponses[keyof ListInvitesResponses];
1770
- export type CreateInviteData = {
1771
- body: {
2185
+ export type ListMarketplaceChartsResponse = ListMarketplaceChartsResponses[keyof ListMarketplaceChartsResponses];
2186
+ export type GetMarketplaceChartFilesData = {
2187
+ body?: never;
2188
+ path: {
1772
2189
  /**
1773
- * User email address
2190
+ * Name of the chart in the marketplace.
1774
2191
  */
1775
- email?: string;
2192
+ chart_name: string;
2193
+ /**
2194
+ * 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).
2195
+ */
2196
+ version_channel: string;
1776
2197
  };
2198
+ query?: never;
2199
+ url: '/marketplace/{chart_name}/files/{version_channel}';
2200
+ };
2201
+ export type GetMarketplaceChartFilesErrors = {
2202
+ /**
2203
+ * Chart not found or no version matches the channel
2204
+ */
2205
+ 404: unknown;
2206
+ };
2207
+ export type GetMarketplaceChartFilesResponses = {
2208
+ /**
2209
+ * Returns an object containing the chart files for the latest matching version.
2210
+ */
2211
+ 200: MarketplaceListingFiles;
2212
+ };
2213
+ export type GetMarketplaceChartFilesResponse = GetMarketplaceChartFilesResponses[keyof GetMarketplaceChartFilesResponses];
2214
+ export type ListInvitesData = {
2215
+ body?: never;
2216
+ path?: never;
2217
+ query?: never;
2218
+ url: '/invites';
2219
+ };
2220
+ export type ListInvitesErrors = {
2221
+ /**
2222
+ * Not authenticated
2223
+ */
2224
+ 401: unknown;
2225
+ };
2226
+ export type ListInvitesResponses = {
2227
+ /**
2228
+ * An array of invites
2229
+ */
2230
+ 200: Array<Invite>;
2231
+ };
2232
+ export type ListInvitesResponse = ListInvitesResponses[keyof ListInvitesResponses];
2233
+ export type CreateInviteData = {
2234
+ body: InviteCreateInput;
1777
2235
  path?: never;
1778
2236
  query?: never;
1779
2237
  url: '/invites';
@@ -1798,9 +2256,18 @@ export type GetInviteData = {
1798
2256
  };
1799
2257
  export type GetInviteResponses = {
1800
2258
  /**
1801
- * Returns a single object containing invite details.
2259
+ * The invitation code is valid. Returns the invited email and organization.
1802
2260
  */
1803
- 200: Invite;
2261
+ 200: {
2262
+ /**
2263
+ * Email address the invite was issued to.
2264
+ */
2265
+ email?: string;
2266
+ /**
2267
+ * Identifier of the organization the invite grants access to.
2268
+ */
2269
+ organization_id?: string;
2270
+ };
1804
2271
  };
1805
2272
  export type GetInviteResponse = GetInviteResponses[keyof GetInviteResponses];
1806
2273
  export type DeleteInviteData = {
@@ -1820,347 +2287,654 @@ export type DeleteInviteResponses = {
1820
2287
  */
1821
2288
  200: unknown;
1822
2289
  };
1823
- export type GetOrganizationData = {
2290
+ export type QueryClusterData = {
1824
2291
  body?: never;
1825
- path?: never;
2292
+ path: {
2293
+ /**
2294
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2295
+ */
2296
+ cluster_id: string;
2297
+ };
1826
2298
  query?: never;
1827
- url: '/organization';
2299
+ url: '/clusters/{cluster_id}/query';
1828
2300
  };
1829
- export type GetOrganizationResponses = {
2301
+ export type QueryClusterErrors = {
1830
2302
  /**
1831
- * Returns a single object containing organization details.
2303
+ * Not authenticated
1832
2304
  */
1833
- 200: Organization;
2305
+ 401: unknown;
1834
2306
  };
1835
- export type GetOrganizationResponse = GetOrganizationResponses[keyof GetOrganizationResponses];
1836
- export type CreateOrganizationData = {
1837
- body: OrganizationCreateInput;
2307
+ export type QueryClusterResponses = {
2308
+ /**
2309
+ * Kubernetes API response
2310
+ */
2311
+ 200: unknown;
2312
+ };
2313
+ export type ListFleetsData = {
2314
+ body?: never;
2315
+ path: {
2316
+ /**
2317
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2318
+ */
2319
+ cluster_id: string;
2320
+ };
2321
+ query?: never;
2322
+ url: '/clusters/{cluster_id}/fleets';
2323
+ };
2324
+ export type ListFleetsErrors = {
2325
+ /**
2326
+ * Not authenticated
2327
+ */
2328
+ 401: unknown;
2329
+ };
2330
+ export type ListFleetsResponses = {
2331
+ /**
2332
+ * An array of fleets
2333
+ */
2334
+ 200: Array<Fleet>;
2335
+ };
2336
+ export type ListFleetsResponse = ListFleetsResponses[keyof ListFleetsResponses];
2337
+ export type CreateFleetData = {
2338
+ body: FleetCreateInput;
2339
+ path: {
2340
+ /**
2341
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2342
+ */
2343
+ cluster_id: string;
2344
+ };
2345
+ query?: never;
2346
+ url: '/clusters/{cluster_id}/fleets';
2347
+ };
2348
+ export type CreateFleetErrors = {
2349
+ /**
2350
+ * Cluster quota exceeded. Maximum number of fleets per cluster allowed in this organization is reached.
2351
+ */
2352
+ 402: string;
2353
+ /**
2354
+ * 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.
2355
+ */
2356
+ 409: string;
2357
+ };
2358
+ export type CreateFleetError = CreateFleetErrors[keyof CreateFleetErrors];
2359
+ export type CreateFleetResponses = {
2360
+ /**
2361
+ * Successfully created. Returns created Fleet ID.
2362
+ */
2363
+ 200: string;
2364
+ };
2365
+ export type CreateFleetResponse = CreateFleetResponses[keyof CreateFleetResponses];
2366
+ export type DeleteFleetData = {
2367
+ body?: never;
2368
+ path: {
2369
+ /**
2370
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2371
+ */
2372
+ cluster_id: string;
2373
+ /**
2374
+ * Unique identifier of the fleet. UUID v4 string in canonical form
2375
+ */
2376
+ fleet_name: string;
2377
+ };
2378
+ query?: never;
2379
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2380
+ };
2381
+ export type DeleteFleetErrors = {
2382
+ /**
2383
+ * 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.
2384
+ */
2385
+ 409: string;
2386
+ };
2387
+ export type DeleteFleetError = DeleteFleetErrors[keyof DeleteFleetErrors];
2388
+ export type DeleteFleetResponses = {
2389
+ /**
2390
+ * Successfully deleted.
2391
+ */
2392
+ 200: string;
2393
+ };
2394
+ export type DeleteFleetResponse = DeleteFleetResponses[keyof DeleteFleetResponses];
2395
+ export type GetFleetData = {
2396
+ body?: never;
2397
+ path: {
2398
+ /**
2399
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2400
+ */
2401
+ cluster_id: string;
2402
+ /**
2403
+ * Unique identifier of the fleet. UUID v4 string in canonical form
2404
+ */
2405
+ fleet_name: string;
2406
+ };
2407
+ query?: never;
2408
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2409
+ };
2410
+ export type GetFleetResponses = {
2411
+ /**
2412
+ * Returns a single object containing fleet details.
2413
+ */
2414
+ 200: Fleet;
2415
+ };
2416
+ export type GetFleetResponse = GetFleetResponses[keyof GetFleetResponses];
2417
+ export type UpdateFleetData = {
2418
+ body: FleetUpdateInput;
2419
+ path: {
2420
+ /**
2421
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2422
+ */
2423
+ cluster_id: string;
2424
+ /**
2425
+ * Unique identifier of the fleet. UUID v4 string in canonical form
2426
+ */
2427
+ fleet_name: string;
2428
+ };
2429
+ query?: never;
2430
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}';
2431
+ };
2432
+ export type UpdateFleetErrors = {
2433
+ /**
2434
+ * Organization must have a valid payment method configured to access this endpoint.
2435
+ */
2436
+ 402: string;
2437
+ /**
2438
+ * 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.
2439
+ */
2440
+ 409: string;
2441
+ };
2442
+ export type UpdateFleetError = UpdateFleetErrors[keyof UpdateFleetErrors];
2443
+ export type UpdateFleetResponses = {
2444
+ /**
2445
+ * Successfully updated.
2446
+ */
2447
+ 200: string;
2448
+ };
2449
+ export type UpdateFleetResponse = UpdateFleetResponses[keyof UpdateFleetResponses];
2450
+ export type ListChartsData = {
2451
+ body?: never;
2452
+ path: {
2453
+ /**
2454
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2455
+ */
2456
+ cluster_id: string;
2457
+ };
2458
+ query?: never;
2459
+ url: '/clusters/{cluster_id}/charts';
2460
+ };
2461
+ export type ListChartsErrors = {
2462
+ /**
2463
+ * Not authenticated
2464
+ */
2465
+ 401: unknown;
2466
+ };
2467
+ export type ListChartsResponses = {
2468
+ /**
2469
+ * An array of charts
2470
+ */
2471
+ 200: Array<Chart>;
2472
+ };
2473
+ export type ListChartsResponse = ListChartsResponses[keyof ListChartsResponses];
2474
+ export type CreateChartData = {
2475
+ body: ChartCreateInput;
2476
+ path: {
2477
+ /**
2478
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2479
+ */
2480
+ cluster_id: string;
2481
+ };
2482
+ query?: never;
2483
+ url: '/clusters/{cluster_id}/charts';
2484
+ };
2485
+ export type CreateChartErrors = {
2486
+ /**
2487
+ * 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.
2488
+ */
2489
+ 409: string;
2490
+ };
2491
+ export type CreateChartError = CreateChartErrors[keyof CreateChartErrors];
2492
+ export type CreateChartResponses = {
2493
+ /**
2494
+ * Successfully created. Returns created Chart ID.
2495
+ */
2496
+ 200: string;
2497
+ };
2498
+ export type CreateChartResponse = CreateChartResponses[keyof CreateChartResponses];
2499
+ export type DeleteChartData = {
2500
+ body?: never;
2501
+ path: {
2502
+ /**
2503
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2504
+ */
2505
+ cluster_id: string;
2506
+ /**
2507
+ * Chart deployment name as the unique identifier of the chart.
2508
+ */
2509
+ chart_name: string;
2510
+ };
2511
+ query?: never;
2512
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
2513
+ };
2514
+ export type DeleteChartErrors = {
2515
+ /**
2516
+ * 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.
2517
+ */
2518
+ 409: string;
2519
+ };
2520
+ export type DeleteChartError = DeleteChartErrors[keyof DeleteChartErrors];
2521
+ export type DeleteChartResponses = {
2522
+ /**
2523
+ * Successfully deleted.
2524
+ */
2525
+ 200: string;
2526
+ };
2527
+ export type DeleteChartResponse = DeleteChartResponses[keyof DeleteChartResponses];
2528
+ export type GetChartData = {
2529
+ body?: never;
2530
+ path: {
2531
+ /**
2532
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2533
+ */
2534
+ cluster_id: string;
2535
+ /**
2536
+ * Chart deployment name as the unique identifier of the chart.
2537
+ */
2538
+ chart_name: string;
2539
+ };
2540
+ query?: never;
2541
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
2542
+ };
2543
+ export type GetChartResponses = {
2544
+ /**
2545
+ * Returns a single object containing chart details.
2546
+ */
2547
+ 200: Chart;
2548
+ };
2549
+ export type GetChartResponse = GetChartResponses[keyof GetChartResponses];
2550
+ export type UpdateChartData = {
2551
+ body: ChartUpdateInput;
2552
+ path: {
2553
+ /**
2554
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2555
+ */
2556
+ cluster_id: string;
2557
+ /**
2558
+ * Chart deployment name as the unique identifier of the chart.
2559
+ */
2560
+ chart_name: string;
2561
+ };
2562
+ query?: never;
2563
+ url: '/clusters/{cluster_id}/charts/{chart_name}';
2564
+ };
2565
+ export type UpdateChartErrors = {
2566
+ /**
2567
+ * 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.
2568
+ */
2569
+ 409: string;
2570
+ };
2571
+ export type UpdateChartError = UpdateChartErrors[keyof UpdateChartErrors];
2572
+ export type UpdateChartResponses = {
2573
+ /**
2574
+ * Successfully updated.
2575
+ */
2576
+ 200: string;
2577
+ };
2578
+ export type UpdateChartResponse = UpdateChartResponses[keyof UpdateChartResponses];
2579
+ export type ListClustersData = {
2580
+ body?: never;
1838
2581
  path?: never;
1839
2582
  query?: never;
1840
- url: '/organization';
2583
+ url: '/clusters';
1841
2584
  };
1842
- export type CreateOrganizationResponses = {
2585
+ export type ListClustersErrors = {
1843
2586
  /**
1844
- * Successfully created a new organization.
2587
+ * Not authenticated
1845
2588
  */
1846
- 200: unknown;
2589
+ 401: unknown;
2590
+ };
2591
+ export type ListClustersResponses = {
2592
+ /**
2593
+ * An array of clusters
2594
+ */
2595
+ 200: Array<Cluster>;
1847
2596
  };
1848
- export type UpdateOrganizationData = {
1849
- body: OrganizationUpdateInput;
2597
+ export type ListClustersResponse = ListClustersResponses[keyof ListClustersResponses];
2598
+ export type CreateClusterData = {
2599
+ body: ClusterCreateInput;
1850
2600
  path?: never;
1851
2601
  query?: never;
1852
- url: '/organization';
2602
+ url: '/clusters';
1853
2603
  };
1854
- export type UpdateOrganizationResponses = {
2604
+ export type CreateClusterErrors = {
1855
2605
  /**
1856
- * Successfully updated. Returns updated organization details.
2606
+ * Cluster quota exceeded. Maximum number of clusters allowed in this organization is reached.
1857
2607
  */
1858
- 200: Organization;
2608
+ 402: string;
1859
2609
  };
1860
- export type UpdateOrganizationResponse = UpdateOrganizationResponses[keyof UpdateOrganizationResponses];
1861
- export type ListTokensData = {
2610
+ export type CreateClusterError = CreateClusterErrors[keyof CreateClusterErrors];
2611
+ export type CreateClusterResponses = {
2612
+ /**
2613
+ * Successfully created. Returns created Cluster ID.
2614
+ */
2615
+ 200: string;
2616
+ };
2617
+ export type CreateClusterResponse = CreateClusterResponses[keyof CreateClusterResponses];
2618
+ export type DeleteClusterData = {
1862
2619
  body?: never;
1863
- path?: never;
2620
+ path: {
2621
+ /**
2622
+ * Unique identifier of the cluster. UUID v4 string in canonical form
2623
+ */
2624
+ cluster_id: string;
2625
+ };
1864
2626
  query?: never;
1865
- url: '/tokens';
2627
+ url: '/clusters/{cluster_id}';
1866
2628
  };
1867
- export type ListTokensErrors = {
2629
+ export type DeleteClusterErrors = {
1868
2630
  /**
1869
- * Not authenticated
2631
+ * Cluster not found; it does not exist or has already been deleted.
1870
2632
  */
1871
- 401: unknown;
1872
- };
1873
- export type ListTokensResponses = {
2633
+ 404: unknown;
1874
2634
  /**
1875
- * Returns a list of access token details with masked secrets.
2635
+ * 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.
1876
2636
  */
1877
- 200: Array<Token>;
1878
- };
1879
- export type ListTokensResponse = ListTokensResponses[keyof ListTokensResponses];
1880
- export type CreateTokenData = {
1881
- body: TokenCreateInput;
1882
- path?: never;
1883
- query?: never;
1884
- url: '/tokens';
1885
- };
1886
- export type CreateTokenErrors = {
2637
+ 409: string;
1887
2638
  /**
1888
- * Not authenticated
2639
+ * Transient failure tearing down the cluster; retry the request.
1889
2640
  */
1890
- 401: unknown;
2641
+ 503: unknown;
1891
2642
  };
1892
- export type CreateTokenResponses = {
2643
+ export type DeleteClusterError = DeleteClusterErrors[keyof DeleteClusterErrors];
2644
+ export type DeleteClusterResponses = {
1893
2645
  /**
1894
- * Successfully created. Returns created token details with unmasked/raw secret.
2646
+ * Successfully deleted. The cluster has been torn down.
1895
2647
  */
1896
- 200: Token;
2648
+ 200: string;
1897
2649
  };
1898
- export type CreateTokenResponse = CreateTokenResponses[keyof CreateTokenResponses];
1899
- export type DeleteTokenData = {
2650
+ export type DeleteClusterResponse = DeleteClusterResponses[keyof DeleteClusterResponses];
2651
+ export type GetClusterData = {
1900
2652
  body?: never;
1901
2653
  path: {
1902
2654
  /**
1903
- * Generated unique identifier of the access token.
2655
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1904
2656
  */
1905
- token_id: string;
2657
+ cluster_id: string;
1906
2658
  };
1907
2659
  query?: never;
1908
- url: '/tokens/{token_id}';
2660
+ url: '/clusters/{cluster_id}';
1909
2661
  };
1910
- export type DeleteTokenResponses = {
2662
+ export type GetClusterResponses = {
1911
2663
  /**
1912
- * Successfully deleted.
2664
+ * Returns a single object containing cluster details.
1913
2665
  */
1914
- 200: unknown;
2666
+ 200: Cluster;
1915
2667
  };
1916
- export type GetTokenData = {
1917
- body?: never;
2668
+ export type GetClusterResponse = GetClusterResponses[keyof GetClusterResponses];
2669
+ export type UpdateClusterData = {
2670
+ body: ClusterUpdateInput;
1918
2671
  path: {
1919
2672
  /**
1920
- * Generated unique identifier of the access token.
2673
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1921
2674
  */
1922
- token_id: string;
2675
+ cluster_id: string;
1923
2676
  };
1924
2677
  query?: never;
1925
- url: '/tokens/{token_id}';
2678
+ url: '/clusters/{cluster_id}';
1926
2679
  };
1927
- export type GetTokenErrors = {
2680
+ export type UpdateClusterErrors = {
1928
2681
  /**
1929
- * Not authenticated
2682
+ * 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
2683
  */
1931
- 401: unknown;
2684
+ 409: string;
1932
2685
  };
1933
- export type GetTokenResponses = {
2686
+ export type UpdateClusterError = UpdateClusterErrors[keyof UpdateClusterErrors];
2687
+ export type UpdateClusterResponses = {
1934
2688
  /**
1935
- * Returns access token details with masked secret.
2689
+ * Successfully updated. Returns updated cluster details.
1936
2690
  */
1937
- 200: Token;
2691
+ 200: Cluster;
1938
2692
  };
1939
- export type GetTokenResponse = GetTokenResponses[keyof GetTokenResponses];
1940
- export type UpdateTokenData = {
1941
- body: TokenUpdateInput;
2693
+ export type UpdateClusterResponse = UpdateClusterResponses[keyof UpdateClusterResponses];
2694
+ export type GetJoinInformationData = {
2695
+ body?: never;
1942
2696
  path: {
1943
2697
  /**
1944
- * Generated unique identifier of the access token.
2698
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1945
2699
  */
1946
- token_id: string;
2700
+ cluster_id: string;
1947
2701
  };
1948
2702
  query?: never;
1949
- url: '/tokens/{token_id}';
2703
+ url: '/clusters/{cluster_id}/join_information';
1950
2704
  };
1951
- export type UpdateTokenErrors = {
2705
+ export type GetJoinInformationErrors = {
1952
2706
  /**
1953
2707
  * Not authenticated
1954
2708
  */
1955
2709
  401: unknown;
2710
+ /**
2711
+ * 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.
2712
+ */
2713
+ 409: string;
1956
2714
  };
1957
- export type UpdateTokenResponses = {
2715
+ export type GetJoinInformationError = GetJoinInformationErrors[keyof GetJoinInformationErrors];
2716
+ export type GetJoinInformationResponses = {
1958
2717
  /**
1959
- * Successfully updated. Returns updated token details with masked secret.
2718
+ * An object of cluster join information
1960
2719
  */
1961
- 200: Token;
2720
+ 200: ClusterJoinInformation;
1962
2721
  };
1963
- export type UpdateTokenResponse = UpdateTokenResponses[keyof UpdateTokenResponses];
1964
- export type RegenerateTokenData = {
2722
+ export type GetJoinInformationResponse = GetJoinInformationResponses[keyof GetJoinInformationResponses];
2723
+ export type GetUsageData = {
1965
2724
  body?: never;
1966
- path: {
2725
+ path?: never;
2726
+ query?: {
1967
2727
  /**
1968
- * Generated unique identifier of the access token.
2728
+ * 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
2729
  */
1970
- token_id: string;
2730
+ granularity?: 'hourly' | 'daily' | 'monthly';
1971
2731
  };
1972
- query?: never;
1973
- url: '/tokens/{token_id}/secret';
2732
+ url: '/billing/usage';
1974
2733
  };
1975
- export type RegenerateTokenErrors = {
2734
+ export type GetUsageErrors = {
1976
2735
  /**
1977
2736
  * Not authenticated
1978
2737
  */
1979
2738
  401: unknown;
1980
2739
  };
1981
- export type RegenerateTokenResponses = {
2740
+ export type GetUsageResponses = {
1982
2741
  /**
1983
- * Successfully updated. Returns updated token details with unmasked / raw secret.
2742
+ * Usage data with facets for filtering
1984
2743
  */
1985
- 200: Token;
2744
+ 200: UsageResponse;
1986
2745
  };
1987
- export type RegenerateTokenResponse = RegenerateTokenResponses[keyof RegenerateTokenResponses];
1988
- export type ListUserOrganizationsData = {
2746
+ export type GetUsageResponse = GetUsageResponses[keyof GetUsageResponses];
2747
+ export type GetPaymentMethodSecretData = {
1989
2748
  body?: never;
1990
- path: {
1991
- /**
1992
- * User email address.
1993
- */
1994
- email: string;
1995
- };
2749
+ path?: never;
1996
2750
  query?: never;
1997
- url: '/users/organizations/{email}';
2751
+ url: '/billing/payment-method';
1998
2752
  };
1999
- export type ListUserOrganizationsResponses = {
2753
+ export type GetPaymentMethodSecretResponses = {
2000
2754
  /**
2001
- * An array of organizations the user belongs to.
2755
+ * 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.
2756
+ *
2002
2757
  */
2003
- 200: Array<{
2004
- /**
2005
- * Unique identifier of the organization. UUID v4 string in canonical form
2006
- */
2007
- realm?: string;
2758
+ 200: {
2008
2759
  /**
2009
- * Human-readable name of the organization
2760
+ * The client secret.
2010
2761
  */
2011
- displayName?: string;
2012
- }>;
2762
+ id?: string;
2763
+ };
2013
2764
  };
2014
- export type ListUserOrganizationsResponse = ListUserOrganizationsResponses[keyof ListUserOrganizationsResponses];
2015
- export type ListUsersData = {
2765
+ export type GetPaymentMethodSecretResponse = GetPaymentMethodSecretResponses[keyof GetPaymentMethodSecretResponses];
2766
+ export type ListPaymentMethodsData = {
2016
2767
  body?: never;
2017
2768
  path?: never;
2018
2769
  query?: never;
2019
- url: '/users';
2770
+ url: '/billing/payment-methods';
2020
2771
  };
2021
- export type ListUsersErrors = {
2772
+ export type ListPaymentMethodsErrors = {
2022
2773
  /**
2023
2774
  * Not authenticated
2024
2775
  */
2025
2776
  401: unknown;
2026
2777
  };
2027
- export type ListUsersResponses = {
2778
+ export type ListPaymentMethodsResponses = {
2028
2779
  /**
2029
- * An array of users
2780
+ * An array of payment methods.
2030
2781
  */
2031
- 200: Array<User>;
2782
+ 200: Array<PaymentMethod>;
2032
2783
  };
2033
- export type ListUsersResponse = ListUsersResponses[keyof ListUsersResponses];
2034
- export type CreateUserData = {
2035
- body: UserCreateInput;
2036
- path?: never;
2784
+ export type ListPaymentMethodsResponse = ListPaymentMethodsResponses[keyof ListPaymentMethodsResponses];
2785
+ export type SetDefaultPaymentMethodData = {
2786
+ body?: never;
2787
+ path: {
2788
+ /**
2789
+ * Stripe payment method identifier.
2790
+ */
2791
+ paymentMethodId: string;
2792
+ };
2037
2793
  query?: never;
2038
- url: '/users';
2794
+ url: '/billing/payment-methods/{paymentMethodId}/default';
2039
2795
  };
2040
- export type CreateUserResponses = {
2796
+ export type SetDefaultPaymentMethodErrors = {
2041
2797
  /**
2042
- * Successfully created. Returns created user details.
2798
+ * The bank transfer payment method cannot be set as the default.
2043
2799
  */
2044
- 200: User;
2800
+ 400: unknown;
2801
+ /**
2802
+ * Not authenticated
2803
+ */
2804
+ 401: unknown;
2805
+ /**
2806
+ * Payment method not found.
2807
+ */
2808
+ 404: unknown;
2045
2809
  };
2046
- export type CreateUserResponse = CreateUserResponses[keyof CreateUserResponses];
2047
- export type DeleteUserData = {
2810
+ export type SetDefaultPaymentMethodResponses = {
2811
+ /**
2812
+ * Default payment method updated.
2813
+ */
2814
+ 204: void;
2815
+ };
2816
+ export type SetDefaultPaymentMethodResponse = SetDefaultPaymentMethodResponses[keyof SetDefaultPaymentMethodResponses];
2817
+ export type DeletePaymentMethodData = {
2048
2818
  body?: never;
2049
2819
  path: {
2050
2820
  /**
2051
- * Unique user identifier. UUID v4 string in canonical form
2821
+ * Stripe payment method identifier.
2052
2822
  */
2053
- user_id: string;
2823
+ paymentMethodId: string;
2054
2824
  };
2055
2825
  query?: never;
2056
- url: '/users/{user_id}';
2826
+ url: '/billing/payment-methods/{paymentMethodId}';
2057
2827
  };
2058
- export type DeleteUserErrors = {
2828
+ export type DeletePaymentMethodErrors = {
2059
2829
  /**
2060
- * Deleting own user is not allowed. Delete your organization instead.
2830
+ * The bank transfer payment method cannot be removed.
2061
2831
  */
2062
2832
  400: unknown;
2063
2833
  /**
2064
2834
  * Not authenticated
2065
2835
  */
2066
2836
  401: unknown;
2837
+ /**
2838
+ * Payment method not found.
2839
+ */
2840
+ 404: unknown;
2841
+ /**
2842
+ * Cannot delete the only remaining payment method.
2843
+ */
2844
+ 409: unknown;
2067
2845
  };
2068
- export type DeleteUserResponses = {
2846
+ export type DeletePaymentMethodResponses = {
2069
2847
  /**
2070
- * User profile information
2848
+ * Payment method deleted.
2071
2849
  */
2072
- 200: User;
2850
+ 204: void;
2073
2851
  };
2074
- export type DeleteUserResponse = DeleteUserResponses[keyof DeleteUserResponses];
2075
- export type GetUserData = {
2852
+ export type DeletePaymentMethodResponse = DeletePaymentMethodResponses[keyof DeletePaymentMethodResponses];
2853
+ export type ListInvoicesData = {
2076
2854
  body?: never;
2077
- path: {
2078
- /**
2079
- * Unique user identifier. UUID v4 string in canonical form
2080
- */
2081
- user_id: string;
2082
- };
2855
+ path?: never;
2083
2856
  query?: never;
2084
- url: '/users/{user_id}';
2857
+ url: '/billing/invoices';
2085
2858
  };
2086
- export type GetUserErrors = {
2859
+ export type ListInvoicesErrors = {
2087
2860
  /**
2088
2861
  * Not authenticated
2089
2862
  */
2090
2863
  401: unknown;
2091
2864
  };
2092
- export type GetUserResponses = {
2865
+ export type ListInvoicesResponses = {
2093
2866
  /**
2094
- * User profile information
2867
+ * An array of usage records.
2095
2868
  */
2096
- 200: User;
2869
+ 200: Array<Invoice>;
2097
2870
  };
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
- };
2871
+ export type ListInvoicesResponse = ListInvoicesResponses[keyof ListInvoicesResponses];
2872
+ export type GetContactData = {
2873
+ body?: never;
2874
+ path?: never;
2107
2875
  query?: never;
2108
- url: '/users/{user_id}';
2876
+ url: '/billing/contact';
2109
2877
  };
2110
- export type UpdateUserResponses = {
2878
+ export type GetContactResponses = {
2111
2879
  /**
2112
- * Successfully created. Returns created user details.
2880
+ * Returns a single object containing organization contact and billing address details.
2113
2881
  */
2114
- 200: User;
2882
+ 200: BillingContact;
2115
2883
  };
2116
- export type UpdateUserResponse = UpdateUserResponses[keyof UpdateUserResponses];
2117
- export type DeleteClusterPermissionsData = {
2884
+ export type GetContactResponse = GetContactResponses[keyof GetContactResponses];
2885
+ export type UpdateContactData = {
2886
+ body: BillingContact;
2887
+ path?: never;
2888
+ query?: never;
2889
+ url: '/billing/contact';
2890
+ };
2891
+ export type UpdateContactResponses = {
2892
+ /**
2893
+ * Successfully updated. Returns updated organization details.
2894
+ */
2895
+ 200: BillingContact;
2896
+ };
2897
+ export type UpdateContactResponse = UpdateContactResponses[keyof UpdateContactResponses];
2898
+ export type GetCreditsData = {
2118
2899
  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
- };
2900
+ path?: never;
2129
2901
  query?: never;
2130
- url: '/users/{user_id}/clusters/{cluster_id}';
2902
+ url: '/billing/credits';
2903
+ };
2904
+ export type GetCreditsErrors = {
2905
+ /**
2906
+ * Not authenticated
2907
+ */
2908
+ 401: unknown;
2131
2909
  };
2132
- export type DeleteClusterPermissionsResponses = {
2910
+ export type GetCreditsResponses = {
2133
2911
  /**
2134
- * Successfully removed user from the cluster. Returns updated user details.
2912
+ * An array of the applied promotional credits records.
2135
2913
  */
2136
- 200: User;
2914
+ 200: Array<BillingCredits>;
2137
2915
  };
2138
- export type DeleteClusterPermissionsResponse = DeleteClusterPermissionsResponses[keyof DeleteClusterPermissionsResponses];
2139
- export type SetClusterPermissionsData = {
2916
+ export type GetCreditsResponse = GetCreditsResponses[keyof GetCreditsResponses];
2917
+ export type RedeemCreditsData = {
2140
2918
  body: {
2141
2919
  /**
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
2920
+ * Promotional code to redeem
2153
2921
  */
2154
- cluster_id: string;
2922
+ code?: string;
2155
2923
  };
2924
+ path?: never;
2156
2925
  query?: never;
2157
- url: '/users/{user_id}/clusters/{cluster_id}';
2926
+ url: '/billing/credits';
2158
2927
  };
2159
- export type SetClusterPermissionsResponses = {
2928
+ export type RedeemCreditsErrors = {
2160
2929
  /**
2161
- * Successfully created. Returns created user details.
2930
+ * Not authenticated
2162
2931
  */
2163
- 200: User;
2932
+ 401: unknown;
2933
+ };
2934
+ export type RedeemCreditsResponses = {
2935
+ /**
2936
+ * Successfully created a new organization.
2937
+ */
2938
+ 200: unknown;
2164
2939
  };
2165
- export type SetClusterPermissionsResponse = SetClusterPermissionsResponses[keyof SetClusterPermissionsResponses];
2166
2940
  //# sourceMappingURL=types.gen.d.ts.map