@cloudfleet/sdk 0.0.1-76e2a56 → 0.0.1-7a6b7de

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 (83) hide show
  1. package/dist/client/client.gen.d.ts +3 -0
  2. package/dist/client/client.gen.d.ts.map +1 -0
  3. package/dist/client/client.gen.js +236 -0
  4. package/dist/client/client.gen.js.map +1 -0
  5. package/dist/client/index.d.ts +9 -0
  6. package/dist/client/index.d.ts.map +1 -0
  7. package/dist/client/index.js +7 -0
  8. package/dist/client/index.js.map +1 -0
  9. package/dist/client/types.gen.d.ts +118 -0
  10. package/dist/client/types.gen.d.ts.map +1 -0
  11. package/dist/client/types.gen.js +3 -0
  12. package/dist/client/types.gen.js.map +1 -0
  13. package/dist/client/utils.gen.d.ts +34 -0
  14. package/dist/client/utils.gen.d.ts.map +1 -0
  15. package/dist/client/utils.gen.js +229 -0
  16. package/dist/client/utils.gen.js.map +1 -0
  17. package/dist/client.gen.d.ts +4 -4
  18. package/dist/client.gen.d.ts.map +1 -1
  19. package/dist/client.gen.js +2 -4
  20. package/dist/client.gen.js.map +1 -1
  21. package/dist/core/auth.gen.d.ts +19 -0
  22. package/dist/core/auth.gen.d.ts.map +1 -0
  23. package/dist/core/auth.gen.js +15 -0
  24. package/dist/core/auth.gen.js.map +1 -0
  25. package/dist/core/bodySerializer.gen.d.ts +26 -0
  26. package/dist/core/bodySerializer.gen.d.ts.map +1 -0
  27. package/dist/core/bodySerializer.gen.js +58 -0
  28. package/dist/core/bodySerializer.gen.js.map +1 -0
  29. package/dist/core/params.gen.d.ts +44 -0
  30. package/dist/core/params.gen.d.ts.map +1 -0
  31. package/dist/core/params.gen.js +101 -0
  32. package/dist/core/params.gen.js.map +1 -0
  33. package/dist/core/pathSerializer.gen.d.ts +34 -0
  34. package/dist/core/pathSerializer.gen.d.ts.map +1 -0
  35. package/dist/core/pathSerializer.gen.js +107 -0
  36. package/dist/core/pathSerializer.gen.js.map +1 -0
  37. package/dist/core/queryKeySerializer.gen.d.ts +19 -0
  38. package/dist/core/queryKeySerializer.gen.d.ts.map +1 -0
  39. package/dist/core/queryKeySerializer.gen.js +93 -0
  40. package/dist/core/queryKeySerializer.gen.js.map +1 -0
  41. package/dist/core/serverSentEvents.gen.d.ts +72 -0
  42. package/dist/core/serverSentEvents.gen.d.ts.map +1 -0
  43. package/dist/core/serverSentEvents.gen.js +134 -0
  44. package/dist/core/serverSentEvents.gen.js.map +1 -0
  45. package/dist/core/types.gen.d.ts +79 -0
  46. package/dist/core/types.gen.d.ts.map +1 -0
  47. package/dist/core/types.gen.js +3 -0
  48. package/dist/core/types.gen.js.map +1 -0
  49. package/dist/core/utils.gen.d.ts +20 -0
  50. package/dist/core/utils.gen.d.ts.map +1 -0
  51. package/dist/core/utils.gen.js +88 -0
  52. package/dist/core/utils.gen.js.map +1 -0
  53. package/dist/index.d.ts +3 -0
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +3 -0
  56. package/dist/index.js.map +1 -1
  57. package/dist/schemas.gen.d.ts +959 -887
  58. package/dist/schemas.gen.d.ts.map +1 -1
  59. package/dist/schemas.gen.js +1436 -943
  60. package/dist/schemas.gen.js.map +1 -1
  61. package/dist/sdk.gen.d.ts +211 -142
  62. package/dist/sdk.gen.d.ts.map +1 -1
  63. package/dist/sdk.gen.js +274 -221
  64. package/dist/sdk.gen.js.map +1 -1
  65. package/dist/services/kubernetes/api.d.ts +196 -0
  66. package/dist/services/kubernetes/api.d.ts.map +1 -0
  67. package/dist/services/kubernetes/api.js +140 -0
  68. package/dist/services/kubernetes/api.js.map +1 -0
  69. package/dist/services/kubernetes/index.d.ts +44 -0
  70. package/dist/services/kubernetes/index.d.ts.map +1 -0
  71. package/dist/services/kubernetes/index.js +68 -0
  72. package/dist/services/kubernetes/index.js.map +1 -0
  73. package/dist/services/kubernetes/types.d.ts +1335 -0
  74. package/dist/services/kubernetes/types.d.ts.map +1 -0
  75. package/dist/services/kubernetes/types.js +2 -0
  76. package/dist/services/kubernetes/types.js.map +1 -0
  77. package/dist/types.gen.d.ts +904 -770
  78. package/dist/types.gen.d.ts.map +1 -1
  79. package/dist/zod.gen.d.ts +1679 -2400
  80. package/dist/zod.gen.d.ts.map +1 -1
  81. package/dist/zod.gen.js +673 -838
  82. package/dist/zod.gen.js.map +1 -1
  83. package/package.json +12 -5
@@ -58,18 +58,378 @@ export const BillingContactSchema = {
58
58
  description: 'Email address used for billing as a string.',
59
59
  example: 'email@example.com'
60
60
  },
61
- first_name: {
61
+ individual_name: {
62
62
  type: 'string',
63
- description: 'First name of the billing contact person.',
64
- example: 'John'
63
+ description: 'Name of the billing contact person.',
64
+ example: 'John Doe'
65
65
  },
66
- last_name: {
66
+ tax_id: {
67
67
  type: 'string',
68
- description: 'Last name of the billing contact person.',
69
- example: 'Doe'
68
+ nullable: true,
69
+ description: 'Tax ID of the organization.',
70
+ example: 'DE123456789'
71
+ },
72
+ tax_id_type: {
73
+ type: 'string',
74
+ nullable: true,
75
+ description: 'Type of the tax ID.',
76
+ example: 'de_vat',
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
+ ]
207
+ }
208
+ },
209
+ required: [
210
+ 'email',
211
+ 'individual_name'
212
+ ],
213
+ additionalProperties: false
214
+ };
215
+ export const BillingCreditsSchema = {
216
+ type: 'object',
217
+ properties: {
218
+ id: {
219
+ type: 'string',
220
+ description: 'Generated unique identifier of the promotional code.',
221
+ example: '7kUZnH7nnKUFfvc4NK2KQF'
222
+ },
223
+ type: {
224
+ type: 'string',
225
+ description: 'Type of the promotional code.',
226
+ example: 'credit',
227
+ enum: [
228
+ 'credit',
229
+ 'discount'
230
+ ]
231
+ },
232
+ date_start: {
233
+ type: 'string',
234
+ format: 'date-time',
235
+ description: 'Timestamp when the credit becomes active. ISO 8601 date string in the UTC timezone.',
236
+ example: '2023-12-20T13:53:32.000Z'
237
+ },
238
+ date_end: {
239
+ type: 'string',
240
+ format: 'date-time',
241
+ description: 'Timestamp when the credit expires or becomes inactive. ISO 8601 date string in the UTC timezone.',
242
+ example: '2023-12-20T13:53:32.000Z'
243
+ },
244
+ code: {
245
+ type: 'string',
246
+ description: 'Promotional code used by the customer.',
247
+ example: 'VQ4SCMB'
248
+ },
249
+ description: {
250
+ type: 'string',
251
+ description: 'Description of the promotional code.',
252
+ example: '10% off on all products'
253
+ },
254
+ value_total: {
255
+ type: 'number',
256
+ format: 'float',
257
+ description: 'Total value of the promotional code.',
258
+ example: 10
259
+ },
260
+ value_remaining: {
261
+ type: 'number',
262
+ format: 'float',
263
+ description: 'Remaining value of the promotional code.',
264
+ example: 8
265
+ }
266
+ },
267
+ required: [
268
+ 'type',
269
+ 'date_start',
270
+ 'code',
271
+ 'value_total'
272
+ ],
273
+ additionalProperties: false
274
+ };
275
+ export const ChartCreateInputSchema = {
276
+ type: 'object',
277
+ properties: {
278
+ values: {
279
+ type: 'string',
280
+ description: 'Values to be used in the chart encoded as a JSON string.'
281
+ },
282
+ version_channel: {
283
+ type: 'string',
284
+ pattern: '^(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-]+)*))?$',
285
+ description: 'Desired version range or channel for the chart.',
286
+ example: '2.x.x-cfke.x'
287
+ },
288
+ name: {
289
+ type: 'string',
290
+ maxLength: 63,
291
+ minLength: 1,
292
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
293
+ description: 'Unique identifier of the chart deployment aka name of the helm release.',
294
+ example: 'postgresql-0'
295
+ },
296
+ namespace: {
297
+ type: 'string',
298
+ maxLength: 63,
299
+ minLength: 1,
300
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
301
+ description: 'Namespace of the chart deployment',
302
+ example: 'default'
303
+ },
304
+ chart: {
305
+ type: 'string',
306
+ maxLength: 63,
307
+ minLength: 1,
308
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
309
+ description: 'Name of the chart listing',
310
+ example: 'postgresql'
311
+ }
312
+ },
313
+ required: [
314
+ 'values',
315
+ 'version_channel',
316
+ 'name',
317
+ 'namespace',
318
+ 'chart'
319
+ ],
320
+ additionalProperties: false
321
+ };
322
+ export const ChartSchema = {
323
+ type: 'object',
324
+ properties: {
325
+ values: {
326
+ type: 'string',
327
+ description: 'Values to be used in the chart encoded as a JSON string.'
328
+ },
329
+ version_channel: {
330
+ type: 'string',
331
+ pattern: '^(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-]+)*))?$',
332
+ description: 'Desired version range or channel for the chart.',
333
+ example: '2.x.x-cfke.x'
334
+ },
335
+ name: {
336
+ type: 'string',
337
+ maxLength: 63,
338
+ minLength: 1,
339
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
340
+ description: 'Unique identifier of the chart deployment aka name of the helm release.',
341
+ example: 'postgresql-0'
342
+ },
343
+ namespace: {
344
+ type: 'string',
345
+ maxLength: 63,
346
+ minLength: 1,
347
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
348
+ description: 'Namespace of the chart deployment',
349
+ example: 'default'
350
+ },
351
+ chart: {
352
+ type: 'string',
353
+ maxLength: 63,
354
+ minLength: 1,
355
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
356
+ description: 'Name of the chart listing',
357
+ example: 'postgresql'
358
+ },
359
+ status: {
360
+ type: 'string',
361
+ description: 'Status of the chart deployment.',
362
+ example: 'active',
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
+ ]
379
+ },
380
+ version_current: {
381
+ type: 'string',
382
+ description: 'Current version of the chart deployment.',
383
+ example: '2.1.33-cfke.11'
384
+ },
385
+ created_at: {
386
+ type: 'string',
387
+ description: 'Creation date and time of the chart deployment.',
388
+ example: '2024-09-12T09:11:27Z'
389
+ },
390
+ updated_at: {
391
+ type: 'string',
392
+ description: 'Last update date and time of the chart deployment.',
393
+ example: '2024-09-12T09:11:27Z'
394
+ },
395
+ ready: {
396
+ type: 'boolean',
397
+ description: 'Indicates if the chart deployment is ready to be used.',
398
+ example: true
399
+ }
400
+ },
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
+ ],
413
+ additionalProperties: false
414
+ };
415
+ export const ChartUpdateInputSchema = {
416
+ type: 'object',
417
+ properties: {
418
+ values: {
419
+ type: 'string',
420
+ description: 'Values to be used in the chart encoded as a JSON string.'
421
+ },
422
+ version_channel: {
423
+ type: 'string',
424
+ pattern: '^(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-]+)*))?$',
425
+ description: 'Desired version range or channel for the chart.',
426
+ example: '2.x.x-cfke.x'
70
427
  }
71
428
  },
72
- required: ['email', 'first_name', 'last_name'],
429
+ required: [
430
+ 'values',
431
+ 'version_channel'
432
+ ],
73
433
  additionalProperties: false
74
434
  };
75
435
  export const ClusterCreateInputSchema = {
@@ -83,28 +443,45 @@ export const ClusterCreateInputSchema = {
83
443
  description: 'Name of the cluster.',
84
444
  example: 'production-cluster'
85
445
  },
86
- region: {
87
- type: 'string',
88
- description: 'Cloudfleet control plane region. One of "staging", "northamerica-central-1". This field can not be updated after creation.',
89
- default: 'staging',
90
- example: 'northamerica-central-1',
91
- enum: ['staging', 'northamerica-central-1']
92
- },
93
446
  tier: {
94
447
  type: 'string',
95
448
  description: 'Tier of the cluster.',
96
449
  example: 'pro',
97
- enum: ['basic', 'pro']
450
+ enum: [
451
+ 'basic',
452
+ 'pro'
453
+ ]
454
+ },
455
+ region: {
456
+ type: 'string',
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',
459
+ example: 'northamerica-central-1a',
460
+ enum: [
461
+ 'staging-1a',
462
+ 'northamerica-central-1',
463
+ 'europe-central-1a',
464
+ 'northamerica-central-1a'
465
+ ]
98
466
  },
99
467
  version_channel: {
100
468
  type: 'string',
101
469
  pattern: '^(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-]+)*))?$',
102
470
  description: 'Version of the kubernetes cluster.',
103
471
  default: '1.x.x-cfke.x',
104
- example: '1.29.x-cfke.x'
472
+ example: '1.x.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
+ ]
105
479
  }
106
480
  },
107
- required: ['name', 'tier'],
481
+ required: [
482
+ 'name',
483
+ 'tier'
484
+ ],
108
485
  additionalProperties: false
109
486
  };
110
487
  export const ClusterJoinInformationSchema = {
@@ -113,8 +490,7 @@ export const ClusterJoinInformationSchema = {
113
490
  certificate_authority: {
114
491
  type: 'string',
115
492
  description: 'Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.',
116
- example: `-----BEGIN CERTIFICATE-----
117
- MIIC0DCCAbigAwIBAgI...`
493
+ example: '-----BEGIN CERTIFICATE-----\nMIIC0DCCAbigAwIBAgI...'
118
494
  },
119
495
  endpoint: {
120
496
  type: 'string',
@@ -122,6 +498,11 @@ MIIC0DCCAbigAwIBAgI...`
122
498
  description: 'Internal URL of the Kubernetes cluster control plane. This is the endpoint that kubelet uses to connect to the cluster.',
123
499
  example: 'https://10.31.64.7:6443'
124
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
+ },
125
506
  auth_key: {
126
507
  type: 'string',
127
508
  description: 'Authentication key for the cluster.',
@@ -138,7 +519,7 @@ MIIC0DCCAbigAwIBAgI...`
138
519
  kubernetes: {
139
520
  type: 'string',
140
521
  description: 'Kubernetes version of the cluster.',
141
- example: '1.29.3'
522
+ example: '1.33.7'
142
523
  },
143
524
  tailscale: {
144
525
  type: 'string',
@@ -149,9 +530,19 @@ MIIC0DCCAbigAwIBAgI...`
149
530
  type: 'string',
150
531
  description: 'Containerd version of the cluster.',
151
532
  example: '1.7.19'
533
+ },
534
+ nvidia_driver: {
535
+ type: 'string',
536
+ description: 'NVIDIA driver version of the cluster.',
537
+ example: '565.0.0'
152
538
  }
153
539
  },
154
- required: ['kubernetes', 'tailscale', 'containerd'],
540
+ required: [
541
+ 'kubernetes',
542
+ 'tailscale',
543
+ 'containerd',
544
+ 'nvidia_driver'
545
+ ],
155
546
  additionalProperties: false,
156
547
  description: 'Versions of the different components of the cluster.'
157
548
  },
@@ -174,12 +565,24 @@ MIIC0DCCAbigAwIBAgI...`
174
565
  example: '//iam.googleapis.com/projects/89014267864/locations/global/workloadIdentityPools/cfke/providers/oidc'
175
566
  }
176
567
  },
177
- 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
+ ],
178
573
  additionalProperties: false,
179
- 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.'
180
575
  }
181
576
  },
182
- 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
+ ],
183
586
  additionalProperties: false
184
587
  };
185
588
  export const ClusterSchema = {
@@ -193,25 +596,26 @@ export const ClusterSchema = {
193
596
  description: 'Name of the cluster.',
194
597
  example: 'production-cluster'
195
598
  },
196
- region: {
197
- type: 'string',
198
- description: 'Cloudfleet control plane region. One of "staging", "northamerica-central-1". This field can not be updated after creation.',
199
- default: 'staging',
200
- example: 'northamerica-central-1',
201
- enum: ['staging', 'northamerica-central-1']
202
- },
203
599
  tier: {
204
600
  type: 'string',
205
601
  description: 'Tier of the cluster.',
206
602
  example: 'pro',
207
- enum: ['basic', 'pro']
603
+ enum: [
604
+ 'basic',
605
+ 'pro'
606
+ ]
208
607
  },
209
- version_channel: {
608
+ region: {
210
609
  type: 'string',
211
- pattern: '^(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-]+)*))?$',
212
- description: 'Version of the kubernetes cluster.',
213
- default: '1.x.x-cfke.x',
214
- example: '1.29.x-cfke.x'
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',
612
+ example: 'northamerica-central-1a',
613
+ enum: [
614
+ 'staging-1a',
615
+ 'northamerica-central-1',
616
+ 'europe-central-1a',
617
+ 'northamerica-central-1a'
618
+ ]
215
619
  },
216
620
  id: {
217
621
  type: 'string',
@@ -223,7 +627,15 @@ export const ClusterSchema = {
223
627
  type: 'string',
224
628
  description: 'Status of the cluster. When creating a new cluster, set to `active`. When deleting a clusters, set to `deleted`.',
225
629
  example: 'active',
226
- enum: ['active', 'deleted', 'creating', 'deployed', 'failed', 'updating']
630
+ enum: [
631
+ 'active',
632
+ 'disabled',
633
+ 'deleted',
634
+ 'creating',
635
+ 'deployed',
636
+ 'failed',
637
+ 'updating'
638
+ ]
227
639
  },
228
640
  endpoint: {
229
641
  anyOf: [
@@ -235,20 +647,21 @@ export const ClusterSchema = {
235
647
  },
236
648
  {
237
649
  type: 'string',
238
- enum: ['']
650
+ enum: [
651
+ ''
652
+ ]
239
653
  }
240
654
  ]
241
655
  },
242
656
  certificate_ca: {
243
657
  type: 'string',
244
658
  description: 'Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.',
245
- example: `-----BEGIN CERTIFICATE-----
246
- MIIC0DCCAbigAwIBAgI...`
659
+ example: '-----BEGIN CERTIFICATE-----\nMIIC0DCCAbigAwIBAgI...'
247
660
  },
248
661
  version_current: {
249
662
  type: 'string',
250
663
  description: 'Current version of the cluster.',
251
- example: '1.29.3-cfke.52'
664
+ example: '1.33.7-cfke.264'
252
665
  },
253
666
  created_at: {
254
667
  type: 'string',
@@ -264,9 +677,20 @@ MIIC0DCCAbigAwIBAgI...`
264
677
  type: 'boolean',
265
678
  description: 'Indicates if the cluster is ready to be used.',
266
679
  example: true
680
+ },
681
+ version_channel: {
682
+ type: 'string',
683
+ pattern: '^(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-]+)*))?$',
684
+ description: 'Version of the kubernetes cluster.',
685
+ example: '1.x.x-cfke.x'
267
686
  }
268
687
  },
269
- required: ['name', 'tier', 'id', 'status'],
688
+ required: [
689
+ 'name',
690
+ 'tier',
691
+ 'id',
692
+ 'status'
693
+ ],
270
694
  additionalProperties: false
271
695
  };
272
696
  export const ClusterUpdateInputSchema = {
@@ -280,13 +704,25 @@ export const ClusterUpdateInputSchema = {
280
704
  description: 'Name of the cluster.',
281
705
  example: 'production-cluster'
282
706
  },
707
+ tier: {
708
+ type: 'string',
709
+ description: 'Tier of the cluster.',
710
+ example: 'pro',
711
+ enum: [
712
+ 'basic',
713
+ 'pro'
714
+ ]
715
+ },
283
716
  version_channel: {
284
717
  type: 'string',
285
718
  pattern: '^(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-]+)*))?$',
286
719
  description: 'Version of the kubernetes cluster.',
287
- example: '1.29.x-cfke.x'
720
+ example: '1.x.x-cfke.x'
288
721
  }
289
722
  },
723
+ required: [
724
+ 'tier'
725
+ ],
290
726
  additionalProperties: false
291
727
  };
292
728
  export const FleetCreateInputSchema = {
@@ -302,7 +738,9 @@ export const FleetCreateInputSchema = {
302
738
  description: 'CPU limit in cores.'
303
739
  }
304
740
  },
305
- required: ['cpu'],
741
+ required: [
742
+ 'cpu'
743
+ ],
306
744
  additionalProperties: false,
307
745
  description: 'Limits define a set of bounds for provisioning capacity.'
308
746
  },
@@ -318,38 +756,27 @@ export const FleetCreateInputSchema = {
318
756
  description: 'Project GCP Project id to deploy instances into'
319
757
  }
320
758
  },
321
- required: ['project'],
759
+ required: [
760
+ 'project'
761
+ ],
322
762
  additionalProperties: false
323
763
  },
324
764
  hetzner: {
325
- oneOf: [
326
- {
327
- type: 'object',
328
- properties: {
329
- enabled: {
330
- type: 'boolean',
331
- default: true
332
- },
333
- apiKey: {
334
- type: 'string'
335
- }
336
- },
337
- additionalProperties: false
765
+ type: 'object',
766
+ properties: {
767
+ enabled: {
768
+ type: 'boolean',
769
+ default: true
338
770
  },
339
- {
340
- type: 'object',
341
- properties: {
342
- apiKey: {
343
- type: 'string'
344
- },
345
- enabled: {
346
- type: 'boolean',
347
- default: true
348
- }
349
- },
350
- additionalProperties: false
771
+ apiKey: {
772
+ type: 'string',
773
+ description: 'Hetzner Cloud API key with read / write access'
351
774
  }
352
- ]
775
+ },
776
+ required: [
777
+ 'apiKey'
778
+ ],
779
+ additionalProperties: false
353
780
  },
354
781
  aws: {
355
782
  type: 'object',
@@ -363,7 +790,9 @@ export const FleetCreateInputSchema = {
363
790
  description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
364
791
  }
365
792
  },
366
- required: ['controllerRoleArn'],
793
+ required: [
794
+ 'controllerRoleArn'
795
+ ],
367
796
  additionalProperties: false
368
797
  },
369
798
  id: {
@@ -373,14 +802,11 @@ export const FleetCreateInputSchema = {
373
802
  pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
374
803
  description: 'Unique identifier of the kubernetes fleet.',
375
804
  example: 'new-clouds-fleet'
376
- },
377
- type: {
378
- type: 'string',
379
- description: 'Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.',
380
- enum: ['managed', 'connected']
381
805
  }
382
806
  },
383
- required: ['id', 'type'],
807
+ required: [
808
+ 'id'
809
+ ],
384
810
  additionalProperties: false
385
811
  };
386
812
  export const FleetSchema = {
@@ -396,7 +822,9 @@ export const FleetSchema = {
396
822
  description: 'CPU limit in cores.'
397
823
  }
398
824
  },
399
- required: ['cpu'],
825
+ required: [
826
+ 'cpu'
827
+ ],
400
828
  additionalProperties: false,
401
829
  description: 'Limits define a set of bounds for provisioning capacity.'
402
830
  },
@@ -412,38 +840,27 @@ export const FleetSchema = {
412
840
  description: 'Project GCP Project id to deploy instances into'
413
841
  }
414
842
  },
415
- required: ['project'],
843
+ required: [
844
+ 'project'
845
+ ],
416
846
  additionalProperties: false
417
847
  },
418
848
  hetzner: {
419
- oneOf: [
420
- {
421
- type: 'object',
422
- properties: {
423
- enabled: {
424
- type: 'boolean',
425
- default: true
426
- },
427
- apiKey: {
428
- type: 'string'
429
- }
430
- },
431
- additionalProperties: false
849
+ type: 'object',
850
+ properties: {
851
+ enabled: {
852
+ type: 'boolean',
853
+ default: true
432
854
  },
433
- {
434
- type: 'object',
435
- properties: {
436
- apiKey: {
437
- type: 'string'
438
- },
439
- enabled: {
440
- type: 'boolean',
441
- default: true
442
- }
443
- },
444
- additionalProperties: false
855
+ apiKey: {
856
+ type: 'string',
857
+ description: 'Hetzner Cloud API key with read / write access'
445
858
  }
446
- ]
859
+ },
860
+ required: [
861
+ 'apiKey'
862
+ ],
863
+ additionalProperties: false
447
864
  },
448
865
  aws: {
449
866
  type: 'object',
@@ -457,7 +874,9 @@ export const FleetSchema = {
457
874
  description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
458
875
  }
459
876
  },
460
- required: ['controllerRoleArn'],
877
+ required: [
878
+ 'controllerRoleArn'
879
+ ],
461
880
  additionalProperties: false
462
881
  },
463
882
  id: {
@@ -467,14 +886,11 @@ export const FleetSchema = {
467
886
  pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
468
887
  description: 'Unique identifier of the kubernetes fleet.',
469
888
  example: 'new-clouds-fleet'
470
- },
471
- type: {
472
- type: 'string',
473
- description: 'Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.',
474
- enum: ['managed', 'connected']
475
889
  }
476
890
  },
477
- required: ['id', 'type'],
891
+ required: [
892
+ 'id'
893
+ ],
478
894
  additionalProperties: false
479
895
  };
480
896
  export const FleetUpdateInputSchema = {
@@ -490,7 +906,9 @@ export const FleetUpdateInputSchema = {
490
906
  description: 'CPU limit in cores.'
491
907
  }
492
908
  },
493
- required: ['cpu'],
909
+ required: [
910
+ 'cpu'
911
+ ],
494
912
  additionalProperties: false,
495
913
  description: 'Limits define a set of bounds for provisioning capacity.'
496
914
  },
@@ -506,38 +924,27 @@ export const FleetUpdateInputSchema = {
506
924
  description: 'Project GCP Project id to deploy instances into'
507
925
  }
508
926
  },
509
- required: ['project'],
927
+ required: [
928
+ 'project'
929
+ ],
510
930
  additionalProperties: false
511
931
  },
512
932
  hetzner: {
513
- oneOf: [
514
- {
515
- type: 'object',
516
- properties: {
517
- enabled: {
518
- type: 'boolean',
519
- default: true
520
- },
521
- apiKey: {
522
- type: 'string'
523
- }
524
- },
525
- additionalProperties: false
933
+ type: 'object',
934
+ properties: {
935
+ enabled: {
936
+ type: 'boolean',
937
+ default: true
526
938
  },
527
- {
528
- type: 'object',
529
- properties: {
530
- apiKey: {
531
- type: 'string'
532
- },
533
- enabled: {
534
- type: 'boolean',
535
- default: true
536
- }
537
- },
538
- additionalProperties: false
939
+ apiKey: {
940
+ type: 'string',
941
+ description: 'Hetzner Cloud API key with read / write access'
539
942
  }
540
- ]
943
+ },
944
+ required: [
945
+ 'apiKey'
946
+ ],
947
+ additionalProperties: false
541
948
  },
542
949
  aws: {
543
950
  type: 'object',
@@ -551,301 +958,33 @@ export const FleetUpdateInputSchema = {
551
958
  description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
552
959
  }
553
960
  },
554
- required: ['controllerRoleArn'],
961
+ required: [
962
+ 'controllerRoleArn'
963
+ ],
555
964
  additionalProperties: false
556
965
  }
557
966
  },
558
967
  additionalProperties: false
559
968
  };
560
- export const InfrastructureFilterSchema = {
969
+ export const InviteSchema = {
561
970
  type: 'object',
562
971
  properties: {
563
- version: {
564
- type: 'integer',
565
- description: 'Version of the infrastructure filter definition. Currently only version 1 is supported.',
566
- default: 1,
567
- example: 1,
568
- enum: [1]
569
- },
570
- provider: {
571
- type: 'array',
572
- items: {
573
- type: 'string'
574
- },
575
- description: 'Limit selection of cloud providers to this list. For the full list of supported providers, see [Providers](https://cloudfleet.ai/docs/cloud-infrastructure/providers/)',
576
- example: 'AWS'
972
+ id: {
973
+ type: 'string',
974
+ description: 'Unique identifier of the invitation.',
975
+ example: '65831dd20d20165489cbb868'
577
976
  },
578
- region: {
579
- type: 'array',
580
- items: {
581
- type: 'string'
582
- },
583
- description: 'Limits selection of cloud regions to this list of Cloudfleet regions. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)',
584
- example: 'northamerica'
977
+ organization_id: {
978
+ type: 'string',
979
+ format: 'uuid',
980
+ description: 'Unique identifier of the organization the project belongs to. UUID v4 string in canonical form',
981
+ example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
585
982
  },
586
- sub_region: {
587
- type: 'array',
588
- items: {
589
- type: 'string'
590
- },
591
- description: 'Limits selection of cloud regions to this list of Cloudfleet regions. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)',
592
- example: 'west'
593
- },
594
- csp_region: {
595
- type: 'array',
596
- items: {
597
- type: 'string'
598
- },
599
- description: 'Limits selection of cloud regions to this list of canonical provider regions',
600
- example: 'eu-west-1'
601
- },
602
- instance_type: {
603
- type: 'array',
604
- items: {
605
- type: 'string'
606
- },
607
- description: 'Limits selection of instance types to this list. Instance / VM type as defined by the cloud service provider',
608
- example: 'p4d.24xlarge'
609
- },
610
- accelerator_name: {
611
- type: 'array',
612
- items: {
613
- type: 'string'
614
- },
615
- description: "List of Normalized accelerator model names. For example, all variations of Nvidia A100 GPUs will have 'A100' as accelerator name with various memory configurations set in accelerator_memory field",
616
- example: 'A100'
617
- },
618
- accelerator_manufacturer: {
619
- type: 'array',
620
- items: {
621
- type: 'string'
622
- },
623
- description: "List of normalized accelerator manufacturer names. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer",
624
- example: 'NVIDIA'
625
- },
626
- accelerator_count_min: {
627
- type: 'integer',
628
- minimum: 0,
629
- description: 'Minimum number of accelerators available on the instance. Some cloud providers support shared accelerators, so the number of accelerators may be a fraction of the number of physical accelerators.',
630
- example: 1
631
- },
632
- accelerator_count_max: {
633
- type: 'integer',
634
- minimum: 0,
635
- description: 'Maximum number of accelerators available on the instance. Some cloud providers support shared accelerators, so the number of accelerators may be a fraction of the number of physical accelerators.',
636
- example: 8
637
- },
638
- accelerator_memory_min: {
639
- type: 'number',
640
- format: 'float',
641
- description: "Minimum amount of accelerator memory available to each accelerator. For example, Nvidia A100 GPUs will typically have '40.0' gibibytes (GiB) of memory, while A100 GPUs with HBM2E memory will have '80.0' gibibytes (GiB) of memory",
642
- example: 40
643
- },
644
- accelerator_memory_max: {
645
- type: 'number',
646
- format: 'float',
647
- description: "Maximum amount of accelerator memory available to each accelerator. For example, Nvidia A100 GPUs will typically have '40.0' gibibytes (GiB) of memory, while A100 GPUs with HBM2E memory will have '80.0' gibibytes (GiB) of memory",
648
- example: 80
649
- },
650
- memory_min: {
651
- type: 'integer',
652
- minimum: 0,
653
- description: 'Minimum amount of RAM in gibibytes (GiB)',
654
- example: 32
655
- },
656
- memory_max: {
657
- type: 'integer',
658
- minimum: 0,
659
- description: 'Maximum amount of RAM in gibibytes (GiB)',
660
- example: 64
661
- },
662
- vcpu_min: {
663
- type: 'integer',
664
- minimum: 1,
665
- description: 'Minimum number of vCPUs as defined by the cloud service provider. Some cloud providers use hyperthreading, so the number of vCPUs may be twice as high as the number of physical cores.',
666
- example: 32
667
- },
668
- vcpu_max: {
669
- type: 'integer',
670
- minimum: 1,
671
- description: 'Maximum number of vCPUs as defined by the cloud service provider. Some cloud providers use hyperthreading, so the number of vCPUs may be twice as high as the number of physical cores.',
672
- example: 128
673
- },
674
- storage_total_min: {
675
- type: 'number',
676
- format: 'float',
677
- minimum: 10,
678
- description: 'Minimum total storage in GiB (attached and local)',
679
- example: 128
680
- },
681
- storage_total_max: {
682
- type: 'number',
683
- format: 'float',
684
- minimum: 10,
685
- description: 'Maximum total storage in GiB (attached and local)',
686
- example: 256
687
- },
688
- storage_local_min: {
689
- type: 'number',
690
- format: 'float',
691
- description: 'Minimum volume of directly attached, block-device local storage in gibibytes (GiB)',
692
- example: 24
693
- },
694
- storage_local_max: {
695
- type: 'number',
696
- format: 'float',
697
- description: 'Maximum volume of directly attached, block-device local storage in gibibytes (GiB)',
698
- example: 128
699
- },
700
- price_min: {
701
- type: 'number',
702
- format: 'float',
703
- description: 'Minimum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.',
704
- example: 10
705
- },
706
- price_max: {
707
- type: 'number',
708
- format: 'float',
709
- description: 'Maximum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.',
710
- example: 50
711
- }
712
- },
713
- additionalProperties: false
714
- };
715
- export const InfrastructureInstanceSchema = {
716
- type: 'object',
717
- properties: {
718
- sku: {
719
- type: 'string',
720
- description: 'Cloudfleet instance SKU. Has a format of <provider>-<csp_region>-<instance_type>.',
721
- example: 'AWS-EU-WEST-1C-P4D.24XLARGE'
722
- },
723
- provider: {
724
- type: 'string',
725
- description: 'Normalized cloud service provider name. For the full list of supported providers, see [Providers](https://cloudfleet.ai/docs/cloud-infrastructure/providers/)',
726
- example: 'AWS'
727
- },
728
- region: {
729
- type: 'string',
730
- description: 'Normalized region. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)',
731
- example: 'europe'
732
- },
733
- sub_region: {
734
- type: 'string',
735
- description: 'Normalized sub-region. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)',
736
- example: 'west'
737
- },
738
- csp_region: {
739
- type: 'string',
740
- description: 'Region as defined by the cloud service provider',
741
- example: 'eu-west-1'
742
- },
743
- csp_zone: {
744
- type: 'string',
745
- description: 'Availability zone as defined by the cloud service provider',
746
- example: 'eu-west-1a'
747
- },
748
- instance_type: {
749
- type: 'string',
750
- description: 'Instance / VM type as defined by the cloud service provider',
751
- example: 'p4d.24xlarge'
752
- },
753
- architecture: {
754
- type: 'string',
755
- description: 'Instance CPU architecture',
756
- example: 'amd64'
757
- },
758
- os: {
759
- type: 'string',
760
- description: 'Instance operating system',
761
- example: 'linux'
762
- },
763
- vcpu: {
764
- type: 'number',
765
- format: 'float',
766
- minimum: 1,
767
- description: 'CPU count as defined by the cloud service provider. Some cloud providers use hyperthreading, so the number of vCPUs may be twice as high as the number of physical cores.',
768
- example: 96
769
- },
770
- memory: {
771
- type: 'number',
772
- format: 'float',
773
- minimum: 1,
774
- description: 'Total amount of RAM in gibibytes (GiB)',
775
- example: 1152
776
- },
777
- local_storage: {
778
- type: 'number',
779
- format: 'float',
780
- description: 'Volume of directly attached, block-device local storage in gibibytes (GiB)',
781
- example: 8000
782
- },
783
- accelerator_name: {
784
- type: 'string',
785
- description: "Normalized model name of accelerator. For example, all variations of Nvidia A100 GPUs will have 'A100' as accelerator name with various memory configurations set in accelerator_memory field",
786
- example: 'A100'
787
- },
788
- accelerator_manufacturer: {
789
- type: 'string',
790
- description: "Normalized manufacturer name of accelerator. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer",
791
- example: 'NVIDIA'
792
- },
793
- accelerator_count: {
794
- type: 'integer',
795
- description: 'Number of accelerators available on the instance. Some cloud providers support shared accelerators, so the number of accelerators may be a fraction of the number of physical accelerators.',
796
- example: 8
797
- },
798
- accelerator_memory: {
799
- type: 'number',
800
- format: 'float',
801
- description: "Ammount of accelerator memory available to each accelerator. For example, Nvidia A100 GPUs will typically have '40.0' gibibytes (GiB) of memory, while A100 GPUs with HBM2E memory will have '80.0' gibibytes (GiB) of memory",
802
- example: 40
803
- },
804
- pods_capacity: {
805
- type: 'number',
806
- format: 'float',
807
- description: 'Maximum number of pods that can be run on this instance type.',
808
- example: 110
809
- },
810
- capacity_type: {
811
- type: 'string',
812
- description: 'Capacity type of the instance. E.g. `on-demand`, `spot`.',
813
- example: 'on-demand'
814
- },
815
- price: {
816
- type: 'number',
817
- format: 'float',
818
- description: 'Price of running the inctance per hour in USD as defined by the cloud service provider',
819
- example: 35.39655
820
- },
821
- available: {
822
- type: 'boolean',
823
- description: 'Whether this instance type is available.',
824
- example: true
825
- }
826
- },
827
- required: ['sku', 'provider', 'region', 'sub_region', 'csp_region', 'csp_zone', 'instance_type', 'architecture', 'os', 'vcpu', 'memory', 'local_storage', 'price'],
828
- additionalProperties: false
829
- };
830
- export const InviteSchema = {
831
- type: 'object',
832
- properties: {
833
- id: {
834
- type: 'string',
835
- description: 'Unique identifier of the invitation.',
836
- example: '65831dd20d20165489cbb868'
837
- },
838
- organization_id: {
839
- type: 'string',
840
- format: 'uuid',
841
- description: 'Unique identifier of the organization the project belongs to. UUID v4 string in canonical form',
842
- example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
843
- },
844
- date_created: {
845
- type: 'string',
846
- format: 'date-time',
847
- description: 'Creation date of the project. ISO 8601 date string in UTC timezone',
848
- example: '2023-11-02T16:08:14.338Z'
983
+ date_created: {
984
+ type: 'string',
985
+ format: 'date-time',
986
+ description: 'Creation date of the project. ISO 8601 date string in UTC timezone',
987
+ example: '2023-11-02T16:08:14.338Z'
849
988
  },
850
989
  email: {
851
990
  type: 'string',
@@ -859,7 +998,9 @@ export const InviteSchema = {
859
998
  example: '7kUZnH7nnKUFfvc4NK2KQF'
860
999
  }
861
1000
  },
862
- required: ['date_created'],
1001
+ required: [
1002
+ 'date_created'
1003
+ ],
863
1004
  additionalProperties: false
864
1005
  };
865
1006
  export const InvoiceSchema = {
@@ -867,23 +1008,18 @@ export const InvoiceSchema = {
867
1008
  properties: {
868
1009
  id: {
869
1010
  type: 'string',
870
- format: 'uuid',
871
- description: 'Unique identifier of the invoice. UUID v4 string in canonical form',
872
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
1011
+ description: 'Unique identifier of the invoice.',
1012
+ example: 'in_1234567890xCrwxghOTj1234'
873
1013
  },
874
- organizationId: {
875
- type: 'string',
876
- format: 'uuid',
877
- description: 'Unique identifier of the organization. UUID v4 string in canonical form',
878
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
1014
+ number: {
1015
+ type: 'string'
879
1016
  },
880
1017
  status: {
881
1018
  type: 'string',
882
1019
  description: 'Status of the invoice',
883
- example: 'DRAFT',
884
- enum: ['DRAFT', 'COMMITTED', 'VOID']
1020
+ example: 'paid'
885
1021
  },
886
- amount: {
1022
+ total: {
887
1023
  type: 'number',
888
1024
  format: 'float',
889
1025
  description: 'Total amount of the invoice',
@@ -892,330 +1028,189 @@ export const InvoiceSchema = {
892
1028
  currency: {
893
1029
  type: 'string',
894
1030
  description: 'Currency of the invoice',
895
- example: 'USD',
896
- enum: ['AED', 'AFN', 'ALL', 'AMD', 'ANG', 'AOA', 'ARS', 'AUD', 'AWG', 'AZN', 'BAM', 'BBD', 'BDT', 'BGN', 'BHD', 'BIF', 'BMD', 'BND', 'BOB', 'BRL', 'BSD', 'BTN', 'BWP', 'BYR', 'BZD', 'CAD', 'CDF', 'CHF', 'CLP', 'CNY', 'COP', 'CRC', 'CUC', 'CUP', 'CVE', 'CZK', 'DJF', 'DKK', 'DOP', 'DZD', 'EGP', 'ERN', 'ETB', 'EUR', 'FJD', 'FKP', 'GBP', 'GEL', 'GGP', 'GHS', 'GIP', 'GMD', 'GNF', 'GTQ', 'GYD', 'HKD', 'HNL', 'HRK', 'HTG', 'HUF', 'IDR', 'ILS', 'IMP', 'INR', 'IQD', 'IRR', 'ISK', 'JEP', 'JMD', 'JOD', 'JPY', 'KES', 'KGS', 'KHR', 'KMF', 'KPW', 'KRW', 'KWD', 'KYD', 'KZT', 'LAK', 'LBP', 'LKR', 'LRD', 'LSL', 'LTL', 'LVL', 'LYD', 'MAD', 'MDL', 'MGA', 'MKD', 'MMK', 'MNT', 'MOP', 'MRO', 'MUR', 'MVR', 'MWK', 'MXN', 'MYR', 'MZN', 'NAD', 'NGN', 'NIO', 'NOK', 'NPR', 'NZD', 'OMR', 'PAB', 'PEN', 'PGK', 'PHP', 'PKR', 'PLN', 'PYG', 'QAR', 'RON', 'RSD', 'RUB', 'RWF', 'SAR', 'SBD', 'SCR', 'SDG', 'SEK', 'SGD', 'SHP', 'SLL', 'SOS', 'SPL', 'SRD', 'STD', 'SVC', 'SYP', 'SZL', 'THB', 'TJS', 'TMT', 'TND', 'TOP', 'TRY', 'TTD', 'TVD', 'TWD', 'TZS', 'UAH', 'UGX', 'USD', 'UYU', 'UZS', 'VEF', 'VND', 'VUV', 'WST', 'XAF', 'XCD', 'XDR', 'XOF', 'XPF', 'YER', 'ZAR', 'ZMW', 'ZWD', 'BTC']
897
- },
898
- creditAdj: {
899
- type: 'number',
900
- format: 'float',
901
- description: 'Total amount of credit adjustments',
902
- example: 0
903
- },
904
- refundAdj: {
905
- type: 'number',
906
- format: 'float',
907
- description: 'Total amount of refund adjustments',
908
- example: 0
1031
+ example: 'usd'
909
1032
  },
910
- invoiceDate: {
1033
+ created: {
911
1034
  type: 'string',
912
- description: 'Date of the invoice',
913
- example: '2019-01-01T00:00:00.000Z'
1035
+ format: 'date-time',
1036
+ description: 'Timestamp when the invoice was issued. ISO 8601 date string in the UTC timezone.',
1037
+ example: '2023-12-20T13:53:32.000Z'
914
1038
  },
915
- targetDate: {
1039
+ period_start: {
916
1040
  type: 'string',
917
- description: 'Target date of the invoice',
918
- example: '2019-01-01T00:00:00.000Z'
1041
+ format: 'date-time',
1042
+ description: 'Billing period start timestamp. ISO 8601 date string in the UTC timezone.',
1043
+ example: '2023-12-20T13:53:32.000Z'
919
1044
  },
920
- invoiceNumber: {
1045
+ period_end: {
921
1046
  type: 'string',
922
- description: 'Number of the invoice',
923
- example: 'INV-0001'
924
- },
925
- balance: {
926
- type: 'number',
927
- format: 'float',
928
- description: 'Balance of the invoice',
929
- example: 100
1047
+ format: 'date-time',
1048
+ description: 'Billing period end timestamp. ISO 8601 date string in the UTC timezone.',
1049
+ example: '2023-12-20T13:53:32.000Z'
930
1050
  },
931
- bundleKeys: {
1051
+ invoice_pdf: {
1052
+ type: 'string'
1053
+ }
1054
+ },
1055
+ required: [
1056
+ 'created',
1057
+ 'period_start',
1058
+ 'period_end'
1059
+ ],
1060
+ additionalProperties: false
1061
+ };
1062
+ export const MarketplaceListingFilesSchema = {
1063
+ type: 'object',
1064
+ properties: {
1065
+ chartYaml: {
932
1066
  type: 'string',
933
- description: 'Bundle keys of the invoice',
934
- example: 'bundleKey1,bundleKey2'
1067
+ description: 'Raw Chart.yaml content from the Helm chart',
1068
+ example: 'apiVersion: v2\nname: nginx-ingress\nversion: 1.18.2-cfke.45\nappVersion: 1.9.4'
935
1069
  },
936
- credits: {
937
- type: 'array',
938
- items: {
939
- type: 'object',
940
- properties: {
941
- id: {
942
- type: 'string',
943
- format: 'uuid',
944
- description: 'Unique identifier of the invoice item. UUID v4 string in canonical form',
945
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
946
- },
947
- linkedInvoiceItemId: {
948
- type: 'string',
949
- format: 'uuid',
950
- description: 'Unique identifier of the linked invoice item. UUID v4 string in canonical form',
951
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
952
- },
953
- productName: {
954
- type: 'string',
955
- description: 'Name of the product',
956
- example: 'Research team'
957
- },
958
- planName: {
959
- type: 'string',
960
- description: 'Name of the plan',
961
- example: 'Plan A'
962
- },
963
- phaseName: {
964
- type: 'string',
965
- description: 'Name of the phase',
966
- example: 'Phase A'
967
- },
968
- usageName: {
969
- type: 'string',
970
- description: 'Name of the usage',
971
- example: 'Usage A'
972
- },
973
- prettyProductName: {
974
- type: 'string',
975
- description: 'Pretty name of the product',
976
- example: 'Research team'
977
- },
978
- prettyPlanName: {
979
- type: 'string',
980
- description: 'Pretty name of the plan',
981
- example: 'Plan A'
982
- },
983
- prettyPhaseName: {
984
- type: 'string',
985
- description: 'Pretty name of the phase',
986
- example: 'Phase A'
987
- },
988
- prettyUsageName: {
989
- type: 'string',
990
- description: 'Pretty name of the usage',
991
- example: 'Usage A'
992
- },
993
- itemType: {
994
- type: 'string',
995
- description: 'Type of the invoice item',
996
- example: 'EXTERNAL_CHARGE',
997
- enum: ['EXTERNAL_CHARGE', 'FIXED', 'RECURRING', 'REPAIR_ADJ', 'CBA_ADJ', 'CREDIT_ADJ', 'ITEM_ADJ', 'USAGE', 'TAX', 'PARENT_SUMMARY']
998
- },
999
- description: {
1000
- type: 'string',
1001
- description: 'Description of the invoice item',
1002
- example: 'Description of the invoice item'
1003
- },
1004
- startDate: {
1005
- type: 'string',
1006
- description: 'Start date of the invoice item',
1007
- example: '2019-01-01T00:00:00.000Z'
1008
- },
1009
- endDate: {
1010
- type: 'string',
1011
- description: 'End date of the invoice item',
1012
- example: '2019-01-01T00:00:00.000Z'
1013
- },
1014
- amount: {
1015
- type: 'number',
1016
- format: 'float',
1017
- description: 'Amount of the invoice item',
1018
- example: 100
1019
- },
1020
- rate: {
1021
- type: 'number',
1022
- format: 'float',
1023
- description: 'Rate of the invoice item',
1024
- example: 100
1025
- },
1026
- currency: {
1027
- type: 'string',
1028
- description: 'Currency of the invoice item',
1029
- example: 'USD',
1030
- enum: ['AED', 'AFN', 'ALL', 'AMD', 'ANG', 'AOA', 'ARS', 'AUD', 'AWG', 'AZN', 'BAM', 'BBD', 'BDT', 'BGN', 'BHD', 'BIF', 'BMD', 'BND', 'BOB', 'BRL', 'BSD', 'BTN', 'BWP', 'BYR', 'BZD', 'CAD', 'CDF', 'CHF', 'CLP', 'CNY', 'COP', 'CRC', 'CUC', 'CUP', 'CVE', 'CZK', 'DJF', 'DKK', 'DOP', 'DZD', 'EGP', 'ERN', 'ETB', 'EUR', 'FJD', 'FKP', 'GBP', 'GEL', 'GGP', 'GHS', 'GIP', 'GMD', 'GNF', 'GTQ', 'GYD', 'HKD', 'HNL', 'HRK', 'HTG', 'HUF', 'IDR', 'ILS', 'IMP', 'INR', 'IQD', 'IRR', 'ISK', 'JEP', 'JMD', 'JOD', 'JPY', 'KES', 'KGS', 'KHR', 'KMF', 'KPW', 'KRW', 'KWD', 'KYD', 'KZT', 'LAK', 'LBP', 'LKR', 'LRD', 'LSL', 'LTL', 'LVL', 'LYD', 'MAD', 'MDL', 'MGA', 'MKD', 'MMK', 'MNT', 'MOP', 'MRO', 'MUR', 'MVR', 'MWK', 'MXN', 'MYR', 'MZN', 'NAD', 'NGN', 'NIO', 'NOK', 'NPR', 'NZD', 'OMR', 'PAB', 'PEN', 'PGK', 'PHP', 'PKR', 'PLN', 'PYG', 'QAR', 'RON', 'RSD', 'RUB', 'RWF', 'SAR', 'SBD', 'SCR', 'SDG', 'SEK', 'SGD', 'SHP', 'SLL', 'SOS', 'SPL', 'SRD', 'STD', 'SVC', 'SYP', 'SZL', 'THB', 'TJS', 'TMT', 'TND', 'TOP', 'TRY', 'TTD', 'TVD', 'TWD', 'TZS', 'UAH', 'UGX', 'USD', 'UYU', 'UZS', 'VEF', 'VND', 'VUV', 'WST', 'XAF', 'XCD', 'XDR', 'XOF', 'XPF', 'YER', 'ZAR', 'ZMW', 'ZWD', 'BTC']
1031
- },
1032
- quantity: {
1033
- type: 'number',
1034
- format: 'float',
1035
- description: 'Quantity of the invoice item',
1036
- example: 1
1037
- },
1038
- itemDetails: {
1039
- type: 'string',
1040
- description: 'Details of the invoice item',
1041
- example: 'Details of the invoice item'
1042
- },
1043
- catalogEffectiveDate: {
1044
- type: 'string',
1045
- description: 'Effective date of the catalog',
1046
- example: '2019-01-01T00:00:00.000Z'
1047
- },
1048
- childItems: {
1049
- type: 'array',
1050
- items: {
1051
- oneOf: [
1052
- {
1053
- type: 'array'
1054
- },
1055
- {
1056
- type: 'boolean'
1057
- },
1058
- {
1059
- type: 'number'
1060
- },
1061
- {
1062
- type: 'object',
1063
- additionalProperties: true
1064
- },
1065
- {
1066
- type: 'string'
1067
- }
1068
- ]
1069
- },
1070
- description: 'Child items of the invoice item'
1071
- }
1072
- },
1073
- additionalProperties: false
1074
- },
1075
- description: 'Credits of the invoice'
1070
+ valuesYaml: {
1071
+ type: 'string',
1072
+ description: 'Raw values.yaml content from the Helm chart',
1073
+ example: 'replicaCount: 1\nimage:\n repository: nginx\n tag: latest'
1076
1074
  },
1077
- items: {
1078
- type: 'array',
1079
- items: {
1080
- type: 'object',
1081
- properties: {
1082
- id: {
1083
- type: 'string',
1084
- format: 'uuid',
1085
- description: 'Unique identifier of the invoice item. UUID v4 string in canonical form',
1086
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
1087
- },
1088
- linkedInvoiceItemId: {
1089
- type: 'string',
1090
- format: 'uuid',
1091
- description: 'Unique identifier of the linked invoice item. UUID v4 string in canonical form',
1092
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
1093
- },
1094
- productName: {
1095
- type: 'string',
1096
- description: 'Name of the product',
1097
- example: 'Research team'
1098
- },
1099
- planName: {
1100
- type: 'string',
1101
- description: 'Name of the plan',
1102
- example: 'Plan A'
1103
- },
1104
- phaseName: {
1105
- type: 'string',
1106
- description: 'Name of the phase',
1107
- example: 'Phase A'
1108
- },
1109
- usageName: {
1110
- type: 'string',
1111
- description: 'Name of the usage',
1112
- example: 'Usage A'
1113
- },
1114
- prettyProductName: {
1115
- type: 'string',
1116
- description: 'Pretty name of the product',
1117
- example: 'Research team'
1118
- },
1119
- prettyPlanName: {
1120
- type: 'string',
1121
- description: 'Pretty name of the plan',
1122
- example: 'Plan A'
1123
- },
1124
- prettyPhaseName: {
1125
- type: 'string',
1126
- description: 'Pretty name of the phase',
1127
- example: 'Phase A'
1128
- },
1129
- prettyUsageName: {
1130
- type: 'string',
1131
- description: 'Pretty name of the usage',
1132
- example: 'Usage A'
1133
- },
1134
- itemType: {
1135
- type: 'string',
1136
- description: 'Type of the invoice item',
1137
- example: 'EXTERNAL_CHARGE',
1138
- enum: ['EXTERNAL_CHARGE', 'FIXED', 'RECURRING', 'REPAIR_ADJ', 'CBA_ADJ', 'CREDIT_ADJ', 'ITEM_ADJ', 'USAGE', 'TAX', 'PARENT_SUMMARY']
1139
- },
1140
- description: {
1141
- type: 'string',
1142
- description: 'Description of the invoice item',
1143
- example: 'Description of the invoice item'
1144
- },
1145
- startDate: {
1146
- type: 'string',
1147
- description: 'Start date of the invoice item',
1148
- example: '2019-01-01T00:00:00.000Z'
1149
- },
1150
- endDate: {
1151
- type: 'string',
1152
- description: 'End date of the invoice item',
1153
- example: '2019-01-01T00:00:00.000Z'
1154
- },
1155
- amount: {
1156
- type: 'number',
1157
- format: 'float',
1158
- description: 'Amount of the invoice item',
1159
- example: 100
1160
- },
1161
- rate: {
1162
- type: 'number',
1163
- format: 'float',
1164
- description: 'Rate of the invoice item',
1165
- example: 100
1166
- },
1167
- currency: {
1168
- type: 'string',
1169
- description: 'Currency of the invoice item',
1170
- example: 'USD',
1171
- enum: ['AED', 'AFN', 'ALL', 'AMD', 'ANG', 'AOA', 'ARS', 'AUD', 'AWG', 'AZN', 'BAM', 'BBD', 'BDT', 'BGN', 'BHD', 'BIF', 'BMD', 'BND', 'BOB', 'BRL', 'BSD', 'BTN', 'BWP', 'BYR', 'BZD', 'CAD', 'CDF', 'CHF', 'CLP', 'CNY', 'COP', 'CRC', 'CUC', 'CUP', 'CVE', 'CZK', 'DJF', 'DKK', 'DOP', 'DZD', 'EGP', 'ERN', 'ETB', 'EUR', 'FJD', 'FKP', 'GBP', 'GEL', 'GGP', 'GHS', 'GIP', 'GMD', 'GNF', 'GTQ', 'GYD', 'HKD', 'HNL', 'HRK', 'HTG', 'HUF', 'IDR', 'ILS', 'IMP', 'INR', 'IQD', 'IRR', 'ISK', 'JEP', 'JMD', 'JOD', 'JPY', 'KES', 'KGS', 'KHR', 'KMF', 'KPW', 'KRW', 'KWD', 'KYD', 'KZT', 'LAK', 'LBP', 'LKR', 'LRD', 'LSL', 'LTL', 'LVL', 'LYD', 'MAD', 'MDL', 'MGA', 'MKD', 'MMK', 'MNT', 'MOP', 'MRO', 'MUR', 'MVR', 'MWK', 'MXN', 'MYR', 'MZN', 'NAD', 'NGN', 'NIO', 'NOK', 'NPR', 'NZD', 'OMR', 'PAB', 'PEN', 'PGK', 'PHP', 'PKR', 'PLN', 'PYG', 'QAR', 'RON', 'RSD', 'RUB', 'RWF', 'SAR', 'SBD', 'SCR', 'SDG', 'SEK', 'SGD', 'SHP', 'SLL', 'SOS', 'SPL', 'SRD', 'STD', 'SVC', 'SYP', 'SZL', 'THB', 'TJS', 'TMT', 'TND', 'TOP', 'TRY', 'TTD', 'TVD', 'TWD', 'TZS', 'UAH', 'UGX', 'USD', 'UYU', 'UZS', 'VEF', 'VND', 'VUV', 'WST', 'XAF', 'XCD', 'XDR', 'XOF', 'XPF', 'YER', 'ZAR', 'ZMW', 'ZWD', 'BTC']
1172
- },
1173
- quantity: {
1174
- type: 'number',
1175
- format: 'float',
1176
- description: 'Quantity of the invoice item',
1177
- example: 1
1178
- },
1179
- itemDetails: {
1180
- type: 'string',
1181
- description: 'Details of the invoice item',
1182
- example: 'Details of the invoice item'
1075
+ valuesSchemaJson: {
1076
+ type: 'string',
1077
+ description: 'JSON schema for values.yaml as a string',
1078
+ example: '{"type":"object","properties":{"replicaCount":{"type":"number"}}}'
1079
+ }
1080
+ },
1081
+ additionalProperties: false
1082
+ };
1083
+ export const MarketplaceListingSchema = {
1084
+ type: 'object',
1085
+ properties: {
1086
+ name: {
1087
+ type: 'string',
1088
+ description: 'Name of the chart',
1089
+ example: 'nginx-ingress'
1090
+ },
1091
+ versions: {
1092
+ type: 'array',
1093
+ items: {
1094
+ type: 'string',
1095
+ pattern: '^(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-]+)*))?$',
1096
+ description: 'Specific version of the chart',
1097
+ example: '1.18.2-cfke.45'
1098
+ },
1099
+ description: 'Available versions of the chart'
1100
+ },
1101
+ version_channels: {
1102
+ type: 'array',
1103
+ items: {
1104
+ type: 'string',
1105
+ pattern: '^(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-]+)*))?$',
1106
+ description: 'Version channel pattern',
1107
+ example: '1.18.x-cfke.x'
1108
+ },
1109
+ description: 'Version channels for the chart'
1110
+ },
1111
+ latestVersion: {
1112
+ type: 'string',
1113
+ description: 'Latest version of the chart',
1114
+ example: '1.18.2-cfke.45'
1115
+ },
1116
+ metadata: {
1117
+ type: 'object',
1118
+ properties: {
1119
+ name: {
1120
+ type: 'string',
1121
+ description: 'Chart name from metadata',
1122
+ example: 'nginx-ingress'
1123
+ },
1124
+ version: {
1125
+ type: 'string',
1126
+ description: 'Chart version from metadata',
1127
+ example: '1.18.2-cfke.45'
1128
+ },
1129
+ description: {
1130
+ type: 'string',
1131
+ description: 'Chart description',
1132
+ example: 'NGINX Ingress Controller for Kubernetes'
1133
+ },
1134
+ appVersion: {
1135
+ type: 'string',
1136
+ description: 'Application version',
1137
+ example: '1.9.4'
1138
+ },
1139
+ apiVersion: {
1140
+ type: 'string',
1141
+ description: 'Helm API version',
1142
+ example: 'v2'
1143
+ },
1144
+ keywords: {
1145
+ type: 'array',
1146
+ items: {
1147
+ type: 'string'
1183
1148
  },
1184
- catalogEffectiveDate: {
1185
- type: 'string',
1186
- description: 'Effective date of the catalog',
1187
- example: '2019-01-01T00:00:00.000Z'
1149
+ description: 'Chart keywords',
1150
+ example: [
1151
+ 'ingress',
1152
+ 'nginx',
1153
+ 'load-balancer'
1154
+ ]
1155
+ },
1156
+ home: {
1157
+ type: 'string',
1158
+ description: 'Chart home URL',
1159
+ example: 'https://kubernetes.github.io/ingress-nginx/'
1160
+ },
1161
+ icon: {
1162
+ type: 'string',
1163
+ description: 'A URL to an SVG or PNG image to be used as an icon',
1164
+ example: 'https://cloudfleet.ai/images/marketplace/icons/ingress-nginx.png'
1165
+ },
1166
+ sources: {
1167
+ type: 'array',
1168
+ items: {
1169
+ type: 'string'
1188
1170
  },
1189
- childItems: {
1190
- type: 'array',
1191
- items: {
1192
- oneOf: [
1193
- {
1194
- type: 'array'
1195
- },
1196
- {
1197
- type: 'boolean'
1198
- },
1199
- {
1200
- type: 'number'
1201
- },
1202
- {
1203
- type: 'object',
1204
- additionalProperties: true
1205
- },
1206
- {
1207
- type: 'string'
1208
- }
1209
- ]
1210
- },
1211
- description: 'Child items of the invoice item'
1212
- }
1171
+ description: 'Chart source URLs',
1172
+ example: [
1173
+ 'https://github.com/kubernetes/ingress-nginx'
1174
+ ]
1213
1175
  },
1214
- additionalProperties: false
1176
+ maintainers: {
1177
+ type: 'array',
1178
+ items: {
1179
+ type: 'object',
1180
+ properties: {
1181
+ name: {
1182
+ type: 'string',
1183
+ description: 'Maintainer name',
1184
+ example: 'NGINX Team'
1185
+ },
1186
+ email: {
1187
+ type: 'string',
1188
+ description: 'Maintainer email',
1189
+ example: 'support@nginx.org'
1190
+ }
1191
+ },
1192
+ required: [
1193
+ 'name'
1194
+ ],
1195
+ additionalProperties: false
1196
+ },
1197
+ description: 'Chart maintainers'
1198
+ }
1215
1199
  },
1216
- description: 'Items of the invoice'
1200
+ required: [
1201
+ 'name',
1202
+ 'version'
1203
+ ],
1204
+ additionalProperties: false,
1205
+ description: 'Chart metadata'
1217
1206
  }
1218
1207
  },
1208
+ required: [
1209
+ 'name',
1210
+ 'versions',
1211
+ 'version_channels',
1212
+ 'latestVersion'
1213
+ ],
1219
1214
  additionalProperties: false
1220
1215
  };
1221
1216
  export const OrganizationCreateInputSchema = {
@@ -1251,7 +1246,13 @@ export const OrganizationCreateInputSchema = {
1251
1246
  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.'
1252
1247
  }
1253
1248
  },
1254
- required: ['email', 'first_name', 'last_name', 'company_name', 'password'],
1249
+ required: [
1250
+ 'email',
1251
+ 'first_name',
1252
+ 'last_name',
1253
+ 'company_name',
1254
+ 'password'
1255
+ ],
1255
1256
  additionalProperties: false
1256
1257
  };
1257
1258
  export const OrganizationSchema = {
@@ -1307,117 +1308,518 @@ export const OrganizationSchema = {
1307
1308
  description: 'Maximum number of fleets that can be created per cluster.',
1308
1309
  example: 999
1309
1310
  },
1310
- managed_fleets_cpu_max: {
1311
- type: 'integer',
1312
- minimum: 0,
1313
- description: 'Maximum number of CPU cores per managed fleet.',
1314
- example: 999
1315
- },
1316
1311
  cluster_tiers: {
1317
1312
  type: 'array',
1318
1313
  items: {
1319
1314
  type: 'string',
1320
- example: 'basic'
1315
+ example: 'basic'
1316
+ },
1317
+ minItems: 0,
1318
+ description: 'List of Cloudfleet cluster tiers available for the organization.'
1319
+ },
1320
+ regions: {
1321
+ type: 'array',
1322
+ items: {
1323
+ type: 'string',
1324
+ example: 'northamerica-central-1'
1325
+ },
1326
+ minItems: 1,
1327
+ description: 'List of Cloudfleet control plane regions available for the organization.'
1328
+ },
1329
+ versions: {
1330
+ type: 'array',
1331
+ items: {
1332
+ type: 'object',
1333
+ properties: {
1334
+ id: {
1335
+ type: 'string',
1336
+ description: 'Id of the control plane version. Used in API calls.',
1337
+ example: '1.33.x-cfke.x'
1338
+ },
1339
+ label: {
1340
+ type: 'string',
1341
+ description: 'Label of the control plane version. Used in frontent UI.',
1342
+ example: '1.33.x (Always latest 1.33 patch version)'
1343
+ }
1344
+ },
1345
+ required: [
1346
+ 'id',
1347
+ 'label'
1348
+ ],
1349
+ additionalProperties: false
1350
+ },
1351
+ minItems: 1,
1352
+ description: 'List of CFKE control plane versions available for the organization.'
1353
+ },
1354
+ cfcr_storage_gb: {
1355
+ type: 'integer',
1356
+ minimum: -1,
1357
+ description: 'Organization-level maximum CFCR storage volume in GB. -1 means no limit.',
1358
+ example: 500
1359
+ }
1360
+ },
1361
+ required: [
1362
+ 'basic_clusters_max',
1363
+ 'basic_clusters_available',
1364
+ 'pro_clusters_max',
1365
+ 'pro_clusters_available',
1366
+ 'fleets_max',
1367
+ 'cluster_tiers',
1368
+ 'regions',
1369
+ 'versions',
1370
+ 'cfcr_storage_gb'
1371
+ ],
1372
+ additionalProperties: false,
1373
+ 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.'
1374
+ },
1375
+ status: {
1376
+ type: 'string',
1377
+ description: 'Status of the organization. Can be `active` or `closed`, or `suspended`.',
1378
+ enum: [
1379
+ 'active',
1380
+ 'closed',
1381
+ 'suspended'
1382
+ ]
1383
+ }
1384
+ },
1385
+ required: [
1386
+ 'id',
1387
+ 'date_created',
1388
+ 'quota',
1389
+ 'status'
1390
+ ],
1391
+ additionalProperties: false
1392
+ };
1393
+ export const PaymentMethodSchema = {
1394
+ type: 'object',
1395
+ properties: {
1396
+ id: {
1397
+ type: 'string',
1398
+ format: 'uuid',
1399
+ description: 'Unique identifier of the organization. UUID v4 string in canonical form.',
1400
+ example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
1401
+ },
1402
+ setup: {
1403
+ type: 'boolean',
1404
+ description: 'Whether organization payment method was set up and ready to use for payments.',
1405
+ example: true
1406
+ },
1407
+ type: {
1408
+ type: 'string',
1409
+ nullable: true,
1410
+ description: 'Payment method type type. Only `card` payments supported at the moment.',
1411
+ example: 'card',
1412
+ enum: [
1413
+ 'card'
1414
+ ]
1415
+ },
1416
+ last4: {
1417
+ type: 'string',
1418
+ nullable: true,
1419
+ description: 'Last 4 digits of the payment card number.',
1420
+ example: '4242'
1421
+ },
1422
+ exp_month: {
1423
+ type: 'integer',
1424
+ minimum: 1,
1425
+ maximum: 12,
1426
+ nullable: true,
1427
+ description: 'Two-digit number representing the card\'s expiration month.',
1428
+ example: '12'
1429
+ },
1430
+ exp_year: {
1431
+ type: 'integer',
1432
+ minimum: 2024,
1433
+ nullable: true,
1434
+ description: 'Four-digit number representing the card\'s expiration year.',
1435
+ example: '2028'
1436
+ },
1437
+ brand: {
1438
+ type: 'string',
1439
+ nullable: true,
1440
+ description: 'Payment card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.',
1441
+ example: 'visa',
1442
+ enum: [
1443
+ 'amex',
1444
+ 'diners',
1445
+ 'discover',
1446
+ 'eftpos_au',
1447
+ 'jcb',
1448
+ 'mastercard',
1449
+ 'unionpay',
1450
+ 'visa',
1451
+ 'unknown'
1452
+ ]
1453
+ }
1454
+ },
1455
+ required: [
1456
+ 'id',
1457
+ 'setup',
1458
+ 'type',
1459
+ 'last4',
1460
+ 'exp_month',
1461
+ 'exp_year',
1462
+ 'brand'
1463
+ ],
1464
+ additionalProperties: false
1465
+ };
1466
+ export const PlatformQuotaSchema = {
1467
+ type: 'object',
1468
+ properties: {
1469
+ basic_clusters_max: {
1470
+ type: 'integer',
1471
+ minimum: 0,
1472
+ description: 'Maximum number of Basic clusters that can be created.',
1473
+ example: 999
1474
+ },
1475
+ basic_clusters_available: {
1476
+ type: 'integer',
1477
+ description: 'Available number of Basic clusters that can be created.',
1478
+ example: 999
1479
+ },
1480
+ pro_clusters_max: {
1481
+ type: 'integer',
1482
+ minimum: 0,
1483
+ description: 'Maximum number of Pro clusters that can be created.',
1484
+ example: 999
1485
+ },
1486
+ pro_clusters_available: {
1487
+ type: 'integer',
1488
+ description: 'Available number of Pro clusters that can be created.',
1489
+ example: 999
1490
+ },
1491
+ fleets_max: {
1492
+ type: 'integer',
1493
+ minimum: 0,
1494
+ description: 'Maximum number of fleets that can be created per cluster.',
1495
+ example: 999
1496
+ },
1497
+ cluster_tiers: {
1498
+ type: 'array',
1499
+ items: {
1500
+ type: 'string',
1501
+ example: 'basic'
1502
+ },
1503
+ minItems: 0,
1504
+ description: 'List of Cloudfleet cluster tiers available for the organization.'
1505
+ },
1506
+ regions: {
1507
+ type: 'array',
1508
+ items: {
1509
+ type: 'string',
1510
+ example: 'northamerica-central-1'
1511
+ },
1512
+ minItems: 1,
1513
+ description: 'List of Cloudfleet control plane regions available for the organization.'
1514
+ },
1515
+ versions: {
1516
+ type: 'array',
1517
+ items: {
1518
+ type: 'object',
1519
+ properties: {
1520
+ id: {
1521
+ type: 'string',
1522
+ description: 'Id of the control plane version. Used in API calls.',
1523
+ example: '1.33.x-cfke.x'
1524
+ },
1525
+ label: {
1526
+ type: 'string',
1527
+ description: 'Label of the control plane version. Used in frontent UI.',
1528
+ example: '1.33.x (Always latest 1.33 patch version)'
1529
+ }
1530
+ },
1531
+ required: [
1532
+ 'id',
1533
+ 'label'
1534
+ ],
1535
+ additionalProperties: false
1536
+ },
1537
+ minItems: 1,
1538
+ description: 'List of CFKE control plane versions available for the organization.'
1539
+ },
1540
+ cfcr_storage_gb: {
1541
+ type: 'integer',
1542
+ minimum: -1,
1543
+ description: 'Organization-level maximum CFCR storage volume in GB. -1 means no limit.',
1544
+ example: 500
1545
+ }
1546
+ },
1547
+ required: [
1548
+ 'basic_clusters_max',
1549
+ 'basic_clusters_available',
1550
+ 'pro_clusters_max',
1551
+ 'pro_clusters_available',
1552
+ 'fleets_max',
1553
+ 'cluster_tiers',
1554
+ 'regions',
1555
+ 'versions',
1556
+ 'cfcr_storage_gb'
1557
+ ],
1558
+ additionalProperties: false
1559
+ };
1560
+ export const RegistryRepositorySchema = {
1561
+ type: 'object',
1562
+ properties: {
1563
+ name: {
1564
+ type: 'string',
1565
+ description: 'Repository name.',
1566
+ example: 'my-app'
1567
+ },
1568
+ region: {
1569
+ type: 'string',
1570
+ description: 'Registry region.',
1571
+ example: 'northamerica'
1572
+ },
1573
+ uri: {
1574
+ type: 'string',
1575
+ description: 'Full URI of the repository.',
1576
+ example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app'
1577
+ }
1578
+ },
1579
+ required: [
1580
+ 'name',
1581
+ 'region',
1582
+ 'uri'
1583
+ ],
1584
+ additionalProperties: false
1585
+ };
1586
+ export const RegistryRepositoryWithTagsSchema = {
1587
+ type: 'object',
1588
+ properties: {
1589
+ name: {
1590
+ type: 'string',
1591
+ description: 'Repository name.',
1592
+ example: 'my-app'
1593
+ },
1594
+ region: {
1595
+ type: 'string',
1596
+ description: 'Registry region.',
1597
+ example: 'northamerica'
1598
+ },
1599
+ uri: {
1600
+ type: 'string',
1601
+ description: 'Full URI of the repository.',
1602
+ example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app'
1603
+ },
1604
+ tags: {
1605
+ type: 'array',
1606
+ items: {
1607
+ type: 'object',
1608
+ properties: {
1609
+ name: {
1610
+ type: 'string',
1611
+ description: 'Tag name.',
1612
+ example: 'latest'
1613
+ },
1614
+ size: {
1615
+ type: 'number',
1616
+ format: 'float',
1617
+ description: 'Size of the tag in bytes.',
1618
+ example: 123456789
1619
+ },
1620
+ mediaType: {
1621
+ type: 'string',
1622
+ description: 'Media type of the manifest.',
1623
+ example: 'application/vnd.docker.distribution.manifest.v2+json'
1624
+ },
1625
+ platforms: {
1626
+ type: 'array',
1627
+ items: {
1628
+ type: 'string'
1629
+ },
1630
+ description: 'Array of platform strings for multi-arch images (e.g., linux/amd64, linux/arm64).',
1631
+ example: [
1632
+ 'linux/amd64',
1633
+ 'linux/arm64'
1634
+ ]
1635
+ }
1636
+ },
1637
+ required: [
1638
+ 'name',
1639
+ 'size'
1640
+ ],
1641
+ additionalProperties: false
1642
+ },
1643
+ description: 'Array of tags in the repository.'
1644
+ },
1645
+ totalSize: {
1646
+ type: 'number',
1647
+ format: 'float',
1648
+ description: 'Total size of all tags in the repository in bytes.',
1649
+ example: 987654321
1650
+ }
1651
+ },
1652
+ required: [
1653
+ 'name',
1654
+ 'region',
1655
+ 'uri',
1656
+ 'tags',
1657
+ 'totalSize'
1658
+ ],
1659
+ additionalProperties: false
1660
+ };
1661
+ export const RegistryTagSchema = {
1662
+ type: 'object',
1663
+ properties: {
1664
+ name: {
1665
+ type: 'string',
1666
+ description: 'Tag name.',
1667
+ example: 'latest'
1668
+ },
1669
+ digest: {
1670
+ type: 'string',
1671
+ description: 'Manifest digest for pulling by digest.',
1672
+ example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
1673
+ },
1674
+ mediaType: {
1675
+ type: 'string',
1676
+ description: 'Media type of the manifest.',
1677
+ example: 'application/vnd.docker.distribution.manifest.v2+json'
1678
+ },
1679
+ config: {
1680
+ type: 'object',
1681
+ properties: {
1682
+ size: {
1683
+ type: 'number',
1684
+ format: 'float',
1685
+ description: 'Size of the config in bytes.',
1686
+ example: 1234
1687
+ }
1688
+ },
1689
+ required: [
1690
+ 'size'
1691
+ ],
1692
+ additionalProperties: false,
1693
+ description: 'Manifest config metadata.'
1694
+ },
1695
+ layers: {
1696
+ type: 'array',
1697
+ items: {
1698
+ type: 'object',
1699
+ properties: {
1700
+ digest: {
1701
+ type: 'string',
1702
+ description: 'Digest of the layer.',
1703
+ example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
1321
1704
  },
1322
- minItems: 0,
1323
- description: 'List of Cloudfleet cluster tiers available for the organization.'
1705
+ size: {
1706
+ type: 'number',
1707
+ format: 'float',
1708
+ description: 'Size of the layer in bytes.',
1709
+ example: 5678
1710
+ }
1324
1711
  },
1325
- regions: {
1326
- type: 'array',
1327
- items: {
1712
+ required: [
1713
+ 'size'
1714
+ ],
1715
+ additionalProperties: false
1716
+ },
1717
+ description: 'Array of layer metadata.'
1718
+ },
1719
+ manifests: {
1720
+ type: 'array',
1721
+ items: {
1722
+ type: 'object',
1723
+ properties: {
1724
+ digest: {
1328
1725
  type: 'string',
1329
- example: 'northamerica-central-1'
1726
+ description: 'Digest of the manifest.',
1727
+ example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
1330
1728
  },
1331
- minItems: 1,
1332
- description: 'List of Cloudfleet control plane regions available for the organization.'
1333
- },
1334
- versions: {
1335
- type: 'array',
1336
- items: {
1729
+ platform: {
1337
1730
  type: 'object',
1338
1731
  properties: {
1339
- id: {
1732
+ architecture: {
1340
1733
  type: 'string',
1341
- description: 'Id of the control plane version. Used in API calls.',
1342
- example: '1.29.x-cfke.x'
1734
+ description: 'Architecture of the platform.',
1735
+ example: 'amd64'
1343
1736
  },
1344
- label: {
1737
+ os: {
1345
1738
  type: 'string',
1346
- description: 'Label of the control plane version. Used in frontent UI.',
1347
- example: '1.29.x (Always latest 1.29 patch version)'
1739
+ description: 'Operating system of the platform.',
1740
+ example: 'linux'
1741
+ },
1742
+ variant: {
1743
+ type: 'string',
1744
+ description: 'Variant of the platform (e.g., v7, v8 for ARM).',
1745
+ example: 'v8'
1348
1746
  }
1349
1747
  },
1350
- required: ['id', 'label'],
1351
- additionalProperties: false
1748
+ required: [
1749
+ 'architecture',
1750
+ 'os'
1751
+ ],
1752
+ additionalProperties: false,
1753
+ description: 'Platform information for the manifest.'
1352
1754
  },
1353
- minItems: 1,
1354
- description: 'List of CFKE control plane versions available for the organization.'
1355
- }
1755
+ layers: {
1756
+ type: 'array',
1757
+ items: {
1758
+ type: 'object',
1759
+ properties: {
1760
+ digest: {
1761
+ type: 'string',
1762
+ description: 'Digest of the layer.',
1763
+ example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
1764
+ },
1765
+ size: {
1766
+ type: 'number',
1767
+ format: 'float',
1768
+ description: 'Size of the layer in bytes.',
1769
+ example: 5678
1770
+ }
1771
+ },
1772
+ required: [
1773
+ 'size'
1774
+ ],
1775
+ additionalProperties: false
1776
+ },
1777
+ description: 'Layers for this platform.'
1778
+ },
1779
+ size: {
1780
+ type: 'number',
1781
+ format: 'float',
1782
+ description: 'Total size of this platform manifest in bytes.',
1783
+ example: 12345678
1784
+ }
1785
+ },
1786
+ required: [
1787
+ 'digest'
1788
+ ],
1789
+ additionalProperties: false
1356
1790
  },
1357
- required: ['basic_clusters_max', 'basic_clusters_available', 'pro_clusters_max', 'pro_clusters_available', 'fleets_max', 'managed_fleets_cpu_max', 'cluster_tiers', 'regions', 'versions'],
1358
- additionalProperties: false,
1359
- 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.'
1360
- },
1361
- status: {
1362
- type: 'string',
1363
- description: 'Status of the organization. Can be `active` or `closed`, or `suspended`.',
1364
- enum: ['active', 'closed', 'suspended']
1365
- }
1366
- },
1367
- required: ['id', 'date_created', 'quota', 'status'],
1368
- additionalProperties: false
1369
- };
1370
- export const PaymentMethodSchema = {
1371
- type: 'object',
1372
- properties: {
1373
- id: {
1374
- type: 'string',
1375
- format: 'uuid',
1376
- description: 'Unique identifier of the organization. UUID v4 string in canonical form.',
1377
- example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
1791
+ description: 'Array of manifests for multi-arch images.'
1378
1792
  },
1379
- setup: {
1380
- type: 'boolean',
1381
- description: 'Whether organization payment method was set up and ready to use for payments.',
1382
- example: true
1793
+ size: {
1794
+ type: 'number',
1795
+ format: 'float',
1796
+ description: 'Total size of the tag in bytes.',
1797
+ example: 123456789
1383
1798
  },
1384
- type: {
1799
+ region: {
1385
1800
  type: 'string',
1386
- nullable: true,
1387
- description: 'Payment method type type. Only `card` payments supported at the moment.',
1388
- example: 'card',
1389
- enum: ['card']
1801
+ description: 'Registry region.',
1802
+ example: 'northamerica'
1390
1803
  },
1391
- last4: {
1804
+ repository: {
1392
1805
  type: 'string',
1393
- nullable: true,
1394
- description: 'Last 4 digits of the payment card number.',
1395
- example: '4242'
1396
- },
1397
- exp_month: {
1398
- type: 'integer',
1399
- minimum: 1,
1400
- maximum: 12,
1401
- nullable: true,
1402
- description: "Two-digit number representing the card's expiration month.",
1403
- example: '12'
1404
- },
1405
- exp_year: {
1406
- type: 'integer',
1407
- minimum: 2024,
1408
- nullable: true,
1409
- description: "Four-digit number representing the card's expiration year.",
1410
- example: '2028'
1806
+ description: 'Repository name.',
1807
+ example: 'my-app'
1411
1808
  },
1412
- brand: {
1809
+ uri: {
1413
1810
  type: 'string',
1414
- nullable: true,
1415
- description: 'Payment card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.',
1416
- example: 'visa',
1417
- enum: ['amex', 'diners', 'discover', 'eftpos_au', 'jcb', 'mastercard', 'unionpay', 'visa', 'unknown']
1811
+ description: 'Full URI of the tag.',
1812
+ example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app:latest'
1418
1813
  }
1419
1814
  },
1420
- required: ['id', 'setup', 'type', 'last4', 'exp_month', 'exp_year', 'brand'],
1815
+ required: [
1816
+ 'name',
1817
+ 'digest',
1818
+ 'size',
1819
+ 'region',
1820
+ 'repository',
1821
+ 'uri'
1822
+ ],
1421
1823
  additionalProperties: false
1422
1824
  };
1423
1825
  export const TokenCreateInputSchema = {
@@ -1435,10 +1837,16 @@ export const TokenCreateInputSchema = {
1435
1837
  type: 'string',
1436
1838
  description: 'Role assumed by the token.',
1437
1839
  example: 'User',
1438
- enum: ['Administrator', 'User']
1840
+ enum: [
1841
+ 'Administrator',
1842
+ 'User'
1843
+ ]
1439
1844
  }
1440
1845
  },
1441
- required: ['name', 'role'],
1846
+ required: [
1847
+ 'name',
1848
+ 'role'
1849
+ ],
1442
1850
  additionalProperties: false
1443
1851
  };
1444
1852
  export const TokenSchema = {
@@ -1456,7 +1864,10 @@ export const TokenSchema = {
1456
1864
  type: 'string',
1457
1865
  description: 'Role assumed by the token.',
1458
1866
  example: 'User',
1459
- enum: ['Administrator', 'User']
1867
+ enum: [
1868
+ 'Administrator',
1869
+ 'User'
1870
+ ]
1460
1871
  },
1461
1872
  id: {
1462
1873
  type: 'string',
@@ -1475,7 +1886,11 @@ export const TokenSchema = {
1475
1886
  example: '2023-12-20T13:53:32.000Z'
1476
1887
  }
1477
1888
  },
1478
- required: ['name', 'role', 'date_created'],
1889
+ required: [
1890
+ 'name',
1891
+ 'role',
1892
+ 'date_created'
1893
+ ],
1479
1894
  additionalProperties: false
1480
1895
  };
1481
1896
  export const TokenUpdateInputSchema = {
@@ -1493,9 +1908,127 @@ export const TokenUpdateInputSchema = {
1493
1908
  type: 'string',
1494
1909
  description: 'Role assumed by the token.',
1495
1910
  example: 'User',
1496
- enum: ['Administrator', 'User']
1911
+ enum: [
1912
+ 'Administrator',
1913
+ 'User'
1914
+ ]
1915
+ }
1916
+ },
1917
+ additionalProperties: false
1918
+ };
1919
+ export const UsageFacetsSchema = {
1920
+ type: 'object',
1921
+ properties: {
1922
+ cluster_id: {
1923
+ type: 'array',
1924
+ items: {
1925
+ type: 'string'
1926
+ },
1927
+ description: 'List of unique cluster IDs',
1928
+ example: [
1929
+ '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
1930
+ ]
1931
+ },
1932
+ product: {
1933
+ type: 'array',
1934
+ items: {
1935
+ type: 'string'
1936
+ },
1937
+ description: 'List of unique products',
1938
+ example: [
1939
+ 'cfke_controlplane',
1940
+ 'cfke_connected_nodes'
1941
+ ]
1942
+ }
1943
+ },
1944
+ additionalProperties: false
1945
+ };
1946
+ export const UsageResponseSchema = {
1947
+ type: 'object',
1948
+ properties: {
1949
+ data: {
1950
+ type: 'array',
1951
+ items: {
1952
+ type: 'object',
1953
+ properties: {
1954
+ hour: {
1955
+ type: 'string',
1956
+ description: 'Hour of the usage',
1957
+ example: '2019-01-01T00:00:00.000Z'
1958
+ },
1959
+ cluster_id: {
1960
+ type: 'string',
1961
+ description: 'Unique identifier of the kubernetes cluster. UUID v4 string in canonical form',
1962
+ example: '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
1963
+ },
1964
+ product: {
1965
+ type: 'string',
1966
+ description: 'The product the usage is associated with',
1967
+ example: 'cfke_controlplane'
1968
+ },
1969
+ value: {
1970
+ type: 'number',
1971
+ format: 'float',
1972
+ description: 'Consumption',
1973
+ example: 4
1974
+ },
1975
+ price: {
1976
+ type: 'number',
1977
+ format: 'float',
1978
+ description: 'Price per unit',
1979
+ example: 0.01
1980
+ },
1981
+ total: {
1982
+ type: 'number',
1983
+ format: 'float',
1984
+ description: 'Total cost'
1985
+ }
1986
+ },
1987
+ required: [
1988
+ 'hour',
1989
+ 'cluster_id',
1990
+ 'product',
1991
+ 'value',
1992
+ 'price',
1993
+ 'total'
1994
+ ],
1995
+ additionalProperties: false
1996
+ },
1997
+ description: 'Usage data'
1998
+ },
1999
+ facets: {
2000
+ type: 'object',
2001
+ properties: {
2002
+ cluster_id: {
2003
+ type: 'array',
2004
+ items: {
2005
+ type: 'string'
2006
+ },
2007
+ description: 'List of unique cluster IDs',
2008
+ example: [
2009
+ '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
2010
+ ]
2011
+ },
2012
+ product: {
2013
+ type: 'array',
2014
+ items: {
2015
+ type: 'string'
2016
+ },
2017
+ description: 'List of unique products',
2018
+ example: [
2019
+ 'cfke_controlplane',
2020
+ 'cfke_connected_nodes'
2021
+ ]
2022
+ }
2023
+ },
2024
+ additionalProperties: false,
2025
+ description: 'Facets for filtering'
1497
2026
  }
1498
2027
  },
2028
+ required: [
2029
+ 'data',
2030
+ 'facets'
2031
+ ],
1499
2032
  additionalProperties: false
1500
2033
  };
1501
2034
  export const UsageSchema = {
@@ -1508,90 +2041,40 @@ export const UsageSchema = {
1508
2041
  },
1509
2042
  cluster_id: {
1510
2043
  type: 'string',
1511
- format: 'uuid',
1512
2044
  description: 'Unique identifier of the kubernetes cluster. UUID v4 string in canonical form',
1513
2045
  example: '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
1514
2046
  },
1515
- cluster_tier: {
1516
- type: 'string',
1517
- description: 'Tier of the cluster.',
1518
- example: 'pro',
1519
- enum: ['']
1520
- },
1521
2047
  product: {
1522
2048
  type: 'string',
1523
2049
  description: 'The product the usage is associated with',
1524
- example: 'cfke_infra_compute',
1525
- enum: ['cfke_infra_compute', 'cfke_nodes', 'cfke_controlplane']
1526
- },
1527
- node_name: {
1528
- type: 'string',
1529
- description: 'Name of the Kubernetes node',
1530
- example: 'flexible-moth-956037384'
1531
- },
1532
- sku: {
1533
- type: 'string',
1534
- description: 'SKU of the Kubernetes node',
1535
- example: 'GCP-NORTHAMERICA-NORTHEAST1-A-G1-SMALL-SPOT'
2050
+ example: 'cfke_controlplane'
1536
2051
  },
1537
- cpu: {
1538
- anyOf: [
1539
- {
1540
- type: 'number',
1541
- format: 'float',
1542
- description: 'CPU core count of the node',
1543
- example: 4
1544
- },
1545
- {
1546
- type: 'string',
1547
- enum: ['']
1548
- }
1549
- ]
2052
+ value: {
2053
+ type: 'number',
2054
+ format: 'float',
2055
+ description: 'Consumption',
2056
+ example: 4
1550
2057
  },
1551
2058
  price: {
1552
- anyOf: [
1553
- {
1554
- type: 'number',
1555
- format: 'float',
1556
- description: 'Price',
1557
- example: 4
1558
- },
1559
- {
1560
- type: 'string',
1561
- enum: ['']
1562
- }
1563
- ]
1564
- },
1565
- value: {
1566
- anyOf: [
1567
- {
1568
- type: 'number',
1569
- format: 'float',
1570
- description: 'Value',
1571
- example: 4
1572
- },
1573
- {
1574
- type: 'string',
1575
- enum: ['']
1576
- }
1577
- ]
2059
+ type: 'number',
2060
+ format: 'float',
2061
+ description: 'Price per unit',
2062
+ example: 0.01
1578
2063
  },
1579
2064
  total: {
1580
- anyOf: [
1581
- {
1582
- type: 'number',
1583
- format: 'float',
1584
- description: 'Total',
1585
- example: 4
1586
- },
1587
- {
1588
- type: 'string',
1589
- enum: ['']
1590
- }
1591
- ]
2065
+ type: 'number',
2066
+ format: 'float',
2067
+ description: 'Total cost'
1592
2068
  }
1593
2069
  },
1594
- required: ['cluster_id', 'cluster_tier', 'product', 'node_name', 'sku', 'cpu', 'price', 'value', 'total'],
2070
+ required: [
2071
+ 'hour',
2072
+ 'cluster_id',
2073
+ 'product',
2074
+ 'value',
2075
+ 'price',
2076
+ 'total'
2077
+ ],
1595
2078
  additionalProperties: false
1596
2079
  };
1597
2080
  export const UserCreateInputSchema = {
@@ -1632,16 +2115,28 @@ export const UserCreateInputSchema = {
1632
2115
  type: 'string',
1633
2116
  description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
1634
2117
  example: 'active',
1635
- enum: ['active', 'inactive']
2118
+ enum: [
2119
+ 'active',
2120
+ 'inactive'
2121
+ ]
1636
2122
  },
1637
2123
  role: {
1638
2124
  type: 'string',
1639
- description: "User role. Can be 'Administrator', 'User'.",
2125
+ description: 'User role. Can be \'Administrator\', \'User\'.',
1640
2126
  example: 'User',
1641
- enum: ['Administrator', 'User']
2127
+ enum: [
2128
+ 'Administrator',
2129
+ 'User'
2130
+ ]
1642
2131
  }
1643
2132
  },
1644
- required: ['email', 'first_name', 'last_name', 'code', 'password'],
2133
+ required: [
2134
+ 'email',
2135
+ 'first_name',
2136
+ 'last_name',
2137
+ 'code',
2138
+ 'password'
2139
+ ],
1645
2140
  additionalProperties: false
1646
2141
  };
1647
2142
  export const UserSchema = {
@@ -1669,15 +2164,21 @@ export const UserSchema = {
1669
2164
  },
1670
2165
  role: {
1671
2166
  type: 'string',
1672
- description: "User role. Can be 'Administrator', 'User'.",
2167
+ description: 'User role. Can be \'Administrator\', \'User\'.',
1673
2168
  example: 'User',
1674
- enum: ['Administrator', 'User']
2169
+ enum: [
2170
+ 'Administrator',
2171
+ 'User'
2172
+ ]
1675
2173
  },
1676
2174
  status: {
1677
2175
  type: 'string',
1678
2176
  description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
1679
2177
  example: 'active',
1680
- enum: ['active', 'inactive']
2178
+ enum: [
2179
+ 'active',
2180
+ 'inactive'
2181
+ ]
1681
2182
  },
1682
2183
  id: {
1683
2184
  type: 'string',
@@ -1690,31 +2191,17 @@ export const UserSchema = {
1690
2191
  format: 'date-time',
1691
2192
  description: 'Creation date of the user. ISO 8601 date string in UTC timezone',
1692
2193
  example: '2023-11-02T16:08:14.338Z'
1693
- },
1694
- cluster_permissions: {
1695
- type: 'array',
1696
- items: {
1697
- type: 'object',
1698
- properties: {
1699
- cluster_id: {
1700
- type: 'string',
1701
- format: 'uuid',
1702
- description: 'Unique identifier of the cluster. UUID v4 string in canonical form',
1703
- example: '035ce46d-44d8-4e58-a8a2-b0192d1c27df'
1704
- },
1705
- permissions: {
1706
- type: 'string',
1707
- description: 'User permissions to access the cluster. Can be `readwrite` or `readonly`.',
1708
- example: 'readwrite',
1709
- enum: ['readwrite', 'readonly']
1710
- }
1711
- },
1712
- required: ['cluster_id', 'permissions'],
1713
- additionalProperties: false
1714
- }
1715
2194
  }
1716
2195
  },
1717
- required: ['email', 'first_name', 'last_name', 'role', 'status', 'id', 'date_created'],
2196
+ required: [
2197
+ 'email',
2198
+ 'first_name',
2199
+ 'last_name',
2200
+ 'role',
2201
+ 'status',
2202
+ 'id',
2203
+ 'date_created'
2204
+ ],
1718
2205
  additionalProperties: false
1719
2206
  };
1720
2207
  export const UserUpdateInputSchema = {
@@ -1742,15 +2229,21 @@ export const UserUpdateInputSchema = {
1742
2229
  },
1743
2230
  role: {
1744
2231
  type: 'string',
1745
- description: "User role. Can be 'Administrator', 'User'.",
2232
+ description: 'User role. Can be \'Administrator\', \'User\'.',
1746
2233
  example: 'User',
1747
- enum: ['Administrator', 'User']
2234
+ enum: [
2235
+ 'Administrator',
2236
+ 'User'
2237
+ ]
1748
2238
  },
1749
2239
  status: {
1750
2240
  type: 'string',
1751
2241
  description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
1752
2242
  example: 'active',
1753
- enum: ['active', 'inactive']
2243
+ enum: [
2244
+ 'active',
2245
+ 'inactive'
2246
+ ]
1754
2247
  }
1755
2248
  },
1756
2249
  additionalProperties: false