@cloudfleet/sdk 0.0.1-e9052b2 → 0.0.1-ecad9ab

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 +524 -467
  54. package/dist/schemas.gen.d.ts.map +1 -1
  55. package/dist/schemas.gen.js +539 -501
  56. package/dist/schemas.gen.js.map +1 -1
  57. package/dist/sdk.gen.d.ts +132 -62
  58. package/dist/sdk.gen.d.ts.map +1 -1
  59. package/dist/sdk.gen.js +162 -73
  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 +518 -324
  63. package/dist/types.gen.d.ts.map +1 -1
  64. package/dist/zod.gen.d.ts +1636 -2581
  65. package/dist/zod.gen.d.ts.map +1 -1
  66. package/dist/zod.gen.js +587 -919
  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 = {
@@ -289,17 +276,17 @@ export const ClusterCreateInputSchema = {
289
276
  },
290
277
  region: {
291
278
  type: 'string',
292
- description: 'Cloudfleet control plane region. One of "staging", "northamerica-central-1", "europe-central-1a". This field can not be updated after creation.',
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.',
293
280
  default: 'staging',
294
- example: 'northamerica-central-1',
295
- enum: ['staging', 'northamerica-central-1', 'europe-central-1a']
281
+ example: 'northamerica-central-1a',
282
+ enum: ['staging', 'northamerica-central-1', 'europe-central-1a', 'northamerica-central-1a']
296
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.33.x-cfke.x'
303
290
  }
304
291
  },
305
292
  required: ['name', 'tier'],
@@ -336,7 +323,7 @@ MIIC0DCCAbigAwIBAgI...`
336
323
  kubernetes: {
337
324
  type: 'string',
338
325
  description: 'Kubernetes version of the cluster.',
339
- example: '1.29.3'
326
+ example: '1.33.7'
340
327
  },
341
328
  tailscale: {
342
329
  type: 'string',
@@ -347,9 +334,14 @@ MIIC0DCCAbigAwIBAgI...`
347
334
  type: 'string',
348
335
  description: 'Containerd version of the cluster.',
349
336
  example: '1.7.19'
337
+ },
338
+ nvidia_driver: {
339
+ type: 'string',
340
+ description: 'NVIDIA driver version of the cluster.',
341
+ example: '565.0.0'
350
342
  }
351
343
  },
352
- required: ['kubernetes', 'tailscale', 'containerd'],
344
+ required: ['kubernetes', 'tailscale', 'containerd', 'nvidia_driver'],
353
345
  additionalProperties: false,
354
346
  description: 'Versions of the different components of the cluster.'
355
347
  },
@@ -399,17 +391,17 @@ export const ClusterSchema = {
399
391
  },
400
392
  region: {
401
393
  type: 'string',
402
- description: 'Cloudfleet control plane region. One of "staging", "northamerica-central-1", "europe-central-1a". This field can not be updated after creation.',
394
+ 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.',
403
395
  default: 'staging',
404
- example: 'northamerica-central-1',
405
- enum: ['staging', 'northamerica-central-1', 'europe-central-1a']
396
+ example: 'northamerica-central-1a',
397
+ enum: ['staging', 'northamerica-central-1', 'europe-central-1a', 'northamerica-central-1a']
406
398
  },
407
399
  version_channel: {
408
400
  type: 'string',
409
401
  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
402
  description: 'Version of the kubernetes cluster.',
411
403
  default: '1.x.x-cfke.x',
412
- example: '1.29.x-cfke.x'
404
+ example: '1.33.x-cfke.x'
413
405
  },
414
406
  id: {
415
407
  type: 'string',
@@ -421,7 +413,7 @@ export const ClusterSchema = {
421
413
  type: 'string',
422
414
  description: 'Status of the cluster. When creating a new cluster, set to `active`. When deleting a clusters, set to `deleted`.',
423
415
  example: 'active',
424
- enum: ['active', 'deleted', 'creating', 'deployed', 'failed', 'updating']
416
+ enum: ['active', 'disabled', 'deleted', 'creating', 'deployed', 'failed', 'updating']
425
417
  },
426
418
  endpoint: {
427
419
  anyOf: [
@@ -446,7 +438,7 @@ MIIC0DCCAbigAwIBAgI...`
446
438
  version_current: {
447
439
  type: 'string',
448
440
  description: 'Current version of the cluster.',
449
- example: '1.29.3-cfke.52'
441
+ example: '1.33.7-cfke.264'
450
442
  },
451
443
  created_at: {
452
444
  type: 'string',
@@ -488,7 +480,7 @@ export const ClusterUpdateInputSchema = {
488
480
  type: 'string',
489
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-]+)*))?$',
490
482
  description: 'Version of the kubernetes cluster.',
491
- example: '1.29.x-cfke.x'
483
+ example: '1.33.x-cfke.x'
492
484
  }
493
485
  },
494
486
  required: ['tier'],
@@ -751,19 +743,15 @@ export const InvoiceSchema = {
751
743
  description: 'Unique identifier of the invoice. UUID v4 string in canonical form',
752
744
  example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
753
745
  },
754
- organizationId: {
755
- type: 'string',
756
- format: 'uuid',
757
- description: 'Unique identifier of the organization. UUID v4 string in canonical form',
758
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
746
+ number: {
747
+ type: 'string'
759
748
  },
760
749
  status: {
761
750
  type: 'string',
762
751
  description: 'Status of the invoice',
763
- example: 'DRAFT',
764
- enum: ['DRAFT', 'COMMITTED', 'VOID']
752
+ example: 'paid'
765
753
  },
766
- amount: {
754
+ total: {
767
755
  type: 'number',
768
756
  format: 'float',
769
757
  description: 'Total amount of the invoice',
@@ -772,413 +760,170 @@ export const InvoiceSchema = {
772
760
  currency: {
773
761
  type: 'string',
774
762
  description: 'Currency of the invoice',
775
- example: 'USD',
776
- 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']
777
- },
778
- creditAdj: {
779
- type: 'number',
780
- format: 'float',
781
- description: 'Total amount of credit adjustments',
782
- example: 0
763
+ example: 'usd'
783
764
  },
784
- refundAdj: {
785
- type: 'number',
786
- format: 'float',
787
- description: 'Total amount of refund adjustments',
788
- example: 0
789
- },
790
- invoiceDate: {
791
- type: 'string',
792
- description: 'Date of the invoice',
793
- example: '2019-01-01T00:00:00.000Z'
794
- },
795
- targetDate: {
765
+ created: {
796
766
  type: 'string',
797
- description: 'Target date of the invoice',
798
- example: '2019-01-01T00:00:00.000Z'
767
+ format: 'date-time',
768
+ description: 'Timestamp when the invoice was issued. ISO 8601 date string in the UTC timezone.',
769
+ example: '2023-12-20T13:53:32.000Z'
799
770
  },
800
- invoiceNumber: {
771
+ period_start: {
801
772
  type: 'string',
802
- description: 'Number of the invoice',
803
- example: 'INV-0001'
804
- },
805
- balance: {
806
- type: 'number',
807
- format: 'float',
808
- description: 'Balance of the invoice',
809
- example: 100
773
+ format: 'date-time',
774
+ description: 'Billing period start timestamp. ISO 8601 date string in the UTC timezone.',
775
+ example: '2023-12-20T13:53:32.000Z'
810
776
  },
811
- bundleKeys: {
777
+ period_end: {
812
778
  type: 'string',
813
- description: 'Bundle keys of the invoice',
814
- example: 'bundleKey1,bundleKey2'
815
- },
816
- credits: {
817
- type: 'array',
818
- items: {
819
- type: 'object',
820
- properties: {
821
- id: {
822
- type: 'string',
823
- format: 'uuid',
824
- description: 'Unique identifier of the invoice item. UUID v4 string in canonical form',
825
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
826
- },
827
- linkedInvoiceItemId: {
828
- type: 'string',
829
- format: 'uuid',
830
- description: 'Unique identifier of the linked invoice item. UUID v4 string in canonical form',
831
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
832
- },
833
- productName: {
834
- type: 'string',
835
- description: 'Name of the product',
836
- example: 'Research team'
837
- },
838
- planName: {
839
- type: 'string',
840
- description: 'Name of the plan',
841
- example: 'Plan A'
842
- },
843
- phaseName: {
844
- type: 'string',
845
- description: 'Name of the phase',
846
- example: 'Phase A'
847
- },
848
- usageName: {
849
- type: 'string',
850
- description: 'Name of the usage',
851
- example: 'Usage A'
852
- },
853
- prettyProductName: {
854
- type: 'string',
855
- description: 'Pretty name of the product',
856
- example: 'Research team'
857
- },
858
- prettyPlanName: {
859
- type: 'string',
860
- description: 'Pretty name of the plan',
861
- example: 'Plan A'
862
- },
863
- prettyPhaseName: {
864
- type: 'string',
865
- description: 'Pretty name of the phase',
866
- example: 'Phase A'
867
- },
868
- prettyUsageName: {
869
- type: 'string',
870
- description: 'Pretty name of the usage',
871
- example: 'Usage A'
872
- },
873
- itemType: {
874
- type: 'string',
875
- description: 'Type of the invoice item',
876
- example: 'EXTERNAL_CHARGE',
877
- enum: ['EXTERNAL_CHARGE', 'FIXED', 'RECURRING', 'REPAIR_ADJ', 'CBA_ADJ', 'CREDIT_ADJ', 'ITEM_ADJ', 'USAGE', 'TAX', 'PARENT_SUMMARY']
878
- },
879
- description: {
880
- type: 'string',
881
- description: 'Description of the invoice item',
882
- example: 'Description of the invoice item'
883
- },
884
- startDate: {
885
- type: 'string',
886
- description: 'Start date of the invoice item',
887
- example: '2019-01-01T00:00:00.000Z'
888
- },
889
- endDate: {
890
- type: 'string',
891
- description: 'End date of the invoice item',
892
- example: '2019-01-01T00:00:00.000Z'
893
- },
894
- amount: {
895
- type: 'number',
896
- format: 'float',
897
- description: 'Amount of the invoice item',
898
- example: 100
899
- },
900
- rate: {
901
- type: 'number',
902
- format: 'float',
903
- description: 'Rate of the invoice item',
904
- example: 100
905
- },
906
- currency: {
907
- type: 'string',
908
- description: 'Currency of the invoice item',
909
- example: 'USD',
910
- 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']
911
- },
912
- quantity: {
913
- type: 'number',
914
- format: 'float',
915
- description: 'Quantity of the invoice item',
916
- example: 1
917
- },
918
- itemDetails: {
919
- type: 'string',
920
- description: 'Details of the invoice item',
921
- example: 'Details of the invoice item'
922
- },
923
- catalogEffectiveDate: {
924
- type: 'string',
925
- description: 'Effective date of the catalog',
926
- example: '2019-01-01T00:00:00.000Z'
927
- },
928
- childItems: {
929
- type: 'array',
930
- items: {
931
- oneOf: [
932
- {
933
- type: 'array'
934
- },
935
- {
936
- type: 'boolean'
937
- },
938
- {
939
- type: 'number'
940
- },
941
- {
942
- type: 'object',
943
- additionalProperties: true
944
- },
945
- {
946
- type: 'string'
947
- }
948
- ]
949
- },
950
- description: 'Child items of the invoice item'
951
- }
952
- },
953
- additionalProperties: false
954
- },
955
- description: 'Credits of the invoice'
779
+ format: 'date-time',
780
+ description: 'Billing period end timestamp. ISO 8601 date string in the UTC timezone.',
781
+ example: '2023-12-20T13:53:32.000Z'
956
782
  },
957
- items: {
958
- type: 'array',
959
- items: {
960
- type: 'object',
961
- properties: {
962
- id: {
963
- type: 'string',
964
- format: 'uuid',
965
- description: 'Unique identifier of the invoice item. UUID v4 string in canonical form',
966
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
967
- },
968
- linkedInvoiceItemId: {
969
- type: 'string',
970
- format: 'uuid',
971
- description: 'Unique identifier of the linked invoice item. UUID v4 string in canonical form',
972
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
973
- },
974
- productName: {
975
- type: 'string',
976
- description: 'Name of the product',
977
- example: 'Research team'
978
- },
979
- planName: {
980
- type: 'string',
981
- description: 'Name of the plan',
982
- example: 'Plan A'
983
- },
984
- phaseName: {
985
- type: 'string',
986
- description: 'Name of the phase',
987
- example: 'Phase A'
988
- },
989
- usageName: {
990
- type: 'string',
991
- description: 'Name of the usage',
992
- example: 'Usage A'
993
- },
994
- prettyProductName: {
995
- type: 'string',
996
- description: 'Pretty name of the product',
997
- example: 'Research team'
998
- },
999
- prettyPlanName: {
1000
- type: 'string',
1001
- description: 'Pretty name of the plan',
1002
- example: 'Plan A'
1003
- },
1004
- prettyPhaseName: {
1005
- type: 'string',
1006
- description: 'Pretty name of the phase',
1007
- example: 'Phase A'
1008
- },
1009
- prettyUsageName: {
1010
- type: 'string',
1011
- description: 'Pretty name of the usage',
1012
- example: 'Usage A'
1013
- },
1014
- itemType: {
1015
- type: 'string',
1016
- description: 'Type of the invoice item',
1017
- example: 'EXTERNAL_CHARGE',
1018
- enum: ['EXTERNAL_CHARGE', 'FIXED', 'RECURRING', 'REPAIR_ADJ', 'CBA_ADJ', 'CREDIT_ADJ', 'ITEM_ADJ', 'USAGE', 'TAX', 'PARENT_SUMMARY']
1019
- },
1020
- description: {
1021
- type: 'string',
1022
- description: 'Description of the invoice item',
1023
- example: 'Description of the invoice item'
1024
- },
1025
- startDate: {
1026
- type: 'string',
1027
- description: 'Start date of the invoice item',
1028
- example: '2019-01-01T00:00:00.000Z'
1029
- },
1030
- endDate: {
1031
- type: 'string',
1032
- description: 'End date of the invoice item',
1033
- example: '2019-01-01T00:00:00.000Z'
1034
- },
1035
- amount: {
1036
- type: 'number',
1037
- format: 'float',
1038
- description: 'Amount of the invoice item',
1039
- example: 100
1040
- },
1041
- rate: {
1042
- type: 'number',
1043
- format: 'float',
1044
- description: 'Rate of the invoice item',
1045
- example: 100
1046
- },
1047
- currency: {
1048
- type: 'string',
1049
- description: 'Currency of the invoice item',
1050
- example: 'USD',
1051
- 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']
1052
- },
1053
- quantity: {
1054
- type: 'number',
1055
- format: 'float',
1056
- description: 'Quantity of the invoice item',
1057
- example: 1
1058
- },
1059
- itemDetails: {
1060
- type: 'string',
1061
- description: 'Details of the invoice item',
1062
- example: 'Details of the invoice item'
1063
- },
1064
- catalogEffectiveDate: {
1065
- type: 'string',
1066
- description: 'Effective date of the catalog',
1067
- example: '2019-01-01T00:00:00.000Z'
1068
- },
1069
- childItems: {
1070
- type: 'array',
1071
- items: {
1072
- oneOf: [
1073
- {
1074
- type: 'array'
1075
- },
1076
- {
1077
- type: 'boolean'
1078
- },
1079
- {
1080
- type: 'number'
1081
- },
1082
- {
1083
- type: 'object',
1084
- additionalProperties: true
1085
- },
1086
- {
1087
- type: 'string'
1088
- }
1089
- ]
1090
- },
1091
- description: 'Child items of the invoice item'
1092
- }
1093
- },
1094
- additionalProperties: false
1095
- },
1096
- description: 'Items of the invoice'
783
+ invoice_pdf: {
784
+ type: 'string'
1097
785
  }
1098
786
  },
787
+ required: ['created', 'period_start', 'period_end'],
1099
788
  additionalProperties: false
1100
789
  };
1101
- export const MarketplaceListingSchema = {
790
+ export const MarketplaceListingFilesSchema = {
1102
791
  type: 'object',
1103
792
  properties: {
1104
- id: {
793
+ chartYaml: {
1105
794
  type: 'string',
1106
- maxLength: 63,
1107
- minLength: 1,
1108
- pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
1109
- description: 'Id of the chart listing',
1110
- example: 'portworx-enterprise-disaster-recovery-baremetal'
795
+ description: 'Raw Chart.yaml content from the Helm chart',
796
+ example: `apiVersion: v2
797
+ name: nginx-ingress
798
+ version: 1.18.2-cfke.45
799
+ appVersion: 1.9.4`
1111
800
  },
1112
- name: {
1113
- type: 'string',
1114
- description: 'Name of the chart listing',
1115
- example: 'Portworx Enterprise + Disaster Recovery - Baremetal'
1116
- },
1117
- developer: {
1118
- type: 'string',
1119
- description: 'Author of the chart listing',
1120
- example: 'Portworx'
1121
- },
1122
- description: {
801
+ valuesYaml: {
1123
802
  type: 'string',
1124
- description: 'Short description of the chart listing',
1125
- example: 'Run Kubernetes with unmatched scalability, availability, and self-service access to any storage'
803
+ description: 'Raw values.yaml content from the Helm chart',
804
+ example: `replicaCount: 1
805
+ image:
806
+ repository: nginx
807
+ tag: latest`
1126
808
  },
1127
- logoUrl: {
809
+ valuesSchemaJson: {
1128
810
  type: 'string',
1129
- description: 'Logo of the chart listing',
1130
- example: 'https://portworx.com/wp-content/themes/portworx/assets/images/header/portworx-logo.png'
1131
- },
1132
- longDescription: {
811
+ description: 'JSON schema for values.yaml as a string',
812
+ example: '{"type":"object","properties":{"replicaCount":{"type":"number"}}}'
813
+ }
814
+ },
815
+ additionalProperties: false
816
+ };
817
+ export const MarketplaceListingSchema = {
818
+ type: 'object',
819
+ properties: {
820
+ name: {
1133
821
  type: 'string',
1134
- description: 'Long description of the chart listing',
1135
- example: 'Portworx-Enterprise is the complete multi-cloud ready Kubernetes storage platform for running mission-critical apps in production....'
822
+ description: 'Name of the chart',
823
+ example: 'nginx-ingress'
1136
824
  },
1137
- categories: {
825
+ versions: {
1138
826
  type: 'array',
1139
827
  items: {
1140
828
  type: 'string',
1141
- example: 'AI & Machine Learning'
829
+ 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-]+)*))?$',
830
+ description: 'Specific version of the chart',
831
+ example: '1.18.2-cfke.45'
1142
832
  },
1143
- description: 'Tags of the chart'
833
+ description: 'Available versions of the chart'
1144
834
  },
1145
835
  version_channels: {
1146
836
  type: 'array',
1147
837
  items: {
1148
838
  type: 'string',
1149
839
  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-]+)*))?$',
1150
- description: 'Version of the chart.',
1151
- example: '2.x.x-cfke.x'
1152
- }
840
+ description: 'Version channel pattern',
841
+ example: '1.18.x-cfke.x'
842
+ },
843
+ description: 'Version channels for the chart'
1153
844
  },
1154
- value_schemas: {
1155
- type: 'array',
1156
- items: {
1157
- type: 'object',
1158
- properties: {
1159
- version: {
1160
- type: 'string',
1161
- 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-]+)*))?$',
1162
- description: 'Version of the chart.',
1163
- example: '2.1.1-cfke.123'
845
+ latestVersion: {
846
+ type: 'string',
847
+ description: 'Latest version of the chart',
848
+ example: '1.18.2-cfke.45'
849
+ },
850
+ metadata: {
851
+ type: 'object',
852
+ properties: {
853
+ name: {
854
+ type: 'string',
855
+ description: 'Chart name from metadata',
856
+ example: 'nginx-ingress'
857
+ },
858
+ version: {
859
+ type: 'string',
860
+ description: 'Chart version from metadata',
861
+ example: '1.18.2-cfke.45'
862
+ },
863
+ description: {
864
+ type: 'string',
865
+ description: 'Chart description',
866
+ example: 'NGINX Ingress Controller for Kubernetes'
867
+ },
868
+ appVersion: {
869
+ type: 'string',
870
+ description: 'Application version',
871
+ example: '1.9.4'
872
+ },
873
+ apiVersion: {
874
+ type: 'string',
875
+ description: 'Helm API version',
876
+ example: 'v2'
877
+ },
878
+ keywords: {
879
+ type: 'array',
880
+ items: {
881
+ type: 'string'
1164
882
  },
1165
- schema: {
1166
- type: 'string',
1167
- description: 'Schema of the chart values. JSON Schema as string'
883
+ description: 'Chart keywords',
884
+ example: ['ingress', 'nginx', 'load-balancer']
885
+ },
886
+ home: {
887
+ type: 'string',
888
+ description: 'Chart home URL',
889
+ example: 'https://kubernetes.github.io/ingress-nginx/'
890
+ },
891
+ sources: {
892
+ type: 'array',
893
+ items: {
894
+ type: 'string'
1168
895
  },
1169
- placeholder: {
1170
- type: 'string',
1171
- description: 'Schema of the chart values',
1172
- example: `foo: 1
1173
- bar: example`
1174
- }
896
+ description: 'Chart source URLs',
897
+ example: ['https://github.com/kubernetes/ingress-nginx']
1175
898
  },
1176
- required: ['version', 'schema', 'placeholder'],
1177
- additionalProperties: false
1178
- }
899
+ maintainers: {
900
+ type: 'array',
901
+ items: {
902
+ type: 'object',
903
+ properties: {
904
+ name: {
905
+ type: 'string',
906
+ description: 'Maintainer name',
907
+ example: 'NGINX Team'
908
+ },
909
+ email: {
910
+ type: 'string',
911
+ description: 'Maintainer email',
912
+ example: 'support@nginx.org'
913
+ }
914
+ },
915
+ required: ['name'],
916
+ additionalProperties: false
917
+ },
918
+ description: 'Chart maintainers'
919
+ }
920
+ },
921
+ required: ['name', 'version'],
922
+ additionalProperties: false,
923
+ description: 'Chart metadata'
1179
924
  }
1180
925
  },
1181
- required: ['id', 'name', 'developer', 'description', 'logoUrl', 'longDescription', 'categories', 'version_channels', 'value_schemas'],
926
+ required: ['name', 'versions', 'version_channels', 'latestVersion'],
1182
927
  additionalProperties: false
1183
928
  };
1184
929
  export const OrganizationCreateInputSchema = {
@@ -1296,12 +1041,12 @@ export const OrganizationSchema = {
1296
1041
  id: {
1297
1042
  type: 'string',
1298
1043
  description: 'Id of the control plane version. Used in API calls.',
1299
- example: '1.29.x-cfke.x'
1044
+ example: '1.33.x-cfke.x'
1300
1045
  },
1301
1046
  label: {
1302
1047
  type: 'string',
1303
1048
  description: 'Label of the control plane version. Used in frontent UI.',
1304
- example: '1.29.x (Always latest 1.29 patch version)'
1049
+ example: '1.33.x (Always latest 1.33 patch version)'
1305
1050
  }
1306
1051
  },
1307
1052
  required: ['id', 'label'],
@@ -1377,6 +1122,261 @@ export const PaymentMethodSchema = {
1377
1122
  required: ['id', 'setup', 'type', 'last4', 'exp_month', 'exp_year', 'brand'],
1378
1123
  additionalProperties: false
1379
1124
  };
1125
+ export const PlatformQuotaSchema = {
1126
+ type: 'object',
1127
+ properties: {
1128
+ basic_clusters_max: {
1129
+ type: 'integer',
1130
+ minimum: 0,
1131
+ description: 'Maximum number of Basic clusters that can be created.',
1132
+ example: 999
1133
+ },
1134
+ basic_clusters_available: {
1135
+ type: 'integer',
1136
+ description: 'Available number of Basic clusters that can be created.',
1137
+ example: 999
1138
+ },
1139
+ pro_clusters_max: {
1140
+ type: 'integer',
1141
+ minimum: 0,
1142
+ description: 'Maximum number of Pro clusters that can be created.',
1143
+ example: 999
1144
+ },
1145
+ pro_clusters_available: {
1146
+ type: 'integer',
1147
+ description: 'Available number of Pro clusters that can be created.',
1148
+ example: 999
1149
+ },
1150
+ fleets_max: {
1151
+ type: 'integer',
1152
+ minimum: 0,
1153
+ description: 'Maximum number of fleets that can be created per cluster.',
1154
+ example: 999
1155
+ },
1156
+ cluster_tiers: {
1157
+ type: 'array',
1158
+ items: {
1159
+ type: 'string',
1160
+ example: 'basic'
1161
+ },
1162
+ minItems: 0,
1163
+ description: 'List of Cloudfleet cluster tiers available for the organization.'
1164
+ },
1165
+ regions: {
1166
+ type: 'array',
1167
+ items: {
1168
+ type: 'string',
1169
+ example: 'northamerica-central-1'
1170
+ },
1171
+ minItems: 1,
1172
+ description: 'List of Cloudfleet control plane regions available for the organization.'
1173
+ },
1174
+ versions: {
1175
+ type: 'array',
1176
+ items: {
1177
+ type: 'object',
1178
+ properties: {
1179
+ id: {
1180
+ type: 'string',
1181
+ description: 'Id of the control plane version. Used in API calls.',
1182
+ example: '1.33.x-cfke.x'
1183
+ },
1184
+ label: {
1185
+ type: 'string',
1186
+ description: 'Label of the control plane version. Used in frontent UI.',
1187
+ example: '1.33.x (Always latest 1.33 patch version)'
1188
+ }
1189
+ },
1190
+ required: ['id', 'label'],
1191
+ additionalProperties: false
1192
+ },
1193
+ minItems: 1,
1194
+ description: 'List of CFKE control plane versions available for the organization.'
1195
+ }
1196
+ },
1197
+ required: ['basic_clusters_max', 'basic_clusters_available', 'pro_clusters_max', 'pro_clusters_available', 'fleets_max', 'cluster_tiers', 'regions', 'versions'],
1198
+ additionalProperties: false
1199
+ };
1200
+ export const RegistryRepositorySchema = {
1201
+ type: 'object',
1202
+ properties: {
1203
+ name: {
1204
+ type: 'string',
1205
+ description: 'Repository name.',
1206
+ example: 'my-app'
1207
+ },
1208
+ region: {
1209
+ type: 'string',
1210
+ description: 'Registry region.',
1211
+ example: 'northamerica'
1212
+ },
1213
+ uri: {
1214
+ type: 'string',
1215
+ description: 'Full URI of the repository.',
1216
+ example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/v2/my-app'
1217
+ }
1218
+ },
1219
+ required: ['name', 'region', 'uri'],
1220
+ additionalProperties: false
1221
+ };
1222
+ export const RegistryRepositoryWithTagsSchema = {
1223
+ type: 'object',
1224
+ properties: {
1225
+ name: {
1226
+ type: 'string',
1227
+ description: 'Repository name.',
1228
+ example: 'my-app'
1229
+ },
1230
+ region: {
1231
+ type: 'string',
1232
+ description: 'Registry region.',
1233
+ example: 'northamerica'
1234
+ },
1235
+ uri: {
1236
+ type: 'string',
1237
+ description: 'Full URI of the repository.',
1238
+ example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/v2/my-app'
1239
+ },
1240
+ tags: {
1241
+ type: 'array',
1242
+ items: {
1243
+ type: 'object',
1244
+ properties: {
1245
+ name: {
1246
+ type: 'string',
1247
+ description: 'Tag name.',
1248
+ example: 'latest'
1249
+ },
1250
+ size: {
1251
+ type: 'number',
1252
+ format: 'float',
1253
+ description: 'Size of the tag in bytes.',
1254
+ example: 123456789
1255
+ },
1256
+ mediaType: {
1257
+ type: 'string',
1258
+ description: 'Media type of the manifest.',
1259
+ example: 'application/vnd.docker.distribution.manifest.v2+json'
1260
+ }
1261
+ },
1262
+ required: ['name', 'size'],
1263
+ additionalProperties: false
1264
+ },
1265
+ description: 'Array of tags in the repository.'
1266
+ },
1267
+ totalSize: {
1268
+ type: 'number',
1269
+ format: 'float',
1270
+ description: 'Total size of all tags in the repository in bytes.',
1271
+ example: 987654321
1272
+ }
1273
+ },
1274
+ required: ['name', 'region', 'uri', 'tags', 'totalSize'],
1275
+ additionalProperties: false
1276
+ };
1277
+ export const RegistryTagSchema = {
1278
+ type: 'object',
1279
+ properties: {
1280
+ name: {
1281
+ type: 'string',
1282
+ description: 'Tag name.',
1283
+ example: 'latest'
1284
+ },
1285
+ mediaType: {
1286
+ type: 'string',
1287
+ description: 'Media type of the manifest.',
1288
+ example: 'application/vnd.docker.distribution.manifest.v2+json'
1289
+ },
1290
+ config: {
1291
+ type: 'object',
1292
+ properties: {
1293
+ size: {
1294
+ type: 'number',
1295
+ format: 'float',
1296
+ description: 'Size of the config in bytes.',
1297
+ example: 1234
1298
+ }
1299
+ },
1300
+ required: ['size'],
1301
+ additionalProperties: false,
1302
+ description: 'Manifest config metadata.'
1303
+ },
1304
+ layers: {
1305
+ type: 'array',
1306
+ items: {
1307
+ type: 'object',
1308
+ properties: {
1309
+ size: {
1310
+ type: 'number',
1311
+ format: 'float',
1312
+ description: 'Size of the layer in bytes.',
1313
+ example: 5678
1314
+ }
1315
+ },
1316
+ required: ['size'],
1317
+ additionalProperties: false
1318
+ },
1319
+ description: 'Array of layer metadata.'
1320
+ },
1321
+ manifests: {
1322
+ type: 'array',
1323
+ items: {
1324
+ type: 'object',
1325
+ properties: {
1326
+ digest: {
1327
+ type: 'string',
1328
+ description: 'Digest of the manifest.',
1329
+ example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
1330
+ },
1331
+ platform: {
1332
+ type: 'object',
1333
+ properties: {
1334
+ architecture: {
1335
+ type: 'string',
1336
+ description: 'Architecture of the platform.',
1337
+ example: 'amd64'
1338
+ },
1339
+ os: {
1340
+ type: 'string',
1341
+ description: 'Operating system of the platform.',
1342
+ example: 'linux'
1343
+ }
1344
+ },
1345
+ required: ['architecture', 'os'],
1346
+ additionalProperties: false,
1347
+ description: 'Platform information for the manifest.'
1348
+ }
1349
+ },
1350
+ required: ['digest'],
1351
+ additionalProperties: false
1352
+ },
1353
+ description: 'Array of manifests for multi-arch images.'
1354
+ },
1355
+ size: {
1356
+ type: 'number',
1357
+ format: 'float',
1358
+ description: 'Total size of the tag in bytes.',
1359
+ example: 123456789
1360
+ },
1361
+ region: {
1362
+ type: 'string',
1363
+ description: 'Registry region.',
1364
+ example: 'northamerica'
1365
+ },
1366
+ repository: {
1367
+ type: 'string',
1368
+ description: 'Repository name.',
1369
+ example: 'my-app'
1370
+ },
1371
+ uri: {
1372
+ type: 'string',
1373
+ description: 'Full URI of the tag.',
1374
+ example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app:latest'
1375
+ }
1376
+ },
1377
+ required: ['name', 'size', 'region', 'repository', 'uri'],
1378
+ additionalProperties: false
1379
+ };
1380
1380
  export const TokenCreateInputSchema = {
1381
1381
  type: 'object',
1382
1382
  properties: {
@@ -1455,6 +1455,101 @@ export const TokenUpdateInputSchema = {
1455
1455
  },
1456
1456
  additionalProperties: false
1457
1457
  };
1458
+ export const UsageFacetsSchema = {
1459
+ type: 'object',
1460
+ properties: {
1461
+ cluster_id: {
1462
+ type: 'array',
1463
+ items: {
1464
+ type: 'string'
1465
+ },
1466
+ description: 'List of unique cluster IDs',
1467
+ example: ['6b5439b1-923a-4f2b-a371-d554e5ea23fa']
1468
+ },
1469
+ product: {
1470
+ type: 'array',
1471
+ items: {
1472
+ type: 'string'
1473
+ },
1474
+ description: 'List of unique products',
1475
+ example: ['cfke_controlplane', 'cfke_connected_nodes']
1476
+ }
1477
+ },
1478
+ additionalProperties: false
1479
+ };
1480
+ export const UsageResponseSchema = {
1481
+ type: 'object',
1482
+ properties: {
1483
+ data: {
1484
+ type: 'array',
1485
+ items: {
1486
+ type: 'object',
1487
+ properties: {
1488
+ hour: {
1489
+ type: 'string',
1490
+ description: 'Hour of the usage',
1491
+ example: '2019-01-01T00:00:00.000Z'
1492
+ },
1493
+ cluster_id: {
1494
+ type: 'string',
1495
+ description: 'Unique identifier of the kubernetes cluster. UUID v4 string in canonical form',
1496
+ example: '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
1497
+ },
1498
+ product: {
1499
+ type: 'string',
1500
+ description: 'The product the usage is associated with',
1501
+ example: 'cfke_controlplane'
1502
+ },
1503
+ value: {
1504
+ type: 'number',
1505
+ format: 'float',
1506
+ description: 'Consumption',
1507
+ example: 4
1508
+ },
1509
+ price: {
1510
+ type: 'number',
1511
+ format: 'float',
1512
+ description: 'Price per unit',
1513
+ example: 0.01
1514
+ },
1515
+ total: {
1516
+ type: 'number',
1517
+ format: 'float',
1518
+ description: 'Total cost'
1519
+ }
1520
+ },
1521
+ required: ['hour', 'cluster_id', 'product', 'value', 'price', 'total'],
1522
+ additionalProperties: false
1523
+ },
1524
+ description: 'Usage data'
1525
+ },
1526
+ facets: {
1527
+ type: 'object',
1528
+ properties: {
1529
+ cluster_id: {
1530
+ type: 'array',
1531
+ items: {
1532
+ type: 'string'
1533
+ },
1534
+ description: 'List of unique cluster IDs',
1535
+ example: ['6b5439b1-923a-4f2b-a371-d554e5ea23fa']
1536
+ },
1537
+ product: {
1538
+ type: 'array',
1539
+ items: {
1540
+ type: 'string'
1541
+ },
1542
+ description: 'List of unique products',
1543
+ example: ['cfke_controlplane', 'cfke_connected_nodes']
1544
+ }
1545
+ },
1546
+ additionalProperties: false,
1547
+ description: 'Facets for filtering'
1548
+ }
1549
+ },
1550
+ required: ['data', 'facets'],
1551
+ additionalProperties: false
1552
+ };
1458
1553
  export const UsageSchema = {
1459
1554
  type: 'object',
1460
1555
  properties: {
@@ -1465,90 +1560,33 @@ export const UsageSchema = {
1465
1560
  },
1466
1561
  cluster_id: {
1467
1562
  type: 'string',
1468
- format: 'uuid',
1469
1563
  description: 'Unique identifier of the kubernetes cluster. UUID v4 string in canonical form',
1470
1564
  example: '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
1471
1565
  },
1472
- cluster_tier: {
1473
- type: 'string',
1474
- description: 'Tier of the cluster.',
1475
- example: 'pro',
1476
- enum: ['basic', 'pro', '']
1477
- },
1478
1566
  product: {
1479
1567
  type: 'string',
1480
1568
  description: 'The product the usage is associated with',
1481
- example: 'cfke_controlplane',
1482
- enum: ['cfke_controlplane', 'cfke_connected_nodes', 'infra_compute', 'infra_storage', 'infra_loadbalancing', 'infra_traffic', 'cfcr_storage']
1483
- },
1484
- node_name: {
1485
- type: 'string',
1486
- description: 'Name of the Kubernetes node',
1487
- example: 'flexible-moth-956037384'
1488
- },
1489
- sku: {
1490
- type: 'string',
1491
- description: 'SKU of the Kubernetes node',
1492
- example: 'GCP-NORTHAMERICA-NORTHEAST1-A-G1-SMALL-SPOT'
1569
+ example: 'cfke_controlplane'
1493
1570
  },
1494
- cpu: {
1495
- anyOf: [
1496
- {
1497
- type: 'number',
1498
- format: 'float',
1499
- description: 'CPU core count of the node',
1500
- example: 4
1501
- },
1502
- {
1503
- type: 'string',
1504
- enum: ['']
1505
- }
1506
- ]
1571
+ value: {
1572
+ type: 'number',
1573
+ format: 'float',
1574
+ description: 'Consumption',
1575
+ example: 4
1507
1576
  },
1508
1577
  price: {
1509
- anyOf: [
1510
- {
1511
- type: 'number',
1512
- format: 'float',
1513
- description: 'Price',
1514
- example: 4
1515
- },
1516
- {
1517
- type: 'string',
1518
- enum: ['']
1519
- }
1520
- ]
1521
- },
1522
- value: {
1523
- anyOf: [
1524
- {
1525
- type: 'number',
1526
- format: 'float',
1527
- description: 'Value',
1528
- example: 4
1529
- },
1530
- {
1531
- type: 'string',
1532
- enum: ['']
1533
- }
1534
- ]
1578
+ type: 'number',
1579
+ format: 'float',
1580
+ description: 'Price per unit',
1581
+ example: 0.01
1535
1582
  },
1536
1583
  total: {
1537
- anyOf: [
1538
- {
1539
- type: 'number',
1540
- format: 'float',
1541
- description: 'Total',
1542
- example: 4
1543
- },
1544
- {
1545
- type: 'string',
1546
- enum: ['']
1547
- }
1548
- ]
1584
+ type: 'number',
1585
+ format: 'float',
1586
+ description: 'Total cost'
1549
1587
  }
1550
1588
  },
1551
- required: ['cluster_id', 'cluster_tier', 'product', 'node_name', 'sku', 'cpu', 'price', 'value', 'total'],
1589
+ required: ['hour', 'cluster_id', 'product', 'value', 'price', 'total'],
1552
1590
  additionalProperties: false
1553
1591
  };
1554
1592
  export const UserCreateInputSchema = {