@cloudfleet/sdk 0.0.1-d582884 → 0.0.1-d7d095d

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 (60) hide show
  1. package/dist/@tanstack/react-query.gen.d.ts +1125 -0
  2. package/dist/@tanstack/react-query.gen.d.ts.map +1 -0
  3. package/dist/@tanstack/react-query.gen.js +1129 -0
  4. package/dist/@tanstack/react-query.gen.js.map +1 -0
  5. package/dist/client/client.gen.d.ts.map +1 -1
  6. package/dist/client/client.gen.js +113 -98
  7. package/dist/client/client.gen.js.map +1 -1
  8. package/dist/client/index.d.ts +1 -1
  9. package/dist/client/index.d.ts.map +1 -1
  10. package/dist/client/index.js.map +1 -1
  11. package/dist/client/types.gen.d.ts +9 -13
  12. package/dist/client/types.gen.d.ts.map +1 -1
  13. package/dist/client/utils.gen.d.ts +6 -2
  14. package/dist/client/utils.gen.d.ts.map +1 -1
  15. package/dist/client/utils.gen.js +10 -12
  16. package/dist/client/utils.gen.js.map +1 -1
  17. package/dist/client.gen.d.ts.map +1 -1
  18. package/dist/client.gen.js +1 -3
  19. package/dist/client.gen.js.map +1 -1
  20. package/dist/core/auth.gen.d.ts.map +1 -1
  21. package/dist/core/auth.gen.js.map +1 -1
  22. package/dist/core/bodySerializer.gen.d.ts +16 -8
  23. package/dist/core/bodySerializer.gen.d.ts.map +1 -1
  24. package/dist/core/bodySerializer.gen.js +1 -1
  25. package/dist/core/bodySerializer.gen.js.map +1 -1
  26. package/dist/core/params.gen.d.ts +10 -0
  27. package/dist/core/params.gen.d.ts.map +1 -1
  28. package/dist/core/params.gen.js +18 -6
  29. package/dist/core/params.gen.js.map +1 -1
  30. package/dist/core/pathSerializer.gen.d.ts.map +1 -1
  31. package/dist/core/pathSerializer.gen.js +3 -11
  32. package/dist/core/pathSerializer.gen.js.map +1 -1
  33. package/dist/core/queryKeySerializer.gen.d.ts.map +1 -1
  34. package/dist/core/queryKeySerializer.gen.js +4 -11
  35. package/dist/core/queryKeySerializer.gen.js.map +1 -1
  36. package/dist/core/serverSentEvents.gen.d.ts +1 -1
  37. package/dist/core/serverSentEvents.gen.d.ts.map +1 -1
  38. package/dist/core/serverSentEvents.gen.js +6 -9
  39. package/dist/core/serverSentEvents.gen.js.map +1 -1
  40. package/dist/core/types.gen.d.ts +1 -1
  41. package/dist/core/types.gen.d.ts.map +1 -1
  42. package/dist/core/utils.gen.d.ts.map +1 -1
  43. package/dist/core/utils.gen.js +1 -1
  44. package/dist/core/utils.gen.js.map +1 -1
  45. package/dist/schemas.gen.d.ts +689 -73
  46. package/dist/schemas.gen.d.ts.map +1 -1
  47. package/dist/schemas.gen.js +2022 -162
  48. package/dist/schemas.gen.js.map +1 -1
  49. package/dist/sdk.gen.d.ts +45 -5
  50. package/dist/sdk.gen.d.ts.map +1 -1
  51. package/dist/sdk.gen.js +105 -141
  52. package/dist/sdk.gen.js.map +1 -1
  53. package/dist/services/kubernetes/api.d.ts +8 -8
  54. package/dist/types.gen.d.ts +520 -54
  55. package/dist/types.gen.d.ts.map +1 -1
  56. package/dist/zod.gen.d.ts +2419 -610
  57. package/dist/zod.gen.d.ts.map +1 -1
  58. package/dist/zod.gen.js +1107 -505
  59. package/dist/zod.gen.js.map +1 -1
  60. package/package.json +28 -5
@@ -74,10 +74,142 @@ export const BillingContactSchema = {
74
74
  nullable: true,
75
75
  description: 'Type of the tax ID.',
76
76
  example: 'de_vat',
77
- enum: ['ad_nrt', 'ae_trn', 'al_tin', 'am_tin', 'ao_tin', 'ar_cuit', 'at_vat', 'au_abn', 'au_arn', 'ba_tin', 'bb_tin', 'be_vat', 'bg_uic', 'bg_vat', 'bh_vat', 'bo_tin', 'br_cnpj', 'br_cpf', 'bs_tin', 'by_tin', 'ca_bn', 'ca_gst_hst', 'ca_pst_bc', 'ca_pst_mb', 'ca_pst_sk', 'ca_qst', 'cd_nif', 'ch_uid', 'ch_vat', 'cl_tin', 'cn_tin', 'co_nit', 'cr_tin', 'cy_vat', 'cz_vat', 'de_stn', 'de_vat', 'dk_vat', 'do_rcn', 'ec_ruc', 'ee_vat', 'eg_tin', 'es_cif', 'es_vat', 'eu_oss_vat', 'fi_vat', 'fr_vat', 'gb_vat', 'ge_vat', 'gn_nif', 'gr_vat', 'hk_br', 'hr_oib', 'hr_vat', 'hu_tin', 'hu_vat', 'id_npwp', 'ie_vat', 'il_vat', 'in_gst', 'is_vat', 'it_vat', 'jp_cn', 'jp_rn', 'jp_trn', 'ke_pin', 'kh_tin', 'kr_brn', 'kz_bin', 'li_uid', 'li_vat', 'lt_vat', 'lu_vat', 'lv_vat', 'ma_vat', 'md_vat', 'me_pib', 'mk_vat', 'mr_nif', 'mt_vat', 'mx_rfc', 'my_frp', 'my_itn', 'my_sst', 'ng_tin', 'nl_vat', 'no_vat', 'no_voec', 'np_pan', 'nz_gst', 'om_vat', 'pe_ruc', 'ph_tin', 'pl_vat', 'pt_vat', 'ro_tin', 'ro_vat', 'rs_pib', 'ru_inn', 'ru_kpp', 'sa_vat', 'se_vat', 'sg_gst', 'sg_uen', 'si_tin', 'si_vat', 'sk_vat', 'sn_ninea', 'sr_fin', 'sv_nit', 'th_vat', 'tj_tin', 'tr_tin', 'tw_vat', 'tz_vat', 'ua_vat', 'ug_tin', 'us_ein', 'uy_ruc', 'uz_tin', 'uz_vat', 've_rif', 'vn_tin', 'xi_vat', 'za_vat', 'zm_tin', 'zw_tin', '']
77
+ enum: [
78
+ 'ad_nrt',
79
+ 'ae_trn',
80
+ 'al_tin',
81
+ 'am_tin',
82
+ 'ao_tin',
83
+ 'ar_cuit',
84
+ 'at_vat',
85
+ 'au_abn',
86
+ 'au_arn',
87
+ 'ba_tin',
88
+ 'bb_tin',
89
+ 'be_vat',
90
+ 'bg_uic',
91
+ 'bg_vat',
92
+ 'bh_vat',
93
+ 'bo_tin',
94
+ 'br_cnpj',
95
+ 'br_cpf',
96
+ 'bs_tin',
97
+ 'by_tin',
98
+ 'ca_bn',
99
+ 'ca_gst_hst',
100
+ 'ca_pst_bc',
101
+ 'ca_pst_mb',
102
+ 'ca_pst_sk',
103
+ 'ca_qst',
104
+ 'cd_nif',
105
+ 'ch_uid',
106
+ 'ch_vat',
107
+ 'cl_tin',
108
+ 'cn_tin',
109
+ 'co_nit',
110
+ 'cr_tin',
111
+ 'cy_vat',
112
+ 'cz_vat',
113
+ 'de_stn',
114
+ 'de_vat',
115
+ 'dk_vat',
116
+ 'do_rcn',
117
+ 'ec_ruc',
118
+ 'ee_vat',
119
+ 'eg_tin',
120
+ 'es_cif',
121
+ 'es_vat',
122
+ 'eu_oss_vat',
123
+ 'fi_vat',
124
+ 'fr_vat',
125
+ 'gb_vat',
126
+ 'ge_vat',
127
+ 'gn_nif',
128
+ 'gr_vat',
129
+ 'hk_br',
130
+ 'hr_oib',
131
+ 'hr_vat',
132
+ 'hu_tin',
133
+ 'hu_vat',
134
+ 'id_npwp',
135
+ 'ie_vat',
136
+ 'il_vat',
137
+ 'in_gst',
138
+ 'is_vat',
139
+ 'it_vat',
140
+ 'jp_cn',
141
+ 'jp_rn',
142
+ 'jp_trn',
143
+ 'ke_pin',
144
+ 'kh_tin',
145
+ 'kr_brn',
146
+ 'kz_bin',
147
+ 'li_uid',
148
+ 'li_vat',
149
+ 'lt_vat',
150
+ 'lu_vat',
151
+ 'lv_vat',
152
+ 'ma_vat',
153
+ 'md_vat',
154
+ 'me_pib',
155
+ 'mk_vat',
156
+ 'mr_nif',
157
+ 'mt_vat',
158
+ 'mx_rfc',
159
+ 'my_frp',
160
+ 'my_itn',
161
+ 'my_sst',
162
+ 'ng_tin',
163
+ 'nl_vat',
164
+ 'no_vat',
165
+ 'no_voec',
166
+ 'np_pan',
167
+ 'nz_gst',
168
+ 'om_vat',
169
+ 'pe_ruc',
170
+ 'ph_tin',
171
+ 'pl_vat',
172
+ 'pt_vat',
173
+ 'ro_tin',
174
+ 'ro_vat',
175
+ 'rs_pib',
176
+ 'ru_inn',
177
+ 'ru_kpp',
178
+ 'sa_vat',
179
+ 'se_vat',
180
+ 'sg_gst',
181
+ 'sg_uen',
182
+ 'si_tin',
183
+ 'si_vat',
184
+ 'sk_vat',
185
+ 'sn_ninea',
186
+ 'sr_fin',
187
+ 'sv_nit',
188
+ 'th_vat',
189
+ 'tj_tin',
190
+ 'tr_tin',
191
+ 'tw_vat',
192
+ 'tz_vat',
193
+ 'ua_vat',
194
+ 'ug_tin',
195
+ 'us_ein',
196
+ 'uy_ruc',
197
+ 'uz_tin',
198
+ 'uz_vat',
199
+ 've_rif',
200
+ 'vn_tin',
201
+ 'xi_vat',
202
+ 'za_vat',
203
+ 'zm_tin',
204
+ 'zw_tin',
205
+ ''
206
+ ]
78
207
  }
79
208
  },
80
- required: ['email', 'individual_name'],
209
+ required: [
210
+ 'email',
211
+ 'individual_name'
212
+ ],
81
213
  additionalProperties: false
82
214
  };
83
215
  export const BillingCreditsSchema = {
@@ -92,7 +224,10 @@ export const BillingCreditsSchema = {
92
224
  type: 'string',
93
225
  description: 'Type of the promotional code.',
94
226
  example: 'credit',
95
- enum: ['credit', 'discount']
227
+ enum: [
228
+ 'credit',
229
+ 'discount'
230
+ ]
96
231
  },
97
232
  date_start: {
98
233
  type: 'string',
@@ -129,7 +264,12 @@ export const BillingCreditsSchema = {
129
264
  example: 8
130
265
  }
131
266
  },
132
- required: ['type', 'date_start', 'code', 'value_total'],
267
+ required: [
268
+ 'type',
269
+ 'date_start',
270
+ 'code',
271
+ 'value_total'
272
+ ],
133
273
  additionalProperties: false
134
274
  };
135
275
  export const ChartCreateInputSchema = {
@@ -170,7 +310,13 @@ export const ChartCreateInputSchema = {
170
310
  example: 'postgresql'
171
311
  }
172
312
  },
173
- required: ['values', 'version_channel', 'name', 'namespace', 'chart'],
313
+ required: [
314
+ 'values',
315
+ 'version_channel',
316
+ 'name',
317
+ 'namespace',
318
+ 'chart'
319
+ ],
174
320
  additionalProperties: false
175
321
  };
176
322
  export const ChartSchema = {
@@ -214,7 +360,22 @@ export const ChartSchema = {
214
360
  type: 'string',
215
361
  description: 'Status of the chart deployment.',
216
362
  example: 'active',
217
- enum: ['InstallSucceeded', 'InstallFailed', 'UpgradeSucceeded', 'UpgradeFailed', 'TestSucceeded', 'TestFailed', 'RollbackSucceeded', 'RollbackFailed', 'UninstallSucceeded', 'UninstallFailed', 'ArtifactFailed', 'DependencyNotReady', 'Progressing', 'SourceNotReady']
363
+ enum: [
364
+ 'InstallSucceeded',
365
+ 'InstallFailed',
366
+ 'UpgradeSucceeded',
367
+ 'UpgradeFailed',
368
+ 'TestSucceeded',
369
+ 'TestFailed',
370
+ 'RollbackSucceeded',
371
+ 'RollbackFailed',
372
+ 'UninstallSucceeded',
373
+ 'UninstallFailed',
374
+ 'ArtifactFailed',
375
+ 'DependencyNotReady',
376
+ 'Progressing',
377
+ 'SourceNotReady'
378
+ ]
218
379
  },
219
380
  version_current: {
220
381
  type: 'string',
@@ -237,7 +398,18 @@ export const ChartSchema = {
237
398
  example: true
238
399
  }
239
400
  },
240
- required: ['values', 'version_channel', 'name', 'namespace', 'chart', 'status', 'version_current', 'created_at', 'updated_at', 'ready'],
401
+ required: [
402
+ 'values',
403
+ 'version_channel',
404
+ 'name',
405
+ 'namespace',
406
+ 'chart',
407
+ 'status',
408
+ 'version_current',
409
+ 'created_at',
410
+ 'updated_at',
411
+ 'ready'
412
+ ],
241
413
  additionalProperties: false
242
414
  };
243
415
  export const ChartUpdateInputSchema = {
@@ -254,7 +426,10 @@ export const ChartUpdateInputSchema = {
254
426
  example: '2.x.x-cfke.x'
255
427
  }
256
428
  },
257
- required: ['values', 'version_channel'],
429
+ required: [
430
+ 'values',
431
+ 'version_channel'
432
+ ],
258
433
  additionalProperties: false
259
434
  };
260
435
  export const ClusterCreateInputSchema = {
@@ -272,14 +447,22 @@ export const ClusterCreateInputSchema = {
272
447
  type: 'string',
273
448
  description: 'Tier of the cluster.',
274
449
  example: 'pro',
275
- enum: ['basic', 'pro']
450
+ enum: [
451
+ 'basic',
452
+ 'pro'
453
+ ]
276
454
  },
277
455
  region: {
278
456
  type: 'string',
279
- description: 'Cloudfleet control plane region. One of "staging", "northamerica-central-1", "europe-central-1a", "northamerica-central-1a". This field can not be updated after creation.',
280
- default: 'staging',
457
+ description: 'Cloudfleet control plane region. One of "staging-1a", "northamerica-central-1", "europe-central-1a", "northamerica-central-1a". This field can not be updated after creation.',
458
+ default: 'staging-1a',
281
459
  example: 'northamerica-central-1a',
282
- enum: ['staging', 'northamerica-central-1', 'europe-central-1a', 'northamerica-central-1a']
460
+ enum: [
461
+ 'staging-1a',
462
+ 'northamerica-central-1',
463
+ 'europe-central-1a',
464
+ 'northamerica-central-1a'
465
+ ]
283
466
  },
284
467
  version_channel: {
285
468
  type: 'string',
@@ -287,10 +470,18 @@ export const ClusterCreateInputSchema = {
287
470
  description: 'Version of the kubernetes cluster.',
288
471
  default: '1.x.x-cfke.x',
289
472
  example: '1.x.x-cfke.x',
290
- enum: ['1.x.x-cfke.x', '1.31.x-cfke.x', '1.32.x-cfke.x', '1.33.x-cfke.x']
473
+ enum: [
474
+ '1.x.x-cfke.x',
475
+ '1.31.x-cfke.x',
476
+ '1.32.x-cfke.x',
477
+ '1.33.x-cfke.x'
478
+ ]
291
479
  }
292
480
  },
293
- required: ['name', 'tier'],
481
+ required: [
482
+ 'name',
483
+ 'tier'
484
+ ],
294
485
  additionalProperties: false
295
486
  };
296
487
  export const ClusterJoinInformationSchema = {
@@ -299,8 +490,7 @@ export const ClusterJoinInformationSchema = {
299
490
  certificate_authority: {
300
491
  type: 'string',
301
492
  description: 'Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.',
302
- example: `-----BEGIN CERTIFICATE-----
303
- MIIC0DCCAbigAwIBAgI...`
493
+ example: '-----BEGIN CERTIFICATE-----\nMIIC0DCCAbigAwIBAgI...'
304
494
  },
305
495
  endpoint: {
306
496
  type: 'string',
@@ -308,6 +498,11 @@ MIIC0DCCAbigAwIBAgI...`
308
498
  description: 'Internal URL of the Kubernetes cluster control plane. This is the endpoint that kubelet uses to connect to the cluster.',
309
499
  example: 'https://10.31.64.7:6443'
310
500
  },
501
+ cluster_dns: {
502
+ type: 'string',
503
+ description: 'Cluster DNS IP address. This is the IP address of the kube-dns service in the cluster.',
504
+ example: '10.96.0.10'
505
+ },
311
506
  auth_key: {
312
507
  type: 'string',
313
508
  description: 'Authentication key for the cluster.',
@@ -342,7 +537,12 @@ MIIC0DCCAbigAwIBAgI...`
342
537
  example: '565.0.0'
343
538
  }
344
539
  },
345
- required: ['kubernetes', 'tailscale', 'containerd', 'nvidia_driver'],
540
+ required: [
541
+ 'kubernetes',
542
+ 'tailscale',
543
+ 'containerd',
544
+ 'nvidia_driver'
545
+ ],
346
546
  additionalProperties: false,
347
547
  description: 'Versions of the different components of the cluster.'
348
548
  },
@@ -365,12 +565,24 @@ MIIC0DCCAbigAwIBAgI...`
365
565
  example: '//iam.googleapis.com/projects/89014267864/locations/global/workloadIdentityPools/cfke/providers/oidc'
366
566
  }
367
567
  },
368
- required: ['metadata_url', 'aws_role_arn', 'gcp_workload_identity_provider'],
568
+ required: [
569
+ 'metadata_url',
570
+ 'aws_role_arn',
571
+ 'gcp_workload_identity_provider'
572
+ ],
369
573
  additionalProperties: false,
370
- description: "OIDC Information for hosts to access to third party API's."
574
+ description: 'OIDC Information for hosts to access to third party API\'s.'
371
575
  }
372
576
  },
373
- required: ['certificate_authority', 'endpoint', 'auth_key', 'bootstrap_token', 'versions', 'third_party_api_access_config'],
577
+ required: [
578
+ 'certificate_authority',
579
+ 'endpoint',
580
+ 'cluster_dns',
581
+ 'auth_key',
582
+ 'bootstrap_token',
583
+ 'versions',
584
+ 'third_party_api_access_config'
585
+ ],
374
586
  additionalProperties: false
375
587
  };
376
588
  export const ClusterSchema = {
@@ -388,14 +600,22 @@ export const ClusterSchema = {
388
600
  type: 'string',
389
601
  description: 'Tier of the cluster.',
390
602
  example: 'pro',
391
- enum: ['basic', 'pro']
603
+ enum: [
604
+ 'basic',
605
+ 'pro'
606
+ ]
392
607
  },
393
608
  region: {
394
609
  type: 'string',
395
- description: 'Cloudfleet control plane region. One of "staging", "northamerica-central-1", "europe-central-1a", "northamerica-central-1a". This field can not be updated after creation.',
396
- default: 'staging',
610
+ description: 'Cloudfleet control plane region. One of "staging-1a", "northamerica-central-1", "europe-central-1a", "northamerica-central-1a". This field can not be updated after creation.',
611
+ default: 'staging-1a',
397
612
  example: 'northamerica-central-1a',
398
- enum: ['staging', 'northamerica-central-1', 'europe-central-1a', 'northamerica-central-1a']
613
+ enum: [
614
+ 'staging-1a',
615
+ 'northamerica-central-1',
616
+ 'europe-central-1a',
617
+ 'northamerica-central-1a'
618
+ ]
399
619
  },
400
620
  id: {
401
621
  type: 'string',
@@ -407,27 +627,52 @@ export const ClusterSchema = {
407
627
  type: 'string',
408
628
  description: 'Status of the cluster. When creating a new cluster, set to `active`. When deleting a clusters, set to `deleted`.',
409
629
  example: 'active',
410
- enum: ['active', 'disabled', 'deleted', 'creating', 'deployed', 'failed', 'updating']
630
+ enum: [
631
+ 'active',
632
+ 'disabled',
633
+ 'deleted',
634
+ 'creating',
635
+ 'deployed',
636
+ 'failed',
637
+ 'updating'
638
+ ]
411
639
  },
412
640
  endpoint: {
413
641
  anyOf: [
414
642
  {
415
643
  type: 'string',
416
644
  format: 'uri',
417
- description: 'URL of the Kubernetes cluster control plane. This is the endpoint that kubectl uses to connect to the cluster.',
645
+ description: 'URL signed by the private CA of the Kubernetes cluster control plane. This is the endpoint that kubectl uses to connect to the cluster. (Deprecated, use endpoint_public instead)',
418
646
  example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.cloudfleet.dev:6443'
419
647
  },
420
648
  {
421
649
  type: 'string',
422
- enum: ['']
650
+ enum: [
651
+ ''
652
+ ]
653
+ }
654
+ ]
655
+ },
656
+ endpoint_public: {
657
+ anyOf: [
658
+ {
659
+ type: 'string',
660
+ format: 'uri',
661
+ description: 'URL signed by a public CA of the Kubernetes cluster control plane. This is the endpoint that kubectl uses to connect to the cluster.',
662
+ example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.io'
663
+ },
664
+ {
665
+ type: 'string',
666
+ enum: [
667
+ ''
668
+ ]
423
669
  }
424
670
  ]
425
671
  },
426
672
  certificate_ca: {
427
673
  type: 'string',
428
674
  description: 'Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.',
429
- example: `-----BEGIN CERTIFICATE-----
430
- MIIC0DCCAbigAwIBAgI...`
675
+ example: '-----BEGIN CERTIFICATE-----\nMIIC0DCCAbigAwIBAgI...'
431
676
  },
432
677
  version_current: {
433
678
  type: 'string',
@@ -456,7 +701,12 @@ MIIC0DCCAbigAwIBAgI...`
456
701
  example: '1.x.x-cfke.x'
457
702
  }
458
703
  },
459
- required: ['name', 'tier', 'id', 'status'],
704
+ required: [
705
+ 'name',
706
+ 'tier',
707
+ 'id',
708
+ 'status'
709
+ ],
460
710
  additionalProperties: false
461
711
  };
462
712
  export const ClusterUpdateInputSchema = {
@@ -474,7 +724,10 @@ export const ClusterUpdateInputSchema = {
474
724
  type: 'string',
475
725
  description: 'Tier of the cluster.',
476
726
  example: 'pro',
477
- enum: ['basic', 'pro']
727
+ enum: [
728
+ 'basic',
729
+ 'pro'
730
+ ]
478
731
  },
479
732
  version_channel: {
480
733
  type: 'string',
@@ -483,7 +736,9 @@ export const ClusterUpdateInputSchema = {
483
736
  example: '1.x.x-cfke.x'
484
737
  }
485
738
  },
486
- required: ['tier'],
739
+ required: [
740
+ 'tier'
741
+ ],
487
742
  additionalProperties: false
488
743
  };
489
744
  export const FleetCreateInputSchema = {
@@ -493,13 +748,12 @@ export const FleetCreateInputSchema = {
493
748
  type: 'object',
494
749
  properties: {
495
750
  cpu: {
496
- type: 'number',
497
- format: 'float',
751
+ type: 'integer',
498
752
  minimum: 0,
499
- description: 'CPU limit in cores.'
753
+ maximum: 100000,
754
+ description: 'CPU limit in cores. Maximum 100,000.'
500
755
  }
501
756
  },
502
- required: ['cpu'],
503
757
  additionalProperties: false,
504
758
  description: 'Limits define a set of bounds for provisioning capacity.'
505
759
  },
@@ -507,47 +761,345 @@ export const FleetCreateInputSchema = {
507
761
  type: 'object',
508
762
  properties: {
509
763
  enabled: {
510
- type: 'boolean',
511
- default: true
764
+ type: 'boolean'
512
765
  },
513
766
  project: {
514
767
  type: 'string',
515
- description: 'Project GCP Project id to deploy instances into'
768
+ pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
769
+ description: 'GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.',
770
+ example: 'my-cloudfleet-project'
516
771
  }
517
772
  },
518
- required: ['project'],
773
+ required: [
774
+ 'enabled'
775
+ ],
519
776
  additionalProperties: false
520
777
  },
521
778
  hetzner: {
522
779
  type: 'object',
523
780
  properties: {
524
781
  enabled: {
525
- type: 'boolean',
526
- default: true
782
+ type: 'boolean'
527
783
  },
528
784
  apiKey: {
529
785
  type: 'string',
530
- description: 'Hetzner Cloud API key with read / write access'
786
+ maxLength: 64,
787
+ minLength: 64,
788
+ pattern: '^[A-Za-z0-9]+$',
789
+ description: 'Hetzner Cloud API token with read / write access (64 alphanumeric characters). Omit this field to keep the existing value.'
531
790
  }
532
791
  },
533
- required: ['apiKey'],
792
+ required: [
793
+ 'enabled'
794
+ ],
534
795
  additionalProperties: false
535
796
  },
536
797
  aws: {
537
798
  type: 'object',
538
799
  properties: {
539
800
  enabled: {
540
- type: 'boolean',
541
- default: true
801
+ type: 'boolean'
542
802
  },
543
803
  controllerRoleArn: {
544
804
  type: 'string',
545
- description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
805
+ pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
806
+ description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
807
+ example: 'arn:aws:iam::123456789012:role/Cloudfleet'
546
808
  }
547
809
  },
548
- required: ['controllerRoleArn'],
810
+ required: [
811
+ 'enabled'
812
+ ],
549
813
  additionalProperties: false
550
814
  },
815
+ constraints: {
816
+ type: 'object',
817
+ properties: {
818
+ 'karpenter.sh/capacity-type': {
819
+ type: 'array',
820
+ items: {
821
+ type: 'string',
822
+ enum: [
823
+ 'on-demand',
824
+ 'spot'
825
+ ]
826
+ },
827
+ minItems: 1,
828
+ description: 'Allowed values for `karpenter.sh/capacity-type`.',
829
+ default: [
830
+ 'on-demand',
831
+ 'spot'
832
+ ]
833
+ },
834
+ 'kubernetes.io/arch': {
835
+ type: 'array',
836
+ items: {
837
+ type: 'string',
838
+ enum: [
839
+ 'amd64',
840
+ 'arm64'
841
+ ]
842
+ },
843
+ minItems: 1,
844
+ description: 'Allowed values for `kubernetes.io/arch`.',
845
+ default: [
846
+ 'amd64'
847
+ ]
848
+ },
849
+ 'cfke.io/instance-family': {
850
+ type: 'array',
851
+ items: {
852
+ type: 'string',
853
+ enum: [
854
+ 'a1',
855
+ 'a2',
856
+ 'a3',
857
+ 'a4',
858
+ 'c1',
859
+ 'c2',
860
+ 'c2d',
861
+ 'c3',
862
+ 'c3d',
863
+ 'c4',
864
+ 'c4a',
865
+ 'c4d',
866
+ 'c5',
867
+ 'c5a',
868
+ 'c5ad',
869
+ 'c5d',
870
+ 'c5n',
871
+ 'c6a',
872
+ 'c6g',
873
+ 'c6gd',
874
+ 'c6gn',
875
+ 'c6i',
876
+ 'c6id',
877
+ 'c6in',
878
+ 'c7a',
879
+ 'c7g',
880
+ 'c7gd',
881
+ 'c7gn',
882
+ 'c7i',
883
+ 'c7i-flex',
884
+ 'c8g',
885
+ 'c8gd',
886
+ 'cax',
887
+ 'ccx',
888
+ 'cpx',
889
+ 'cx',
890
+ 'd2',
891
+ 'd3',
892
+ 'd3en',
893
+ 'dl1',
894
+ 'dl2q',
895
+ 'e2',
896
+ 'f1',
897
+ 'f2',
898
+ 'g1',
899
+ 'g2',
900
+ 'g4ad',
901
+ 'g4dn',
902
+ 'g5',
903
+ 'g5g',
904
+ 'g6',
905
+ 'g6e',
906
+ 'gr6',
907
+ 'h1',
908
+ 'h3',
909
+ 'hpc6a',
910
+ 'hpc6id',
911
+ 'hpc7a',
912
+ 'hpc7g',
913
+ 'i2',
914
+ 'i3',
915
+ 'i3en',
916
+ 'i4g',
917
+ 'i4i',
918
+ 'i7i',
919
+ 'i7ie',
920
+ 'i8g',
921
+ 'im4gn',
922
+ 'inf1',
923
+ 'inf2',
924
+ 'is4gen',
925
+ 'm1',
926
+ 'm2',
927
+ 'm3',
928
+ 'm4',
929
+ 'm5',
930
+ 'm5a',
931
+ 'm5ad',
932
+ 'm5d',
933
+ 'm5dn',
934
+ 'm5n',
935
+ 'm5zn',
936
+ 'm6a',
937
+ 'm6g',
938
+ 'm6gd',
939
+ 'm6i',
940
+ 'm6id',
941
+ 'm6idn',
942
+ 'm6in',
943
+ 'm7a',
944
+ 'm7g',
945
+ 'm7gd',
946
+ 'm7i',
947
+ 'm7i-flex',
948
+ 'm8g',
949
+ 'm8gd',
950
+ 'n1',
951
+ 'n2',
952
+ 'n2d',
953
+ 'n4',
954
+ 'p3',
955
+ 'p3dn',
956
+ 'p4d',
957
+ 'p4de',
958
+ 'p5',
959
+ 'p5e',
960
+ 'p5en',
961
+ 'p6-b200',
962
+ 'r3',
963
+ 'r4',
964
+ 'r5',
965
+ 'r5a',
966
+ 'r5ad',
967
+ 'r5b',
968
+ 'r5d',
969
+ 'r5dn',
970
+ 'r5n',
971
+ 'r6a',
972
+ 'r6g',
973
+ 'r6gd',
974
+ 'r6i',
975
+ 'r6id',
976
+ 'r6idn',
977
+ 'r6in',
978
+ 'r7a',
979
+ 'r7g',
980
+ 'r7gd',
981
+ 'r7i',
982
+ 'r7iz',
983
+ 'r8g',
984
+ 'r8gd',
985
+ 't2',
986
+ 't2a',
987
+ 't2d',
988
+ 't3',
989
+ 't3a',
990
+ 't4g',
991
+ 'trn1',
992
+ 'trn1n',
993
+ 'u-3tb1',
994
+ 'u-6tb1',
995
+ 'u7i-12tb',
996
+ 'u7i-6tb',
997
+ 'u7i-8tb',
998
+ 'u7in-16tb',
999
+ 'u7in-24tb',
1000
+ 'u7in-32tb',
1001
+ 'vt1',
1002
+ 'x1',
1003
+ 'x1e',
1004
+ 'x2gd',
1005
+ 'x2idn',
1006
+ 'x2iedn',
1007
+ 'x2iezn',
1008
+ 'x4',
1009
+ 'x8g',
1010
+ 'z1d',
1011
+ 'z3'
1012
+ ]
1013
+ },
1014
+ description: 'Allowed values for `cfke.io/instance-family`.'
1015
+ },
1016
+ 'topology.kubernetes.io/region': {
1017
+ type: 'array',
1018
+ items: {
1019
+ type: 'string',
1020
+ enum: [
1021
+ 'africa-south1',
1022
+ 'ap-northeast-1',
1023
+ 'ap-northeast-2',
1024
+ 'ap-northeast-3',
1025
+ 'ap-south-1',
1026
+ 'ap-southeast-1',
1027
+ 'ap-southeast-2',
1028
+ 'ash',
1029
+ 'asia-east1',
1030
+ 'asia-east2',
1031
+ 'asia-northeast1',
1032
+ 'asia-northeast2',
1033
+ 'asia-northeast3',
1034
+ 'asia-south1',
1035
+ 'asia-south2',
1036
+ 'asia-southeast1',
1037
+ 'asia-southeast2',
1038
+ 'australia-southeast1',
1039
+ 'australia-southeast2',
1040
+ 'ca-central-1',
1041
+ 'eu-central-1',
1042
+ 'eu-central-2',
1043
+ 'eu-north-1',
1044
+ 'eu-west-1',
1045
+ 'eu-west-2',
1046
+ 'eu-west-3',
1047
+ 'europe-central2',
1048
+ 'europe-north1',
1049
+ 'europe-southwest1',
1050
+ 'europe-west1',
1051
+ 'europe-west10',
1052
+ 'europe-west12',
1053
+ 'europe-west2',
1054
+ 'europe-west3',
1055
+ 'europe-west4',
1056
+ 'europe-west6',
1057
+ 'europe-west8',
1058
+ 'europe-west9',
1059
+ 'fsn1',
1060
+ 'hel1',
1061
+ 'hil',
1062
+ 'me-central1',
1063
+ 'me-central2',
1064
+ 'me-west1',
1065
+ 'nbg1',
1066
+ 'northamerica-northeast1',
1067
+ 'northamerica-northeast2',
1068
+ 'sa-east-1',
1069
+ 'sin',
1070
+ 'southamerica-east1',
1071
+ 'southamerica-west1',
1072
+ 'us-central1',
1073
+ 'us-east-1',
1074
+ 'us-east-2',
1075
+ 'us-east1',
1076
+ 'us-east4',
1077
+ 'us-east5',
1078
+ 'us-south1',
1079
+ 'us-west-1',
1080
+ 'us-west-2',
1081
+ 'us-west1',
1082
+ 'us-west2',
1083
+ 'us-west3',
1084
+ 'us-west4'
1085
+ ]
1086
+ },
1087
+ description: 'Allowed values for `topology.kubernetes.io/region`.'
1088
+ }
1089
+ },
1090
+ additionalProperties: false,
1091
+ description: 'Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together. Omit a field to place no restriction on that key.'
1092
+ },
1093
+ scalingProfile: {
1094
+ type: 'string',
1095
+ description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
1096
+ default: 'conservative',
1097
+ example: 'conservative',
1098
+ enum: [
1099
+ 'aggressive',
1100
+ 'conservative'
1101
+ ]
1102
+ },
551
1103
  id: {
552
1104
  type: 'string',
553
1105
  maxLength: 63,
@@ -557,7 +1109,9 @@ export const FleetCreateInputSchema = {
557
1109
  example: 'new-clouds-fleet'
558
1110
  }
559
1111
  },
560
- required: ['id'],
1112
+ required: [
1113
+ 'id'
1114
+ ],
561
1115
  additionalProperties: false
562
1116
  };
563
1117
  export const FleetSchema = {
@@ -567,13 +1121,12 @@ export const FleetSchema = {
567
1121
  type: 'object',
568
1122
  properties: {
569
1123
  cpu: {
570
- type: 'number',
571
- format: 'float',
1124
+ type: 'integer',
572
1125
  minimum: 0,
573
- description: 'CPU limit in cores.'
1126
+ maximum: 100000,
1127
+ description: 'CPU limit in cores. Maximum 100,000.'
574
1128
  }
575
1129
  },
576
- required: ['cpu'],
577
1130
  additionalProperties: false,
578
1131
  description: 'Limits define a set of bounds for provisioning capacity.'
579
1132
  },
@@ -581,47 +1134,343 @@ export const FleetSchema = {
581
1134
  type: 'object',
582
1135
  properties: {
583
1136
  enabled: {
584
- type: 'boolean',
585
- default: true
1137
+ type: 'boolean'
586
1138
  },
587
1139
  project: {
588
1140
  type: 'string',
589
- description: 'Project GCP Project id to deploy instances into'
1141
+ pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
1142
+ description: 'GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.',
1143
+ example: 'my-cloudfleet-project'
590
1144
  }
591
1145
  },
592
- required: ['project'],
1146
+ required: [
1147
+ 'enabled'
1148
+ ],
593
1149
  additionalProperties: false
594
1150
  },
595
1151
  hetzner: {
596
1152
  type: 'object',
597
1153
  properties: {
598
1154
  enabled: {
599
- type: 'boolean',
600
- default: true
1155
+ type: 'boolean'
601
1156
  },
602
1157
  apiKey: {
603
1158
  type: 'string',
604
- description: 'Hetzner Cloud API key with read / write access'
1159
+ pattern: '^\\*{64}$',
1160
+ description: 'Redacted Hetzner API token. Returned as 64 asterisks when a token is configured; omitted otherwise. The real value is never echoed by the API.'
605
1161
  }
606
1162
  },
607
- required: ['apiKey'],
1163
+ required: [
1164
+ 'enabled'
1165
+ ],
608
1166
  additionalProperties: false
609
1167
  },
610
1168
  aws: {
611
1169
  type: 'object',
612
1170
  properties: {
613
1171
  enabled: {
614
- type: 'boolean',
615
- default: true
1172
+ type: 'boolean'
616
1173
  },
617
1174
  controllerRoleArn: {
618
1175
  type: 'string',
619
- description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
1176
+ pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
1177
+ description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
1178
+ example: 'arn:aws:iam::123456789012:role/Cloudfleet'
620
1179
  }
621
1180
  },
622
- required: ['controllerRoleArn'],
1181
+ required: [
1182
+ 'enabled'
1183
+ ],
623
1184
  additionalProperties: false
624
1185
  },
1186
+ constraints: {
1187
+ type: 'object',
1188
+ properties: {
1189
+ 'karpenter.sh/capacity-type': {
1190
+ type: 'array',
1191
+ items: {
1192
+ type: 'string',
1193
+ enum: [
1194
+ 'on-demand',
1195
+ 'spot'
1196
+ ]
1197
+ },
1198
+ minItems: 1,
1199
+ description: 'Allowed values for `karpenter.sh/capacity-type`.',
1200
+ default: [
1201
+ 'on-demand',
1202
+ 'spot'
1203
+ ]
1204
+ },
1205
+ 'kubernetes.io/arch': {
1206
+ type: 'array',
1207
+ items: {
1208
+ type: 'string',
1209
+ enum: [
1210
+ 'amd64',
1211
+ 'arm64'
1212
+ ]
1213
+ },
1214
+ minItems: 1,
1215
+ description: 'Allowed values for `kubernetes.io/arch`.',
1216
+ default: [
1217
+ 'amd64'
1218
+ ]
1219
+ },
1220
+ 'cfke.io/instance-family': {
1221
+ type: 'array',
1222
+ items: {
1223
+ type: 'string',
1224
+ enum: [
1225
+ 'a1',
1226
+ 'a2',
1227
+ 'a3',
1228
+ 'a4',
1229
+ 'c1',
1230
+ 'c2',
1231
+ 'c2d',
1232
+ 'c3',
1233
+ 'c3d',
1234
+ 'c4',
1235
+ 'c4a',
1236
+ 'c4d',
1237
+ 'c5',
1238
+ 'c5a',
1239
+ 'c5ad',
1240
+ 'c5d',
1241
+ 'c5n',
1242
+ 'c6a',
1243
+ 'c6g',
1244
+ 'c6gd',
1245
+ 'c6gn',
1246
+ 'c6i',
1247
+ 'c6id',
1248
+ 'c6in',
1249
+ 'c7a',
1250
+ 'c7g',
1251
+ 'c7gd',
1252
+ 'c7gn',
1253
+ 'c7i',
1254
+ 'c7i-flex',
1255
+ 'c8g',
1256
+ 'c8gd',
1257
+ 'cax',
1258
+ 'ccx',
1259
+ 'cpx',
1260
+ 'cx',
1261
+ 'd2',
1262
+ 'd3',
1263
+ 'd3en',
1264
+ 'dl1',
1265
+ 'dl2q',
1266
+ 'e2',
1267
+ 'f1',
1268
+ 'f2',
1269
+ 'g1',
1270
+ 'g2',
1271
+ 'g4ad',
1272
+ 'g4dn',
1273
+ 'g5',
1274
+ 'g5g',
1275
+ 'g6',
1276
+ 'g6e',
1277
+ 'gr6',
1278
+ 'h1',
1279
+ 'h3',
1280
+ 'hpc6a',
1281
+ 'hpc6id',
1282
+ 'hpc7a',
1283
+ 'hpc7g',
1284
+ 'i2',
1285
+ 'i3',
1286
+ 'i3en',
1287
+ 'i4g',
1288
+ 'i4i',
1289
+ 'i7i',
1290
+ 'i7ie',
1291
+ 'i8g',
1292
+ 'im4gn',
1293
+ 'inf1',
1294
+ 'inf2',
1295
+ 'is4gen',
1296
+ 'm1',
1297
+ 'm2',
1298
+ 'm3',
1299
+ 'm4',
1300
+ 'm5',
1301
+ 'm5a',
1302
+ 'm5ad',
1303
+ 'm5d',
1304
+ 'm5dn',
1305
+ 'm5n',
1306
+ 'm5zn',
1307
+ 'm6a',
1308
+ 'm6g',
1309
+ 'm6gd',
1310
+ 'm6i',
1311
+ 'm6id',
1312
+ 'm6idn',
1313
+ 'm6in',
1314
+ 'm7a',
1315
+ 'm7g',
1316
+ 'm7gd',
1317
+ 'm7i',
1318
+ 'm7i-flex',
1319
+ 'm8g',
1320
+ 'm8gd',
1321
+ 'n1',
1322
+ 'n2',
1323
+ 'n2d',
1324
+ 'n4',
1325
+ 'p3',
1326
+ 'p3dn',
1327
+ 'p4d',
1328
+ 'p4de',
1329
+ 'p5',
1330
+ 'p5e',
1331
+ 'p5en',
1332
+ 'p6-b200',
1333
+ 'r3',
1334
+ 'r4',
1335
+ 'r5',
1336
+ 'r5a',
1337
+ 'r5ad',
1338
+ 'r5b',
1339
+ 'r5d',
1340
+ 'r5dn',
1341
+ 'r5n',
1342
+ 'r6a',
1343
+ 'r6g',
1344
+ 'r6gd',
1345
+ 'r6i',
1346
+ 'r6id',
1347
+ 'r6idn',
1348
+ 'r6in',
1349
+ 'r7a',
1350
+ 'r7g',
1351
+ 'r7gd',
1352
+ 'r7i',
1353
+ 'r7iz',
1354
+ 'r8g',
1355
+ 'r8gd',
1356
+ 't2',
1357
+ 't2a',
1358
+ 't2d',
1359
+ 't3',
1360
+ 't3a',
1361
+ 't4g',
1362
+ 'trn1',
1363
+ 'trn1n',
1364
+ 'u-3tb1',
1365
+ 'u-6tb1',
1366
+ 'u7i-12tb',
1367
+ 'u7i-6tb',
1368
+ 'u7i-8tb',
1369
+ 'u7in-16tb',
1370
+ 'u7in-24tb',
1371
+ 'u7in-32tb',
1372
+ 'vt1',
1373
+ 'x1',
1374
+ 'x1e',
1375
+ 'x2gd',
1376
+ 'x2idn',
1377
+ 'x2iedn',
1378
+ 'x2iezn',
1379
+ 'x4',
1380
+ 'x8g',
1381
+ 'z1d',
1382
+ 'z3'
1383
+ ]
1384
+ },
1385
+ description: 'Allowed values for `cfke.io/instance-family`.'
1386
+ },
1387
+ 'topology.kubernetes.io/region': {
1388
+ type: 'array',
1389
+ items: {
1390
+ type: 'string',
1391
+ enum: [
1392
+ 'africa-south1',
1393
+ 'ap-northeast-1',
1394
+ 'ap-northeast-2',
1395
+ 'ap-northeast-3',
1396
+ 'ap-south-1',
1397
+ 'ap-southeast-1',
1398
+ 'ap-southeast-2',
1399
+ 'ash',
1400
+ 'asia-east1',
1401
+ 'asia-east2',
1402
+ 'asia-northeast1',
1403
+ 'asia-northeast2',
1404
+ 'asia-northeast3',
1405
+ 'asia-south1',
1406
+ 'asia-south2',
1407
+ 'asia-southeast1',
1408
+ 'asia-southeast2',
1409
+ 'australia-southeast1',
1410
+ 'australia-southeast2',
1411
+ 'ca-central-1',
1412
+ 'eu-central-1',
1413
+ 'eu-central-2',
1414
+ 'eu-north-1',
1415
+ 'eu-west-1',
1416
+ 'eu-west-2',
1417
+ 'eu-west-3',
1418
+ 'europe-central2',
1419
+ 'europe-north1',
1420
+ 'europe-southwest1',
1421
+ 'europe-west1',
1422
+ 'europe-west10',
1423
+ 'europe-west12',
1424
+ 'europe-west2',
1425
+ 'europe-west3',
1426
+ 'europe-west4',
1427
+ 'europe-west6',
1428
+ 'europe-west8',
1429
+ 'europe-west9',
1430
+ 'fsn1',
1431
+ 'hel1',
1432
+ 'hil',
1433
+ 'me-central1',
1434
+ 'me-central2',
1435
+ 'me-west1',
1436
+ 'nbg1',
1437
+ 'northamerica-northeast1',
1438
+ 'northamerica-northeast2',
1439
+ 'sa-east-1',
1440
+ 'sin',
1441
+ 'southamerica-east1',
1442
+ 'southamerica-west1',
1443
+ 'us-central1',
1444
+ 'us-east-1',
1445
+ 'us-east-2',
1446
+ 'us-east1',
1447
+ 'us-east4',
1448
+ 'us-east5',
1449
+ 'us-south1',
1450
+ 'us-west-1',
1451
+ 'us-west-2',
1452
+ 'us-west1',
1453
+ 'us-west2',
1454
+ 'us-west3',
1455
+ 'us-west4'
1456
+ ]
1457
+ },
1458
+ description: 'Allowed values for `topology.kubernetes.io/region`.'
1459
+ }
1460
+ },
1461
+ additionalProperties: false,
1462
+ description: 'Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together. Omit a field to place no restriction on that key.'
1463
+ },
1464
+ scalingProfile: {
1465
+ type: 'string',
1466
+ description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
1467
+ default: 'conservative',
1468
+ example: 'conservative',
1469
+ enum: [
1470
+ 'aggressive',
1471
+ 'conservative'
1472
+ ]
1473
+ },
625
1474
  id: {
626
1475
  type: 'string',
627
1476
  maxLength: 63,
@@ -631,7 +1480,10 @@ export const FleetSchema = {
631
1480
  example: 'new-clouds-fleet'
632
1481
  }
633
1482
  },
634
- required: ['id'],
1483
+ required: [
1484
+ 'scalingProfile',
1485
+ 'id'
1486
+ ],
635
1487
  additionalProperties: false
636
1488
  };
637
1489
  export const FleetUpdateInputSchema = {
@@ -641,13 +1493,12 @@ export const FleetUpdateInputSchema = {
641
1493
  type: 'object',
642
1494
  properties: {
643
1495
  cpu: {
644
- type: 'number',
645
- format: 'float',
1496
+ type: 'integer',
646
1497
  minimum: 0,
647
- description: 'CPU limit in cores.'
1498
+ maximum: 100000,
1499
+ description: 'CPU limit in cores. Maximum 100,000.'
648
1500
  }
649
1501
  },
650
- required: ['cpu'],
651
1502
  additionalProperties: false,
652
1503
  description: 'Limits define a set of bounds for provisioning capacity.'
653
1504
  },
@@ -655,48 +1506,341 @@ export const FleetUpdateInputSchema = {
655
1506
  type: 'object',
656
1507
  properties: {
657
1508
  enabled: {
658
- type: 'boolean',
659
- default: true
1509
+ type: 'boolean'
660
1510
  },
661
1511
  project: {
662
1512
  type: 'string',
663
- description: 'Project GCP Project id to deploy instances into'
1513
+ pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
1514
+ description: 'GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.',
1515
+ example: 'my-cloudfleet-project'
664
1516
  }
665
1517
  },
666
- required: ['project'],
1518
+ required: [
1519
+ 'enabled'
1520
+ ],
667
1521
  additionalProperties: false
668
1522
  },
669
1523
  hetzner: {
670
1524
  type: 'object',
671
1525
  properties: {
672
1526
  enabled: {
673
- type: 'boolean',
674
- default: true
1527
+ type: 'boolean'
675
1528
  },
676
1529
  apiKey: {
677
1530
  type: 'string',
678
- description: 'Hetzner Cloud API key with read / write access'
1531
+ maxLength: 64,
1532
+ minLength: 64,
1533
+ pattern: '^[A-Za-z0-9]+$',
1534
+ description: 'Hetzner Cloud API token with read / write access (64 alphanumeric characters). Omit this field to keep the existing value.'
679
1535
  }
680
1536
  },
681
- required: ['apiKey'],
1537
+ required: [
1538
+ 'enabled'
1539
+ ],
682
1540
  additionalProperties: false
683
1541
  },
684
1542
  aws: {
685
1543
  type: 'object',
686
1544
  properties: {
687
1545
  enabled: {
688
- type: 'boolean',
689
- default: true
1546
+ type: 'boolean'
690
1547
  },
691
1548
  controllerRoleArn: {
692
1549
  type: 'string',
693
- description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
1550
+ pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
1551
+ description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
1552
+ example: 'arn:aws:iam::123456789012:role/Cloudfleet'
694
1553
  }
695
1554
  },
696
- required: ['controllerRoleArn'],
1555
+ required: [
1556
+ 'enabled'
1557
+ ],
697
1558
  additionalProperties: false
1559
+ },
1560
+ constraints: {
1561
+ type: 'object',
1562
+ properties: {
1563
+ 'karpenter.sh/capacity-type': {
1564
+ type: 'array',
1565
+ items: {
1566
+ type: 'string',
1567
+ enum: [
1568
+ 'on-demand',
1569
+ 'spot'
1570
+ ]
1571
+ },
1572
+ minItems: 1,
1573
+ description: 'Allowed values for `karpenter.sh/capacity-type`.'
1574
+ },
1575
+ 'kubernetes.io/arch': {
1576
+ type: 'array',
1577
+ items: {
1578
+ type: 'string',
1579
+ enum: [
1580
+ 'amd64',
1581
+ 'arm64'
1582
+ ]
1583
+ },
1584
+ minItems: 1,
1585
+ description: 'Allowed values for `kubernetes.io/arch`.'
1586
+ },
1587
+ 'cfke.io/instance-family': {
1588
+ type: 'array',
1589
+ items: {
1590
+ type: 'string',
1591
+ enum: [
1592
+ 'a1',
1593
+ 'a2',
1594
+ 'a3',
1595
+ 'a4',
1596
+ 'c1',
1597
+ 'c2',
1598
+ 'c2d',
1599
+ 'c3',
1600
+ 'c3d',
1601
+ 'c4',
1602
+ 'c4a',
1603
+ 'c4d',
1604
+ 'c5',
1605
+ 'c5a',
1606
+ 'c5ad',
1607
+ 'c5d',
1608
+ 'c5n',
1609
+ 'c6a',
1610
+ 'c6g',
1611
+ 'c6gd',
1612
+ 'c6gn',
1613
+ 'c6i',
1614
+ 'c6id',
1615
+ 'c6in',
1616
+ 'c7a',
1617
+ 'c7g',
1618
+ 'c7gd',
1619
+ 'c7gn',
1620
+ 'c7i',
1621
+ 'c7i-flex',
1622
+ 'c8g',
1623
+ 'c8gd',
1624
+ 'cax',
1625
+ 'ccx',
1626
+ 'cpx',
1627
+ 'cx',
1628
+ 'd2',
1629
+ 'd3',
1630
+ 'd3en',
1631
+ 'dl1',
1632
+ 'dl2q',
1633
+ 'e2',
1634
+ 'f1',
1635
+ 'f2',
1636
+ 'g1',
1637
+ 'g2',
1638
+ 'g4ad',
1639
+ 'g4dn',
1640
+ 'g5',
1641
+ 'g5g',
1642
+ 'g6',
1643
+ 'g6e',
1644
+ 'gr6',
1645
+ 'h1',
1646
+ 'h3',
1647
+ 'hpc6a',
1648
+ 'hpc6id',
1649
+ 'hpc7a',
1650
+ 'hpc7g',
1651
+ 'i2',
1652
+ 'i3',
1653
+ 'i3en',
1654
+ 'i4g',
1655
+ 'i4i',
1656
+ 'i7i',
1657
+ 'i7ie',
1658
+ 'i8g',
1659
+ 'im4gn',
1660
+ 'inf1',
1661
+ 'inf2',
1662
+ 'is4gen',
1663
+ 'm1',
1664
+ 'm2',
1665
+ 'm3',
1666
+ 'm4',
1667
+ 'm5',
1668
+ 'm5a',
1669
+ 'm5ad',
1670
+ 'm5d',
1671
+ 'm5dn',
1672
+ 'm5n',
1673
+ 'm5zn',
1674
+ 'm6a',
1675
+ 'm6g',
1676
+ 'm6gd',
1677
+ 'm6i',
1678
+ 'm6id',
1679
+ 'm6idn',
1680
+ 'm6in',
1681
+ 'm7a',
1682
+ 'm7g',
1683
+ 'm7gd',
1684
+ 'm7i',
1685
+ 'm7i-flex',
1686
+ 'm8g',
1687
+ 'm8gd',
1688
+ 'n1',
1689
+ 'n2',
1690
+ 'n2d',
1691
+ 'n4',
1692
+ 'p3',
1693
+ 'p3dn',
1694
+ 'p4d',
1695
+ 'p4de',
1696
+ 'p5',
1697
+ 'p5e',
1698
+ 'p5en',
1699
+ 'p6-b200',
1700
+ 'r3',
1701
+ 'r4',
1702
+ 'r5',
1703
+ 'r5a',
1704
+ 'r5ad',
1705
+ 'r5b',
1706
+ 'r5d',
1707
+ 'r5dn',
1708
+ 'r5n',
1709
+ 'r6a',
1710
+ 'r6g',
1711
+ 'r6gd',
1712
+ 'r6i',
1713
+ 'r6id',
1714
+ 'r6idn',
1715
+ 'r6in',
1716
+ 'r7a',
1717
+ 'r7g',
1718
+ 'r7gd',
1719
+ 'r7i',
1720
+ 'r7iz',
1721
+ 'r8g',
1722
+ 'r8gd',
1723
+ 't2',
1724
+ 't2a',
1725
+ 't2d',
1726
+ 't3',
1727
+ 't3a',
1728
+ 't4g',
1729
+ 'trn1',
1730
+ 'trn1n',
1731
+ 'u-3tb1',
1732
+ 'u-6tb1',
1733
+ 'u7i-12tb',
1734
+ 'u7i-6tb',
1735
+ 'u7i-8tb',
1736
+ 'u7in-16tb',
1737
+ 'u7in-24tb',
1738
+ 'u7in-32tb',
1739
+ 'vt1',
1740
+ 'x1',
1741
+ 'x1e',
1742
+ 'x2gd',
1743
+ 'x2idn',
1744
+ 'x2iedn',
1745
+ 'x2iezn',
1746
+ 'x4',
1747
+ 'x8g',
1748
+ 'z1d',
1749
+ 'z3'
1750
+ ]
1751
+ },
1752
+ description: 'Allowed values for `cfke.io/instance-family`.'
1753
+ },
1754
+ 'topology.kubernetes.io/region': {
1755
+ type: 'array',
1756
+ items: {
1757
+ type: 'string',
1758
+ enum: [
1759
+ 'africa-south1',
1760
+ 'ap-northeast-1',
1761
+ 'ap-northeast-2',
1762
+ 'ap-northeast-3',
1763
+ 'ap-south-1',
1764
+ 'ap-southeast-1',
1765
+ 'ap-southeast-2',
1766
+ 'ash',
1767
+ 'asia-east1',
1768
+ 'asia-east2',
1769
+ 'asia-northeast1',
1770
+ 'asia-northeast2',
1771
+ 'asia-northeast3',
1772
+ 'asia-south1',
1773
+ 'asia-south2',
1774
+ 'asia-southeast1',
1775
+ 'asia-southeast2',
1776
+ 'australia-southeast1',
1777
+ 'australia-southeast2',
1778
+ 'ca-central-1',
1779
+ 'eu-central-1',
1780
+ 'eu-central-2',
1781
+ 'eu-north-1',
1782
+ 'eu-west-1',
1783
+ 'eu-west-2',
1784
+ 'eu-west-3',
1785
+ 'europe-central2',
1786
+ 'europe-north1',
1787
+ 'europe-southwest1',
1788
+ 'europe-west1',
1789
+ 'europe-west10',
1790
+ 'europe-west12',
1791
+ 'europe-west2',
1792
+ 'europe-west3',
1793
+ 'europe-west4',
1794
+ 'europe-west6',
1795
+ 'europe-west8',
1796
+ 'europe-west9',
1797
+ 'fsn1',
1798
+ 'hel1',
1799
+ 'hil',
1800
+ 'me-central1',
1801
+ 'me-central2',
1802
+ 'me-west1',
1803
+ 'nbg1',
1804
+ 'northamerica-northeast1',
1805
+ 'northamerica-northeast2',
1806
+ 'sa-east-1',
1807
+ 'sin',
1808
+ 'southamerica-east1',
1809
+ 'southamerica-west1',
1810
+ 'us-central1',
1811
+ 'us-east-1',
1812
+ 'us-east-2',
1813
+ 'us-east1',
1814
+ 'us-east4',
1815
+ 'us-east5',
1816
+ 'us-south1',
1817
+ 'us-west-1',
1818
+ 'us-west-2',
1819
+ 'us-west1',
1820
+ 'us-west2',
1821
+ 'us-west3',
1822
+ 'us-west4'
1823
+ ]
1824
+ },
1825
+ description: 'Allowed values for `topology.kubernetes.io/region`.'
1826
+ }
1827
+ },
1828
+ additionalProperties: false,
1829
+ description: 'Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together. Omit a field to place no restriction on that key.'
1830
+ },
1831
+ scalingProfile: {
1832
+ type: 'string',
1833
+ description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
1834
+ example: 'conservative',
1835
+ enum: [
1836
+ 'aggressive',
1837
+ 'conservative'
1838
+ ]
698
1839
  }
699
1840
  },
1841
+ required: [
1842
+ 'scalingProfile'
1843
+ ],
700
1844
  additionalProperties: false
701
1845
  };
702
1846
  export const InviteSchema = {
@@ -731,7 +1875,9 @@ export const InviteSchema = {
731
1875
  example: '7kUZnH7nnKUFfvc4NK2KQF'
732
1876
  }
733
1877
  },
734
- required: ['date_created'],
1878
+ required: [
1879
+ 'date_created'
1880
+ ],
735
1881
  additionalProperties: false
736
1882
  };
737
1883
  export const InvoiceSchema = {
@@ -783,7 +1929,11 @@ export const InvoiceSchema = {
783
1929
  type: 'string'
784
1930
  }
785
1931
  },
786
- required: ['created', 'period_start', 'period_end'],
1932
+ required: [
1933
+ 'created',
1934
+ 'period_start',
1935
+ 'period_end'
1936
+ ],
787
1937
  additionalProperties: false
788
1938
  };
789
1939
  export const MarketplaceListingFilesSchema = {
@@ -792,18 +1942,12 @@ export const MarketplaceListingFilesSchema = {
792
1942
  chartYaml: {
793
1943
  type: 'string',
794
1944
  description: 'Raw Chart.yaml content from the Helm chart',
795
- example: `apiVersion: v2
796
- name: nginx-ingress
797
- version: 1.18.2-cfke.45
798
- appVersion: 1.9.4`
1945
+ example: 'apiVersion: v2\nname: nginx-ingress\nversion: 1.18.2-cfke.45\nappVersion: 1.9.4'
799
1946
  },
800
1947
  valuesYaml: {
801
1948
  type: 'string',
802
1949
  description: 'Raw values.yaml content from the Helm chart',
803
- example: `replicaCount: 1
804
- image:
805
- repository: nginx
806
- tag: latest`
1950
+ example: 'replicaCount: 1\nimage:\n repository: nginx\n tag: latest'
807
1951
  },
808
1952
  valuesSchemaJson: {
809
1953
  type: 'string',
@@ -880,20 +2024,31 @@ export const MarketplaceListingSchema = {
880
2024
  type: 'string'
881
2025
  },
882
2026
  description: 'Chart keywords',
883
- example: ['ingress', 'nginx', 'load-balancer']
2027
+ example: [
2028
+ 'ingress',
2029
+ 'nginx',
2030
+ 'load-balancer'
2031
+ ]
884
2032
  },
885
2033
  home: {
886
2034
  type: 'string',
887
2035
  description: 'Chart home URL',
888
2036
  example: 'https://kubernetes.github.io/ingress-nginx/'
889
2037
  },
2038
+ icon: {
2039
+ type: 'string',
2040
+ description: 'A URL to an SVG or PNG image to be used as an icon',
2041
+ example: 'https://cloudfleet.ai/images/marketplace/icons/ingress-nginx.png'
2042
+ },
890
2043
  sources: {
891
2044
  type: 'array',
892
2045
  items: {
893
2046
  type: 'string'
894
2047
  },
895
2048
  description: 'Chart source URLs',
896
- example: ['https://github.com/kubernetes/ingress-nginx']
2049
+ example: [
2050
+ 'https://github.com/kubernetes/ingress-nginx'
2051
+ ]
897
2052
  },
898
2053
  maintainers: {
899
2054
  type: 'array',
@@ -911,18 +2066,28 @@ export const MarketplaceListingSchema = {
911
2066
  example: 'support@nginx.org'
912
2067
  }
913
2068
  },
914
- required: ['name'],
2069
+ required: [
2070
+ 'name'
2071
+ ],
915
2072
  additionalProperties: false
916
2073
  },
917
2074
  description: 'Chart maintainers'
918
2075
  }
919
2076
  },
920
- required: ['name', 'version'],
2077
+ required: [
2078
+ 'name',
2079
+ 'version'
2080
+ ],
921
2081
  additionalProperties: false,
922
2082
  description: 'Chart metadata'
923
2083
  }
924
2084
  },
925
- required: ['name', 'versions', 'version_channels', 'latestVersion'],
2085
+ required: [
2086
+ 'name',
2087
+ 'versions',
2088
+ 'version_channels',
2089
+ 'latestVersion'
2090
+ ],
926
2091
  additionalProperties: false
927
2092
  };
928
2093
  export const OrganizationCreateInputSchema = {
@@ -958,7 +2123,13 @@ export const OrganizationCreateInputSchema = {
958
2123
  description: 'Password for the root account. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character.'
959
2124
  }
960
2125
  },
961
- required: ['email', 'first_name', 'last_name', 'company_name', 'password'],
2126
+ required: [
2127
+ 'email',
2128
+ 'first_name',
2129
+ 'last_name',
2130
+ 'company_name',
2131
+ 'password'
2132
+ ],
962
2133
  additionalProperties: false
963
2134
  };
964
2135
  export const OrganizationSchema = {
@@ -1048,36 +2219,52 @@ export const OrganizationSchema = {
1048
2219
  example: '1.33.x (Always latest 1.33 patch version)'
1049
2220
  }
1050
2221
  },
1051
- required: ['id', 'label'],
2222
+ required: [
2223
+ 'id',
2224
+ 'label'
2225
+ ],
1052
2226
  additionalProperties: false
1053
2227
  },
1054
2228
  minItems: 1,
1055
2229
  description: 'List of CFKE control plane versions available for the organization.'
1056
2230
  },
1057
- copilot_user_hourly_tokens: {
1058
- type: 'integer',
1059
- minimum: 0,
1060
- description: 'User-level maximum number of tokens Cloudfleet Copilot can process per hour.',
1061
- example: 42000
1062
- },
1063
- copilot_organization_hourly_tokens: {
2231
+ cfcr_storage_gb: {
1064
2232
  type: 'integer',
1065
- minimum: 0,
1066
- description: 'Organization-level maximum number of tokens Cloudfleet Copilot can process per hour.',
1067
- example: 242000
2233
+ minimum: -1,
2234
+ description: 'Organization-level maximum CFCR storage volume in GB. -1 means no limit.',
2235
+ example: 500
1068
2236
  }
1069
2237
  },
1070
- required: ['basic_clusters_max', 'basic_clusters_available', 'pro_clusters_max', 'pro_clusters_available', 'fleets_max', 'cluster_tiers', 'regions', 'versions', 'copilot_user_hourly_tokens', 'copilot_organization_hourly_tokens'],
2238
+ required: [
2239
+ 'basic_clusters_max',
2240
+ 'basic_clusters_available',
2241
+ 'pro_clusters_max',
2242
+ 'pro_clusters_available',
2243
+ 'fleets_max',
2244
+ 'cluster_tiers',
2245
+ 'regions',
2246
+ 'versions',
2247
+ 'cfcr_storage_gb'
2248
+ ],
1071
2249
  additionalProperties: false,
1072
2250
  description: 'For security reasons, platform quota is controlled by Cloudfleet and can be updated only by Cloudfleet administrators. Please open a support ticket if you need to change the platform quota.'
1073
2251
  },
1074
2252
  status: {
1075
2253
  type: 'string',
1076
2254
  description: 'Status of the organization. Can be `active` or `closed`, or `suspended`.',
1077
- enum: ['active', 'closed', 'suspended']
2255
+ enum: [
2256
+ 'active',
2257
+ 'closed',
2258
+ 'suspended'
2259
+ ]
1078
2260
  }
1079
2261
  },
1080
- required: ['id', 'date_created', 'quota', 'status'],
2262
+ required: [
2263
+ 'id',
2264
+ 'date_created',
2265
+ 'quota',
2266
+ 'status'
2267
+ ],
1081
2268
  additionalProperties: false
1082
2269
  };
1083
2270
  export const PaymentMethodSchema = {
@@ -1099,7 +2286,9 @@ export const PaymentMethodSchema = {
1099
2286
  nullable: true,
1100
2287
  description: 'Payment method type type. Only `card` payments supported at the moment.',
1101
2288
  example: 'card',
1102
- enum: ['card']
2289
+ enum: [
2290
+ 'card'
2291
+ ]
1103
2292
  },
1104
2293
  last4: {
1105
2294
  type: 'string',
@@ -1112,14 +2301,14 @@ export const PaymentMethodSchema = {
1112
2301
  minimum: 1,
1113
2302
  maximum: 12,
1114
2303
  nullable: true,
1115
- description: "Two-digit number representing the card's expiration month.",
2304
+ description: 'Two-digit number representing the card\'s expiration month.',
1116
2305
  example: '12'
1117
2306
  },
1118
2307
  exp_year: {
1119
2308
  type: 'integer',
1120
2309
  minimum: 2024,
1121
2310
  nullable: true,
1122
- description: "Four-digit number representing the card's expiration year.",
2311
+ description: 'Four-digit number representing the card\'s expiration year.',
1123
2312
  example: '2028'
1124
2313
  },
1125
2314
  brand: {
@@ -1127,10 +2316,28 @@ export const PaymentMethodSchema = {
1127
2316
  nullable: true,
1128
2317
  description: 'Payment card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.',
1129
2318
  example: 'visa',
1130
- enum: ['amex', 'diners', 'discover', 'eftpos_au', 'jcb', 'mastercard', 'unionpay', 'visa', 'unknown']
2319
+ enum: [
2320
+ 'amex',
2321
+ 'diners',
2322
+ 'discover',
2323
+ 'eftpos_au',
2324
+ 'jcb',
2325
+ 'mastercard',
2326
+ 'unionpay',
2327
+ 'visa',
2328
+ 'unknown'
2329
+ ]
1131
2330
  }
1132
2331
  },
1133
- required: ['id', 'setup', 'type', 'last4', 'exp_month', 'exp_year', 'brand'],
2332
+ required: [
2333
+ 'id',
2334
+ 'setup',
2335
+ 'type',
2336
+ 'last4',
2337
+ 'exp_month',
2338
+ 'exp_year',
2339
+ 'brand'
2340
+ ],
1134
2341
  additionalProperties: false
1135
2342
  };
1136
2343
  export const PlatformQuotaSchema = {
@@ -1198,26 +2405,33 @@ export const PlatformQuotaSchema = {
1198
2405
  example: '1.33.x (Always latest 1.33 patch version)'
1199
2406
  }
1200
2407
  },
1201
- required: ['id', 'label'],
2408
+ required: [
2409
+ 'id',
2410
+ 'label'
2411
+ ],
1202
2412
  additionalProperties: false
1203
2413
  },
1204
2414
  minItems: 1,
1205
2415
  description: 'List of CFKE control plane versions available for the organization.'
1206
2416
  },
1207
- copilot_user_hourly_tokens: {
2417
+ cfcr_storage_gb: {
1208
2418
  type: 'integer',
1209
- minimum: 0,
1210
- description: 'User-level maximum number of tokens Cloudfleet Copilot can process per hour.',
1211
- example: 42000
1212
- },
1213
- copilot_organization_hourly_tokens: {
1214
- type: 'integer',
1215
- minimum: 0,
1216
- description: 'Organization-level maximum number of tokens Cloudfleet Copilot can process per hour.',
1217
- example: 242000
2419
+ minimum: -1,
2420
+ description: 'Organization-level maximum CFCR storage volume in GB. -1 means no limit.',
2421
+ example: 500
1218
2422
  }
1219
2423
  },
1220
- required: ['basic_clusters_max', 'basic_clusters_available', 'pro_clusters_max', 'pro_clusters_available', 'fleets_max', 'cluster_tiers', 'regions', 'versions', 'copilot_user_hourly_tokens', 'copilot_organization_hourly_tokens'],
2424
+ required: [
2425
+ 'basic_clusters_max',
2426
+ 'basic_clusters_available',
2427
+ 'pro_clusters_max',
2428
+ 'pro_clusters_available',
2429
+ 'fleets_max',
2430
+ 'cluster_tiers',
2431
+ 'regions',
2432
+ 'versions',
2433
+ 'cfcr_storage_gb'
2434
+ ],
1221
2435
  additionalProperties: false
1222
2436
  };
1223
2437
  export const RegistryRepositorySchema = {
@@ -1236,10 +2450,14 @@ export const RegistryRepositorySchema = {
1236
2450
  uri: {
1237
2451
  type: 'string',
1238
2452
  description: 'Full URI of the repository.',
1239
- example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/v2/my-app'
2453
+ example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app'
1240
2454
  }
1241
2455
  },
1242
- required: ['name', 'region', 'uri'],
2456
+ required: [
2457
+ 'name',
2458
+ 'region',
2459
+ 'uri'
2460
+ ],
1243
2461
  additionalProperties: false
1244
2462
  };
1245
2463
  export const RegistryRepositoryWithTagsSchema = {
@@ -1258,7 +2476,7 @@ export const RegistryRepositoryWithTagsSchema = {
1258
2476
  uri: {
1259
2477
  type: 'string',
1260
2478
  description: 'Full URI of the repository.',
1261
- example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/v2/my-app'
2479
+ example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app'
1262
2480
  },
1263
2481
  tags: {
1264
2482
  type: 'array',
@@ -1280,9 +2498,23 @@ export const RegistryRepositoryWithTagsSchema = {
1280
2498
  type: 'string',
1281
2499
  description: 'Media type of the manifest.',
1282
2500
  example: 'application/vnd.docker.distribution.manifest.v2+json'
2501
+ },
2502
+ platforms: {
2503
+ type: 'array',
2504
+ items: {
2505
+ type: 'string'
2506
+ },
2507
+ description: 'Array of platform strings for multi-arch images (e.g., linux/amd64, linux/arm64).',
2508
+ example: [
2509
+ 'linux/amd64',
2510
+ 'linux/arm64'
2511
+ ]
1283
2512
  }
1284
2513
  },
1285
- required: ['name', 'size'],
2514
+ required: [
2515
+ 'name',
2516
+ 'size'
2517
+ ],
1286
2518
  additionalProperties: false
1287
2519
  },
1288
2520
  description: 'Array of tags in the repository.'
@@ -1294,7 +2526,13 @@ export const RegistryRepositoryWithTagsSchema = {
1294
2526
  example: 987654321
1295
2527
  }
1296
2528
  },
1297
- required: ['name', 'region', 'uri', 'tags', 'totalSize'],
2529
+ required: [
2530
+ 'name',
2531
+ 'region',
2532
+ 'uri',
2533
+ 'tags',
2534
+ 'totalSize'
2535
+ ],
1298
2536
  additionalProperties: false
1299
2537
  };
1300
2538
  export const RegistryTagSchema = {
@@ -1305,6 +2543,11 @@ export const RegistryTagSchema = {
1305
2543
  description: 'Tag name.',
1306
2544
  example: 'latest'
1307
2545
  },
2546
+ digest: {
2547
+ type: 'string',
2548
+ description: 'Manifest digest for pulling by digest.',
2549
+ example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
2550
+ },
1308
2551
  mediaType: {
1309
2552
  type: 'string',
1310
2553
  description: 'Media type of the manifest.',
@@ -1320,7 +2563,9 @@ export const RegistryTagSchema = {
1320
2563
  example: 1234
1321
2564
  }
1322
2565
  },
1323
- required: ['size'],
2566
+ required: [
2567
+ 'size'
2568
+ ],
1324
2569
  additionalProperties: false,
1325
2570
  description: 'Manifest config metadata.'
1326
2571
  },
@@ -1329,6 +2574,11 @@ export const RegistryTagSchema = {
1329
2574
  items: {
1330
2575
  type: 'object',
1331
2576
  properties: {
2577
+ digest: {
2578
+ type: 'string',
2579
+ description: 'Digest of the layer.',
2580
+ example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
2581
+ },
1332
2582
  size: {
1333
2583
  type: 'number',
1334
2584
  format: 'float',
@@ -1336,7 +2586,9 @@ export const RegistryTagSchema = {
1336
2586
  example: 5678
1337
2587
  }
1338
2588
  },
1339
- required: ['size'],
2589
+ required: [
2590
+ 'size'
2591
+ ],
1340
2592
  additionalProperties: false
1341
2593
  },
1342
2594
  description: 'Array of layer metadata.'
@@ -1363,14 +2615,54 @@ export const RegistryTagSchema = {
1363
2615
  type: 'string',
1364
2616
  description: 'Operating system of the platform.',
1365
2617
  example: 'linux'
2618
+ },
2619
+ variant: {
2620
+ type: 'string',
2621
+ description: 'Variant of the platform (e.g., v7, v8 for ARM).',
2622
+ example: 'v8'
1366
2623
  }
1367
2624
  },
1368
- required: ['architecture', 'os'],
2625
+ required: [
2626
+ 'architecture',
2627
+ 'os'
2628
+ ],
1369
2629
  additionalProperties: false,
1370
2630
  description: 'Platform information for the manifest.'
2631
+ },
2632
+ layers: {
2633
+ type: 'array',
2634
+ items: {
2635
+ type: 'object',
2636
+ properties: {
2637
+ digest: {
2638
+ type: 'string',
2639
+ description: 'Digest of the layer.',
2640
+ example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
2641
+ },
2642
+ size: {
2643
+ type: 'number',
2644
+ format: 'float',
2645
+ description: 'Size of the layer in bytes.',
2646
+ example: 5678
2647
+ }
2648
+ },
2649
+ required: [
2650
+ 'size'
2651
+ ],
2652
+ additionalProperties: false
2653
+ },
2654
+ description: 'Layers for this platform.'
2655
+ },
2656
+ size: {
2657
+ type: 'number',
2658
+ format: 'float',
2659
+ description: 'Total size of this platform manifest in bytes.',
2660
+ example: 12345678
1371
2661
  }
1372
2662
  },
1373
- required: ['digest'],
2663
+ required: [
2664
+ 'digest'
2665
+ ],
1374
2666
  additionalProperties: false
1375
2667
  },
1376
2668
  description: 'Array of manifests for multi-arch images.'
@@ -1397,7 +2689,500 @@ export const RegistryTagSchema = {
1397
2689
  example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app:latest'
1398
2690
  }
1399
2691
  },
1400
- required: ['name', 'size', 'region', 'repository', 'uri'],
2692
+ required: [
2693
+ 'name',
2694
+ 'digest',
2695
+ 'size',
2696
+ 'region',
2697
+ 'repository',
2698
+ 'uri'
2699
+ ],
2700
+ additionalProperties: false
2701
+ };
2702
+ export const TicketAttachmentSchema = {
2703
+ type: 'object',
2704
+ properties: {
2705
+ id: {
2706
+ type: 'string',
2707
+ description: 'Unique identifier of the attachment (Mongo ObjectId).',
2708
+ example: '60c72b2f9f1b2c001f8e4d3c'
2709
+ },
2710
+ filename: {
2711
+ type: 'string',
2712
+ description: 'Original filename as uploaded.',
2713
+ example: 'debug.log'
2714
+ },
2715
+ content_type: {
2716
+ type: 'string',
2717
+ description: 'MIME content type of the attachment.',
2718
+ example: 'text/plain'
2719
+ },
2720
+ size: {
2721
+ type: 'integer',
2722
+ description: 'Size of the attachment in bytes.',
2723
+ example: 12345
2724
+ }
2725
+ },
2726
+ required: [
2727
+ 'id',
2728
+ 'filename',
2729
+ 'content_type',
2730
+ 'size'
2731
+ ],
2732
+ additionalProperties: false
2733
+ };
2734
+ export const TicketCreateInputSchema = {
2735
+ type: 'object',
2736
+ properties: {
2737
+ category: {
2738
+ type: 'string',
2739
+ description: 'Ticket category. Drives auto-assignment and may carry a subcategory in `properties`.',
2740
+ example: 'technical',
2741
+ enum: [
2742
+ 'billing',
2743
+ 'technical',
2744
+ 'general'
2745
+ ]
2746
+ },
2747
+ body: {
2748
+ type: 'string',
2749
+ maxLength: 50000,
2750
+ minLength: 1,
2751
+ pattern: '\\S',
2752
+ description: 'Initial message body in markdown. There is no separate subject — the first message body is the description.',
2753
+ example: 'My cluster cannot reach the registry. Logs attached.'
2754
+ },
2755
+ properties: {
2756
+ type: 'object',
2757
+ additionalProperties: true,
2758
+ description: 'Free-form key/value bag set by the UI (e.g. `subcategory`, `cluster_id`, `cluster_name`, `region`).',
2759
+ example: {
2760
+ subcategory: 'cluster-question',
2761
+ cluster_id: '60c72b2f9f1b2c001f8e4d3a'
2762
+ }
2763
+ }
2764
+ },
2765
+ required: [
2766
+ 'category',
2767
+ 'body'
2768
+ ],
2769
+ additionalProperties: false
2770
+ };
2771
+ export const TicketListResponseSchema = {
2772
+ type: 'object',
2773
+ properties: {
2774
+ items: {
2775
+ type: 'array',
2776
+ items: {
2777
+ type: 'object',
2778
+ properties: {
2779
+ id: {
2780
+ type: 'string',
2781
+ description: 'Unique identifier of the ticket (Mongo ObjectId).',
2782
+ example: '60c72b2f9f1b2c001f8e4d3a'
2783
+ },
2784
+ status: {
2785
+ type: 'string',
2786
+ description: 'Current state of the ticket.',
2787
+ example: 'waiting_on_us',
2788
+ enum: [
2789
+ 'waiting_on_us',
2790
+ 'waiting_on_user',
2791
+ 'closed'
2792
+ ]
2793
+ },
2794
+ category: {
2795
+ type: 'string',
2796
+ description: 'Ticket category.',
2797
+ example: 'technical',
2798
+ enum: [
2799
+ 'billing',
2800
+ 'technical',
2801
+ 'general'
2802
+ ]
2803
+ },
2804
+ summary: {
2805
+ type: 'string',
2806
+ description: 'First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.',
2807
+ example: 'My cluster cannot reach the registry. Logs attached.'
2808
+ },
2809
+ closed_at: {
2810
+ type: 'string',
2811
+ format: 'date-time',
2812
+ nullable: true,
2813
+ description: 'Closure timestamp. Null while the ticket is open.',
2814
+ example: '2026-05-18T16:08:14.338Z'
2815
+ },
2816
+ date_created: {
2817
+ type: 'string',
2818
+ format: 'date-time',
2819
+ description: 'Creation date of the ticket. ISO 8601 UTC.',
2820
+ example: '2026-05-11T16:08:14.338Z'
2821
+ },
2822
+ date_updated: {
2823
+ type: 'string',
2824
+ format: 'date-time',
2825
+ description: 'Last update date of the ticket. ISO 8601 UTC.',
2826
+ example: '2026-05-11T16:08:14.338Z'
2827
+ },
2828
+ messages: {
2829
+ type: 'array',
2830
+ items: {
2831
+ type: 'object',
2832
+ properties: {
2833
+ id: {
2834
+ type: 'string',
2835
+ description: 'Unique identifier of the message (Mongo ObjectId).',
2836
+ example: '60c72b2f9f1b2c001f8e4d3b'
2837
+ },
2838
+ type: {
2839
+ type: 'string',
2840
+ description: 'Message type. Internal notes are filtered out of customer-facing responses.',
2841
+ example: 'customer_reply',
2842
+ enum: [
2843
+ 'customer_reply',
2844
+ 'agent_reply'
2845
+ ]
2846
+ },
2847
+ body: {
2848
+ type: 'string',
2849
+ description: 'Message body in markdown.',
2850
+ example: 'Thanks — that resolved it on my side.'
2851
+ },
2852
+ author_first_name: {
2853
+ type: 'string',
2854
+ nullable: true,
2855
+ description: 'First name of the author. Null when not provided.',
2856
+ example: 'Jane'
2857
+ },
2858
+ author_last_name: {
2859
+ type: 'string',
2860
+ nullable: true,
2861
+ description: 'Last name of the author. Null when not provided.',
2862
+ example: 'Doe'
2863
+ },
2864
+ attachments: {
2865
+ type: 'array',
2866
+ items: {
2867
+ type: 'object',
2868
+ properties: {
2869
+ id: {
2870
+ type: 'string',
2871
+ description: 'Unique identifier of the attachment (Mongo ObjectId).',
2872
+ example: '60c72b2f9f1b2c001f8e4d3c'
2873
+ },
2874
+ filename: {
2875
+ type: 'string',
2876
+ description: 'Original filename as uploaded.',
2877
+ example: 'debug.log'
2878
+ },
2879
+ content_type: {
2880
+ type: 'string',
2881
+ description: 'MIME content type of the attachment.',
2882
+ example: 'text/plain'
2883
+ },
2884
+ size: {
2885
+ type: 'integer',
2886
+ description: 'Size of the attachment in bytes.',
2887
+ example: 12345
2888
+ }
2889
+ },
2890
+ required: [
2891
+ 'id',
2892
+ 'filename',
2893
+ 'content_type',
2894
+ 'size'
2895
+ ],
2896
+ additionalProperties: false
2897
+ },
2898
+ description: 'Attachments associated with this message.',
2899
+ example: []
2900
+ },
2901
+ date_created: {
2902
+ type: 'string',
2903
+ format: 'date-time',
2904
+ description: 'Creation date of the message. ISO 8601 UTC.',
2905
+ example: '2026-05-11T16:08:14.338Z'
2906
+ }
2907
+ },
2908
+ required: [
2909
+ 'id',
2910
+ 'type',
2911
+ 'body',
2912
+ 'date_created'
2913
+ ],
2914
+ additionalProperties: false
2915
+ },
2916
+ description: 'Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.'
2917
+ }
2918
+ },
2919
+ required: [
2920
+ 'id',
2921
+ 'status',
2922
+ 'category',
2923
+ 'summary',
2924
+ 'date_created',
2925
+ 'date_updated'
2926
+ ],
2927
+ additionalProperties: false
2928
+ },
2929
+ description: 'Tickets for the organization, ordered newest first. Messages are omitted from list responses.'
2930
+ }
2931
+ },
2932
+ required: [
2933
+ 'items'
2934
+ ],
2935
+ additionalProperties: false
2936
+ };
2937
+ export const TicketMessageInputSchema = {
2938
+ type: 'object',
2939
+ properties: {
2940
+ body: {
2941
+ type: 'string',
2942
+ maxLength: 50000,
2943
+ minLength: 1,
2944
+ pattern: '\\S',
2945
+ description: 'Reply body in markdown.',
2946
+ example: 'Thanks — that resolved it on my side.'
2947
+ }
2948
+ },
2949
+ required: [
2950
+ 'body'
2951
+ ],
2952
+ additionalProperties: false
2953
+ };
2954
+ export const TicketMessageSchema = {
2955
+ type: 'object',
2956
+ properties: {
2957
+ id: {
2958
+ type: 'string',
2959
+ description: 'Unique identifier of the message (Mongo ObjectId).',
2960
+ example: '60c72b2f9f1b2c001f8e4d3b'
2961
+ },
2962
+ type: {
2963
+ type: 'string',
2964
+ description: 'Message type. Internal notes are filtered out of customer-facing responses.',
2965
+ example: 'customer_reply',
2966
+ enum: [
2967
+ 'customer_reply',
2968
+ 'agent_reply'
2969
+ ]
2970
+ },
2971
+ body: {
2972
+ type: 'string',
2973
+ description: 'Message body in markdown.',
2974
+ example: 'Thanks — that resolved it on my side.'
2975
+ },
2976
+ author_first_name: {
2977
+ type: 'string',
2978
+ description: 'First name of the author. Null when not provided.',
2979
+ example: 'Jane'
2980
+ },
2981
+ author_last_name: {
2982
+ type: 'string',
2983
+ description: 'Last name of the author. Null when not provided.',
2984
+ example: 'Doe'
2985
+ },
2986
+ attachments: {
2987
+ type: 'array',
2988
+ items: {
2989
+ type: 'object',
2990
+ properties: {
2991
+ id: {
2992
+ type: 'string',
2993
+ description: 'Unique identifier of the attachment (Mongo ObjectId).',
2994
+ example: '60c72b2f9f1b2c001f8e4d3c'
2995
+ },
2996
+ filename: {
2997
+ type: 'string',
2998
+ description: 'Original filename as uploaded.',
2999
+ example: 'debug.log'
3000
+ },
3001
+ content_type: {
3002
+ type: 'string',
3003
+ description: 'MIME content type of the attachment.',
3004
+ example: 'text/plain'
3005
+ },
3006
+ size: {
3007
+ type: 'integer',
3008
+ description: 'Size of the attachment in bytes.',
3009
+ example: 12345
3010
+ }
3011
+ },
3012
+ required: [
3013
+ 'id',
3014
+ 'filename',
3015
+ 'content_type',
3016
+ 'size'
3017
+ ],
3018
+ additionalProperties: false
3019
+ },
3020
+ description: 'Attachments associated with this message.',
3021
+ example: []
3022
+ },
3023
+ date_created: {
3024
+ type: 'string',
3025
+ format: 'date-time',
3026
+ description: 'Creation date of the message. ISO 8601 UTC.',
3027
+ example: '2026-05-11T16:08:14.338Z'
3028
+ }
3029
+ },
3030
+ required: [
3031
+ 'id',
3032
+ 'type',
3033
+ 'body',
3034
+ 'date_created'
3035
+ ],
3036
+ additionalProperties: false
3037
+ };
3038
+ export const TicketSchema = {
3039
+ type: 'object',
3040
+ properties: {
3041
+ id: {
3042
+ type: 'string',
3043
+ description: 'Unique identifier of the ticket (Mongo ObjectId).',
3044
+ example: '60c72b2f9f1b2c001f8e4d3a'
3045
+ },
3046
+ status: {
3047
+ type: 'string',
3048
+ description: 'Current state of the ticket.',
3049
+ example: 'waiting_on_us',
3050
+ enum: [
3051
+ 'waiting_on_us',
3052
+ 'waiting_on_user',
3053
+ 'closed'
3054
+ ]
3055
+ },
3056
+ category: {
3057
+ type: 'string',
3058
+ description: 'Ticket category.',
3059
+ example: 'technical',
3060
+ enum: [
3061
+ 'billing',
3062
+ 'technical',
3063
+ 'general'
3064
+ ]
3065
+ },
3066
+ summary: {
3067
+ type: 'string',
3068
+ description: 'First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.',
3069
+ example: 'My cluster cannot reach the registry. Logs attached.'
3070
+ },
3071
+ closed_at: {
3072
+ type: 'string',
3073
+ format: 'date-time',
3074
+ description: 'Closure timestamp. Null while the ticket is open.',
3075
+ example: '2026-05-18T16:08:14.338Z'
3076
+ },
3077
+ date_created: {
3078
+ type: 'string',
3079
+ format: 'date-time',
3080
+ description: 'Creation date of the ticket. ISO 8601 UTC.',
3081
+ example: '2026-05-11T16:08:14.338Z'
3082
+ },
3083
+ date_updated: {
3084
+ type: 'string',
3085
+ format: 'date-time',
3086
+ description: 'Last update date of the ticket. ISO 8601 UTC.',
3087
+ example: '2026-05-11T16:08:14.338Z'
3088
+ },
3089
+ messages: {
3090
+ type: 'array',
3091
+ items: {
3092
+ type: 'object',
3093
+ properties: {
3094
+ id: {
3095
+ type: 'string',
3096
+ description: 'Unique identifier of the message (Mongo ObjectId).',
3097
+ example: '60c72b2f9f1b2c001f8e4d3b'
3098
+ },
3099
+ type: {
3100
+ type: 'string',
3101
+ description: 'Message type. Internal notes are filtered out of customer-facing responses.',
3102
+ example: 'customer_reply',
3103
+ enum: [
3104
+ 'customer_reply',
3105
+ 'agent_reply'
3106
+ ]
3107
+ },
3108
+ body: {
3109
+ type: 'string',
3110
+ description: 'Message body in markdown.',
3111
+ example: 'Thanks — that resolved it on my side.'
3112
+ },
3113
+ author_first_name: {
3114
+ type: 'string',
3115
+ description: 'First name of the author. Null when not provided.',
3116
+ example: 'Jane'
3117
+ },
3118
+ author_last_name: {
3119
+ type: 'string',
3120
+ description: 'Last name of the author. Null when not provided.',
3121
+ example: 'Doe'
3122
+ },
3123
+ attachments: {
3124
+ type: 'array',
3125
+ items: {
3126
+ type: 'object',
3127
+ properties: {
3128
+ id: {
3129
+ type: 'string',
3130
+ description: 'Unique identifier of the attachment (Mongo ObjectId).',
3131
+ example: '60c72b2f9f1b2c001f8e4d3c'
3132
+ },
3133
+ filename: {
3134
+ type: 'string',
3135
+ description: 'Original filename as uploaded.',
3136
+ example: 'debug.log'
3137
+ },
3138
+ content_type: {
3139
+ type: 'string',
3140
+ description: 'MIME content type of the attachment.',
3141
+ example: 'text/plain'
3142
+ },
3143
+ size: {
3144
+ type: 'integer',
3145
+ description: 'Size of the attachment in bytes.',
3146
+ example: 12345
3147
+ }
3148
+ },
3149
+ required: [
3150
+ 'id',
3151
+ 'filename',
3152
+ 'content_type',
3153
+ 'size'
3154
+ ],
3155
+ additionalProperties: false
3156
+ },
3157
+ description: 'Attachments associated with this message.',
3158
+ example: []
3159
+ },
3160
+ date_created: {
3161
+ type: 'string',
3162
+ format: 'date-time',
3163
+ description: 'Creation date of the message. ISO 8601 UTC.',
3164
+ example: '2026-05-11T16:08:14.338Z'
3165
+ }
3166
+ },
3167
+ required: [
3168
+ 'id',
3169
+ 'type',
3170
+ 'body',
3171
+ 'date_created'
3172
+ ],
3173
+ additionalProperties: false
3174
+ },
3175
+ description: 'Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.'
3176
+ }
3177
+ },
3178
+ required: [
3179
+ 'id',
3180
+ 'status',
3181
+ 'category',
3182
+ 'summary',
3183
+ 'date_created',
3184
+ 'date_updated'
3185
+ ],
1401
3186
  additionalProperties: false
1402
3187
  };
1403
3188
  export const TokenCreateInputSchema = {
@@ -1415,10 +3200,16 @@ export const TokenCreateInputSchema = {
1415
3200
  type: 'string',
1416
3201
  description: 'Role assumed by the token.',
1417
3202
  example: 'User',
1418
- enum: ['Administrator', 'User']
3203
+ enum: [
3204
+ 'Administrator',
3205
+ 'User'
3206
+ ]
1419
3207
  }
1420
3208
  },
1421
- required: ['name', 'role'],
3209
+ required: [
3210
+ 'name',
3211
+ 'role'
3212
+ ],
1422
3213
  additionalProperties: false
1423
3214
  };
1424
3215
  export const TokenSchema = {
@@ -1436,7 +3227,10 @@ export const TokenSchema = {
1436
3227
  type: 'string',
1437
3228
  description: 'Role assumed by the token.',
1438
3229
  example: 'User',
1439
- enum: ['Administrator', 'User']
3230
+ enum: [
3231
+ 'Administrator',
3232
+ 'User'
3233
+ ]
1440
3234
  },
1441
3235
  id: {
1442
3236
  type: 'string',
@@ -1455,7 +3249,11 @@ export const TokenSchema = {
1455
3249
  example: '2023-12-20T13:53:32.000Z'
1456
3250
  }
1457
3251
  },
1458
- required: ['name', 'role', 'date_created'],
3252
+ required: [
3253
+ 'name',
3254
+ 'role',
3255
+ 'date_created'
3256
+ ],
1459
3257
  additionalProperties: false
1460
3258
  };
1461
3259
  export const TokenUpdateInputSchema = {
@@ -1473,7 +3271,10 @@ export const TokenUpdateInputSchema = {
1473
3271
  type: 'string',
1474
3272
  description: 'Role assumed by the token.',
1475
3273
  example: 'User',
1476
- enum: ['Administrator', 'User']
3274
+ enum: [
3275
+ 'Administrator',
3276
+ 'User'
3277
+ ]
1477
3278
  }
1478
3279
  },
1479
3280
  additionalProperties: false
@@ -1487,7 +3288,9 @@ export const UsageFacetsSchema = {
1487
3288
  type: 'string'
1488
3289
  },
1489
3290
  description: 'List of unique cluster IDs',
1490
- example: ['6b5439b1-923a-4f2b-a371-d554e5ea23fa']
3291
+ example: [
3292
+ '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
3293
+ ]
1491
3294
  },
1492
3295
  product: {
1493
3296
  type: 'array',
@@ -1495,7 +3298,10 @@ export const UsageFacetsSchema = {
1495
3298
  type: 'string'
1496
3299
  },
1497
3300
  description: 'List of unique products',
1498
- example: ['cfke_controlplane', 'cfke_connected_nodes']
3301
+ example: [
3302
+ 'cfke_controlplane',
3303
+ 'cfke_connected_nodes'
3304
+ ]
1499
3305
  }
1500
3306
  },
1501
3307
  additionalProperties: false
@@ -1541,7 +3347,14 @@ export const UsageResponseSchema = {
1541
3347
  description: 'Total cost'
1542
3348
  }
1543
3349
  },
1544
- required: ['hour', 'cluster_id', 'product', 'value', 'price', 'total'],
3350
+ required: [
3351
+ 'hour',
3352
+ 'cluster_id',
3353
+ 'product',
3354
+ 'value',
3355
+ 'price',
3356
+ 'total'
3357
+ ],
1545
3358
  additionalProperties: false
1546
3359
  },
1547
3360
  description: 'Usage data'
@@ -1555,7 +3368,9 @@ export const UsageResponseSchema = {
1555
3368
  type: 'string'
1556
3369
  },
1557
3370
  description: 'List of unique cluster IDs',
1558
- example: ['6b5439b1-923a-4f2b-a371-d554e5ea23fa']
3371
+ example: [
3372
+ '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
3373
+ ]
1559
3374
  },
1560
3375
  product: {
1561
3376
  type: 'array',
@@ -1563,14 +3378,20 @@ export const UsageResponseSchema = {
1563
3378
  type: 'string'
1564
3379
  },
1565
3380
  description: 'List of unique products',
1566
- example: ['cfke_controlplane', 'cfke_connected_nodes']
3381
+ example: [
3382
+ 'cfke_controlplane',
3383
+ 'cfke_connected_nodes'
3384
+ ]
1567
3385
  }
1568
3386
  },
1569
3387
  additionalProperties: false,
1570
3388
  description: 'Facets for filtering'
1571
3389
  }
1572
3390
  },
1573
- required: ['data', 'facets'],
3391
+ required: [
3392
+ 'data',
3393
+ 'facets'
3394
+ ],
1574
3395
  additionalProperties: false
1575
3396
  };
1576
3397
  export const UsageSchema = {
@@ -1609,7 +3430,14 @@ export const UsageSchema = {
1609
3430
  description: 'Total cost'
1610
3431
  }
1611
3432
  },
1612
- required: ['hour', 'cluster_id', 'product', 'value', 'price', 'total'],
3433
+ required: [
3434
+ 'hour',
3435
+ 'cluster_id',
3436
+ 'product',
3437
+ 'value',
3438
+ 'price',
3439
+ 'total'
3440
+ ],
1613
3441
  additionalProperties: false
1614
3442
  };
1615
3443
  export const UserCreateInputSchema = {
@@ -1650,16 +3478,28 @@ export const UserCreateInputSchema = {
1650
3478
  type: 'string',
1651
3479
  description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
1652
3480
  example: 'active',
1653
- enum: ['active', 'inactive']
3481
+ enum: [
3482
+ 'active',
3483
+ 'inactive'
3484
+ ]
1654
3485
  },
1655
3486
  role: {
1656
3487
  type: 'string',
1657
- description: "User role. Can be 'Administrator', 'User'.",
3488
+ description: 'User role. Can be \'Administrator\', \'User\'.',
1658
3489
  example: 'User',
1659
- enum: ['Administrator', 'User']
3490
+ enum: [
3491
+ 'Administrator',
3492
+ 'User'
3493
+ ]
1660
3494
  }
1661
3495
  },
1662
- required: ['email', 'first_name', 'last_name', 'code', 'password'],
3496
+ required: [
3497
+ 'email',
3498
+ 'first_name',
3499
+ 'last_name',
3500
+ 'code',
3501
+ 'password'
3502
+ ],
1663
3503
  additionalProperties: false
1664
3504
  };
1665
3505
  export const UserSchema = {
@@ -1687,15 +3527,21 @@ export const UserSchema = {
1687
3527
  },
1688
3528
  role: {
1689
3529
  type: 'string',
1690
- description: "User role. Can be 'Administrator', 'User'.",
3530
+ description: 'User role. Can be \'Administrator\', \'User\'.',
1691
3531
  example: 'User',
1692
- enum: ['Administrator', 'User']
3532
+ enum: [
3533
+ 'Administrator',
3534
+ 'User'
3535
+ ]
1693
3536
  },
1694
3537
  status: {
1695
3538
  type: 'string',
1696
3539
  description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
1697
3540
  example: 'active',
1698
- enum: ['active', 'inactive']
3541
+ enum: [
3542
+ 'active',
3543
+ 'inactive'
3544
+ ]
1699
3545
  },
1700
3546
  id: {
1701
3547
  type: 'string',
@@ -1710,7 +3556,15 @@ export const UserSchema = {
1710
3556
  example: '2023-11-02T16:08:14.338Z'
1711
3557
  }
1712
3558
  },
1713
- required: ['email', 'first_name', 'last_name', 'role', 'status', 'id', 'date_created'],
3559
+ required: [
3560
+ 'email',
3561
+ 'first_name',
3562
+ 'last_name',
3563
+ 'role',
3564
+ 'status',
3565
+ 'id',
3566
+ 'date_created'
3567
+ ],
1714
3568
  additionalProperties: false
1715
3569
  };
1716
3570
  export const UserUpdateInputSchema = {
@@ -1738,15 +3592,21 @@ export const UserUpdateInputSchema = {
1738
3592
  },
1739
3593
  role: {
1740
3594
  type: 'string',
1741
- description: "User role. Can be 'Administrator', 'User'.",
3595
+ description: 'User role. Can be \'Administrator\', \'User\'.',
1742
3596
  example: 'User',
1743
- enum: ['Administrator', 'User']
3597
+ enum: [
3598
+ 'Administrator',
3599
+ 'User'
3600
+ ]
1744
3601
  },
1745
3602
  status: {
1746
3603
  type: 'string',
1747
3604
  description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
1748
3605
  example: 'active',
1749
- enum: ['active', 'inactive']
3606
+ enum: [
3607
+ 'active',
3608
+ 'inactive'
3609
+ ]
1750
3610
  }
1751
3611
  },
1752
3612
  additionalProperties: false