@cloudfleet/sdk 0.0.1-cdd334c → 0.0.1-d06768f

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 (50) hide show
  1. package/README.md +56 -2
  2. package/dist/@tanstack/react-query.gen.d.ts +943 -0
  3. package/dist/@tanstack/react-query.gen.d.ts.map +1 -0
  4. package/dist/@tanstack/react-query.gen.js +1156 -0
  5. package/dist/@tanstack/react-query.gen.js.map +1 -0
  6. package/dist/client/client.gen.d.ts.map +1 -1
  7. package/dist/client/client.gen.js +104 -123
  8. package/dist/client/client.gen.js.map +1 -1
  9. package/dist/client/types.gen.d.ts +6 -3
  10. package/dist/client/types.gen.d.ts.map +1 -1
  11. package/dist/client/utils.gen.d.ts +7 -3
  12. package/dist/client/utils.gen.d.ts.map +1 -1
  13. package/dist/client/utils.gen.js +3 -3
  14. package/dist/client/utils.gen.js.map +1 -1
  15. package/dist/core/params.gen.js +4 -4
  16. package/dist/core/params.gen.js.map +1 -1
  17. package/dist/core/serverSentEvents.gen.d.ts +1 -1
  18. package/dist/core/serverSentEvents.gen.d.ts.map +1 -1
  19. package/dist/core/serverSentEvents.gen.js +3 -4
  20. package/dist/core/serverSentEvents.gen.js.map +1 -1
  21. package/dist/errors.d.ts +42 -0
  22. package/dist/errors.d.ts.map +1 -0
  23. package/dist/errors.js +83 -0
  24. package/dist/errors.js.map +1 -0
  25. package/dist/index.d.ts +1 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +4 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/schemas.gen.d.ts +1264 -430
  30. package/dist/schemas.gen.d.ts.map +1 -1
  31. package/dist/schemas.gen.js +2274 -519
  32. package/dist/schemas.gen.js.map +1 -1
  33. package/dist/sdk.gen.d.ts +236 -193
  34. package/dist/sdk.gen.d.ts.map +1 -1
  35. package/dist/sdk.gen.js +351 -268
  36. package/dist/sdk.gen.js.map +1 -1
  37. package/dist/services/kubernetes/api.d.ts +10 -47
  38. package/dist/services/kubernetes/api.d.ts.map +1 -1
  39. package/dist/services/kubernetes/api.js +36 -75
  40. package/dist/services/kubernetes/api.js.map +1 -1
  41. package/dist/services/kubernetes/index.d.ts.map +1 -1
  42. package/dist/services/kubernetes/index.js +36 -37
  43. package/dist/services/kubernetes/index.js.map +1 -1
  44. package/dist/types.gen.d.ts +1519 -838
  45. package/dist/types.gen.d.ts.map +1 -1
  46. package/dist/zod.gen.d.ts +3528 -1193
  47. package/dist/zod.gen.d.ts.map +1 -1
  48. package/dist/zod.gen.js +1365 -338
  49. package/dist/zod.gen.js.map +1 -1
  50. package/package.json +27 -13
package/dist/zod.gen.js CHANGED
@@ -1,6 +1,7 @@
1
1
  // This file is auto-generated by @hey-api/openapi-ts
2
2
  import * as z from 'zod';
3
3
  export const zBillingContact = z.object({
4
+ type: z.enum(['business', 'personal']),
4
5
  company: z.string().min(2).max(120).regex(/^(?!\s)(?!.*\s$)(?=.*[a-zA-ZÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ0-9])[a-zA-ZÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ0-9 -.]{2,}$/).optional(),
5
6
  address1: z.string().optional(),
6
7
  address2: z.string().optional(),
@@ -22,12 +23,17 @@ export const zBillingContact = z.object({
22
23
  'at_vat',
23
24
  'au_abn',
24
25
  'au_arn',
26
+ 'aw_tin',
27
+ 'az_tin',
25
28
  'ba_tin',
26
29
  'bb_tin',
30
+ 'bd_bin',
27
31
  'be_vat',
32
+ 'bf_ifu',
28
33
  'bg_uic',
29
34
  'bg_vat',
30
35
  'bh_vat',
36
+ 'bj_ifu',
31
37
  'bo_tin',
32
38
  'br_cnpj',
33
39
  'br_cpf',
@@ -43,9 +49,11 @@ export const zBillingContact = z.object({
43
49
  'ch_uid',
44
50
  'ch_vat',
45
51
  'cl_tin',
52
+ 'cm_niu',
46
53
  'cn_tin',
47
54
  'co_nit',
48
55
  'cr_tin',
56
+ 'cv_nif',
49
57
  'cy_vat',
50
58
  'cz_vat',
51
59
  'de_stn',
@@ -57,6 +65,7 @@ export const zBillingContact = z.object({
57
65
  'eg_tin',
58
66
  'es_cif',
59
67
  'es_vat',
68
+ 'et_tin',
60
69
  'eu_oss_vat',
61
70
  'fi_vat',
62
71
  'fr_vat',
@@ -79,11 +88,14 @@ export const zBillingContact = z.object({
79
88
  'jp_rn',
80
89
  'jp_trn',
81
90
  'ke_pin',
91
+ 'kg_tin',
82
92
  'kh_tin',
83
93
  'kr_brn',
84
94
  'kz_bin',
95
+ 'la_tin',
85
96
  'li_uid',
86
97
  'li_vat',
98
+ 'lk_vat',
87
99
  'lt_vat',
88
100
  'lu_vat',
89
101
  'lv_vat',
@@ -153,65 +165,57 @@ export const zBillingCredits = z.object({
153
165
  value_total: z.number(),
154
166
  value_remaining: z.number().optional()
155
167
  });
156
- export const zChartCreateInput = z.object({
157
- values: z.string(),
158
- version_channel: z.string().regex(/^(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/),
159
- name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
160
- namespace: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
161
- chart: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/)
162
- });
163
- export const zChart = z.object({
164
- values: z.string(),
165
- version_channel: z.string().regex(/^(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/),
166
- name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
167
- namespace: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
168
- chart: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
169
- status: z.enum([
170
- 'InstallSucceeded',
171
- 'InstallFailed',
172
- 'UpgradeSucceeded',
173
- 'UpgradeFailed',
174
- 'TestSucceeded',
175
- 'TestFailed',
176
- 'RollbackSucceeded',
177
- 'RollbackFailed',
178
- 'UninstallSucceeded',
179
- 'UninstallFailed',
180
- 'ArtifactFailed',
181
- 'DependencyNotReady',
182
- 'Progressing',
183
- 'SourceNotReady'
184
- ]),
185
- version_current: z.string(),
186
- created_at: z.string(),
187
- updated_at: z.string(),
188
- ready: z.boolean()
189
- });
190
- export const zChartUpdateInput = z.object({
191
- values: z.string(),
192
- version_channel: z.string().regex(/^(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/)
193
- });
168
+ /**
169
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
170
+ */
194
171
  export const zClusterCreateInput = z.object({
195
172
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
196
- tier: z.enum(['basic', 'pro']),
197
- region: z.enum([
198
- 'staging-1a',
199
- 'northamerica-central-1',
200
- 'europe-central-1a',
201
- 'northamerica-central-1a'
202
- ]).optional(),
203
- version_channel: z.enum([
204
- '1.x.x-cfke.x',
205
- '1.31.x-cfke.x',
206
- '1.32.x-cfke.x',
207
- '1.33.x-cfke.x'
208
- ]).optional()
173
+ tier: z.enum([
174
+ 'basic',
175
+ 'pro',
176
+ 'enterprise'
177
+ ]).optional().default('basic'),
178
+ version_channel: z.string().regex(/^(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/).optional().default('1.x.x-cfke.x'),
179
+ release_channel: z.enum([
180
+ 'rapid',
181
+ 'stable',
182
+ 'extended'
183
+ ]).optional().default('rapid'),
184
+ features: z.object({
185
+ gpu_sharing_strategy: z.enum([
186
+ 'none',
187
+ 'mps',
188
+ 'time_slicing'
189
+ ]).optional().default('none'),
190
+ gpu_max_shared_clients_per_gpu: z.int().gte(2).lte(48).optional().default(4),
191
+ cilium_socket_lb_host_namespace_only: z.boolean().optional()
192
+ }).optional().default({
193
+ gpu_sharing_strategy: 'none',
194
+ gpu_max_shared_clients_per_gpu: 4,
195
+ cilium_socket_lb_host_namespace_only: false
196
+ }),
197
+ region: z.string(),
198
+ networking: z.object({
199
+ pod_cidr: z.string().optional().default('10.244.0.0/16'),
200
+ service_cidr: z.string().optional().default('10.96.0.0/12'),
201
+ dual_stack: z.boolean().optional(),
202
+ pod_cidr_v6: z.string().optional().default('2001:db8:1:2::/48'),
203
+ service_cidr_v6: z.string().optional().default('2001:db8:1:1::/112')
204
+ }).optional().default({
205
+ pod_cidr: '10.244.0.0/16',
206
+ service_cidr: '10.96.0.0/12',
207
+ dual_stack: false,
208
+ pod_cidr_v6: '2001:db8:1:2::/48',
209
+ service_cidr_v6: '2001:db8:1:1::/112'
210
+ })
209
211
  });
210
212
  export const zClusterJoinInformation = z.object({
211
213
  certificate_authority: z.string(),
212
214
  endpoint: z.url(),
213
215
  cluster_dns: z.string(),
216
+ pod_cidr: z.string(),
214
217
  auth_key: z.string(),
218
+ login_server: z.string(),
215
219
  bootstrap_token: z.string(),
216
220
  versions: z.object({
217
221
  kubernetes: z.string(),
@@ -225,100 +229,974 @@ export const zClusterJoinInformation = z.object({
225
229
  gcp_workload_identity_provider: z.string()
226
230
  })
227
231
  });
232
+ /**
233
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
234
+ */
228
235
  export const zCluster = z.object({
229
236
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
230
- tier: z.enum(['basic', 'pro']),
231
- region: z.enum([
232
- 'staging-1a',
233
- 'northamerica-central-1',
234
- 'europe-central-1a',
235
- 'northamerica-central-1a'
236
- ]).optional(),
237
+ tier: z.enum([
238
+ 'basic',
239
+ 'pro',
240
+ 'enterprise'
241
+ ]).default('basic'),
242
+ version_channel: z.string().regex(/^(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/).default('1.x.x-cfke.x'),
243
+ release_channel: z.enum([
244
+ 'rapid',
245
+ 'stable',
246
+ 'extended'
247
+ ]).default('rapid'),
248
+ features: z.object({
249
+ gpu_sharing_strategy: z.enum([
250
+ 'none',
251
+ 'mps',
252
+ 'time_slicing'
253
+ ]).default('none'),
254
+ gpu_max_shared_clients_per_gpu: z.int().gte(2).lte(48).default(4),
255
+ cilium_socket_lb_host_namespace_only: z.boolean()
256
+ }).default({
257
+ gpu_sharing_strategy: 'none',
258
+ gpu_max_shared_clients_per_gpu: 4,
259
+ cilium_socket_lb_host_namespace_only: false
260
+ }),
261
+ region: z.string(),
262
+ networking: z.object({
263
+ pod_cidr: z.string().default('10.244.0.0/16'),
264
+ service_cidr: z.string().default('10.96.0.0/12'),
265
+ dual_stack: z.boolean(),
266
+ pod_cidr_v6: z.string().default('2001:db8:1:2::/48'),
267
+ service_cidr_v6: z.string().default('2001:db8:1:1::/112')
268
+ }).default({
269
+ pod_cidr: '10.244.0.0/16',
270
+ service_cidr: '10.96.0.0/12',
271
+ dual_stack: false,
272
+ pod_cidr_v6: '2001:db8:1:2::/48',
273
+ service_cidr_v6: '2001:db8:1:1::/112'
274
+ }),
237
275
  id: z.uuid(),
238
276
  status: z.enum([
239
- 'active',
240
- 'disabled',
241
- 'deleted',
242
277
  'creating',
243
278
  'deployed',
244
- 'failed',
245
- 'updating'
279
+ 'updating',
280
+ 'disabled'
246
281
  ]),
247
282
  endpoint: z.union([
248
283
  z.url(),
249
284
  z.enum([''])
250
285
  ]).optional(),
286
+ endpoint_public: z.union([
287
+ z.url(),
288
+ z.enum([''])
289
+ ]).optional(),
251
290
  certificate_ca: z.string().optional(),
252
291
  version_current: z.string().optional(),
253
292
  created_at: z.string().optional(),
254
293
  updated_at: z.string().optional(),
255
- ready: z.boolean().optional(),
256
- version_channel: z.string().regex(/^(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/).optional()
294
+ ready: z.boolean()
257
295
  });
296
+ /**
297
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
298
+ */
258
299
  export const zClusterUpdateInput = z.object({
259
- name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/).optional(),
260
- tier: z.enum(['basic', 'pro']),
261
- version_channel: z.string().regex(/^(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/).optional()
300
+ name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
301
+ tier: z.enum([
302
+ 'basic',
303
+ 'pro',
304
+ 'enterprise'
305
+ ]).optional().default('basic'),
306
+ version_channel: z.string().regex(/^(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/).optional().default('1.x.x-cfke.x'),
307
+ release_channel: z.enum([
308
+ 'rapid',
309
+ 'stable',
310
+ 'extended'
311
+ ]).optional().default('rapid'),
312
+ features: z.object({
313
+ gpu_sharing_strategy: z.enum([
314
+ 'none',
315
+ 'mps',
316
+ 'time_slicing'
317
+ ]).optional().default('none'),
318
+ gpu_max_shared_clients_per_gpu: z.int().gte(2).lte(48).optional().default(4),
319
+ cilium_socket_lb_host_namespace_only: z.boolean().optional()
320
+ }).optional().default({
321
+ gpu_sharing_strategy: 'none',
322
+ gpu_max_shared_clients_per_gpu: 4,
323
+ cilium_socket_lb_host_namespace_only: false
324
+ })
262
325
  });
326
+ export const zFeedbackCreateInput = z.object({
327
+ sentiment: z.enum([
328
+ 'positive',
329
+ 'neutral',
330
+ 'negative'
331
+ ]),
332
+ message: z.string().min(1).max(2000),
333
+ context: z.string().max(2000).optional(),
334
+ source: z.enum([
335
+ 'cli',
336
+ 'mcp',
337
+ 'plugin',
338
+ 'console',
339
+ 'api'
340
+ ]).optional().default('api'),
341
+ client: z.string().max(100).optional()
342
+ });
343
+ export const zFeedback = z.object({
344
+ id: z.string()
345
+ });
346
+ /**
347
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
348
+ */
263
349
  export const zFleetCreateInput = z.object({
264
350
  limits: z.object({
265
- cpu: z.number().gte(0)
351
+ cpu: z.int().gte(0).lte(100000).optional()
266
352
  }).optional(),
267
353
  gcp: z.object({
268
- enabled: z.boolean().optional().default(true),
269
- project: z.string()
354
+ enabled: z.boolean(),
355
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
270
356
  }).optional(),
271
357
  hetzner: z.object({
272
- enabled: z.boolean().optional().default(true),
273
- apiKey: z.string()
358
+ enabled: z.boolean(),
359
+ apiKey: z.string().length(64).regex(/^([A-Za-z0-9]{64}|\*{64})$/).optional()
274
360
  }).optional(),
275
361
  aws: z.object({
276
- enabled: z.boolean().optional().default(true),
277
- controllerRoleArn: z.string()
362
+ enabled: z.boolean(),
363
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
278
364
  }).optional(),
365
+ constraints: z.object({
366
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).optional().default(['on-demand', 'spot']),
367
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).optional().default(['amd64']),
368
+ 'cfke.io/instance-family': z.array(z.enum([
369
+ 'a1',
370
+ 'a2',
371
+ 'a3',
372
+ 'a4',
373
+ 'c1',
374
+ 'c2',
375
+ 'c2d',
376
+ 'c3',
377
+ 'c3d',
378
+ 'c4',
379
+ 'c4a',
380
+ 'c4d',
381
+ 'c5',
382
+ 'c5a',
383
+ 'c5ad',
384
+ 'c5d',
385
+ 'c5n',
386
+ 'c6a',
387
+ 'c6g',
388
+ 'c6gd',
389
+ 'c6gn',
390
+ 'c6i',
391
+ 'c6id',
392
+ 'c6in',
393
+ 'c7a',
394
+ 'c7g',
395
+ 'c7gd',
396
+ 'c7gn',
397
+ 'c7i',
398
+ 'c7i-flex',
399
+ 'c8g',
400
+ 'c8gd',
401
+ 'cax',
402
+ 'ccx',
403
+ 'cpx',
404
+ 'cx',
405
+ 'd2',
406
+ 'd3',
407
+ 'd3en',
408
+ 'dl1',
409
+ 'dl2q',
410
+ 'e2',
411
+ 'f1',
412
+ 'f2',
413
+ 'g1',
414
+ 'g2',
415
+ 'g4ad',
416
+ 'g4dn',
417
+ 'g5',
418
+ 'g5g',
419
+ 'g6',
420
+ 'g6e',
421
+ 'gr6',
422
+ 'h1',
423
+ 'h3',
424
+ 'hpc6a',
425
+ 'hpc6id',
426
+ 'hpc7a',
427
+ 'hpc7g',
428
+ 'i2',
429
+ 'i3',
430
+ 'i3en',
431
+ 'i4g',
432
+ 'i4i',
433
+ 'i7i',
434
+ 'i7ie',
435
+ 'i8g',
436
+ 'im4gn',
437
+ 'inf1',
438
+ 'inf2',
439
+ 'is4gen',
440
+ 'm1',
441
+ 'm2',
442
+ 'm3',
443
+ 'm4',
444
+ 'm5',
445
+ 'm5a',
446
+ 'm5ad',
447
+ 'm5d',
448
+ 'm5dn',
449
+ 'm5n',
450
+ 'm5zn',
451
+ 'm6a',
452
+ 'm6g',
453
+ 'm6gd',
454
+ 'm6i',
455
+ 'm6id',
456
+ 'm6idn',
457
+ 'm6in',
458
+ 'm7a',
459
+ 'm7g',
460
+ 'm7gd',
461
+ 'm7i',
462
+ 'm7i-flex',
463
+ 'm8g',
464
+ 'm8gd',
465
+ 'n1',
466
+ 'n2',
467
+ 'n2d',
468
+ 'n4',
469
+ 'p3',
470
+ 'p3dn',
471
+ 'p4d',
472
+ 'p4de',
473
+ 'p5',
474
+ 'p5e',
475
+ 'p5en',
476
+ 'p6-b200',
477
+ 'r3',
478
+ 'r4',
479
+ 'r5',
480
+ 'r5a',
481
+ 'r5ad',
482
+ 'r5b',
483
+ 'r5d',
484
+ 'r5dn',
485
+ 'r5n',
486
+ 'r6a',
487
+ 'r6g',
488
+ 'r6gd',
489
+ 'r6i',
490
+ 'r6id',
491
+ 'r6idn',
492
+ 'r6in',
493
+ 'r7a',
494
+ 'r7g',
495
+ 'r7gd',
496
+ 'r7i',
497
+ 'r7iz',
498
+ 'r8g',
499
+ 'r8gd',
500
+ 't2',
501
+ 't2a',
502
+ 't2d',
503
+ 't3',
504
+ 't3a',
505
+ 't4g',
506
+ 'trn1',
507
+ 'trn1n',
508
+ 'u-3tb1',
509
+ 'u-6tb1',
510
+ 'u7i-12tb',
511
+ 'u7i-6tb',
512
+ 'u7i-8tb',
513
+ 'u7in-16tb',
514
+ 'u7in-24tb',
515
+ 'u7in-32tb',
516
+ 'vt1',
517
+ 'x1',
518
+ 'x1e',
519
+ 'x2gd',
520
+ 'x2idn',
521
+ 'x2iedn',
522
+ 'x2iezn',
523
+ 'x4',
524
+ 'x8g',
525
+ 'z1d',
526
+ 'z3'
527
+ ])).optional().default([]),
528
+ 'topology.kubernetes.io/region': z.array(z.enum([
529
+ 'africa-south1',
530
+ 'ap-northeast-1',
531
+ 'ap-northeast-2',
532
+ 'ap-northeast-3',
533
+ 'ap-south-1',
534
+ 'ap-southeast-1',
535
+ 'ap-southeast-2',
536
+ 'ash',
537
+ 'asia-east1',
538
+ 'asia-east2',
539
+ 'asia-northeast1',
540
+ 'asia-northeast2',
541
+ 'asia-northeast3',
542
+ 'asia-south1',
543
+ 'asia-south2',
544
+ 'asia-southeast1',
545
+ 'asia-southeast2',
546
+ 'australia-southeast1',
547
+ 'australia-southeast2',
548
+ 'ca-central-1',
549
+ 'eu-central-1',
550
+ 'eu-central-2',
551
+ 'eu-north-1',
552
+ 'eu-west-1',
553
+ 'eu-west-2',
554
+ 'eu-west-3',
555
+ 'europe-central2',
556
+ 'europe-north1',
557
+ 'europe-southwest1',
558
+ 'europe-west1',
559
+ 'europe-west10',
560
+ 'europe-west12',
561
+ 'europe-west2',
562
+ 'europe-west3',
563
+ 'europe-west4',
564
+ 'europe-west6',
565
+ 'europe-west8',
566
+ 'europe-west9',
567
+ 'fsn1',
568
+ 'hel1',
569
+ 'hil',
570
+ 'me-central1',
571
+ 'me-central2',
572
+ 'me-west1',
573
+ 'nbg1',
574
+ 'northamerica-northeast1',
575
+ 'northamerica-northeast2',
576
+ 'sa-east-1',
577
+ 'sin',
578
+ 'southamerica-east1',
579
+ 'southamerica-west1',
580
+ 'us-central1',
581
+ 'us-east-1',
582
+ 'us-east-2',
583
+ 'us-east1',
584
+ 'us-east4',
585
+ 'us-east5',
586
+ 'us-south1',
587
+ 'us-west-1',
588
+ 'us-west-2',
589
+ 'us-west1',
590
+ 'us-west2',
591
+ 'us-west3',
592
+ 'us-west4'
593
+ ])).optional().default([])
594
+ }).optional().default({
595
+ 'karpenter.sh/capacity-type': ['on-demand', 'spot'],
596
+ 'kubernetes.io/arch': ['amd64'],
597
+ 'cfke.io/instance-family': [],
598
+ 'topology.kubernetes.io/region': []
599
+ }),
600
+ scalingProfile: z.enum(['aggressive', 'conservative']).optional().default('conservative'),
601
+ taints: z.array(z.object({
602
+ key: z.string(),
603
+ value: z.string().max(63).regex(/^([A-Za-z0-9]([-A-Za-z0-9_.]*[A-Za-z0-9])?)?$/).optional(),
604
+ effect: z.enum([
605
+ 'NoSchedule',
606
+ 'PreferNoSchedule',
607
+ 'NoExecute'
608
+ ])
609
+ })).max(50).optional().default([]),
279
610
  id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/)
280
611
  });
612
+ /**
613
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
614
+ */
281
615
  export const zFleet = z.object({
282
616
  limits: z.object({
283
- cpu: z.number().gte(0)
617
+ cpu: z.int().gte(0).lte(100000).optional()
284
618
  }).optional(),
285
619
  gcp: z.object({
286
- enabled: z.boolean().optional().default(true),
287
- project: z.string()
620
+ enabled: z.boolean(),
621
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
288
622
  }).optional(),
289
623
  hetzner: z.object({
290
- enabled: z.boolean().optional().default(true),
291
- apiKey: z.string()
624
+ enabled: z.boolean(),
625
+ apiKey: z.string().regex(/^\*{64}$/).optional()
292
626
  }).optional(),
293
627
  aws: z.object({
294
- enabled: z.boolean().optional().default(true),
295
- controllerRoleArn: z.string()
628
+ enabled: z.boolean(),
629
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
296
630
  }).optional(),
297
- id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/)
631
+ constraints: z.object({
632
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).default(['on-demand', 'spot']),
633
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).default(['amd64']),
634
+ 'cfke.io/instance-family': z.array(z.enum([
635
+ 'a1',
636
+ 'a2',
637
+ 'a3',
638
+ 'a4',
639
+ 'c1',
640
+ 'c2',
641
+ 'c2d',
642
+ 'c3',
643
+ 'c3d',
644
+ 'c4',
645
+ 'c4a',
646
+ 'c4d',
647
+ 'c5',
648
+ 'c5a',
649
+ 'c5ad',
650
+ 'c5d',
651
+ 'c5n',
652
+ 'c6a',
653
+ 'c6g',
654
+ 'c6gd',
655
+ 'c6gn',
656
+ 'c6i',
657
+ 'c6id',
658
+ 'c6in',
659
+ 'c7a',
660
+ 'c7g',
661
+ 'c7gd',
662
+ 'c7gn',
663
+ 'c7i',
664
+ 'c7i-flex',
665
+ 'c8g',
666
+ 'c8gd',
667
+ 'cax',
668
+ 'ccx',
669
+ 'cpx',
670
+ 'cx',
671
+ 'd2',
672
+ 'd3',
673
+ 'd3en',
674
+ 'dl1',
675
+ 'dl2q',
676
+ 'e2',
677
+ 'f1',
678
+ 'f2',
679
+ 'g1',
680
+ 'g2',
681
+ 'g4ad',
682
+ 'g4dn',
683
+ 'g5',
684
+ 'g5g',
685
+ 'g6',
686
+ 'g6e',
687
+ 'gr6',
688
+ 'h1',
689
+ 'h3',
690
+ 'hpc6a',
691
+ 'hpc6id',
692
+ 'hpc7a',
693
+ 'hpc7g',
694
+ 'i2',
695
+ 'i3',
696
+ 'i3en',
697
+ 'i4g',
698
+ 'i4i',
699
+ 'i7i',
700
+ 'i7ie',
701
+ 'i8g',
702
+ 'im4gn',
703
+ 'inf1',
704
+ 'inf2',
705
+ 'is4gen',
706
+ 'm1',
707
+ 'm2',
708
+ 'm3',
709
+ 'm4',
710
+ 'm5',
711
+ 'm5a',
712
+ 'm5ad',
713
+ 'm5d',
714
+ 'm5dn',
715
+ 'm5n',
716
+ 'm5zn',
717
+ 'm6a',
718
+ 'm6g',
719
+ 'm6gd',
720
+ 'm6i',
721
+ 'm6id',
722
+ 'm6idn',
723
+ 'm6in',
724
+ 'm7a',
725
+ 'm7g',
726
+ 'm7gd',
727
+ 'm7i',
728
+ 'm7i-flex',
729
+ 'm8g',
730
+ 'm8gd',
731
+ 'n1',
732
+ 'n2',
733
+ 'n2d',
734
+ 'n4',
735
+ 'p3',
736
+ 'p3dn',
737
+ 'p4d',
738
+ 'p4de',
739
+ 'p5',
740
+ 'p5e',
741
+ 'p5en',
742
+ 'p6-b200',
743
+ 'r3',
744
+ 'r4',
745
+ 'r5',
746
+ 'r5a',
747
+ 'r5ad',
748
+ 'r5b',
749
+ 'r5d',
750
+ 'r5dn',
751
+ 'r5n',
752
+ 'r6a',
753
+ 'r6g',
754
+ 'r6gd',
755
+ 'r6i',
756
+ 'r6id',
757
+ 'r6idn',
758
+ 'r6in',
759
+ 'r7a',
760
+ 'r7g',
761
+ 'r7gd',
762
+ 'r7i',
763
+ 'r7iz',
764
+ 'r8g',
765
+ 'r8gd',
766
+ 't2',
767
+ 't2a',
768
+ 't2d',
769
+ 't3',
770
+ 't3a',
771
+ 't4g',
772
+ 'trn1',
773
+ 'trn1n',
774
+ 'u-3tb1',
775
+ 'u-6tb1',
776
+ 'u7i-12tb',
777
+ 'u7i-6tb',
778
+ 'u7i-8tb',
779
+ 'u7in-16tb',
780
+ 'u7in-24tb',
781
+ 'u7in-32tb',
782
+ 'vt1',
783
+ 'x1',
784
+ 'x1e',
785
+ 'x2gd',
786
+ 'x2idn',
787
+ 'x2iedn',
788
+ 'x2iezn',
789
+ 'x4',
790
+ 'x8g',
791
+ 'z1d',
792
+ 'z3'
793
+ ])).optional().default([]),
794
+ 'topology.kubernetes.io/region': z.array(z.enum([
795
+ 'africa-south1',
796
+ 'ap-northeast-1',
797
+ 'ap-northeast-2',
798
+ 'ap-northeast-3',
799
+ 'ap-south-1',
800
+ 'ap-southeast-1',
801
+ 'ap-southeast-2',
802
+ 'ash',
803
+ 'asia-east1',
804
+ 'asia-east2',
805
+ 'asia-northeast1',
806
+ 'asia-northeast2',
807
+ 'asia-northeast3',
808
+ 'asia-south1',
809
+ 'asia-south2',
810
+ 'asia-southeast1',
811
+ 'asia-southeast2',
812
+ 'australia-southeast1',
813
+ 'australia-southeast2',
814
+ 'ca-central-1',
815
+ 'eu-central-1',
816
+ 'eu-central-2',
817
+ 'eu-north-1',
818
+ 'eu-west-1',
819
+ 'eu-west-2',
820
+ 'eu-west-3',
821
+ 'europe-central2',
822
+ 'europe-north1',
823
+ 'europe-southwest1',
824
+ 'europe-west1',
825
+ 'europe-west10',
826
+ 'europe-west12',
827
+ 'europe-west2',
828
+ 'europe-west3',
829
+ 'europe-west4',
830
+ 'europe-west6',
831
+ 'europe-west8',
832
+ 'europe-west9',
833
+ 'fsn1',
834
+ 'hel1',
835
+ 'hil',
836
+ 'me-central1',
837
+ 'me-central2',
838
+ 'me-west1',
839
+ 'nbg1',
840
+ 'northamerica-northeast1',
841
+ 'northamerica-northeast2',
842
+ 'sa-east-1',
843
+ 'sin',
844
+ 'southamerica-east1',
845
+ 'southamerica-west1',
846
+ 'us-central1',
847
+ 'us-east-1',
848
+ 'us-east-2',
849
+ 'us-east1',
850
+ 'us-east4',
851
+ 'us-east5',
852
+ 'us-south1',
853
+ 'us-west-1',
854
+ 'us-west-2',
855
+ 'us-west1',
856
+ 'us-west2',
857
+ 'us-west3',
858
+ 'us-west4'
859
+ ])).optional().default([])
860
+ }).default({
861
+ 'karpenter.sh/capacity-type': ['on-demand', 'spot'],
862
+ 'kubernetes.io/arch': ['amd64'],
863
+ 'cfke.io/instance-family': [],
864
+ 'topology.kubernetes.io/region': []
865
+ }),
866
+ scalingProfile: z.enum(['aggressive', 'conservative']).default('conservative'),
867
+ taints: z.array(z.object({
868
+ key: z.string(),
869
+ value: z.string().max(63).regex(/^([A-Za-z0-9]([-A-Za-z0-9_.]*[A-Za-z0-9])?)?$/).optional(),
870
+ effect: z.enum([
871
+ 'NoSchedule',
872
+ 'PreferNoSchedule',
873
+ 'NoExecute'
874
+ ])
875
+ })).max(50).default([]),
876
+ id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
877
+ ready: z.boolean(),
878
+ status_message: z.string().optional(),
879
+ created_at: z.string(),
880
+ updated_at: z.string()
298
881
  });
882
+ /**
883
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
884
+ */
299
885
  export const zFleetUpdateInput = z.object({
300
886
  limits: z.object({
301
- cpu: z.number().gte(0)
887
+ cpu: z.int().gte(0).lte(100000).optional()
302
888
  }).optional(),
303
889
  gcp: z.object({
304
- enabled: z.boolean().optional().default(true),
305
- project: z.string()
890
+ enabled: z.boolean(),
891
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
306
892
  }).optional(),
307
893
  hetzner: z.object({
308
- enabled: z.boolean().optional().default(true),
309
- apiKey: z.string()
894
+ enabled: z.boolean(),
895
+ apiKey: z.string().length(64).regex(/^([A-Za-z0-9]{64}|\*{64})$/).optional()
310
896
  }).optional(),
311
897
  aws: z.object({
312
- enabled: z.boolean().optional().default(true),
313
- controllerRoleArn: z.string()
314
- }).optional()
898
+ enabled: z.boolean(),
899
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
900
+ }).optional(),
901
+ constraints: z.object({
902
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).optional().default(['on-demand', 'spot']),
903
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).optional().default(['amd64']),
904
+ 'cfke.io/instance-family': z.array(z.enum([
905
+ 'a1',
906
+ 'a2',
907
+ 'a3',
908
+ 'a4',
909
+ 'c1',
910
+ 'c2',
911
+ 'c2d',
912
+ 'c3',
913
+ 'c3d',
914
+ 'c4',
915
+ 'c4a',
916
+ 'c4d',
917
+ 'c5',
918
+ 'c5a',
919
+ 'c5ad',
920
+ 'c5d',
921
+ 'c5n',
922
+ 'c6a',
923
+ 'c6g',
924
+ 'c6gd',
925
+ 'c6gn',
926
+ 'c6i',
927
+ 'c6id',
928
+ 'c6in',
929
+ 'c7a',
930
+ 'c7g',
931
+ 'c7gd',
932
+ 'c7gn',
933
+ 'c7i',
934
+ 'c7i-flex',
935
+ 'c8g',
936
+ 'c8gd',
937
+ 'cax',
938
+ 'ccx',
939
+ 'cpx',
940
+ 'cx',
941
+ 'd2',
942
+ 'd3',
943
+ 'd3en',
944
+ 'dl1',
945
+ 'dl2q',
946
+ 'e2',
947
+ 'f1',
948
+ 'f2',
949
+ 'g1',
950
+ 'g2',
951
+ 'g4ad',
952
+ 'g4dn',
953
+ 'g5',
954
+ 'g5g',
955
+ 'g6',
956
+ 'g6e',
957
+ 'gr6',
958
+ 'h1',
959
+ 'h3',
960
+ 'hpc6a',
961
+ 'hpc6id',
962
+ 'hpc7a',
963
+ 'hpc7g',
964
+ 'i2',
965
+ 'i3',
966
+ 'i3en',
967
+ 'i4g',
968
+ 'i4i',
969
+ 'i7i',
970
+ 'i7ie',
971
+ 'i8g',
972
+ 'im4gn',
973
+ 'inf1',
974
+ 'inf2',
975
+ 'is4gen',
976
+ 'm1',
977
+ 'm2',
978
+ 'm3',
979
+ 'm4',
980
+ 'm5',
981
+ 'm5a',
982
+ 'm5ad',
983
+ 'm5d',
984
+ 'm5dn',
985
+ 'm5n',
986
+ 'm5zn',
987
+ 'm6a',
988
+ 'm6g',
989
+ 'm6gd',
990
+ 'm6i',
991
+ 'm6id',
992
+ 'm6idn',
993
+ 'm6in',
994
+ 'm7a',
995
+ 'm7g',
996
+ 'm7gd',
997
+ 'm7i',
998
+ 'm7i-flex',
999
+ 'm8g',
1000
+ 'm8gd',
1001
+ 'n1',
1002
+ 'n2',
1003
+ 'n2d',
1004
+ 'n4',
1005
+ 'p3',
1006
+ 'p3dn',
1007
+ 'p4d',
1008
+ 'p4de',
1009
+ 'p5',
1010
+ 'p5e',
1011
+ 'p5en',
1012
+ 'p6-b200',
1013
+ 'r3',
1014
+ 'r4',
1015
+ 'r5',
1016
+ 'r5a',
1017
+ 'r5ad',
1018
+ 'r5b',
1019
+ 'r5d',
1020
+ 'r5dn',
1021
+ 'r5n',
1022
+ 'r6a',
1023
+ 'r6g',
1024
+ 'r6gd',
1025
+ 'r6i',
1026
+ 'r6id',
1027
+ 'r6idn',
1028
+ 'r6in',
1029
+ 'r7a',
1030
+ 'r7g',
1031
+ 'r7gd',
1032
+ 'r7i',
1033
+ 'r7iz',
1034
+ 'r8g',
1035
+ 'r8gd',
1036
+ 't2',
1037
+ 't2a',
1038
+ 't2d',
1039
+ 't3',
1040
+ 't3a',
1041
+ 't4g',
1042
+ 'trn1',
1043
+ 'trn1n',
1044
+ 'u-3tb1',
1045
+ 'u-6tb1',
1046
+ 'u7i-12tb',
1047
+ 'u7i-6tb',
1048
+ 'u7i-8tb',
1049
+ 'u7in-16tb',
1050
+ 'u7in-24tb',
1051
+ 'u7in-32tb',
1052
+ 'vt1',
1053
+ 'x1',
1054
+ 'x1e',
1055
+ 'x2gd',
1056
+ 'x2idn',
1057
+ 'x2iedn',
1058
+ 'x2iezn',
1059
+ 'x4',
1060
+ 'x8g',
1061
+ 'z1d',
1062
+ 'z3'
1063
+ ])).optional().default([]),
1064
+ 'topology.kubernetes.io/region': z.array(z.enum([
1065
+ 'africa-south1',
1066
+ 'ap-northeast-1',
1067
+ 'ap-northeast-2',
1068
+ 'ap-northeast-3',
1069
+ 'ap-south-1',
1070
+ 'ap-southeast-1',
1071
+ 'ap-southeast-2',
1072
+ 'ash',
1073
+ 'asia-east1',
1074
+ 'asia-east2',
1075
+ 'asia-northeast1',
1076
+ 'asia-northeast2',
1077
+ 'asia-northeast3',
1078
+ 'asia-south1',
1079
+ 'asia-south2',
1080
+ 'asia-southeast1',
1081
+ 'asia-southeast2',
1082
+ 'australia-southeast1',
1083
+ 'australia-southeast2',
1084
+ 'ca-central-1',
1085
+ 'eu-central-1',
1086
+ 'eu-central-2',
1087
+ 'eu-north-1',
1088
+ 'eu-west-1',
1089
+ 'eu-west-2',
1090
+ 'eu-west-3',
1091
+ 'europe-central2',
1092
+ 'europe-north1',
1093
+ 'europe-southwest1',
1094
+ 'europe-west1',
1095
+ 'europe-west10',
1096
+ 'europe-west12',
1097
+ 'europe-west2',
1098
+ 'europe-west3',
1099
+ 'europe-west4',
1100
+ 'europe-west6',
1101
+ 'europe-west8',
1102
+ 'europe-west9',
1103
+ 'fsn1',
1104
+ 'hel1',
1105
+ 'hil',
1106
+ 'me-central1',
1107
+ 'me-central2',
1108
+ 'me-west1',
1109
+ 'nbg1',
1110
+ 'northamerica-northeast1',
1111
+ 'northamerica-northeast2',
1112
+ 'sa-east-1',
1113
+ 'sin',
1114
+ 'southamerica-east1',
1115
+ 'southamerica-west1',
1116
+ 'us-central1',
1117
+ 'us-east-1',
1118
+ 'us-east-2',
1119
+ 'us-east1',
1120
+ 'us-east4',
1121
+ 'us-east5',
1122
+ 'us-south1',
1123
+ 'us-west-1',
1124
+ 'us-west-2',
1125
+ 'us-west1',
1126
+ 'us-west2',
1127
+ 'us-west3',
1128
+ 'us-west4'
1129
+ ])).optional().default([])
1130
+ }).optional().default({
1131
+ 'karpenter.sh/capacity-type': ['on-demand', 'spot'],
1132
+ 'kubernetes.io/arch': ['amd64'],
1133
+ 'cfke.io/instance-family': [],
1134
+ 'topology.kubernetes.io/region': []
1135
+ }),
1136
+ scalingProfile: z.enum(['aggressive', 'conservative']).optional().default('conservative'),
1137
+ taints: z.array(z.object({
1138
+ key: z.string(),
1139
+ value: z.string().max(63).regex(/^([A-Za-z0-9]([-A-Za-z0-9_.]*[A-Za-z0-9])?)?$/).optional(),
1140
+ effect: z.enum([
1141
+ 'NoSchedule',
1142
+ 'PreferNoSchedule',
1143
+ 'NoExecute'
1144
+ ])
1145
+ })).max(50).optional().default([])
1146
+ });
1147
+ export const zInviteCreateInput = z.object({
1148
+ email: z.email(),
1149
+ role: z.enum(['Administrator', 'User']).optional().default('User')
315
1150
  });
316
1151
  export const zInvite = z.object({
317
1152
  id: z.string().optional(),
318
1153
  organization_id: z.uuid().optional(),
319
1154
  date_created: z.iso.datetime(),
320
1155
  email: z.email().optional(),
321
- code: z.string().optional()
1156
+ code: z.string().optional(),
1157
+ role: z.enum(['Administrator', 'User']).optional().default('User')
1158
+ });
1159
+ export const zInvoicePaymentAttempt = z.object({
1160
+ invoice_id: z.string(),
1161
+ number: z.string(),
1162
+ amount: z.number(),
1163
+ currency: z.string(),
1164
+ status: z.enum([
1165
+ 'paid',
1166
+ 'processing',
1167
+ 'requires_action',
1168
+ 'failed'
1169
+ ]),
1170
+ client_secret: z.string(),
1171
+ failure_code: z.string(),
1172
+ failure_message: z.string()
1173
+ });
1174
+ export const zInvoicePaymentResult = z.object({
1175
+ code: z.enum([
1176
+ 'paid',
1177
+ 'processing',
1178
+ 'action_required',
1179
+ 'partially_paid',
1180
+ 'failed',
1181
+ 'nothing_due',
1182
+ 'bank_transfer_due'
1183
+ ]),
1184
+ message: z.string(),
1185
+ results: z.array(z.object({
1186
+ invoice_id: z.string(),
1187
+ number: z.string(),
1188
+ amount: z.number(),
1189
+ currency: z.string(),
1190
+ status: z.enum([
1191
+ 'paid',
1192
+ 'processing',
1193
+ 'requires_action',
1194
+ 'failed'
1195
+ ]),
1196
+ client_secret: z.string(),
1197
+ failure_code: z.string(),
1198
+ failure_message: z.string()
1199
+ }))
322
1200
  });
323
1201
  export const zInvoice = z.object({
324
1202
  id: z.string().optional(),
@@ -331,48 +1209,29 @@ export const zInvoice = z.object({
331
1209
  period_end: z.iso.datetime(),
332
1210
  invoice_pdf: z.string().optional()
333
1211
  });
334
- export const zMarketplaceListingFiles = z.object({
335
- chartYaml: z.string().optional(),
336
- valuesYaml: z.string().optional(),
337
- valuesSchemaJson: z.string().optional()
338
- });
339
- export const zMarketplaceListing = z.object({
340
- name: z.string(),
341
- versions: z.array(z.string().regex(/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/)),
342
- version_channels: z.array(z.string().regex(/^(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)\.(x|X|0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/)),
343
- latestVersion: z.string(),
344
- metadata: z.object({
345
- name: z.string(),
346
- version: z.string(),
347
- description: z.string().optional(),
348
- appVersion: z.string().optional(),
349
- apiVersion: z.string().optional(),
350
- keywords: z.array(z.string()).optional(),
351
- home: z.string().optional(),
352
- icon: z.string().optional(),
353
- sources: z.array(z.string()).optional(),
354
- maintainers: z.array(z.object({
355
- name: z.string(),
356
- email: z.string().optional()
357
- })).optional()
358
- }).optional()
359
- });
360
1212
  export const zOrganizationCreateInput = z.object({
1213
+ type: z.enum(['business', 'personal']),
361
1214
  email: z.email(),
362
- first_name: z.string(),
363
- last_name: z.string(),
1215
+ first_name: z.string().min(1),
1216
+ last_name: z.string().min(1),
364
1217
  company_name: z.string().min(2).max(120).regex(/^(?!\s)(?!.*\s$)(?=.*[a-zA-ZÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ0-9])[a-zA-ZÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ0-9 -.]{2,}$/),
365
1218
  password: z.string().min(8)
366
1219
  });
1220
+ export const zOrganizationCreateOutput = z.object({
1221
+ id: z.string()
1222
+ });
367
1223
  export const zOrganization = z.object({
368
1224
  id: z.uuid(),
369
1225
  name: z.string().min(2).max(120).optional(),
1226
+ type: z.enum(['business', 'personal']),
370
1227
  date_created: z.iso.datetime(),
371
1228
  quota: z.object({
372
1229
  basic_clusters_max: z.int().gte(0),
373
1230
  basic_clusters_available: z.int(),
374
1231
  pro_clusters_max: z.int().gte(0),
375
1232
  pro_clusters_available: z.int(),
1233
+ enterprise_clusters_max: z.int().gte(0),
1234
+ enterprise_clusters_available: z.int(),
376
1235
  fleets_max: z.int().gte(0),
377
1236
  cluster_tiers: z.array(z.string()).min(0),
378
1237
  regions: z.array(z.string()).min(1),
@@ -380,40 +1239,42 @@ export const zOrganization = z.object({
380
1239
  id: z.string(),
381
1240
  label: z.string()
382
1241
  })).min(1),
383
- copilot_user_hourly_tokens: z.int().gte(0),
384
- copilot_organization_hourly_tokens: z.int().gte(0),
385
1242
  cfcr_storage_gb: z.int().gte(-1)
386
1243
  }),
387
1244
  status: z.enum([
388
1245
  'active',
389
1246
  'closed',
390
1247
  'suspended'
1248
+ ]),
1249
+ verification: z.enum([
1250
+ 'none',
1251
+ 'submitted',
1252
+ 'verified'
391
1253
  ])
392
1254
  });
393
1255
  export const zPaymentMethod = z.object({
394
- id: z.uuid(),
395
- setup: z.boolean(),
396
- type: z.enum(['card']),
1256
+ id: z.string(),
1257
+ type: z.enum([
1258
+ 'card',
1259
+ 'sepa_debit',
1260
+ 'bank_transfer'
1261
+ ]),
397
1262
  last4: z.string(),
398
1263
  exp_month: z.int().gte(1).lte(12),
399
- exp_year: z.int().gte(2024),
400
- brand: z.enum([
401
- 'amex',
402
- 'diners',
403
- 'discover',
404
- 'eftpos_au',
405
- 'jcb',
406
- 'mastercard',
407
- 'unionpay',
408
- 'visa',
409
- 'unknown'
410
- ])
1264
+ exp_year: z.int(),
1265
+ brand: z.string(),
1266
+ iban: z.string(),
1267
+ bic: z.string(),
1268
+ account_holder_name: z.string(),
1269
+ is_default: z.boolean()
411
1270
  });
412
1271
  export const zPlatformQuota = z.object({
413
1272
  basic_clusters_max: z.int().gte(0),
414
1273
  basic_clusters_available: z.int(),
415
1274
  pro_clusters_max: z.int().gte(0),
416
1275
  pro_clusters_available: z.int(),
1276
+ enterprise_clusters_max: z.int().gte(0),
1277
+ enterprise_clusters_available: z.int(),
417
1278
  fleets_max: z.int().gte(0),
418
1279
  cluster_tiers: z.array(z.string()).min(0),
419
1280
  regions: z.array(z.string()).min(1),
@@ -421,8 +1282,6 @@ export const zPlatformQuota = z.object({
421
1282
  id: z.string(),
422
1283
  label: z.string()
423
1284
  })).min(1),
424
- copilot_user_hourly_tokens: z.int().gte(0),
425
- copilot_organization_hourly_tokens: z.int().gte(0),
426
1285
  cfcr_storage_gb: z.int().gte(-1)
427
1286
  });
428
1287
  export const zRegistryRepository = z.object({
@@ -471,6 +1330,91 @@ export const zRegistryTag = z.object({
471
1330
  repository: z.string(),
472
1331
  uri: z.string()
473
1332
  });
1333
+ export const zRoadmapItemCreateInput = z.object({
1334
+ text: z.string().min(1).max(500)
1335
+ });
1336
+ export const zRoadmapItem = z.object({
1337
+ id: z.string(),
1338
+ text: z.string(),
1339
+ vote: z.union([
1340
+ z.literal(-1),
1341
+ z.literal(1),
1342
+ z.literal(2)
1343
+ ])
1344
+ });
1345
+ export const zRoadmapVoteInput = z.object({
1346
+ value: z.union([
1347
+ z.literal(-1),
1348
+ z.literal(1),
1349
+ z.literal(2)
1350
+ ])
1351
+ });
1352
+ export const zTicketAttachment = z.object({
1353
+ id: z.string(),
1354
+ filename: z.string(),
1355
+ content_type: z.string(),
1356
+ size: z.int()
1357
+ });
1358
+ export const zTicketCreateInput = z.object({
1359
+ category: z.enum([
1360
+ 'billing',
1361
+ 'technical',
1362
+ 'general'
1363
+ ]),
1364
+ body: z.string().min(1).max(50000).regex(/\S/),
1365
+ properties: z.record(z.string(), z.unknown()).optional(),
1366
+ grant_support_access: z.boolean().optional()
1367
+ });
1368
+ export const zTicketMessageInput = z.object({
1369
+ body: z.string().min(1).max(50000).regex(/\S/)
1370
+ });
1371
+ export const zTicketMessage = z.object({
1372
+ id: z.string(),
1373
+ type: z.enum(['customer_reply', 'agent_reply']),
1374
+ body: z.string(),
1375
+ author_first_name: z.string().optional(),
1376
+ author_last_name: z.string().optional(),
1377
+ attachments: z.array(z.object({
1378
+ id: z.string(),
1379
+ filename: z.string(),
1380
+ content_type: z.string(),
1381
+ size: z.int()
1382
+ })).optional(),
1383
+ date_created: z.iso.datetime()
1384
+ });
1385
+ export const zTicket = z.object({
1386
+ id: z.string(),
1387
+ status: z.enum([
1388
+ 'waiting_on_us',
1389
+ 'waiting_on_user',
1390
+ 'closed'
1391
+ ]),
1392
+ category: z.enum([
1393
+ 'billing',
1394
+ 'technical',
1395
+ 'general'
1396
+ ]),
1397
+ summary: z.string(),
1398
+ support_access_granted: z.boolean(),
1399
+ support_access_granted_at: z.iso.datetime(),
1400
+ closed_at: z.iso.datetime().optional(),
1401
+ date_created: z.iso.datetime(),
1402
+ date_updated: z.iso.datetime(),
1403
+ messages: z.array(z.object({
1404
+ id: z.string(),
1405
+ type: z.enum(['customer_reply', 'agent_reply']),
1406
+ body: z.string(),
1407
+ author_first_name: z.string().optional(),
1408
+ author_last_name: z.string().optional(),
1409
+ attachments: z.array(z.object({
1410
+ id: z.string(),
1411
+ filename: z.string(),
1412
+ content_type: z.string(),
1413
+ size: z.int()
1414
+ })).optional(),
1415
+ date_created: z.iso.datetime()
1416
+ })).optional()
1417
+ });
474
1418
  export const zTokenCreateInput = z.object({
475
1419
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
476
1420
  role: z.enum(['Administrator', 'User'])
@@ -488,26 +1432,58 @@ export const zTokenUpdateInput = z.object({
488
1432
  });
489
1433
  export const zUsageFacets = z.object({
490
1434
  cluster_id: z.array(z.string()).optional(),
491
- product: z.array(z.string()).optional()
1435
+ product: z.array(z.enum([
1436
+ 'cfke_controlplane_basic',
1437
+ 'cfke_controlplane_pro',
1438
+ 'cfke_controlplane_enterprise',
1439
+ 'cfke_connected_nodes_basic',
1440
+ 'cfke_connected_nodes_pro',
1441
+ 'cfke_connected_nodes_enterprise',
1442
+ 'cfcr_storage'
1443
+ ])).optional()
492
1444
  });
493
1445
  export const zUsageResponse = z.object({
494
1446
  data: z.array(z.object({
495
1447
  hour: z.string(),
496
1448
  cluster_id: z.string(),
497
- product: z.string(),
1449
+ product: z.enum([
1450
+ 'cfke_controlplane_basic',
1451
+ 'cfke_controlplane_pro',
1452
+ 'cfke_controlplane_enterprise',
1453
+ 'cfke_connected_nodes_basic',
1454
+ 'cfke_connected_nodes_pro',
1455
+ 'cfke_connected_nodes_enterprise',
1456
+ 'cfcr_storage'
1457
+ ]),
498
1458
  value: z.number(),
499
1459
  price: z.number(),
500
1460
  total: z.number()
501
1461
  })),
502
1462
  facets: z.object({
503
1463
  cluster_id: z.array(z.string()).optional(),
504
- product: z.array(z.string()).optional()
1464
+ product: z.array(z.enum([
1465
+ 'cfke_controlplane_basic',
1466
+ 'cfke_controlplane_pro',
1467
+ 'cfke_controlplane_enterprise',
1468
+ 'cfke_connected_nodes_basic',
1469
+ 'cfke_connected_nodes_pro',
1470
+ 'cfke_connected_nodes_enterprise',
1471
+ 'cfcr_storage'
1472
+ ])).optional()
505
1473
  })
506
1474
  });
507
1475
  export const zUsage = z.object({
508
1476
  hour: z.string(),
509
1477
  cluster_id: z.string(),
510
- product: z.string(),
1478
+ product: z.enum([
1479
+ 'cfke_controlplane_basic',
1480
+ 'cfke_controlplane_pro',
1481
+ 'cfke_controlplane_enterprise',
1482
+ 'cfke_connected_nodes_basic',
1483
+ 'cfke_connected_nodes_pro',
1484
+ 'cfke_connected_nodes_enterprise',
1485
+ 'cfcr_storage'
1486
+ ]),
511
1487
  value: z.number(),
512
1488
  price: z.number(),
513
1489
  total: z.number()
@@ -517,9 +1493,7 @@ export const zUserCreateInput = z.object({
517
1493
  first_name: z.string().min(1).max(50),
518
1494
  last_name: z.string().min(1).max(50),
519
1495
  code: z.string(),
520
- password: z.string().min(8),
521
- status: z.enum(['active', 'inactive']).optional(),
522
- role: z.enum(['Administrator', 'User']).optional()
1496
+ password: z.string().min(8)
523
1497
  });
524
1498
  export const zUser = z.object({
525
1499
  email: z.email(),
@@ -537,202 +1511,193 @@ export const zUserUpdateInput = z.object({
537
1511
  role: z.enum(['Administrator', 'User']).optional(),
538
1512
  status: z.enum(['active', 'inactive']).optional()
539
1513
  });
540
- export const zGetUsageQuery = z.object({
541
- granularity: z.enum([
542
- 'hourly',
543
- 'daily',
544
- 'monthly'
545
- ]).optional()
1514
+ export const zListUserOrganizationsPath = z.object({
1515
+ email: z.string()
546
1516
  });
547
1517
  /**
548
- * Usage data with facets for filtering
1518
+ * An array of organizations the user belongs to.
549
1519
  */
550
- export const zGetUsageResponse = zUsageResponse;
1520
+ export const zListUserOrganizationsResponse = z.array(z.object({
1521
+ realm: z.string().optional(),
1522
+ displayName: z.string().optional()
1523
+ }));
551
1524
  /**
552
- * Redacted payment card information.
1525
+ * An array of users
553
1526
  */
554
- export const zGetPaymentMethodResponse = zPaymentMethod;
1527
+ export const zListUsersResponse = z.array(zUser);
1528
+ export const zCreateUserBody = zUserCreateInput;
555
1529
  /**
556
- * 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.
557
- *
1530
+ * Successfully created. Returns created user details.
558
1531
  */
559
- export const zGetPaymentMethodSecretResponse = z.object({
560
- id: z.string().optional()
1532
+ export const zCreateUserResponse = zUser;
1533
+ export const zDeleteUserPath = z.object({
1534
+ user_id: z.string()
561
1535
  });
562
1536
  /**
563
- * An array of usage records.
1537
+ * User profile information
564
1538
  */
565
- export const zListInvoicesResponse = z.array(zInvoice);
1539
+ export const zDeleteUserResponse = zUser;
1540
+ export const zGetUserPath = z.object({
1541
+ user_id: z.string()
1542
+ });
566
1543
  /**
567
- * Returns a single object containing organization contact and billing address details.
1544
+ * User profile information
568
1545
  */
569
- export const zGetContactResponse = zBillingContact;
570
- export const zUpdateContactBody = zBillingContact;
1546
+ export const zGetUserResponse = zUser;
1547
+ export const zUpdateUserBody = zUserUpdateInput;
1548
+ export const zUpdateUserPath = z.object({
1549
+ user_id: z.string()
1550
+ });
571
1551
  /**
572
- * Successfully updated. Returns updated organization details.
1552
+ * Successfully created. Returns created user details.
573
1553
  */
574
- export const zUpdateContactResponse = zBillingContact;
1554
+ export const zUpdateUserResponse = zUser;
575
1555
  /**
576
- * An array of the applied promotional credits records.
1556
+ * Returns a list of access token details with masked secrets.
577
1557
  */
578
- export const zGetCreditsResponse = z.array(zBillingCredits);
579
- export const zRedeemCreditsBody = z.object({
580
- code: z.string().optional()
581
- });
582
- export const zListChartsPath = z.object({
583
- cluster_id: z.string()
584
- });
1558
+ export const zListTokensResponse = z.array(zToken);
1559
+ export const zCreateTokenBody = zTokenCreateInput;
585
1560
  /**
586
- * An array of charts
1561
+ * Successfully created. Returns created token details with unmasked/raw secret.
587
1562
  */
588
- export const zListChartsResponse = z.array(zChart);
589
- export const zCreateChartBody = zChartCreateInput;
590
- export const zCreateChartPath = z.object({
591
- cluster_id: z.string()
1563
+ export const zCreateTokenResponse = zToken;
1564
+ export const zDeleteTokenPath = z.object({
1565
+ token_id: z.string()
592
1566
  });
593
- /**
594
- * Successfully created. Returns created Chart ID.
595
- */
596
- export const zCreateChartResponse = z.string();
597
- export const zDeleteChartPath = z.object({
598
- cluster_id: z.string(),
599
- chart_name: z.string()
1567
+ export const zGetTokenPath = z.object({
1568
+ token_id: z.string()
600
1569
  });
601
1570
  /**
602
- * Successfully deleted.
1571
+ * Returns access token details with masked secret.
603
1572
  */
604
- export const zDeleteChartResponse = z.string();
605
- export const zGetChartPath = z.object({
606
- cluster_id: z.string(),
607
- chart_name: z.string()
1573
+ export const zGetTokenResponse = zToken;
1574
+ export const zUpdateTokenBody = zTokenUpdateInput;
1575
+ export const zUpdateTokenPath = z.object({
1576
+ token_id: z.string()
608
1577
  });
609
1578
  /**
610
- * Returns a single object containing chart details.
1579
+ * Successfully updated. Returns updated token details with masked secret.
611
1580
  */
612
- export const zGetChartResponse = zChart;
613
- export const zUpdateChartBody = zChartUpdateInput;
614
- export const zUpdateChartPath = z.object({
615
- cluster_id: z.string(),
616
- chart_name: z.string()
1581
+ export const zUpdateTokenResponse = zToken;
1582
+ export const zRegenerateTokenPath = z.object({
1583
+ token_id: z.string()
617
1584
  });
618
1585
  /**
619
- * Successfully updated.
1586
+ * Successfully updated. Returns updated token details with unmasked / raw secret.
620
1587
  */
621
- export const zUpdateChartResponse = z.string();
622
- export const zListFleetsPath = z.object({
623
- cluster_id: z.string()
624
- });
1588
+ export const zRegenerateTokenResponse = zToken;
625
1589
  /**
626
- * An array of fleets
1590
+ * An array of tickets for the organization, newest first.
627
1591
  */
628
- export const zListFleetsResponse = z.array(zFleet);
629
- export const zCreateFleetBody = zFleetCreateInput;
630
- export const zCreateFleetPath = z.object({
631
- cluster_id: z.string()
1592
+ export const zListTicketsResponse = z.array(zTicket);
1593
+ export const zCreateTicketBody = z.object({
1594
+ payload: z.string().optional(),
1595
+ attachments: z.array(z.string()).optional()
632
1596
  });
633
1597
  /**
634
- * Successfully created. Returns created Fleet ID.
1598
+ * Ticket created.
635
1599
  */
636
- export const zCreateFleetResponse = z.string();
637
- export const zDeleteFleetPath = z.object({
638
- cluster_id: z.string(),
639
- fleet_name: z.string()
1600
+ export const zCreateTicketResponse = zTicket;
1601
+ export const zCloseTicketPath = z.object({
1602
+ ticket_id: z.string()
640
1603
  });
641
1604
  /**
642
- * Successfully deleted.
1605
+ * Ticket closed.
643
1606
  */
644
- export const zDeleteFleetResponse = z.string();
645
- export const zGetFleetPath = z.object({
646
- cluster_id: z.string(),
647
- fleet_name: z.string()
1607
+ export const zCloseTicketResponse = zTicket;
1608
+ export const zGetTicketPath = z.object({
1609
+ ticket_id: z.string()
648
1610
  });
649
1611
  /**
650
- * Returns a single object containing fleet details.
1612
+ * Ticket with messages (internal notes excluded).
651
1613
  */
652
- export const zGetFleetResponse = zFleet;
653
- export const zUpdateFleetBody = zFleetUpdateInput;
654
- export const zUpdateFleetPath = z.object({
655
- cluster_id: z.string(),
656
- fleet_name: z.string()
1614
+ export const zGetTicketResponse = zTicket;
1615
+ export const zGrantTicketSupportAccessPath = z.object({
1616
+ ticket_id: z.string()
657
1617
  });
658
1618
  /**
659
- * Successfully updated.
1619
+ * Support access granted.
660
1620
  */
661
- export const zUpdateFleetResponse = z.string();
662
- export const zQueryClusterPath = z.object({
663
- cluster_id: z.string()
1621
+ export const zGrantTicketSupportAccessResponse = zTicket;
1622
+ export const zReplyTicketBody = z.object({
1623
+ payload: z.string().optional(),
1624
+ attachments: z.array(z.string()).optional()
1625
+ });
1626
+ export const zReplyTicketPath = z.object({
1627
+ ticket_id: z.string()
664
1628
  });
665
1629
  /**
666
- * An array of clusters
1630
+ * Reply appended.
667
1631
  */
668
- export const zListClustersResponse = z.array(zCluster);
669
- export const zCreateClusterBody = zClusterCreateInput;
1632
+ export const zReplyTicketResponse = zTicketMessage;
1633
+ export const zGetTicketAttachmentPath = z.object({
1634
+ ticket_id: z.string(),
1635
+ attachment_id: z.string()
1636
+ });
670
1637
  /**
671
- * Successfully created. Returns created Cluster ID.
1638
+ * Attachment binary stream.
672
1639
  */
673
- export const zCreateClusterResponse = z.string();
674
- export const zDeleteClusterPath = z.object({
675
- cluster_id: z.string()
676
- });
1640
+ export const zGetTicketAttachmentResponse = z.string();
677
1641
  /**
678
- * Successfully deleted.
1642
+ * An array of roadmap items, newest first.
679
1643
  */
680
- export const zDeleteClusterResponse = z.string();
681
- export const zGetClusterPath = z.object({
682
- cluster_id: z.string()
683
- });
1644
+ export const zListRoadmapResponse = z.array(zRoadmapItem);
1645
+ export const zSuggestRoadmapBody = zRoadmapItemCreateInput;
684
1646
  /**
685
- * Returns a single object containing cluster details.
1647
+ * Suggestion submitted for review.
686
1648
  */
687
- export const zGetClusterResponse = zCluster;
688
- export const zUpdateClusterBody = zClusterUpdateInput;
689
- export const zUpdateClusterPath = z.object({
690
- cluster_id: z.string()
1649
+ export const zSuggestRoadmapResponse = zRoadmapItem;
1650
+ export const zUnvoteRoadmapPath = z.object({
1651
+ item_id: z.string()
691
1652
  });
692
1653
  /**
693
- * Successfully updated. Returns updated cluster details.
1654
+ * Vote removed. Returns the item without a vote.
694
1655
  */
695
- export const zUpdateClusterResponse = zCluster;
696
- export const zGetJoinInformationPath = z.object({
697
- cluster_id: z.string()
1656
+ export const zUnvoteRoadmapResponse = zRoadmapItem;
1657
+ export const zVoteRoadmapBody = zRoadmapVoteInput;
1658
+ export const zVoteRoadmapPath = z.object({
1659
+ item_id: z.string()
698
1660
  });
699
1661
  /**
700
- * An object of cluster join information
1662
+ * Vote saved. Returns the item with your vote.
701
1663
  */
702
- export const zGetJoinInformationResponse = zClusterJoinInformation;
1664
+ export const zVoteRoadmapResponse = zRoadmapItem;
703
1665
  /**
704
- * An array of invites
1666
+ * List of repositories
705
1667
  */
706
- export const zListInvitesResponse = z.array(zInvite);
707
- export const zCreateInviteBody = z.object({
708
- email: z.string().optional()
1668
+ export const zListRepositoriesResponse = z.array(zRegistryRepository);
1669
+ export const zListTagsPath = z.object({
1670
+ region: z.string(),
1671
+ repository: z.string()
709
1672
  });
710
1673
  /**
711
- * Successfully created. Returns created invite details.
1674
+ * Repository with tags
712
1675
  */
713
- export const zCreateInviteResponse = zInvite;
714
- export const zGetInvitePath = z.object({
715
- code: z.string()
1676
+ export const zListTagsResponse = zRegistryRepositoryWithTags;
1677
+ export const zDeleteTagPath = z.object({
1678
+ region: z.string(),
1679
+ repository: z.string(),
1680
+ tag: z.string()
1681
+ });
1682
+ export const zGetTagPath = z.object({
1683
+ region: z.string(),
1684
+ repository: z.string(),
1685
+ tag: z.string()
716
1686
  });
717
1687
  /**
718
- * Returns a single object containing invite details.
1688
+ * Tag details
719
1689
  */
720
- export const zGetInviteResponse = zInvite;
721
- export const zDeleteInvitePath = z.object({
722
- email: z.string()
723
- });
1690
+ export const zGetTagResponse = zRegistryTag;
724
1691
  /**
725
- * An array of chart listings in the marketplace.
1692
+ * Returns a single object containing organization details.
726
1693
  */
727
- export const zListMarketplaceChartsResponse = z.array(zMarketplaceListing);
728
- export const zGetMarketplaceChartFilesPath = z.object({
729
- chart_name: z.string(),
730
- version_channel: z.string()
731
- });
1694
+ export const zGetOrganizationResponse = zOrganization;
1695
+ export const zCreateOrganizationBody = zOrganizationCreateInput;
732
1696
  /**
733
- * Returns an object containing the chart files for the latest matching version.
1697
+ * Organization signup accepted. Returns the generated organization id immediately; provisioning (billing, Keycloak realm, user) continues asynchronously in the background.
1698
+ *
734
1699
  */
735
- export const zGetMarketplaceChartFilesResponse = zMarketplaceListingFiles;
1700
+ export const zCreateOrganizationResponse = zOrganizationCreateOutput;
736
1701
  /**
737
1702
  * JSON-RPC 2.0 request payload
738
1703
  */
@@ -761,109 +1726,171 @@ export const zPostMcpResponse = z.object({
761
1726
  }).optional()
762
1727
  });
763
1728
  /**
764
- * Returns a single object containing organization details.
1729
+ * An array of invites
765
1730
  */
766
- export const zGetOrganizationResponse = zOrganization;
767
- export const zCreateOrganizationBody = zOrganizationCreateInput;
1731
+ export const zListInvitesResponse = z.array(zInvite);
1732
+ export const zCreateInviteBody = zInviteCreateInput;
768
1733
  /**
769
- * List of repositories
1734
+ * Successfully created. Returns created invite details.
770
1735
  */
771
- export const zListRepositoriesResponse = z.array(zRegistryRepository);
772
- export const zListTagsPath = z.object({
773
- region: z.string(),
774
- repository: z.string()
1736
+ export const zCreateInviteResponse = zInvite;
1737
+ export const zGetInvitePath = z.object({
1738
+ code: z.string()
775
1739
  });
776
1740
  /**
777
- * Repository with tags
1741
+ * The invitation code is valid. Returns the invited email and organization.
778
1742
  */
779
- export const zListTagsResponse = zRegistryRepositoryWithTags;
780
- export const zDeleteTagPath = z.object({
781
- region: z.string(),
782
- repository: z.string(),
783
- tag: z.string()
1743
+ export const zGetInviteResponse = z.object({
1744
+ email: z.email().optional(),
1745
+ organization_id: z.string().optional()
784
1746
  });
785
- export const zGetTagPath = z.object({
786
- region: z.string(),
787
- repository: z.string(),
788
- tag: z.string()
1747
+ export const zDeleteInvitePath = z.object({
1748
+ email: z.email()
789
1749
  });
1750
+ export const zSendFeedbackBody = zFeedbackCreateInput;
790
1751
  /**
791
- * Tag details
1752
+ * Feedback received.
792
1753
  */
793
- export const zGetTagResponse = zRegistryTag;
1754
+ export const zSendFeedbackResponse = zFeedback;
1755
+ export const zQueryClusterPath = z.object({
1756
+ cluster_id: z.string()
1757
+ });
1758
+ export const zListFleetsPath = z.object({
1759
+ cluster_id: z.string()
1760
+ });
794
1761
  /**
795
- * Returns a list of access token details with masked secrets.
1762
+ * An array of fleets
796
1763
  */
797
- export const zListTokensResponse = z.array(zToken);
798
- export const zCreateTokenBody = zTokenCreateInput;
1764
+ export const zListFleetsResponse = z.array(zFleet);
1765
+ export const zCreateFleetBody = zFleetCreateInput;
1766
+ export const zCreateFleetPath = z.object({
1767
+ cluster_id: z.string()
1768
+ });
799
1769
  /**
800
- * Successfully created. Returns created token details with unmasked/raw secret.
1770
+ * Successfully created. Returns created Fleet ID.
801
1771
  */
802
- export const zCreateTokenResponse = zToken;
803
- export const zDeleteTokenPath = z.object({
804
- token_id: z.string()
1772
+ export const zCreateFleetResponse = z.string();
1773
+ export const zDeleteFleetPath = z.object({
1774
+ cluster_id: z.string(),
1775
+ fleet_name: z.string()
805
1776
  });
806
- export const zGetTokenPath = z.object({
807
- token_id: z.string()
1777
+ /**
1778
+ * Successfully deleted.
1779
+ */
1780
+ export const zDeleteFleetResponse = z.string();
1781
+ export const zGetFleetPath = z.object({
1782
+ cluster_id: z.string(),
1783
+ fleet_name: z.string()
808
1784
  });
809
1785
  /**
810
- * Returns access token details with masked secret.
1786
+ * Returns a single object containing fleet details.
811
1787
  */
812
- export const zGetTokenResponse = zToken;
813
- export const zUpdateTokenBody = zTokenUpdateInput;
814
- export const zUpdateTokenPath = z.object({
815
- token_id: z.string()
1788
+ export const zGetFleetResponse = zFleet;
1789
+ export const zUpdateFleetBody = zFleetUpdateInput;
1790
+ export const zUpdateFleetPath = z.object({
1791
+ cluster_id: z.string(),
1792
+ fleet_name: z.string()
816
1793
  });
817
1794
  /**
818
- * Successfully updated. Returns updated token details with masked secret.
1795
+ * Successfully updated.
819
1796
  */
820
- export const zUpdateTokenResponse = zToken;
821
- export const zRegenerateTokenPath = z.object({
822
- token_id: z.string()
1797
+ export const zUpdateFleetResponse = z.string();
1798
+ /**
1799
+ * An array of clusters
1800
+ */
1801
+ export const zListClustersResponse = z.array(zCluster);
1802
+ export const zCreateClusterBody = zClusterCreateInput;
1803
+ /**
1804
+ * Successfully created. Returns created Cluster ID.
1805
+ */
1806
+ export const zCreateClusterResponse = z.string();
1807
+ export const zDeleteClusterPath = z.object({
1808
+ cluster_id: z.string()
823
1809
  });
824
1810
  /**
825
- * Successfully updated. Returns updated token details with unmasked / raw secret.
1811
+ * Successfully deleted. The cluster has been torn down.
826
1812
  */
827
- export const zRegenerateTokenResponse = zToken;
828
- export const zListUserOrganizationsPath = z.object({
829
- email: z.string()
1813
+ export const zDeleteClusterResponse = z.string();
1814
+ export const zGetClusterPath = z.object({
1815
+ cluster_id: z.string()
830
1816
  });
831
1817
  /**
832
- * An array of organizations the user belongs to.
1818
+ * Returns a single object containing cluster details.
833
1819
  */
834
- export const zListUserOrganizationsResponse = z.array(z.object({
835
- realm: z.string().optional(),
836
- displayName: z.string().optional()
837
- }));
1820
+ export const zGetClusterResponse = zCluster;
1821
+ export const zUpdateClusterBody = zClusterUpdateInput;
1822
+ export const zUpdateClusterPath = z.object({
1823
+ cluster_id: z.string()
1824
+ });
838
1825
  /**
839
- * An array of users
1826
+ * Successfully updated. Returns updated cluster details.
840
1827
  */
841
- export const zListUsersResponse = z.array(zUser);
842
- export const zCreateUserBody = zUserCreateInput;
1828
+ export const zUpdateClusterResponse = zCluster;
1829
+ export const zGetJoinInformationPath = z.object({
1830
+ cluster_id: z.string()
1831
+ });
843
1832
  /**
844
- * Successfully created. Returns created user details.
1833
+ * An object of cluster join information
845
1834
  */
846
- export const zCreateUserResponse = zUser;
847
- export const zDeleteUserPath = z.object({
848
- user_id: z.string()
1835
+ export const zGetJoinInformationResponse = zClusterJoinInformation;
1836
+ export const zGetUsageQuery = z.object({
1837
+ granularity: z.enum([
1838
+ 'hourly',
1839
+ 'daily',
1840
+ 'monthly'
1841
+ ]).optional().default('daily')
849
1842
  });
850
1843
  /**
851
- * User profile information
1844
+ * Usage data with facets for filtering
852
1845
  */
853
- export const zDeleteUserResponse = zUser;
854
- export const zGetUserPath = z.object({
855
- user_id: z.string()
1846
+ export const zGetUsageResponse = zUsageResponse;
1847
+ /**
1848
+ * 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.
1849
+ *
1850
+ */
1851
+ export const zGetPaymentMethodSecretResponse = z.object({
1852
+ id: z.string().optional()
856
1853
  });
857
1854
  /**
858
- * User profile information
1855
+ * An array of payment methods.
859
1856
  */
860
- export const zGetUserResponse = zUser;
861
- export const zUpdateUserBody = zUserUpdateInput;
862
- export const zUpdateUserPath = z.object({
863
- user_id: z.string()
1857
+ export const zListPaymentMethodsResponse = z.array(zPaymentMethod);
1858
+ export const zSetDefaultPaymentMethodPath = z.object({
1859
+ paymentMethodId: z.string()
864
1860
  });
865
1861
  /**
866
- * Successfully created. Returns created user details.
1862
+ * Default payment method updated.
867
1863
  */
868
- export const zUpdateUserResponse = zUser;
1864
+ export const zSetDefaultPaymentMethodResponse = z.void();
1865
+ export const zDeletePaymentMethodPath = z.object({
1866
+ paymentMethodId: z.string()
1867
+ });
1868
+ /**
1869
+ * Payment method deleted.
1870
+ */
1871
+ export const zDeletePaymentMethodResponse = z.void();
1872
+ /**
1873
+ * An array of usage records.
1874
+ */
1875
+ export const zListInvoicesResponse = z.array(zInvoice);
1876
+ /**
1877
+ * The outcome of the attempt.
1878
+ */
1879
+ export const zPayOpenInvoicesResponse = zInvoicePaymentResult;
1880
+ /**
1881
+ * Returns a single object containing organization contact and billing address details.
1882
+ */
1883
+ export const zGetContactResponse = zBillingContact;
1884
+ export const zUpdateContactBody = zBillingContact;
1885
+ /**
1886
+ * Successfully updated. Returns updated organization details.
1887
+ */
1888
+ export const zUpdateContactResponse = zBillingContact;
1889
+ /**
1890
+ * An array of the applied promotional credits records.
1891
+ */
1892
+ export const zGetCreditsResponse = z.array(zBillingCredits);
1893
+ export const zRedeemCreditsBody = z.object({
1894
+ code: z.string().optional()
1895
+ });
869
1896
  //# sourceMappingURL=zod.gen.js.map