@cloudfleet/sdk 0.0.1-cdcf1a9 → 0.0.1-d582884

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 +205 -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 +125 -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 +231 -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 +1 -1
  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 +18 -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 +34 -0
  30. package/dist/core/params.gen.d.ts.map +1 -0
  31. package/dist/core/params.gen.js +89 -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 +115 -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 +100 -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 +136 -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 +619 -584
  54. package/dist/schemas.gen.d.ts.map +1 -1
  55. package/dist/schemas.gen.js +633 -626
  56. package/dist/schemas.gen.js.map +1 -1
  57. package/dist/sdk.gen.d.ts +139 -76
  58. package/dist/sdk.gen.d.ts.map +1 -1
  59. package/dist/sdk.gen.js +183 -94
  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 +558 -356
  63. package/dist/types.gen.d.ts.map +1 -1
  64. package/dist/zod.gen.d.ts +1794 -2207
  65. package/dist/zod.gen.d.ts.map +1 -1
  66. package/dist/zod.gen.js +733 -792
  67. package/dist/zod.gen.js.map +1 -1
  68. package/package.json +5 -6
@@ -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',
@@ -82,7 +77,7 @@ export const BillingContactSchema = {
82
77
  enum: ['ad_nrt', 'ae_trn', 'al_tin', 'am_tin', 'ao_tin', 'ar_cuit', 'at_vat', 'au_abn', 'au_arn', 'ba_tin', 'bb_tin', 'be_vat', 'bg_uic', 'bg_vat', 'bh_vat', 'bo_tin', 'br_cnpj', 'br_cpf', 'bs_tin', 'by_tin', 'ca_bn', 'ca_gst_hst', 'ca_pst_bc', 'ca_pst_mb', 'ca_pst_sk', 'ca_qst', 'cd_nif', 'ch_uid', 'ch_vat', 'cl_tin', 'cn_tin', 'co_nit', 'cr_tin', 'cy_vat', 'cz_vat', 'de_stn', 'de_vat', 'dk_vat', 'do_rcn', 'ec_ruc', 'ee_vat', 'eg_tin', 'es_cif', 'es_vat', 'eu_oss_vat', 'fi_vat', 'fr_vat', 'gb_vat', 'ge_vat', 'gn_nif', 'gr_vat', 'hk_br', 'hr_oib', 'hr_vat', 'hu_tin', 'hu_vat', 'id_npwp', 'ie_vat', 'il_vat', 'in_gst', 'is_vat', 'it_vat', 'jp_cn', 'jp_rn', 'jp_trn', 'ke_pin', 'kh_tin', 'kr_brn', 'kz_bin', 'li_uid', 'li_vat', 'lt_vat', 'lu_vat', 'lv_vat', 'ma_vat', 'md_vat', 'me_pib', 'mk_vat', 'mr_nif', 'mt_vat', 'mx_rfc', 'my_frp', 'my_itn', 'my_sst', 'ng_tin', 'nl_vat', 'no_vat', 'no_voec', 'np_pan', 'nz_gst', 'om_vat', 'pe_ruc', 'ph_tin', 'pl_vat', 'pt_vat', 'ro_tin', 'ro_vat', 'rs_pib', 'ru_inn', 'ru_kpp', 'sa_vat', 'se_vat', 'sg_gst', 'sg_uen', 'si_tin', 'si_vat', 'sk_vat', 'sn_ninea', 'sr_fin', 'sv_nit', 'th_vat', 'tj_tin', 'tr_tin', 'tw_vat', 'tz_vat', 'ua_vat', 'ug_tin', 'us_ein', 'uy_ruc', 'uz_tin', 'uz_vat', 've_rif', 'vn_tin', 'xi_vat', 'za_vat', 'zm_tin', 'zw_tin', '']
83
78
  }
84
79
  },
85
- required: ['email', 'first_name', 'last_name'],
80
+ required: ['email', 'individual_name'],
86
81
  additionalProperties: false
87
82
  };
88
83
  export const BillingCreditsSchema = {
@@ -93,10 +88,22 @@ export const BillingCreditsSchema = {
93
88
  description: 'Generated unique identifier of the promotional code.',
94
89
  example: '7kUZnH7nnKUFfvc4NK2KQF'
95
90
  },
96
- date_created: {
91
+ type: {
92
+ type: 'string',
93
+ description: 'Type of the promotional code.',
94
+ example: 'credit',
95
+ enum: ['credit', 'discount']
96
+ },
97
+ date_start: {
98
+ type: 'string',
99
+ format: 'date-time',
100
+ description: 'Timestamp when the credit becomes active. ISO 8601 date string in the UTC timezone.',
101
+ example: '2023-12-20T13:53:32.000Z'
102
+ },
103
+ date_end: {
97
104
  type: 'string',
98
105
  format: 'date-time',
99
- description: 'Date of the credit application. ISO 8601 date string in the UTC timezone.',
106
+ description: 'Timestamp when the credit expires or becomes inactive. ISO 8601 date string in the UTC timezone.',
100
107
  example: '2023-12-20T13:53:32.000Z'
101
108
  },
102
109
  code: {
@@ -109,40 +116,20 @@ export const BillingCreditsSchema = {
109
116
  description: 'Description of the promotional code.',
110
117
  example: '10% off on all products'
111
118
  },
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: {
119
+ value_total: {
127
120
  type: 'number',
128
121
  format: 'float',
129
- description: 'Value of the promotional code.',
122
+ description: 'Total value of the promotional code.',
130
123
  example: 10
131
124
  },
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
125
  value_remaining: {
139
126
  type: 'number',
140
127
  format: 'float',
141
- description: 'Value of the promotional code.',
142
- example: 10
128
+ description: 'Remaining value of the promotional code.',
129
+ example: 8
143
130
  }
144
131
  },
145
- required: ['date_created', 'code', 'type', 'value', 'billing_period'],
132
+ required: ['type', 'date_start', 'code', 'value_total'],
146
133
  additionalProperties: false
147
134
  };
148
135
  export const ChartCreateInputSchema = {
@@ -281,25 +268,26 @@ export const ClusterCreateInputSchema = {
281
268
  description: 'Name of the cluster.',
282
269
  example: 'production-cluster'
283
270
  },
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
271
  tier: {
292
272
  type: 'string',
293
273
  description: 'Tier of the cluster.',
294
274
  example: 'pro',
295
275
  enum: ['basic', 'pro']
296
276
  },
277
+ region: {
278
+ type: 'string',
279
+ description: 'Cloudfleet control plane region. One of "staging", "northamerica-central-1", "europe-central-1a", "northamerica-central-1a". This field can not be updated after creation.',
280
+ default: 'staging',
281
+ example: 'northamerica-central-1a',
282
+ enum: ['staging', 'northamerica-central-1', 'europe-central-1a', 'northamerica-central-1a']
283
+ },
297
284
  version_channel: {
298
285
  type: 'string',
299
286
  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
287
  description: 'Version of the kubernetes cluster.',
301
288
  default: '1.x.x-cfke.x',
302
- example: '1.29.x-cfke.x'
289
+ example: '1.x.x-cfke.x',
290
+ enum: ['1.x.x-cfke.x', '1.31.x-cfke.x', '1.32.x-cfke.x', '1.33.x-cfke.x']
303
291
  }
304
292
  },
305
293
  required: ['name', 'tier'],
@@ -336,7 +324,7 @@ MIIC0DCCAbigAwIBAgI...`
336
324
  kubernetes: {
337
325
  type: 'string',
338
326
  description: 'Kubernetes version of the cluster.',
339
- example: '1.29.3'
327
+ example: '1.33.7'
340
328
  },
341
329
  tailscale: {
342
330
  type: 'string',
@@ -347,9 +335,14 @@ MIIC0DCCAbigAwIBAgI...`
347
335
  type: 'string',
348
336
  description: 'Containerd version of the cluster.',
349
337
  example: '1.7.19'
338
+ },
339
+ nvidia_driver: {
340
+ type: 'string',
341
+ description: 'NVIDIA driver version of the cluster.',
342
+ example: '565.0.0'
350
343
  }
351
344
  },
352
- required: ['kubernetes', 'tailscale', 'containerd'],
345
+ required: ['kubernetes', 'tailscale', 'containerd', 'nvidia_driver'],
353
346
  additionalProperties: false,
354
347
  description: 'Versions of the different components of the cluster.'
355
348
  },
@@ -391,25 +384,18 @@ export const ClusterSchema = {
391
384
  description: 'Name of the cluster.',
392
385
  example: 'production-cluster'
393
386
  },
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
387
  tier: {
402
388
  type: 'string',
403
389
  description: 'Tier of the cluster.',
404
390
  example: 'pro',
405
391
  enum: ['basic', 'pro']
406
392
  },
407
- version_channel: {
393
+ region: {
408
394
  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'
395
+ description: 'Cloudfleet control plane region. One of "staging", "northamerica-central-1", "europe-central-1a", "northamerica-central-1a". This field can not be updated after creation.',
396
+ default: 'staging',
397
+ example: 'northamerica-central-1a',
398
+ enum: ['staging', 'northamerica-central-1', 'europe-central-1a', 'northamerica-central-1a']
413
399
  },
414
400
  id: {
415
401
  type: 'string',
@@ -421,7 +407,7 @@ export const ClusterSchema = {
421
407
  type: 'string',
422
408
  description: 'Status of the cluster. When creating a new cluster, set to `active`. When deleting a clusters, set to `deleted`.',
423
409
  example: 'active',
424
- enum: ['active', 'deleted', 'creating', 'deployed', 'failed', 'updating']
410
+ enum: ['active', 'disabled', 'deleted', 'creating', 'deployed', 'failed', 'updating']
425
411
  },
426
412
  endpoint: {
427
413
  anyOf: [
@@ -446,7 +432,7 @@ MIIC0DCCAbigAwIBAgI...`
446
432
  version_current: {
447
433
  type: 'string',
448
434
  description: 'Current version of the cluster.',
449
- example: '1.29.3-cfke.52'
435
+ example: '1.33.7-cfke.264'
450
436
  },
451
437
  created_at: {
452
438
  type: 'string',
@@ -462,6 +448,12 @@ MIIC0DCCAbigAwIBAgI...`
462
448
  type: 'boolean',
463
449
  description: 'Indicates if the cluster is ready to be used.',
464
450
  example: true
451
+ },
452
+ version_channel: {
453
+ type: 'string',
454
+ 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-]+)*))?$',
455
+ description: 'Version of the kubernetes cluster.',
456
+ example: '1.x.x-cfke.x'
465
457
  }
466
458
  },
467
459
  required: ['name', 'tier', 'id', 'status'],
@@ -478,13 +470,20 @@ export const ClusterUpdateInputSchema = {
478
470
  description: 'Name of the cluster.',
479
471
  example: 'production-cluster'
480
472
  },
473
+ tier: {
474
+ type: 'string',
475
+ description: 'Tier of the cluster.',
476
+ example: 'pro',
477
+ enum: ['basic', 'pro']
478
+ },
481
479
  version_channel: {
482
480
  type: 'string',
483
481
  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
482
  description: 'Version of the kubernetes cluster.',
485
- example: '1.29.x-cfke.x'
483
+ example: '1.x.x-cfke.x'
486
484
  }
487
485
  },
486
+ required: ['tier'],
488
487
  additionalProperties: false
489
488
  };
490
489
  export const FleetCreateInputSchema = {
@@ -520,34 +519,19 @@ export const FleetCreateInputSchema = {
520
519
  additionalProperties: false
521
520
  },
522
521
  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
522
+ type: 'object',
523
+ properties: {
524
+ enabled: {
525
+ type: 'boolean',
526
+ default: true
536
527
  },
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
528
+ apiKey: {
529
+ type: 'string',
530
+ description: 'Hetzner Cloud API key with read / write access'
549
531
  }
550
- ]
532
+ },
533
+ required: ['apiKey'],
534
+ additionalProperties: false
551
535
  },
552
536
  aws: {
553
537
  type: 'object',
@@ -571,14 +555,9 @@ export const FleetCreateInputSchema = {
571
555
  pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
572
556
  description: 'Unique identifier of the kubernetes fleet.',
573
557
  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
558
  }
580
559
  },
581
- required: ['id', 'type'],
560
+ required: ['id'],
582
561
  additionalProperties: false
583
562
  };
584
563
  export const FleetSchema = {
@@ -614,34 +593,19 @@ export const FleetSchema = {
614
593
  additionalProperties: false
615
594
  },
616
595
  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
596
+ type: 'object',
597
+ properties: {
598
+ enabled: {
599
+ type: 'boolean',
600
+ default: true
630
601
  },
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
602
+ apiKey: {
603
+ type: 'string',
604
+ description: 'Hetzner Cloud API key with read / write access'
643
605
  }
644
- ]
606
+ },
607
+ required: ['apiKey'],
608
+ additionalProperties: false
645
609
  },
646
610
  aws: {
647
611
  type: 'object',
@@ -665,14 +629,9 @@ export const FleetSchema = {
665
629
  pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
666
630
  description: 'Unique identifier of the kubernetes fleet.',
667
631
  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
632
  }
674
633
  },
675
- required: ['id', 'type'],
634
+ required: ['id'],
676
635
  additionalProperties: false
677
636
  };
678
637
  export const FleetUpdateInputSchema = {
@@ -708,34 +667,19 @@ export const FleetUpdateInputSchema = {
708
667
  additionalProperties: false
709
668
  },
710
669
  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
670
+ type: 'object',
671
+ properties: {
672
+ enabled: {
673
+ type: 'boolean',
674
+ default: true
724
675
  },
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
676
+ apiKey: {
677
+ type: 'string',
678
+ description: 'Hetzner Cloud API key with read / write access'
737
679
  }
738
- ]
680
+ },
681
+ required: ['apiKey'],
682
+ additionalProperties: false
739
683
  },
740
684
  aws: {
741
685
  type: 'object',
@@ -795,23 +739,18 @@ export const InvoiceSchema = {
795
739
  properties: {
796
740
  id: {
797
741
  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'
742
+ description: 'Unique identifier of the invoice.',
743
+ example: 'in_1234567890xCrwxghOTj1234'
801
744
  },
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'
745
+ number: {
746
+ type: 'string'
807
747
  },
808
748
  status: {
809
749
  type: 'string',
810
750
  description: 'Status of the invoice',
811
- example: 'DRAFT',
812
- enum: ['DRAFT', 'COMMITTED', 'VOID']
751
+ example: 'paid'
813
752
  },
814
- amount: {
753
+ total: {
815
754
  type: 'number',
816
755
  format: 'float',
817
756
  description: 'Total amount of the invoice',
@@ -820,413 +759,170 @@ export const InvoiceSchema = {
820
759
  currency: {
821
760
  type: 'string',
822
761
  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
762
+ example: 'usd'
831
763
  },
832
- refundAdj: {
833
- type: 'number',
834
- format: 'float',
835
- description: 'Total amount of refund adjustments',
836
- example: 0
764
+ created: {
765
+ type: 'string',
766
+ format: 'date-time',
767
+ description: 'Timestamp when the invoice was issued. ISO 8601 date string in the UTC timezone.',
768
+ example: '2023-12-20T13:53:32.000Z'
837
769
  },
838
- invoiceDate: {
770
+ period_start: {
839
771
  type: 'string',
840
- description: 'Date of the invoice',
841
- example: '2019-01-01T00:00:00.000Z'
772
+ format: 'date-time',
773
+ description: 'Billing period start timestamp. ISO 8601 date string in the UTC timezone.',
774
+ example: '2023-12-20T13:53:32.000Z'
842
775
  },
843
- targetDate: {
776
+ period_end: {
844
777
  type: 'string',
845
- description: 'Target date of the invoice',
846
- example: '2019-01-01T00:00:00.000Z'
778
+ format: 'date-time',
779
+ description: 'Billing period end timestamp. ISO 8601 date string in the UTC timezone.',
780
+ example: '2023-12-20T13:53:32.000Z'
847
781
  },
848
- invoiceNumber: {
782
+ invoice_pdf: {
783
+ type: 'string'
784
+ }
785
+ },
786
+ required: ['created', 'period_start', 'period_end'],
787
+ additionalProperties: false
788
+ };
789
+ export const MarketplaceListingFilesSchema = {
790
+ type: 'object',
791
+ properties: {
792
+ chartYaml: {
849
793
  type: 'string',
850
- description: 'Number of the invoice',
851
- example: 'INV-0001'
794
+ description: 'Raw Chart.yaml content from the Helm chart',
795
+ example: `apiVersion: v2
796
+ name: nginx-ingress
797
+ version: 1.18.2-cfke.45
798
+ appVersion: 1.9.4`
852
799
  },
853
- balance: {
854
- type: 'number',
855
- format: 'float',
856
- description: 'Balance of the invoice',
857
- example: 100
800
+ valuesYaml: {
801
+ type: 'string',
802
+ description: 'Raw values.yaml content from the Helm chart',
803
+ example: `replicaCount: 1
804
+ image:
805
+ repository: nginx
806
+ tag: latest`
858
807
  },
859
- bundleKeys: {
808
+ valuesSchemaJson: {
809
+ type: 'string',
810
+ description: 'JSON schema for values.yaml as a string',
811
+ example: '{"type":"object","properties":{"replicaCount":{"type":"number"}}}'
812
+ }
813
+ },
814
+ additionalProperties: false
815
+ };
816
+ export const MarketplaceListingSchema = {
817
+ type: 'object',
818
+ properties: {
819
+ name: {
860
820
  type: 'string',
861
- description: 'Bundle keys of the invoice',
862
- example: 'bundleKey1,bundleKey2'
821
+ description: 'Name of the chart',
822
+ example: 'nginx-ingress'
863
823
  },
864
- credits: {
824
+ versions: {
865
825
  type: 'array',
866
826
  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
827
+ type: 'string',
828
+ 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-]+)*))?$',
829
+ description: 'Specific version of the chart',
830
+ example: '1.18.2-cfke.45'
1002
831
  },
1003
- description: 'Credits of the invoice'
832
+ description: 'Available versions of the chart'
1004
833
  },
1005
- items: {
834
+ version_channels: {
1006
835
  type: 'array',
1007
836
  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'
837
+ type: 'string',
838
+ 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-]+)*))?$',
839
+ description: 'Version channel pattern',
840
+ example: '1.18.x-cfke.x'
841
+ },
842
+ description: 'Version channels for the chart'
843
+ },
844
+ latestVersion: {
845
+ type: 'string',
846
+ description: 'Latest version of the chart',
847
+ example: '1.18.2-cfke.45'
848
+ },
849
+ metadata: {
850
+ type: 'object',
851
+ properties: {
852
+ name: {
853
+ type: 'string',
854
+ description: 'Chart name from metadata',
855
+ example: 'nginx-ingress'
856
+ },
857
+ version: {
858
+ type: 'string',
859
+ description: 'Chart version from metadata',
860
+ example: '1.18.2-cfke.45'
861
+ },
862
+ description: {
863
+ type: 'string',
864
+ description: 'Chart description',
865
+ example: 'NGINX Ingress Controller for Kubernetes'
866
+ },
867
+ appVersion: {
868
+ type: 'string',
869
+ description: 'Application version',
870
+ example: '1.9.4'
871
+ },
872
+ apiVersion: {
873
+ type: 'string',
874
+ description: 'Helm API version',
875
+ example: 'v2'
876
+ },
877
+ keywords: {
878
+ type: 'array',
879
+ items: {
880
+ type: 'string'
1021
881
  },
1022
- productName: {
1023
- type: 'string',
1024
- description: 'Name of the product',
1025
- example: 'Research team'
882
+ description: 'Chart keywords',
883
+ example: ['ingress', 'nginx', 'load-balancer']
884
+ },
885
+ home: {
886
+ type: 'string',
887
+ description: 'Chart home URL',
888
+ example: 'https://kubernetes.github.io/ingress-nginx/'
889
+ },
890
+ sources: {
891
+ type: 'array',
892
+ items: {
893
+ type: 'string'
1026
894
  },
1027
- planName: {
1028
- type: 'string',
1029
- description: 'Name of the plan',
1030
- example: 'Plan A'
895
+ description: 'Chart source URLs',
896
+ example: ['https://github.com/kubernetes/ingress-nginx']
897
+ },
898
+ maintainers: {
899
+ type: 'array',
900
+ items: {
901
+ type: 'object',
902
+ properties: {
903
+ name: {
904
+ type: 'string',
905
+ description: 'Maintainer name',
906
+ example: 'NGINX Team'
907
+ },
908
+ email: {
909
+ type: 'string',
910
+ description: 'Maintainer email',
911
+ example: 'support@nginx.org'
912
+ }
913
+ },
914
+ required: ['name'],
915
+ additionalProperties: false
1031
916
  },
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
- }
1141
- },
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'
917
+ description: 'Chart maintainers'
918
+ }
1190
919
  },
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'
1216
- },
1217
- placeholder: {
1218
- type: 'string',
1219
- description: 'Schema of the chart values',
1220
- example: `foo: 1
1221
- bar: example`
1222
- }
1223
- },
1224
- required: ['version', 'schema', 'placeholder'],
1225
- additionalProperties: false
1226
- }
920
+ required: ['name', 'version'],
921
+ additionalProperties: false,
922
+ description: 'Chart metadata'
1227
923
  }
1228
924
  },
1229
- required: ['id', 'name', 'developer', 'description', 'logoUrl', 'longDescription', 'categories', 'version_channels', 'value_schemas'],
925
+ required: ['name', 'versions', 'version_channels', 'latestVersion'],
1230
926
  additionalProperties: false
1231
927
  };
1232
928
  export const OrganizationCreateInputSchema = {
@@ -1318,12 +1014,6 @@ export const OrganizationSchema = {
1318
1014
  description: 'Maximum number of fleets that can be created per cluster.',
1319
1015
  example: 999
1320
1016
  },
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
1017
  cluster_tiers: {
1328
1018
  type: 'array',
1329
1019
  items: {
@@ -1350,12 +1040,12 @@ export const OrganizationSchema = {
1350
1040
  id: {
1351
1041
  type: 'string',
1352
1042
  description: 'Id of the control plane version. Used in API calls.',
1353
- example: '1.29.x-cfke.x'
1043
+ example: '1.33.x-cfke.x'
1354
1044
  },
1355
1045
  label: {
1356
1046
  type: 'string',
1357
1047
  description: 'Label of the control plane version. Used in frontent UI.',
1358
- example: '1.29.x (Always latest 1.29 patch version)'
1048
+ example: '1.33.x (Always latest 1.33 patch version)'
1359
1049
  }
1360
1050
  },
1361
1051
  required: ['id', 'label'],
@@ -1363,9 +1053,21 @@ export const OrganizationSchema = {
1363
1053
  },
1364
1054
  minItems: 1,
1365
1055
  description: 'List of CFKE control plane versions available for the organization.'
1056
+ },
1057
+ copilot_user_hourly_tokens: {
1058
+ type: 'integer',
1059
+ minimum: 0,
1060
+ description: 'User-level maximum number of tokens Cloudfleet Copilot can process per hour.',
1061
+ example: 42000
1062
+ },
1063
+ copilot_organization_hourly_tokens: {
1064
+ type: 'integer',
1065
+ minimum: 0,
1066
+ description: 'Organization-level maximum number of tokens Cloudfleet Copilot can process per hour.',
1067
+ example: 242000
1366
1068
  }
1367
1069
  },
1368
- required: ['basic_clusters_max', 'basic_clusters_available', 'pro_clusters_max', 'pro_clusters_available', 'fleets_max', 'managed_fleets_cpu_max', 'cluster_tiers', 'regions', 'versions'],
1070
+ required: ['basic_clusters_max', 'basic_clusters_available', 'pro_clusters_max', 'pro_clusters_available', 'fleets_max', 'cluster_tiers', 'regions', 'versions', 'copilot_user_hourly_tokens', 'copilot_organization_hourly_tokens'],
1369
1071
  additionalProperties: false,
1370
1072
  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
1073
  },
@@ -1431,6 +1133,273 @@ export const PaymentMethodSchema = {
1431
1133
  required: ['id', 'setup', 'type', 'last4', 'exp_month', 'exp_year', 'brand'],
1432
1134
  additionalProperties: false
1433
1135
  };
1136
+ export const PlatformQuotaSchema = {
1137
+ type: 'object',
1138
+ properties: {
1139
+ basic_clusters_max: {
1140
+ type: 'integer',
1141
+ minimum: 0,
1142
+ description: 'Maximum number of Basic clusters that can be created.',
1143
+ example: 999
1144
+ },
1145
+ basic_clusters_available: {
1146
+ type: 'integer',
1147
+ description: 'Available number of Basic clusters that can be created.',
1148
+ example: 999
1149
+ },
1150
+ pro_clusters_max: {
1151
+ type: 'integer',
1152
+ minimum: 0,
1153
+ description: 'Maximum number of Pro clusters that can be created.',
1154
+ example: 999
1155
+ },
1156
+ pro_clusters_available: {
1157
+ type: 'integer',
1158
+ description: 'Available number of Pro clusters that can be created.',
1159
+ example: 999
1160
+ },
1161
+ fleets_max: {
1162
+ type: 'integer',
1163
+ minimum: 0,
1164
+ description: 'Maximum number of fleets that can be created per cluster.',
1165
+ example: 999
1166
+ },
1167
+ cluster_tiers: {
1168
+ type: 'array',
1169
+ items: {
1170
+ type: 'string',
1171
+ example: 'basic'
1172
+ },
1173
+ minItems: 0,
1174
+ description: 'List of Cloudfleet cluster tiers available for the organization.'
1175
+ },
1176
+ regions: {
1177
+ type: 'array',
1178
+ items: {
1179
+ type: 'string',
1180
+ example: 'northamerica-central-1'
1181
+ },
1182
+ minItems: 1,
1183
+ description: 'List of Cloudfleet control plane regions available for the organization.'
1184
+ },
1185
+ versions: {
1186
+ type: 'array',
1187
+ items: {
1188
+ type: 'object',
1189
+ properties: {
1190
+ id: {
1191
+ type: 'string',
1192
+ description: 'Id of the control plane version. Used in API calls.',
1193
+ example: '1.33.x-cfke.x'
1194
+ },
1195
+ label: {
1196
+ type: 'string',
1197
+ description: 'Label of the control plane version. Used in frontent UI.',
1198
+ example: '1.33.x (Always latest 1.33 patch version)'
1199
+ }
1200
+ },
1201
+ required: ['id', 'label'],
1202
+ additionalProperties: false
1203
+ },
1204
+ minItems: 1,
1205
+ description: 'List of CFKE control plane versions available for the organization.'
1206
+ },
1207
+ copilot_user_hourly_tokens: {
1208
+ type: 'integer',
1209
+ minimum: 0,
1210
+ description: 'User-level maximum number of tokens Cloudfleet Copilot can process per hour.',
1211
+ example: 42000
1212
+ },
1213
+ copilot_organization_hourly_tokens: {
1214
+ type: 'integer',
1215
+ minimum: 0,
1216
+ description: 'Organization-level maximum number of tokens Cloudfleet Copilot can process per hour.',
1217
+ example: 242000
1218
+ }
1219
+ },
1220
+ required: ['basic_clusters_max', 'basic_clusters_available', 'pro_clusters_max', 'pro_clusters_available', 'fleets_max', 'cluster_tiers', 'regions', 'versions', 'copilot_user_hourly_tokens', 'copilot_organization_hourly_tokens'],
1221
+ additionalProperties: false
1222
+ };
1223
+ export const RegistryRepositorySchema = {
1224
+ type: 'object',
1225
+ properties: {
1226
+ name: {
1227
+ type: 'string',
1228
+ description: 'Repository name.',
1229
+ example: 'my-app'
1230
+ },
1231
+ region: {
1232
+ type: 'string',
1233
+ description: 'Registry region.',
1234
+ example: 'northamerica'
1235
+ },
1236
+ uri: {
1237
+ type: 'string',
1238
+ description: 'Full URI of the repository.',
1239
+ example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/v2/my-app'
1240
+ }
1241
+ },
1242
+ required: ['name', 'region', 'uri'],
1243
+ additionalProperties: false
1244
+ };
1245
+ export const RegistryRepositoryWithTagsSchema = {
1246
+ type: 'object',
1247
+ properties: {
1248
+ name: {
1249
+ type: 'string',
1250
+ description: 'Repository name.',
1251
+ example: 'my-app'
1252
+ },
1253
+ region: {
1254
+ type: 'string',
1255
+ description: 'Registry region.',
1256
+ example: 'northamerica'
1257
+ },
1258
+ uri: {
1259
+ type: 'string',
1260
+ description: 'Full URI of the repository.',
1261
+ example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/v2/my-app'
1262
+ },
1263
+ tags: {
1264
+ type: 'array',
1265
+ items: {
1266
+ type: 'object',
1267
+ properties: {
1268
+ name: {
1269
+ type: 'string',
1270
+ description: 'Tag name.',
1271
+ example: 'latest'
1272
+ },
1273
+ size: {
1274
+ type: 'number',
1275
+ format: 'float',
1276
+ description: 'Size of the tag in bytes.',
1277
+ example: 123456789
1278
+ },
1279
+ mediaType: {
1280
+ type: 'string',
1281
+ description: 'Media type of the manifest.',
1282
+ example: 'application/vnd.docker.distribution.manifest.v2+json'
1283
+ }
1284
+ },
1285
+ required: ['name', 'size'],
1286
+ additionalProperties: false
1287
+ },
1288
+ description: 'Array of tags in the repository.'
1289
+ },
1290
+ totalSize: {
1291
+ type: 'number',
1292
+ format: 'float',
1293
+ description: 'Total size of all tags in the repository in bytes.',
1294
+ example: 987654321
1295
+ }
1296
+ },
1297
+ required: ['name', 'region', 'uri', 'tags', 'totalSize'],
1298
+ additionalProperties: false
1299
+ };
1300
+ export const RegistryTagSchema = {
1301
+ type: 'object',
1302
+ properties: {
1303
+ name: {
1304
+ type: 'string',
1305
+ description: 'Tag name.',
1306
+ example: 'latest'
1307
+ },
1308
+ mediaType: {
1309
+ type: 'string',
1310
+ description: 'Media type of the manifest.',
1311
+ example: 'application/vnd.docker.distribution.manifest.v2+json'
1312
+ },
1313
+ config: {
1314
+ type: 'object',
1315
+ properties: {
1316
+ size: {
1317
+ type: 'number',
1318
+ format: 'float',
1319
+ description: 'Size of the config in bytes.',
1320
+ example: 1234
1321
+ }
1322
+ },
1323
+ required: ['size'],
1324
+ additionalProperties: false,
1325
+ description: 'Manifest config metadata.'
1326
+ },
1327
+ layers: {
1328
+ type: 'array',
1329
+ items: {
1330
+ type: 'object',
1331
+ properties: {
1332
+ size: {
1333
+ type: 'number',
1334
+ format: 'float',
1335
+ description: 'Size of the layer in bytes.',
1336
+ example: 5678
1337
+ }
1338
+ },
1339
+ required: ['size'],
1340
+ additionalProperties: false
1341
+ },
1342
+ description: 'Array of layer metadata.'
1343
+ },
1344
+ manifests: {
1345
+ type: 'array',
1346
+ items: {
1347
+ type: 'object',
1348
+ properties: {
1349
+ digest: {
1350
+ type: 'string',
1351
+ description: 'Digest of the manifest.',
1352
+ example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
1353
+ },
1354
+ platform: {
1355
+ type: 'object',
1356
+ properties: {
1357
+ architecture: {
1358
+ type: 'string',
1359
+ description: 'Architecture of the platform.',
1360
+ example: 'amd64'
1361
+ },
1362
+ os: {
1363
+ type: 'string',
1364
+ description: 'Operating system of the platform.',
1365
+ example: 'linux'
1366
+ }
1367
+ },
1368
+ required: ['architecture', 'os'],
1369
+ additionalProperties: false,
1370
+ description: 'Platform information for the manifest.'
1371
+ }
1372
+ },
1373
+ required: ['digest'],
1374
+ additionalProperties: false
1375
+ },
1376
+ description: 'Array of manifests for multi-arch images.'
1377
+ },
1378
+ size: {
1379
+ type: 'number',
1380
+ format: 'float',
1381
+ description: 'Total size of the tag in bytes.',
1382
+ example: 123456789
1383
+ },
1384
+ region: {
1385
+ type: 'string',
1386
+ description: 'Registry region.',
1387
+ example: 'northamerica'
1388
+ },
1389
+ repository: {
1390
+ type: 'string',
1391
+ description: 'Repository name.',
1392
+ example: 'my-app'
1393
+ },
1394
+ uri: {
1395
+ type: 'string',
1396
+ description: 'Full URI of the tag.',
1397
+ example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app:latest'
1398
+ }
1399
+ },
1400
+ required: ['name', 'size', 'region', 'repository', 'uri'],
1401
+ additionalProperties: false
1402
+ };
1434
1403
  export const TokenCreateInputSchema = {
1435
1404
  type: 'object',
1436
1405
  properties: {
@@ -1509,6 +1478,101 @@ export const TokenUpdateInputSchema = {
1509
1478
  },
1510
1479
  additionalProperties: false
1511
1480
  };
1481
+ export const UsageFacetsSchema = {
1482
+ type: 'object',
1483
+ properties: {
1484
+ cluster_id: {
1485
+ type: 'array',
1486
+ items: {
1487
+ type: 'string'
1488
+ },
1489
+ description: 'List of unique cluster IDs',
1490
+ example: ['6b5439b1-923a-4f2b-a371-d554e5ea23fa']
1491
+ },
1492
+ product: {
1493
+ type: 'array',
1494
+ items: {
1495
+ type: 'string'
1496
+ },
1497
+ description: 'List of unique products',
1498
+ example: ['cfke_controlplane', 'cfke_connected_nodes']
1499
+ }
1500
+ },
1501
+ additionalProperties: false
1502
+ };
1503
+ export const UsageResponseSchema = {
1504
+ type: 'object',
1505
+ properties: {
1506
+ data: {
1507
+ type: 'array',
1508
+ items: {
1509
+ type: 'object',
1510
+ properties: {
1511
+ hour: {
1512
+ type: 'string',
1513
+ description: 'Hour of the usage',
1514
+ example: '2019-01-01T00:00:00.000Z'
1515
+ },
1516
+ cluster_id: {
1517
+ type: 'string',
1518
+ description: 'Unique identifier of the kubernetes cluster. UUID v4 string in canonical form',
1519
+ example: '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
1520
+ },
1521
+ product: {
1522
+ type: 'string',
1523
+ description: 'The product the usage is associated with',
1524
+ example: 'cfke_controlplane'
1525
+ },
1526
+ value: {
1527
+ type: 'number',
1528
+ format: 'float',
1529
+ description: 'Consumption',
1530
+ example: 4
1531
+ },
1532
+ price: {
1533
+ type: 'number',
1534
+ format: 'float',
1535
+ description: 'Price per unit',
1536
+ example: 0.01
1537
+ },
1538
+ total: {
1539
+ type: 'number',
1540
+ format: 'float',
1541
+ description: 'Total cost'
1542
+ }
1543
+ },
1544
+ required: ['hour', 'cluster_id', 'product', 'value', 'price', 'total'],
1545
+ additionalProperties: false
1546
+ },
1547
+ description: 'Usage data'
1548
+ },
1549
+ facets: {
1550
+ type: 'object',
1551
+ properties: {
1552
+ cluster_id: {
1553
+ type: 'array',
1554
+ items: {
1555
+ type: 'string'
1556
+ },
1557
+ description: 'List of unique cluster IDs',
1558
+ example: ['6b5439b1-923a-4f2b-a371-d554e5ea23fa']
1559
+ },
1560
+ product: {
1561
+ type: 'array',
1562
+ items: {
1563
+ type: 'string'
1564
+ },
1565
+ description: 'List of unique products',
1566
+ example: ['cfke_controlplane', 'cfke_connected_nodes']
1567
+ }
1568
+ },
1569
+ additionalProperties: false,
1570
+ description: 'Facets for filtering'
1571
+ }
1572
+ },
1573
+ required: ['data', 'facets'],
1574
+ additionalProperties: false
1575
+ };
1512
1576
  export const UsageSchema = {
1513
1577
  type: 'object',
1514
1578
  properties: {
@@ -1519,90 +1583,33 @@ export const UsageSchema = {
1519
1583
  },
1520
1584
  cluster_id: {
1521
1585
  type: 'string',
1522
- format: 'uuid',
1523
1586
  description: 'Unique identifier of the kubernetes cluster. UUID v4 string in canonical form',
1524
1587
  example: '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
1525
1588
  },
1526
- cluster_tier: {
1527
- type: 'string',
1528
- description: 'Tier of the cluster.',
1529
- example: 'pro',
1530
- enum: ['basic', 'pro', '']
1531
- },
1532
1589
  product: {
1533
1590
  type: 'string',
1534
1591
  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']
1592
+ example: 'cfke_controlplane'
1537
1593
  },
1538
- node_name: {
1539
- type: 'string',
1540
- description: 'Name of the Kubernetes node',
1541
- example: 'flexible-moth-956037384'
1542
- },
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
- ]
1594
+ value: {
1595
+ type: 'number',
1596
+ format: 'float',
1597
+ description: 'Consumption',
1598
+ example: 4
1561
1599
  },
1562
1600
  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
- ]
1601
+ type: 'number',
1602
+ format: 'float',
1603
+ description: 'Price per unit',
1604
+ example: 0.01
1589
1605
  },
1590
1606
  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
- ]
1607
+ type: 'number',
1608
+ format: 'float',
1609
+ description: 'Total cost'
1603
1610
  }
1604
1611
  },
1605
- required: ['cluster_id', 'cluster_tier', 'product', 'node_name', 'sku', 'cpu', 'price', 'value', 'total'],
1612
+ required: ['hour', 'cluster_id', 'product', 'value', 'price', 'total'],
1606
1613
  additionalProperties: false
1607
1614
  };
1608
1615
  export const UserCreateInputSchema = {