@cloudfleet/sdk 0.0.1-96d5fec → 0.0.1-a0f38b2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/dist/client/client.gen.d.ts +3 -0
  2. package/dist/client/client.gen.d.ts.map +1 -0
  3. package/dist/client/client.gen.js +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 +13 -0
  18. package/dist/client.gen.d.ts.map +1 -0
  19. package/dist/client.gen.js +6 -0
  20. package/dist/client.gen.js.map +1 -0
  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/index.d.ts +3 -0
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +3 -0
  56. package/dist/index.js.map +1 -1
  57. package/dist/schemas.gen.d.ts +912 -988
  58. package/dist/schemas.gen.d.ts.map +1 -1
  59. package/dist/schemas.gen.js +934 -1025
  60. package/dist/schemas.gen.js.map +1 -1
  61. package/dist/sdk.gen.d.ts +220 -142
  62. package/dist/sdk.gen.d.ts.map +1 -1
  63. package/dist/sdk.gen.js +302 -145
  64. package/dist/sdk.gen.js.map +1 -1
  65. package/dist/services/kubernetes/api.d.ts +196 -0
  66. package/dist/services/kubernetes/api.d.ts.map +1 -0
  67. package/dist/services/kubernetes/api.js +140 -0
  68. package/dist/services/kubernetes/api.js.map +1 -0
  69. package/dist/services/kubernetes/index.d.ts +44 -0
  70. package/dist/services/kubernetes/index.d.ts.map +1 -0
  71. package/dist/services/kubernetes/index.js +68 -0
  72. package/dist/services/kubernetes/index.js.map +1 -0
  73. package/dist/services/kubernetes/types.d.ts +1335 -0
  74. package/dist/services/kubernetes/types.d.ts.map +1 -0
  75. package/dist/services/kubernetes/types.js +2 -0
  76. package/dist/services/kubernetes/types.js.map +1 -0
  77. package/dist/types.gen.d.ts +944 -958
  78. package/dist/types.gen.d.ts.map +1 -1
  79. package/dist/zod.gen.d.ts +1888 -2835
  80. package/dist/zod.gen.d.ts.map +1 -1
  81. package/dist/zod.gen.js +929 -869
  82. package/dist/zod.gen.js.map +1 -1
  83. package/package.json +8 -5
@@ -1,4 +1,262 @@
1
1
  // This file is auto-generated by @hey-api/openapi-ts
2
+ export const BillingContactSchema = {
3
+ type: 'object',
4
+ properties: {
5
+ company: {
6
+ type: 'string',
7
+ maxLength: 120,
8
+ minLength: 2,
9
+ pattern: '^(?!\\s)(?!.*\\s$)(?=.*[a-zA-ZÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ0-9])[a-zA-ZÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ0-9 -.]{2,}$',
10
+ description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
11
+ example: 'ACME Corp.'
12
+ },
13
+ address1: {
14
+ type: 'string',
15
+ nullable: true,
16
+ description: 'Street address, P.O. box, c/o',
17
+ example: '123 Main St.'
18
+ },
19
+ address2: {
20
+ type: 'string',
21
+ nullable: true,
22
+ description: 'Apartment, suite, unit, building, floor, etc.',
23
+ example: 'Suite 100'
24
+ },
25
+ postalCode: {
26
+ type: 'string',
27
+ nullable: true,
28
+ description: 'Postal code as a string.',
29
+ example: '94105'
30
+ },
31
+ city: {
32
+ type: 'string',
33
+ nullable: true,
34
+ description: 'City or town name.',
35
+ example: 'San Francisco'
36
+ },
37
+ state: {
38
+ type: 'string',
39
+ nullable: true,
40
+ description: 'State, province, or region name.',
41
+ example: 'CA'
42
+ },
43
+ country: {
44
+ type: 'string',
45
+ nullable: true,
46
+ description: 'Country as a ISO 3166-1 alpha-2 country code.',
47
+ example: 'US'
48
+ },
49
+ phone: {
50
+ type: 'string',
51
+ nullable: true,
52
+ description: 'Phone number as a string.',
53
+ example: '+1 555 555 5555'
54
+ },
55
+ email: {
56
+ type: 'string',
57
+ format: 'email',
58
+ description: 'Email address used for billing as a string.',
59
+ example: 'email@example.com'
60
+ },
61
+ individual_name: {
62
+ type: 'string',
63
+ description: 'Name of the billing contact person.',
64
+ example: 'John Doe'
65
+ },
66
+ tax_id: {
67
+ type: 'string',
68
+ nullable: true,
69
+ description: 'Tax ID of the organization.',
70
+ example: 'DE123456789'
71
+ },
72
+ tax_id_type: {
73
+ type: 'string',
74
+ nullable: true,
75
+ description: 'Type of the tax ID.',
76
+ example: 'de_vat',
77
+ enum: ['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', '']
78
+ }
79
+ },
80
+ required: ['email', 'individual_name'],
81
+ additionalProperties: false
82
+ };
83
+ export const BillingCreditsSchema = {
84
+ type: 'object',
85
+ properties: {
86
+ id: {
87
+ type: 'string',
88
+ description: 'Generated unique identifier of the promotional code.',
89
+ example: '7kUZnH7nnKUFfvc4NK2KQF'
90
+ },
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: {
104
+ type: 'string',
105
+ format: 'date-time',
106
+ description: 'Timestamp when the credit expires or becomes inactive. ISO 8601 date string in the UTC timezone.',
107
+ example: '2023-12-20T13:53:32.000Z'
108
+ },
109
+ code: {
110
+ type: 'string',
111
+ description: 'Promotional code used by the customer.',
112
+ example: 'VQ4SCMB'
113
+ },
114
+ description: {
115
+ type: 'string',
116
+ description: 'Description of the promotional code.',
117
+ example: '10% off on all products'
118
+ },
119
+ value_total: {
120
+ type: 'number',
121
+ format: 'float',
122
+ description: 'Total value of the promotional code.',
123
+ example: 10
124
+ },
125
+ value_remaining: {
126
+ type: 'number',
127
+ format: 'float',
128
+ description: 'Remaining value of the promotional code.',
129
+ example: 8
130
+ }
131
+ },
132
+ required: ['type', 'date_start', 'code', 'value_total'],
133
+ additionalProperties: false
134
+ };
135
+ export const ChartCreateInputSchema = {
136
+ type: 'object',
137
+ properties: {
138
+ values: {
139
+ type: 'string',
140
+ description: 'Values to be used in the chart encoded as a JSON string.'
141
+ },
142
+ version_channel: {
143
+ type: 'string',
144
+ 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-]+)*))?$',
145
+ description: 'Desired version range or channel for the chart.',
146
+ example: '2.x.x-cfke.x'
147
+ },
148
+ name: {
149
+ type: 'string',
150
+ maxLength: 63,
151
+ minLength: 1,
152
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
153
+ description: 'Unique identifier of the chart deployment aka name of the helm release.',
154
+ example: 'postgresql-0'
155
+ },
156
+ namespace: {
157
+ type: 'string',
158
+ maxLength: 63,
159
+ minLength: 1,
160
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
161
+ description: 'Namespace of the chart deployment',
162
+ example: 'default'
163
+ },
164
+ chart: {
165
+ type: 'string',
166
+ maxLength: 63,
167
+ minLength: 1,
168
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
169
+ description: 'Name of the chart listing',
170
+ example: 'postgresql'
171
+ }
172
+ },
173
+ required: ['values', 'version_channel', 'name', 'namespace', 'chart'],
174
+ additionalProperties: false
175
+ };
176
+ export const ChartSchema = {
177
+ type: 'object',
178
+ properties: {
179
+ values: {
180
+ type: 'string',
181
+ description: 'Values to be used in the chart encoded as a JSON string.'
182
+ },
183
+ version_channel: {
184
+ type: 'string',
185
+ 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-]+)*))?$',
186
+ description: 'Desired version range or channel for the chart.',
187
+ example: '2.x.x-cfke.x'
188
+ },
189
+ name: {
190
+ type: 'string',
191
+ maxLength: 63,
192
+ minLength: 1,
193
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
194
+ description: 'Unique identifier of the chart deployment aka name of the helm release.',
195
+ example: 'postgresql-0'
196
+ },
197
+ namespace: {
198
+ type: 'string',
199
+ maxLength: 63,
200
+ minLength: 1,
201
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
202
+ description: 'Namespace of the chart deployment',
203
+ example: 'default'
204
+ },
205
+ chart: {
206
+ type: 'string',
207
+ maxLength: 63,
208
+ minLength: 1,
209
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
210
+ description: 'Name of the chart listing',
211
+ example: 'postgresql'
212
+ },
213
+ status: {
214
+ type: 'string',
215
+ description: 'Status of the chart deployment.',
216
+ example: 'active',
217
+ enum: ['InstallSucceeded', 'InstallFailed', 'UpgradeSucceeded', 'UpgradeFailed', 'TestSucceeded', 'TestFailed', 'RollbackSucceeded', 'RollbackFailed', 'UninstallSucceeded', 'UninstallFailed', 'ArtifactFailed', 'DependencyNotReady', 'Progressing', 'SourceNotReady']
218
+ },
219
+ version_current: {
220
+ type: 'string',
221
+ description: 'Current version of the chart deployment.',
222
+ example: '2.1.33-cfke.11'
223
+ },
224
+ created_at: {
225
+ type: 'string',
226
+ description: 'Creation date and time of the chart deployment.',
227
+ example: '2024-09-12T09:11:27Z'
228
+ },
229
+ updated_at: {
230
+ type: 'string',
231
+ description: 'Last update date and time of the chart deployment.',
232
+ example: '2024-09-12T09:11:27Z'
233
+ },
234
+ ready: {
235
+ type: 'boolean',
236
+ description: 'Indicates if the chart deployment is ready to be used.',
237
+ example: true
238
+ }
239
+ },
240
+ required: ['values', 'version_channel', 'name', 'namespace', 'chart', 'status', 'version_current', 'created_at', 'updated_at', 'ready'],
241
+ additionalProperties: false
242
+ };
243
+ export const ChartUpdateInputSchema = {
244
+ type: 'object',
245
+ properties: {
246
+ values: {
247
+ type: 'string',
248
+ description: 'Values to be used in the chart encoded as a JSON string.'
249
+ },
250
+ version_channel: {
251
+ type: 'string',
252
+ 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-]+)*))?$',
253
+ description: 'Desired version range or channel for the chart.',
254
+ example: '2.x.x-cfke.x'
255
+ }
256
+ },
257
+ required: ['values', 'version_channel'],
258
+ additionalProperties: false
259
+ };
2
260
  export const ClusterCreateInputSchema = {
3
261
  type: 'object',
4
262
  properties: {
@@ -10,25 +268,26 @@ export const ClusterCreateInputSchema = {
10
268
  description: 'Name of the cluster.',
11
269
  example: 'production-cluster'
12
270
  },
13
- region: {
14
- type: 'string',
15
- description: 'Cloudfleet control plane region. One of "staging", "northamerica-central-1". This field can not be updated after creation.',
16
- default: 'staging',
17
- example: 'northamerica-central-1',
18
- enum: ['staging', 'northamerica-central-1']
19
- },
20
271
  tier: {
21
272
  type: 'string',
22
273
  description: 'Tier of the cluster.',
23
274
  example: 'pro',
24
275
  enum: ['basic', 'pro']
25
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
+ },
26
284
  version_channel: {
27
285
  type: 'string',
28
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-]+)*))?$',
29
287
  description: 'Version of the kubernetes cluster.',
30
288
  default: '1.x.x-cfke.x',
31
- 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']
32
291
  }
33
292
  },
34
293
  required: ['name', 'tier'],
@@ -65,7 +324,7 @@ MIIC0DCCAbigAwIBAgI...`
65
324
  kubernetes: {
66
325
  type: 'string',
67
326
  description: 'Kubernetes version of the cluster.',
68
- example: '1.29.3'
327
+ example: '1.33.7'
69
328
  },
70
329
  tailscale: {
71
330
  type: 'string',
@@ -76,14 +335,42 @@ MIIC0DCCAbigAwIBAgI...`
76
335
  type: 'string',
77
336
  description: 'Containerd version of the cluster.',
78
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'
79
343
  }
80
344
  },
81
- required: ['kubernetes', 'tailscale', 'containerd'],
345
+ required: ['kubernetes', 'tailscale', 'containerd', 'nvidia_driver'],
82
346
  additionalProperties: false,
83
347
  description: 'Versions of the different components of the cluster.'
348
+ },
349
+ third_party_api_access_config: {
350
+ type: 'object',
351
+ properties: {
352
+ metadata_url: {
353
+ type: 'string',
354
+ description: 'Kubernetes metadata server.',
355
+ example: 'https://10.31.64.4'
356
+ },
357
+ aws_role_arn: {
358
+ type: 'string',
359
+ description: 'AWS Role ARN.',
360
+ example: 'arn:aws:iam::891376988828:role/0371f8fd-e164-48e1-b9e7-c3bdc3b4f403'
361
+ },
362
+ gcp_workload_identity_provider: {
363
+ type: 'string',
364
+ description: 'GCP Workload Identity provider.',
365
+ example: '//iam.googleapis.com/projects/89014267864/locations/global/workloadIdentityPools/cfke/providers/oidc'
366
+ }
367
+ },
368
+ required: ['metadata_url', 'aws_role_arn', 'gcp_workload_identity_provider'],
369
+ additionalProperties: false,
370
+ description: "OIDC Information for hosts to access to third party API's."
84
371
  }
85
372
  },
86
- required: ['certificate_authority', 'endpoint', 'auth_key', 'bootstrap_token', 'versions'],
373
+ required: ['certificate_authority', 'endpoint', 'auth_key', 'bootstrap_token', 'versions', 'third_party_api_access_config'],
87
374
  additionalProperties: false
88
375
  };
89
376
  export const ClusterSchema = {
@@ -97,25 +384,18 @@ export const ClusterSchema = {
97
384
  description: 'Name of the cluster.',
98
385
  example: 'production-cluster'
99
386
  },
100
- region: {
101
- type: 'string',
102
- description: 'Cloudfleet control plane region. One of "staging", "northamerica-central-1". This field can not be updated after creation.',
103
- default: 'staging',
104
- example: 'northamerica-central-1',
105
- enum: ['staging', 'northamerica-central-1']
106
- },
107
387
  tier: {
108
388
  type: 'string',
109
389
  description: 'Tier of the cluster.',
110
390
  example: 'pro',
111
391
  enum: ['basic', 'pro']
112
392
  },
113
- version_channel: {
393
+ region: {
114
394
  type: 'string',
115
- 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-]+)*))?$',
116
- description: 'Version of the kubernetes cluster.',
117
- default: '1.x.x-cfke.x',
118
- 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']
119
399
  },
120
400
  id: {
121
401
  type: 'string',
@@ -127,7 +407,7 @@ export const ClusterSchema = {
127
407
  type: 'string',
128
408
  description: 'Status of the cluster. When creating a new cluster, set to `active`. When deleting a clusters, set to `deleted`.',
129
409
  example: 'active',
130
- enum: ['active', 'deleted', 'creating', 'deployed', 'failed', 'updating']
410
+ enum: ['active', 'disabled', 'deleted', 'creating', 'deployed', 'failed', 'updating']
131
411
  },
132
412
  endpoint: {
133
413
  anyOf: [
@@ -152,7 +432,7 @@ MIIC0DCCAbigAwIBAgI...`
152
432
  version_current: {
153
433
  type: 'string',
154
434
  description: 'Current version of the cluster.',
155
- example: '1.29.3-cfke.52'
435
+ example: '1.33.7-cfke.264'
156
436
  },
157
437
  created_at: {
158
438
  type: 'string',
@@ -168,6 +448,12 @@ MIIC0DCCAbigAwIBAgI...`
168
448
  type: 'boolean',
169
449
  description: 'Indicates if the cluster is ready to be used.',
170
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'
171
457
  }
172
458
  },
173
459
  required: ['name', 'tier', 'id', 'status'],
@@ -184,13 +470,20 @@ export const ClusterUpdateInputSchema = {
184
470
  description: 'Name of the cluster.',
185
471
  example: 'production-cluster'
186
472
  },
473
+ tier: {
474
+ type: 'string',
475
+ description: 'Tier of the cluster.',
476
+ example: 'pro',
477
+ enum: ['basic', 'pro']
478
+ },
187
479
  version_channel: {
188
480
  type: 'string',
189
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-]+)*))?$',
190
482
  description: 'Version of the kubernetes cluster.',
191
- example: '1.29.x-cfke.x'
483
+ example: '1.x.x-cfke.x'
192
484
  }
193
485
  },
486
+ required: ['tier'],
194
487
  additionalProperties: false
195
488
  };
196
489
  export const FleetCreateInputSchema = {
@@ -226,34 +519,19 @@ export const FleetCreateInputSchema = {
226
519
  additionalProperties: false
227
520
  },
228
521
  hetzner: {
229
- oneOf: [
230
- {
231
- type: 'object',
232
- properties: {
233
- enabled: {
234
- type: 'boolean',
235
- default: true
236
- },
237
- apiKey: {
238
- type: 'string'
239
- }
240
- },
241
- additionalProperties: false
522
+ type: 'object',
523
+ properties: {
524
+ enabled: {
525
+ type: 'boolean',
526
+ default: true
242
527
  },
243
- {
244
- type: 'object',
245
- properties: {
246
- apiKey: {
247
- type: 'string'
248
- },
249
- enabled: {
250
- type: 'boolean',
251
- default: true
252
- }
253
- },
254
- additionalProperties: false
528
+ apiKey: {
529
+ type: 'string',
530
+ description: 'Hetzner Cloud API key with read / write access'
255
531
  }
256
- ]
532
+ },
533
+ required: ['apiKey'],
534
+ additionalProperties: false
257
535
  },
258
536
  aws: {
259
537
  type: 'object',
@@ -277,14 +555,9 @@ export const FleetCreateInputSchema = {
277
555
  pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
278
556
  description: 'Unique identifier of the kubernetes fleet.',
279
557
  example: 'new-clouds-fleet'
280
- },
281
- type: {
282
- type: 'string',
283
- description: 'Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.',
284
- enum: ['managed', 'connected']
285
558
  }
286
559
  },
287
- required: ['id', 'type'],
560
+ required: ['id'],
288
561
  additionalProperties: false
289
562
  };
290
563
  export const FleetSchema = {
@@ -320,36 +593,21 @@ export const FleetSchema = {
320
593
  additionalProperties: false
321
594
  },
322
595
  hetzner: {
323
- oneOf: [
324
- {
325
- type: 'object',
326
- properties: {
327
- enabled: {
328
- type: 'boolean',
329
- default: true
330
- },
331
- apiKey: {
332
- type: 'string'
333
- }
334
- },
335
- additionalProperties: false
336
- },
337
- {
338
- type: 'object',
339
- properties: {
340
- apiKey: {
341
- type: 'string'
342
- },
343
- enabled: {
344
- type: 'boolean',
345
- default: true
346
- }
347
- },
348
- additionalProperties: false
349
- }
350
- ]
351
- },
352
- aws: {
596
+ type: 'object',
597
+ properties: {
598
+ enabled: {
599
+ type: 'boolean',
600
+ default: true
601
+ },
602
+ apiKey: {
603
+ type: 'string',
604
+ description: 'Hetzner Cloud API key with read / write access'
605
+ }
606
+ },
607
+ required: ['apiKey'],
608
+ additionalProperties: false
609
+ },
610
+ aws: {
353
611
  type: 'object',
354
612
  properties: {
355
613
  enabled: {
@@ -371,14 +629,9 @@ export const FleetSchema = {
371
629
  pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
372
630
  description: 'Unique identifier of the kubernetes fleet.',
373
631
  example: 'new-clouds-fleet'
374
- },
375
- type: {
376
- type: 'string',
377
- description: 'Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.',
378
- enum: ['managed', 'connected']
379
632
  }
380
633
  },
381
- required: ['id', 'type'],
634
+ required: ['id'],
382
635
  additionalProperties: false
383
636
  };
384
637
  export const FleetUpdateInputSchema = {
@@ -414,34 +667,19 @@ export const FleetUpdateInputSchema = {
414
667
  additionalProperties: false
415
668
  },
416
669
  hetzner: {
417
- oneOf: [
418
- {
419
- type: 'object',
420
- properties: {
421
- enabled: {
422
- type: 'boolean',
423
- default: true
424
- },
425
- apiKey: {
426
- type: 'string'
427
- }
428
- },
429
- additionalProperties: false
670
+ type: 'object',
671
+ properties: {
672
+ enabled: {
673
+ type: 'boolean',
674
+ default: true
430
675
  },
431
- {
432
- type: 'object',
433
- properties: {
434
- apiKey: {
435
- type: 'string'
436
- },
437
- enabled: {
438
- type: 'boolean',
439
- default: true
440
- }
441
- },
442
- additionalProperties: false
676
+ apiKey: {
677
+ type: 'string',
678
+ description: 'Hetzner Cloud API key with read / write access'
443
679
  }
444
- ]
680
+ },
681
+ required: ['apiKey'],
682
+ additionalProperties: false
445
683
  },
446
684
  aws: {
447
685
  type: 'object',
@@ -461,276 +699,6 @@ export const FleetUpdateInputSchema = {
461
699
  },
462
700
  additionalProperties: false
463
701
  };
464
- export const InfrastructureFilterSchema = {
465
- type: 'object',
466
- properties: {
467
- version: {
468
- type: 'integer',
469
- description: 'Version of the infrastructure filter definition. Currently only version 1 is supported.',
470
- default: 1,
471
- example: 1,
472
- enum: [1]
473
- },
474
- provider: {
475
- type: 'array',
476
- items: {
477
- type: 'string'
478
- },
479
- description: 'Limit selection of cloud providers to this list. For the full list of supported providers, see [Providers](https://cloudfleet.ai/docs/cloud-infrastructure/providers/)',
480
- example: 'AWS'
481
- },
482
- region: {
483
- type: 'array',
484
- items: {
485
- type: 'string'
486
- },
487
- description: 'Limits selection of cloud regions to this list of Cloudfleet regions. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)',
488
- example: 'northamerica'
489
- },
490
- sub_region: {
491
- type: 'array',
492
- items: {
493
- type: 'string'
494
- },
495
- description: 'Limits selection of cloud regions to this list of Cloudfleet regions. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)',
496
- example: 'west'
497
- },
498
- csp_region: {
499
- type: 'array',
500
- items: {
501
- type: 'string'
502
- },
503
- description: 'Limits selection of cloud regions to this list of canonical provider regions',
504
- example: 'eu-west-1'
505
- },
506
- instance_type: {
507
- type: 'array',
508
- items: {
509
- type: 'string'
510
- },
511
- description: 'Limits selection of instance types to this list. Instance / VM type as defined by the cloud service provider',
512
- example: 'p4d.24xlarge'
513
- },
514
- accelerator_name: {
515
- type: 'array',
516
- items: {
517
- type: 'string'
518
- },
519
- description: "List of Normalized accelerator model names. For example, all variations of Nvidia A100 GPUs will have 'A100' as accelerator name with various memory configurations set in accelerator_memory field",
520
- example: 'A100'
521
- },
522
- accelerator_manufacturer: {
523
- type: 'array',
524
- items: {
525
- type: 'string'
526
- },
527
- description: "List of normalized accelerator manufacturer names. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer",
528
- example: 'NVIDIA'
529
- },
530
- accelerator_count_min: {
531
- type: 'integer',
532
- minimum: 0,
533
- description: 'Minimum number of accelerators available on the instance. Some cloud providers support shared accelerators, so the number of accelerators may be a fraction of the number of physical accelerators.',
534
- example: 1
535
- },
536
- accelerator_count_max: {
537
- type: 'integer',
538
- minimum: 0,
539
- description: 'Maximum number of accelerators available on the instance. Some cloud providers support shared accelerators, so the number of accelerators may be a fraction of the number of physical accelerators.',
540
- example: 8
541
- },
542
- accelerator_memory_min: {
543
- type: 'number',
544
- format: 'float',
545
- description: "Minimum amount of accelerator memory available to each accelerator. For example, Nvidia A100 GPUs will typically have '40.0' gibibytes (GiB) of memory, while A100 GPUs with HBM2E memory will have '80.0' gibibytes (GiB) of memory",
546
- example: 40
547
- },
548
- accelerator_memory_max: {
549
- type: 'number',
550
- format: 'float',
551
- description: "Maximum amount of accelerator memory available to each accelerator. For example, Nvidia A100 GPUs will typically have '40.0' gibibytes (GiB) of memory, while A100 GPUs with HBM2E memory will have '80.0' gibibytes (GiB) of memory",
552
- example: 80
553
- },
554
- memory_min: {
555
- type: 'integer',
556
- minimum: 0,
557
- description: 'Minimum amount of RAM in gibibytes (GiB)',
558
- example: 32
559
- },
560
- memory_max: {
561
- type: 'integer',
562
- minimum: 0,
563
- description: 'Maximum amount of RAM in gibibytes (GiB)',
564
- example: 64
565
- },
566
- vcpu_min: {
567
- type: 'integer',
568
- minimum: 1,
569
- description: 'Minimum number of vCPUs as defined by the cloud service provider. Some cloud providers use hyperthreading, so the number of vCPUs may be twice as high as the number of physical cores.',
570
- example: 32
571
- },
572
- vcpu_max: {
573
- type: 'integer',
574
- minimum: 1,
575
- description: 'Maximum number of vCPUs as defined by the cloud service provider. Some cloud providers use hyperthreading, so the number of vCPUs may be twice as high as the number of physical cores.',
576
- example: 128
577
- },
578
- storage_total_min: {
579
- type: 'number',
580
- format: 'float',
581
- minimum: 10,
582
- description: 'Minimum total storage in GiB (attached and local)',
583
- example: 128
584
- },
585
- storage_total_max: {
586
- type: 'number',
587
- format: 'float',
588
- minimum: 10,
589
- description: 'Maximum total storage in GiB (attached and local)',
590
- example: 256
591
- },
592
- storage_local_min: {
593
- type: 'number',
594
- format: 'float',
595
- description: 'Minimum volume of directly attached, block-device local storage in gibibytes (GiB)',
596
- example: 24
597
- },
598
- storage_local_max: {
599
- type: 'number',
600
- format: 'float',
601
- description: 'Maximum volume of directly attached, block-device local storage in gibibytes (GiB)',
602
- example: 128
603
- },
604
- price_min: {
605
- type: 'number',
606
- format: 'float',
607
- description: 'Minimum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.',
608
- example: 10
609
- },
610
- price_max: {
611
- type: 'number',
612
- format: 'float',
613
- description: 'Maximum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.',
614
- example: 50
615
- }
616
- },
617
- additionalProperties: false
618
- };
619
- export const InfrastructureInstanceSchema = {
620
- type: 'object',
621
- properties: {
622
- sku: {
623
- type: 'string',
624
- description: 'Cloudfleet instance SKU. Has a format of <provider>-<csp_region>-<instance_type>.',
625
- example: 'AWS-EU-WEST-1C-P4D.24XLARGE'
626
- },
627
- provider: {
628
- type: 'string',
629
- description: 'Normalized cloud service provider name. For the full list of supported providers, see [Providers](https://cloudfleet.ai/docs/cloud-infrastructure/providers/)',
630
- example: 'AWS'
631
- },
632
- region: {
633
- type: 'string',
634
- description: 'Normalized region. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)',
635
- example: 'europe'
636
- },
637
- sub_region: {
638
- type: 'string',
639
- description: 'Normalized sub-region. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)',
640
- example: 'west'
641
- },
642
- csp_region: {
643
- type: 'string',
644
- description: 'Region as defined by the cloud service provider',
645
- example: 'eu-west-1'
646
- },
647
- csp_zone: {
648
- type: 'string',
649
- description: 'Availability zone as defined by the cloud service provider',
650
- example: 'eu-west-1a'
651
- },
652
- instance_type: {
653
- type: 'string',
654
- description: 'Instance / VM type as defined by the cloud service provider',
655
- example: 'p4d.24xlarge'
656
- },
657
- architecture: {
658
- type: 'string',
659
- description: 'Instance CPU architecture',
660
- example: 'amd64'
661
- },
662
- os: {
663
- type: 'string',
664
- description: 'Instance operating system',
665
- example: 'linux'
666
- },
667
- vcpu: {
668
- type: 'number',
669
- format: 'float',
670
- minimum: 1,
671
- description: 'CPU count as defined by the cloud service provider. Some cloud providers use hyperthreading, so the number of vCPUs may be twice as high as the number of physical cores.',
672
- example: 96
673
- },
674
- memory: {
675
- type: 'number',
676
- format: 'float',
677
- minimum: 1,
678
- description: 'Total amount of RAM in gibibytes (GiB)',
679
- example: 1152
680
- },
681
- local_storage: {
682
- type: 'number',
683
- format: 'float',
684
- description: 'Volume of directly attached, block-device local storage in gibibytes (GiB)',
685
- example: 8000
686
- },
687
- accelerator_name: {
688
- type: 'string',
689
- description: "Normalized model name of accelerator. For example, all variations of Nvidia A100 GPUs will have 'A100' as accelerator name with various memory configurations set in accelerator_memory field",
690
- example: 'A100'
691
- },
692
- accelerator_manufacturer: {
693
- type: 'string',
694
- description: "Normalized manufacturer name of accelerator. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer",
695
- example: 'NVIDIA'
696
- },
697
- accelerator_count: {
698
- type: 'integer',
699
- description: 'Number of accelerators available on the instance. Some cloud providers support shared accelerators, so the number of accelerators may be a fraction of the number of physical accelerators.',
700
- example: 8
701
- },
702
- accelerator_memory: {
703
- type: 'number',
704
- format: 'float',
705
- description: "Ammount of accelerator memory available to each accelerator. For example, Nvidia A100 GPUs will typically have '40.0' gibibytes (GiB) of memory, while A100 GPUs with HBM2E memory will have '80.0' gibibytes (GiB) of memory",
706
- example: 40
707
- },
708
- pods_capacity: {
709
- type: 'number',
710
- format: 'float',
711
- description: 'Maximum number of pods that can be run on this instance type.',
712
- example: 110
713
- },
714
- capacity_type: {
715
- type: 'string',
716
- description: 'Capacity type of the instance. E.g. `on-demand`, `spot`.',
717
- example: 'on-demand'
718
- },
719
- price: {
720
- type: 'number',
721
- format: 'float',
722
- description: 'Price of running the inctance per hour in USD as defined by the cloud service provider',
723
- example: 35.39655
724
- },
725
- available: {
726
- type: 'boolean',
727
- description: 'Whether this instance type is available.',
728
- example: true
729
- }
730
- },
731
- required: ['sku', 'provider', 'region', 'sub_region', 'csp_region', 'csp_zone', 'instance_type', 'architecture', 'os', 'vcpu', 'memory', 'local_storage', 'price'],
732
- additionalProperties: false
733
- };
734
702
  export const InviteSchema = {
735
703
  type: 'object',
736
704
  properties: {
@@ -771,23 +739,18 @@ export const InvoiceSchema = {
771
739
  properties: {
772
740
  id: {
773
741
  type: 'string',
774
- format: 'uuid',
775
- description: 'Unique identifier of the invoice. UUID v4 string in canonical form',
776
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
742
+ description: 'Unique identifier of the invoice.',
743
+ example: 'in_1234567890xCrwxghOTj1234'
777
744
  },
778
- organizationId: {
779
- type: 'string',
780
- format: 'uuid',
781
- description: 'Unique identifier of the organization. UUID v4 string in canonical form',
782
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
745
+ number: {
746
+ type: 'string'
783
747
  },
784
748
  status: {
785
749
  type: 'string',
786
750
  description: 'Status of the invoice',
787
- example: 'DRAFT',
788
- enum: ['DRAFT', 'COMMITTED', 'VOID']
751
+ example: 'paid'
789
752
  },
790
- amount: {
753
+ total: {
791
754
  type: 'number',
792
755
  format: 'float',
793
756
  description: 'Total amount of the invoice',
@@ -796,377 +759,175 @@ export const InvoiceSchema = {
796
759
  currency: {
797
760
  type: 'string',
798
761
  description: 'Currency of the invoice',
799
- example: 'USD',
800
- 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']
801
- },
802
- creditAdj: {
803
- type: 'number',
804
- format: 'float',
805
- description: 'Total amount of credit adjustments',
806
- example: 0
762
+ example: 'usd'
807
763
  },
808
- refundAdj: {
809
- type: 'number',
810
- format: 'float',
811
- description: 'Total amount of refund adjustments',
812
- 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'
813
769
  },
814
- invoiceDate: {
770
+ period_start: {
815
771
  type: 'string',
816
- description: 'Date of the invoice',
817
- 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'
818
775
  },
819
- targetDate: {
776
+ period_end: {
820
777
  type: 'string',
821
- description: 'Target date of the invoice',
822
- 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'
823
781
  },
824
- 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: {
825
793
  type: 'string',
826
- description: 'Number of the invoice',
827
- 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`
828
799
  },
829
- balance: {
830
- type: 'number',
831
- format: 'float',
832
- description: 'Balance of the invoice',
833
- 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`
834
807
  },
835
- 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: {
836
820
  type: 'string',
837
- description: 'Bundle keys of the invoice',
838
- example: 'bundleKey1,bundleKey2'
821
+ description: 'Name of the chart',
822
+ example: 'nginx-ingress'
839
823
  },
840
- credits: {
824
+ versions: {
841
825
  type: 'array',
842
826
  items: {
843
- type: 'object',
844
- properties: {
845
- id: {
846
- type: 'string',
847
- format: 'uuid',
848
- description: 'Unique identifier of the invoice item. UUID v4 string in canonical form',
849
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
850
- },
851
- linkedInvoiceItemId: {
852
- type: 'string',
853
- format: 'uuid',
854
- description: 'Unique identifier of the linked invoice item. UUID v4 string in canonical form',
855
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
856
- },
857
- productName: {
858
- type: 'string',
859
- description: 'Name of the product',
860
- example: 'Research team'
861
- },
862
- planName: {
863
- type: 'string',
864
- description: 'Name of the plan',
865
- example: 'Plan A'
866
- },
867
- phaseName: {
868
- type: 'string',
869
- description: 'Name of the phase',
870
- example: 'Phase A'
871
- },
872
- usageName: {
873
- type: 'string',
874
- description: 'Name of the usage',
875
- example: 'Usage A'
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'
831
+ },
832
+ description: 'Available versions of the chart'
833
+ },
834
+ version_channels: {
835
+ type: 'array',
836
+ items: {
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'
876
881
  },
877
- prettyProductName: {
878
- type: 'string',
879
- description: 'Pretty name of the product',
880
- 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'
881
894
  },
882
- prettyPlanName: {
883
- type: 'string',
884
- description: 'Pretty name of the plan',
885
- example: 'Plan A'
886
- },
887
- prettyPhaseName: {
888
- type: 'string',
889
- description: 'Pretty name of the phase',
890
- example: 'Phase A'
891
- },
892
- prettyUsageName: {
893
- type: 'string',
894
- description: 'Pretty name of the usage',
895
- example: 'Usage A'
896
- },
897
- itemType: {
898
- type: 'string',
899
- description: 'Type of the invoice item',
900
- example: 'EXTERNAL_CHARGE',
901
- enum: ['EXTERNAL_CHARGE', 'FIXED', 'RECURRING', 'REPAIR_ADJ', 'CBA_ADJ', 'CREDIT_ADJ', 'ITEM_ADJ', 'USAGE', 'TAX', 'PARENT_SUMMARY']
902
- },
903
- description: {
904
- type: 'string',
905
- description: 'Description of the invoice item',
906
- example: 'Description of the invoice item'
907
- },
908
- startDate: {
909
- type: 'string',
910
- description: 'Start date of the invoice item',
911
- example: '2019-01-01T00:00:00.000Z'
912
- },
913
- endDate: {
914
- type: 'string',
915
- description: 'End date of the invoice item',
916
- example: '2019-01-01T00:00:00.000Z'
917
- },
918
- amount: {
919
- type: 'number',
920
- format: 'float',
921
- description: 'Amount of the invoice item',
922
- example: 100
923
- },
924
- rate: {
925
- type: 'number',
926
- format: 'float',
927
- description: 'Rate of the invoice item',
928
- example: 100
929
- },
930
- currency: {
931
- type: 'string',
932
- description: 'Currency of the invoice item',
933
- example: 'USD',
934
- 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']
935
- },
936
- quantity: {
937
- type: 'number',
938
- format: 'float',
939
- description: 'Quantity of the invoice item',
940
- example: 1
941
- },
942
- itemDetails: {
943
- type: 'string',
944
- description: 'Details of the invoice item',
945
- example: 'Details of the invoice item'
946
- },
947
- catalogEffectiveDate: {
948
- type: 'string',
949
- description: 'Effective date of the catalog',
950
- example: '2019-01-01T00:00:00.000Z'
951
- },
952
- childItems: {
953
- type: 'array',
954
- items: {
955
- oneOf: [
956
- {
957
- type: 'array'
958
- },
959
- {
960
- type: 'boolean'
961
- },
962
- {
963
- type: 'number'
964
- },
965
- {
966
- type: 'object',
967
- additionalProperties: true
968
- },
969
- {
970
- type: 'string'
971
- }
972
- ]
973
- },
974
- description: 'Child items of the invoice item'
975
- }
895
+ description: 'Chart source URLs',
896
+ example: ['https://github.com/kubernetes/ingress-nginx']
976
897
  },
977
- additionalProperties: false
978
- },
979
- description: 'Credits of the invoice'
980
- },
981
- items: {
982
- type: 'array',
983
- items: {
984
- type: 'object',
985
- properties: {
986
- id: {
987
- type: 'string',
988
- format: 'uuid',
989
- description: 'Unique identifier of the invoice item. UUID v4 string in canonical form',
990
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
991
- },
992
- linkedInvoiceItemId: {
993
- type: 'string',
994
- format: 'uuid',
995
- description: 'Unique identifier of the linked invoice item. UUID v4 string in canonical form',
996
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
997
- },
998
- productName: {
999
- type: 'string',
1000
- description: 'Name of the product',
1001
- example: 'Research team'
1002
- },
1003
- planName: {
1004
- type: 'string',
1005
- description: 'Name of the plan',
1006
- example: 'Plan A'
1007
- },
1008
- phaseName: {
1009
- type: 'string',
1010
- description: 'Name of the phase',
1011
- example: 'Phase A'
1012
- },
1013
- usageName: {
1014
- type: 'string',
1015
- description: 'Name of the usage',
1016
- example: 'Usage A'
1017
- },
1018
- prettyProductName: {
1019
- type: 'string',
1020
- description: 'Pretty name of the product',
1021
- example: 'Research team'
1022
- },
1023
- prettyPlanName: {
1024
- type: 'string',
1025
- description: 'Pretty name of the plan',
1026
- example: 'Plan A'
1027
- },
1028
- prettyPhaseName: {
1029
- type: 'string',
1030
- description: 'Pretty name of the phase',
1031
- example: 'Phase A'
1032
- },
1033
- prettyUsageName: {
1034
- type: 'string',
1035
- description: 'Pretty name of the usage',
1036
- example: 'Usage A'
1037
- },
1038
- itemType: {
1039
- type: 'string',
1040
- description: 'Type of the invoice item',
1041
- example: 'EXTERNAL_CHARGE',
1042
- enum: ['EXTERNAL_CHARGE', 'FIXED', 'RECURRING', 'REPAIR_ADJ', 'CBA_ADJ', 'CREDIT_ADJ', 'ITEM_ADJ', 'USAGE', 'TAX', 'PARENT_SUMMARY']
1043
- },
1044
- description: {
1045
- type: 'string',
1046
- description: 'Description of the invoice item',
1047
- example: 'Description of the invoice item'
1048
- },
1049
- startDate: {
1050
- type: 'string',
1051
- description: 'Start date of the invoice item',
1052
- example: '2019-01-01T00:00:00.000Z'
1053
- },
1054
- endDate: {
1055
- type: 'string',
1056
- description: 'End date of the invoice item',
1057
- example: '2019-01-01T00:00:00.000Z'
1058
- },
1059
- amount: {
1060
- type: 'number',
1061
- format: 'float',
1062
- description: 'Amount of the invoice item',
1063
- example: 100
1064
- },
1065
- rate: {
1066
- type: 'number',
1067
- format: 'float',
1068
- description: 'Rate of the invoice item',
1069
- example: 100
1070
- },
1071
- currency: {
1072
- type: 'string',
1073
- description: 'Currency of the invoice item',
1074
- example: 'USD',
1075
- 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']
1076
- },
1077
- quantity: {
1078
- type: 'number',
1079
- format: 'float',
1080
- description: 'Quantity of the invoice item',
1081
- example: 1
1082
- },
1083
- itemDetails: {
1084
- type: 'string',
1085
- description: 'Details of the invoice item',
1086
- example: 'Details of the invoice item'
1087
- },
1088
- catalogEffectiveDate: {
1089
- type: 'string',
1090
- description: 'Effective date of the catalog',
1091
- example: '2019-01-01T00:00:00.000Z'
1092
- },
1093
- childItems: {
1094
- type: 'array',
1095
- items: {
1096
- oneOf: [
1097
- {
1098
- type: 'array'
1099
- },
1100
- {
1101
- type: 'boolean'
1102
- },
1103
- {
1104
- type: 'number'
1105
- },
1106
- {
1107
- type: 'object',
1108
- additionalProperties: true
1109
- },
1110
- {
1111
- type: 'string'
1112
- }
1113
- ]
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
+ }
1114
913
  },
1115
- description: 'Child items of the invoice item'
1116
- }
1117
- },
1118
- additionalProperties: false
914
+ required: ['name'],
915
+ additionalProperties: false
916
+ },
917
+ description: 'Chart maintainers'
918
+ }
1119
919
  },
1120
- description: 'Items of the invoice'
920
+ required: ['name', 'version'],
921
+ additionalProperties: false,
922
+ description: 'Chart metadata'
1121
923
  }
1122
924
  },
925
+ required: ['name', 'versions', 'version_channels', 'latestVersion'],
1123
926
  additionalProperties: false
1124
927
  };
1125
- export const OrganizationContactInfoSchema = {
928
+ export const OrganizationCreateInputSchema = {
1126
929
  type: 'object',
1127
930
  properties: {
1128
- address1: {
1129
- type: 'string',
1130
- nullable: true,
1131
- description: 'Street address, P.O. box, c/o',
1132
- example: '123 Main St.'
1133
- },
1134
- address2: {
1135
- type: 'string',
1136
- nullable: true,
1137
- description: 'Apartment, suite, unit, building, floor, etc.',
1138
- example: 'Suite 100'
1139
- },
1140
- postalCode: {
1141
- type: 'string',
1142
- nullable: true,
1143
- description: 'Postal code as a string.',
1144
- example: '94105'
1145
- },
1146
- city: {
1147
- type: 'string',
1148
- nullable: true,
1149
- description: 'City or town name.',
1150
- example: 'San Francisco'
1151
- },
1152
- state: {
1153
- type: 'string',
1154
- nullable: true,
1155
- description: 'State, province, or region name.',
1156
- example: 'CA'
1157
- },
1158
- country: {
1159
- type: 'string',
1160
- nullable: true,
1161
- description: 'Country as a ISO 3166-1 alpha-2 country code.',
1162
- example: 'US'
1163
- },
1164
- phone: {
1165
- type: 'string',
1166
- nullable: true,
1167
- description: 'Phone number as a string.',
1168
- example: '+1 555 555 5555'
1169
- },
1170
931
  email: {
1171
932
  type: 'string',
1172
933
  format: 'email',
@@ -1182,15 +943,8 @@ export const OrganizationContactInfoSchema = {
1182
943
  type: 'string',
1183
944
  description: 'Last name of the billing contact person.',
1184
945
  example: 'Doe'
1185
- }
1186
- },
1187
- required: ['email', 'first_name', 'last_name'],
1188
- additionalProperties: false
1189
- };
1190
- export const OrganizationCreateInputSchema = {
1191
- type: 'object',
1192
- properties: {
1193
- name: {
946
+ },
947
+ company_name: {
1194
948
  type: 'string',
1195
949
  maxLength: 120,
1196
950
  minLength: 2,
@@ -1198,150 +952,31 @@ export const OrganizationCreateInputSchema = {
1198
952
  description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
1199
953
  example: 'ACME Corp.'
1200
954
  },
1201
- contactInfo: {
1202
- type: 'object',
1203
- properties: {
1204
- address1: {
1205
- type: 'string',
1206
- description: 'Street address, P.O. box, c/o',
1207
- example: '123 Main St.'
1208
- },
1209
- address2: {
1210
- type: 'string',
1211
- description: 'Apartment, suite, unit, building, floor, etc.',
1212
- example: 'Suite 100'
1213
- },
1214
- postalCode: {
1215
- type: 'string',
1216
- description: 'Postal code as a string.',
1217
- example: '94105'
1218
- },
1219
- city: {
1220
- type: 'string',
1221
- description: 'City or town name.',
1222
- example: 'San Francisco'
1223
- },
1224
- state: {
1225
- type: 'string',
1226
- description: 'State, province, or region name.',
1227
- example: 'CA'
1228
- },
1229
- country: {
1230
- type: 'string',
1231
- description: 'Country as a ISO 3166-1 alpha-2 country code.',
1232
- example: 'US'
1233
- },
1234
- phone: {
1235
- type: 'string',
1236
- description: 'Phone number as a string.',
1237
- example: '+1 555 555 5555'
1238
- },
1239
- email: {
1240
- type: 'string',
1241
- format: 'email',
1242
- description: 'Email address used for billing as a string.',
1243
- example: 'email@example.com'
1244
- },
1245
- first_name: {
1246
- type: 'string',
1247
- description: 'First name of the billing contact person.',
1248
- example: 'John'
1249
- },
1250
- last_name: {
1251
- type: 'string',
1252
- description: 'Last name of the billing contact person.',
1253
- example: 'Doe'
1254
- }
1255
- },
1256
- required: ['email', 'first_name', 'last_name'],
1257
- additionalProperties: false,
1258
- description: 'Organization contact information and billing address.'
1259
- },
1260
955
  password: {
1261
956
  type: 'string',
1262
957
  minLength: 8,
1263
958
  description: 'Password for the root account. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character.'
1264
959
  }
1265
960
  },
1266
- required: ['name', 'contactInfo', 'password'],
961
+ required: ['email', 'first_name', 'last_name', 'company_name', 'password'],
1267
962
  additionalProperties: false
1268
963
  };
1269
964
  export const OrganizationSchema = {
1270
965
  type: 'object',
1271
966
  properties: {
967
+ id: {
968
+ type: 'string',
969
+ format: 'uuid',
970
+ description: 'Unique identifier of the organization. UUID v4 string in canonical form',
971
+ example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
972
+ },
1272
973
  name: {
1273
974
  type: 'string',
1274
975
  maxLength: 120,
1275
976
  minLength: 2,
1276
- pattern: '^(?!\\s)(?!.*\\s$)(?=.*[a-zA-ZÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ0-9])[a-zA-ZÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ0-9 -.]{2,}$',
1277
977
  description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
1278
978
  example: 'ACME Corp.'
1279
979
  },
1280
- contactInfo: {
1281
- type: 'object',
1282
- properties: {
1283
- address1: {
1284
- type: 'string',
1285
- description: 'Street address, P.O. box, c/o',
1286
- example: '123 Main St.'
1287
- },
1288
- address2: {
1289
- type: 'string',
1290
- description: 'Apartment, suite, unit, building, floor, etc.',
1291
- example: 'Suite 100'
1292
- },
1293
- postalCode: {
1294
- type: 'string',
1295
- description: 'Postal code as a string.',
1296
- example: '94105'
1297
- },
1298
- city: {
1299
- type: 'string',
1300
- description: 'City or town name.',
1301
- example: 'San Francisco'
1302
- },
1303
- state: {
1304
- type: 'string',
1305
- description: 'State, province, or region name.',
1306
- example: 'CA'
1307
- },
1308
- country: {
1309
- type: 'string',
1310
- description: 'Country as a ISO 3166-1 alpha-2 country code.',
1311
- example: 'US'
1312
- },
1313
- phone: {
1314
- type: 'string',
1315
- description: 'Phone number as a string.',
1316
- example: '+1 555 555 5555'
1317
- },
1318
- email: {
1319
- type: 'string',
1320
- format: 'email',
1321
- description: 'Email address used for billing as a string.',
1322
- example: 'email@example.com'
1323
- },
1324
- first_name: {
1325
- type: 'string',
1326
- description: 'First name of the billing contact person.',
1327
- example: 'John'
1328
- },
1329
- last_name: {
1330
- type: 'string',
1331
- description: 'Last name of the billing contact person.',
1332
- example: 'Doe'
1333
- }
1334
- },
1335
- required: ['email', 'first_name', 'last_name'],
1336
- additionalProperties: false,
1337
- description: 'Organization contact information and billing address.'
1338
- },
1339
- id: {
1340
- type: 'string',
1341
- format: 'uuid',
1342
- description: 'Unique identifier of the organization. UUID v4 string in canonical form',
1343
- example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
1344
- },
1345
980
  date_created: {
1346
981
  type: 'string',
1347
982
  format: 'date-time',
@@ -1379,12 +1014,6 @@ export const OrganizationSchema = {
1379
1014
  description: 'Maximum number of fleets that can be created per cluster.',
1380
1015
  example: 999
1381
1016
  },
1382
- managed_fleets_cpu_max: {
1383
- type: 'integer',
1384
- minimum: 0,
1385
- description: 'Maximum number of CPU cores per managed fleet.',
1386
- example: 999
1387
- },
1388
1017
  cluster_tiers: {
1389
1018
  type: 'array',
1390
1019
  items: {
@@ -1411,115 +1040,44 @@ export const OrganizationSchema = {
1411
1040
  id: {
1412
1041
  type: 'string',
1413
1042
  description: 'Id of the control plane version. Used in API calls.',
1414
- example: '1.29.x-cfke.x'
1043
+ example: '1.33.x-cfke.x'
1415
1044
  },
1416
1045
  label: {
1417
1046
  type: 'string',
1418
- description: 'Label of the control plane version. Used in frontent UI.',
1419
- example: '1.29.x (Always latest 1.29 patch version)'
1420
- }
1421
- },
1422
- required: ['id', 'label'],
1423
- additionalProperties: false
1424
- },
1425
- minItems: 1,
1426
- description: 'List of CFKE control plane versions available for the organization.'
1427
- }
1428
- },
1429
- required: ['basic_clusters_max', 'basic_clusters_available', 'pro_clusters_max', 'pro_clusters_available', 'fleets_max', 'managed_fleets_cpu_max', 'cluster_tiers', 'regions', 'versions'],
1430
- additionalProperties: false,
1431
- 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.'
1432
- },
1433
- pending_actions: {
1434
- type: 'array',
1435
- items: {
1436
- type: 'string',
1437
- example: 'signup-payment-method',
1438
- enum: ['signup-billing-address', 'signup-payment-method', 'signup-invite-team', 'signup-create-cluster']
1439
- },
1440
- description: 'List of pending actions that the user needs to complete. Used in Cloudfleet console to guide the user through the onboarding process.'
1441
- },
1442
- status: {
1443
- type: 'string',
1444
- description: 'Status of the organization. Can be `active` or `closed`, or `suspended`.',
1445
- enum: ['active', 'closed', 'suspended']
1446
- }
1447
- },
1448
- required: ['name', 'contactInfo', 'id', 'date_created', 'quota', 'pending_actions', 'status'],
1449
- additionalProperties: false
1450
- };
1451
- export const OrganizationUpdateInputSchema = {
1452
- type: 'object',
1453
- properties: {
1454
- name: {
1455
- type: 'string',
1456
- maxLength: 120,
1457
- minLength: 2,
1458
- pattern: '^(?!\\s)(?!.*\\s$)(?=.*[a-zA-ZÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ0-9])[a-zA-ZÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ0-9 -.]{2,}$',
1459
- description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
1460
- example: 'ACME Corp.'
1461
- },
1462
- contactInfo: {
1463
- type: 'object',
1464
- properties: {
1465
- address1: {
1466
- type: 'string',
1467
- description: 'Street address, P.O. box, c/o',
1468
- example: '123 Main St.'
1469
- },
1470
- address2: {
1471
- type: 'string',
1472
- description: 'Apartment, suite, unit, building, floor, etc.',
1473
- example: 'Suite 100'
1474
- },
1475
- postalCode: {
1476
- type: 'string',
1477
- description: 'Postal code as a string.',
1478
- example: '94105'
1479
- },
1480
- city: {
1481
- type: 'string',
1482
- description: 'City or town name.',
1483
- example: 'San Francisco'
1484
- },
1485
- state: {
1486
- type: 'string',
1487
- description: 'State, province, or region name.',
1488
- example: 'CA'
1489
- },
1490
- country: {
1491
- type: 'string',
1492
- description: 'Country as a ISO 3166-1 alpha-2 country code.',
1493
- example: 'US'
1494
- },
1495
- phone: {
1496
- type: 'string',
1497
- description: 'Phone number as a string.',
1498
- example: '+1 555 555 5555'
1499
- },
1500
- email: {
1501
- type: 'string',
1502
- format: 'email',
1503
- description: 'Email address used for billing as a string.',
1504
- example: 'email@example.com'
1047
+ description: 'Label of the control plane version. Used in frontent UI.',
1048
+ example: '1.33.x (Always latest 1.33 patch version)'
1049
+ }
1050
+ },
1051
+ required: ['id', 'label'],
1052
+ additionalProperties: false
1053
+ },
1054
+ minItems: 1,
1055
+ description: 'List of CFKE control plane versions available for the organization.'
1505
1056
  },
1506
- first_name: {
1507
- type: 'string',
1508
- description: 'First name of the billing contact person.',
1509
- example: 'John'
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
1510
1062
  },
1511
- last_name: {
1512
- type: 'string',
1513
- description: 'Last name of the billing contact person.',
1514
- example: 'Doe'
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
1515
1068
  }
1516
1069
  },
1517
- required: ['email', 'first_name', 'last_name'],
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'],
1518
1071
  additionalProperties: false,
1519
- description: 'Organization contact information and billing address.'
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.'
1073
+ },
1074
+ status: {
1075
+ type: 'string',
1076
+ description: 'Status of the organization. Can be `active` or `closed`, or `suspended`.',
1077
+ enum: ['active', 'closed', 'suspended']
1520
1078
  }
1521
1079
  },
1522
- required: ['contactInfo'],
1080
+ required: ['id', 'date_created', 'quota', 'status'],
1523
1081
  additionalProperties: false
1524
1082
  };
1525
1083
  export const PaymentMethodSchema = {
@@ -1575,6 +1133,273 @@ export const PaymentMethodSchema = {
1575
1133
  required: ['id', 'setup', 'type', 'last4', 'exp_month', 'exp_year', 'brand'],
1576
1134
  additionalProperties: false
1577
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
+ };
1578
1403
  export const TokenCreateInputSchema = {
1579
1404
  type: 'object',
1580
1405
  properties: {
@@ -1653,32 +1478,138 @@ export const TokenUpdateInputSchema = {
1653
1478
  },
1654
1479
  additionalProperties: false
1655
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
+ };
1656
1576
  export const UsageSchema = {
1657
1577
  type: 'object',
1658
1578
  properties: {
1659
- id: {
1579
+ hour: {
1660
1580
  type: 'string',
1661
- format: 'uuid',
1662
- description: 'Unique identifier of the Usage object, equal to subscription id of the task . UUID v4 string in canonical form',
1663
- example: '8897e84c-2ba1-42fa-9d35-964c80a4ff0f'
1581
+ description: 'Hour of the usage',
1582
+ example: '2019-01-01T00:00:00.000Z'
1664
1583
  },
1665
- task_id: {
1584
+ cluster_id: {
1666
1585
  type: 'string',
1667
- format: 'uuid',
1668
- description: 'Unique identifier of the project. UUID v4 string in canonical form',
1669
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
1586
+ description: 'Unique identifier of the kubernetes cluster. UUID v4 string in canonical form',
1587
+ example: '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
1670
1588
  },
1671
- unit: {
1589
+ product: {
1672
1590
  type: 'string',
1673
- description: 'Unit of measurement. E.g. GiB, seconds, etc',
1674
- example: 'second'
1591
+ description: 'The product the usage is associated with',
1592
+ example: 'cfke_controlplane'
1593
+ },
1594
+ value: {
1595
+ type: 'number',
1596
+ format: 'float',
1597
+ description: 'Consumption',
1598
+ example: 4
1599
+ },
1600
+ price: {
1601
+ type: 'number',
1602
+ format: 'float',
1603
+ description: 'Price per unit',
1604
+ example: 0.01
1675
1605
  },
1676
- amount: {
1606
+ total: {
1677
1607
  type: 'number',
1678
- format: 'float'
1608
+ format: 'float',
1609
+ description: 'Total cost'
1679
1610
  }
1680
1611
  },
1681
- required: ['id', 'task_id', 'unit', 'amount'],
1612
+ required: ['hour', 'cluster_id', 'product', 'value', 'price', 'total'],
1682
1613
  additionalProperties: false
1683
1614
  };
1684
1615
  export const UserCreateInputSchema = {
@@ -1713,7 +1644,7 @@ export const UserCreateInputSchema = {
1713
1644
  password: {
1714
1645
  type: 'string',
1715
1646
  minLength: 8,
1716
- description: 'User password. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character.'
1647
+ description: 'User password. Must be at least 8 characters long.'
1717
1648
  },
1718
1649
  status: {
1719
1650
  type: 'string',
@@ -1777,28 +1708,6 @@ export const UserSchema = {
1777
1708
  format: 'date-time',
1778
1709
  description: 'Creation date of the user. ISO 8601 date string in UTC timezone',
1779
1710
  example: '2023-11-02T16:08:14.338Z'
1780
- },
1781
- cluster_permissions: {
1782
- type: 'array',
1783
- items: {
1784
- type: 'object',
1785
- properties: {
1786
- cluster_id: {
1787
- type: 'string',
1788
- format: 'uuid',
1789
- description: 'Unique identifier of the cluster. UUID v4 string in canonical form',
1790
- example: '035ce46d-44d8-4e58-a8a2-b0192d1c27df'
1791
- },
1792
- permissions: {
1793
- type: 'string',
1794
- description: 'User permissions to access the cluster. Can be `readwrite` or `readonly`.',
1795
- example: 'readwrite',
1796
- enum: ['readwrite', 'readonly']
1797
- }
1798
- },
1799
- required: ['cluster_id', 'permissions'],
1800
- additionalProperties: false
1801
- }
1802
1711
  }
1803
1712
  },
1804
1713
  required: ['email', 'first_name', 'last_name', 'role', 'status', 'id', 'date_created'],