@cloudfleet/sdk 0.0.1-3de42b3 → 0.0.1-3f11d8b

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 (73) hide show
  1. package/README.md +26 -2
  2. package/dist/@tanstack/react-query.gen.d.ts +1026 -0
  3. package/dist/@tanstack/react-query.gen.d.ts.map +1 -0
  4. package/dist/@tanstack/react-query.gen.js +1194 -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 +4 -4
  23. package/dist/client.gen.d.ts.map +1 -1
  24. package/dist/client.gen.js +2 -4
  25. package/dist/client.gen.js.map +1 -1
  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/schemas.gen.d.ts +1719 -727
  59. package/dist/schemas.gen.d.ts.map +1 -1
  60. package/dist/schemas.gen.js +3070 -763
  61. package/dist/schemas.gen.js.map +1 -1
  62. package/dist/sdk.gen.d.ts +307 -175
  63. package/dist/sdk.gen.d.ts.map +1 -1
  64. package/dist/sdk.gen.js +438 -350
  65. package/dist/sdk.gen.js.map +1 -1
  66. package/dist/services/kubernetes/api.d.ts +20 -20
  67. package/dist/types.gen.d.ts +1903 -860
  68. package/dist/types.gen.d.ts.map +1 -1
  69. package/dist/zod.gen.d.ts +3971 -2328
  70. package/dist/zod.gen.d.ts.map +1 -1
  71. package/dist/zod.gen.js +1575 -854
  72. package/dist/zod.gen.js.map +1 -1
  73. package/package.json +28 -9
package/dist/zod.gen.js CHANGED
@@ -1,6 +1,7 @@
1
1
  // This file is auto-generated by @hey-api/openapi-ts
2
- import { z } from 'zod';
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(),
@@ -9,9 +10,8 @@ export const zBillingContact = z.object({
9
10
  state: z.string().optional(),
10
11
  country: z.string().optional(),
11
12
  phone: z.string().optional(),
12
- email: z.string().email(),
13
- first_name: z.string(),
14
- last_name: z.string(),
13
+ email: z.email(),
14
+ individual_name: z.string(),
15
15
  tax_id: z.string().optional(),
16
16
  tax_id_type: z.enum([
17
17
  'ad_nrt',
@@ -146,16 +146,12 @@ export const zBillingContact = z.object({
146
146
  });
147
147
  export const zBillingCredits = z.object({
148
148
  id: z.string().optional(),
149
- date_created: z.string().datetime(),
149
+ type: z.enum(['credit', 'discount']),
150
+ date_start: z.iso.datetime(),
151
+ date_end: z.iso.datetime().optional(),
150
152
  code: z.string(),
151
153
  description: z.string().optional(),
152
- products: z.array(z.string()).optional(),
153
- type: z.enum([
154
- 'credit',
155
- 'discount'
156
- ]),
157
- value: z.number(),
158
- billing_period: z.string().datetime(),
154
+ value_total: z.number(),
159
155
  value_remaining: z.number().optional()
160
156
  });
161
157
  export const zChartCreateInput = z.object({
@@ -171,22 +167,7 @@ export const zChart = z.object({
171
167
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
172
168
  namespace: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
173
169
  chart: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
174
- status: z.enum([
175
- 'InstallSucceeded',
176
- 'InstallFailed',
177
- 'UpgradeSucceeded',
178
- 'UpgradeFailed',
179
- 'TestSucceeded',
180
- 'TestFailed',
181
- 'RollbackSucceeded',
182
- 'RollbackFailed',
183
- 'UninstallSucceeded',
184
- 'UninstallFailed',
185
- 'ArtifactFailed',
186
- 'DependencyNotReady',
187
- 'Progressing',
188
- 'SourceNotReady'
189
- ]),
170
+ status: z.string(),
190
171
  version_current: z.string(),
191
172
  created_at: z.string(),
192
173
  updated_at: z.string(),
@@ -196,27 +177,63 @@ export const zChartUpdateInput = z.object({
196
177
  values: z.string(),
197
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-]+)*))?$/)
198
179
  });
180
+ /**
181
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
182
+ */
199
183
  export const zClusterCreateInput = z.object({
200
184
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
201
- region: z.enum([
202
- 'staging',
203
- 'northamerica-central-1'
204
- ]).optional(),
205
185
  tier: z.enum([
206
186
  'basic',
207
- 'pro'
208
- ]),
209
- 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')
187
+ 'pro',
188
+ 'enterprise'
189
+ ]).optional().default('basic'),
190
+ 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'),
191
+ release_channel: z.enum([
192
+ 'rapid',
193
+ 'stable',
194
+ 'extended'
195
+ ]).optional().default('rapid'),
196
+ features: z.object({
197
+ gpu_sharing_strategy: z.enum([
198
+ 'none',
199
+ 'mps',
200
+ 'time_slicing'
201
+ ]).optional().default('none'),
202
+ gpu_max_shared_clients_per_gpu: z.int().gte(2).lte(48).optional().default(4),
203
+ cilium_socket_lb_host_namespace_only: z.boolean().optional()
204
+ }).optional().default({
205
+ gpu_sharing_strategy: 'none',
206
+ gpu_max_shared_clients_per_gpu: 4,
207
+ cilium_socket_lb_host_namespace_only: false
208
+ }),
209
+ region: z.string(),
210
+ networking: z.object({
211
+ pod_cidr: z.string().optional().default('10.244.0.0/16'),
212
+ service_cidr: z.string().optional().default('10.96.0.0/12'),
213
+ dual_stack: z.boolean().optional(),
214
+ pod_cidr_v6: z.string().optional().default('2001:db8:1:2::/48'),
215
+ service_cidr_v6: z.string().optional().default('2001:db8:1:1::/112')
216
+ }).optional().default({
217
+ pod_cidr: '10.244.0.0/16',
218
+ service_cidr: '10.96.0.0/12',
219
+ dual_stack: false,
220
+ pod_cidr_v6: '2001:db8:1:2::/48',
221
+ service_cidr_v6: '2001:db8:1:1::/112'
222
+ })
210
223
  });
211
224
  export const zClusterJoinInformation = z.object({
212
225
  certificate_authority: z.string(),
213
- endpoint: z.string().url(),
226
+ endpoint: z.url(),
227
+ cluster_dns: z.string(),
228
+ pod_cidr: z.string(),
214
229
  auth_key: z.string(),
230
+ login_server: z.string(),
215
231
  bootstrap_token: z.string(),
216
232
  versions: z.object({
217
233
  kubernetes: z.string(),
218
234
  tailscale: z.string(),
219
- containerd: z.string()
235
+ containerd: z.string(),
236
+ nvidia_driver: z.string()
220
237
  }),
221
238
  third_party_api_access_config: z.object({
222
239
  metadata_url: z.string(),
@@ -224,937 +241,1641 @@ export const zClusterJoinInformation = z.object({
224
241
  gcp_workload_identity_provider: z.string()
225
242
  })
226
243
  });
244
+ /**
245
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
246
+ */
227
247
  export const zCluster = z.object({
228
248
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
229
- region: z.enum([
230
- 'staging',
231
- 'northamerica-central-1'
232
- ]).optional(),
233
249
  tier: z.enum([
234
250
  'basic',
235
- 'pro'
236
- ]),
237
- 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'),
238
- id: z.string().uuid(),
251
+ 'pro',
252
+ 'enterprise'
253
+ ]).default('basic'),
254
+ 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'),
255
+ release_channel: z.enum([
256
+ 'rapid',
257
+ 'stable',
258
+ 'extended'
259
+ ]).default('rapid'),
260
+ features: z.object({
261
+ gpu_sharing_strategy: z.enum([
262
+ 'none',
263
+ 'mps',
264
+ 'time_slicing'
265
+ ]).default('none'),
266
+ gpu_max_shared_clients_per_gpu: z.int().gte(2).lte(48).default(4),
267
+ cilium_socket_lb_host_namespace_only: z.boolean()
268
+ }).default({
269
+ gpu_sharing_strategy: 'none',
270
+ gpu_max_shared_clients_per_gpu: 4,
271
+ cilium_socket_lb_host_namespace_only: false
272
+ }),
273
+ region: z.string(),
274
+ networking: z.object({
275
+ pod_cidr: z.string().default('10.244.0.0/16'),
276
+ service_cidr: z.string().default('10.96.0.0/12'),
277
+ dual_stack: z.boolean(),
278
+ pod_cidr_v6: z.string().default('2001:db8:1:2::/48'),
279
+ service_cidr_v6: z.string().default('2001:db8:1:1::/112')
280
+ }).default({
281
+ pod_cidr: '10.244.0.0/16',
282
+ service_cidr: '10.96.0.0/12',
283
+ dual_stack: false,
284
+ pod_cidr_v6: '2001:db8:1:2::/48',
285
+ service_cidr_v6: '2001:db8:1:1::/112'
286
+ }),
287
+ id: z.uuid(),
239
288
  status: z.enum([
240
- 'active',
241
- 'deleted',
242
289
  'creating',
243
290
  'deployed',
244
- 'failed',
245
- 'updating'
291
+ 'updating',
292
+ 'disabled'
246
293
  ]),
247
294
  endpoint: z.union([
248
- z.string().url(),
249
- z.enum([
250
- ''
251
- ])
295
+ z.url(),
296
+ z.enum([''])
297
+ ]).optional(),
298
+ endpoint_public: z.union([
299
+ z.url(),
300
+ z.enum([''])
252
301
  ]).optional(),
253
302
  certificate_ca: z.string().optional(),
254
303
  version_current: z.string().optional(),
255
304
  created_at: z.string().optional(),
256
305
  updated_at: z.string().optional(),
257
- ready: z.boolean().optional()
306
+ ready: z.boolean()
258
307
  });
308
+ /**
309
+ * Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
310
+ */
259
311
  export const zClusterUpdateInput = z.object({
260
- name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/).optional(),
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()
312
+ name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
313
+ tier: z.enum([
314
+ 'basic',
315
+ 'pro',
316
+ 'enterprise'
317
+ ]).optional().default('basic'),
318
+ 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'),
319
+ release_channel: z.enum([
320
+ 'rapid',
321
+ 'stable',
322
+ 'extended'
323
+ ]).optional().default('rapid'),
324
+ features: z.object({
325
+ gpu_sharing_strategy: z.enum([
326
+ 'none',
327
+ 'mps',
328
+ 'time_slicing'
329
+ ]).optional().default('none'),
330
+ gpu_max_shared_clients_per_gpu: z.int().gte(2).lte(48).optional().default(4),
331
+ cilium_socket_lb_host_namespace_only: z.boolean().optional()
332
+ }).optional().default({
333
+ gpu_sharing_strategy: 'none',
334
+ gpu_max_shared_clients_per_gpu: 4,
335
+ cilium_socket_lb_host_namespace_only: false
336
+ })
262
337
  });
338
+ /**
339
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
340
+ */
263
341
  export const zFleetCreateInput = z.object({
264
342
  limits: z.object({
265
- cpu: z.number().gte(0)
343
+ cpu: z.int().gte(0).lte(100000).optional()
266
344
  }).optional(),
267
345
  gcp: z.object({
268
- enabled: z.boolean().optional().default(true),
269
- project: z.string()
346
+ enabled: z.boolean(),
347
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
348
+ }).optional(),
349
+ hetzner: z.object({
350
+ enabled: z.boolean(),
351
+ apiKey: z.string().length(64).regex(/^([A-Za-z0-9]{64}|\*{64})$/).optional()
270
352
  }).optional(),
271
- hetzner: z.union([
272
- z.object({
273
- enabled: z.boolean().optional().default(true),
274
- apiKey: z.string().optional()
275
- }),
276
- z.object({
277
- apiKey: z.string().optional(),
278
- enabled: z.boolean().optional().default(true)
279
- })
280
- ]).optional(),
281
353
  aws: z.object({
282
- enabled: z.boolean().optional().default(true),
283
- controllerRoleArn: z.string()
354
+ enabled: z.boolean(),
355
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
284
356
  }).optional(),
285
- id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
286
- type: z.enum([
287
- 'managed',
288
- 'connected'
289
- ])
357
+ constraints: z.object({
358
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).optional().default(['on-demand', 'spot']),
359
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).optional().default(['amd64']),
360
+ 'cfke.io/instance-family': z.array(z.enum([
361
+ 'a1',
362
+ 'a2',
363
+ 'a3',
364
+ 'a4',
365
+ 'c1',
366
+ 'c2',
367
+ 'c2d',
368
+ 'c3',
369
+ 'c3d',
370
+ 'c4',
371
+ 'c4a',
372
+ 'c4d',
373
+ 'c5',
374
+ 'c5a',
375
+ 'c5ad',
376
+ 'c5d',
377
+ 'c5n',
378
+ 'c6a',
379
+ 'c6g',
380
+ 'c6gd',
381
+ 'c6gn',
382
+ 'c6i',
383
+ 'c6id',
384
+ 'c6in',
385
+ 'c7a',
386
+ 'c7g',
387
+ 'c7gd',
388
+ 'c7gn',
389
+ 'c7i',
390
+ 'c7i-flex',
391
+ 'c8g',
392
+ 'c8gd',
393
+ 'cax',
394
+ 'ccx',
395
+ 'cpx',
396
+ 'cx',
397
+ 'd2',
398
+ 'd3',
399
+ 'd3en',
400
+ 'dl1',
401
+ 'dl2q',
402
+ 'e2',
403
+ 'f1',
404
+ 'f2',
405
+ 'g1',
406
+ 'g2',
407
+ 'g4ad',
408
+ 'g4dn',
409
+ 'g5',
410
+ 'g5g',
411
+ 'g6',
412
+ 'g6e',
413
+ 'gr6',
414
+ 'h1',
415
+ 'h3',
416
+ 'hpc6a',
417
+ 'hpc6id',
418
+ 'hpc7a',
419
+ 'hpc7g',
420
+ 'i2',
421
+ 'i3',
422
+ 'i3en',
423
+ 'i4g',
424
+ 'i4i',
425
+ 'i7i',
426
+ 'i7ie',
427
+ 'i8g',
428
+ 'im4gn',
429
+ 'inf1',
430
+ 'inf2',
431
+ 'is4gen',
432
+ 'm1',
433
+ 'm2',
434
+ 'm3',
435
+ 'm4',
436
+ 'm5',
437
+ 'm5a',
438
+ 'm5ad',
439
+ 'm5d',
440
+ 'm5dn',
441
+ 'm5n',
442
+ 'm5zn',
443
+ 'm6a',
444
+ 'm6g',
445
+ 'm6gd',
446
+ 'm6i',
447
+ 'm6id',
448
+ 'm6idn',
449
+ 'm6in',
450
+ 'm7a',
451
+ 'm7g',
452
+ 'm7gd',
453
+ 'm7i',
454
+ 'm7i-flex',
455
+ 'm8g',
456
+ 'm8gd',
457
+ 'n1',
458
+ 'n2',
459
+ 'n2d',
460
+ 'n4',
461
+ 'p3',
462
+ 'p3dn',
463
+ 'p4d',
464
+ 'p4de',
465
+ 'p5',
466
+ 'p5e',
467
+ 'p5en',
468
+ 'p6-b200',
469
+ 'r3',
470
+ 'r4',
471
+ 'r5',
472
+ 'r5a',
473
+ 'r5ad',
474
+ 'r5b',
475
+ 'r5d',
476
+ 'r5dn',
477
+ 'r5n',
478
+ 'r6a',
479
+ 'r6g',
480
+ 'r6gd',
481
+ 'r6i',
482
+ 'r6id',
483
+ 'r6idn',
484
+ 'r6in',
485
+ 'r7a',
486
+ 'r7g',
487
+ 'r7gd',
488
+ 'r7i',
489
+ 'r7iz',
490
+ 'r8g',
491
+ 'r8gd',
492
+ 't2',
493
+ 't2a',
494
+ 't2d',
495
+ 't3',
496
+ 't3a',
497
+ 't4g',
498
+ 'trn1',
499
+ 'trn1n',
500
+ 'u-3tb1',
501
+ 'u-6tb1',
502
+ 'u7i-12tb',
503
+ 'u7i-6tb',
504
+ 'u7i-8tb',
505
+ 'u7in-16tb',
506
+ 'u7in-24tb',
507
+ 'u7in-32tb',
508
+ 'vt1',
509
+ 'x1',
510
+ 'x1e',
511
+ 'x2gd',
512
+ 'x2idn',
513
+ 'x2iedn',
514
+ 'x2iezn',
515
+ 'x4',
516
+ 'x8g',
517
+ 'z1d',
518
+ 'z3'
519
+ ])).optional().default([]),
520
+ 'topology.kubernetes.io/region': z.array(z.enum([
521
+ 'africa-south1',
522
+ 'ap-northeast-1',
523
+ 'ap-northeast-2',
524
+ 'ap-northeast-3',
525
+ 'ap-south-1',
526
+ 'ap-southeast-1',
527
+ 'ap-southeast-2',
528
+ 'ash',
529
+ 'asia-east1',
530
+ 'asia-east2',
531
+ 'asia-northeast1',
532
+ 'asia-northeast2',
533
+ 'asia-northeast3',
534
+ 'asia-south1',
535
+ 'asia-south2',
536
+ 'asia-southeast1',
537
+ 'asia-southeast2',
538
+ 'australia-southeast1',
539
+ 'australia-southeast2',
540
+ 'ca-central-1',
541
+ 'eu-central-1',
542
+ 'eu-central-2',
543
+ 'eu-north-1',
544
+ 'eu-west-1',
545
+ 'eu-west-2',
546
+ 'eu-west-3',
547
+ 'europe-central2',
548
+ 'europe-north1',
549
+ 'europe-southwest1',
550
+ 'europe-west1',
551
+ 'europe-west10',
552
+ 'europe-west12',
553
+ 'europe-west2',
554
+ 'europe-west3',
555
+ 'europe-west4',
556
+ 'europe-west6',
557
+ 'europe-west8',
558
+ 'europe-west9',
559
+ 'fsn1',
560
+ 'hel1',
561
+ 'hil',
562
+ 'me-central1',
563
+ 'me-central2',
564
+ 'me-west1',
565
+ 'nbg1',
566
+ 'northamerica-northeast1',
567
+ 'northamerica-northeast2',
568
+ 'sa-east-1',
569
+ 'sin',
570
+ 'southamerica-east1',
571
+ 'southamerica-west1',
572
+ 'us-central1',
573
+ 'us-east-1',
574
+ 'us-east-2',
575
+ 'us-east1',
576
+ 'us-east4',
577
+ 'us-east5',
578
+ 'us-south1',
579
+ 'us-west-1',
580
+ 'us-west-2',
581
+ 'us-west1',
582
+ 'us-west2',
583
+ 'us-west3',
584
+ 'us-west4'
585
+ ])).optional().default([])
586
+ }).optional().default({
587
+ 'karpenter.sh/capacity-type': ['on-demand', 'spot'],
588
+ 'kubernetes.io/arch': ['amd64'],
589
+ 'cfke.io/instance-family': [],
590
+ 'topology.kubernetes.io/region': []
591
+ }),
592
+ scalingProfile: z.enum(['aggressive', 'conservative']).optional().default('conservative'),
593
+ id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/)
290
594
  });
595
+ /**
596
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
597
+ */
291
598
  export const zFleet = z.object({
292
599
  limits: z.object({
293
- cpu: z.number().gte(0)
600
+ cpu: z.int().gte(0).lte(100000).optional()
294
601
  }).optional(),
295
602
  gcp: z.object({
296
- enabled: z.boolean().optional().default(true),
297
- project: z.string()
603
+ enabled: z.boolean(),
604
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
605
+ }).optional(),
606
+ hetzner: z.object({
607
+ enabled: z.boolean(),
608
+ apiKey: z.string().regex(/^\*{64}$/).optional()
298
609
  }).optional(),
299
- hetzner: z.union([
300
- z.object({
301
- enabled: z.boolean().optional().default(true),
302
- apiKey: z.string().optional()
303
- }),
304
- z.object({
305
- apiKey: z.string().optional(),
306
- enabled: z.boolean().optional().default(true)
307
- })
308
- ]).optional(),
309
610
  aws: z.object({
310
- enabled: z.boolean().optional().default(true),
311
- controllerRoleArn: z.string()
611
+ enabled: z.boolean(),
612
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
312
613
  }).optional(),
614
+ constraints: z.object({
615
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).default(['on-demand', 'spot']),
616
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).default(['amd64']),
617
+ 'cfke.io/instance-family': z.array(z.enum([
618
+ 'a1',
619
+ 'a2',
620
+ 'a3',
621
+ 'a4',
622
+ 'c1',
623
+ 'c2',
624
+ 'c2d',
625
+ 'c3',
626
+ 'c3d',
627
+ 'c4',
628
+ 'c4a',
629
+ 'c4d',
630
+ 'c5',
631
+ 'c5a',
632
+ 'c5ad',
633
+ 'c5d',
634
+ 'c5n',
635
+ 'c6a',
636
+ 'c6g',
637
+ 'c6gd',
638
+ 'c6gn',
639
+ 'c6i',
640
+ 'c6id',
641
+ 'c6in',
642
+ 'c7a',
643
+ 'c7g',
644
+ 'c7gd',
645
+ 'c7gn',
646
+ 'c7i',
647
+ 'c7i-flex',
648
+ 'c8g',
649
+ 'c8gd',
650
+ 'cax',
651
+ 'ccx',
652
+ 'cpx',
653
+ 'cx',
654
+ 'd2',
655
+ 'd3',
656
+ 'd3en',
657
+ 'dl1',
658
+ 'dl2q',
659
+ 'e2',
660
+ 'f1',
661
+ 'f2',
662
+ 'g1',
663
+ 'g2',
664
+ 'g4ad',
665
+ 'g4dn',
666
+ 'g5',
667
+ 'g5g',
668
+ 'g6',
669
+ 'g6e',
670
+ 'gr6',
671
+ 'h1',
672
+ 'h3',
673
+ 'hpc6a',
674
+ 'hpc6id',
675
+ 'hpc7a',
676
+ 'hpc7g',
677
+ 'i2',
678
+ 'i3',
679
+ 'i3en',
680
+ 'i4g',
681
+ 'i4i',
682
+ 'i7i',
683
+ 'i7ie',
684
+ 'i8g',
685
+ 'im4gn',
686
+ 'inf1',
687
+ 'inf2',
688
+ 'is4gen',
689
+ 'm1',
690
+ 'm2',
691
+ 'm3',
692
+ 'm4',
693
+ 'm5',
694
+ 'm5a',
695
+ 'm5ad',
696
+ 'm5d',
697
+ 'm5dn',
698
+ 'm5n',
699
+ 'm5zn',
700
+ 'm6a',
701
+ 'm6g',
702
+ 'm6gd',
703
+ 'm6i',
704
+ 'm6id',
705
+ 'm6idn',
706
+ 'm6in',
707
+ 'm7a',
708
+ 'm7g',
709
+ 'm7gd',
710
+ 'm7i',
711
+ 'm7i-flex',
712
+ 'm8g',
713
+ 'm8gd',
714
+ 'n1',
715
+ 'n2',
716
+ 'n2d',
717
+ 'n4',
718
+ 'p3',
719
+ 'p3dn',
720
+ 'p4d',
721
+ 'p4de',
722
+ 'p5',
723
+ 'p5e',
724
+ 'p5en',
725
+ 'p6-b200',
726
+ 'r3',
727
+ 'r4',
728
+ 'r5',
729
+ 'r5a',
730
+ 'r5ad',
731
+ 'r5b',
732
+ 'r5d',
733
+ 'r5dn',
734
+ 'r5n',
735
+ 'r6a',
736
+ 'r6g',
737
+ 'r6gd',
738
+ 'r6i',
739
+ 'r6id',
740
+ 'r6idn',
741
+ 'r6in',
742
+ 'r7a',
743
+ 'r7g',
744
+ 'r7gd',
745
+ 'r7i',
746
+ 'r7iz',
747
+ 'r8g',
748
+ 'r8gd',
749
+ 't2',
750
+ 't2a',
751
+ 't2d',
752
+ 't3',
753
+ 't3a',
754
+ 't4g',
755
+ 'trn1',
756
+ 'trn1n',
757
+ 'u-3tb1',
758
+ 'u-6tb1',
759
+ 'u7i-12tb',
760
+ 'u7i-6tb',
761
+ 'u7i-8tb',
762
+ 'u7in-16tb',
763
+ 'u7in-24tb',
764
+ 'u7in-32tb',
765
+ 'vt1',
766
+ 'x1',
767
+ 'x1e',
768
+ 'x2gd',
769
+ 'x2idn',
770
+ 'x2iedn',
771
+ 'x2iezn',
772
+ 'x4',
773
+ 'x8g',
774
+ 'z1d',
775
+ 'z3'
776
+ ])).optional().default([]),
777
+ 'topology.kubernetes.io/region': z.array(z.enum([
778
+ 'africa-south1',
779
+ 'ap-northeast-1',
780
+ 'ap-northeast-2',
781
+ 'ap-northeast-3',
782
+ 'ap-south-1',
783
+ 'ap-southeast-1',
784
+ 'ap-southeast-2',
785
+ 'ash',
786
+ 'asia-east1',
787
+ 'asia-east2',
788
+ 'asia-northeast1',
789
+ 'asia-northeast2',
790
+ 'asia-northeast3',
791
+ 'asia-south1',
792
+ 'asia-south2',
793
+ 'asia-southeast1',
794
+ 'asia-southeast2',
795
+ 'australia-southeast1',
796
+ 'australia-southeast2',
797
+ 'ca-central-1',
798
+ 'eu-central-1',
799
+ 'eu-central-2',
800
+ 'eu-north-1',
801
+ 'eu-west-1',
802
+ 'eu-west-2',
803
+ 'eu-west-3',
804
+ 'europe-central2',
805
+ 'europe-north1',
806
+ 'europe-southwest1',
807
+ 'europe-west1',
808
+ 'europe-west10',
809
+ 'europe-west12',
810
+ 'europe-west2',
811
+ 'europe-west3',
812
+ 'europe-west4',
813
+ 'europe-west6',
814
+ 'europe-west8',
815
+ 'europe-west9',
816
+ 'fsn1',
817
+ 'hel1',
818
+ 'hil',
819
+ 'me-central1',
820
+ 'me-central2',
821
+ 'me-west1',
822
+ 'nbg1',
823
+ 'northamerica-northeast1',
824
+ 'northamerica-northeast2',
825
+ 'sa-east-1',
826
+ 'sin',
827
+ 'southamerica-east1',
828
+ 'southamerica-west1',
829
+ 'us-central1',
830
+ 'us-east-1',
831
+ 'us-east-2',
832
+ 'us-east1',
833
+ 'us-east4',
834
+ 'us-east5',
835
+ 'us-south1',
836
+ 'us-west-1',
837
+ 'us-west-2',
838
+ 'us-west1',
839
+ 'us-west2',
840
+ 'us-west3',
841
+ 'us-west4'
842
+ ])).optional().default([])
843
+ }).default({
844
+ 'karpenter.sh/capacity-type': ['on-demand', 'spot'],
845
+ 'kubernetes.io/arch': ['amd64'],
846
+ 'cfke.io/instance-family': [],
847
+ 'topology.kubernetes.io/region': []
848
+ }),
849
+ scalingProfile: z.enum(['aggressive', 'conservative']).default('conservative'),
313
850
  id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
314
- type: z.enum([
315
- 'managed',
316
- 'connected'
317
- ])
851
+ ready: z.boolean(),
852
+ status_message: z.string().optional(),
853
+ created_at: z.string(),
854
+ updated_at: z.string()
318
855
  });
856
+ /**
857
+ * Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.
858
+ */
319
859
  export const zFleetUpdateInput = z.object({
320
860
  limits: z.object({
321
- cpu: z.number().gte(0)
861
+ cpu: z.int().gte(0).lte(100000).optional()
322
862
  }).optional(),
323
863
  gcp: z.object({
324
- enabled: z.boolean().optional().default(true),
325
- project: z.string()
864
+ enabled: z.boolean(),
865
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
866
+ }).optional(),
867
+ hetzner: z.object({
868
+ enabled: z.boolean(),
869
+ apiKey: z.string().length(64).regex(/^([A-Za-z0-9]{64}|\*{64})$/).optional()
326
870
  }).optional(),
327
- hetzner: z.union([
328
- z.object({
329
- enabled: z.boolean().optional().default(true),
330
- apiKey: z.string().optional()
331
- }),
332
- z.object({
333
- apiKey: z.string().optional(),
334
- enabled: z.boolean().optional().default(true)
335
- })
336
- ]).optional(),
337
871
  aws: z.object({
338
- enabled: z.boolean().optional().default(true),
339
- controllerRoleArn: z.string()
340
- }).optional()
872
+ enabled: z.boolean(),
873
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
874
+ }).optional(),
875
+ constraints: z.object({
876
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).optional().default(['on-demand', 'spot']),
877
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).optional().default(['amd64']),
878
+ 'cfke.io/instance-family': z.array(z.enum([
879
+ 'a1',
880
+ 'a2',
881
+ 'a3',
882
+ 'a4',
883
+ 'c1',
884
+ 'c2',
885
+ 'c2d',
886
+ 'c3',
887
+ 'c3d',
888
+ 'c4',
889
+ 'c4a',
890
+ 'c4d',
891
+ 'c5',
892
+ 'c5a',
893
+ 'c5ad',
894
+ 'c5d',
895
+ 'c5n',
896
+ 'c6a',
897
+ 'c6g',
898
+ 'c6gd',
899
+ 'c6gn',
900
+ 'c6i',
901
+ 'c6id',
902
+ 'c6in',
903
+ 'c7a',
904
+ 'c7g',
905
+ 'c7gd',
906
+ 'c7gn',
907
+ 'c7i',
908
+ 'c7i-flex',
909
+ 'c8g',
910
+ 'c8gd',
911
+ 'cax',
912
+ 'ccx',
913
+ 'cpx',
914
+ 'cx',
915
+ 'd2',
916
+ 'd3',
917
+ 'd3en',
918
+ 'dl1',
919
+ 'dl2q',
920
+ 'e2',
921
+ 'f1',
922
+ 'f2',
923
+ 'g1',
924
+ 'g2',
925
+ 'g4ad',
926
+ 'g4dn',
927
+ 'g5',
928
+ 'g5g',
929
+ 'g6',
930
+ 'g6e',
931
+ 'gr6',
932
+ 'h1',
933
+ 'h3',
934
+ 'hpc6a',
935
+ 'hpc6id',
936
+ 'hpc7a',
937
+ 'hpc7g',
938
+ 'i2',
939
+ 'i3',
940
+ 'i3en',
941
+ 'i4g',
942
+ 'i4i',
943
+ 'i7i',
944
+ 'i7ie',
945
+ 'i8g',
946
+ 'im4gn',
947
+ 'inf1',
948
+ 'inf2',
949
+ 'is4gen',
950
+ 'm1',
951
+ 'm2',
952
+ 'm3',
953
+ 'm4',
954
+ 'm5',
955
+ 'm5a',
956
+ 'm5ad',
957
+ 'm5d',
958
+ 'm5dn',
959
+ 'm5n',
960
+ 'm5zn',
961
+ 'm6a',
962
+ 'm6g',
963
+ 'm6gd',
964
+ 'm6i',
965
+ 'm6id',
966
+ 'm6idn',
967
+ 'm6in',
968
+ 'm7a',
969
+ 'm7g',
970
+ 'm7gd',
971
+ 'm7i',
972
+ 'm7i-flex',
973
+ 'm8g',
974
+ 'm8gd',
975
+ 'n1',
976
+ 'n2',
977
+ 'n2d',
978
+ 'n4',
979
+ 'p3',
980
+ 'p3dn',
981
+ 'p4d',
982
+ 'p4de',
983
+ 'p5',
984
+ 'p5e',
985
+ 'p5en',
986
+ 'p6-b200',
987
+ 'r3',
988
+ 'r4',
989
+ 'r5',
990
+ 'r5a',
991
+ 'r5ad',
992
+ 'r5b',
993
+ 'r5d',
994
+ 'r5dn',
995
+ 'r5n',
996
+ 'r6a',
997
+ 'r6g',
998
+ 'r6gd',
999
+ 'r6i',
1000
+ 'r6id',
1001
+ 'r6idn',
1002
+ 'r6in',
1003
+ 'r7a',
1004
+ 'r7g',
1005
+ 'r7gd',
1006
+ 'r7i',
1007
+ 'r7iz',
1008
+ 'r8g',
1009
+ 'r8gd',
1010
+ 't2',
1011
+ 't2a',
1012
+ 't2d',
1013
+ 't3',
1014
+ 't3a',
1015
+ 't4g',
1016
+ 'trn1',
1017
+ 'trn1n',
1018
+ 'u-3tb1',
1019
+ 'u-6tb1',
1020
+ 'u7i-12tb',
1021
+ 'u7i-6tb',
1022
+ 'u7i-8tb',
1023
+ 'u7in-16tb',
1024
+ 'u7in-24tb',
1025
+ 'u7in-32tb',
1026
+ 'vt1',
1027
+ 'x1',
1028
+ 'x1e',
1029
+ 'x2gd',
1030
+ 'x2idn',
1031
+ 'x2iedn',
1032
+ 'x2iezn',
1033
+ 'x4',
1034
+ 'x8g',
1035
+ 'z1d',
1036
+ 'z3'
1037
+ ])).optional().default([]),
1038
+ 'topology.kubernetes.io/region': z.array(z.enum([
1039
+ 'africa-south1',
1040
+ 'ap-northeast-1',
1041
+ 'ap-northeast-2',
1042
+ 'ap-northeast-3',
1043
+ 'ap-south-1',
1044
+ 'ap-southeast-1',
1045
+ 'ap-southeast-2',
1046
+ 'ash',
1047
+ 'asia-east1',
1048
+ 'asia-east2',
1049
+ 'asia-northeast1',
1050
+ 'asia-northeast2',
1051
+ 'asia-northeast3',
1052
+ 'asia-south1',
1053
+ 'asia-south2',
1054
+ 'asia-southeast1',
1055
+ 'asia-southeast2',
1056
+ 'australia-southeast1',
1057
+ 'australia-southeast2',
1058
+ 'ca-central-1',
1059
+ 'eu-central-1',
1060
+ 'eu-central-2',
1061
+ 'eu-north-1',
1062
+ 'eu-west-1',
1063
+ 'eu-west-2',
1064
+ 'eu-west-3',
1065
+ 'europe-central2',
1066
+ 'europe-north1',
1067
+ 'europe-southwest1',
1068
+ 'europe-west1',
1069
+ 'europe-west10',
1070
+ 'europe-west12',
1071
+ 'europe-west2',
1072
+ 'europe-west3',
1073
+ 'europe-west4',
1074
+ 'europe-west6',
1075
+ 'europe-west8',
1076
+ 'europe-west9',
1077
+ 'fsn1',
1078
+ 'hel1',
1079
+ 'hil',
1080
+ 'me-central1',
1081
+ 'me-central2',
1082
+ 'me-west1',
1083
+ 'nbg1',
1084
+ 'northamerica-northeast1',
1085
+ 'northamerica-northeast2',
1086
+ 'sa-east-1',
1087
+ 'sin',
1088
+ 'southamerica-east1',
1089
+ 'southamerica-west1',
1090
+ 'us-central1',
1091
+ 'us-east-1',
1092
+ 'us-east-2',
1093
+ 'us-east1',
1094
+ 'us-east4',
1095
+ 'us-east5',
1096
+ 'us-south1',
1097
+ 'us-west-1',
1098
+ 'us-west-2',
1099
+ 'us-west1',
1100
+ 'us-west2',
1101
+ 'us-west3',
1102
+ 'us-west4'
1103
+ ])).optional().default([])
1104
+ }).optional().default({
1105
+ 'karpenter.sh/capacity-type': ['on-demand', 'spot'],
1106
+ 'kubernetes.io/arch': ['amd64'],
1107
+ 'cfke.io/instance-family': [],
1108
+ 'topology.kubernetes.io/region': []
1109
+ }),
1110
+ scalingProfile: z.enum(['aggressive', 'conservative']).optional().default('conservative')
1111
+ });
1112
+ export const zInviteCreateInput = z.object({
1113
+ email: z.email(),
1114
+ role: z.enum(['Administrator', 'User']).optional().default('User')
341
1115
  });
342
1116
  export const zInvite = z.object({
343
1117
  id: z.string().optional(),
344
- organization_id: z.string().uuid().optional(),
345
- date_created: z.string().datetime(),
346
- email: z.string().email().optional(),
347
- code: z.string().optional()
1118
+ organization_id: z.uuid().optional(),
1119
+ date_created: z.iso.datetime(),
1120
+ email: z.email().optional(),
1121
+ code: z.string().optional(),
1122
+ role: z.enum(['Administrator', 'User']).optional().default('User')
348
1123
  });
349
- export const zInvoice = z.object({
350
- id: z.string().uuid().optional(),
351
- organizationId: z.string().uuid().optional(),
1124
+ export const zInvoicePaymentAttempt = z.object({
1125
+ invoice_id: z.string(),
1126
+ number: z.string(),
1127
+ amount: z.number(),
1128
+ currency: z.string(),
352
1129
  status: z.enum([
353
- 'DRAFT',
354
- 'COMMITTED',
355
- 'VOID'
356
- ]).optional(),
357
- amount: z.number().optional(),
358
- currency: z.enum([
359
- 'AED',
360
- 'AFN',
361
- 'ALL',
362
- 'AMD',
363
- 'ANG',
364
- 'AOA',
365
- 'ARS',
366
- 'AUD',
367
- 'AWG',
368
- 'AZN',
369
- 'BAM',
370
- 'BBD',
371
- 'BDT',
372
- 'BGN',
373
- 'BHD',
374
- 'BIF',
375
- 'BMD',
376
- 'BND',
377
- 'BOB',
378
- 'BRL',
379
- 'BSD',
380
- 'BTN',
381
- 'BWP',
382
- 'BYR',
383
- 'BZD',
384
- 'CAD',
385
- 'CDF',
386
- 'CHF',
387
- 'CLP',
388
- 'CNY',
389
- 'COP',
390
- 'CRC',
391
- 'CUC',
392
- 'CUP',
393
- 'CVE',
394
- 'CZK',
395
- 'DJF',
396
- 'DKK',
397
- 'DOP',
398
- 'DZD',
399
- 'EGP',
400
- 'ERN',
401
- 'ETB',
402
- 'EUR',
403
- 'FJD',
404
- 'FKP',
405
- 'GBP',
406
- 'GEL',
407
- 'GGP',
408
- 'GHS',
409
- 'GIP',
410
- 'GMD',
411
- 'GNF',
412
- 'GTQ',
413
- 'GYD',
414
- 'HKD',
415
- 'HNL',
416
- 'HRK',
417
- 'HTG',
418
- 'HUF',
419
- 'IDR',
420
- 'ILS',
421
- 'IMP',
422
- 'INR',
423
- 'IQD',
424
- 'IRR',
425
- 'ISK',
426
- 'JEP',
427
- 'JMD',
428
- 'JOD',
429
- 'JPY',
430
- 'KES',
431
- 'KGS',
432
- 'KHR',
433
- 'KMF',
434
- 'KPW',
435
- 'KRW',
436
- 'KWD',
437
- 'KYD',
438
- 'KZT',
439
- 'LAK',
440
- 'LBP',
441
- 'LKR',
442
- 'LRD',
443
- 'LSL',
444
- 'LTL',
445
- 'LVL',
446
- 'LYD',
447
- 'MAD',
448
- 'MDL',
449
- 'MGA',
450
- 'MKD',
451
- 'MMK',
452
- 'MNT',
453
- 'MOP',
454
- 'MRO',
455
- 'MUR',
456
- 'MVR',
457
- 'MWK',
458
- 'MXN',
459
- 'MYR',
460
- 'MZN',
461
- 'NAD',
462
- 'NGN',
463
- 'NIO',
464
- 'NOK',
465
- 'NPR',
466
- 'NZD',
467
- 'OMR',
468
- 'PAB',
469
- 'PEN',
470
- 'PGK',
471
- 'PHP',
472
- 'PKR',
473
- 'PLN',
474
- 'PYG',
475
- 'QAR',
476
- 'RON',
477
- 'RSD',
478
- 'RUB',
479
- 'RWF',
480
- 'SAR',
481
- 'SBD',
482
- 'SCR',
483
- 'SDG',
484
- 'SEK',
485
- 'SGD',
486
- 'SHP',
487
- 'SLL',
488
- 'SOS',
489
- 'SPL',
490
- 'SRD',
491
- 'STD',
492
- 'SVC',
493
- 'SYP',
494
- 'SZL',
495
- 'THB',
496
- 'TJS',
497
- 'TMT',
498
- 'TND',
499
- 'TOP',
500
- 'TRY',
501
- 'TTD',
502
- 'TVD',
503
- 'TWD',
504
- 'TZS',
505
- 'UAH',
506
- 'UGX',
507
- 'USD',
508
- 'UYU',
509
- 'UZS',
510
- 'VEF',
511
- 'VND',
512
- 'VUV',
513
- 'WST',
514
- 'XAF',
515
- 'XCD',
516
- 'XDR',
517
- 'XOF',
518
- 'XPF',
519
- 'YER',
520
- 'ZAR',
521
- 'ZMW',
522
- 'ZWD',
523
- 'BTC'
524
- ]).optional(),
525
- creditAdj: z.number().optional(),
526
- refundAdj: z.number().optional(),
527
- invoiceDate: z.string().optional(),
528
- targetDate: z.string().optional(),
529
- invoiceNumber: z.string().optional(),
530
- balance: z.number().optional(),
531
- bundleKeys: z.string().optional(),
532
- credits: z.array(z.object({
533
- id: z.string().uuid().optional(),
534
- linkedInvoiceItemId: z.string().uuid().optional(),
535
- productName: z.string().optional(),
536
- planName: z.string().optional(),
537
- phaseName: z.string().optional(),
538
- usageName: z.string().optional(),
539
- prettyProductName: z.string().optional(),
540
- prettyPlanName: z.string().optional(),
541
- prettyPhaseName: z.string().optional(),
542
- prettyUsageName: z.string().optional(),
543
- itemType: z.enum([
544
- 'EXTERNAL_CHARGE',
545
- 'FIXED',
546
- 'RECURRING',
547
- 'REPAIR_ADJ',
548
- 'CBA_ADJ',
549
- 'CREDIT_ADJ',
550
- 'ITEM_ADJ',
551
- 'USAGE',
552
- 'TAX',
553
- 'PARENT_SUMMARY'
554
- ]).optional(),
555
- description: z.string().optional(),
556
- startDate: z.string().optional(),
557
- endDate: z.string().optional(),
558
- amount: z.number().optional(),
559
- rate: z.number().optional(),
560
- currency: z.enum([
561
- 'AED',
562
- 'AFN',
563
- 'ALL',
564
- 'AMD',
565
- 'ANG',
566
- 'AOA',
567
- 'ARS',
568
- 'AUD',
569
- 'AWG',
570
- 'AZN',
571
- 'BAM',
572
- 'BBD',
573
- 'BDT',
574
- 'BGN',
575
- 'BHD',
576
- 'BIF',
577
- 'BMD',
578
- 'BND',
579
- 'BOB',
580
- 'BRL',
581
- 'BSD',
582
- 'BTN',
583
- 'BWP',
584
- 'BYR',
585
- 'BZD',
586
- 'CAD',
587
- 'CDF',
588
- 'CHF',
589
- 'CLP',
590
- 'CNY',
591
- 'COP',
592
- 'CRC',
593
- 'CUC',
594
- 'CUP',
595
- 'CVE',
596
- 'CZK',
597
- 'DJF',
598
- 'DKK',
599
- 'DOP',
600
- 'DZD',
601
- 'EGP',
602
- 'ERN',
603
- 'ETB',
604
- 'EUR',
605
- 'FJD',
606
- 'FKP',
607
- 'GBP',
608
- 'GEL',
609
- 'GGP',
610
- 'GHS',
611
- 'GIP',
612
- 'GMD',
613
- 'GNF',
614
- 'GTQ',
615
- 'GYD',
616
- 'HKD',
617
- 'HNL',
618
- 'HRK',
619
- 'HTG',
620
- 'HUF',
621
- 'IDR',
622
- 'ILS',
623
- 'IMP',
624
- 'INR',
625
- 'IQD',
626
- 'IRR',
627
- 'ISK',
628
- 'JEP',
629
- 'JMD',
630
- 'JOD',
631
- 'JPY',
632
- 'KES',
633
- 'KGS',
634
- 'KHR',
635
- 'KMF',
636
- 'KPW',
637
- 'KRW',
638
- 'KWD',
639
- 'KYD',
640
- 'KZT',
641
- 'LAK',
642
- 'LBP',
643
- 'LKR',
644
- 'LRD',
645
- 'LSL',
646
- 'LTL',
647
- 'LVL',
648
- 'LYD',
649
- 'MAD',
650
- 'MDL',
651
- 'MGA',
652
- 'MKD',
653
- 'MMK',
654
- 'MNT',
655
- 'MOP',
656
- 'MRO',
657
- 'MUR',
658
- 'MVR',
659
- 'MWK',
660
- 'MXN',
661
- 'MYR',
662
- 'MZN',
663
- 'NAD',
664
- 'NGN',
665
- 'NIO',
666
- 'NOK',
667
- 'NPR',
668
- 'NZD',
669
- 'OMR',
670
- 'PAB',
671
- 'PEN',
672
- 'PGK',
673
- 'PHP',
674
- 'PKR',
675
- 'PLN',
676
- 'PYG',
677
- 'QAR',
678
- 'RON',
679
- 'RSD',
680
- 'RUB',
681
- 'RWF',
682
- 'SAR',
683
- 'SBD',
684
- 'SCR',
685
- 'SDG',
686
- 'SEK',
687
- 'SGD',
688
- 'SHP',
689
- 'SLL',
690
- 'SOS',
691
- 'SPL',
692
- 'SRD',
693
- 'STD',
694
- 'SVC',
695
- 'SYP',
696
- 'SZL',
697
- 'THB',
698
- 'TJS',
699
- 'TMT',
700
- 'TND',
701
- 'TOP',
702
- 'TRY',
703
- 'TTD',
704
- 'TVD',
705
- 'TWD',
706
- 'TZS',
707
- 'UAH',
708
- 'UGX',
709
- 'USD',
710
- 'UYU',
711
- 'UZS',
712
- 'VEF',
713
- 'VND',
714
- 'VUV',
715
- 'WST',
716
- 'XAF',
717
- 'XCD',
718
- 'XDR',
719
- 'XOF',
720
- 'XPF',
721
- 'YER',
722
- 'ZAR',
723
- 'ZMW',
724
- 'ZWD',
725
- 'BTC'
726
- ]).optional(),
727
- quantity: z.number().optional(),
728
- itemDetails: z.string().optional(),
729
- catalogEffectiveDate: z.string().optional(),
730
- childItems: z.array(z.unknown()).optional()
731
- })).optional(),
732
- items: z.array(z.object({
733
- id: z.string().uuid().optional(),
734
- linkedInvoiceItemId: z.string().uuid().optional(),
735
- productName: z.string().optional(),
736
- planName: z.string().optional(),
737
- phaseName: z.string().optional(),
738
- usageName: z.string().optional(),
739
- prettyProductName: z.string().optional(),
740
- prettyPlanName: z.string().optional(),
741
- prettyPhaseName: z.string().optional(),
742
- prettyUsageName: z.string().optional(),
743
- itemType: z.enum([
744
- 'EXTERNAL_CHARGE',
745
- 'FIXED',
746
- 'RECURRING',
747
- 'REPAIR_ADJ',
748
- 'CBA_ADJ',
749
- 'CREDIT_ADJ',
750
- 'ITEM_ADJ',
751
- 'USAGE',
752
- 'TAX',
753
- 'PARENT_SUMMARY'
754
- ]).optional(),
755
- description: z.string().optional(),
756
- startDate: z.string().optional(),
757
- endDate: z.string().optional(),
758
- amount: z.number().optional(),
759
- rate: z.number().optional(),
760
- currency: z.enum([
761
- 'AED',
762
- 'AFN',
763
- 'ALL',
764
- 'AMD',
765
- 'ANG',
766
- 'AOA',
767
- 'ARS',
768
- 'AUD',
769
- 'AWG',
770
- 'AZN',
771
- 'BAM',
772
- 'BBD',
773
- 'BDT',
774
- 'BGN',
775
- 'BHD',
776
- 'BIF',
777
- 'BMD',
778
- 'BND',
779
- 'BOB',
780
- 'BRL',
781
- 'BSD',
782
- 'BTN',
783
- 'BWP',
784
- 'BYR',
785
- 'BZD',
786
- 'CAD',
787
- 'CDF',
788
- 'CHF',
789
- 'CLP',
790
- 'CNY',
791
- 'COP',
792
- 'CRC',
793
- 'CUC',
794
- 'CUP',
795
- 'CVE',
796
- 'CZK',
797
- 'DJF',
798
- 'DKK',
799
- 'DOP',
800
- 'DZD',
801
- 'EGP',
802
- 'ERN',
803
- 'ETB',
804
- 'EUR',
805
- 'FJD',
806
- 'FKP',
807
- 'GBP',
808
- 'GEL',
809
- 'GGP',
810
- 'GHS',
811
- 'GIP',
812
- 'GMD',
813
- 'GNF',
814
- 'GTQ',
815
- 'GYD',
816
- 'HKD',
817
- 'HNL',
818
- 'HRK',
819
- 'HTG',
820
- 'HUF',
821
- 'IDR',
822
- 'ILS',
823
- 'IMP',
824
- 'INR',
825
- 'IQD',
826
- 'IRR',
827
- 'ISK',
828
- 'JEP',
829
- 'JMD',
830
- 'JOD',
831
- 'JPY',
832
- 'KES',
833
- 'KGS',
834
- 'KHR',
835
- 'KMF',
836
- 'KPW',
837
- 'KRW',
838
- 'KWD',
839
- 'KYD',
840
- 'KZT',
841
- 'LAK',
842
- 'LBP',
843
- 'LKR',
844
- 'LRD',
845
- 'LSL',
846
- 'LTL',
847
- 'LVL',
848
- 'LYD',
849
- 'MAD',
850
- 'MDL',
851
- 'MGA',
852
- 'MKD',
853
- 'MMK',
854
- 'MNT',
855
- 'MOP',
856
- 'MRO',
857
- 'MUR',
858
- 'MVR',
859
- 'MWK',
860
- 'MXN',
861
- 'MYR',
862
- 'MZN',
863
- 'NAD',
864
- 'NGN',
865
- 'NIO',
866
- 'NOK',
867
- 'NPR',
868
- 'NZD',
869
- 'OMR',
870
- 'PAB',
871
- 'PEN',
872
- 'PGK',
873
- 'PHP',
874
- 'PKR',
875
- 'PLN',
876
- 'PYG',
877
- 'QAR',
878
- 'RON',
879
- 'RSD',
880
- 'RUB',
881
- 'RWF',
882
- 'SAR',
883
- 'SBD',
884
- 'SCR',
885
- 'SDG',
886
- 'SEK',
887
- 'SGD',
888
- 'SHP',
889
- 'SLL',
890
- 'SOS',
891
- 'SPL',
892
- 'SRD',
893
- 'STD',
894
- 'SVC',
895
- 'SYP',
896
- 'SZL',
897
- 'THB',
898
- 'TJS',
899
- 'TMT',
900
- 'TND',
901
- 'TOP',
902
- 'TRY',
903
- 'TTD',
904
- 'TVD',
905
- 'TWD',
906
- 'TZS',
907
- 'UAH',
908
- 'UGX',
909
- 'USD',
910
- 'UYU',
911
- 'UZS',
912
- 'VEF',
913
- 'VND',
914
- 'VUV',
915
- 'WST',
916
- 'XAF',
917
- 'XCD',
918
- 'XDR',
919
- 'XOF',
920
- 'XPF',
921
- 'YER',
922
- 'ZAR',
923
- 'ZMW',
924
- 'ZWD',
925
- 'BTC'
926
- ]).optional(),
927
- quantity: z.number().optional(),
928
- itemDetails: z.string().optional(),
929
- catalogEffectiveDate: z.string().optional(),
930
- childItems: z.array(z.unknown()).optional()
931
- })).optional()
1130
+ 'paid',
1131
+ 'processing',
1132
+ 'requires_action',
1133
+ 'failed'
1134
+ ]),
1135
+ client_secret: z.string(),
1136
+ failure_code: z.string(),
1137
+ failure_message: z.string()
1138
+ });
1139
+ export const zInvoicePaymentResult = z.object({
1140
+ code: z.enum([
1141
+ 'paid',
1142
+ 'processing',
1143
+ 'action_required',
1144
+ 'partially_paid',
1145
+ 'failed',
1146
+ 'nothing_due',
1147
+ 'bank_transfer_due'
1148
+ ]),
1149
+ message: z.string(),
1150
+ results: z.array(z.object({
1151
+ invoice_id: z.string(),
1152
+ number: z.string(),
1153
+ amount: z.number(),
1154
+ currency: z.string(),
1155
+ status: z.enum([
1156
+ 'paid',
1157
+ 'processing',
1158
+ 'requires_action',
1159
+ 'failed'
1160
+ ]),
1161
+ client_secret: z.string(),
1162
+ failure_code: z.string(),
1163
+ failure_message: z.string()
1164
+ }))
1165
+ });
1166
+ export const zInvoice = z.object({
1167
+ id: z.string().optional(),
1168
+ number: z.string().optional(),
1169
+ status: z.string().optional(),
1170
+ total: z.number().optional(),
1171
+ currency: z.string().optional(),
1172
+ created: z.iso.datetime(),
1173
+ period_start: z.iso.datetime(),
1174
+ period_end: z.iso.datetime(),
1175
+ invoice_pdf: z.string().optional()
1176
+ });
1177
+ export const zMarketplaceListingFiles = z.object({
1178
+ chartYaml: z.string().optional(),
1179
+ valuesYaml: z.string().optional(),
1180
+ valuesSchemaJson: z.string().optional()
932
1181
  });
933
1182
  export const zMarketplaceListing = z.object({
934
- id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
935
1183
  name: z.string(),
936
- developer: z.string(),
937
- description: z.string(),
938
- logoUrl: z.string(),
939
- longDescription: z.string(),
940
- categories: z.array(z.string()),
1184
+ 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-]+)*))?$/)),
941
1185
  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-]+)*))?$/)),
942
- value_schemas: z.array(z.object({
943
- version: 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-]+)*))?$/),
944
- schema: z.string(),
945
- placeholder: z.string()
946
- }))
1186
+ latestVersion: z.string(),
1187
+ metadata: z.object({
1188
+ name: z.string(),
1189
+ version: z.string(),
1190
+ description: z.string().optional(),
1191
+ appVersion: z.string().optional(),
1192
+ apiVersion: z.string().optional(),
1193
+ keywords: z.array(z.string()).optional(),
1194
+ home: z.string().optional(),
1195
+ icon: z.string().optional(),
1196
+ sources: z.array(z.string()).optional(),
1197
+ maintainers: z.array(z.object({
1198
+ name: z.string(),
1199
+ email: z.string().optional()
1200
+ })).optional()
1201
+ }).optional()
947
1202
  });
948
1203
  export const zOrganizationCreateInput = z.object({
949
- email: z.string().email(),
950
- first_name: z.string(),
951
- last_name: z.string(),
1204
+ type: z.enum(['business', 'personal']),
1205
+ email: z.email(),
1206
+ first_name: z.string().min(1),
1207
+ last_name: z.string().min(1),
952
1208
  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,}$/),
953
1209
  password: z.string().min(8)
954
1210
  });
1211
+ export const zOrganizationCreateOutput = z.object({
1212
+ id: z.string()
1213
+ });
955
1214
  export const zOrganization = z.object({
956
- id: z.string().uuid(),
1215
+ id: z.uuid(),
957
1216
  name: z.string().min(2).max(120).optional(),
958
- date_created: z.string().datetime(),
1217
+ type: z.enum(['business', 'personal']),
1218
+ date_created: z.iso.datetime(),
959
1219
  quota: z.object({
960
- basic_clusters_max: z.number().int().gte(0),
961
- basic_clusters_available: z.number().int(),
962
- pro_clusters_max: z.number().int().gte(0),
963
- pro_clusters_available: z.number().int(),
964
- fleets_max: z.number().int().gte(0),
965
- managed_fleets_cpu_max: z.number().int().gte(0),
1220
+ basic_clusters_max: z.int().gte(0),
1221
+ basic_clusters_available: z.int(),
1222
+ pro_clusters_max: z.int().gte(0),
1223
+ pro_clusters_available: z.int(),
1224
+ enterprise_clusters_max: z.int().gte(0),
1225
+ enterprise_clusters_available: z.int(),
1226
+ fleets_max: z.int().gte(0),
966
1227
  cluster_tiers: z.array(z.string()).min(0),
967
1228
  regions: z.array(z.string()).min(1),
968
1229
  versions: z.array(z.object({
969
1230
  id: z.string(),
970
1231
  label: z.string()
971
- })).min(1)
1232
+ })).min(1),
1233
+ cfcr_storage_gb: z.int().gte(-1)
972
1234
  }),
973
1235
  status: z.enum([
974
1236
  'active',
975
1237
  'closed',
976
1238
  'suspended'
1239
+ ]),
1240
+ verification: z.enum([
1241
+ 'none',
1242
+ 'submitted',
1243
+ 'verified'
977
1244
  ])
978
1245
  });
979
1246
  export const zPaymentMethod = z.object({
980
- id: z.string().uuid(),
981
- setup: z.boolean(),
1247
+ id: z.string(),
982
1248
  type: z.enum([
983
- 'card'
1249
+ 'card',
1250
+ 'sepa_debit',
1251
+ 'bank_transfer'
984
1252
  ]),
985
1253
  last4: z.string(),
986
- exp_month: z.number().int().gte(1).lte(12),
987
- exp_year: z.number().int().gte(2024),
988
- brand: z.enum([
989
- 'amex',
990
- 'diners',
991
- 'discover',
992
- 'eftpos_au',
993
- 'jcb',
994
- 'mastercard',
995
- 'unionpay',
996
- 'visa',
997
- 'unknown'
998
- ])
1254
+ exp_month: z.int().gte(1).lte(12),
1255
+ exp_year: z.int(),
1256
+ brand: z.string(),
1257
+ iban: z.string(),
1258
+ bic: z.string(),
1259
+ account_holder_name: z.string(),
1260
+ is_default: z.boolean()
1261
+ });
1262
+ export const zPlatformQuota = z.object({
1263
+ basic_clusters_max: z.int().gte(0),
1264
+ basic_clusters_available: z.int(),
1265
+ pro_clusters_max: z.int().gte(0),
1266
+ pro_clusters_available: z.int(),
1267
+ enterprise_clusters_max: z.int().gte(0),
1268
+ enterprise_clusters_available: z.int(),
1269
+ fleets_max: z.int().gte(0),
1270
+ cluster_tiers: z.array(z.string()).min(0),
1271
+ regions: z.array(z.string()).min(1),
1272
+ versions: z.array(z.object({
1273
+ id: z.string(),
1274
+ label: z.string()
1275
+ })).min(1),
1276
+ cfcr_storage_gb: z.int().gte(-1)
1277
+ });
1278
+ export const zRegistryRepository = z.object({
1279
+ name: z.string(),
1280
+ region: z.string(),
1281
+ uri: z.string()
1282
+ });
1283
+ export const zRegistryRepositoryWithTags = z.object({
1284
+ name: z.string(),
1285
+ region: z.string(),
1286
+ uri: z.string(),
1287
+ tags: z.array(z.object({
1288
+ name: z.string(),
1289
+ size: z.number(),
1290
+ mediaType: z.string().optional(),
1291
+ platforms: z.array(z.string()).optional()
1292
+ })),
1293
+ totalSize: z.number()
1294
+ });
1295
+ export const zRegistryTag = z.object({
1296
+ name: z.string(),
1297
+ digest: z.string(),
1298
+ mediaType: z.string().optional(),
1299
+ config: z.object({
1300
+ size: z.number()
1301
+ }).optional(),
1302
+ layers: z.array(z.object({
1303
+ digest: z.string().optional(),
1304
+ size: z.number()
1305
+ })).optional(),
1306
+ manifests: z.array(z.object({
1307
+ digest: z.string(),
1308
+ platform: z.object({
1309
+ architecture: z.string(),
1310
+ os: z.string(),
1311
+ variant: z.string().optional()
1312
+ }).optional(),
1313
+ layers: z.array(z.object({
1314
+ digest: z.string().optional(),
1315
+ size: z.number()
1316
+ })).optional(),
1317
+ size: z.number().optional()
1318
+ })).optional(),
1319
+ size: z.number(),
1320
+ region: z.string(),
1321
+ repository: z.string(),
1322
+ uri: z.string()
1323
+ });
1324
+ export const zTicketAttachment = z.object({
1325
+ id: z.string(),
1326
+ filename: z.string(),
1327
+ content_type: z.string(),
1328
+ size: z.int()
1329
+ });
1330
+ export const zTicketCreateInput = z.object({
1331
+ category: z.enum([
1332
+ 'billing',
1333
+ 'technical',
1334
+ 'general'
1335
+ ]),
1336
+ body: z.string().min(1).max(50000).regex(/\S/),
1337
+ properties: z.record(z.string(), z.unknown()).optional()
1338
+ });
1339
+ export const zTicketMessageInput = z.object({
1340
+ body: z.string().min(1).max(50000).regex(/\S/)
1341
+ });
1342
+ export const zTicketMessage = z.object({
1343
+ id: z.string(),
1344
+ type: z.enum(['customer_reply', 'agent_reply']),
1345
+ body: z.string(),
1346
+ author_first_name: z.string().optional(),
1347
+ author_last_name: z.string().optional(),
1348
+ attachments: z.array(z.object({
1349
+ id: z.string(),
1350
+ filename: z.string(),
1351
+ content_type: z.string(),
1352
+ size: z.int()
1353
+ })).optional(),
1354
+ date_created: z.iso.datetime()
1355
+ });
1356
+ export const zTicket = z.object({
1357
+ id: z.string(),
1358
+ status: z.enum([
1359
+ 'waiting_on_us',
1360
+ 'waiting_on_user',
1361
+ 'closed'
1362
+ ]),
1363
+ category: z.enum([
1364
+ 'billing',
1365
+ 'technical',
1366
+ 'general'
1367
+ ]),
1368
+ summary: z.string(),
1369
+ closed_at: z.iso.datetime().optional(),
1370
+ date_created: z.iso.datetime(),
1371
+ date_updated: z.iso.datetime(),
1372
+ messages: z.array(z.object({
1373
+ id: z.string(),
1374
+ type: z.enum(['customer_reply', 'agent_reply']),
1375
+ body: z.string(),
1376
+ author_first_name: z.string().optional(),
1377
+ author_last_name: z.string().optional(),
1378
+ attachments: z.array(z.object({
1379
+ id: z.string(),
1380
+ filename: z.string(),
1381
+ content_type: z.string(),
1382
+ size: z.int()
1383
+ })).optional(),
1384
+ date_created: z.iso.datetime()
1385
+ })).optional()
999
1386
  });
1000
1387
  export const zTokenCreateInput = z.object({
1001
1388
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
1002
- role: z.enum([
1003
- 'Administrator',
1004
- 'User'
1005
- ])
1389
+ role: z.enum(['Administrator', 'User'])
1006
1390
  });
1007
1391
  export const zToken = z.object({
1008
1392
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
1009
- role: z.enum([
1010
- 'Administrator',
1011
- 'User'
1012
- ]),
1393
+ role: z.enum(['Administrator', 'User']),
1013
1394
  id: z.string().optional(),
1014
1395
  secret: z.string().optional(),
1015
- date_created: z.string().datetime()
1396
+ date_created: z.iso.datetime()
1016
1397
  });
1017
1398
  export const zTokenUpdateInput = z.object({
1018
1399
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/).optional(),
1019
- role: z.enum([
1020
- 'Administrator',
1021
- 'User'
1022
- ]).optional()
1400
+ role: z.enum(['Administrator', 'User']).optional()
1401
+ });
1402
+ export const zUsageFacets = z.object({
1403
+ cluster_id: z.array(z.string()).optional(),
1404
+ product: z.array(z.enum([
1405
+ 'cfke_controlplane_basic',
1406
+ 'cfke_controlplane_pro',
1407
+ 'cfke_controlplane_enterprise',
1408
+ 'cfke_connected_nodes_basic',
1409
+ 'cfke_connected_nodes_pro',
1410
+ 'cfke_connected_nodes_enterprise',
1411
+ 'cfcr_storage'
1412
+ ])).optional()
1413
+ });
1414
+ export const zUsageResponse = z.object({
1415
+ data: z.array(z.object({
1416
+ hour: z.string(),
1417
+ cluster_id: z.string(),
1418
+ product: z.enum([
1419
+ 'cfke_controlplane_basic',
1420
+ 'cfke_controlplane_pro',
1421
+ 'cfke_controlplane_enterprise',
1422
+ 'cfke_connected_nodes_basic',
1423
+ 'cfke_connected_nodes_pro',
1424
+ 'cfke_connected_nodes_enterprise',
1425
+ 'cfcr_storage'
1426
+ ]),
1427
+ value: z.number(),
1428
+ price: z.number(),
1429
+ total: z.number()
1430
+ })),
1431
+ facets: z.object({
1432
+ cluster_id: z.array(z.string()).optional(),
1433
+ product: z.array(z.enum([
1434
+ 'cfke_controlplane_basic',
1435
+ 'cfke_controlplane_pro',
1436
+ 'cfke_controlplane_enterprise',
1437
+ 'cfke_connected_nodes_basic',
1438
+ 'cfke_connected_nodes_pro',
1439
+ 'cfke_connected_nodes_enterprise',
1440
+ 'cfcr_storage'
1441
+ ])).optional()
1442
+ })
1023
1443
  });
1024
1444
  export const zUsage = z.object({
1025
- hour: z.string().optional(),
1026
- cluster_id: z.string().uuid(),
1027
- cluster_tier: z.enum([
1028
- 'basic',
1029
- 'pro',
1030
- ''
1031
- ]),
1445
+ hour: z.string(),
1446
+ cluster_id: z.string(),
1032
1447
  product: z.enum([
1033
- 'cfke_controlplane',
1034
- 'cfke_connected_nodes',
1035
- 'infra_compute',
1036
- 'infra_storage',
1037
- 'infra_loadbalancing',
1038
- 'infra_traffic',
1448
+ 'cfke_controlplane_basic',
1449
+ 'cfke_controlplane_pro',
1450
+ 'cfke_controlplane_enterprise',
1451
+ 'cfke_connected_nodes_basic',
1452
+ 'cfke_connected_nodes_pro',
1453
+ 'cfke_connected_nodes_enterprise',
1039
1454
  'cfcr_storage'
1040
1455
  ]),
1041
- node_name: z.string(),
1042
- sku: z.string(),
1043
- cpu: z.union([
1044
- z.number(),
1045
- z.enum([
1046
- ''
1047
- ])
1048
- ]),
1049
- price: z.union([
1050
- z.number(),
1051
- z.enum([
1052
- ''
1053
- ])
1054
- ]),
1055
- value: z.union([
1056
- z.number(),
1057
- z.enum([
1058
- ''
1059
- ])
1060
- ]),
1061
- total: z.union([
1062
- z.number(),
1063
- z.enum([
1064
- ''
1065
- ])
1066
- ])
1456
+ value: z.number(),
1457
+ price: z.number(),
1458
+ total: z.number()
1067
1459
  });
1068
1460
  export const zUserCreateInput = z.object({
1069
- email: z.string().email(),
1461
+ email: z.email(),
1070
1462
  first_name: z.string().min(1).max(50),
1071
1463
  last_name: z.string().min(1).max(50),
1072
1464
  code: z.string(),
1073
- password: z.string().min(8),
1074
- status: z.enum([
1075
- 'active',
1076
- 'inactive'
1077
- ]).optional(),
1078
- role: z.enum([
1079
- 'Administrator',
1080
- 'User'
1081
- ]).optional()
1465
+ password: z.string().min(8)
1082
1466
  });
1083
1467
  export const zUser = z.object({
1084
- email: z.string().email(),
1468
+ email: z.email(),
1085
1469
  first_name: z.string().min(1).max(50),
1086
1470
  last_name: z.string().min(1).max(50),
1087
- role: z.enum([
1088
- 'Administrator',
1089
- 'User'
1090
- ]),
1091
- status: z.enum([
1092
- 'active',
1093
- 'inactive'
1094
- ]),
1095
- id: z.string().uuid(),
1096
- date_created: z.string().datetime()
1471
+ role: z.enum(['Administrator', 'User']),
1472
+ status: z.enum(['active', 'inactive']),
1473
+ id: z.uuid(),
1474
+ date_created: z.iso.datetime()
1097
1475
  });
1098
1476
  export const zUserUpdateInput = z.object({
1099
- email: z.string().email().optional(),
1477
+ email: z.email().optional(),
1100
1478
  first_name: z.string().min(1).max(50).optional(),
1101
1479
  last_name: z.string().min(1).max(50).optional(),
1102
- role: z.enum([
1103
- 'Administrator',
1104
- 'User'
1480
+ role: z.enum(['Administrator', 'User']).optional(),
1481
+ status: z.enum(['active', 'inactive']).optional()
1482
+ });
1483
+ export const zListUserOrganizationsPath = z.object({
1484
+ email: z.string()
1485
+ });
1486
+ /**
1487
+ * An array of organizations the user belongs to.
1488
+ */
1489
+ export const zListUserOrganizationsResponse = z.array(z.object({
1490
+ realm: z.string().optional(),
1491
+ displayName: z.string().optional()
1492
+ }));
1493
+ /**
1494
+ * An array of users
1495
+ */
1496
+ export const zListUsersResponse = z.array(zUser);
1497
+ export const zCreateUserBody = zUserCreateInput;
1498
+ /**
1499
+ * Successfully created. Returns created user details.
1500
+ */
1501
+ export const zCreateUserResponse = zUser;
1502
+ export const zDeleteUserPath = z.object({
1503
+ user_id: z.string()
1504
+ });
1505
+ /**
1506
+ * User profile information
1507
+ */
1508
+ export const zDeleteUserResponse = zUser;
1509
+ export const zGetUserPath = z.object({
1510
+ user_id: z.string()
1511
+ });
1512
+ /**
1513
+ * User profile information
1514
+ */
1515
+ export const zGetUserResponse = zUser;
1516
+ export const zUpdateUserBody = zUserUpdateInput;
1517
+ export const zUpdateUserPath = z.object({
1518
+ user_id: z.string()
1519
+ });
1520
+ /**
1521
+ * Successfully created. Returns created user details.
1522
+ */
1523
+ export const zUpdateUserResponse = zUser;
1524
+ /**
1525
+ * Returns a list of access token details with masked secrets.
1526
+ */
1527
+ export const zListTokensResponse = z.array(zToken);
1528
+ export const zCreateTokenBody = zTokenCreateInput;
1529
+ /**
1530
+ * Successfully created. Returns created token details with unmasked/raw secret.
1531
+ */
1532
+ export const zCreateTokenResponse = zToken;
1533
+ export const zDeleteTokenPath = z.object({
1534
+ token_id: z.string()
1535
+ });
1536
+ export const zGetTokenPath = z.object({
1537
+ token_id: z.string()
1538
+ });
1539
+ /**
1540
+ * Returns access token details with masked secret.
1541
+ */
1542
+ export const zGetTokenResponse = zToken;
1543
+ export const zUpdateTokenBody = zTokenUpdateInput;
1544
+ export const zUpdateTokenPath = z.object({
1545
+ token_id: z.string()
1546
+ });
1547
+ /**
1548
+ * Successfully updated. Returns updated token details with masked secret.
1549
+ */
1550
+ export const zUpdateTokenResponse = zToken;
1551
+ export const zRegenerateTokenPath = z.object({
1552
+ token_id: z.string()
1553
+ });
1554
+ /**
1555
+ * Successfully updated. Returns updated token details with unmasked / raw secret.
1556
+ */
1557
+ export const zRegenerateTokenResponse = zToken;
1558
+ /**
1559
+ * An array of tickets for the organization, newest first.
1560
+ */
1561
+ export const zListTicketsResponse = z.array(zTicket);
1562
+ export const zCreateTicketBody = z.object({
1563
+ payload: z.string().optional(),
1564
+ attachments: z.array(z.string()).optional()
1565
+ });
1566
+ /**
1567
+ * Ticket created.
1568
+ */
1569
+ export const zCreateTicketResponse = zTicket;
1570
+ export const zCloseTicketPath = z.object({
1571
+ ticket_id: z.string()
1572
+ });
1573
+ /**
1574
+ * Ticket closed.
1575
+ */
1576
+ export const zCloseTicketResponse = zTicket;
1577
+ export const zGetTicketPath = z.object({
1578
+ ticket_id: z.string()
1579
+ });
1580
+ /**
1581
+ * Ticket with messages (internal notes excluded).
1582
+ */
1583
+ export const zGetTicketResponse = zTicket;
1584
+ export const zReplyTicketBody = z.object({
1585
+ payload: z.string().optional(),
1586
+ attachments: z.array(z.string()).optional()
1587
+ });
1588
+ export const zReplyTicketPath = z.object({
1589
+ ticket_id: z.string()
1590
+ });
1591
+ /**
1592
+ * Reply appended.
1593
+ */
1594
+ export const zReplyTicketResponse = zTicketMessage;
1595
+ export const zGetTicketAttachmentPath = z.object({
1596
+ ticket_id: z.string(),
1597
+ attachment_id: z.string()
1598
+ });
1599
+ /**
1600
+ * Attachment binary stream.
1601
+ */
1602
+ export const zGetTicketAttachmentResponse = z.string();
1603
+ /**
1604
+ * List of repositories
1605
+ */
1606
+ export const zListRepositoriesResponse = z.array(zRegistryRepository);
1607
+ export const zListTagsPath = z.object({
1608
+ region: z.string(),
1609
+ repository: z.string()
1610
+ });
1611
+ /**
1612
+ * Repository with tags
1613
+ */
1614
+ export const zListTagsResponse = zRegistryRepositoryWithTags;
1615
+ export const zDeleteTagPath = z.object({
1616
+ region: z.string(),
1617
+ repository: z.string(),
1618
+ tag: z.string()
1619
+ });
1620
+ export const zGetTagPath = z.object({
1621
+ region: z.string(),
1622
+ repository: z.string(),
1623
+ tag: z.string()
1624
+ });
1625
+ /**
1626
+ * Tag details
1627
+ */
1628
+ export const zGetTagResponse = zRegistryTag;
1629
+ /**
1630
+ * Returns a single object containing organization details.
1631
+ */
1632
+ export const zGetOrganizationResponse = zOrganization;
1633
+ export const zCreateOrganizationBody = zOrganizationCreateInput;
1634
+ /**
1635
+ * Organization signup accepted. Returns the generated organization id immediately; provisioning (billing, Keycloak realm, user) continues asynchronously in the background.
1636
+ *
1637
+ */
1638
+ export const zCreateOrganizationResponse = zOrganizationCreateOutput;
1639
+ /**
1640
+ * JSON-RPC 2.0 request payload
1641
+ */
1642
+ export const zPostMcpBody = z.object({
1643
+ jsonrpc: z.string().optional(),
1644
+ method: z.string().optional(),
1645
+ id: z.union([
1646
+ z.string(),
1647
+ z.number()
1105
1648
  ]).optional(),
1106
- status: z.enum([
1107
- 'active',
1108
- 'inactive'
1109
- ]).optional()
1649
+ params: z.record(z.string(), z.unknown()).optional()
1110
1650
  });
1111
- export const zGetUsageResponse = z.array(zUsage);
1112
- export const zGetBalanceResponse = z.number();
1113
- export const zGetPaymentMethodResponse = zPaymentMethod;
1114
- export const zGetPaymentMethodSecretResponse = z.object({
1115
- id: z.string().optional()
1651
+ /**
1652
+ * JSON-RPC 2.0 success or error response
1653
+ */
1654
+ export const zPostMcpResponse = z.object({
1655
+ jsonrpc: z.string().optional(),
1656
+ id: z.union([
1657
+ z.string(),
1658
+ z.number()
1659
+ ]).optional(),
1660
+ result: z.record(z.string(), z.unknown()).optional(),
1661
+ error: z.object({
1662
+ code: z.int().optional(),
1663
+ message: z.string().optional()
1664
+ }).optional()
1116
1665
  });
1117
- export const zListInvoicesResponse = z.array(zInvoice);
1118
- export const zGetInvoiceResponse = z.object({
1119
- html: z.string().optional()
1666
+ /**
1667
+ * An array of chart listings in the marketplace.
1668
+ */
1669
+ export const zListMarketplaceChartsResponse = z.array(zMarketplaceListing);
1670
+ export const zGetMarketplaceChartFilesPath = z.object({
1671
+ chart_name: z.string(),
1672
+ version_channel: z.string()
1120
1673
  });
1121
- export const zGetContactResponse = zBillingContact;
1122
- export const zUpdateContactResponse = zBillingContact;
1123
- export const zGetCreditsResponse = z.array(zBillingCredits);
1124
- export const zListChartsResponse = z.array(zChart);
1125
- export const zCreateChartResponse = z.string();
1126
- export const zDeleteChartResponse = z.string();
1127
- export const zGetChartResponse = zChart;
1128
- export const zUpdateChartResponse = z.string();
1674
+ /**
1675
+ * Returns an object containing the chart files for the latest matching version.
1676
+ */
1677
+ export const zGetMarketplaceChartFilesResponse = zMarketplaceListingFiles;
1678
+ /**
1679
+ * An array of invites
1680
+ */
1681
+ export const zListInvitesResponse = z.array(zInvite);
1682
+ export const zCreateInviteBody = zInviteCreateInput;
1683
+ /**
1684
+ * Successfully created. Returns created invite details.
1685
+ */
1686
+ export const zCreateInviteResponse = zInvite;
1687
+ export const zGetInvitePath = z.object({
1688
+ code: z.string()
1689
+ });
1690
+ /**
1691
+ * The invitation code is valid. Returns the invited email and organization.
1692
+ */
1693
+ export const zGetInviteResponse = z.object({
1694
+ email: z.email().optional(),
1695
+ organization_id: z.string().optional()
1696
+ });
1697
+ export const zDeleteInvitePath = z.object({
1698
+ email: z.email()
1699
+ });
1700
+ export const zQueryClusterPath = z.object({
1701
+ cluster_id: z.string()
1702
+ });
1703
+ export const zListFleetsPath = z.object({
1704
+ cluster_id: z.string()
1705
+ });
1706
+ /**
1707
+ * An array of fleets
1708
+ */
1129
1709
  export const zListFleetsResponse = z.array(zFleet);
1710
+ export const zCreateFleetBody = zFleetCreateInput;
1711
+ export const zCreateFleetPath = z.object({
1712
+ cluster_id: z.string()
1713
+ });
1714
+ /**
1715
+ * Successfully created. Returns created Fleet ID.
1716
+ */
1130
1717
  export const zCreateFleetResponse = z.string();
1718
+ export const zDeleteFleetPath = z.object({
1719
+ cluster_id: z.string(),
1720
+ fleet_name: z.string()
1721
+ });
1722
+ /**
1723
+ * Successfully deleted.
1724
+ */
1131
1725
  export const zDeleteFleetResponse = z.string();
1726
+ export const zGetFleetPath = z.object({
1727
+ cluster_id: z.string(),
1728
+ fleet_name: z.string()
1729
+ });
1730
+ /**
1731
+ * Returns a single object containing fleet details.
1732
+ */
1132
1733
  export const zGetFleetResponse = zFleet;
1734
+ export const zUpdateFleetBody = zFleetUpdateInput;
1735
+ export const zUpdateFleetPath = z.object({
1736
+ cluster_id: z.string(),
1737
+ fleet_name: z.string()
1738
+ });
1739
+ /**
1740
+ * Successfully updated.
1741
+ */
1133
1742
  export const zUpdateFleetResponse = z.string();
1743
+ export const zListChartsPath = z.object({
1744
+ cluster_id: z.string()
1745
+ });
1746
+ /**
1747
+ * An array of charts
1748
+ */
1749
+ export const zListChartsResponse = z.array(zChart);
1750
+ export const zCreateChartBody = zChartCreateInput;
1751
+ export const zCreateChartPath = z.object({
1752
+ cluster_id: z.string()
1753
+ });
1754
+ /**
1755
+ * Successfully created. Returns created Chart ID.
1756
+ */
1757
+ export const zCreateChartResponse = z.string();
1758
+ export const zDeleteChartPath = z.object({
1759
+ cluster_id: z.string(),
1760
+ chart_name: z.string()
1761
+ });
1762
+ /**
1763
+ * Successfully deleted.
1764
+ */
1765
+ export const zDeleteChartResponse = z.string();
1766
+ export const zGetChartPath = z.object({
1767
+ cluster_id: z.string(),
1768
+ chart_name: z.string()
1769
+ });
1770
+ /**
1771
+ * Returns a single object containing chart details.
1772
+ */
1773
+ export const zGetChartResponse = zChart;
1774
+ export const zUpdateChartBody = zChartUpdateInput;
1775
+ export const zUpdateChartPath = z.object({
1776
+ cluster_id: z.string(),
1777
+ chart_name: z.string()
1778
+ });
1779
+ /**
1780
+ * Successfully updated.
1781
+ */
1782
+ export const zUpdateChartResponse = z.string();
1783
+ /**
1784
+ * An array of clusters
1785
+ */
1134
1786
  export const zListClustersResponse = z.array(zCluster);
1787
+ export const zCreateClusterBody = zClusterCreateInput;
1788
+ /**
1789
+ * Successfully created. Returns created Cluster ID.
1790
+ */
1135
1791
  export const zCreateClusterResponse = z.string();
1792
+ export const zDeleteClusterPath = z.object({
1793
+ cluster_id: z.string()
1794
+ });
1795
+ /**
1796
+ * Successfully deleted. The cluster has been torn down.
1797
+ */
1136
1798
  export const zDeleteClusterResponse = z.string();
1799
+ export const zGetClusterPath = z.object({
1800
+ cluster_id: z.string()
1801
+ });
1802
+ /**
1803
+ * Returns a single object containing cluster details.
1804
+ */
1137
1805
  export const zGetClusterResponse = zCluster;
1806
+ export const zUpdateClusterBody = zClusterUpdateInput;
1807
+ export const zUpdateClusterPath = z.object({
1808
+ cluster_id: z.string()
1809
+ });
1810
+ /**
1811
+ * Successfully updated. Returns updated cluster details.
1812
+ */
1138
1813
  export const zUpdateClusterResponse = zCluster;
1139
- export const zGetJoinInformationResponse = zCluster;
1140
- export const zListInvitesResponse = z.array(zInvite);
1141
- export const zCreateInviteResponse = zInvite;
1142
- export const zGetInviteResponse = zInvite;
1143
- export const zListMarketplaceChartsResponse = z.array(zMarketplaceListing);
1144
- export const zGetMarketplaceChartResponse = zMarketplaceListing;
1145
- export const zGetOrganizationResponse = zOrganization;
1146
- export const zListTokensResponse = z.array(zToken);
1147
- export const zCreateTokenResponse = zToken;
1148
- export const zGetTokenResponse = zToken;
1149
- export const zUpdateTokenResponse = zToken;
1150
- export const zRegenerateTokenResponse = zToken;
1151
- export const zListUserOrganizationsResponse = z.array(z.object({
1152
- realm: z.string().optional(),
1153
- displayName: z.string().optional()
1154
- }));
1155
- export const zListUsersResponse = z.array(zUser);
1156
- export const zCreateUserResponse = zUser;
1157
- export const zDeleteUserResponse = zUser;
1158
- export const zGetUserResponse = zUser;
1159
- export const zUpdateUserResponse = zUser;
1814
+ export const zGetJoinInformationPath = z.object({
1815
+ cluster_id: z.string()
1816
+ });
1817
+ /**
1818
+ * An object of cluster join information
1819
+ */
1820
+ export const zGetJoinInformationResponse = zClusterJoinInformation;
1821
+ export const zGetUsageQuery = z.object({
1822
+ granularity: z.enum([
1823
+ 'hourly',
1824
+ 'daily',
1825
+ 'monthly'
1826
+ ]).optional().default('daily')
1827
+ });
1828
+ /**
1829
+ * Usage data with facets for filtering
1830
+ */
1831
+ export const zGetUsageResponse = zUsageResponse;
1832
+ /**
1833
+ * 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.
1834
+ *
1835
+ */
1836
+ export const zGetPaymentMethodSecretResponse = z.object({
1837
+ id: z.string().optional()
1838
+ });
1839
+ /**
1840
+ * An array of payment methods.
1841
+ */
1842
+ export const zListPaymentMethodsResponse = z.array(zPaymentMethod);
1843
+ export const zSetDefaultPaymentMethodPath = z.object({
1844
+ paymentMethodId: z.string()
1845
+ });
1846
+ /**
1847
+ * Default payment method updated.
1848
+ */
1849
+ export const zSetDefaultPaymentMethodResponse = z.void();
1850
+ export const zDeletePaymentMethodPath = z.object({
1851
+ paymentMethodId: z.string()
1852
+ });
1853
+ /**
1854
+ * Payment method deleted.
1855
+ */
1856
+ export const zDeletePaymentMethodResponse = z.void();
1857
+ /**
1858
+ * An array of usage records.
1859
+ */
1860
+ export const zListInvoicesResponse = z.array(zInvoice);
1861
+ /**
1862
+ * The outcome of the attempt.
1863
+ */
1864
+ export const zPayOpenInvoicesResponse = zInvoicePaymentResult;
1865
+ /**
1866
+ * Returns a single object containing organization contact and billing address details.
1867
+ */
1868
+ export const zGetContactResponse = zBillingContact;
1869
+ export const zUpdateContactBody = zBillingContact;
1870
+ /**
1871
+ * Successfully updated. Returns updated organization details.
1872
+ */
1873
+ export const zUpdateContactResponse = zBillingContact;
1874
+ /**
1875
+ * An array of the applied promotional credits records.
1876
+ */
1877
+ export const zGetCreditsResponse = z.array(zBillingCredits);
1878
+ export const zRedeemCreditsBody = z.object({
1879
+ code: z.string().optional()
1880
+ });
1160
1881
  //# sourceMappingURL=zod.gen.js.map