@cloudfleet/sdk 0.0.1-23a36bd → 0.0.1-25cee56

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 +235 -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 +2 -0
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +2 -0
  56. package/dist/index.js.map +1 -1
  57. package/dist/schemas.gen.d.ts +865 -477
  58. package/dist/schemas.gen.d.ts.map +1 -1
  59. package/dist/schemas.gen.js +1377 -564
  60. package/dist/schemas.gen.js.map +1 -1
  61. package/dist/sdk.gen.d.ts +200 -65
  62. package/dist/sdk.gen.d.ts.map +1 -1
  63. package/dist/sdk.gen.js +265 -152
  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 +913 -310
  78. package/dist/types.gen.d.ts.map +1 -1
  79. package/dist/zod.gen.d.ts +1881 -1902
  80. package/dist/zod.gen.d.ts.map +1 -1
  81. package/dist/zod.gen.js +872 -749
  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,7 +958,9 @@ 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
  },
@@ -589,7 +998,9 @@ export const InviteSchema = {
589
998
  example: '7kUZnH7nnKUFfvc4NK2KQF'
590
999
  }
591
1000
  },
592
- required: ['date_created'],
1001
+ required: [
1002
+ 'date_created'
1003
+ ],
593
1004
  additionalProperties: false
594
1005
  };
595
1006
  export const InvoiceSchema = {
@@ -597,23 +1008,18 @@ export const InvoiceSchema = {
597
1008
  properties: {
598
1009
  id: {
599
1010
  type: 'string',
600
- format: 'uuid',
601
- description: 'Unique identifier of the invoice. UUID v4 string in canonical form',
602
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
1011
+ description: 'Unique identifier of the invoice.',
1012
+ example: 'in_1234567890xCrwxghOTj1234'
603
1013
  },
604
- organizationId: {
605
- type: 'string',
606
- format: 'uuid',
607
- description: 'Unique identifier of the organization. UUID v4 string in canonical form',
608
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
1014
+ number: {
1015
+ type: 'string'
609
1016
  },
610
1017
  status: {
611
1018
  type: 'string',
612
1019
  description: 'Status of the invoice',
613
- example: 'DRAFT',
614
- enum: ['DRAFT', 'COMMITTED', 'VOID']
1020
+ example: 'paid'
615
1021
  },
616
- amount: {
1022
+ total: {
617
1023
  type: 'number',
618
1024
  format: 'float',
619
1025
  description: 'Total amount of the invoice',
@@ -622,330 +1028,189 @@ export const InvoiceSchema = {
622
1028
  currency: {
623
1029
  type: 'string',
624
1030
  description: 'Currency of the invoice',
625
- example: 'USD',
626
- 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']
627
- },
628
- creditAdj: {
629
- type: 'number',
630
- format: 'float',
631
- description: 'Total amount of credit adjustments',
632
- example: 0
1031
+ example: 'usd'
633
1032
  },
634
- refundAdj: {
635
- type: 'number',
636
- format: 'float',
637
- description: 'Total amount of refund adjustments',
638
- example: 0
639
- },
640
- invoiceDate: {
1033
+ created: {
641
1034
  type: 'string',
642
- description: 'Date of the invoice',
643
- 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'
644
1038
  },
645
- targetDate: {
1039
+ period_start: {
646
1040
  type: 'string',
647
- description: 'Target date of the invoice',
648
- 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'
649
1044
  },
650
- invoiceNumber: {
1045
+ period_end: {
651
1046
  type: 'string',
652
- description: 'Number of the invoice',
653
- example: 'INV-0001'
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'
654
1050
  },
655
- balance: {
656
- type: 'number',
657
- format: 'float',
658
- description: 'Balance of the invoice',
659
- example: 100
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: {
1066
+ type: 'string',
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'
660
1069
  },
661
- bundleKeys: {
1070
+ valuesYaml: {
662
1071
  type: 'string',
663
- description: 'Bundle keys of the invoice',
664
- example: 'bundleKey1,bundleKey2'
1072
+ description: 'Raw values.yaml content from the Helm chart',
1073
+ example: 'replicaCount: 1\nimage:\n repository: nginx\n tag: latest'
665
1074
  },
666
- credits: {
667
- type: 'array',
668
- items: {
669
- type: 'object',
670
- properties: {
671
- id: {
672
- type: 'string',
673
- format: 'uuid',
674
- description: 'Unique identifier of the invoice item. UUID v4 string in canonical form',
675
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
676
- },
677
- linkedInvoiceItemId: {
678
- type: 'string',
679
- format: 'uuid',
680
- description: 'Unique identifier of the linked invoice item. UUID v4 string in canonical form',
681
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
682
- },
683
- productName: {
684
- type: 'string',
685
- description: 'Name of the product',
686
- example: 'Research team'
687
- },
688
- planName: {
689
- type: 'string',
690
- description: 'Name of the plan',
691
- example: 'Plan A'
692
- },
693
- phaseName: {
694
- type: 'string',
695
- description: 'Name of the phase',
696
- example: 'Phase A'
697
- },
698
- usageName: {
699
- type: 'string',
700
- description: 'Name of the usage',
701
- example: 'Usage A'
702
- },
703
- prettyProductName: {
704
- type: 'string',
705
- description: 'Pretty name of the product',
706
- example: 'Research team'
707
- },
708
- prettyPlanName: {
709
- type: 'string',
710
- description: 'Pretty name of the plan',
711
- example: 'Plan A'
712
- },
713
- prettyPhaseName: {
714
- type: 'string',
715
- description: 'Pretty name of the phase',
716
- example: 'Phase A'
717
- },
718
- prettyUsageName: {
719
- type: 'string',
720
- description: 'Pretty name of the usage',
721
- example: 'Usage A'
722
- },
723
- itemType: {
724
- type: 'string',
725
- description: 'Type of the invoice item',
726
- example: 'EXTERNAL_CHARGE',
727
- enum: ['EXTERNAL_CHARGE', 'FIXED', 'RECURRING', 'REPAIR_ADJ', 'CBA_ADJ', 'CREDIT_ADJ', 'ITEM_ADJ', 'USAGE', 'TAX', 'PARENT_SUMMARY']
728
- },
729
- description: {
730
- type: 'string',
731
- description: 'Description of the invoice item',
732
- example: 'Description of the invoice item'
733
- },
734
- startDate: {
735
- type: 'string',
736
- description: 'Start date of the invoice item',
737
- example: '2019-01-01T00:00:00.000Z'
738
- },
739
- endDate: {
740
- type: 'string',
741
- description: 'End date of the invoice item',
742
- example: '2019-01-01T00:00:00.000Z'
743
- },
744
- amount: {
745
- type: 'number',
746
- format: 'float',
747
- description: 'Amount of the invoice item',
748
- example: 100
749
- },
750
- rate: {
751
- type: 'number',
752
- format: 'float',
753
- description: 'Rate of the invoice item',
754
- example: 100
755
- },
756
- currency: {
757
- type: 'string',
758
- description: 'Currency of the invoice item',
759
- example: 'USD',
760
- 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']
761
- },
762
- quantity: {
763
- type: 'number',
764
- format: 'float',
765
- description: 'Quantity of the invoice item',
766
- example: 1
767
- },
768
- itemDetails: {
769
- type: 'string',
770
- description: 'Details of the invoice item',
771
- example: 'Details of the invoice item'
772
- },
773
- catalogEffectiveDate: {
774
- type: 'string',
775
- description: 'Effective date of the catalog',
776
- example: '2019-01-01T00:00:00.000Z'
777
- },
778
- childItems: {
779
- type: 'array',
780
- items: {
781
- oneOf: [
782
- {
783
- type: 'array'
784
- },
785
- {
786
- type: 'boolean'
787
- },
788
- {
789
- type: 'number'
790
- },
791
- {
792
- type: 'object',
793
- additionalProperties: true
794
- },
795
- {
796
- type: 'string'
797
- }
798
- ]
799
- },
800
- description: 'Child items of the invoice item'
801
- }
802
- },
803
- additionalProperties: false
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'
804
1098
  },
805
- description: 'Credits of the invoice'
1099
+ description: 'Available versions of the chart'
806
1100
  },
807
- items: {
1101
+ version_channels: {
808
1102
  type: 'array',
809
1103
  items: {
810
- type: 'object',
811
- properties: {
812
- id: {
813
- type: 'string',
814
- format: 'uuid',
815
- description: 'Unique identifier of the invoice item. UUID v4 string in canonical form',
816
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
817
- },
818
- linkedInvoiceItemId: {
819
- type: 'string',
820
- format: 'uuid',
821
- description: 'Unique identifier of the linked invoice item. UUID v4 string in canonical form',
822
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
823
- },
824
- productName: {
825
- type: 'string',
826
- description: 'Name of the product',
827
- example: 'Research team'
828
- },
829
- planName: {
830
- type: 'string',
831
- description: 'Name of the plan',
832
- example: 'Plan A'
833
- },
834
- phaseName: {
835
- type: 'string',
836
- description: 'Name of the phase',
837
- example: 'Phase A'
838
- },
839
- usageName: {
840
- type: 'string',
841
- description: 'Name of the usage',
842
- example: 'Usage A'
843
- },
844
- prettyProductName: {
845
- type: 'string',
846
- description: 'Pretty name of the product',
847
- example: 'Research team'
848
- },
849
- prettyPlanName: {
850
- type: 'string',
851
- description: 'Pretty name of the plan',
852
- example: 'Plan A'
853
- },
854
- prettyPhaseName: {
855
- type: 'string',
856
- description: 'Pretty name of the phase',
857
- example: 'Phase A'
858
- },
859
- prettyUsageName: {
860
- type: 'string',
861
- description: 'Pretty name of the usage',
862
- example: 'Usage A'
863
- },
864
- itemType: {
865
- type: 'string',
866
- description: 'Type of the invoice item',
867
- example: 'EXTERNAL_CHARGE',
868
- enum: ['EXTERNAL_CHARGE', 'FIXED', 'RECURRING', 'REPAIR_ADJ', 'CBA_ADJ', 'CREDIT_ADJ', 'ITEM_ADJ', 'USAGE', 'TAX', 'PARENT_SUMMARY']
869
- },
870
- description: {
871
- type: 'string',
872
- description: 'Description of the invoice item',
873
- example: 'Description of the invoice item'
874
- },
875
- startDate: {
876
- type: 'string',
877
- description: 'Start date of the invoice item',
878
- example: '2019-01-01T00:00:00.000Z'
879
- },
880
- endDate: {
881
- type: 'string',
882
- description: 'End date of the invoice item',
883
- example: '2019-01-01T00:00:00.000Z'
884
- },
885
- amount: {
886
- type: 'number',
887
- format: 'float',
888
- description: 'Amount of the invoice item',
889
- example: 100
890
- },
891
- rate: {
892
- type: 'number',
893
- format: 'float',
894
- description: 'Rate of the invoice item',
895
- example: 100
896
- },
897
- currency: {
898
- type: 'string',
899
- description: 'Currency of the invoice item',
900
- example: 'USD',
901
- 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']
902
- },
903
- quantity: {
904
- type: 'number',
905
- format: 'float',
906
- description: 'Quantity of the invoice item',
907
- example: 1
908
- },
909
- itemDetails: {
910
- type: 'string',
911
- description: 'Details of the invoice item',
912
- example: 'Details of the invoice item'
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'
913
1148
  },
914
- catalogEffectiveDate: {
915
- type: 'string',
916
- description: 'Effective date of the catalog',
917
- 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'
918
1170
  },
919
- childItems: {
920
- type: 'array',
921
- items: {
922
- oneOf: [
923
- {
924
- type: 'array'
925
- },
926
- {
927
- type: 'boolean'
928
- },
929
- {
930
- type: 'number'
931
- },
932
- {
933
- type: 'object',
934
- additionalProperties: true
935
- },
936
- {
937
- type: 'string'
938
- }
939
- ]
940
- },
941
- description: 'Child items of the invoice item'
942
- }
1171
+ description: 'Chart source URLs',
1172
+ example: [
1173
+ 'https://github.com/kubernetes/ingress-nginx'
1174
+ ]
943
1175
  },
944
- 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
+ }
945
1199
  },
946
- description: 'Items of the invoice'
1200
+ required: [
1201
+ 'name',
1202
+ 'version'
1203
+ ],
1204
+ additionalProperties: false,
1205
+ description: 'Chart metadata'
947
1206
  }
948
1207
  },
1208
+ required: [
1209
+ 'name',
1210
+ 'versions',
1211
+ 'version_channels',
1212
+ 'latestVersion'
1213
+ ],
949
1214
  additionalProperties: false
950
1215
  };
951
1216
  export const OrganizationCreateInputSchema = {
@@ -981,7 +1246,13 @@ export const OrganizationCreateInputSchema = {
981
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.'
982
1247
  }
983
1248
  },
984
- 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
+ ],
985
1256
  additionalProperties: false
986
1257
  };
987
1258
  export const OrganizationSchema = {
@@ -1037,12 +1308,6 @@ export const OrganizationSchema = {
1037
1308
  description: 'Maximum number of fleets that can be created per cluster.',
1038
1309
  example: 999
1039
1310
  },
1040
- managed_fleets_cpu_max: {
1041
- type: 'integer',
1042
- minimum: 0,
1043
- description: 'Maximum number of CPU cores per managed fleet.',
1044
- example: 999
1045
- },
1046
1311
  cluster_tiers: {
1047
1312
  type: 'array',
1048
1313
  items: {
@@ -1069,32 +1334,74 @@ export const OrganizationSchema = {
1069
1334
  id: {
1070
1335
  type: 'string',
1071
1336
  description: 'Id of the control plane version. Used in API calls.',
1072
- example: '1.29.x-cfke.x'
1337
+ example: '1.33.x-cfke.x'
1073
1338
  },
1074
1339
  label: {
1075
1340
  type: 'string',
1076
1341
  description: 'Label of the control plane version. Used in frontent UI.',
1077
- example: '1.29.x (Always latest 1.29 patch version)'
1342
+ example: '1.33.x (Always latest 1.33 patch version)'
1078
1343
  }
1079
1344
  },
1080
- required: ['id', 'label'],
1345
+ required: [
1346
+ 'id',
1347
+ 'label'
1348
+ ],
1081
1349
  additionalProperties: false
1082
1350
  },
1083
1351
  minItems: 1,
1084
1352
  description: 'List of CFKE control plane versions available for the organization.'
1353
+ },
1354
+ copilot_user_hourly_tokens: {
1355
+ type: 'integer',
1356
+ minimum: 0,
1357
+ description: 'User-level maximum number of tokens Cloudfleet Copilot can process per hour.',
1358
+ example: 42000
1359
+ },
1360
+ copilot_organization_hourly_tokens: {
1361
+ type: 'integer',
1362
+ minimum: 0,
1363
+ description: 'Organization-level maximum number of tokens Cloudfleet Copilot can process per hour.',
1364
+ example: 242000
1365
+ },
1366
+ cfcr_storage_gb: {
1367
+ type: 'integer',
1368
+ minimum: -1,
1369
+ description: 'Organization-level maximum CFCR storage volume in GB. -1 means no limit.',
1370
+ example: 500
1085
1371
  }
1086
1372
  },
1087
- required: ['basic_clusters_max', 'basic_clusters_available', 'pro_clusters_max', 'pro_clusters_available', 'fleets_max', 'managed_fleets_cpu_max', 'cluster_tiers', 'regions', 'versions'],
1373
+ required: [
1374
+ 'basic_clusters_max',
1375
+ 'basic_clusters_available',
1376
+ 'pro_clusters_max',
1377
+ 'pro_clusters_available',
1378
+ 'fleets_max',
1379
+ 'cluster_tiers',
1380
+ 'regions',
1381
+ 'versions',
1382
+ 'copilot_user_hourly_tokens',
1383
+ 'copilot_organization_hourly_tokens',
1384
+ 'cfcr_storage_gb'
1385
+ ],
1088
1386
  additionalProperties: false,
1089
1387
  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.'
1090
1388
  },
1091
1389
  status: {
1092
1390
  type: 'string',
1093
1391
  description: 'Status of the organization. Can be `active` or `closed`, or `suspended`.',
1094
- enum: ['active', 'closed', 'suspended']
1392
+ enum: [
1393
+ 'active',
1394
+ 'closed',
1395
+ 'suspended'
1396
+ ]
1095
1397
  }
1096
1398
  },
1097
- required: ['id', 'date_created', 'quota', 'status'],
1399
+ required: [
1400
+ 'id',
1401
+ 'date_created',
1402
+ 'quota',
1403
+ 'status'
1404
+ ],
1098
1405
  additionalProperties: false
1099
1406
  };
1100
1407
  export const PaymentMethodSchema = {
@@ -1116,7 +1423,9 @@ export const PaymentMethodSchema = {
1116
1423
  nullable: true,
1117
1424
  description: 'Payment method type type. Only `card` payments supported at the moment.',
1118
1425
  example: 'card',
1119
- enum: ['card']
1426
+ enum: [
1427
+ 'card'
1428
+ ]
1120
1429
  },
1121
1430
  last4: {
1122
1431
  type: 'string',
@@ -1129,14 +1438,14 @@ export const PaymentMethodSchema = {
1129
1438
  minimum: 1,
1130
1439
  maximum: 12,
1131
1440
  nullable: true,
1132
- description: "Two-digit number representing the card's expiration month.",
1441
+ description: 'Two-digit number representing the card\'s expiration month.',
1133
1442
  example: '12'
1134
1443
  },
1135
1444
  exp_year: {
1136
1445
  type: 'integer',
1137
1446
  minimum: 2024,
1138
1447
  nullable: true,
1139
- description: "Four-digit number representing the card's expiration year.",
1448
+ description: 'Four-digit number representing the card\'s expiration year.',
1140
1449
  example: '2028'
1141
1450
  },
1142
1451
  brand: {
@@ -1144,10 +1453,401 @@ export const PaymentMethodSchema = {
1144
1453
  nullable: true,
1145
1454
  description: 'Payment card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.',
1146
1455
  example: 'visa',
1147
- enum: ['amex', 'diners', 'discover', 'eftpos_au', 'jcb', 'mastercard', 'unionpay', 'visa', 'unknown']
1456
+ enum: [
1457
+ 'amex',
1458
+ 'diners',
1459
+ 'discover',
1460
+ 'eftpos_au',
1461
+ 'jcb',
1462
+ 'mastercard',
1463
+ 'unionpay',
1464
+ 'visa',
1465
+ 'unknown'
1466
+ ]
1467
+ }
1468
+ },
1469
+ required: [
1470
+ 'id',
1471
+ 'setup',
1472
+ 'type',
1473
+ 'last4',
1474
+ 'exp_month',
1475
+ 'exp_year',
1476
+ 'brand'
1477
+ ],
1478
+ additionalProperties: false
1479
+ };
1480
+ export const PlatformQuotaSchema = {
1481
+ type: 'object',
1482
+ properties: {
1483
+ basic_clusters_max: {
1484
+ type: 'integer',
1485
+ minimum: 0,
1486
+ description: 'Maximum number of Basic clusters that can be created.',
1487
+ example: 999
1488
+ },
1489
+ basic_clusters_available: {
1490
+ type: 'integer',
1491
+ description: 'Available number of Basic clusters that can be created.',
1492
+ example: 999
1493
+ },
1494
+ pro_clusters_max: {
1495
+ type: 'integer',
1496
+ minimum: 0,
1497
+ description: 'Maximum number of Pro clusters that can be created.',
1498
+ example: 999
1499
+ },
1500
+ pro_clusters_available: {
1501
+ type: 'integer',
1502
+ description: 'Available number of Pro clusters that can be created.',
1503
+ example: 999
1504
+ },
1505
+ fleets_max: {
1506
+ type: 'integer',
1507
+ minimum: 0,
1508
+ description: 'Maximum number of fleets that can be created per cluster.',
1509
+ example: 999
1510
+ },
1511
+ cluster_tiers: {
1512
+ type: 'array',
1513
+ items: {
1514
+ type: 'string',
1515
+ example: 'basic'
1516
+ },
1517
+ minItems: 0,
1518
+ description: 'List of Cloudfleet cluster tiers available for the organization.'
1519
+ },
1520
+ regions: {
1521
+ type: 'array',
1522
+ items: {
1523
+ type: 'string',
1524
+ example: 'northamerica-central-1'
1525
+ },
1526
+ minItems: 1,
1527
+ description: 'List of Cloudfleet control plane regions available for the organization.'
1528
+ },
1529
+ versions: {
1530
+ type: 'array',
1531
+ items: {
1532
+ type: 'object',
1533
+ properties: {
1534
+ id: {
1535
+ type: 'string',
1536
+ description: 'Id of the control plane version. Used in API calls.',
1537
+ example: '1.33.x-cfke.x'
1538
+ },
1539
+ label: {
1540
+ type: 'string',
1541
+ description: 'Label of the control plane version. Used in frontent UI.',
1542
+ example: '1.33.x (Always latest 1.33 patch version)'
1543
+ }
1544
+ },
1545
+ required: [
1546
+ 'id',
1547
+ 'label'
1548
+ ],
1549
+ additionalProperties: false
1550
+ },
1551
+ minItems: 1,
1552
+ description: 'List of CFKE control plane versions available for the organization.'
1553
+ },
1554
+ copilot_user_hourly_tokens: {
1555
+ type: 'integer',
1556
+ minimum: 0,
1557
+ description: 'User-level maximum number of tokens Cloudfleet Copilot can process per hour.',
1558
+ example: 42000
1559
+ },
1560
+ copilot_organization_hourly_tokens: {
1561
+ type: 'integer',
1562
+ minimum: 0,
1563
+ description: 'Organization-level maximum number of tokens Cloudfleet Copilot can process per hour.',
1564
+ example: 242000
1565
+ },
1566
+ cfcr_storage_gb: {
1567
+ type: 'integer',
1568
+ minimum: -1,
1569
+ description: 'Organization-level maximum CFCR storage volume in GB. -1 means no limit.',
1570
+ example: 500
1148
1571
  }
1149
1572
  },
1150
- required: ['id', 'setup', 'type', 'last4', 'exp_month', 'exp_year', 'brand'],
1573
+ required: [
1574
+ 'basic_clusters_max',
1575
+ 'basic_clusters_available',
1576
+ 'pro_clusters_max',
1577
+ 'pro_clusters_available',
1578
+ 'fleets_max',
1579
+ 'cluster_tiers',
1580
+ 'regions',
1581
+ 'versions',
1582
+ 'copilot_user_hourly_tokens',
1583
+ 'copilot_organization_hourly_tokens',
1584
+ 'cfcr_storage_gb'
1585
+ ],
1586
+ additionalProperties: false
1587
+ };
1588
+ export const RegistryRepositorySchema = {
1589
+ type: 'object',
1590
+ properties: {
1591
+ name: {
1592
+ type: 'string',
1593
+ description: 'Repository name.',
1594
+ example: 'my-app'
1595
+ },
1596
+ region: {
1597
+ type: 'string',
1598
+ description: 'Registry region.',
1599
+ example: 'northamerica'
1600
+ },
1601
+ uri: {
1602
+ type: 'string',
1603
+ description: 'Full URI of the repository.',
1604
+ example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app'
1605
+ }
1606
+ },
1607
+ required: [
1608
+ 'name',
1609
+ 'region',
1610
+ 'uri'
1611
+ ],
1612
+ additionalProperties: false
1613
+ };
1614
+ export const RegistryRepositoryWithTagsSchema = {
1615
+ type: 'object',
1616
+ properties: {
1617
+ name: {
1618
+ type: 'string',
1619
+ description: 'Repository name.',
1620
+ example: 'my-app'
1621
+ },
1622
+ region: {
1623
+ type: 'string',
1624
+ description: 'Registry region.',
1625
+ example: 'northamerica'
1626
+ },
1627
+ uri: {
1628
+ type: 'string',
1629
+ description: 'Full URI of the repository.',
1630
+ example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app'
1631
+ },
1632
+ tags: {
1633
+ type: 'array',
1634
+ items: {
1635
+ type: 'object',
1636
+ properties: {
1637
+ name: {
1638
+ type: 'string',
1639
+ description: 'Tag name.',
1640
+ example: 'latest'
1641
+ },
1642
+ size: {
1643
+ type: 'number',
1644
+ format: 'float',
1645
+ description: 'Size of the tag in bytes.',
1646
+ example: 123456789
1647
+ },
1648
+ mediaType: {
1649
+ type: 'string',
1650
+ description: 'Media type of the manifest.',
1651
+ example: 'application/vnd.docker.distribution.manifest.v2+json'
1652
+ },
1653
+ platforms: {
1654
+ type: 'array',
1655
+ items: {
1656
+ type: 'string'
1657
+ },
1658
+ description: 'Array of platform strings for multi-arch images (e.g., linux/amd64, linux/arm64).',
1659
+ example: [
1660
+ 'linux/amd64',
1661
+ 'linux/arm64'
1662
+ ]
1663
+ }
1664
+ },
1665
+ required: [
1666
+ 'name',
1667
+ 'size'
1668
+ ],
1669
+ additionalProperties: false
1670
+ },
1671
+ description: 'Array of tags in the repository.'
1672
+ },
1673
+ totalSize: {
1674
+ type: 'number',
1675
+ format: 'float',
1676
+ description: 'Total size of all tags in the repository in bytes.',
1677
+ example: 987654321
1678
+ }
1679
+ },
1680
+ required: [
1681
+ 'name',
1682
+ 'region',
1683
+ 'uri',
1684
+ 'tags',
1685
+ 'totalSize'
1686
+ ],
1687
+ additionalProperties: false
1688
+ };
1689
+ export const RegistryTagSchema = {
1690
+ type: 'object',
1691
+ properties: {
1692
+ name: {
1693
+ type: 'string',
1694
+ description: 'Tag name.',
1695
+ example: 'latest'
1696
+ },
1697
+ digest: {
1698
+ type: 'string',
1699
+ description: 'Manifest digest for pulling by digest.',
1700
+ example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
1701
+ },
1702
+ mediaType: {
1703
+ type: 'string',
1704
+ description: 'Media type of the manifest.',
1705
+ example: 'application/vnd.docker.distribution.manifest.v2+json'
1706
+ },
1707
+ config: {
1708
+ type: 'object',
1709
+ properties: {
1710
+ size: {
1711
+ type: 'number',
1712
+ format: 'float',
1713
+ description: 'Size of the config in bytes.',
1714
+ example: 1234
1715
+ }
1716
+ },
1717
+ required: [
1718
+ 'size'
1719
+ ],
1720
+ additionalProperties: false,
1721
+ description: 'Manifest config metadata.'
1722
+ },
1723
+ layers: {
1724
+ type: 'array',
1725
+ items: {
1726
+ type: 'object',
1727
+ properties: {
1728
+ digest: {
1729
+ type: 'string',
1730
+ description: 'Digest of the layer.',
1731
+ example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
1732
+ },
1733
+ size: {
1734
+ type: 'number',
1735
+ format: 'float',
1736
+ description: 'Size of the layer in bytes.',
1737
+ example: 5678
1738
+ }
1739
+ },
1740
+ required: [
1741
+ 'size'
1742
+ ],
1743
+ additionalProperties: false
1744
+ },
1745
+ description: 'Array of layer metadata.'
1746
+ },
1747
+ manifests: {
1748
+ type: 'array',
1749
+ items: {
1750
+ type: 'object',
1751
+ properties: {
1752
+ digest: {
1753
+ type: 'string',
1754
+ description: 'Digest of the manifest.',
1755
+ example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
1756
+ },
1757
+ platform: {
1758
+ type: 'object',
1759
+ properties: {
1760
+ architecture: {
1761
+ type: 'string',
1762
+ description: 'Architecture of the platform.',
1763
+ example: 'amd64'
1764
+ },
1765
+ os: {
1766
+ type: 'string',
1767
+ description: 'Operating system of the platform.',
1768
+ example: 'linux'
1769
+ },
1770
+ variant: {
1771
+ type: 'string',
1772
+ description: 'Variant of the platform (e.g., v7, v8 for ARM).',
1773
+ example: 'v8'
1774
+ }
1775
+ },
1776
+ required: [
1777
+ 'architecture',
1778
+ 'os'
1779
+ ],
1780
+ additionalProperties: false,
1781
+ description: 'Platform information for the manifest.'
1782
+ },
1783
+ layers: {
1784
+ type: 'array',
1785
+ items: {
1786
+ type: 'object',
1787
+ properties: {
1788
+ digest: {
1789
+ type: 'string',
1790
+ description: 'Digest of the layer.',
1791
+ example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
1792
+ },
1793
+ size: {
1794
+ type: 'number',
1795
+ format: 'float',
1796
+ description: 'Size of the layer in bytes.',
1797
+ example: 5678
1798
+ }
1799
+ },
1800
+ required: [
1801
+ 'size'
1802
+ ],
1803
+ additionalProperties: false
1804
+ },
1805
+ description: 'Layers for this platform.'
1806
+ },
1807
+ size: {
1808
+ type: 'number',
1809
+ format: 'float',
1810
+ description: 'Total size of this platform manifest in bytes.',
1811
+ example: 12345678
1812
+ }
1813
+ },
1814
+ required: [
1815
+ 'digest'
1816
+ ],
1817
+ additionalProperties: false
1818
+ },
1819
+ description: 'Array of manifests for multi-arch images.'
1820
+ },
1821
+ size: {
1822
+ type: 'number',
1823
+ format: 'float',
1824
+ description: 'Total size of the tag in bytes.',
1825
+ example: 123456789
1826
+ },
1827
+ region: {
1828
+ type: 'string',
1829
+ description: 'Registry region.',
1830
+ example: 'northamerica'
1831
+ },
1832
+ repository: {
1833
+ type: 'string',
1834
+ description: 'Repository name.',
1835
+ example: 'my-app'
1836
+ },
1837
+ uri: {
1838
+ type: 'string',
1839
+ description: 'Full URI of the tag.',
1840
+ example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app:latest'
1841
+ }
1842
+ },
1843
+ required: [
1844
+ 'name',
1845
+ 'digest',
1846
+ 'size',
1847
+ 'region',
1848
+ 'repository',
1849
+ 'uri'
1850
+ ],
1151
1851
  additionalProperties: false
1152
1852
  };
1153
1853
  export const TokenCreateInputSchema = {
@@ -1165,10 +1865,16 @@ export const TokenCreateInputSchema = {
1165
1865
  type: 'string',
1166
1866
  description: 'Role assumed by the token.',
1167
1867
  example: 'User',
1168
- enum: ['Administrator', 'User']
1868
+ enum: [
1869
+ 'Administrator',
1870
+ 'User'
1871
+ ]
1169
1872
  }
1170
1873
  },
1171
- required: ['name', 'role'],
1874
+ required: [
1875
+ 'name',
1876
+ 'role'
1877
+ ],
1172
1878
  additionalProperties: false
1173
1879
  };
1174
1880
  export const TokenSchema = {
@@ -1186,7 +1892,10 @@ export const TokenSchema = {
1186
1892
  type: 'string',
1187
1893
  description: 'Role assumed by the token.',
1188
1894
  example: 'User',
1189
- enum: ['Administrator', 'User']
1895
+ enum: [
1896
+ 'Administrator',
1897
+ 'User'
1898
+ ]
1190
1899
  },
1191
1900
  id: {
1192
1901
  type: 'string',
@@ -1205,7 +1914,11 @@ export const TokenSchema = {
1205
1914
  example: '2023-12-20T13:53:32.000Z'
1206
1915
  }
1207
1916
  },
1208
- required: ['name', 'role', 'date_created'],
1917
+ required: [
1918
+ 'name',
1919
+ 'role',
1920
+ 'date_created'
1921
+ ],
1209
1922
  additionalProperties: false
1210
1923
  };
1211
1924
  export const TokenUpdateInputSchema = {
@@ -1223,9 +1936,127 @@ export const TokenUpdateInputSchema = {
1223
1936
  type: 'string',
1224
1937
  description: 'Role assumed by the token.',
1225
1938
  example: 'User',
1226
- enum: ['Administrator', 'User']
1939
+ enum: [
1940
+ 'Administrator',
1941
+ 'User'
1942
+ ]
1943
+ }
1944
+ },
1945
+ additionalProperties: false
1946
+ };
1947
+ export const UsageFacetsSchema = {
1948
+ type: 'object',
1949
+ properties: {
1950
+ cluster_id: {
1951
+ type: 'array',
1952
+ items: {
1953
+ type: 'string'
1954
+ },
1955
+ description: 'List of unique cluster IDs',
1956
+ example: [
1957
+ '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
1958
+ ]
1959
+ },
1960
+ product: {
1961
+ type: 'array',
1962
+ items: {
1963
+ type: 'string'
1964
+ },
1965
+ description: 'List of unique products',
1966
+ example: [
1967
+ 'cfke_controlplane',
1968
+ 'cfke_connected_nodes'
1969
+ ]
1970
+ }
1971
+ },
1972
+ additionalProperties: false
1973
+ };
1974
+ export const UsageResponseSchema = {
1975
+ type: 'object',
1976
+ properties: {
1977
+ data: {
1978
+ type: 'array',
1979
+ items: {
1980
+ type: 'object',
1981
+ properties: {
1982
+ hour: {
1983
+ type: 'string',
1984
+ description: 'Hour of the usage',
1985
+ example: '2019-01-01T00:00:00.000Z'
1986
+ },
1987
+ cluster_id: {
1988
+ type: 'string',
1989
+ description: 'Unique identifier of the kubernetes cluster. UUID v4 string in canonical form',
1990
+ example: '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
1991
+ },
1992
+ product: {
1993
+ type: 'string',
1994
+ description: 'The product the usage is associated with',
1995
+ example: 'cfke_controlplane'
1996
+ },
1997
+ value: {
1998
+ type: 'number',
1999
+ format: 'float',
2000
+ description: 'Consumption',
2001
+ example: 4
2002
+ },
2003
+ price: {
2004
+ type: 'number',
2005
+ format: 'float',
2006
+ description: 'Price per unit',
2007
+ example: 0.01
2008
+ },
2009
+ total: {
2010
+ type: 'number',
2011
+ format: 'float',
2012
+ description: 'Total cost'
2013
+ }
2014
+ },
2015
+ required: [
2016
+ 'hour',
2017
+ 'cluster_id',
2018
+ 'product',
2019
+ 'value',
2020
+ 'price',
2021
+ 'total'
2022
+ ],
2023
+ additionalProperties: false
2024
+ },
2025
+ description: 'Usage data'
2026
+ },
2027
+ facets: {
2028
+ type: 'object',
2029
+ properties: {
2030
+ cluster_id: {
2031
+ type: 'array',
2032
+ items: {
2033
+ type: 'string'
2034
+ },
2035
+ description: 'List of unique cluster IDs',
2036
+ example: [
2037
+ '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
2038
+ ]
2039
+ },
2040
+ product: {
2041
+ type: 'array',
2042
+ items: {
2043
+ type: 'string'
2044
+ },
2045
+ description: 'List of unique products',
2046
+ example: [
2047
+ 'cfke_controlplane',
2048
+ 'cfke_connected_nodes'
2049
+ ]
2050
+ }
2051
+ },
2052
+ additionalProperties: false,
2053
+ description: 'Facets for filtering'
1227
2054
  }
1228
2055
  },
2056
+ required: [
2057
+ 'data',
2058
+ 'facets'
2059
+ ],
1229
2060
  additionalProperties: false
1230
2061
  };
1231
2062
  export const UsageSchema = {
@@ -1238,90 +2069,40 @@ export const UsageSchema = {
1238
2069
  },
1239
2070
  cluster_id: {
1240
2071
  type: 'string',
1241
- format: 'uuid',
1242
2072
  description: 'Unique identifier of the kubernetes cluster. UUID v4 string in canonical form',
1243
2073
  example: '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
1244
2074
  },
1245
- cluster_tier: {
1246
- type: 'string',
1247
- description: 'Tier of the cluster.',
1248
- example: 'pro',
1249
- enum: ['']
1250
- },
1251
2075
  product: {
1252
2076
  type: 'string',
1253
2077
  description: 'The product the usage is associated with',
1254
- example: 'cfke_infra_compute',
1255
- enum: ['cfke_infra_compute', 'cfke_nodes', 'cfke_controlplane']
1256
- },
1257
- node_name: {
1258
- type: 'string',
1259
- description: 'Name of the Kubernetes node',
1260
- example: 'flexible-moth-956037384'
1261
- },
1262
- sku: {
1263
- type: 'string',
1264
- description: 'SKU of the Kubernetes node',
1265
- example: 'GCP-NORTHAMERICA-NORTHEAST1-A-G1-SMALL-SPOT'
2078
+ example: 'cfke_controlplane'
1266
2079
  },
1267
- cpu: {
1268
- anyOf: [
1269
- {
1270
- type: 'number',
1271
- format: 'float',
1272
- description: 'CPU core count of the node',
1273
- example: 4
1274
- },
1275
- {
1276
- type: 'string',
1277
- enum: ['']
1278
- }
1279
- ]
2080
+ value: {
2081
+ type: 'number',
2082
+ format: 'float',
2083
+ description: 'Consumption',
2084
+ example: 4
1280
2085
  },
1281
2086
  price: {
1282
- anyOf: [
1283
- {
1284
- type: 'number',
1285
- format: 'float',
1286
- description: 'Price',
1287
- example: 4
1288
- },
1289
- {
1290
- type: 'string',
1291
- enum: ['']
1292
- }
1293
- ]
1294
- },
1295
- value: {
1296
- anyOf: [
1297
- {
1298
- type: 'number',
1299
- format: 'float',
1300
- description: 'Value',
1301
- example: 4
1302
- },
1303
- {
1304
- type: 'string',
1305
- enum: ['']
1306
- }
1307
- ]
2087
+ type: 'number',
2088
+ format: 'float',
2089
+ description: 'Price per unit',
2090
+ example: 0.01
1308
2091
  },
1309
2092
  total: {
1310
- anyOf: [
1311
- {
1312
- type: 'number',
1313
- format: 'float',
1314
- description: 'Total',
1315
- example: 4
1316
- },
1317
- {
1318
- type: 'string',
1319
- enum: ['']
1320
- }
1321
- ]
2093
+ type: 'number',
2094
+ format: 'float',
2095
+ description: 'Total cost'
1322
2096
  }
1323
2097
  },
1324
- required: ['cluster_id', 'cluster_tier', 'product', 'node_name', 'sku', 'cpu', 'price', 'value', 'total'],
2098
+ required: [
2099
+ 'hour',
2100
+ 'cluster_id',
2101
+ 'product',
2102
+ 'value',
2103
+ 'price',
2104
+ 'total'
2105
+ ],
1325
2106
  additionalProperties: false
1326
2107
  };
1327
2108
  export const UserCreateInputSchema = {
@@ -1362,16 +2143,28 @@ export const UserCreateInputSchema = {
1362
2143
  type: 'string',
1363
2144
  description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
1364
2145
  example: 'active',
1365
- enum: ['active', 'inactive']
2146
+ enum: [
2147
+ 'active',
2148
+ 'inactive'
2149
+ ]
1366
2150
  },
1367
2151
  role: {
1368
2152
  type: 'string',
1369
- description: "User role. Can be 'Administrator', 'User'.",
2153
+ description: 'User role. Can be \'Administrator\', \'User\'.',
1370
2154
  example: 'User',
1371
- enum: ['Administrator', 'User']
2155
+ enum: [
2156
+ 'Administrator',
2157
+ 'User'
2158
+ ]
1372
2159
  }
1373
2160
  },
1374
- required: ['email', 'first_name', 'last_name', 'code', 'password'],
2161
+ required: [
2162
+ 'email',
2163
+ 'first_name',
2164
+ 'last_name',
2165
+ 'code',
2166
+ 'password'
2167
+ ],
1375
2168
  additionalProperties: false
1376
2169
  };
1377
2170
  export const UserSchema = {
@@ -1399,15 +2192,21 @@ export const UserSchema = {
1399
2192
  },
1400
2193
  role: {
1401
2194
  type: 'string',
1402
- description: "User role. Can be 'Administrator', 'User'.",
2195
+ description: 'User role. Can be \'Administrator\', \'User\'.',
1403
2196
  example: 'User',
1404
- enum: ['Administrator', 'User']
2197
+ enum: [
2198
+ 'Administrator',
2199
+ 'User'
2200
+ ]
1405
2201
  },
1406
2202
  status: {
1407
2203
  type: 'string',
1408
2204
  description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
1409
2205
  example: 'active',
1410
- enum: ['active', 'inactive']
2206
+ enum: [
2207
+ 'active',
2208
+ 'inactive'
2209
+ ]
1411
2210
  },
1412
2211
  id: {
1413
2212
  type: 'string',
@@ -1422,7 +2221,15 @@ export const UserSchema = {
1422
2221
  example: '2023-11-02T16:08:14.338Z'
1423
2222
  }
1424
2223
  },
1425
- required: ['email', 'first_name', 'last_name', 'role', 'status', 'id', 'date_created'],
2224
+ required: [
2225
+ 'email',
2226
+ 'first_name',
2227
+ 'last_name',
2228
+ 'role',
2229
+ 'status',
2230
+ 'id',
2231
+ 'date_created'
2232
+ ],
1426
2233
  additionalProperties: false
1427
2234
  };
1428
2235
  export const UserUpdateInputSchema = {
@@ -1450,15 +2257,21 @@ export const UserUpdateInputSchema = {
1450
2257
  },
1451
2258
  role: {
1452
2259
  type: 'string',
1453
- description: "User role. Can be 'Administrator', 'User'.",
2260
+ description: 'User role. Can be \'Administrator\', \'User\'.',
1454
2261
  example: 'User',
1455
- enum: ['Administrator', 'User']
2262
+ enum: [
2263
+ 'Administrator',
2264
+ 'User'
2265
+ ]
1456
2266
  },
1457
2267
  status: {
1458
2268
  type: 'string',
1459
2269
  description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
1460
2270
  example: 'active',
1461
- enum: ['active', 'inactive']
2271
+ enum: [
2272
+ 'active',
2273
+ 'inactive'
2274
+ ]
1462
2275
  }
1463
2276
  },
1464
2277
  additionalProperties: false