@cloudfleet/sdk 0.0.1-8e8e76c → 0.0.1-8ec217c

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 (68) 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/schemas.gen.d.ts +832 -504
  54. package/dist/schemas.gen.d.ts.map +1 -1
  55. package/dist/schemas.gen.js +1341 -588
  56. package/dist/schemas.gen.js.map +1 -1
  57. package/dist/sdk.gen.d.ts +190 -67
  58. package/dist/sdk.gen.d.ts.map +1 -1
  59. package/dist/sdk.gen.js +245 -158
  60. package/dist/sdk.gen.js.map +1 -1
  61. package/dist/services/kubernetes/api.d.ts +12 -12
  62. package/dist/types.gen.d.ts +819 -296
  63. package/dist/types.gen.d.ts.map +1 -1
  64. package/dist/zod.gen.d.ts +1871 -1954
  65. package/dist/zod.gen.d.ts.map +1 -1
  66. package/dist/zod.gen.js +865 -757
  67. package/dist/zod.gen.js.map +1 -1
  68. package/package.json +10 -7
@@ -58,18 +58,158 @@ 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
+ ]
70
207
  }
71
208
  },
72
- required: ['email', 'first_name', 'last_name'],
209
+ required: [
210
+ 'email',
211
+ 'individual_name'
212
+ ],
73
213
  additionalProperties: false
74
214
  };
75
215
  export const BillingCreditsSchema = {
@@ -80,10 +220,25 @@ export const BillingCreditsSchema = {
80
220
  description: 'Generated unique identifier of the promotional code.',
81
221
  example: '7kUZnH7nnKUFfvc4NK2KQF'
82
222
  },
83
- date_created: {
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: {
84
239
  type: 'string',
85
240
  format: 'date-time',
86
- description: 'Date of the credit application. ISO 8601 date string in the UTC timezone.',
241
+ description: 'Timestamp when the credit expires or becomes inactive. ISO 8601 date string in the UTC timezone.',
87
242
  example: '2023-12-20T13:53:32.000Z'
88
243
  },
89
244
  code: {
@@ -96,40 +251,185 @@ export const BillingCreditsSchema = {
96
251
  description: 'Description of the promotional code.',
97
252
  example: '10% off on all products'
98
253
  },
99
- products: {
100
- type: 'array',
101
- items: {
102
- type: 'string'
103
- },
104
- description: 'List of product SKUs that the promotional code can be used on.',
105
- example: ['SKU123', 'SKU456']
106
- },
107
- type: {
108
- type: 'string',
109
- description: 'Type of the promotional code.',
110
- example: 'credit',
111
- enum: ['credit', 'discount']
112
- },
113
- value: {
254
+ value_total: {
114
255
  type: 'number',
115
256
  format: 'float',
116
- description: 'Value of the promotional code.',
257
+ description: 'Total value of the promotional code.',
117
258
  example: 10
118
259
  },
119
- billing_period: {
120
- type: 'string',
121
- format: 'date-time',
122
- description: 'Date of the billing cycle. An ISO 8601 date string in the UTC timezone.',
123
- example: '2023-12-20T13:53:32.000Z'
124
- },
125
260
  value_remaining: {
126
261
  type: 'number',
127
262
  format: 'float',
128
- description: 'Value of the promotional code.',
129
- example: 10
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
130
399
  }
131
400
  },
132
- required: ['date_created', 'code', 'type', 'value', 'billing_period'],
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'
427
+ }
428
+ },
429
+ required: [
430
+ 'values',
431
+ 'version_channel'
432
+ ],
133
433
  additionalProperties: false
134
434
  };
135
435
  export const ClusterCreateInputSchema = {
@@ -143,28 +443,45 @@ export const ClusterCreateInputSchema = {
143
443
  description: 'Name of the cluster.',
144
444
  example: 'production-cluster'
145
445
  },
146
- region: {
147
- type: 'string',
148
- description: 'Cloudfleet control plane region. One of "staging", "northamerica-central-1". This field can not be updated after creation.',
149
- default: 'staging',
150
- example: 'northamerica-central-1',
151
- enum: ['staging', 'northamerica-central-1']
152
- },
153
446
  tier: {
154
447
  type: 'string',
155
448
  description: 'Tier of the cluster.',
156
449
  example: 'pro',
157
- 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
+ ]
158
466
  },
159
467
  version_channel: {
160
468
  type: 'string',
161
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-]+)*))?$',
162
470
  description: 'Version of the kubernetes cluster.',
163
471
  default: '1.x.x-cfke.x',
164
- 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
+ ]
165
479
  }
166
480
  },
167
- required: ['name', 'tier'],
481
+ required: [
482
+ 'name',
483
+ 'tier'
484
+ ],
168
485
  additionalProperties: false
169
486
  };
170
487
  export const ClusterJoinInformationSchema = {
@@ -173,8 +490,7 @@ export const ClusterJoinInformationSchema = {
173
490
  certificate_authority: {
174
491
  type: 'string',
175
492
  description: 'Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.',
176
- example: `-----BEGIN CERTIFICATE-----
177
- MIIC0DCCAbigAwIBAgI...`
493
+ example: '-----BEGIN CERTIFICATE-----\nMIIC0DCCAbigAwIBAgI...'
178
494
  },
179
495
  endpoint: {
180
496
  type: 'string',
@@ -182,6 +498,11 @@ MIIC0DCCAbigAwIBAgI...`
182
498
  description: 'Internal URL of the Kubernetes cluster control plane. This is the endpoint that kubelet uses to connect to the cluster.',
183
499
  example: 'https://10.31.64.7:6443'
184
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
+ },
185
506
  auth_key: {
186
507
  type: 'string',
187
508
  description: 'Authentication key for the cluster.',
@@ -198,7 +519,7 @@ MIIC0DCCAbigAwIBAgI...`
198
519
  kubernetes: {
199
520
  type: 'string',
200
521
  description: 'Kubernetes version of the cluster.',
201
- example: '1.29.3'
522
+ example: '1.33.7'
202
523
  },
203
524
  tailscale: {
204
525
  type: 'string',
@@ -209,9 +530,19 @@ MIIC0DCCAbigAwIBAgI...`
209
530
  type: 'string',
210
531
  description: 'Containerd version of the cluster.',
211
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'
212
538
  }
213
539
  },
214
- required: ['kubernetes', 'tailscale', 'containerd'],
540
+ required: [
541
+ 'kubernetes',
542
+ 'tailscale',
543
+ 'containerd',
544
+ 'nvidia_driver'
545
+ ],
215
546
  additionalProperties: false,
216
547
  description: 'Versions of the different components of the cluster.'
217
548
  },
@@ -234,12 +565,24 @@ MIIC0DCCAbigAwIBAgI...`
234
565
  example: '//iam.googleapis.com/projects/89014267864/locations/global/workloadIdentityPools/cfke/providers/oidc'
235
566
  }
236
567
  },
237
- 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
+ ],
238
573
  additionalProperties: false,
239
- 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.'
240
575
  }
241
576
  },
242
- 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
+ ],
243
586
  additionalProperties: false
244
587
  };
245
588
  export const ClusterSchema = {
@@ -253,25 +596,26 @@ export const ClusterSchema = {
253
596
  description: 'Name of the cluster.',
254
597
  example: 'production-cluster'
255
598
  },
256
- region: {
257
- type: 'string',
258
- description: 'Cloudfleet control plane region. One of "staging", "northamerica-central-1". This field can not be updated after creation.',
259
- default: 'staging',
260
- example: 'northamerica-central-1',
261
- enum: ['staging', 'northamerica-central-1']
262
- },
263
599
  tier: {
264
600
  type: 'string',
265
601
  description: 'Tier of the cluster.',
266
602
  example: 'pro',
267
- enum: ['basic', 'pro']
603
+ enum: [
604
+ 'basic',
605
+ 'pro'
606
+ ]
268
607
  },
269
- version_channel: {
608
+ region: {
270
609
  type: 'string',
271
- 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-]+)*))?$',
272
- description: 'Version of the kubernetes cluster.',
273
- default: '1.x.x-cfke.x',
274
- 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
+ ]
275
619
  },
276
620
  id: {
277
621
  type: 'string',
@@ -283,7 +627,15 @@ export const ClusterSchema = {
283
627
  type: 'string',
284
628
  description: 'Status of the cluster. When creating a new cluster, set to `active`. When deleting a clusters, set to `deleted`.',
285
629
  example: 'active',
286
- enum: ['active', 'deleted', 'creating', 'deployed', 'failed', 'updating']
630
+ enum: [
631
+ 'active',
632
+ 'disabled',
633
+ 'deleted',
634
+ 'creating',
635
+ 'deployed',
636
+ 'failed',
637
+ 'updating'
638
+ ]
287
639
  },
288
640
  endpoint: {
289
641
  anyOf: [
@@ -295,20 +647,21 @@ export const ClusterSchema = {
295
647
  },
296
648
  {
297
649
  type: 'string',
298
- enum: ['']
650
+ enum: [
651
+ ''
652
+ ]
299
653
  }
300
654
  ]
301
655
  },
302
656
  certificate_ca: {
303
657
  type: 'string',
304
658
  description: 'Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.',
305
- example: `-----BEGIN CERTIFICATE-----
306
- MIIC0DCCAbigAwIBAgI...`
659
+ example: '-----BEGIN CERTIFICATE-----\nMIIC0DCCAbigAwIBAgI...'
307
660
  },
308
661
  version_current: {
309
662
  type: 'string',
310
663
  description: 'Current version of the cluster.',
311
- example: '1.29.3-cfke.52'
664
+ example: '1.33.7-cfke.264'
312
665
  },
313
666
  created_at: {
314
667
  type: 'string',
@@ -324,9 +677,20 @@ MIIC0DCCAbigAwIBAgI...`
324
677
  type: 'boolean',
325
678
  description: 'Indicates if the cluster is ready to be used.',
326
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'
327
686
  }
328
687
  },
329
- required: ['name', 'tier', 'id', 'status'],
688
+ required: [
689
+ 'name',
690
+ 'tier',
691
+ 'id',
692
+ 'status'
693
+ ],
330
694
  additionalProperties: false
331
695
  };
332
696
  export const ClusterUpdateInputSchema = {
@@ -340,13 +704,25 @@ export const ClusterUpdateInputSchema = {
340
704
  description: 'Name of the cluster.',
341
705
  example: 'production-cluster'
342
706
  },
707
+ tier: {
708
+ type: 'string',
709
+ description: 'Tier of the cluster.',
710
+ example: 'pro',
711
+ enum: [
712
+ 'basic',
713
+ 'pro'
714
+ ]
715
+ },
343
716
  version_channel: {
344
717
  type: 'string',
345
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-]+)*))?$',
346
719
  description: 'Version of the kubernetes cluster.',
347
- example: '1.29.x-cfke.x'
720
+ example: '1.x.x-cfke.x'
348
721
  }
349
722
  },
723
+ required: [
724
+ 'tier'
725
+ ],
350
726
  additionalProperties: false
351
727
  };
352
728
  export const FleetCreateInputSchema = {
@@ -362,7 +738,9 @@ export const FleetCreateInputSchema = {
362
738
  description: 'CPU limit in cores.'
363
739
  }
364
740
  },
365
- required: ['cpu'],
741
+ required: [
742
+ 'cpu'
743
+ ],
366
744
  additionalProperties: false,
367
745
  description: 'Limits define a set of bounds for provisioning capacity.'
368
746
  },
@@ -378,38 +756,27 @@ export const FleetCreateInputSchema = {
378
756
  description: 'Project GCP Project id to deploy instances into'
379
757
  }
380
758
  },
381
- required: ['project'],
759
+ required: [
760
+ 'project'
761
+ ],
382
762
  additionalProperties: false
383
763
  },
384
764
  hetzner: {
385
- oneOf: [
386
- {
387
- type: 'object',
388
- properties: {
389
- enabled: {
390
- type: 'boolean',
391
- default: true
392
- },
393
- apiKey: {
394
- type: 'string'
395
- }
396
- },
397
- additionalProperties: false
765
+ type: 'object',
766
+ properties: {
767
+ enabled: {
768
+ type: 'boolean',
769
+ default: true
398
770
  },
399
- {
400
- type: 'object',
401
- properties: {
402
- apiKey: {
403
- type: 'string'
404
- },
405
- enabled: {
406
- type: 'boolean',
407
- default: true
408
- }
409
- },
410
- additionalProperties: false
771
+ apiKey: {
772
+ type: 'string',
773
+ description: 'Hetzner Cloud API key with read / write access'
411
774
  }
412
- ]
775
+ },
776
+ required: [
777
+ 'apiKey'
778
+ ],
779
+ additionalProperties: false
413
780
  },
414
781
  aws: {
415
782
  type: 'object',
@@ -423,7 +790,9 @@ export const FleetCreateInputSchema = {
423
790
  description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
424
791
  }
425
792
  },
426
- required: ['controllerRoleArn'],
793
+ required: [
794
+ 'controllerRoleArn'
795
+ ],
427
796
  additionalProperties: false
428
797
  },
429
798
  id: {
@@ -433,14 +802,11 @@ export const FleetCreateInputSchema = {
433
802
  pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
434
803
  description: 'Unique identifier of the kubernetes fleet.',
435
804
  example: 'new-clouds-fleet'
436
- },
437
- type: {
438
- type: 'string',
439
- description: 'Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.',
440
- enum: ['managed', 'connected']
441
805
  }
442
806
  },
443
- required: ['id', 'type'],
807
+ required: [
808
+ 'id'
809
+ ],
444
810
  additionalProperties: false
445
811
  };
446
812
  export const FleetSchema = {
@@ -456,7 +822,9 @@ export const FleetSchema = {
456
822
  description: 'CPU limit in cores.'
457
823
  }
458
824
  },
459
- required: ['cpu'],
825
+ required: [
826
+ 'cpu'
827
+ ],
460
828
  additionalProperties: false,
461
829
  description: 'Limits define a set of bounds for provisioning capacity.'
462
830
  },
@@ -472,38 +840,27 @@ export const FleetSchema = {
472
840
  description: 'Project GCP Project id to deploy instances into'
473
841
  }
474
842
  },
475
- required: ['project'],
843
+ required: [
844
+ 'project'
845
+ ],
476
846
  additionalProperties: false
477
847
  },
478
848
  hetzner: {
479
- oneOf: [
480
- {
481
- type: 'object',
482
- properties: {
483
- enabled: {
484
- type: 'boolean',
485
- default: true
486
- },
487
- apiKey: {
488
- type: 'string'
489
- }
490
- },
491
- additionalProperties: false
849
+ type: 'object',
850
+ properties: {
851
+ enabled: {
852
+ type: 'boolean',
853
+ default: true
492
854
  },
493
- {
494
- type: 'object',
495
- properties: {
496
- apiKey: {
497
- type: 'string'
498
- },
499
- enabled: {
500
- type: 'boolean',
501
- default: true
502
- }
503
- },
504
- additionalProperties: false
855
+ apiKey: {
856
+ type: 'string',
857
+ description: 'Hetzner Cloud API key with read / write access'
505
858
  }
506
- ]
859
+ },
860
+ required: [
861
+ 'apiKey'
862
+ ],
863
+ additionalProperties: false
507
864
  },
508
865
  aws: {
509
866
  type: 'object',
@@ -517,7 +874,9 @@ export const FleetSchema = {
517
874
  description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
518
875
  }
519
876
  },
520
- required: ['controllerRoleArn'],
877
+ required: [
878
+ 'controllerRoleArn'
879
+ ],
521
880
  additionalProperties: false
522
881
  },
523
882
  id: {
@@ -527,14 +886,11 @@ export const FleetSchema = {
527
886
  pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
528
887
  description: 'Unique identifier of the kubernetes fleet.',
529
888
  example: 'new-clouds-fleet'
530
- },
531
- type: {
532
- type: 'string',
533
- description: 'Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.',
534
- enum: ['managed', 'connected']
535
889
  }
536
890
  },
537
- required: ['id', 'type'],
891
+ required: [
892
+ 'id'
893
+ ],
538
894
  additionalProperties: false
539
895
  };
540
896
  export const FleetUpdateInputSchema = {
@@ -550,7 +906,9 @@ export const FleetUpdateInputSchema = {
550
906
  description: 'CPU limit in cores.'
551
907
  }
552
908
  },
553
- required: ['cpu'],
909
+ required: [
910
+ 'cpu'
911
+ ],
554
912
  additionalProperties: false,
555
913
  description: 'Limits define a set of bounds for provisioning capacity.'
556
914
  },
@@ -566,38 +924,27 @@ export const FleetUpdateInputSchema = {
566
924
  description: 'Project GCP Project id to deploy instances into'
567
925
  }
568
926
  },
569
- required: ['project'],
927
+ required: [
928
+ 'project'
929
+ ],
570
930
  additionalProperties: false
571
931
  },
572
932
  hetzner: {
573
- oneOf: [
574
- {
575
- type: 'object',
576
- properties: {
577
- enabled: {
578
- type: 'boolean',
579
- default: true
580
- },
581
- apiKey: {
582
- type: 'string'
583
- }
584
- },
585
- additionalProperties: false
933
+ type: 'object',
934
+ properties: {
935
+ enabled: {
936
+ type: 'boolean',
937
+ default: true
586
938
  },
587
- {
588
- type: 'object',
589
- properties: {
590
- apiKey: {
591
- type: 'string'
592
- },
593
- enabled: {
594
- type: 'boolean',
595
- default: true
596
- }
597
- },
598
- additionalProperties: false
939
+ apiKey: {
940
+ type: 'string',
941
+ description: 'Hetzner Cloud API key with read / write access'
599
942
  }
600
- ]
943
+ },
944
+ required: [
945
+ 'apiKey'
946
+ ],
947
+ additionalProperties: false
601
948
  },
602
949
  aws: {
603
950
  type: 'object',
@@ -611,7 +958,9 @@ export const FleetUpdateInputSchema = {
611
958
  description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
612
959
  }
613
960
  },
614
- required: ['controllerRoleArn'],
961
+ required: [
962
+ 'controllerRoleArn'
963
+ ],
615
964
  additionalProperties: false
616
965
  }
617
966
  },
@@ -649,7 +998,9 @@ export const InviteSchema = {
649
998
  example: '7kUZnH7nnKUFfvc4NK2KQF'
650
999
  }
651
1000
  },
652
- required: ['date_created'],
1001
+ required: [
1002
+ 'date_created'
1003
+ ],
653
1004
  additionalProperties: false
654
1005
  };
655
1006
  export const InvoiceSchema = {
@@ -657,23 +1008,18 @@ export const InvoiceSchema = {
657
1008
  properties: {
658
1009
  id: {
659
1010
  type: 'string',
660
- format: 'uuid',
661
- description: 'Unique identifier of the invoice. UUID v4 string in canonical form',
662
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
1011
+ description: 'Unique identifier of the invoice.',
1012
+ example: 'in_1234567890xCrwxghOTj1234'
663
1013
  },
664
- organizationId: {
665
- type: 'string',
666
- format: 'uuid',
667
- description: 'Unique identifier of the organization. UUID v4 string in canonical form',
668
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
1014
+ number: {
1015
+ type: 'string'
669
1016
  },
670
1017
  status: {
671
1018
  type: 'string',
672
1019
  description: 'Status of the invoice',
673
- example: 'DRAFT',
674
- enum: ['DRAFT', 'COMMITTED', 'VOID']
1020
+ example: 'paid'
675
1021
  },
676
- amount: {
1022
+ total: {
677
1023
  type: 'number',
678
1024
  format: 'float',
679
1025
  description: 'Total amount of the invoice',
@@ -682,330 +1028,189 @@ export const InvoiceSchema = {
682
1028
  currency: {
683
1029
  type: 'string',
684
1030
  description: 'Currency of the invoice',
685
- example: 'USD',
686
- 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
+ example: 'usd'
687
1032
  },
688
- creditAdj: {
689
- type: 'number',
690
- format: 'float',
691
- description: 'Total amount of credit adjustments',
692
- example: 0
693
- },
694
- refundAdj: {
695
- type: 'number',
696
- format: 'float',
697
- description: 'Total amount of refund adjustments',
698
- example: 0
1033
+ created: {
1034
+ type: 'string',
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'
699
1038
  },
700
- invoiceDate: {
1039
+ period_start: {
701
1040
  type: 'string',
702
- description: 'Date of the invoice',
703
- 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'
704
1044
  },
705
- targetDate: {
1045
+ period_end: {
706
1046
  type: 'string',
707
- description: 'Target date of the invoice',
708
- example: '2019-01-01T00:00:00.000Z'
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'
709
1050
  },
710
- invoiceNumber: {
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: {
711
1066
  type: 'string',
712
- description: 'Number of the invoice',
713
- example: 'INV-0001'
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'
714
1069
  },
715
- balance: {
716
- type: 'number',
717
- format: 'float',
718
- description: 'Balance of the invoice',
719
- example: 100
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'
720
1074
  },
721
- bundleKeys: {
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: {
722
1087
  type: 'string',
723
- description: 'Bundle keys of the invoice',
724
- example: 'bundleKey1,bundleKey2'
1088
+ description: 'Name of the chart',
1089
+ example: 'nginx-ingress'
725
1090
  },
726
- credits: {
1091
+ versions: {
727
1092
  type: 'array',
728
1093
  items: {
729
- type: 'object',
730
- properties: {
731
- id: {
732
- type: 'string',
733
- format: 'uuid',
734
- description: 'Unique identifier of the invoice item. UUID v4 string in canonical form',
735
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
736
- },
737
- linkedInvoiceItemId: {
738
- type: 'string',
739
- format: 'uuid',
740
- description: 'Unique identifier of the linked invoice item. UUID v4 string in canonical form',
741
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
742
- },
743
- productName: {
744
- type: 'string',
745
- description: 'Name of the product',
746
- example: 'Research team'
747
- },
748
- planName: {
749
- type: 'string',
750
- description: 'Name of the plan',
751
- example: 'Plan A'
752
- },
753
- phaseName: {
754
- type: 'string',
755
- description: 'Name of the phase',
756
- example: 'Phase A'
757
- },
758
- usageName: {
759
- type: 'string',
760
- description: 'Name of the usage',
761
- example: 'Usage A'
762
- },
763
- prettyProductName: {
764
- type: 'string',
765
- description: 'Pretty name of the product',
766
- example: 'Research team'
767
- },
768
- prettyPlanName: {
769
- type: 'string',
770
- description: 'Pretty name of the plan',
771
- example: 'Plan A'
772
- },
773
- prettyPhaseName: {
774
- type: 'string',
775
- description: 'Pretty name of the phase',
776
- example: 'Phase A'
777
- },
778
- prettyUsageName: {
779
- type: 'string',
780
- description: 'Pretty name of the usage',
781
- example: 'Usage A'
782
- },
783
- itemType: {
784
- type: 'string',
785
- description: 'Type of the invoice item',
786
- example: 'EXTERNAL_CHARGE',
787
- enum: ['EXTERNAL_CHARGE', 'FIXED', 'RECURRING', 'REPAIR_ADJ', 'CBA_ADJ', 'CREDIT_ADJ', 'ITEM_ADJ', 'USAGE', 'TAX', 'PARENT_SUMMARY']
788
- },
789
- description: {
790
- type: 'string',
791
- description: 'Description of the invoice item',
792
- example: 'Description of the invoice item'
793
- },
794
- startDate: {
795
- type: 'string',
796
- description: 'Start date of the invoice item',
797
- example: '2019-01-01T00:00:00.000Z'
798
- },
799
- endDate: {
800
- type: 'string',
801
- description: 'End date of the invoice item',
802
- example: '2019-01-01T00:00:00.000Z'
803
- },
804
- amount: {
805
- type: 'number',
806
- format: 'float',
807
- description: 'Amount of the invoice item',
808
- example: 100
809
- },
810
- rate: {
811
- type: 'number',
812
- format: 'float',
813
- description: 'Rate of the invoice item',
814
- example: 100
815
- },
816
- currency: {
817
- type: 'string',
818
- description: 'Currency of the invoice item',
819
- example: 'USD',
820
- 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']
821
- },
822
- quantity: {
823
- type: 'number',
824
- format: 'float',
825
- description: 'Quantity of the invoice item',
826
- example: 1
827
- },
828
- itemDetails: {
829
- type: 'string',
830
- description: 'Details of the invoice item',
831
- example: 'Details of the invoice item'
832
- },
833
- catalogEffectiveDate: {
834
- type: 'string',
835
- description: 'Effective date of the catalog',
836
- example: '2019-01-01T00:00:00.000Z'
837
- },
838
- childItems: {
839
- type: 'array',
840
- items: {
841
- oneOf: [
842
- {
843
- type: 'array'
844
- },
845
- {
846
- type: 'boolean'
847
- },
848
- {
849
- type: 'number'
850
- },
851
- {
852
- type: 'object',
853
- additionalProperties: true
854
- },
855
- {
856
- type: 'string'
857
- }
858
- ]
859
- },
860
- description: 'Child items of the invoice item'
861
- }
862
- },
863
- additionalProperties: false
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'
864
1098
  },
865
- description: 'Credits of the invoice'
1099
+ description: 'Available versions of the chart'
866
1100
  },
867
- items: {
1101
+ version_channels: {
868
1102
  type: 'array',
869
1103
  items: {
870
- type: 'object',
871
- properties: {
872
- id: {
873
- type: 'string',
874
- format: 'uuid',
875
- description: 'Unique identifier of the invoice item. UUID v4 string in canonical form',
876
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
877
- },
878
- linkedInvoiceItemId: {
879
- type: 'string',
880
- format: 'uuid',
881
- description: 'Unique identifier of the linked invoice item. UUID v4 string in canonical form',
882
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
883
- },
884
- productName: {
885
- type: 'string',
886
- description: 'Name of the product',
887
- example: 'Research team'
888
- },
889
- planName: {
890
- type: 'string',
891
- description: 'Name of the plan',
892
- example: 'Plan A'
893
- },
894
- phaseName: {
895
- type: 'string',
896
- description: 'Name of the phase',
897
- example: 'Phase A'
898
- },
899
- usageName: {
900
- type: 'string',
901
- description: 'Name of the usage',
902
- example: 'Usage A'
903
- },
904
- prettyProductName: {
905
- type: 'string',
906
- description: 'Pretty name of the product',
907
- example: 'Research team'
908
- },
909
- prettyPlanName: {
910
- type: 'string',
911
- description: 'Pretty name of the plan',
912
- example: 'Plan A'
913
- },
914
- prettyPhaseName: {
915
- type: 'string',
916
- description: 'Pretty name of the phase',
917
- example: 'Phase A'
918
- },
919
- prettyUsageName: {
920
- type: 'string',
921
- description: 'Pretty name of the usage',
922
- example: 'Usage A'
923
- },
924
- itemType: {
925
- type: 'string',
926
- description: 'Type of the invoice item',
927
- example: 'EXTERNAL_CHARGE',
928
- enum: ['EXTERNAL_CHARGE', 'FIXED', 'RECURRING', 'REPAIR_ADJ', 'CBA_ADJ', 'CREDIT_ADJ', 'ITEM_ADJ', 'USAGE', 'TAX', 'PARENT_SUMMARY']
929
- },
930
- description: {
931
- type: 'string',
932
- description: 'Description of the invoice item',
933
- example: 'Description of the invoice item'
934
- },
935
- startDate: {
936
- type: 'string',
937
- description: 'Start date of the invoice item',
938
- example: '2019-01-01T00:00:00.000Z'
939
- },
940
- endDate: {
941
- type: 'string',
942
- description: 'End date of the invoice item',
943
- example: '2019-01-01T00:00:00.000Z'
944
- },
945
- amount: {
946
- type: 'number',
947
- format: 'float',
948
- description: 'Amount of the invoice item',
949
- example: 100
950
- },
951
- rate: {
952
- type: 'number',
953
- format: 'float',
954
- description: 'Rate of the invoice item',
955
- example: 100
956
- },
957
- currency: {
958
- type: 'string',
959
- description: 'Currency of the invoice item',
960
- example: 'USD',
961
- 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']
962
- },
963
- quantity: {
964
- type: 'number',
965
- format: 'float',
966
- description: 'Quantity of the invoice item',
967
- example: 1
968
- },
969
- itemDetails: {
970
- type: 'string',
971
- description: 'Details of the invoice item',
972
- 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'
973
1148
  },
974
- catalogEffectiveDate: {
975
- type: 'string',
976
- description: 'Effective date of the catalog',
977
- 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'
978
1170
  },
979
- childItems: {
980
- type: 'array',
981
- items: {
982
- oneOf: [
983
- {
984
- type: 'array'
985
- },
986
- {
987
- type: 'boolean'
988
- },
989
- {
990
- type: 'number'
991
- },
992
- {
993
- type: 'object',
994
- additionalProperties: true
995
- },
996
- {
997
- type: 'string'
998
- }
999
- ]
1000
- },
1001
- description: 'Child items of the invoice item'
1002
- }
1171
+ description: 'Chart source URLs',
1172
+ example: [
1173
+ 'https://github.com/kubernetes/ingress-nginx'
1174
+ ]
1003
1175
  },
1004
- 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
+ }
1005
1199
  },
1006
- description: 'Items of the invoice'
1200
+ required: [
1201
+ 'name',
1202
+ 'version'
1203
+ ],
1204
+ additionalProperties: false,
1205
+ description: 'Chart metadata'
1007
1206
  }
1008
1207
  },
1208
+ required: [
1209
+ 'name',
1210
+ 'versions',
1211
+ 'version_channels',
1212
+ 'latestVersion'
1213
+ ],
1009
1214
  additionalProperties: false
1010
1215
  };
1011
1216
  export const OrganizationCreateInputSchema = {
@@ -1041,7 +1246,13 @@ export const OrganizationCreateInputSchema = {
1041
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.'
1042
1247
  }
1043
1248
  },
1044
- 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
+ ],
1045
1256
  additionalProperties: false
1046
1257
  };
1047
1258
  export const OrganizationSchema = {
@@ -1097,12 +1308,6 @@ export const OrganizationSchema = {
1097
1308
  description: 'Maximum number of fleets that can be created per cluster.',
1098
1309
  example: 999
1099
1310
  },
1100
- managed_fleets_cpu_max: {
1101
- type: 'integer',
1102
- minimum: 0,
1103
- description: 'Maximum number of CPU cores per managed fleet.',
1104
- example: 999
1105
- },
1106
1311
  cluster_tiers: {
1107
1312
  type: 'array',
1108
1313
  items: {
@@ -1129,32 +1334,74 @@ export const OrganizationSchema = {
1129
1334
  id: {
1130
1335
  type: 'string',
1131
1336
  description: 'Id of the control plane version. Used in API calls.',
1132
- example: '1.29.x-cfke.x'
1337
+ example: '1.33.x-cfke.x'
1133
1338
  },
1134
1339
  label: {
1135
1340
  type: 'string',
1136
1341
  description: 'Label of the control plane version. Used in frontent UI.',
1137
- example: '1.29.x (Always latest 1.29 patch version)'
1342
+ example: '1.33.x (Always latest 1.33 patch version)'
1138
1343
  }
1139
1344
  },
1140
- required: ['id', 'label'],
1345
+ required: [
1346
+ 'id',
1347
+ 'label'
1348
+ ],
1141
1349
  additionalProperties: false
1142
1350
  },
1143
1351
  minItems: 1,
1144
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
1145
1371
  }
1146
1372
  },
1147
- 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
+ ],
1148
1386
  additionalProperties: false,
1149
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.'
1150
1388
  },
1151
1389
  status: {
1152
1390
  type: 'string',
1153
1391
  description: 'Status of the organization. Can be `active` or `closed`, or `suspended`.',
1154
- enum: ['active', 'closed', 'suspended']
1392
+ enum: [
1393
+ 'active',
1394
+ 'closed',
1395
+ 'suspended'
1396
+ ]
1155
1397
  }
1156
1398
  },
1157
- required: ['id', 'date_created', 'quota', 'status'],
1399
+ required: [
1400
+ 'id',
1401
+ 'date_created',
1402
+ 'quota',
1403
+ 'status'
1404
+ ],
1158
1405
  additionalProperties: false
1159
1406
  };
1160
1407
  export const PaymentMethodSchema = {
@@ -1176,7 +1423,9 @@ export const PaymentMethodSchema = {
1176
1423
  nullable: true,
1177
1424
  description: 'Payment method type type. Only `card` payments supported at the moment.',
1178
1425
  example: 'card',
1179
- enum: ['card']
1426
+ enum: [
1427
+ 'card'
1428
+ ]
1180
1429
  },
1181
1430
  last4: {
1182
1431
  type: 'string',
@@ -1189,14 +1438,14 @@ export const PaymentMethodSchema = {
1189
1438
  minimum: 1,
1190
1439
  maximum: 12,
1191
1440
  nullable: true,
1192
- description: "Two-digit number representing the card's expiration month.",
1441
+ description: 'Two-digit number representing the card\'s expiration month.',
1193
1442
  example: '12'
1194
1443
  },
1195
1444
  exp_year: {
1196
1445
  type: 'integer',
1197
1446
  minimum: 2024,
1198
1447
  nullable: true,
1199
- description: "Four-digit number representing the card's expiration year.",
1448
+ description: 'Four-digit number representing the card\'s expiration year.',
1200
1449
  example: '2028'
1201
1450
  },
1202
1451
  brand: {
@@ -1204,10 +1453,401 @@ export const PaymentMethodSchema = {
1204
1453
  nullable: true,
1205
1454
  description: 'Payment card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.',
1206
1455
  example: 'visa',
1207
- 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
1571
+ }
1572
+ },
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'
1208
1841
  }
1209
1842
  },
1210
- required: ['id', 'setup', 'type', 'last4', 'exp_month', 'exp_year', 'brand'],
1843
+ required: [
1844
+ 'name',
1845
+ 'digest',
1846
+ 'size',
1847
+ 'region',
1848
+ 'repository',
1849
+ 'uri'
1850
+ ],
1211
1851
  additionalProperties: false
1212
1852
  };
1213
1853
  export const TokenCreateInputSchema = {
@@ -1225,10 +1865,16 @@ export const TokenCreateInputSchema = {
1225
1865
  type: 'string',
1226
1866
  description: 'Role assumed by the token.',
1227
1867
  example: 'User',
1228
- enum: ['Administrator', 'User']
1868
+ enum: [
1869
+ 'Administrator',
1870
+ 'User'
1871
+ ]
1229
1872
  }
1230
1873
  },
1231
- required: ['name', 'role'],
1874
+ required: [
1875
+ 'name',
1876
+ 'role'
1877
+ ],
1232
1878
  additionalProperties: false
1233
1879
  };
1234
1880
  export const TokenSchema = {
@@ -1246,7 +1892,10 @@ export const TokenSchema = {
1246
1892
  type: 'string',
1247
1893
  description: 'Role assumed by the token.',
1248
1894
  example: 'User',
1249
- enum: ['Administrator', 'User']
1895
+ enum: [
1896
+ 'Administrator',
1897
+ 'User'
1898
+ ]
1250
1899
  },
1251
1900
  id: {
1252
1901
  type: 'string',
@@ -1265,7 +1914,11 @@ export const TokenSchema = {
1265
1914
  example: '2023-12-20T13:53:32.000Z'
1266
1915
  }
1267
1916
  },
1268
- required: ['name', 'role', 'date_created'],
1917
+ required: [
1918
+ 'name',
1919
+ 'role',
1920
+ 'date_created'
1921
+ ],
1269
1922
  additionalProperties: false
1270
1923
  };
1271
1924
  export const TokenUpdateInputSchema = {
@@ -1283,11 +1936,129 @@ export const TokenUpdateInputSchema = {
1283
1936
  type: 'string',
1284
1937
  description: 'Role assumed by the token.',
1285
1938
  example: 'User',
1286
- 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
+ ]
1287
1970
  }
1288
1971
  },
1289
1972
  additionalProperties: false
1290
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'
2054
+ }
2055
+ },
2056
+ required: [
2057
+ 'data',
2058
+ 'facets'
2059
+ ],
2060
+ additionalProperties: false
2061
+ };
1291
2062
  export const UsageSchema = {
1292
2063
  type: 'object',
1293
2064
  properties: {
@@ -1298,90 +2069,40 @@ export const UsageSchema = {
1298
2069
  },
1299
2070
  cluster_id: {
1300
2071
  type: 'string',
1301
- format: 'uuid',
1302
2072
  description: 'Unique identifier of the kubernetes cluster. UUID v4 string in canonical form',
1303
2073
  example: '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
1304
2074
  },
1305
- cluster_tier: {
1306
- type: 'string',
1307
- description: 'Tier of the cluster.',
1308
- example: 'pro',
1309
- enum: ['']
1310
- },
1311
2075
  product: {
1312
2076
  type: 'string',
1313
2077
  description: 'The product the usage is associated with',
1314
- example: 'cfke_infra_compute',
1315
- enum: ['cfke_infra_compute', 'cfke_nodes', 'cfke_controlplane']
1316
- },
1317
- node_name: {
1318
- type: 'string',
1319
- description: 'Name of the Kubernetes node',
1320
- example: 'flexible-moth-956037384'
2078
+ example: 'cfke_controlplane'
1321
2079
  },
1322
- sku: {
1323
- type: 'string',
1324
- description: 'SKU of the Kubernetes node',
1325
- example: 'GCP-NORTHAMERICA-NORTHEAST1-A-G1-SMALL-SPOT'
1326
- },
1327
- cpu: {
1328
- anyOf: [
1329
- {
1330
- type: 'number',
1331
- format: 'float',
1332
- description: 'CPU core count of the node',
1333
- example: 4
1334
- },
1335
- {
1336
- type: 'string',
1337
- enum: ['']
1338
- }
1339
- ]
2080
+ value: {
2081
+ type: 'number',
2082
+ format: 'float',
2083
+ description: 'Consumption',
2084
+ example: 4
1340
2085
  },
1341
2086
  price: {
1342
- anyOf: [
1343
- {
1344
- type: 'number',
1345
- format: 'float',
1346
- description: 'Price',
1347
- example: 4
1348
- },
1349
- {
1350
- type: 'string',
1351
- enum: ['']
1352
- }
1353
- ]
1354
- },
1355
- value: {
1356
- anyOf: [
1357
- {
1358
- type: 'number',
1359
- format: 'float',
1360
- description: 'Value',
1361
- example: 4
1362
- },
1363
- {
1364
- type: 'string',
1365
- enum: ['']
1366
- }
1367
- ]
2087
+ type: 'number',
2088
+ format: 'float',
2089
+ description: 'Price per unit',
2090
+ example: 0.01
1368
2091
  },
1369
2092
  total: {
1370
- anyOf: [
1371
- {
1372
- type: 'number',
1373
- format: 'float',
1374
- description: 'Total',
1375
- example: 4
1376
- },
1377
- {
1378
- type: 'string',
1379
- enum: ['']
1380
- }
1381
- ]
2093
+ type: 'number',
2094
+ format: 'float',
2095
+ description: 'Total cost'
1382
2096
  }
1383
2097
  },
1384
- 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
+ ],
1385
2106
  additionalProperties: false
1386
2107
  };
1387
2108
  export const UserCreateInputSchema = {
@@ -1422,16 +2143,28 @@ export const UserCreateInputSchema = {
1422
2143
  type: 'string',
1423
2144
  description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
1424
2145
  example: 'active',
1425
- enum: ['active', 'inactive']
2146
+ enum: [
2147
+ 'active',
2148
+ 'inactive'
2149
+ ]
1426
2150
  },
1427
2151
  role: {
1428
2152
  type: 'string',
1429
- description: "User role. Can be 'Administrator', 'User'.",
2153
+ description: 'User role. Can be \'Administrator\', \'User\'.',
1430
2154
  example: 'User',
1431
- enum: ['Administrator', 'User']
2155
+ enum: [
2156
+ 'Administrator',
2157
+ 'User'
2158
+ ]
1432
2159
  }
1433
2160
  },
1434
- required: ['email', 'first_name', 'last_name', 'code', 'password'],
2161
+ required: [
2162
+ 'email',
2163
+ 'first_name',
2164
+ 'last_name',
2165
+ 'code',
2166
+ 'password'
2167
+ ],
1435
2168
  additionalProperties: false
1436
2169
  };
1437
2170
  export const UserSchema = {
@@ -1459,15 +2192,21 @@ export const UserSchema = {
1459
2192
  },
1460
2193
  role: {
1461
2194
  type: 'string',
1462
- description: "User role. Can be 'Administrator', 'User'.",
2195
+ description: 'User role. Can be \'Administrator\', \'User\'.',
1463
2196
  example: 'User',
1464
- enum: ['Administrator', 'User']
2197
+ enum: [
2198
+ 'Administrator',
2199
+ 'User'
2200
+ ]
1465
2201
  },
1466
2202
  status: {
1467
2203
  type: 'string',
1468
2204
  description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
1469
2205
  example: 'active',
1470
- enum: ['active', 'inactive']
2206
+ enum: [
2207
+ 'active',
2208
+ 'inactive'
2209
+ ]
1471
2210
  },
1472
2211
  id: {
1473
2212
  type: 'string',
@@ -1482,7 +2221,15 @@ export const UserSchema = {
1482
2221
  example: '2023-11-02T16:08:14.338Z'
1483
2222
  }
1484
2223
  },
1485
- 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
+ ],
1486
2233
  additionalProperties: false
1487
2234
  };
1488
2235
  export const UserUpdateInputSchema = {
@@ -1510,15 +2257,21 @@ export const UserUpdateInputSchema = {
1510
2257
  },
1511
2258
  role: {
1512
2259
  type: 'string',
1513
- description: "User role. Can be 'Administrator', 'User'.",
2260
+ description: 'User role. Can be \'Administrator\', \'User\'.',
1514
2261
  example: 'User',
1515
- enum: ['Administrator', 'User']
2262
+ enum: [
2263
+ 'Administrator',
2264
+ 'User'
2265
+ ]
1516
2266
  },
1517
2267
  status: {
1518
2268
  type: 'string',
1519
2269
  description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
1520
2270
  example: 'active',
1521
- enum: ['active', 'inactive']
2271
+ enum: [
2272
+ 'active',
2273
+ 'inactive'
2274
+ ]
1522
2275
  }
1523
2276
  },
1524
2277
  additionalProperties: false