@cloudfleet/sdk 0.0.1-16d9790 → 0.0.1-17d20e1

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