@cloudfleet/sdk 0.0.1-cdcf1a9 → 0.0.1-cdd334c

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 +236 -0
  4. package/dist/client/client.gen.js.map +1 -0
  5. package/dist/client/index.d.ts +9 -0
  6. package/dist/client/index.d.ts.map +1 -0
  7. package/dist/client/index.js +7 -0
  8. package/dist/client/index.js.map +1 -0
  9. package/dist/client/types.gen.d.ts +118 -0
  10. package/dist/client/types.gen.d.ts.map +1 -0
  11. package/dist/client/types.gen.js +3 -0
  12. package/dist/client/types.gen.js.map +1 -0
  13. package/dist/client/utils.gen.d.ts +34 -0
  14. package/dist/client/utils.gen.d.ts.map +1 -0
  15. package/dist/client/utils.gen.js +229 -0
  16. package/dist/client/utils.gen.js.map +1 -0
  17. package/dist/client.gen.d.ts +4 -4
  18. package/dist/client.gen.d.ts.map +1 -1
  19. package/dist/client.gen.js +2 -4
  20. package/dist/client.gen.js.map +1 -1
  21. package/dist/core/auth.gen.d.ts +19 -0
  22. package/dist/core/auth.gen.d.ts.map +1 -0
  23. package/dist/core/auth.gen.js +15 -0
  24. package/dist/core/auth.gen.js.map +1 -0
  25. package/dist/core/bodySerializer.gen.d.ts +26 -0
  26. package/dist/core/bodySerializer.gen.d.ts.map +1 -0
  27. package/dist/core/bodySerializer.gen.js +58 -0
  28. package/dist/core/bodySerializer.gen.js.map +1 -0
  29. package/dist/core/params.gen.d.ts +44 -0
  30. package/dist/core/params.gen.d.ts.map +1 -0
  31. package/dist/core/params.gen.js +101 -0
  32. package/dist/core/params.gen.js.map +1 -0
  33. package/dist/core/pathSerializer.gen.d.ts +34 -0
  34. package/dist/core/pathSerializer.gen.d.ts.map +1 -0
  35. package/dist/core/pathSerializer.gen.js +107 -0
  36. package/dist/core/pathSerializer.gen.js.map +1 -0
  37. package/dist/core/queryKeySerializer.gen.d.ts +19 -0
  38. package/dist/core/queryKeySerializer.gen.d.ts.map +1 -0
  39. package/dist/core/queryKeySerializer.gen.js +93 -0
  40. package/dist/core/queryKeySerializer.gen.js.map +1 -0
  41. package/dist/core/serverSentEvents.gen.d.ts +72 -0
  42. package/dist/core/serverSentEvents.gen.d.ts.map +1 -0
  43. package/dist/core/serverSentEvents.gen.js +134 -0
  44. package/dist/core/serverSentEvents.gen.js.map +1 -0
  45. package/dist/core/types.gen.d.ts +79 -0
  46. package/dist/core/types.gen.d.ts.map +1 -0
  47. package/dist/core/types.gen.js +3 -0
  48. package/dist/core/types.gen.js.map +1 -0
  49. package/dist/core/utils.gen.d.ts +20 -0
  50. package/dist/core/utils.gen.d.ts.map +1 -0
  51. package/dist/core/utils.gen.js +88 -0
  52. package/dist/core/utils.gen.js.map +1 -0
  53. package/dist/schemas.gen.d.ts +693 -585
  54. package/dist/schemas.gen.d.ts.map +1 -1
  55. package/dist/schemas.gen.js +1210 -678
  56. package/dist/schemas.gen.js.map +1 -1
  57. package/dist/sdk.gen.d.ts +141 -76
  58. package/dist/sdk.gen.d.ts.map +1 -1
  59. package/dist/sdk.gen.js +171 -185
  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 +605 -354
  63. package/dist/types.gen.d.ts.map +1 -1
  64. package/dist/zod.gen.d.ts +1618 -2208
  65. package/dist/zod.gen.d.ts.map +1 -1
  66. package/dist/zod.gen.js +485 -776
  67. package/dist/zod.gen.js.map +1 -1
  68. package/package.json +10 -7
@@ -58,15 +58,10 @@ 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: {
62
- type: 'string',
63
- description: 'First name of the billing contact person.',
64
- example: 'John'
65
- },
66
- last_name: {
61
+ individual_name: {
67
62
  type: 'string',
68
- description: 'Last name of the billing contact person.',
69
- example: 'Doe'
63
+ description: 'Name of the billing contact person.',
64
+ example: 'John Doe'
70
65
  },
71
66
  tax_id: {
72
67
  type: 'string',
@@ -79,10 +74,142 @@ export const BillingContactSchema = {
79
74
  nullable: true,
80
75
  description: 'Type of the tax ID.',
81
76
  example: 'de_vat',
82
- enum: ['ad_nrt', 'ae_trn', 'al_tin', 'am_tin', 'ao_tin', 'ar_cuit', 'at_vat', 'au_abn', 'au_arn', 'ba_tin', 'bb_tin', 'be_vat', 'bg_uic', 'bg_vat', 'bh_vat', 'bo_tin', 'br_cnpj', 'br_cpf', 'bs_tin', 'by_tin', 'ca_bn', 'ca_gst_hst', 'ca_pst_bc', 'ca_pst_mb', 'ca_pst_sk', 'ca_qst', 'cd_nif', 'ch_uid', 'ch_vat', 'cl_tin', 'cn_tin', 'co_nit', 'cr_tin', 'cy_vat', 'cz_vat', 'de_stn', 'de_vat', 'dk_vat', 'do_rcn', 'ec_ruc', 'ee_vat', 'eg_tin', 'es_cif', 'es_vat', 'eu_oss_vat', 'fi_vat', 'fr_vat', 'gb_vat', 'ge_vat', 'gn_nif', 'gr_vat', 'hk_br', 'hr_oib', 'hr_vat', 'hu_tin', 'hu_vat', 'id_npwp', 'ie_vat', 'il_vat', 'in_gst', 'is_vat', 'it_vat', 'jp_cn', 'jp_rn', 'jp_trn', 'ke_pin', 'kh_tin', 'kr_brn', 'kz_bin', 'li_uid', 'li_vat', 'lt_vat', 'lu_vat', 'lv_vat', 'ma_vat', 'md_vat', 'me_pib', 'mk_vat', 'mr_nif', 'mt_vat', 'mx_rfc', 'my_frp', 'my_itn', 'my_sst', 'ng_tin', 'nl_vat', 'no_vat', 'no_voec', 'np_pan', 'nz_gst', 'om_vat', 'pe_ruc', 'ph_tin', 'pl_vat', 'pt_vat', 'ro_tin', 'ro_vat', 'rs_pib', 'ru_inn', 'ru_kpp', 'sa_vat', 'se_vat', 'sg_gst', 'sg_uen', 'si_tin', 'si_vat', 'sk_vat', 'sn_ninea', 'sr_fin', 'sv_nit', 'th_vat', 'tj_tin', 'tr_tin', 'tw_vat', 'tz_vat', 'ua_vat', 'ug_tin', 'us_ein', 'uy_ruc', 'uz_tin', 'uz_vat', 've_rif', 'vn_tin', 'xi_vat', 'za_vat', 'zm_tin', 'zw_tin', '']
77
+ enum: [
78
+ 'ad_nrt',
79
+ 'ae_trn',
80
+ 'al_tin',
81
+ 'am_tin',
82
+ 'ao_tin',
83
+ 'ar_cuit',
84
+ 'at_vat',
85
+ 'au_abn',
86
+ 'au_arn',
87
+ 'ba_tin',
88
+ 'bb_tin',
89
+ 'be_vat',
90
+ 'bg_uic',
91
+ 'bg_vat',
92
+ 'bh_vat',
93
+ 'bo_tin',
94
+ 'br_cnpj',
95
+ 'br_cpf',
96
+ 'bs_tin',
97
+ 'by_tin',
98
+ 'ca_bn',
99
+ 'ca_gst_hst',
100
+ 'ca_pst_bc',
101
+ 'ca_pst_mb',
102
+ 'ca_pst_sk',
103
+ 'ca_qst',
104
+ 'cd_nif',
105
+ 'ch_uid',
106
+ 'ch_vat',
107
+ 'cl_tin',
108
+ 'cn_tin',
109
+ 'co_nit',
110
+ 'cr_tin',
111
+ 'cy_vat',
112
+ 'cz_vat',
113
+ 'de_stn',
114
+ 'de_vat',
115
+ 'dk_vat',
116
+ 'do_rcn',
117
+ 'ec_ruc',
118
+ 'ee_vat',
119
+ 'eg_tin',
120
+ 'es_cif',
121
+ 'es_vat',
122
+ 'eu_oss_vat',
123
+ 'fi_vat',
124
+ 'fr_vat',
125
+ 'gb_vat',
126
+ 'ge_vat',
127
+ 'gn_nif',
128
+ 'gr_vat',
129
+ 'hk_br',
130
+ 'hr_oib',
131
+ 'hr_vat',
132
+ 'hu_tin',
133
+ 'hu_vat',
134
+ 'id_npwp',
135
+ 'ie_vat',
136
+ 'il_vat',
137
+ 'in_gst',
138
+ 'is_vat',
139
+ 'it_vat',
140
+ 'jp_cn',
141
+ 'jp_rn',
142
+ 'jp_trn',
143
+ 'ke_pin',
144
+ 'kh_tin',
145
+ 'kr_brn',
146
+ 'kz_bin',
147
+ 'li_uid',
148
+ 'li_vat',
149
+ 'lt_vat',
150
+ 'lu_vat',
151
+ 'lv_vat',
152
+ 'ma_vat',
153
+ 'md_vat',
154
+ 'me_pib',
155
+ 'mk_vat',
156
+ 'mr_nif',
157
+ 'mt_vat',
158
+ 'mx_rfc',
159
+ 'my_frp',
160
+ 'my_itn',
161
+ 'my_sst',
162
+ 'ng_tin',
163
+ 'nl_vat',
164
+ 'no_vat',
165
+ 'no_voec',
166
+ 'np_pan',
167
+ 'nz_gst',
168
+ 'om_vat',
169
+ 'pe_ruc',
170
+ 'ph_tin',
171
+ 'pl_vat',
172
+ 'pt_vat',
173
+ 'ro_tin',
174
+ 'ro_vat',
175
+ 'rs_pib',
176
+ 'ru_inn',
177
+ 'ru_kpp',
178
+ 'sa_vat',
179
+ 'se_vat',
180
+ 'sg_gst',
181
+ 'sg_uen',
182
+ 'si_tin',
183
+ 'si_vat',
184
+ 'sk_vat',
185
+ 'sn_ninea',
186
+ 'sr_fin',
187
+ 'sv_nit',
188
+ 'th_vat',
189
+ 'tj_tin',
190
+ 'tr_tin',
191
+ 'tw_vat',
192
+ 'tz_vat',
193
+ 'ua_vat',
194
+ 'ug_tin',
195
+ 'us_ein',
196
+ 'uy_ruc',
197
+ 'uz_tin',
198
+ 'uz_vat',
199
+ 've_rif',
200
+ 'vn_tin',
201
+ 'xi_vat',
202
+ 'za_vat',
203
+ 'zm_tin',
204
+ 'zw_tin',
205
+ ''
206
+ ]
83
207
  }
84
208
  },
85
- required: ['email', 'first_name', 'last_name'],
209
+ required: [
210
+ 'email',
211
+ 'individual_name'
212
+ ],
86
213
  additionalProperties: false
87
214
  };
88
215
  export const BillingCreditsSchema = {
@@ -93,10 +220,25 @@ export const BillingCreditsSchema = {
93
220
  description: 'Generated unique identifier of the promotional code.',
94
221
  example: '7kUZnH7nnKUFfvc4NK2KQF'
95
222
  },
96
- 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: {
97
233
  type: 'string',
98
234
  format: 'date-time',
99
- description: 'Date of the credit application. ISO 8601 date string in the UTC timezone.',
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.',
100
242
  example: '2023-12-20T13:53:32.000Z'
101
243
  },
102
244
  code: {
@@ -109,40 +251,25 @@ export const BillingCreditsSchema = {
109
251
  description: 'Description of the promotional code.',
110
252
  example: '10% off on all products'
111
253
  },
112
- products: {
113
- type: 'array',
114
- items: {
115
- type: 'string'
116
- },
117
- description: 'List of product SKUs that the promotional code can be used on.',
118
- example: ['cfke_controlplane', 'cfke_connected_nodes', 'infra_compute', 'infra_storage', 'infra_loadbalancing', 'infra_traffic', 'cfcr_storage']
119
- },
120
- type: {
121
- type: 'string',
122
- description: 'Type of the promotional code.',
123
- example: 'credit',
124
- enum: ['credit', 'discount']
125
- },
126
- value: {
254
+ value_total: {
127
255
  type: 'number',
128
256
  format: 'float',
129
- description: 'Value of the promotional code.',
257
+ description: 'Total value of the promotional code.',
130
258
  example: 10
131
259
  },
132
- billing_period: {
133
- type: 'string',
134
- format: 'date-time',
135
- description: 'Date of the billing cycle. An ISO 8601 date string in the UTC timezone.',
136
- example: '2023-12-20T13:53:32.000Z'
137
- },
138
260
  value_remaining: {
139
261
  type: 'number',
140
262
  format: 'float',
141
- description: 'Value of the promotional code.',
142
- example: 10
263
+ description: 'Remaining value of the promotional code.',
264
+ example: 8
143
265
  }
144
266
  },
145
- required: ['date_created', 'code', 'type', 'value', 'billing_period'],
267
+ required: [
268
+ 'type',
269
+ 'date_start',
270
+ 'code',
271
+ 'value_total'
272
+ ],
146
273
  additionalProperties: false
147
274
  };
148
275
  export const ChartCreateInputSchema = {
@@ -183,7 +310,13 @@ export const ChartCreateInputSchema = {
183
310
  example: 'postgresql'
184
311
  }
185
312
  },
186
- required: ['values', 'version_channel', 'name', 'namespace', 'chart'],
313
+ required: [
314
+ 'values',
315
+ 'version_channel',
316
+ 'name',
317
+ 'namespace',
318
+ 'chart'
319
+ ],
187
320
  additionalProperties: false
188
321
  };
189
322
  export const ChartSchema = {
@@ -227,7 +360,22 @@ export const ChartSchema = {
227
360
  type: 'string',
228
361
  description: 'Status of the chart deployment.',
229
362
  example: 'active',
230
- enum: ['InstallSucceeded', 'InstallFailed', 'UpgradeSucceeded', 'UpgradeFailed', 'TestSucceeded', 'TestFailed', 'RollbackSucceeded', 'RollbackFailed', 'UninstallSucceeded', 'UninstallFailed', 'ArtifactFailed', 'DependencyNotReady', 'Progressing', 'SourceNotReady']
363
+ enum: [
364
+ 'InstallSucceeded',
365
+ 'InstallFailed',
366
+ 'UpgradeSucceeded',
367
+ 'UpgradeFailed',
368
+ 'TestSucceeded',
369
+ 'TestFailed',
370
+ 'RollbackSucceeded',
371
+ 'RollbackFailed',
372
+ 'UninstallSucceeded',
373
+ 'UninstallFailed',
374
+ 'ArtifactFailed',
375
+ 'DependencyNotReady',
376
+ 'Progressing',
377
+ 'SourceNotReady'
378
+ ]
231
379
  },
232
380
  version_current: {
233
381
  type: 'string',
@@ -250,7 +398,18 @@ export const ChartSchema = {
250
398
  example: true
251
399
  }
252
400
  },
253
- required: ['values', 'version_channel', 'name', 'namespace', 'chart', 'status', 'version_current', 'created_at', 'updated_at', 'ready'],
401
+ required: [
402
+ 'values',
403
+ 'version_channel',
404
+ 'name',
405
+ 'namespace',
406
+ 'chart',
407
+ 'status',
408
+ 'version_current',
409
+ 'created_at',
410
+ 'updated_at',
411
+ 'ready'
412
+ ],
254
413
  additionalProperties: false
255
414
  };
256
415
  export const ChartUpdateInputSchema = {
@@ -267,7 +426,10 @@ export const ChartUpdateInputSchema = {
267
426
  example: '2.x.x-cfke.x'
268
427
  }
269
428
  },
270
- required: ['values', 'version_channel'],
429
+ required: [
430
+ 'values',
431
+ 'version_channel'
432
+ ],
271
433
  additionalProperties: false
272
434
  };
273
435
  export const ClusterCreateInputSchema = {
@@ -281,28 +443,45 @@ export const ClusterCreateInputSchema = {
281
443
  description: 'Name of the cluster.',
282
444
  example: 'production-cluster'
283
445
  },
284
- region: {
285
- type: 'string',
286
- description: 'Cloudfleet control plane region. One of "staging", "northamerica-central-1". This field can not be updated after creation.',
287
- default: 'staging',
288
- example: 'northamerica-central-1',
289
- enum: ['staging', 'northamerica-central-1']
290
- },
291
446
  tier: {
292
447
  type: 'string',
293
448
  description: 'Tier of the cluster.',
294
449
  example: 'pro',
295
- 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
+ ]
296
466
  },
297
467
  version_channel: {
298
468
  type: 'string',
299
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-]+)*))?$',
300
470
  description: 'Version of the kubernetes cluster.',
301
471
  default: '1.x.x-cfke.x',
302
- 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
+ ]
303
479
  }
304
480
  },
305
- required: ['name', 'tier'],
481
+ required: [
482
+ 'name',
483
+ 'tier'
484
+ ],
306
485
  additionalProperties: false
307
486
  };
308
487
  export const ClusterJoinInformationSchema = {
@@ -311,8 +490,7 @@ export const ClusterJoinInformationSchema = {
311
490
  certificate_authority: {
312
491
  type: 'string',
313
492
  description: 'Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.',
314
- example: `-----BEGIN CERTIFICATE-----
315
- MIIC0DCCAbigAwIBAgI...`
493
+ example: '-----BEGIN CERTIFICATE-----\nMIIC0DCCAbigAwIBAgI...'
316
494
  },
317
495
  endpoint: {
318
496
  type: 'string',
@@ -320,6 +498,11 @@ MIIC0DCCAbigAwIBAgI...`
320
498
  description: 'Internal URL of the Kubernetes cluster control plane. This is the endpoint that kubelet uses to connect to the cluster.',
321
499
  example: 'https://10.31.64.7:6443'
322
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
+ },
323
506
  auth_key: {
324
507
  type: 'string',
325
508
  description: 'Authentication key for the cluster.',
@@ -336,7 +519,7 @@ MIIC0DCCAbigAwIBAgI...`
336
519
  kubernetes: {
337
520
  type: 'string',
338
521
  description: 'Kubernetes version of the cluster.',
339
- example: '1.29.3'
522
+ example: '1.33.7'
340
523
  },
341
524
  tailscale: {
342
525
  type: 'string',
@@ -347,9 +530,19 @@ MIIC0DCCAbigAwIBAgI...`
347
530
  type: 'string',
348
531
  description: 'Containerd version of the cluster.',
349
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'
350
538
  }
351
539
  },
352
- required: ['kubernetes', 'tailscale', 'containerd'],
540
+ required: [
541
+ 'kubernetes',
542
+ 'tailscale',
543
+ 'containerd',
544
+ 'nvidia_driver'
545
+ ],
353
546
  additionalProperties: false,
354
547
  description: 'Versions of the different components of the cluster.'
355
548
  },
@@ -372,12 +565,24 @@ MIIC0DCCAbigAwIBAgI...`
372
565
  example: '//iam.googleapis.com/projects/89014267864/locations/global/workloadIdentityPools/cfke/providers/oidc'
373
566
  }
374
567
  },
375
- 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
+ ],
376
573
  additionalProperties: false,
377
- 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.'
378
575
  }
379
576
  },
380
- 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
+ ],
381
586
  additionalProperties: false
382
587
  };
383
588
  export const ClusterSchema = {
@@ -391,25 +596,26 @@ export const ClusterSchema = {
391
596
  description: 'Name of the cluster.',
392
597
  example: 'production-cluster'
393
598
  },
394
- region: {
395
- type: 'string',
396
- description: 'Cloudfleet control plane region. One of "staging", "northamerica-central-1". This field can not be updated after creation.',
397
- default: 'staging',
398
- example: 'northamerica-central-1',
399
- enum: ['staging', 'northamerica-central-1']
400
- },
401
599
  tier: {
402
600
  type: 'string',
403
601
  description: 'Tier of the cluster.',
404
602
  example: 'pro',
405
- enum: ['basic', 'pro']
603
+ enum: [
604
+ 'basic',
605
+ 'pro'
606
+ ]
406
607
  },
407
- version_channel: {
608
+ region: {
408
609
  type: 'string',
409
- 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-]+)*))?$',
410
- description: 'Version of the kubernetes cluster.',
411
- default: '1.x.x-cfke.x',
412
- 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
+ ]
413
619
  },
414
620
  id: {
415
621
  type: 'string',
@@ -421,7 +627,15 @@ export const ClusterSchema = {
421
627
  type: 'string',
422
628
  description: 'Status of the cluster. When creating a new cluster, set to `active`. When deleting a clusters, set to `deleted`.',
423
629
  example: 'active',
424
- enum: ['active', 'deleted', 'creating', 'deployed', 'failed', 'updating']
630
+ enum: [
631
+ 'active',
632
+ 'disabled',
633
+ 'deleted',
634
+ 'creating',
635
+ 'deployed',
636
+ 'failed',
637
+ 'updating'
638
+ ]
425
639
  },
426
640
  endpoint: {
427
641
  anyOf: [
@@ -433,20 +647,21 @@ export const ClusterSchema = {
433
647
  },
434
648
  {
435
649
  type: 'string',
436
- enum: ['']
650
+ enum: [
651
+ ''
652
+ ]
437
653
  }
438
654
  ]
439
655
  },
440
656
  certificate_ca: {
441
657
  type: 'string',
442
658
  description: 'Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.',
443
- example: `-----BEGIN CERTIFICATE-----
444
- MIIC0DCCAbigAwIBAgI...`
659
+ example: '-----BEGIN CERTIFICATE-----\nMIIC0DCCAbigAwIBAgI...'
445
660
  },
446
661
  version_current: {
447
662
  type: 'string',
448
663
  description: 'Current version of the cluster.',
449
- example: '1.29.3-cfke.52'
664
+ example: '1.33.7-cfke.264'
450
665
  },
451
666
  created_at: {
452
667
  type: 'string',
@@ -462,9 +677,20 @@ MIIC0DCCAbigAwIBAgI...`
462
677
  type: 'boolean',
463
678
  description: 'Indicates if the cluster is ready to be used.',
464
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'
465
686
  }
466
687
  },
467
- required: ['name', 'tier', 'id', 'status'],
688
+ required: [
689
+ 'name',
690
+ 'tier',
691
+ 'id',
692
+ 'status'
693
+ ],
468
694
  additionalProperties: false
469
695
  };
470
696
  export const ClusterUpdateInputSchema = {
@@ -478,13 +704,25 @@ export const ClusterUpdateInputSchema = {
478
704
  description: 'Name of the cluster.',
479
705
  example: 'production-cluster'
480
706
  },
707
+ tier: {
708
+ type: 'string',
709
+ description: 'Tier of the cluster.',
710
+ example: 'pro',
711
+ enum: [
712
+ 'basic',
713
+ 'pro'
714
+ ]
715
+ },
481
716
  version_channel: {
482
717
  type: 'string',
483
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-]+)*))?$',
484
719
  description: 'Version of the kubernetes cluster.',
485
- example: '1.29.x-cfke.x'
720
+ example: '1.x.x-cfke.x'
486
721
  }
487
722
  },
723
+ required: [
724
+ 'tier'
725
+ ],
488
726
  additionalProperties: false
489
727
  };
490
728
  export const FleetCreateInputSchema = {
@@ -500,7 +738,9 @@ export const FleetCreateInputSchema = {
500
738
  description: 'CPU limit in cores.'
501
739
  }
502
740
  },
503
- required: ['cpu'],
741
+ required: [
742
+ 'cpu'
743
+ ],
504
744
  additionalProperties: false,
505
745
  description: 'Limits define a set of bounds for provisioning capacity.'
506
746
  },
@@ -516,38 +756,27 @@ export const FleetCreateInputSchema = {
516
756
  description: 'Project GCP Project id to deploy instances into'
517
757
  }
518
758
  },
519
- required: ['project'],
759
+ required: [
760
+ 'project'
761
+ ],
520
762
  additionalProperties: false
521
763
  },
522
764
  hetzner: {
523
- oneOf: [
524
- {
525
- type: 'object',
526
- properties: {
527
- enabled: {
528
- type: 'boolean',
529
- default: true
530
- },
531
- apiKey: {
532
- type: 'string'
533
- }
534
- },
535
- additionalProperties: false
765
+ type: 'object',
766
+ properties: {
767
+ enabled: {
768
+ type: 'boolean',
769
+ default: true
536
770
  },
537
- {
538
- type: 'object',
539
- properties: {
540
- apiKey: {
541
- type: 'string'
542
- },
543
- enabled: {
544
- type: 'boolean',
545
- default: true
546
- }
547
- },
548
- additionalProperties: false
771
+ apiKey: {
772
+ type: 'string',
773
+ description: 'Hetzner Cloud API key with read / write access'
549
774
  }
550
- ]
775
+ },
776
+ required: [
777
+ 'apiKey'
778
+ ],
779
+ additionalProperties: false
551
780
  },
552
781
  aws: {
553
782
  type: 'object',
@@ -561,7 +790,9 @@ export const FleetCreateInputSchema = {
561
790
  description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
562
791
  }
563
792
  },
564
- required: ['controllerRoleArn'],
793
+ required: [
794
+ 'controllerRoleArn'
795
+ ],
565
796
  additionalProperties: false
566
797
  },
567
798
  id: {
@@ -571,14 +802,11 @@ export const FleetCreateInputSchema = {
571
802
  pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
572
803
  description: 'Unique identifier of the kubernetes fleet.',
573
804
  example: 'new-clouds-fleet'
574
- },
575
- type: {
576
- type: 'string',
577
- description: 'Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.',
578
- enum: ['managed', 'connected']
579
805
  }
580
806
  },
581
- required: ['id', 'type'],
807
+ required: [
808
+ 'id'
809
+ ],
582
810
  additionalProperties: false
583
811
  };
584
812
  export const FleetSchema = {
@@ -594,7 +822,9 @@ export const FleetSchema = {
594
822
  description: 'CPU limit in cores.'
595
823
  }
596
824
  },
597
- required: ['cpu'],
825
+ required: [
826
+ 'cpu'
827
+ ],
598
828
  additionalProperties: false,
599
829
  description: 'Limits define a set of bounds for provisioning capacity.'
600
830
  },
@@ -610,38 +840,27 @@ export const FleetSchema = {
610
840
  description: 'Project GCP Project id to deploy instances into'
611
841
  }
612
842
  },
613
- required: ['project'],
843
+ required: [
844
+ 'project'
845
+ ],
614
846
  additionalProperties: false
615
847
  },
616
848
  hetzner: {
617
- oneOf: [
618
- {
619
- type: 'object',
620
- properties: {
621
- enabled: {
622
- type: 'boolean',
623
- default: true
624
- },
625
- apiKey: {
626
- type: 'string'
627
- }
628
- },
629
- additionalProperties: false
849
+ type: 'object',
850
+ properties: {
851
+ enabled: {
852
+ type: 'boolean',
853
+ default: true
630
854
  },
631
- {
632
- type: 'object',
633
- properties: {
634
- apiKey: {
635
- type: 'string'
636
- },
637
- enabled: {
638
- type: 'boolean',
639
- default: true
640
- }
641
- },
642
- additionalProperties: false
855
+ apiKey: {
856
+ type: 'string',
857
+ description: 'Hetzner Cloud API key with read / write access'
643
858
  }
644
- ]
859
+ },
860
+ required: [
861
+ 'apiKey'
862
+ ],
863
+ additionalProperties: false
645
864
  },
646
865
  aws: {
647
866
  type: 'object',
@@ -655,7 +874,9 @@ export const FleetSchema = {
655
874
  description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
656
875
  }
657
876
  },
658
- required: ['controllerRoleArn'],
877
+ required: [
878
+ 'controllerRoleArn'
879
+ ],
659
880
  additionalProperties: false
660
881
  },
661
882
  id: {
@@ -665,14 +886,11 @@ export const FleetSchema = {
665
886
  pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
666
887
  description: 'Unique identifier of the kubernetes fleet.',
667
888
  example: 'new-clouds-fleet'
668
- },
669
- type: {
670
- type: 'string',
671
- description: 'Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.',
672
- enum: ['managed', 'connected']
673
889
  }
674
890
  },
675
- required: ['id', 'type'],
891
+ required: [
892
+ 'id'
893
+ ],
676
894
  additionalProperties: false
677
895
  };
678
896
  export const FleetUpdateInputSchema = {
@@ -688,7 +906,9 @@ export const FleetUpdateInputSchema = {
688
906
  description: 'CPU limit in cores.'
689
907
  }
690
908
  },
691
- required: ['cpu'],
909
+ required: [
910
+ 'cpu'
911
+ ],
692
912
  additionalProperties: false,
693
913
  description: 'Limits define a set of bounds for provisioning capacity.'
694
914
  },
@@ -704,38 +924,27 @@ export const FleetUpdateInputSchema = {
704
924
  description: 'Project GCP Project id to deploy instances into'
705
925
  }
706
926
  },
707
- required: ['project'],
927
+ required: [
928
+ 'project'
929
+ ],
708
930
  additionalProperties: false
709
931
  },
710
932
  hetzner: {
711
- oneOf: [
712
- {
713
- type: 'object',
714
- properties: {
715
- enabled: {
716
- type: 'boolean',
717
- default: true
718
- },
719
- apiKey: {
720
- type: 'string'
721
- }
722
- },
723
- additionalProperties: false
933
+ type: 'object',
934
+ properties: {
935
+ enabled: {
936
+ type: 'boolean',
937
+ default: true
724
938
  },
725
- {
726
- type: 'object',
727
- properties: {
728
- apiKey: {
729
- type: 'string'
730
- },
731
- enabled: {
732
- type: 'boolean',
733
- default: true
734
- }
735
- },
736
- additionalProperties: false
939
+ apiKey: {
940
+ type: 'string',
941
+ description: 'Hetzner Cloud API key with read / write access'
737
942
  }
738
- ]
943
+ },
944
+ required: [
945
+ 'apiKey'
946
+ ],
947
+ additionalProperties: false
739
948
  },
740
949
  aws: {
741
950
  type: 'object',
@@ -749,7 +958,9 @@ export const FleetUpdateInputSchema = {
749
958
  description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
750
959
  }
751
960
  },
752
- required: ['controllerRoleArn'],
961
+ required: [
962
+ 'controllerRoleArn'
963
+ ],
753
964
  additionalProperties: false
754
965
  }
755
966
  },
@@ -787,7 +998,9 @@ export const InviteSchema = {
787
998
  example: '7kUZnH7nnKUFfvc4NK2KQF'
788
999
  }
789
1000
  },
790
- required: ['date_created'],
1001
+ required: [
1002
+ 'date_created'
1003
+ ],
791
1004
  additionalProperties: false
792
1005
  };
793
1006
  export const InvoiceSchema = {
@@ -795,23 +1008,18 @@ export const InvoiceSchema = {
795
1008
  properties: {
796
1009
  id: {
797
1010
  type: 'string',
798
- format: 'uuid',
799
- description: 'Unique identifier of the invoice. UUID v4 string in canonical form',
800
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
1011
+ description: 'Unique identifier of the invoice.',
1012
+ example: 'in_1234567890xCrwxghOTj1234'
801
1013
  },
802
- organizationId: {
803
- type: 'string',
804
- format: 'uuid',
805
- description: 'Unique identifier of the organization. UUID v4 string in canonical form',
806
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
1014
+ number: {
1015
+ type: 'string'
807
1016
  },
808
1017
  status: {
809
1018
  type: 'string',
810
1019
  description: 'Status of the invoice',
811
- example: 'DRAFT',
812
- enum: ['DRAFT', 'COMMITTED', 'VOID']
1020
+ example: 'paid'
813
1021
  },
814
- amount: {
1022
+ total: {
815
1023
  type: 'number',
816
1024
  format: 'float',
817
1025
  description: 'Total amount of the invoice',
@@ -820,413 +1028,189 @@ export const InvoiceSchema = {
820
1028
  currency: {
821
1029
  type: 'string',
822
1030
  description: 'Currency of the invoice',
823
- example: 'USD',
824
- 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']
825
- },
826
- creditAdj: {
827
- type: 'number',
828
- format: 'float',
829
- description: 'Total amount of credit adjustments',
830
- example: 0
1031
+ example: 'usd'
831
1032
  },
832
- refundAdj: {
833
- type: 'number',
834
- format: 'float',
835
- description: 'Total amount of refund adjustments',
836
- 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'
837
1038
  },
838
- invoiceDate: {
1039
+ period_start: {
839
1040
  type: 'string',
840
- description: 'Date of the invoice',
841
- 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'
842
1044
  },
843
- targetDate: {
1045
+ period_end: {
844
1046
  type: 'string',
845
- description: 'Target date of the invoice',
846
- 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'
847
1050
  },
848
- 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: {
849
1066
  type: 'string',
850
- description: 'Number of the invoice',
851
- 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'
852
1069
  },
853
- balance: {
854
- type: 'number',
855
- format: 'float',
856
- description: 'Balance of the invoice',
857
- 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'
858
1074
  },
859
- 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: {
860
1087
  type: 'string',
861
- description: 'Bundle keys of the invoice',
862
- example: 'bundleKey1,bundleKey2'
1088
+ description: 'Name of the chart',
1089
+ example: 'nginx-ingress'
863
1090
  },
864
- credits: {
1091
+ versions: {
865
1092
  type: 'array',
866
1093
  items: {
867
- type: 'object',
868
- properties: {
869
- id: {
870
- type: 'string',
871
- format: 'uuid',
872
- description: 'Unique identifier of the invoice item. UUID v4 string in canonical form',
873
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
874
- },
875
- linkedInvoiceItemId: {
876
- type: 'string',
877
- format: 'uuid',
878
- description: 'Unique identifier of the linked invoice item. UUID v4 string in canonical form',
879
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
880
- },
881
- productName: {
882
- type: 'string',
883
- description: 'Name of the product',
884
- example: 'Research team'
885
- },
886
- planName: {
887
- type: 'string',
888
- description: 'Name of the plan',
889
- example: 'Plan A'
890
- },
891
- phaseName: {
892
- type: 'string',
893
- description: 'Name of the phase',
894
- example: 'Phase A'
895
- },
896
- usageName: {
897
- type: 'string',
898
- description: 'Name of the usage',
899
- example: 'Usage A'
900
- },
901
- prettyProductName: {
902
- type: 'string',
903
- description: 'Pretty name of the product',
904
- example: 'Research team'
905
- },
906
- prettyPlanName: {
907
- type: 'string',
908
- description: 'Pretty name of the plan',
909
- example: 'Plan A'
910
- },
911
- prettyPhaseName: {
912
- type: 'string',
913
- description: 'Pretty name of the phase',
914
- example: 'Phase A'
915
- },
916
- prettyUsageName: {
917
- type: 'string',
918
- description: 'Pretty name of the usage',
919
- example: 'Usage A'
920
- },
921
- itemType: {
922
- type: 'string',
923
- description: 'Type of the invoice item',
924
- example: 'EXTERNAL_CHARGE',
925
- enum: ['EXTERNAL_CHARGE', 'FIXED', 'RECURRING', 'REPAIR_ADJ', 'CBA_ADJ', 'CREDIT_ADJ', 'ITEM_ADJ', 'USAGE', 'TAX', 'PARENT_SUMMARY']
926
- },
927
- description: {
928
- type: 'string',
929
- description: 'Description of the invoice item',
930
- example: 'Description of the invoice item'
931
- },
932
- startDate: {
933
- type: 'string',
934
- description: 'Start date of the invoice item',
935
- example: '2019-01-01T00:00:00.000Z'
936
- },
937
- endDate: {
938
- type: 'string',
939
- description: 'End date of the invoice item',
940
- example: '2019-01-01T00:00:00.000Z'
941
- },
942
- amount: {
943
- type: 'number',
944
- format: 'float',
945
- description: 'Amount of the invoice item',
946
- example: 100
947
- },
948
- rate: {
949
- type: 'number',
950
- format: 'float',
951
- description: 'Rate of the invoice item',
952
- example: 100
953
- },
954
- currency: {
955
- type: 'string',
956
- description: 'Currency of the invoice item',
957
- example: 'USD',
958
- 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']
959
- },
960
- quantity: {
961
- type: 'number',
962
- format: 'float',
963
- description: 'Quantity of the invoice item',
964
- example: 1
965
- },
966
- itemDetails: {
967
- type: 'string',
968
- description: 'Details of the invoice item',
969
- example: 'Details of the invoice item'
970
- },
971
- catalogEffectiveDate: {
972
- type: 'string',
973
- description: 'Effective date of the catalog',
974
- example: '2019-01-01T00:00:00.000Z'
975
- },
976
- childItems: {
977
- type: 'array',
978
- items: {
979
- oneOf: [
980
- {
981
- type: 'array'
982
- },
983
- {
984
- type: 'boolean'
985
- },
986
- {
987
- type: 'number'
988
- },
989
- {
990
- type: 'object',
991
- additionalProperties: true
992
- },
993
- {
994
- type: 'string'
995
- }
996
- ]
997
- },
998
- description: 'Child items of the invoice item'
999
- }
1000
- },
1001
- 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'
1002
1098
  },
1003
- description: 'Credits of the invoice'
1099
+ description: 'Available versions of the chart'
1004
1100
  },
1005
- items: {
1101
+ version_channels: {
1006
1102
  type: 'array',
1007
1103
  items: {
1008
- type: 'object',
1009
- properties: {
1010
- id: {
1011
- type: 'string',
1012
- format: 'uuid',
1013
- description: 'Unique identifier of the invoice item. UUID v4 string in canonical form',
1014
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
1015
- },
1016
- linkedInvoiceItemId: {
1017
- type: 'string',
1018
- format: 'uuid',
1019
- description: 'Unique identifier of the linked invoice item. UUID v4 string in canonical form',
1020
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
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'
1021
1148
  },
1022
- productName: {
1023
- type: 'string',
1024
- description: 'Name of the product',
1025
- example: 'Research team'
1026
- },
1027
- planName: {
1028
- type: 'string',
1029
- description: 'Name of the plan',
1030
- example: 'Plan A'
1031
- },
1032
- phaseName: {
1033
- type: 'string',
1034
- description: 'Name of the phase',
1035
- example: 'Phase A'
1036
- },
1037
- usageName: {
1038
- type: 'string',
1039
- description: 'Name of the usage',
1040
- example: 'Usage A'
1041
- },
1042
- prettyProductName: {
1043
- type: 'string',
1044
- description: 'Pretty name of the product',
1045
- example: 'Research team'
1046
- },
1047
- prettyPlanName: {
1048
- type: 'string',
1049
- description: 'Pretty name of the plan',
1050
- example: 'Plan A'
1051
- },
1052
- prettyPhaseName: {
1053
- type: 'string',
1054
- description: 'Pretty name of the phase',
1055
- example: 'Phase A'
1056
- },
1057
- prettyUsageName: {
1058
- type: 'string',
1059
- description: 'Pretty name of the usage',
1060
- example: 'Usage A'
1061
- },
1062
- itemType: {
1063
- type: 'string',
1064
- description: 'Type of the invoice item',
1065
- example: 'EXTERNAL_CHARGE',
1066
- enum: ['EXTERNAL_CHARGE', 'FIXED', 'RECURRING', 'REPAIR_ADJ', 'CBA_ADJ', 'CREDIT_ADJ', 'ITEM_ADJ', 'USAGE', 'TAX', 'PARENT_SUMMARY']
1067
- },
1068
- description: {
1069
- type: 'string',
1070
- description: 'Description of the invoice item',
1071
- example: 'Description of the invoice item'
1072
- },
1073
- startDate: {
1074
- type: 'string',
1075
- description: 'Start date of the invoice item',
1076
- example: '2019-01-01T00:00:00.000Z'
1077
- },
1078
- endDate: {
1079
- type: 'string',
1080
- description: 'End date of the invoice item',
1081
- example: '2019-01-01T00:00:00.000Z'
1082
- },
1083
- amount: {
1084
- type: 'number',
1085
- format: 'float',
1086
- description: 'Amount of the invoice item',
1087
- example: 100
1088
- },
1089
- rate: {
1090
- type: 'number',
1091
- format: 'float',
1092
- description: 'Rate of the invoice item',
1093
- example: 100
1094
- },
1095
- currency: {
1096
- type: 'string',
1097
- description: 'Currency of the invoice item',
1098
- example: 'USD',
1099
- 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']
1100
- },
1101
- quantity: {
1102
- type: 'number',
1103
- format: 'float',
1104
- description: 'Quantity of the invoice item',
1105
- example: 1
1106
- },
1107
- itemDetails: {
1108
- type: 'string',
1109
- description: 'Details of the invoice item',
1110
- example: 'Details of the invoice item'
1111
- },
1112
- catalogEffectiveDate: {
1113
- type: 'string',
1114
- description: 'Effective date of the catalog',
1115
- example: '2019-01-01T00:00:00.000Z'
1116
- },
1117
- childItems: {
1118
- type: 'array',
1119
- items: {
1120
- oneOf: [
1121
- {
1122
- type: 'array'
1123
- },
1124
- {
1125
- type: 'boolean'
1126
- },
1127
- {
1128
- type: 'number'
1129
- },
1130
- {
1131
- type: 'object',
1132
- additionalProperties: true
1133
- },
1134
- {
1135
- type: 'string'
1136
- }
1137
- ]
1138
- },
1139
- description: 'Child items of the invoice item'
1140
- }
1149
+ description: 'Chart keywords',
1150
+ example: [
1151
+ 'ingress',
1152
+ 'nginx',
1153
+ 'load-balancer'
1154
+ ]
1141
1155
  },
1142
- additionalProperties: false
1143
- },
1144
- description: 'Items of the invoice'
1145
- }
1146
- },
1147
- additionalProperties: false
1148
- };
1149
- export const MarketplaceListingSchema = {
1150
- type: 'object',
1151
- properties: {
1152
- id: {
1153
- type: 'string',
1154
- maxLength: 63,
1155
- minLength: 1,
1156
- pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
1157
- description: 'Id of the chart listing',
1158
- example: 'portworx-enterprise-disaster-recovery-baremetal'
1159
- },
1160
- name: {
1161
- type: 'string',
1162
- description: 'Name of the chart listing',
1163
- example: 'Portworx Enterprise + Disaster Recovery - Baremetal'
1164
- },
1165
- developer: {
1166
- type: 'string',
1167
- description: 'Author of the chart listing',
1168
- example: 'Portworx'
1169
- },
1170
- description: {
1171
- type: 'string',
1172
- description: 'Short description of the chart listing',
1173
- example: 'Run Kubernetes with unmatched scalability, availability, and self-service access to any storage'
1174
- },
1175
- logoUrl: {
1176
- type: 'string',
1177
- description: 'Logo of the chart listing',
1178
- example: 'https://portworx.com/wp-content/themes/portworx/assets/images/header/portworx-logo.png'
1179
- },
1180
- longDescription: {
1181
- type: 'string',
1182
- description: 'Long description of the chart listing',
1183
- example: 'Portworx-Enterprise is the complete multi-cloud ready Kubernetes storage platform for running mission-critical apps in production....'
1184
- },
1185
- categories: {
1186
- type: 'array',
1187
- items: {
1188
- type: 'string',
1189
- example: 'AI & Machine Learning'
1190
- },
1191
- description: 'Tags of the chart'
1192
- },
1193
- version_channels: {
1194
- type: 'array',
1195
- items: {
1196
- type: 'string',
1197
- 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-]+)*))?$',
1198
- description: 'Version of the chart.',
1199
- example: '2.x.x-cfke.x'
1200
- }
1201
- },
1202
- value_schemas: {
1203
- type: 'array',
1204
- items: {
1205
- type: 'object',
1206
- properties: {
1207
- version: {
1208
- type: 'string',
1209
- 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-]+)*))?$',
1210
- description: 'Version of the chart.',
1211
- example: '2.1.1-cfke.123'
1212
- },
1213
- schema: {
1214
- type: 'string',
1215
- description: 'Schema of the chart values. JSON Schema as string'
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'
1216
1170
  },
1217
- placeholder: {
1218
- type: 'string',
1219
- description: 'Schema of the chart values',
1220
- example: `foo: 1
1221
- bar: example`
1222
- }
1171
+ description: 'Chart source URLs',
1172
+ example: [
1173
+ 'https://github.com/kubernetes/ingress-nginx'
1174
+ ]
1223
1175
  },
1224
- required: ['version', 'schema', 'placeholder'],
1225
- additionalProperties: false
1226
- }
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
+ }
1199
+ },
1200
+ required: [
1201
+ 'name',
1202
+ 'version'
1203
+ ],
1204
+ additionalProperties: false,
1205
+ description: 'Chart metadata'
1227
1206
  }
1228
1207
  },
1229
- required: ['id', 'name', 'developer', 'description', 'logoUrl', 'longDescription', 'categories', 'version_channels', 'value_schemas'],
1208
+ required: [
1209
+ 'name',
1210
+ 'versions',
1211
+ 'version_channels',
1212
+ 'latestVersion'
1213
+ ],
1230
1214
  additionalProperties: false
1231
1215
  };
1232
1216
  export const OrganizationCreateInputSchema = {
@@ -1262,7 +1246,13 @@ export const OrganizationCreateInputSchema = {
1262
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.'
1263
1247
  }
1264
1248
  },
1265
- 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
+ ],
1266
1256
  additionalProperties: false
1267
1257
  };
1268
1258
  export const OrganizationSchema = {
@@ -1318,12 +1308,6 @@ export const OrganizationSchema = {
1318
1308
  description: 'Maximum number of fleets that can be created per cluster.',
1319
1309
  example: 999
1320
1310
  },
1321
- managed_fleets_cpu_max: {
1322
- type: 'integer',
1323
- minimum: 0,
1324
- description: 'Maximum number of CPU cores per managed fleet.',
1325
- example: 999
1326
- },
1327
1311
  cluster_tiers: {
1328
1312
  type: 'array',
1329
1313
  items: {
@@ -1350,32 +1334,74 @@ export const OrganizationSchema = {
1350
1334
  id: {
1351
1335
  type: 'string',
1352
1336
  description: 'Id of the control plane version. Used in API calls.',
1353
- example: '1.29.x-cfke.x'
1337
+ example: '1.33.x-cfke.x'
1354
1338
  },
1355
1339
  label: {
1356
1340
  type: 'string',
1357
1341
  description: 'Label of the control plane version. Used in frontent UI.',
1358
- example: '1.29.x (Always latest 1.29 patch version)'
1342
+ example: '1.33.x (Always latest 1.33 patch version)'
1359
1343
  }
1360
1344
  },
1361
- required: ['id', 'label'],
1345
+ required: [
1346
+ 'id',
1347
+ 'label'
1348
+ ],
1362
1349
  additionalProperties: false
1363
1350
  },
1364
1351
  minItems: 1,
1365
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
1366
1371
  }
1367
1372
  },
1368
- 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
+ ],
1369
1386
  additionalProperties: false,
1370
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.'
1371
1388
  },
1372
1389
  status: {
1373
1390
  type: 'string',
1374
1391
  description: 'Status of the organization. Can be `active` or `closed`, or `suspended`.',
1375
- enum: ['active', 'closed', 'suspended']
1392
+ enum: [
1393
+ 'active',
1394
+ 'closed',
1395
+ 'suspended'
1396
+ ]
1376
1397
  }
1377
1398
  },
1378
- required: ['id', 'date_created', 'quota', 'status'],
1399
+ required: [
1400
+ 'id',
1401
+ 'date_created',
1402
+ 'quota',
1403
+ 'status'
1404
+ ],
1379
1405
  additionalProperties: false
1380
1406
  };
1381
1407
  export const PaymentMethodSchema = {
@@ -1397,7 +1423,9 @@ export const PaymentMethodSchema = {
1397
1423
  nullable: true,
1398
1424
  description: 'Payment method type type. Only `card` payments supported at the moment.',
1399
1425
  example: 'card',
1400
- enum: ['card']
1426
+ enum: [
1427
+ 'card'
1428
+ ]
1401
1429
  },
1402
1430
  last4: {
1403
1431
  type: 'string',
@@ -1410,14 +1438,14 @@ export const PaymentMethodSchema = {
1410
1438
  minimum: 1,
1411
1439
  maximum: 12,
1412
1440
  nullable: true,
1413
- description: "Two-digit number representing the card's expiration month.",
1441
+ description: 'Two-digit number representing the card\'s expiration month.',
1414
1442
  example: '12'
1415
1443
  },
1416
1444
  exp_year: {
1417
1445
  type: 'integer',
1418
1446
  minimum: 2024,
1419
1447
  nullable: true,
1420
- description: "Four-digit number representing the card's expiration year.",
1448
+ description: 'Four-digit number representing the card\'s expiration year.',
1421
1449
  example: '2028'
1422
1450
  },
1423
1451
  brand: {
@@ -1425,10 +1453,401 @@ export const PaymentMethodSchema = {
1425
1453
  nullable: true,
1426
1454
  description: 'Payment card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.',
1427
1455
  example: 'visa',
1428
- 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
1429
1678
  }
1430
1679
  },
1431
- required: ['id', 'setup', 'type', 'last4', 'exp_month', 'exp_year', 'brand'],
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
+ ],
1432
1851
  additionalProperties: false
1433
1852
  };
1434
1853
  export const TokenCreateInputSchema = {
@@ -1446,10 +1865,16 @@ export const TokenCreateInputSchema = {
1446
1865
  type: 'string',
1447
1866
  description: 'Role assumed by the token.',
1448
1867
  example: 'User',
1449
- enum: ['Administrator', 'User']
1868
+ enum: [
1869
+ 'Administrator',
1870
+ 'User'
1871
+ ]
1450
1872
  }
1451
1873
  },
1452
- required: ['name', 'role'],
1874
+ required: [
1875
+ 'name',
1876
+ 'role'
1877
+ ],
1453
1878
  additionalProperties: false
1454
1879
  };
1455
1880
  export const TokenSchema = {
@@ -1467,7 +1892,10 @@ export const TokenSchema = {
1467
1892
  type: 'string',
1468
1893
  description: 'Role assumed by the token.',
1469
1894
  example: 'User',
1470
- enum: ['Administrator', 'User']
1895
+ enum: [
1896
+ 'Administrator',
1897
+ 'User'
1898
+ ]
1471
1899
  },
1472
1900
  id: {
1473
1901
  type: 'string',
@@ -1486,7 +1914,11 @@ export const TokenSchema = {
1486
1914
  example: '2023-12-20T13:53:32.000Z'
1487
1915
  }
1488
1916
  },
1489
- required: ['name', 'role', 'date_created'],
1917
+ required: [
1918
+ 'name',
1919
+ 'role',
1920
+ 'date_created'
1921
+ ],
1490
1922
  additionalProperties: false
1491
1923
  };
1492
1924
  export const TokenUpdateInputSchema = {
@@ -1504,11 +1936,129 @@ export const TokenUpdateInputSchema = {
1504
1936
  type: 'string',
1505
1937
  description: 'Role assumed by the token.',
1506
1938
  example: 'User',
1507
- enum: ['Administrator', 'User']
1939
+ enum: [
1940
+ 'Administrator',
1941
+ 'User'
1942
+ ]
1508
1943
  }
1509
1944
  },
1510
1945
  additionalProperties: false
1511
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'
2054
+ }
2055
+ },
2056
+ required: [
2057
+ 'data',
2058
+ 'facets'
2059
+ ],
2060
+ additionalProperties: false
2061
+ };
1512
2062
  export const UsageSchema = {
1513
2063
  type: 'object',
1514
2064
  properties: {
@@ -1519,90 +2069,40 @@ export const UsageSchema = {
1519
2069
  },
1520
2070
  cluster_id: {
1521
2071
  type: 'string',
1522
- format: 'uuid',
1523
2072
  description: 'Unique identifier of the kubernetes cluster. UUID v4 string in canonical form',
1524
2073
  example: '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
1525
2074
  },
1526
- cluster_tier: {
1527
- type: 'string',
1528
- description: 'Tier of the cluster.',
1529
- example: 'pro',
1530
- enum: ['basic', 'pro', '']
1531
- },
1532
2075
  product: {
1533
2076
  type: 'string',
1534
2077
  description: 'The product the usage is associated with',
1535
- example: 'cfke_controlplane',
1536
- enum: ['cfke_controlplane', 'cfke_connected_nodes', 'infra_compute', 'infra_storage', 'infra_loadbalancing', 'infra_traffic', 'cfcr_storage']
1537
- },
1538
- node_name: {
1539
- type: 'string',
1540
- description: 'Name of the Kubernetes node',
1541
- example: 'flexible-moth-956037384'
2078
+ example: 'cfke_controlplane'
1542
2079
  },
1543
- sku: {
1544
- type: 'string',
1545
- description: 'SKU of the Kubernetes node',
1546
- example: 'GCP-NORTHAMERICA-NORTHEAST1-A-G1-SMALL-SPOT'
1547
- },
1548
- cpu: {
1549
- anyOf: [
1550
- {
1551
- type: 'number',
1552
- format: 'float',
1553
- description: 'CPU core count of the node',
1554
- example: 4
1555
- },
1556
- {
1557
- type: 'string',
1558
- enum: ['']
1559
- }
1560
- ]
2080
+ value: {
2081
+ type: 'number',
2082
+ format: 'float',
2083
+ description: 'Consumption',
2084
+ example: 4
1561
2085
  },
1562
2086
  price: {
1563
- anyOf: [
1564
- {
1565
- type: 'number',
1566
- format: 'float',
1567
- description: 'Price',
1568
- example: 4
1569
- },
1570
- {
1571
- type: 'string',
1572
- enum: ['']
1573
- }
1574
- ]
1575
- },
1576
- value: {
1577
- anyOf: [
1578
- {
1579
- type: 'number',
1580
- format: 'float',
1581
- description: 'Value',
1582
- example: 4
1583
- },
1584
- {
1585
- type: 'string',
1586
- enum: ['']
1587
- }
1588
- ]
2087
+ type: 'number',
2088
+ format: 'float',
2089
+ description: 'Price per unit',
2090
+ example: 0.01
1589
2091
  },
1590
2092
  total: {
1591
- anyOf: [
1592
- {
1593
- type: 'number',
1594
- format: 'float',
1595
- description: 'Total',
1596
- example: 4
1597
- },
1598
- {
1599
- type: 'string',
1600
- enum: ['']
1601
- }
1602
- ]
2093
+ type: 'number',
2094
+ format: 'float',
2095
+ description: 'Total cost'
1603
2096
  }
1604
2097
  },
1605
- 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
+ ],
1606
2106
  additionalProperties: false
1607
2107
  };
1608
2108
  export const UserCreateInputSchema = {
@@ -1643,16 +2143,28 @@ export const UserCreateInputSchema = {
1643
2143
  type: 'string',
1644
2144
  description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
1645
2145
  example: 'active',
1646
- enum: ['active', 'inactive']
2146
+ enum: [
2147
+ 'active',
2148
+ 'inactive'
2149
+ ]
1647
2150
  },
1648
2151
  role: {
1649
2152
  type: 'string',
1650
- description: "User role. Can be 'Administrator', 'User'.",
2153
+ description: 'User role. Can be \'Administrator\', \'User\'.',
1651
2154
  example: 'User',
1652
- enum: ['Administrator', 'User']
2155
+ enum: [
2156
+ 'Administrator',
2157
+ 'User'
2158
+ ]
1653
2159
  }
1654
2160
  },
1655
- required: ['email', 'first_name', 'last_name', 'code', 'password'],
2161
+ required: [
2162
+ 'email',
2163
+ 'first_name',
2164
+ 'last_name',
2165
+ 'code',
2166
+ 'password'
2167
+ ],
1656
2168
  additionalProperties: false
1657
2169
  };
1658
2170
  export const UserSchema = {
@@ -1680,15 +2192,21 @@ export const UserSchema = {
1680
2192
  },
1681
2193
  role: {
1682
2194
  type: 'string',
1683
- description: "User role. Can be 'Administrator', 'User'.",
2195
+ description: 'User role. Can be \'Administrator\', \'User\'.',
1684
2196
  example: 'User',
1685
- enum: ['Administrator', 'User']
2197
+ enum: [
2198
+ 'Administrator',
2199
+ 'User'
2200
+ ]
1686
2201
  },
1687
2202
  status: {
1688
2203
  type: 'string',
1689
2204
  description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
1690
2205
  example: 'active',
1691
- enum: ['active', 'inactive']
2206
+ enum: [
2207
+ 'active',
2208
+ 'inactive'
2209
+ ]
1692
2210
  },
1693
2211
  id: {
1694
2212
  type: 'string',
@@ -1703,7 +2221,15 @@ export const UserSchema = {
1703
2221
  example: '2023-11-02T16:08:14.338Z'
1704
2222
  }
1705
2223
  },
1706
- 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
+ ],
1707
2233
  additionalProperties: false
1708
2234
  };
1709
2235
  export const UserUpdateInputSchema = {
@@ -1731,15 +2257,21 @@ export const UserUpdateInputSchema = {
1731
2257
  },
1732
2258
  role: {
1733
2259
  type: 'string',
1734
- description: "User role. Can be 'Administrator', 'User'.",
2260
+ description: 'User role. Can be \'Administrator\', \'User\'.',
1735
2261
  example: 'User',
1736
- enum: ['Administrator', 'User']
2262
+ enum: [
2263
+ 'Administrator',
2264
+ 'User'
2265
+ ]
1737
2266
  },
1738
2267
  status: {
1739
2268
  type: 'string',
1740
2269
  description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
1741
2270
  example: 'active',
1742
- enum: ['active', 'inactive']
2271
+ enum: [
2272
+ 'active',
2273
+ 'inactive'
2274
+ ]
1743
2275
  }
1744
2276
  },
1745
2277
  additionalProperties: false