@cloudfleet/sdk 0.0.1-22fefe4 → 0.0.1-253c998

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 (87) hide show
  1. package/dist/@tanstack/react-query.gen.d.ts +1048 -0
  2. package/dist/@tanstack/react-query.gen.d.ts.map +1 -0
  3. package/dist/@tanstack/react-query.gen.js +1040 -0
  4. package/dist/@tanstack/react-query.gen.js.map +1 -0
  5. package/dist/client/client.gen.d.ts +3 -0
  6. package/dist/client/client.gen.d.ts.map +1 -0
  7. package/dist/client/client.gen.js +220 -0
  8. package/dist/client/client.gen.js.map +1 -0
  9. package/dist/client/index.d.ts +9 -0
  10. package/dist/client/index.d.ts.map +1 -0
  11. package/dist/client/index.js +7 -0
  12. package/dist/client/index.js.map +1 -0
  13. package/dist/client/types.gen.d.ts +121 -0
  14. package/dist/client/types.gen.d.ts.map +1 -0
  15. package/dist/client/types.gen.js +3 -0
  16. package/dist/client/types.gen.js.map +1 -0
  17. package/dist/client/utils.gen.d.ts +38 -0
  18. package/dist/client/utils.gen.d.ts.map +1 -0
  19. package/dist/client/utils.gen.js +229 -0
  20. package/dist/client/utils.gen.js.map +1 -0
  21. package/dist/client.gen.d.ts +13 -0
  22. package/dist/client.gen.d.ts.map +1 -0
  23. package/dist/client.gen.js +4 -0
  24. package/dist/client.gen.js.map +1 -0
  25. package/dist/core/auth.gen.d.ts +19 -0
  26. package/dist/core/auth.gen.d.ts.map +1 -0
  27. package/dist/core/auth.gen.js +15 -0
  28. package/dist/core/auth.gen.js.map +1 -0
  29. package/dist/core/bodySerializer.gen.d.ts +26 -0
  30. package/dist/core/bodySerializer.gen.d.ts.map +1 -0
  31. package/dist/core/bodySerializer.gen.js +58 -0
  32. package/dist/core/bodySerializer.gen.js.map +1 -0
  33. package/dist/core/params.gen.d.ts +44 -0
  34. package/dist/core/params.gen.d.ts.map +1 -0
  35. package/dist/core/params.gen.js +101 -0
  36. package/dist/core/params.gen.js.map +1 -0
  37. package/dist/core/pathSerializer.gen.d.ts +34 -0
  38. package/dist/core/pathSerializer.gen.d.ts.map +1 -0
  39. package/dist/core/pathSerializer.gen.js +107 -0
  40. package/dist/core/pathSerializer.gen.js.map +1 -0
  41. package/dist/core/queryKeySerializer.gen.d.ts +19 -0
  42. package/dist/core/queryKeySerializer.gen.d.ts.map +1 -0
  43. package/dist/core/queryKeySerializer.gen.js +93 -0
  44. package/dist/core/queryKeySerializer.gen.js.map +1 -0
  45. package/dist/core/serverSentEvents.gen.d.ts +72 -0
  46. package/dist/core/serverSentEvents.gen.d.ts.map +1 -0
  47. package/dist/core/serverSentEvents.gen.js +133 -0
  48. package/dist/core/serverSentEvents.gen.js.map +1 -0
  49. package/dist/core/types.gen.d.ts +79 -0
  50. package/dist/core/types.gen.d.ts.map +1 -0
  51. package/dist/core/types.gen.js +3 -0
  52. package/dist/core/types.gen.js.map +1 -0
  53. package/dist/core/utils.gen.d.ts +20 -0
  54. package/dist/core/utils.gen.d.ts.map +1 -0
  55. package/dist/core/utils.gen.js +88 -0
  56. package/dist/core/utils.gen.js.map +1 -0
  57. package/dist/index.d.ts +3 -0
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +3 -0
  60. package/dist/index.js.map +1 -1
  61. package/dist/schemas.gen.d.ts +935 -985
  62. package/dist/schemas.gen.d.ts.map +1 -1
  63. package/dist/schemas.gen.js +1472 -1089
  64. package/dist/schemas.gen.js.map +1 -1
  65. package/dist/sdk.gen.d.ts +227 -142
  66. package/dist/sdk.gen.d.ts.map +1 -1
  67. package/dist/sdk.gen.js +284 -223
  68. package/dist/sdk.gen.js.map +1 -1
  69. package/dist/services/kubernetes/api.d.ts +196 -0
  70. package/dist/services/kubernetes/api.d.ts.map +1 -0
  71. package/dist/services/kubernetes/api.js +140 -0
  72. package/dist/services/kubernetes/api.js.map +1 -0
  73. package/dist/services/kubernetes/index.d.ts +44 -0
  74. package/dist/services/kubernetes/index.d.ts.map +1 -0
  75. package/dist/services/kubernetes/index.js +68 -0
  76. package/dist/services/kubernetes/index.js.map +1 -0
  77. package/dist/services/kubernetes/types.d.ts +1335 -0
  78. package/dist/services/kubernetes/types.d.ts.map +1 -0
  79. package/dist/services/kubernetes/types.js +2 -0
  80. package/dist/services/kubernetes/types.js.map +1 -0
  81. package/dist/types.gen.d.ts +965 -939
  82. package/dist/types.gen.d.ts.map +1 -1
  83. package/dist/zod.gen.d.ts +1709 -2855
  84. package/dist/zod.gen.d.ts.map +1 -1
  85. package/dist/zod.gen.js +692 -866
  86. package/dist/zod.gen.js.map +1 -1
  87. package/package.json +31 -5
@@ -1,4 +1,437 @@
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: [
78
+ 'ad_nrt',
79
+ 'ae_trn',
80
+ 'al_tin',
81
+ 'am_tin',
82
+ 'ao_tin',
83
+ 'ar_cuit',
84
+ 'at_vat',
85
+ 'au_abn',
86
+ 'au_arn',
87
+ 'ba_tin',
88
+ 'bb_tin',
89
+ 'be_vat',
90
+ 'bg_uic',
91
+ 'bg_vat',
92
+ 'bh_vat',
93
+ 'bo_tin',
94
+ 'br_cnpj',
95
+ 'br_cpf',
96
+ 'bs_tin',
97
+ 'by_tin',
98
+ 'ca_bn',
99
+ 'ca_gst_hst',
100
+ 'ca_pst_bc',
101
+ 'ca_pst_mb',
102
+ 'ca_pst_sk',
103
+ 'ca_qst',
104
+ 'cd_nif',
105
+ 'ch_uid',
106
+ 'ch_vat',
107
+ 'cl_tin',
108
+ 'cn_tin',
109
+ 'co_nit',
110
+ 'cr_tin',
111
+ 'cy_vat',
112
+ 'cz_vat',
113
+ 'de_stn',
114
+ 'de_vat',
115
+ 'dk_vat',
116
+ 'do_rcn',
117
+ 'ec_ruc',
118
+ 'ee_vat',
119
+ 'eg_tin',
120
+ 'es_cif',
121
+ 'es_vat',
122
+ 'eu_oss_vat',
123
+ 'fi_vat',
124
+ 'fr_vat',
125
+ 'gb_vat',
126
+ 'ge_vat',
127
+ 'gn_nif',
128
+ 'gr_vat',
129
+ 'hk_br',
130
+ 'hr_oib',
131
+ 'hr_vat',
132
+ 'hu_tin',
133
+ 'hu_vat',
134
+ 'id_npwp',
135
+ 'ie_vat',
136
+ 'il_vat',
137
+ 'in_gst',
138
+ 'is_vat',
139
+ 'it_vat',
140
+ 'jp_cn',
141
+ 'jp_rn',
142
+ 'jp_trn',
143
+ 'ke_pin',
144
+ 'kh_tin',
145
+ 'kr_brn',
146
+ 'kz_bin',
147
+ 'li_uid',
148
+ 'li_vat',
149
+ 'lt_vat',
150
+ 'lu_vat',
151
+ 'lv_vat',
152
+ 'ma_vat',
153
+ 'md_vat',
154
+ 'me_pib',
155
+ 'mk_vat',
156
+ 'mr_nif',
157
+ 'mt_vat',
158
+ 'mx_rfc',
159
+ 'my_frp',
160
+ 'my_itn',
161
+ 'my_sst',
162
+ 'ng_tin',
163
+ 'nl_vat',
164
+ 'no_vat',
165
+ 'no_voec',
166
+ 'np_pan',
167
+ 'nz_gst',
168
+ 'om_vat',
169
+ 'pe_ruc',
170
+ 'ph_tin',
171
+ 'pl_vat',
172
+ 'pt_vat',
173
+ 'ro_tin',
174
+ 'ro_vat',
175
+ 'rs_pib',
176
+ 'ru_inn',
177
+ 'ru_kpp',
178
+ 'sa_vat',
179
+ 'se_vat',
180
+ 'sg_gst',
181
+ 'sg_uen',
182
+ 'si_tin',
183
+ 'si_vat',
184
+ 'sk_vat',
185
+ 'sn_ninea',
186
+ 'sr_fin',
187
+ 'sv_nit',
188
+ 'th_vat',
189
+ 'tj_tin',
190
+ 'tr_tin',
191
+ 'tw_vat',
192
+ 'tz_vat',
193
+ 'ua_vat',
194
+ 'ug_tin',
195
+ 'us_ein',
196
+ 'uy_ruc',
197
+ 'uz_tin',
198
+ 'uz_vat',
199
+ 've_rif',
200
+ 'vn_tin',
201
+ 'xi_vat',
202
+ 'za_vat',
203
+ 'zm_tin',
204
+ 'zw_tin',
205
+ ''
206
+ ]
207
+ }
208
+ },
209
+ required: [
210
+ 'email',
211
+ 'individual_name'
212
+ ],
213
+ additionalProperties: false
214
+ };
215
+ export const BillingCreditsSchema = {
216
+ type: 'object',
217
+ properties: {
218
+ id: {
219
+ type: 'string',
220
+ description: 'Generated unique identifier of the promotional code.',
221
+ example: '7kUZnH7nnKUFfvc4NK2KQF'
222
+ },
223
+ type: {
224
+ type: 'string',
225
+ description: 'Type of the promotional code.',
226
+ example: 'credit',
227
+ enum: [
228
+ 'credit',
229
+ 'discount'
230
+ ]
231
+ },
232
+ date_start: {
233
+ type: 'string',
234
+ format: 'date-time',
235
+ description: 'Timestamp when the credit becomes active. ISO 8601 date string in the UTC timezone.',
236
+ example: '2023-12-20T13:53:32.000Z'
237
+ },
238
+ date_end: {
239
+ type: 'string',
240
+ format: 'date-time',
241
+ description: 'Timestamp when the credit expires or becomes inactive. ISO 8601 date string in the UTC timezone.',
242
+ example: '2023-12-20T13:53:32.000Z'
243
+ },
244
+ code: {
245
+ type: 'string',
246
+ description: 'Promotional code used by the customer.',
247
+ example: 'VQ4SCMB'
248
+ },
249
+ description: {
250
+ type: 'string',
251
+ description: 'Description of the promotional code.',
252
+ example: '10% off on all products'
253
+ },
254
+ value_total: {
255
+ type: 'number',
256
+ format: 'float',
257
+ description: 'Total value of the promotional code.',
258
+ example: 10
259
+ },
260
+ value_remaining: {
261
+ type: 'number',
262
+ format: 'float',
263
+ description: 'Remaining value of the promotional code.',
264
+ example: 8
265
+ }
266
+ },
267
+ required: [
268
+ 'type',
269
+ 'date_start',
270
+ 'code',
271
+ 'value_total'
272
+ ],
273
+ additionalProperties: false
274
+ };
275
+ export const ChartCreateInputSchema = {
276
+ type: 'object',
277
+ properties: {
278
+ values: {
279
+ type: 'string',
280
+ description: 'Values to be used in the chart encoded as a JSON string.'
281
+ },
282
+ version_channel: {
283
+ type: 'string',
284
+ pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
285
+ description: 'Desired version range or channel for the chart.',
286
+ example: '2.x.x-cfke.x'
287
+ },
288
+ name: {
289
+ type: 'string',
290
+ maxLength: 63,
291
+ minLength: 1,
292
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
293
+ description: 'Unique identifier of the chart deployment aka name of the helm release.',
294
+ example: 'postgresql-0'
295
+ },
296
+ namespace: {
297
+ type: 'string',
298
+ maxLength: 63,
299
+ minLength: 1,
300
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
301
+ description: 'Namespace of the chart deployment',
302
+ example: 'default'
303
+ },
304
+ chart: {
305
+ type: 'string',
306
+ maxLength: 63,
307
+ minLength: 1,
308
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
309
+ description: 'Name of the chart listing',
310
+ example: 'postgresql'
311
+ }
312
+ },
313
+ required: [
314
+ 'values',
315
+ 'version_channel',
316
+ 'name',
317
+ 'namespace',
318
+ 'chart'
319
+ ],
320
+ additionalProperties: false
321
+ };
322
+ export const ChartSchema = {
323
+ type: 'object',
324
+ properties: {
325
+ values: {
326
+ type: 'string',
327
+ description: 'Values to be used in the chart encoded as a JSON string.'
328
+ },
329
+ version_channel: {
330
+ type: 'string',
331
+ pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
332
+ description: 'Desired version range or channel for the chart.',
333
+ example: '2.x.x-cfke.x'
334
+ },
335
+ name: {
336
+ type: 'string',
337
+ maxLength: 63,
338
+ minLength: 1,
339
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
340
+ description: 'Unique identifier of the chart deployment aka name of the helm release.',
341
+ example: 'postgresql-0'
342
+ },
343
+ namespace: {
344
+ type: 'string',
345
+ maxLength: 63,
346
+ minLength: 1,
347
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
348
+ description: 'Namespace of the chart deployment',
349
+ example: 'default'
350
+ },
351
+ chart: {
352
+ type: 'string',
353
+ maxLength: 63,
354
+ minLength: 1,
355
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
356
+ description: 'Name of the chart listing',
357
+ example: 'postgresql'
358
+ },
359
+ status: {
360
+ type: 'string',
361
+ description: 'Status of the chart deployment.',
362
+ example: 'active',
363
+ enum: [
364
+ 'InstallSucceeded',
365
+ 'InstallFailed',
366
+ 'UpgradeSucceeded',
367
+ 'UpgradeFailed',
368
+ 'TestSucceeded',
369
+ 'TestFailed',
370
+ 'RollbackSucceeded',
371
+ 'RollbackFailed',
372
+ 'UninstallSucceeded',
373
+ 'UninstallFailed',
374
+ 'ArtifactFailed',
375
+ 'DependencyNotReady',
376
+ 'Progressing',
377
+ 'SourceNotReady'
378
+ ]
379
+ },
380
+ version_current: {
381
+ type: 'string',
382
+ description: 'Current version of the chart deployment.',
383
+ example: '2.1.33-cfke.11'
384
+ },
385
+ created_at: {
386
+ type: 'string',
387
+ description: 'Creation date and time of the chart deployment.',
388
+ example: '2024-09-12T09:11:27Z'
389
+ },
390
+ updated_at: {
391
+ type: 'string',
392
+ description: 'Last update date and time of the chart deployment.',
393
+ example: '2024-09-12T09:11:27Z'
394
+ },
395
+ ready: {
396
+ type: 'boolean',
397
+ description: 'Indicates if the chart deployment is ready to be used.',
398
+ example: true
399
+ }
400
+ },
401
+ required: [
402
+ 'values',
403
+ 'version_channel',
404
+ 'name',
405
+ 'namespace',
406
+ 'chart',
407
+ 'status',
408
+ 'version_current',
409
+ 'created_at',
410
+ 'updated_at',
411
+ 'ready'
412
+ ],
413
+ additionalProperties: false
414
+ };
415
+ export const ChartUpdateInputSchema = {
416
+ type: 'object',
417
+ properties: {
418
+ values: {
419
+ type: 'string',
420
+ description: 'Values to be used in the chart encoded as a JSON string.'
421
+ },
422
+ version_channel: {
423
+ type: 'string',
424
+ pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
425
+ description: 'Desired version range or channel for the chart.',
426
+ example: '2.x.x-cfke.x'
427
+ }
428
+ },
429
+ required: [
430
+ 'values',
431
+ 'version_channel'
432
+ ],
433
+ additionalProperties: false
434
+ };
2
435
  export const ClusterCreateInputSchema = {
3
436
  type: 'object',
4
437
  properties: {
@@ -10,28 +443,45 @@ export const ClusterCreateInputSchema = {
10
443
  description: 'Name of the cluster.',
11
444
  example: 'production-cluster'
12
445
  },
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
446
  tier: {
21
447
  type: 'string',
22
448
  description: 'Tier of the cluster.',
23
449
  example: 'pro',
24
- enum: ['basic', 'pro']
450
+ enum: [
451
+ 'basic',
452
+ 'pro'
453
+ ]
454
+ },
455
+ region: {
456
+ type: 'string',
457
+ description: 'Cloudfleet control plane region. One of "staging-1a", "northamerica-central-1", "europe-central-1a", "northamerica-central-1a". This field can not be updated after creation.',
458
+ default: 'staging-1a',
459
+ example: 'northamerica-central-1a',
460
+ enum: [
461
+ 'staging-1a',
462
+ 'northamerica-central-1',
463
+ 'europe-central-1a',
464
+ 'northamerica-central-1a'
465
+ ]
25
466
  },
26
467
  version_channel: {
27
468
  type: 'string',
28
469
  pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
29
470
  description: 'Version of the kubernetes cluster.',
30
471
  default: '1.x.x-cfke.x',
31
- example: '1.29.x-cfke.x'
472
+ example: '1.x.x-cfke.x',
473
+ enum: [
474
+ '1.x.x-cfke.x',
475
+ '1.31.x-cfke.x',
476
+ '1.32.x-cfke.x',
477
+ '1.33.x-cfke.x'
478
+ ]
32
479
  }
33
480
  },
34
- required: ['name', 'tier'],
481
+ required: [
482
+ 'name',
483
+ 'tier'
484
+ ],
35
485
  additionalProperties: false
36
486
  };
37
487
  export const ClusterJoinInformationSchema = {
@@ -40,8 +490,7 @@ export const ClusterJoinInformationSchema = {
40
490
  certificate_authority: {
41
491
  type: 'string',
42
492
  description: 'Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.',
43
- example: `-----BEGIN CERTIFICATE-----
44
- MIIC0DCCAbigAwIBAgI...`
493
+ example: '-----BEGIN CERTIFICATE-----\nMIIC0DCCAbigAwIBAgI...'
45
494
  },
46
495
  endpoint: {
47
496
  type: 'string',
@@ -49,6 +498,11 @@ MIIC0DCCAbigAwIBAgI...`
49
498
  description: 'Internal URL of the Kubernetes cluster control plane. This is the endpoint that kubelet uses to connect to the cluster.',
50
499
  example: 'https://10.31.64.7:6443'
51
500
  },
501
+ cluster_dns: {
502
+ type: 'string',
503
+ description: 'Cluster DNS IP address. This is the IP address of the kube-dns service in the cluster.',
504
+ example: '10.96.0.10'
505
+ },
52
506
  auth_key: {
53
507
  type: 'string',
54
508
  description: 'Authentication key for the cluster.',
@@ -65,7 +519,7 @@ MIIC0DCCAbigAwIBAgI...`
65
519
  kubernetes: {
66
520
  type: 'string',
67
521
  description: 'Kubernetes version of the cluster.',
68
- example: '1.29.3'
522
+ example: '1.33.7'
69
523
  },
70
524
  tailscale: {
71
525
  type: 'string',
@@ -76,9 +530,19 @@ MIIC0DCCAbigAwIBAgI...`
76
530
  type: 'string',
77
531
  description: 'Containerd version of the cluster.',
78
532
  example: '1.7.19'
533
+ },
534
+ nvidia_driver: {
535
+ type: 'string',
536
+ description: 'NVIDIA driver version of the cluster.',
537
+ example: '565.0.0'
79
538
  }
80
539
  },
81
- required: ['kubernetes', 'tailscale', 'containerd'],
540
+ required: [
541
+ 'kubernetes',
542
+ 'tailscale',
543
+ 'containerd',
544
+ 'nvidia_driver'
545
+ ],
82
546
  additionalProperties: false,
83
547
  description: 'Versions of the different components of the cluster.'
84
548
  },
@@ -101,12 +565,24 @@ MIIC0DCCAbigAwIBAgI...`
101
565
  example: '//iam.googleapis.com/projects/89014267864/locations/global/workloadIdentityPools/cfke/providers/oidc'
102
566
  }
103
567
  },
104
- required: ['metadata_url', 'aws_role_arn', 'gcp_workload_identity_provider'],
568
+ required: [
569
+ 'metadata_url',
570
+ 'aws_role_arn',
571
+ 'gcp_workload_identity_provider'
572
+ ],
105
573
  additionalProperties: false,
106
- description: "OIDC Information for hosts to access to third party API's."
574
+ description: 'OIDC Information for hosts to access to third party API\'s.'
107
575
  }
108
576
  },
109
- required: ['certificate_authority', 'endpoint', 'auth_key', 'bootstrap_token', 'versions', 'third_party_api_access_config'],
577
+ required: [
578
+ 'certificate_authority',
579
+ 'endpoint',
580
+ 'cluster_dns',
581
+ 'auth_key',
582
+ 'bootstrap_token',
583
+ 'versions',
584
+ 'third_party_api_access_config'
585
+ ],
110
586
  additionalProperties: false
111
587
  };
112
588
  export const ClusterSchema = {
@@ -120,25 +596,26 @@ export const ClusterSchema = {
120
596
  description: 'Name of the cluster.',
121
597
  example: 'production-cluster'
122
598
  },
123
- region: {
124
- type: 'string',
125
- description: 'Cloudfleet control plane region. One of "staging", "northamerica-central-1". This field can not be updated after creation.',
126
- default: 'staging',
127
- example: 'northamerica-central-1',
128
- enum: ['staging', 'northamerica-central-1']
129
- },
130
599
  tier: {
131
600
  type: 'string',
132
601
  description: 'Tier of the cluster.',
133
602
  example: 'pro',
134
- enum: ['basic', 'pro']
603
+ enum: [
604
+ 'basic',
605
+ 'pro'
606
+ ]
135
607
  },
136
- version_channel: {
608
+ region: {
137
609
  type: 'string',
138
- 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-]+)*))?$',
139
- description: 'Version of the kubernetes cluster.',
140
- default: '1.x.x-cfke.x',
141
- example: '1.29.x-cfke.x'
610
+ description: 'Cloudfleet control plane region. One of "staging-1a", "northamerica-central-1", "europe-central-1a", "northamerica-central-1a". This field can not be updated after creation.',
611
+ default: 'staging-1a',
612
+ example: 'northamerica-central-1a',
613
+ enum: [
614
+ 'staging-1a',
615
+ 'northamerica-central-1',
616
+ 'europe-central-1a',
617
+ 'northamerica-central-1a'
618
+ ]
142
619
  },
143
620
  id: {
144
621
  type: 'string',
@@ -150,7 +627,15 @@ export const ClusterSchema = {
150
627
  type: 'string',
151
628
  description: 'Status of the cluster. When creating a new cluster, set to `active`. When deleting a clusters, set to `deleted`.',
152
629
  example: 'active',
153
- enum: ['active', 'deleted', 'creating', 'deployed', 'failed', 'updating']
630
+ enum: [
631
+ 'active',
632
+ 'disabled',
633
+ 'deleted',
634
+ 'creating',
635
+ 'deployed',
636
+ 'failed',
637
+ 'updating'
638
+ ]
154
639
  },
155
640
  endpoint: {
156
641
  anyOf: [
@@ -162,20 +647,21 @@ export const ClusterSchema = {
162
647
  },
163
648
  {
164
649
  type: 'string',
165
- enum: ['']
650
+ enum: [
651
+ ''
652
+ ]
166
653
  }
167
654
  ]
168
655
  },
169
656
  certificate_ca: {
170
657
  type: 'string',
171
658
  description: 'Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.',
172
- example: `-----BEGIN CERTIFICATE-----
173
- MIIC0DCCAbigAwIBAgI...`
659
+ example: '-----BEGIN CERTIFICATE-----\nMIIC0DCCAbigAwIBAgI...'
174
660
  },
175
661
  version_current: {
176
662
  type: 'string',
177
663
  description: 'Current version of the cluster.',
178
- example: '1.29.3-cfke.52'
664
+ example: '1.33.7-cfke.264'
179
665
  },
180
666
  created_at: {
181
667
  type: 'string',
@@ -191,9 +677,20 @@ MIIC0DCCAbigAwIBAgI...`
191
677
  type: 'boolean',
192
678
  description: 'Indicates if the cluster is ready to be used.',
193
679
  example: true
680
+ },
681
+ version_channel: {
682
+ type: 'string',
683
+ pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
684
+ description: 'Version of the kubernetes cluster.',
685
+ example: '1.x.x-cfke.x'
194
686
  }
195
687
  },
196
- required: ['name', 'tier', 'id', 'status'],
688
+ required: [
689
+ 'name',
690
+ 'tier',
691
+ 'id',
692
+ 'status'
693
+ ],
197
694
  additionalProperties: false
198
695
  };
199
696
  export const ClusterUpdateInputSchema = {
@@ -207,13 +704,25 @@ export const ClusterUpdateInputSchema = {
207
704
  description: 'Name of the cluster.',
208
705
  example: 'production-cluster'
209
706
  },
707
+ tier: {
708
+ type: 'string',
709
+ description: 'Tier of the cluster.',
710
+ example: 'pro',
711
+ enum: [
712
+ 'basic',
713
+ 'pro'
714
+ ]
715
+ },
210
716
  version_channel: {
211
717
  type: 'string',
212
718
  pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
213
719
  description: 'Version of the kubernetes cluster.',
214
- example: '1.29.x-cfke.x'
720
+ example: '1.x.x-cfke.x'
215
721
  }
216
722
  },
723
+ required: [
724
+ 'tier'
725
+ ],
217
726
  additionalProperties: false
218
727
  };
219
728
  export const FleetCreateInputSchema = {
@@ -229,7 +738,9 @@ export const FleetCreateInputSchema = {
229
738
  description: 'CPU limit in cores.'
230
739
  }
231
740
  },
232
- required: ['cpu'],
741
+ required: [
742
+ 'cpu'
743
+ ],
233
744
  additionalProperties: false,
234
745
  description: 'Limits define a set of bounds for provisioning capacity.'
235
746
  },
@@ -245,38 +756,27 @@ export const FleetCreateInputSchema = {
245
756
  description: 'Project GCP Project id to deploy instances into'
246
757
  }
247
758
  },
248
- required: ['project'],
759
+ required: [
760
+ 'project'
761
+ ],
249
762
  additionalProperties: false
250
763
  },
251
764
  hetzner: {
252
- oneOf: [
253
- {
254
- type: 'object',
255
- properties: {
256
- enabled: {
257
- type: 'boolean',
258
- default: true
259
- },
260
- apiKey: {
261
- type: 'string'
262
- }
263
- },
264
- additionalProperties: false
765
+ type: 'object',
766
+ properties: {
767
+ enabled: {
768
+ type: 'boolean',
769
+ default: true
265
770
  },
266
- {
267
- type: 'object',
268
- properties: {
269
- apiKey: {
270
- type: 'string'
271
- },
272
- enabled: {
273
- type: 'boolean',
274
- default: true
275
- }
276
- },
277
- additionalProperties: false
771
+ apiKey: {
772
+ type: 'string',
773
+ description: 'Hetzner Cloud API key with read / write access'
278
774
  }
279
- ]
775
+ },
776
+ required: [
777
+ 'apiKey'
778
+ ],
779
+ additionalProperties: false
280
780
  },
281
781
  aws: {
282
782
  type: 'object',
@@ -290,7 +790,9 @@ export const FleetCreateInputSchema = {
290
790
  description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
291
791
  }
292
792
  },
293
- required: ['controllerRoleArn'],
793
+ required: [
794
+ 'controllerRoleArn'
795
+ ],
294
796
  additionalProperties: false
295
797
  },
296
798
  id: {
@@ -300,14 +802,11 @@ export const FleetCreateInputSchema = {
300
802
  pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
301
803
  description: 'Unique identifier of the kubernetes fleet.',
302
804
  example: 'new-clouds-fleet'
303
- },
304
- type: {
305
- type: 'string',
306
- description: 'Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.',
307
- enum: ['managed', 'connected']
308
805
  }
309
806
  },
310
- required: ['id', 'type'],
807
+ required: [
808
+ 'id'
809
+ ],
311
810
  additionalProperties: false
312
811
  };
313
812
  export const FleetSchema = {
@@ -323,7 +822,9 @@ export const FleetSchema = {
323
822
  description: 'CPU limit in cores.'
324
823
  }
325
824
  },
326
- required: ['cpu'],
825
+ required: [
826
+ 'cpu'
827
+ ],
327
828
  additionalProperties: false,
328
829
  description: 'Limits define a set of bounds for provisioning capacity.'
329
830
  },
@@ -339,40 +840,29 @@ export const FleetSchema = {
339
840
  description: 'Project GCP Project id to deploy instances into'
340
841
  }
341
842
  },
342
- required: ['project'],
843
+ required: [
844
+ 'project'
845
+ ],
343
846
  additionalProperties: false
344
847
  },
345
848
  hetzner: {
346
- oneOf: [
347
- {
348
- type: 'object',
349
- properties: {
350
- enabled: {
351
- type: 'boolean',
352
- default: true
353
- },
354
- apiKey: {
355
- type: 'string'
356
- }
357
- },
358
- additionalProperties: false
359
- },
360
- {
361
- type: 'object',
362
- properties: {
363
- apiKey: {
364
- type: 'string'
365
- },
366
- enabled: {
367
- type: 'boolean',
368
- default: true
369
- }
370
- },
371
- additionalProperties: false
372
- }
373
- ]
374
- },
375
- aws: {
849
+ type: 'object',
850
+ properties: {
851
+ enabled: {
852
+ type: 'boolean',
853
+ default: true
854
+ },
855
+ apiKey: {
856
+ type: 'string',
857
+ description: 'Hetzner Cloud API key with read / write access'
858
+ }
859
+ },
860
+ required: [
861
+ 'apiKey'
862
+ ],
863
+ additionalProperties: false
864
+ },
865
+ aws: {
376
866
  type: 'object',
377
867
  properties: {
378
868
  enabled: {
@@ -384,7 +874,9 @@ export const FleetSchema = {
384
874
  description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
385
875
  }
386
876
  },
387
- required: ['controllerRoleArn'],
877
+ required: [
878
+ 'controllerRoleArn'
879
+ ],
388
880
  additionalProperties: false
389
881
  },
390
882
  id: {
@@ -394,14 +886,11 @@ export const FleetSchema = {
394
886
  pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
395
887
  description: 'Unique identifier of the kubernetes fleet.',
396
888
  example: 'new-clouds-fleet'
397
- },
398
- type: {
399
- type: 'string',
400
- description: 'Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.',
401
- enum: ['managed', 'connected']
402
889
  }
403
890
  },
404
- required: ['id', 'type'],
891
+ required: [
892
+ 'id'
893
+ ],
405
894
  additionalProperties: false
406
895
  };
407
896
  export const FleetUpdateInputSchema = {
@@ -417,7 +906,9 @@ export const FleetUpdateInputSchema = {
417
906
  description: 'CPU limit in cores.'
418
907
  }
419
908
  },
420
- required: ['cpu'],
909
+ required: [
910
+ 'cpu'
911
+ ],
421
912
  additionalProperties: false,
422
913
  description: 'Limits define a set of bounds for provisioning capacity.'
423
914
  },
@@ -433,38 +924,27 @@ export const FleetUpdateInputSchema = {
433
924
  description: 'Project GCP Project id to deploy instances into'
434
925
  }
435
926
  },
436
- required: ['project'],
927
+ required: [
928
+ 'project'
929
+ ],
437
930
  additionalProperties: false
438
931
  },
439
932
  hetzner: {
440
- oneOf: [
441
- {
442
- type: 'object',
443
- properties: {
444
- enabled: {
445
- type: 'boolean',
446
- default: true
447
- },
448
- apiKey: {
449
- type: 'string'
450
- }
451
- },
452
- additionalProperties: false
933
+ type: 'object',
934
+ properties: {
935
+ enabled: {
936
+ type: 'boolean',
937
+ default: true
453
938
  },
454
- {
455
- type: 'object',
456
- properties: {
457
- apiKey: {
458
- type: 'string'
459
- },
460
- enabled: {
461
- type: 'boolean',
462
- default: true
463
- }
464
- },
465
- additionalProperties: false
939
+ apiKey: {
940
+ type: 'string',
941
+ description: 'Hetzner Cloud API key with read / write access'
466
942
  }
467
- ]
943
+ },
944
+ required: [
945
+ 'apiKey'
946
+ ],
947
+ additionalProperties: false
468
948
  },
469
949
  aws: {
470
950
  type: 'object',
@@ -478,282 +958,14 @@ export const FleetUpdateInputSchema = {
478
958
  description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
479
959
  }
480
960
  },
481
- required: ['controllerRoleArn'],
961
+ required: [
962
+ 'controllerRoleArn'
963
+ ],
482
964
  additionalProperties: false
483
965
  }
484
966
  },
485
967
  additionalProperties: false
486
968
  };
487
- export const InfrastructureFilterSchema = {
488
- type: 'object',
489
- properties: {
490
- version: {
491
- type: 'integer',
492
- description: 'Version of the infrastructure filter definition. Currently only version 1 is supported.',
493
- default: 1,
494
- example: 1,
495
- enum: [1]
496
- },
497
- provider: {
498
- type: 'array',
499
- items: {
500
- type: 'string'
501
- },
502
- 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/)',
503
- example: 'AWS'
504
- },
505
- region: {
506
- type: 'array',
507
- items: {
508
- type: 'string'
509
- },
510
- 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/)',
511
- example: 'northamerica'
512
- },
513
- sub_region: {
514
- type: 'array',
515
- items: {
516
- type: 'string'
517
- },
518
- 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/)',
519
- example: 'west'
520
- },
521
- csp_region: {
522
- type: 'array',
523
- items: {
524
- type: 'string'
525
- },
526
- description: 'Limits selection of cloud regions to this list of canonical provider regions',
527
- example: 'eu-west-1'
528
- },
529
- instance_type: {
530
- type: 'array',
531
- items: {
532
- type: 'string'
533
- },
534
- description: 'Limits selection of instance types to this list. Instance / VM type as defined by the cloud service provider',
535
- example: 'p4d.24xlarge'
536
- },
537
- accelerator_name: {
538
- type: 'array',
539
- items: {
540
- type: 'string'
541
- },
542
- 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",
543
- example: 'A100'
544
- },
545
- accelerator_manufacturer: {
546
- type: 'array',
547
- items: {
548
- type: 'string'
549
- },
550
- description: "List of normalized accelerator manufacturer names. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer",
551
- example: 'NVIDIA'
552
- },
553
- accelerator_count_min: {
554
- type: 'integer',
555
- minimum: 0,
556
- 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.',
557
- example: 1
558
- },
559
- accelerator_count_max: {
560
- type: 'integer',
561
- minimum: 0,
562
- 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.',
563
- example: 8
564
- },
565
- accelerator_memory_min: {
566
- type: 'number',
567
- format: 'float',
568
- 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",
569
- example: 40
570
- },
571
- accelerator_memory_max: {
572
- type: 'number',
573
- format: 'float',
574
- 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",
575
- example: 80
576
- },
577
- memory_min: {
578
- type: 'integer',
579
- minimum: 0,
580
- description: 'Minimum amount of RAM in gibibytes (GiB)',
581
- example: 32
582
- },
583
- memory_max: {
584
- type: 'integer',
585
- minimum: 0,
586
- description: 'Maximum amount of RAM in gibibytes (GiB)',
587
- example: 64
588
- },
589
- vcpu_min: {
590
- type: 'integer',
591
- minimum: 1,
592
- 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.',
593
- example: 32
594
- },
595
- vcpu_max: {
596
- type: 'integer',
597
- minimum: 1,
598
- 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.',
599
- example: 128
600
- },
601
- storage_total_min: {
602
- type: 'number',
603
- format: 'float',
604
- minimum: 10,
605
- description: 'Minimum total storage in GiB (attached and local)',
606
- example: 128
607
- },
608
- storage_total_max: {
609
- type: 'number',
610
- format: 'float',
611
- minimum: 10,
612
- description: 'Maximum total storage in GiB (attached and local)',
613
- example: 256
614
- },
615
- storage_local_min: {
616
- type: 'number',
617
- format: 'float',
618
- description: 'Minimum volume of directly attached, block-device local storage in gibibytes (GiB)',
619
- example: 24
620
- },
621
- storage_local_max: {
622
- type: 'number',
623
- format: 'float',
624
- description: 'Maximum volume of directly attached, block-device local storage in gibibytes (GiB)',
625
- example: 128
626
- },
627
- price_min: {
628
- type: 'number',
629
- format: 'float',
630
- description: 'Minimum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.',
631
- example: 10
632
- },
633
- price_max: {
634
- type: 'number',
635
- format: 'float',
636
- description: 'Maximum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.',
637
- example: 50
638
- }
639
- },
640
- additionalProperties: false
641
- };
642
- export const InfrastructureInstanceSchema = {
643
- type: 'object',
644
- properties: {
645
- sku: {
646
- type: 'string',
647
- description: 'Cloudfleet instance SKU. Has a format of <provider>-<csp_region>-<instance_type>.',
648
- example: 'AWS-EU-WEST-1C-P4D.24XLARGE'
649
- },
650
- provider: {
651
- type: 'string',
652
- description: 'Normalized cloud service provider name. For the full list of supported providers, see [Providers](https://cloudfleet.ai/docs/cloud-infrastructure/providers/)',
653
- example: 'AWS'
654
- },
655
- region: {
656
- type: 'string',
657
- 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/)',
658
- example: 'europe'
659
- },
660
- sub_region: {
661
- type: 'string',
662
- 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/)',
663
- example: 'west'
664
- },
665
- csp_region: {
666
- type: 'string',
667
- description: 'Region as defined by the cloud service provider',
668
- example: 'eu-west-1'
669
- },
670
- csp_zone: {
671
- type: 'string',
672
- description: 'Availability zone as defined by the cloud service provider',
673
- example: 'eu-west-1a'
674
- },
675
- instance_type: {
676
- type: 'string',
677
- description: 'Instance / VM type as defined by the cloud service provider',
678
- example: 'p4d.24xlarge'
679
- },
680
- architecture: {
681
- type: 'string',
682
- description: 'Instance CPU architecture',
683
- example: 'amd64'
684
- },
685
- os: {
686
- type: 'string',
687
- description: 'Instance operating system',
688
- example: 'linux'
689
- },
690
- vcpu: {
691
- type: 'number',
692
- format: 'float',
693
- minimum: 1,
694
- 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.',
695
- example: 96
696
- },
697
- memory: {
698
- type: 'number',
699
- format: 'float',
700
- minimum: 1,
701
- description: 'Total amount of RAM in gibibytes (GiB)',
702
- example: 1152
703
- },
704
- local_storage: {
705
- type: 'number',
706
- format: 'float',
707
- description: 'Volume of directly attached, block-device local storage in gibibytes (GiB)',
708
- example: 8000
709
- },
710
- accelerator_name: {
711
- type: 'string',
712
- 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",
713
- example: 'A100'
714
- },
715
- accelerator_manufacturer: {
716
- type: 'string',
717
- description: "Normalized manufacturer name of accelerator. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer",
718
- example: 'NVIDIA'
719
- },
720
- accelerator_count: {
721
- type: 'integer',
722
- 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.',
723
- example: 8
724
- },
725
- accelerator_memory: {
726
- type: 'number',
727
- format: 'float',
728
- 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",
729
- example: 40
730
- },
731
- pods_capacity: {
732
- type: 'number',
733
- format: 'float',
734
- description: 'Maximum number of pods that can be run on this instance type.',
735
- example: 110
736
- },
737
- capacity_type: {
738
- type: 'string',
739
- description: 'Capacity type of the instance. E.g. `on-demand`, `spot`.',
740
- example: 'on-demand'
741
- },
742
- price: {
743
- type: 'number',
744
- format: 'float',
745
- description: 'Price of running the inctance per hour in USD as defined by the cloud service provider',
746
- example: 35.39655
747
- },
748
- available: {
749
- type: 'boolean',
750
- description: 'Whether this instance type is available.',
751
- example: true
752
- }
753
- },
754
- required: ['sku', 'provider', 'region', 'sub_region', 'csp_region', 'csp_zone', 'instance_type', 'architecture', 'os', 'vcpu', 'memory', 'local_storage', 'price'],
755
- additionalProperties: false
756
- };
757
969
  export const InviteSchema = {
758
970
  type: 'object',
759
971
  properties: {
@@ -786,7 +998,9 @@ export const InviteSchema = {
786
998
  example: '7kUZnH7nnKUFfvc4NK2KQF'
787
999
  }
788
1000
  },
789
- required: ['date_created'],
1001
+ required: [
1002
+ 'date_created'
1003
+ ],
790
1004
  additionalProperties: false
791
1005
  };
792
1006
  export const InvoiceSchema = {
@@ -794,505 +1008,231 @@ export const InvoiceSchema = {
794
1008
  properties: {
795
1009
  id: {
796
1010
  type: 'string',
797
- format: 'uuid',
798
- description: 'Unique identifier of the invoice. UUID v4 string in canonical form',
799
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
800
- },
801
- organizationId: {
802
- type: 'string',
803
- format: 'uuid',
804
- description: 'Unique identifier of the organization. UUID v4 string in canonical form',
805
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
806
- },
807
- status: {
808
- type: 'string',
809
- description: 'Status of the invoice',
810
- example: 'DRAFT',
811
- enum: ['DRAFT', 'COMMITTED', 'VOID']
812
- },
813
- amount: {
814
- type: 'number',
815
- format: 'float',
816
- description: 'Total amount of the invoice',
817
- example: 100
818
- },
819
- currency: {
820
- type: 'string',
821
- description: 'Currency of the invoice',
822
- example: 'USD',
823
- 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']
824
- },
825
- creditAdj: {
826
- type: 'number',
827
- format: 'float',
828
- description: 'Total amount of credit adjustments',
829
- example: 0
830
- },
831
- refundAdj: {
832
- type: 'number',
833
- format: 'float',
834
- description: 'Total amount of refund adjustments',
835
- example: 0
836
- },
837
- invoiceDate: {
838
- type: 'string',
839
- description: 'Date of the invoice',
840
- example: '2019-01-01T00:00:00.000Z'
841
- },
842
- targetDate: {
843
- type: 'string',
844
- description: 'Target date of the invoice',
845
- example: '2019-01-01T00:00:00.000Z'
846
- },
847
- invoiceNumber: {
848
- type: 'string',
849
- description: 'Number of the invoice',
850
- example: 'INV-0001'
851
- },
852
- balance: {
853
- type: 'number',
854
- format: 'float',
855
- description: 'Balance of the invoice',
856
- example: 100
857
- },
858
- bundleKeys: {
859
- type: 'string',
860
- description: 'Bundle keys of the invoice',
861
- example: 'bundleKey1,bundleKey2'
862
- },
863
- credits: {
864
- type: 'array',
865
- items: {
866
- type: 'object',
867
- properties: {
868
- id: {
869
- type: 'string',
870
- format: 'uuid',
871
- description: 'Unique identifier of the invoice item. UUID v4 string in canonical form',
872
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
873
- },
874
- linkedInvoiceItemId: {
875
- type: 'string',
876
- format: 'uuid',
877
- description: 'Unique identifier of the linked invoice item. UUID v4 string in canonical form',
878
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
879
- },
880
- productName: {
881
- type: 'string',
882
- description: 'Name of the product',
883
- example: 'Research team'
884
- },
885
- planName: {
886
- type: 'string',
887
- description: 'Name of the plan',
888
- example: 'Plan A'
889
- },
890
- phaseName: {
891
- type: 'string',
892
- description: 'Name of the phase',
893
- example: 'Phase A'
894
- },
895
- usageName: {
896
- type: 'string',
897
- description: 'Name of the usage',
898
- example: 'Usage A'
899
- },
900
- prettyProductName: {
901
- type: 'string',
902
- description: 'Pretty name of the product',
903
- example: 'Research team'
904
- },
905
- prettyPlanName: {
906
- type: 'string',
907
- description: 'Pretty name of the plan',
908
- example: 'Plan A'
909
- },
910
- prettyPhaseName: {
911
- type: 'string',
912
- description: 'Pretty name of the phase',
913
- example: 'Phase A'
914
- },
915
- prettyUsageName: {
916
- type: 'string',
917
- description: 'Pretty name of the usage',
918
- example: 'Usage A'
919
- },
920
- itemType: {
921
- type: 'string',
922
- description: 'Type of the invoice item',
923
- example: 'EXTERNAL_CHARGE',
924
- enum: ['EXTERNAL_CHARGE', 'FIXED', 'RECURRING', 'REPAIR_ADJ', 'CBA_ADJ', 'CREDIT_ADJ', 'ITEM_ADJ', 'USAGE', 'TAX', 'PARENT_SUMMARY']
925
- },
926
- description: {
927
- type: 'string',
928
- description: 'Description of the invoice item',
929
- example: 'Description of the invoice item'
930
- },
931
- startDate: {
932
- type: 'string',
933
- description: 'Start date of the invoice item',
934
- example: '2019-01-01T00:00:00.000Z'
935
- },
936
- endDate: {
937
- type: 'string',
938
- description: 'End date of the invoice item',
939
- example: '2019-01-01T00:00:00.000Z'
940
- },
941
- amount: {
942
- type: 'number',
943
- format: 'float',
944
- description: 'Amount of the invoice item',
945
- example: 100
946
- },
947
- rate: {
948
- type: 'number',
949
- format: 'float',
950
- description: 'Rate of the invoice item',
951
- example: 100
952
- },
953
- currency: {
954
- type: 'string',
955
- description: 'Currency of the invoice item',
956
- example: 'USD',
957
- 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']
958
- },
959
- quantity: {
960
- type: 'number',
961
- format: 'float',
962
- description: 'Quantity of the invoice item',
963
- example: 1
964
- },
965
- itemDetails: {
966
- type: 'string',
967
- description: 'Details of the invoice item',
968
- example: 'Details of the invoice item'
969
- },
970
- catalogEffectiveDate: {
971
- type: 'string',
972
- description: 'Effective date of the catalog',
973
- example: '2019-01-01T00:00:00.000Z'
974
- },
975
- childItems: {
976
- type: 'array',
977
- items: {
978
- oneOf: [
979
- {
980
- type: 'array'
981
- },
982
- {
983
- type: 'boolean'
984
- },
985
- {
986
- type: 'number'
987
- },
988
- {
989
- type: 'object',
990
- additionalProperties: true
991
- },
992
- {
993
- type: 'string'
994
- }
995
- ]
996
- },
997
- description: 'Child items of the invoice item'
998
- }
999
- },
1000
- additionalProperties: false
1001
- },
1002
- description: 'Credits of the invoice'
1003
- },
1004
- items: {
1005
- type: 'array',
1006
- items: {
1007
- type: 'object',
1008
- properties: {
1009
- id: {
1010
- type: 'string',
1011
- format: 'uuid',
1012
- description: 'Unique identifier of the invoice item. UUID v4 string in canonical form',
1013
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
1014
- },
1015
- linkedInvoiceItemId: {
1016
- type: 'string',
1017
- format: 'uuid',
1018
- description: 'Unique identifier of the linked invoice item. UUID v4 string in canonical form',
1019
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
1020
- },
1021
- productName: {
1022
- type: 'string',
1023
- description: 'Name of the product',
1024
- example: 'Research team'
1025
- },
1026
- planName: {
1027
- type: 'string',
1028
- description: 'Name of the plan',
1029
- example: 'Plan A'
1030
- },
1031
- phaseName: {
1032
- type: 'string',
1033
- description: 'Name of the phase',
1034
- example: 'Phase A'
1035
- },
1036
- usageName: {
1037
- type: 'string',
1038
- description: 'Name of the usage',
1039
- example: 'Usage A'
1040
- },
1041
- prettyProductName: {
1042
- type: 'string',
1043
- description: 'Pretty name of the product',
1044
- example: 'Research team'
1045
- },
1046
- prettyPlanName: {
1047
- type: 'string',
1048
- description: 'Pretty name of the plan',
1049
- example: 'Plan A'
1050
- },
1051
- prettyPhaseName: {
1052
- type: 'string',
1053
- description: 'Pretty name of the phase',
1054
- example: 'Phase A'
1055
- },
1056
- prettyUsageName: {
1057
- type: 'string',
1058
- description: 'Pretty name of the usage',
1059
- example: 'Usage A'
1060
- },
1061
- itemType: {
1062
- type: 'string',
1063
- description: 'Type of the invoice item',
1064
- example: 'EXTERNAL_CHARGE',
1065
- enum: ['EXTERNAL_CHARGE', 'FIXED', 'RECURRING', 'REPAIR_ADJ', 'CBA_ADJ', 'CREDIT_ADJ', 'ITEM_ADJ', 'USAGE', 'TAX', 'PARENT_SUMMARY']
1066
- },
1067
- description: {
1068
- type: 'string',
1069
- description: 'Description of the invoice item',
1070
- example: 'Description of the invoice item'
1071
- },
1072
- startDate: {
1073
- type: 'string',
1074
- description: 'Start date of the invoice item',
1075
- example: '2019-01-01T00:00:00.000Z'
1076
- },
1077
- endDate: {
1078
- type: 'string',
1079
- description: 'End date of the invoice item',
1080
- example: '2019-01-01T00:00:00.000Z'
1081
- },
1082
- amount: {
1083
- type: 'number',
1084
- format: 'float',
1085
- description: 'Amount of the invoice item',
1086
- example: 100
1087
- },
1088
- rate: {
1089
- type: 'number',
1090
- format: 'float',
1091
- description: 'Rate of the invoice item',
1092
- example: 100
1093
- },
1094
- currency: {
1095
- type: 'string',
1096
- description: 'Currency of the invoice item',
1097
- example: 'USD',
1098
- 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']
1099
- },
1100
- quantity: {
1101
- type: 'number',
1102
- format: 'float',
1103
- description: 'Quantity of the invoice item',
1104
- example: 1
1105
- },
1106
- itemDetails: {
1107
- type: 'string',
1108
- description: 'Details of the invoice item',
1109
- example: 'Details of the invoice item'
1110
- },
1111
- catalogEffectiveDate: {
1112
- type: 'string',
1113
- description: 'Effective date of the catalog',
1114
- example: '2019-01-01T00:00:00.000Z'
1115
- },
1116
- childItems: {
1117
- type: 'array',
1118
- items: {
1119
- oneOf: [
1120
- {
1121
- type: 'array'
1122
- },
1123
- {
1124
- type: 'boolean'
1125
- },
1126
- {
1127
- type: 'number'
1128
- },
1129
- {
1130
- type: 'object',
1131
- additionalProperties: true
1132
- },
1133
- {
1134
- type: 'string'
1135
- }
1136
- ]
1137
- },
1138
- description: 'Child items of the invoice item'
1139
- }
1140
- },
1141
- additionalProperties: false
1142
- },
1143
- description: 'Items of the invoice'
1144
- }
1145
- },
1146
- additionalProperties: false
1147
- };
1148
- export const OrganizationContactInfoSchema = {
1149
- type: 'object',
1150
- properties: {
1151
- address1: {
1152
- type: 'string',
1153
- nullable: true,
1154
- description: 'Street address, P.O. box, c/o',
1155
- example: '123 Main St.'
1156
- },
1157
- address2: {
1158
- type: 'string',
1159
- nullable: true,
1160
- description: 'Apartment, suite, unit, building, floor, etc.',
1161
- example: 'Suite 100'
1011
+ description: 'Unique identifier of the invoice.',
1012
+ example: 'in_1234567890xCrwxghOTj1234'
1162
1013
  },
1163
- postalCode: {
1014
+ number: {
1015
+ type: 'string'
1016
+ },
1017
+ status: {
1164
1018
  type: 'string',
1165
- nullable: true,
1166
- description: 'Postal code as a string.',
1167
- example: '94105'
1019
+ description: 'Status of the invoice',
1020
+ example: 'paid'
1168
1021
  },
1169
- city: {
1022
+ total: {
1023
+ type: 'number',
1024
+ format: 'float',
1025
+ description: 'Total amount of the invoice',
1026
+ example: 100
1027
+ },
1028
+ currency: {
1170
1029
  type: 'string',
1171
- nullable: true,
1172
- description: 'City or town name.',
1173
- example: 'San Francisco'
1030
+ description: 'Currency of the invoice',
1031
+ example: 'usd'
1174
1032
  },
1175
- state: {
1033
+ created: {
1176
1034
  type: 'string',
1177
- nullable: true,
1178
- description: 'State, province, or region name.',
1179
- example: 'CA'
1035
+ format: 'date-time',
1036
+ description: 'Timestamp when the invoice was issued. ISO 8601 date string in the UTC timezone.',
1037
+ example: '2023-12-20T13:53:32.000Z'
1180
1038
  },
1181
- country: {
1039
+ period_start: {
1182
1040
  type: 'string',
1183
- nullable: true,
1184
- description: 'Country as a ISO 3166-1 alpha-2 country code.',
1185
- example: 'US'
1041
+ format: 'date-time',
1042
+ description: 'Billing period start timestamp. ISO 8601 date string in the UTC timezone.',
1043
+ example: '2023-12-20T13:53:32.000Z'
1186
1044
  },
1187
- phone: {
1045
+ period_end: {
1188
1046
  type: 'string',
1189
- nullable: true,
1190
- description: 'Phone number as a string.',
1191
- example: '+1 555 555 5555'
1047
+ format: 'date-time',
1048
+ description: 'Billing period end timestamp. ISO 8601 date string in the UTC timezone.',
1049
+ example: '2023-12-20T13:53:32.000Z'
1192
1050
  },
1193
- email: {
1051
+ invoice_pdf: {
1052
+ type: 'string'
1053
+ }
1054
+ },
1055
+ required: [
1056
+ 'created',
1057
+ 'period_start',
1058
+ 'period_end'
1059
+ ],
1060
+ additionalProperties: false
1061
+ };
1062
+ export const MarketplaceListingFilesSchema = {
1063
+ type: 'object',
1064
+ properties: {
1065
+ chartYaml: {
1194
1066
  type: 'string',
1195
- format: 'email',
1196
- description: 'Email address used for billing as a string.',
1197
- example: 'email@example.com'
1067
+ description: 'Raw Chart.yaml content from the Helm chart',
1068
+ example: 'apiVersion: v2\nname: nginx-ingress\nversion: 1.18.2-cfke.45\nappVersion: 1.9.4'
1198
1069
  },
1199
- first_name: {
1070
+ valuesYaml: {
1200
1071
  type: 'string',
1201
- description: 'First name of the billing contact person.',
1202
- example: 'John'
1072
+ description: 'Raw values.yaml content from the Helm chart',
1073
+ example: 'replicaCount: 1\nimage:\n repository: nginx\n tag: latest'
1203
1074
  },
1204
- last_name: {
1075
+ valuesSchemaJson: {
1205
1076
  type: 'string',
1206
- description: 'Last name of the billing contact person.',
1207
- example: 'Doe'
1077
+ description: 'JSON schema for values.yaml as a string',
1078
+ example: '{"type":"object","properties":{"replicaCount":{"type":"number"}}}'
1208
1079
  }
1209
1080
  },
1210
- required: ['email', 'first_name', 'last_name'],
1211
1081
  additionalProperties: false
1212
1082
  };
1213
- export const OrganizationCreateInputSchema = {
1083
+ export const MarketplaceListingSchema = {
1214
1084
  type: 'object',
1215
1085
  properties: {
1216
1086
  name: {
1217
1087
  type: 'string',
1218
- maxLength: 120,
1219
- minLength: 2,
1220
- 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,}$',
1221
- description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
1222
- example: 'ACME Corp.'
1088
+ description: 'Name of the chart',
1089
+ example: 'nginx-ingress'
1090
+ },
1091
+ versions: {
1092
+ type: 'array',
1093
+ items: {
1094
+ type: 'string',
1095
+ pattern: '^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
1096
+ description: 'Specific version of the chart',
1097
+ example: '1.18.2-cfke.45'
1098
+ },
1099
+ description: 'Available versions of the chart'
1223
1100
  },
1224
- contactInfo: {
1101
+ version_channels: {
1102
+ type: 'array',
1103
+ items: {
1104
+ type: 'string',
1105
+ pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
1106
+ description: 'Version channel pattern',
1107
+ example: '1.18.x-cfke.x'
1108
+ },
1109
+ description: 'Version channels for the chart'
1110
+ },
1111
+ latestVersion: {
1112
+ type: 'string',
1113
+ description: 'Latest version of the chart',
1114
+ example: '1.18.2-cfke.45'
1115
+ },
1116
+ metadata: {
1225
1117
  type: 'object',
1226
1118
  properties: {
1227
- address1: {
1119
+ name: {
1228
1120
  type: 'string',
1229
- description: 'Street address, P.O. box, c/o',
1230
- example: '123 Main St.'
1121
+ description: 'Chart name from metadata',
1122
+ example: 'nginx-ingress'
1231
1123
  },
1232
- address2: {
1124
+ version: {
1233
1125
  type: 'string',
1234
- description: 'Apartment, suite, unit, building, floor, etc.',
1235
- example: 'Suite 100'
1126
+ description: 'Chart version from metadata',
1127
+ example: '1.18.2-cfke.45'
1236
1128
  },
1237
- postalCode: {
1129
+ description: {
1238
1130
  type: 'string',
1239
- description: 'Postal code as a string.',
1240
- example: '94105'
1131
+ description: 'Chart description',
1132
+ example: 'NGINX Ingress Controller for Kubernetes'
1241
1133
  },
1242
- city: {
1134
+ appVersion: {
1243
1135
  type: 'string',
1244
- description: 'City or town name.',
1245
- example: 'San Francisco'
1136
+ description: 'Application version',
1137
+ example: '1.9.4'
1246
1138
  },
1247
- state: {
1139
+ apiVersion: {
1248
1140
  type: 'string',
1249
- description: 'State, province, or region name.',
1250
- example: 'CA'
1141
+ description: 'Helm API version',
1142
+ example: 'v2'
1251
1143
  },
1252
- country: {
1253
- type: 'string',
1254
- description: 'Country as a ISO 3166-1 alpha-2 country code.',
1255
- example: 'US'
1144
+ keywords: {
1145
+ type: 'array',
1146
+ items: {
1147
+ type: 'string'
1148
+ },
1149
+ description: 'Chart keywords',
1150
+ example: [
1151
+ 'ingress',
1152
+ 'nginx',
1153
+ 'load-balancer'
1154
+ ]
1256
1155
  },
1257
- phone: {
1156
+ home: {
1258
1157
  type: 'string',
1259
- description: 'Phone number as a string.',
1260
- example: '+1 555 555 5555'
1158
+ description: 'Chart home URL',
1159
+ example: 'https://kubernetes.github.io/ingress-nginx/'
1261
1160
  },
1262
- email: {
1161
+ icon: {
1263
1162
  type: 'string',
1264
- format: 'email',
1265
- description: 'Email address used for billing as a string.',
1266
- example: 'email@example.com'
1163
+ description: 'A URL to an SVG or PNG image to be used as an icon',
1164
+ example: 'https://cloudfleet.ai/images/marketplace/icons/ingress-nginx.png'
1267
1165
  },
1268
- first_name: {
1269
- type: 'string',
1270
- description: 'First name of the billing contact person.',
1271
- example: 'John'
1166
+ sources: {
1167
+ type: 'array',
1168
+ items: {
1169
+ type: 'string'
1170
+ },
1171
+ description: 'Chart source URLs',
1172
+ example: [
1173
+ 'https://github.com/kubernetes/ingress-nginx'
1174
+ ]
1272
1175
  },
1273
- last_name: {
1274
- type: 'string',
1275
- description: 'Last name of the billing contact person.',
1276
- example: 'Doe'
1176
+ maintainers: {
1177
+ type: 'array',
1178
+ items: {
1179
+ type: 'object',
1180
+ properties: {
1181
+ name: {
1182
+ type: 'string',
1183
+ description: 'Maintainer name',
1184
+ example: 'NGINX Team'
1185
+ },
1186
+ email: {
1187
+ type: 'string',
1188
+ description: 'Maintainer email',
1189
+ example: 'support@nginx.org'
1190
+ }
1191
+ },
1192
+ required: [
1193
+ 'name'
1194
+ ],
1195
+ additionalProperties: false
1196
+ },
1197
+ description: 'Chart maintainers'
1277
1198
  }
1278
1199
  },
1279
- required: ['email', 'first_name', 'last_name'],
1200
+ required: [
1201
+ 'name',
1202
+ 'version'
1203
+ ],
1280
1204
  additionalProperties: false,
1281
- description: 'Organization contact information and billing address.'
1282
- },
1283
- password: {
1284
- type: 'string',
1285
- minLength: 8,
1286
- 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.'
1205
+ description: 'Chart metadata'
1287
1206
  }
1288
1207
  },
1289
- required: ['name', 'contactInfo', 'password'],
1208
+ required: [
1209
+ 'name',
1210
+ 'versions',
1211
+ 'version_channels',
1212
+ 'latestVersion'
1213
+ ],
1290
1214
  additionalProperties: false
1291
1215
  };
1292
- export const OrganizationSchema = {
1216
+ export const OrganizationCreateInputSchema = {
1293
1217
  type: 'object',
1294
1218
  properties: {
1295
- name: {
1219
+ email: {
1220
+ type: 'string',
1221
+ format: 'email',
1222
+ description: 'Email address used for billing as a string.',
1223
+ example: 'email@example.com'
1224
+ },
1225
+ first_name: {
1226
+ type: 'string',
1227
+ description: 'First name of the billing contact person.',
1228
+ example: 'John'
1229
+ },
1230
+ last_name: {
1231
+ type: 'string',
1232
+ description: 'Last name of the billing contact person.',
1233
+ example: 'Doe'
1234
+ },
1235
+ company_name: {
1296
1236
  type: 'string',
1297
1237
  maxLength: 120,
1298
1238
  minLength: 2,
@@ -1300,71 +1240,37 @@ export const OrganizationSchema = {
1300
1240
  description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
1301
1241
  example: 'ACME Corp.'
1302
1242
  },
1303
- contactInfo: {
1304
- type: 'object',
1305
- properties: {
1306
- address1: {
1307
- type: 'string',
1308
- description: 'Street address, P.O. box, c/o',
1309
- example: '123 Main St.'
1310
- },
1311
- address2: {
1312
- type: 'string',
1313
- description: 'Apartment, suite, unit, building, floor, etc.',
1314
- example: 'Suite 100'
1315
- },
1316
- postalCode: {
1317
- type: 'string',
1318
- description: 'Postal code as a string.',
1319
- example: '94105'
1320
- },
1321
- city: {
1322
- type: 'string',
1323
- description: 'City or town name.',
1324
- example: 'San Francisco'
1325
- },
1326
- state: {
1327
- type: 'string',
1328
- description: 'State, province, or region name.',
1329
- example: 'CA'
1330
- },
1331
- country: {
1332
- type: 'string',
1333
- description: 'Country as a ISO 3166-1 alpha-2 country code.',
1334
- example: 'US'
1335
- },
1336
- phone: {
1337
- type: 'string',
1338
- description: 'Phone number as a string.',
1339
- example: '+1 555 555 5555'
1340
- },
1341
- email: {
1342
- type: 'string',
1343
- format: 'email',
1344
- description: 'Email address used for billing as a string.',
1345
- example: 'email@example.com'
1346
- },
1347
- first_name: {
1348
- type: 'string',
1349
- description: 'First name of the billing contact person.',
1350
- example: 'John'
1351
- },
1352
- last_name: {
1353
- type: 'string',
1354
- description: 'Last name of the billing contact person.',
1355
- example: 'Doe'
1356
- }
1357
- },
1358
- required: ['email', 'first_name', 'last_name'],
1359
- additionalProperties: false,
1360
- description: 'Organization contact information and billing address.'
1361
- },
1243
+ password: {
1244
+ type: 'string',
1245
+ minLength: 8,
1246
+ description: 'Password for the root account. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character.'
1247
+ }
1248
+ },
1249
+ required: [
1250
+ 'email',
1251
+ 'first_name',
1252
+ 'last_name',
1253
+ 'company_name',
1254
+ 'password'
1255
+ ],
1256
+ additionalProperties: false
1257
+ };
1258
+ export const OrganizationSchema = {
1259
+ type: 'object',
1260
+ properties: {
1362
1261
  id: {
1363
1262
  type: 'string',
1364
1263
  format: 'uuid',
1365
1264
  description: 'Unique identifier of the organization. UUID v4 string in canonical form',
1366
1265
  example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
1367
1266
  },
1267
+ name: {
1268
+ type: 'string',
1269
+ maxLength: 120,
1270
+ minLength: 2,
1271
+ description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
1272
+ example: 'ACME Corp.'
1273
+ },
1368
1274
  date_created: {
1369
1275
  type: 'string',
1370
1276
  format: 'date-time',
@@ -1402,12 +1308,6 @@ export const OrganizationSchema = {
1402
1308
  description: 'Maximum number of fleets that can be created per cluster.',
1403
1309
  example: 999
1404
1310
  },
1405
- managed_fleets_cpu_max: {
1406
- type: 'integer',
1407
- minimum: 0,
1408
- description: 'Maximum number of CPU cores per managed fleet.',
1409
- example: 999
1410
- },
1411
1311
  cluster_tiers: {
1412
1312
  type: 'array',
1413
1313
  items: {
@@ -1434,168 +1334,492 @@ export const OrganizationSchema = {
1434
1334
  id: {
1435
1335
  type: 'string',
1436
1336
  description: 'Id of the control plane version. Used in API calls.',
1437
- example: '1.29.x-cfke.x'
1337
+ example: '1.33.x-cfke.x'
1438
1338
  },
1439
1339
  label: {
1440
1340
  type: 'string',
1441
1341
  description: 'Label of the control plane version. Used in frontent UI.',
1442
- example: '1.29.x (Always latest 1.29 patch version)'
1342
+ example: '1.33.x (Always latest 1.33 patch version)'
1443
1343
  }
1444
1344
  },
1445
- required: ['id', 'label'],
1345
+ required: [
1346
+ 'id',
1347
+ 'label'
1348
+ ],
1446
1349
  additionalProperties: false
1447
1350
  },
1448
1351
  minItems: 1,
1449
1352
  description: 'List of CFKE control plane versions available for the organization.'
1353
+ },
1354
+ cfcr_storage_gb: {
1355
+ type: 'integer',
1356
+ minimum: -1,
1357
+ description: 'Organization-level maximum CFCR storage volume in GB. -1 means no limit.',
1358
+ example: 500
1450
1359
  }
1451
1360
  },
1452
- required: ['basic_clusters_max', 'basic_clusters_available', 'pro_clusters_max', 'pro_clusters_available', 'fleets_max', 'managed_fleets_cpu_max', 'cluster_tiers', 'regions', 'versions'],
1361
+ required: [
1362
+ 'basic_clusters_max',
1363
+ 'basic_clusters_available',
1364
+ 'pro_clusters_max',
1365
+ 'pro_clusters_available',
1366
+ 'fleets_max',
1367
+ 'cluster_tiers',
1368
+ 'regions',
1369
+ 'versions',
1370
+ 'cfcr_storage_gb'
1371
+ ],
1453
1372
  additionalProperties: false,
1454
1373
  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.'
1455
1374
  },
1456
- pending_actions: {
1375
+ status: {
1376
+ type: 'string',
1377
+ description: 'Status of the organization. Can be `active` or `closed`, or `suspended`.',
1378
+ enum: [
1379
+ 'active',
1380
+ 'closed',
1381
+ 'suspended'
1382
+ ]
1383
+ }
1384
+ },
1385
+ required: [
1386
+ 'id',
1387
+ 'date_created',
1388
+ 'quota',
1389
+ 'status'
1390
+ ],
1391
+ additionalProperties: false
1392
+ };
1393
+ export const PaymentMethodSchema = {
1394
+ type: 'object',
1395
+ properties: {
1396
+ id: {
1397
+ type: 'string',
1398
+ format: 'uuid',
1399
+ description: 'Unique identifier of the organization. UUID v4 string in canonical form.',
1400
+ example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
1401
+ },
1402
+ setup: {
1403
+ type: 'boolean',
1404
+ description: 'Whether organization payment method was set up and ready to use for payments.',
1405
+ example: true
1406
+ },
1407
+ type: {
1408
+ type: 'string',
1409
+ nullable: true,
1410
+ description: 'Payment method type type. Only `card` payments supported at the moment.',
1411
+ example: 'card',
1412
+ enum: [
1413
+ 'card'
1414
+ ]
1415
+ },
1416
+ last4: {
1417
+ type: 'string',
1418
+ nullable: true,
1419
+ description: 'Last 4 digits of the payment card number.',
1420
+ example: '4242'
1421
+ },
1422
+ exp_month: {
1423
+ type: 'integer',
1424
+ minimum: 1,
1425
+ maximum: 12,
1426
+ nullable: true,
1427
+ description: 'Two-digit number representing the card\'s expiration month.',
1428
+ example: '12'
1429
+ },
1430
+ exp_year: {
1431
+ type: 'integer',
1432
+ minimum: 2024,
1433
+ nullable: true,
1434
+ description: 'Four-digit number representing the card\'s expiration year.',
1435
+ example: '2028'
1436
+ },
1437
+ brand: {
1438
+ type: 'string',
1439
+ nullable: true,
1440
+ description: 'Payment card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.',
1441
+ example: 'visa',
1442
+ enum: [
1443
+ 'amex',
1444
+ 'diners',
1445
+ 'discover',
1446
+ 'eftpos_au',
1447
+ 'jcb',
1448
+ 'mastercard',
1449
+ 'unionpay',
1450
+ 'visa',
1451
+ 'unknown'
1452
+ ]
1453
+ }
1454
+ },
1455
+ required: [
1456
+ 'id',
1457
+ 'setup',
1458
+ 'type',
1459
+ 'last4',
1460
+ 'exp_month',
1461
+ 'exp_year',
1462
+ 'brand'
1463
+ ],
1464
+ additionalProperties: false
1465
+ };
1466
+ export const PlatformQuotaSchema = {
1467
+ type: 'object',
1468
+ properties: {
1469
+ basic_clusters_max: {
1470
+ type: 'integer',
1471
+ minimum: 0,
1472
+ description: 'Maximum number of Basic clusters that can be created.',
1473
+ example: 999
1474
+ },
1475
+ basic_clusters_available: {
1476
+ type: 'integer',
1477
+ description: 'Available number of Basic clusters that can be created.',
1478
+ example: 999
1479
+ },
1480
+ pro_clusters_max: {
1481
+ type: 'integer',
1482
+ minimum: 0,
1483
+ description: 'Maximum number of Pro clusters that can be created.',
1484
+ example: 999
1485
+ },
1486
+ pro_clusters_available: {
1487
+ type: 'integer',
1488
+ description: 'Available number of Pro clusters that can be created.',
1489
+ example: 999
1490
+ },
1491
+ fleets_max: {
1492
+ type: 'integer',
1493
+ minimum: 0,
1494
+ description: 'Maximum number of fleets that can be created per cluster.',
1495
+ example: 999
1496
+ },
1497
+ cluster_tiers: {
1498
+ type: 'array',
1499
+ items: {
1500
+ type: 'string',
1501
+ example: 'basic'
1502
+ },
1503
+ minItems: 0,
1504
+ description: 'List of Cloudfleet cluster tiers available for the organization.'
1505
+ },
1506
+ regions: {
1457
1507
  type: 'array',
1458
1508
  items: {
1459
1509
  type: 'string',
1460
- example: 'signup-payment-method',
1461
- enum: ['signup-billing-address', 'signup-payment-method', 'signup-invite-team', 'signup-create-cluster']
1510
+ example: 'northamerica-central-1'
1511
+ },
1512
+ minItems: 1,
1513
+ description: 'List of Cloudfleet control plane regions available for the organization.'
1514
+ },
1515
+ versions: {
1516
+ type: 'array',
1517
+ items: {
1518
+ type: 'object',
1519
+ properties: {
1520
+ id: {
1521
+ type: 'string',
1522
+ description: 'Id of the control plane version. Used in API calls.',
1523
+ example: '1.33.x-cfke.x'
1524
+ },
1525
+ label: {
1526
+ type: 'string',
1527
+ description: 'Label of the control plane version. Used in frontent UI.',
1528
+ example: '1.33.x (Always latest 1.33 patch version)'
1529
+ }
1530
+ },
1531
+ required: [
1532
+ 'id',
1533
+ 'label'
1534
+ ],
1535
+ additionalProperties: false
1462
1536
  },
1463
- description: 'List of pending actions that the user needs to complete. Used in Cloudfleet console to guide the user through the onboarding process.'
1537
+ minItems: 1,
1538
+ description: 'List of CFKE control plane versions available for the organization.'
1464
1539
  },
1465
- status: {
1540
+ cfcr_storage_gb: {
1541
+ type: 'integer',
1542
+ minimum: -1,
1543
+ description: 'Organization-level maximum CFCR storage volume in GB. -1 means no limit.',
1544
+ example: 500
1545
+ }
1546
+ },
1547
+ required: [
1548
+ 'basic_clusters_max',
1549
+ 'basic_clusters_available',
1550
+ 'pro_clusters_max',
1551
+ 'pro_clusters_available',
1552
+ 'fleets_max',
1553
+ 'cluster_tiers',
1554
+ 'regions',
1555
+ 'versions',
1556
+ 'cfcr_storage_gb'
1557
+ ],
1558
+ additionalProperties: false
1559
+ };
1560
+ export const RegistryRepositorySchema = {
1561
+ type: 'object',
1562
+ properties: {
1563
+ name: {
1466
1564
  type: 'string',
1467
- description: 'Status of the organization. Can be `active` or `closed`, or `suspended`.',
1468
- enum: ['active', 'closed', 'suspended']
1565
+ description: 'Repository name.',
1566
+ example: 'my-app'
1567
+ },
1568
+ region: {
1569
+ type: 'string',
1570
+ description: 'Registry region.',
1571
+ example: 'northamerica'
1572
+ },
1573
+ uri: {
1574
+ type: 'string',
1575
+ description: 'Full URI of the repository.',
1576
+ example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app'
1469
1577
  }
1470
1578
  },
1471
- required: ['name', 'contactInfo', 'id', 'date_created', 'quota', 'pending_actions', 'status'],
1579
+ required: [
1580
+ 'name',
1581
+ 'region',
1582
+ 'uri'
1583
+ ],
1472
1584
  additionalProperties: false
1473
1585
  };
1474
- export const OrganizationUpdateInputSchema = {
1586
+ export const RegistryRepositoryWithTagsSchema = {
1475
1587
  type: 'object',
1476
1588
  properties: {
1477
1589
  name: {
1478
1590
  type: 'string',
1479
- maxLength: 120,
1480
- minLength: 2,
1481
- 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,}$',
1482
- description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
1483
- example: 'ACME Corp.'
1591
+ description: 'Repository name.',
1592
+ example: 'my-app'
1484
1593
  },
1485
- contactInfo: {
1486
- type: 'object',
1487
- properties: {
1488
- address1: {
1489
- type: 'string',
1490
- description: 'Street address, P.O. box, c/o',
1491
- example: '123 Main St.'
1492
- },
1493
- address2: {
1494
- type: 'string',
1495
- description: 'Apartment, suite, unit, building, floor, etc.',
1496
- example: 'Suite 100'
1497
- },
1498
- postalCode: {
1499
- type: 'string',
1500
- description: 'Postal code as a string.',
1501
- example: '94105'
1502
- },
1503
- city: {
1504
- type: 'string',
1505
- description: 'City or town name.',
1506
- example: 'San Francisco'
1507
- },
1508
- state: {
1509
- type: 'string',
1510
- description: 'State, province, or region name.',
1511
- example: 'CA'
1512
- },
1513
- country: {
1514
- type: 'string',
1515
- description: 'Country as a ISO 3166-1 alpha-2 country code.',
1516
- example: 'US'
1517
- },
1518
- phone: {
1519
- type: 'string',
1520
- description: 'Phone number as a string.',
1521
- example: '+1 555 555 5555'
1522
- },
1523
- email: {
1524
- type: 'string',
1525
- format: 'email',
1526
- description: 'Email address used for billing as a string.',
1527
- example: 'email@example.com'
1528
- },
1529
- first_name: {
1530
- type: 'string',
1531
- description: 'First name of the billing contact person.',
1532
- example: 'John'
1594
+ region: {
1595
+ type: 'string',
1596
+ description: 'Registry region.',
1597
+ example: 'northamerica'
1598
+ },
1599
+ uri: {
1600
+ type: 'string',
1601
+ description: 'Full URI of the repository.',
1602
+ example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app'
1603
+ },
1604
+ tags: {
1605
+ type: 'array',
1606
+ items: {
1607
+ type: 'object',
1608
+ properties: {
1609
+ name: {
1610
+ type: 'string',
1611
+ description: 'Tag name.',
1612
+ example: 'latest'
1613
+ },
1614
+ size: {
1615
+ type: 'number',
1616
+ format: 'float',
1617
+ description: 'Size of the tag in bytes.',
1618
+ example: 123456789
1619
+ },
1620
+ mediaType: {
1621
+ type: 'string',
1622
+ description: 'Media type of the manifest.',
1623
+ example: 'application/vnd.docker.distribution.manifest.v2+json'
1624
+ },
1625
+ platforms: {
1626
+ type: 'array',
1627
+ items: {
1628
+ type: 'string'
1629
+ },
1630
+ description: 'Array of platform strings for multi-arch images (e.g., linux/amd64, linux/arm64).',
1631
+ example: [
1632
+ 'linux/amd64',
1633
+ 'linux/arm64'
1634
+ ]
1635
+ }
1533
1636
  },
1534
- last_name: {
1535
- type: 'string',
1536
- description: 'Last name of the billing contact person.',
1537
- example: 'Doe'
1538
- }
1637
+ required: [
1638
+ 'name',
1639
+ 'size'
1640
+ ],
1641
+ additionalProperties: false
1539
1642
  },
1540
- required: ['email', 'first_name', 'last_name'],
1541
- additionalProperties: false,
1542
- description: 'Organization contact information and billing address.'
1643
+ description: 'Array of tags in the repository.'
1644
+ },
1645
+ totalSize: {
1646
+ type: 'number',
1647
+ format: 'float',
1648
+ description: 'Total size of all tags in the repository in bytes.',
1649
+ example: 987654321
1543
1650
  }
1544
1651
  },
1545
- required: ['contactInfo'],
1652
+ required: [
1653
+ 'name',
1654
+ 'region',
1655
+ 'uri',
1656
+ 'tags',
1657
+ 'totalSize'
1658
+ ],
1546
1659
  additionalProperties: false
1547
1660
  };
1548
- export const PaymentMethodSchema = {
1661
+ export const RegistryTagSchema = {
1549
1662
  type: 'object',
1550
1663
  properties: {
1551
- id: {
1664
+ name: {
1552
1665
  type: 'string',
1553
- format: 'uuid',
1554
- description: 'Unique identifier of the organization. UUID v4 string in canonical form.',
1555
- example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
1556
- },
1557
- setup: {
1558
- type: 'boolean',
1559
- description: 'Whether organization payment method was set up and ready to use for payments.',
1560
- example: true
1666
+ description: 'Tag name.',
1667
+ example: 'latest'
1561
1668
  },
1562
- type: {
1669
+ digest: {
1563
1670
  type: 'string',
1564
- nullable: true,
1565
- description: 'Payment method type type. Only `card` payments supported at the moment.',
1566
- example: 'card',
1567
- enum: ['card']
1671
+ description: 'Manifest digest for pulling by digest.',
1672
+ example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
1568
1673
  },
1569
- last4: {
1674
+ mediaType: {
1570
1675
  type: 'string',
1571
- nullable: true,
1572
- description: 'Last 4 digits of the payment card number.',
1573
- example: '4242'
1676
+ description: 'Media type of the manifest.',
1677
+ example: 'application/vnd.docker.distribution.manifest.v2+json'
1574
1678
  },
1575
- exp_month: {
1576
- type: 'integer',
1577
- minimum: 1,
1578
- maximum: 12,
1579
- nullable: true,
1580
- description: "Two-digit number representing the card's expiration month.",
1581
- example: '12'
1679
+ config: {
1680
+ type: 'object',
1681
+ properties: {
1682
+ size: {
1683
+ type: 'number',
1684
+ format: 'float',
1685
+ description: 'Size of the config in bytes.',
1686
+ example: 1234
1687
+ }
1688
+ },
1689
+ required: [
1690
+ 'size'
1691
+ ],
1692
+ additionalProperties: false,
1693
+ description: 'Manifest config metadata.'
1582
1694
  },
1583
- exp_year: {
1584
- type: 'integer',
1585
- minimum: 2024,
1586
- nullable: true,
1587
- description: "Four-digit number representing the card's expiration year.",
1588
- example: '2028'
1695
+ layers: {
1696
+ type: 'array',
1697
+ items: {
1698
+ type: 'object',
1699
+ properties: {
1700
+ digest: {
1701
+ type: 'string',
1702
+ description: 'Digest of the layer.',
1703
+ example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
1704
+ },
1705
+ size: {
1706
+ type: 'number',
1707
+ format: 'float',
1708
+ description: 'Size of the layer in bytes.',
1709
+ example: 5678
1710
+ }
1711
+ },
1712
+ required: [
1713
+ 'size'
1714
+ ],
1715
+ additionalProperties: false
1716
+ },
1717
+ description: 'Array of layer metadata.'
1589
1718
  },
1590
- brand: {
1719
+ manifests: {
1720
+ type: 'array',
1721
+ items: {
1722
+ type: 'object',
1723
+ properties: {
1724
+ digest: {
1725
+ type: 'string',
1726
+ description: 'Digest of the manifest.',
1727
+ example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
1728
+ },
1729
+ platform: {
1730
+ type: 'object',
1731
+ properties: {
1732
+ architecture: {
1733
+ type: 'string',
1734
+ description: 'Architecture of the platform.',
1735
+ example: 'amd64'
1736
+ },
1737
+ os: {
1738
+ type: 'string',
1739
+ description: 'Operating system of the platform.',
1740
+ example: 'linux'
1741
+ },
1742
+ variant: {
1743
+ type: 'string',
1744
+ description: 'Variant of the platform (e.g., v7, v8 for ARM).',
1745
+ example: 'v8'
1746
+ }
1747
+ },
1748
+ required: [
1749
+ 'architecture',
1750
+ 'os'
1751
+ ],
1752
+ additionalProperties: false,
1753
+ description: 'Platform information for the manifest.'
1754
+ },
1755
+ layers: {
1756
+ type: 'array',
1757
+ items: {
1758
+ type: 'object',
1759
+ properties: {
1760
+ digest: {
1761
+ type: 'string',
1762
+ description: 'Digest of the layer.',
1763
+ example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
1764
+ },
1765
+ size: {
1766
+ type: 'number',
1767
+ format: 'float',
1768
+ description: 'Size of the layer in bytes.',
1769
+ example: 5678
1770
+ }
1771
+ },
1772
+ required: [
1773
+ 'size'
1774
+ ],
1775
+ additionalProperties: false
1776
+ },
1777
+ description: 'Layers for this platform.'
1778
+ },
1779
+ size: {
1780
+ type: 'number',
1781
+ format: 'float',
1782
+ description: 'Total size of this platform manifest in bytes.',
1783
+ example: 12345678
1784
+ }
1785
+ },
1786
+ required: [
1787
+ 'digest'
1788
+ ],
1789
+ additionalProperties: false
1790
+ },
1791
+ description: 'Array of manifests for multi-arch images.'
1792
+ },
1793
+ size: {
1794
+ type: 'number',
1795
+ format: 'float',
1796
+ description: 'Total size of the tag in bytes.',
1797
+ example: 123456789
1798
+ },
1799
+ region: {
1591
1800
  type: 'string',
1592
- nullable: true,
1593
- description: 'Payment card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.',
1594
- example: 'visa',
1595
- enum: ['amex', 'diners', 'discover', 'eftpos_au', 'jcb', 'mastercard', 'unionpay', 'visa', 'unknown']
1801
+ description: 'Registry region.',
1802
+ example: 'northamerica'
1803
+ },
1804
+ repository: {
1805
+ type: 'string',
1806
+ description: 'Repository name.',
1807
+ example: 'my-app'
1808
+ },
1809
+ uri: {
1810
+ type: 'string',
1811
+ description: 'Full URI of the tag.',
1812
+ example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app:latest'
1596
1813
  }
1597
1814
  },
1598
- required: ['id', 'setup', 'type', 'last4', 'exp_month', 'exp_year', 'brand'],
1815
+ required: [
1816
+ 'name',
1817
+ 'digest',
1818
+ 'size',
1819
+ 'region',
1820
+ 'repository',
1821
+ 'uri'
1822
+ ],
1599
1823
  additionalProperties: false
1600
1824
  };
1601
1825
  export const TokenCreateInputSchema = {
@@ -1613,10 +1837,16 @@ export const TokenCreateInputSchema = {
1613
1837
  type: 'string',
1614
1838
  description: 'Role assumed by the token.',
1615
1839
  example: 'User',
1616
- enum: ['Administrator', 'User']
1840
+ enum: [
1841
+ 'Administrator',
1842
+ 'User'
1843
+ ]
1617
1844
  }
1618
1845
  },
1619
- required: ['name', 'role'],
1846
+ required: [
1847
+ 'name',
1848
+ 'role'
1849
+ ],
1620
1850
  additionalProperties: false
1621
1851
  };
1622
1852
  export const TokenSchema = {
@@ -1634,7 +1864,10 @@ export const TokenSchema = {
1634
1864
  type: 'string',
1635
1865
  description: 'Role assumed by the token.',
1636
1866
  example: 'User',
1637
- enum: ['Administrator', 'User']
1867
+ enum: [
1868
+ 'Administrator',
1869
+ 'User'
1870
+ ]
1638
1871
  },
1639
1872
  id: {
1640
1873
  type: 'string',
@@ -1653,7 +1886,11 @@ export const TokenSchema = {
1653
1886
  example: '2023-12-20T13:53:32.000Z'
1654
1887
  }
1655
1888
  },
1656
- required: ['name', 'role', 'date_created'],
1889
+ required: [
1890
+ 'name',
1891
+ 'role',
1892
+ 'date_created'
1893
+ ],
1657
1894
  additionalProperties: false
1658
1895
  };
1659
1896
  export const TokenUpdateInputSchema = {
@@ -1671,37 +1908,173 @@ export const TokenUpdateInputSchema = {
1671
1908
  type: 'string',
1672
1909
  description: 'Role assumed by the token.',
1673
1910
  example: 'User',
1674
- enum: ['Administrator', 'User']
1911
+ enum: [
1912
+ 'Administrator',
1913
+ 'User'
1914
+ ]
1915
+ }
1916
+ },
1917
+ additionalProperties: false
1918
+ };
1919
+ export const UsageFacetsSchema = {
1920
+ type: 'object',
1921
+ properties: {
1922
+ cluster_id: {
1923
+ type: 'array',
1924
+ items: {
1925
+ type: 'string'
1926
+ },
1927
+ description: 'List of unique cluster IDs',
1928
+ example: [
1929
+ '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
1930
+ ]
1931
+ },
1932
+ product: {
1933
+ type: 'array',
1934
+ items: {
1935
+ type: 'string'
1936
+ },
1937
+ description: 'List of unique products',
1938
+ example: [
1939
+ 'cfke_controlplane',
1940
+ 'cfke_connected_nodes'
1941
+ ]
1942
+ }
1943
+ },
1944
+ additionalProperties: false
1945
+ };
1946
+ export const UsageResponseSchema = {
1947
+ type: 'object',
1948
+ properties: {
1949
+ data: {
1950
+ type: 'array',
1951
+ items: {
1952
+ type: 'object',
1953
+ properties: {
1954
+ hour: {
1955
+ type: 'string',
1956
+ description: 'Hour of the usage',
1957
+ example: '2019-01-01T00:00:00.000Z'
1958
+ },
1959
+ cluster_id: {
1960
+ type: 'string',
1961
+ description: 'Unique identifier of the kubernetes cluster. UUID v4 string in canonical form',
1962
+ example: '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
1963
+ },
1964
+ product: {
1965
+ type: 'string',
1966
+ description: 'The product the usage is associated with',
1967
+ example: 'cfke_controlplane'
1968
+ },
1969
+ value: {
1970
+ type: 'number',
1971
+ format: 'float',
1972
+ description: 'Consumption',
1973
+ example: 4
1974
+ },
1975
+ price: {
1976
+ type: 'number',
1977
+ format: 'float',
1978
+ description: 'Price per unit',
1979
+ example: 0.01
1980
+ },
1981
+ total: {
1982
+ type: 'number',
1983
+ format: 'float',
1984
+ description: 'Total cost'
1985
+ }
1986
+ },
1987
+ required: [
1988
+ 'hour',
1989
+ 'cluster_id',
1990
+ 'product',
1991
+ 'value',
1992
+ 'price',
1993
+ 'total'
1994
+ ],
1995
+ additionalProperties: false
1996
+ },
1997
+ description: 'Usage data'
1998
+ },
1999
+ facets: {
2000
+ type: 'object',
2001
+ properties: {
2002
+ cluster_id: {
2003
+ type: 'array',
2004
+ items: {
2005
+ type: 'string'
2006
+ },
2007
+ description: 'List of unique cluster IDs',
2008
+ example: [
2009
+ '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
2010
+ ]
2011
+ },
2012
+ product: {
2013
+ type: 'array',
2014
+ items: {
2015
+ type: 'string'
2016
+ },
2017
+ description: 'List of unique products',
2018
+ example: [
2019
+ 'cfke_controlplane',
2020
+ 'cfke_connected_nodes'
2021
+ ]
2022
+ }
2023
+ },
2024
+ additionalProperties: false,
2025
+ description: 'Facets for filtering'
1675
2026
  }
1676
2027
  },
2028
+ required: [
2029
+ 'data',
2030
+ 'facets'
2031
+ ],
1677
2032
  additionalProperties: false
1678
2033
  };
1679
2034
  export const UsageSchema = {
1680
2035
  type: 'object',
1681
2036
  properties: {
1682
- id: {
2037
+ hour: {
1683
2038
  type: 'string',
1684
- format: 'uuid',
1685
- description: 'Unique identifier of the Usage object, equal to subscription id of the task . UUID v4 string in canonical form',
1686
- example: '8897e84c-2ba1-42fa-9d35-964c80a4ff0f'
2039
+ description: 'Hour of the usage',
2040
+ example: '2019-01-01T00:00:00.000Z'
1687
2041
  },
1688
- task_id: {
2042
+ cluster_id: {
1689
2043
  type: 'string',
1690
- format: 'uuid',
1691
- description: 'Unique identifier of the project. UUID v4 string in canonical form',
1692
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
2044
+ description: 'Unique identifier of the kubernetes cluster. UUID v4 string in canonical form',
2045
+ example: '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
1693
2046
  },
1694
- unit: {
2047
+ product: {
1695
2048
  type: 'string',
1696
- description: 'Unit of measurement. E.g. GiB, seconds, etc',
1697
- example: 'second'
2049
+ description: 'The product the usage is associated with',
2050
+ example: 'cfke_controlplane'
2051
+ },
2052
+ value: {
2053
+ type: 'number',
2054
+ format: 'float',
2055
+ description: 'Consumption',
2056
+ example: 4
2057
+ },
2058
+ price: {
2059
+ type: 'number',
2060
+ format: 'float',
2061
+ description: 'Price per unit',
2062
+ example: 0.01
1698
2063
  },
1699
- amount: {
2064
+ total: {
1700
2065
  type: 'number',
1701
- format: 'float'
2066
+ format: 'float',
2067
+ description: 'Total cost'
1702
2068
  }
1703
2069
  },
1704
- required: ['id', 'task_id', 'unit', 'amount'],
2070
+ required: [
2071
+ 'hour',
2072
+ 'cluster_id',
2073
+ 'product',
2074
+ 'value',
2075
+ 'price',
2076
+ 'total'
2077
+ ],
1705
2078
  additionalProperties: false
1706
2079
  };
1707
2080
  export const UserCreateInputSchema = {
@@ -1736,22 +2109,34 @@ export const UserCreateInputSchema = {
1736
2109
  password: {
1737
2110
  type: 'string',
1738
2111
  minLength: 8,
1739
- 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.'
2112
+ description: 'User password. Must be at least 8 characters long.'
1740
2113
  },
1741
2114
  status: {
1742
2115
  type: 'string',
1743
2116
  description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
1744
2117
  example: 'active',
1745
- enum: ['active', 'inactive']
2118
+ enum: [
2119
+ 'active',
2120
+ 'inactive'
2121
+ ]
1746
2122
  },
1747
2123
  role: {
1748
2124
  type: 'string',
1749
- description: "User role. Can be 'Administrator', 'User'.",
2125
+ description: 'User role. Can be \'Administrator\', \'User\'.',
1750
2126
  example: 'User',
1751
- enum: ['Administrator', 'User']
2127
+ enum: [
2128
+ 'Administrator',
2129
+ 'User'
2130
+ ]
1752
2131
  }
1753
2132
  },
1754
- required: ['email', 'first_name', 'last_name', 'code', 'password'],
2133
+ required: [
2134
+ 'email',
2135
+ 'first_name',
2136
+ 'last_name',
2137
+ 'code',
2138
+ 'password'
2139
+ ],
1755
2140
  additionalProperties: false
1756
2141
  };
1757
2142
  export const UserSchema = {
@@ -1779,15 +2164,21 @@ export const UserSchema = {
1779
2164
  },
1780
2165
  role: {
1781
2166
  type: 'string',
1782
- description: "User role. Can be 'Administrator', 'User'.",
2167
+ description: 'User role. Can be \'Administrator\', \'User\'.',
1783
2168
  example: 'User',
1784
- enum: ['Administrator', 'User']
2169
+ enum: [
2170
+ 'Administrator',
2171
+ 'User'
2172
+ ]
1785
2173
  },
1786
2174
  status: {
1787
2175
  type: 'string',
1788
2176
  description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
1789
2177
  example: 'active',
1790
- enum: ['active', 'inactive']
2178
+ enum: [
2179
+ 'active',
2180
+ 'inactive'
2181
+ ]
1791
2182
  },
1792
2183
  id: {
1793
2184
  type: 'string',
@@ -1800,31 +2191,17 @@ export const UserSchema = {
1800
2191
  format: 'date-time',
1801
2192
  description: 'Creation date of the user. ISO 8601 date string in UTC timezone',
1802
2193
  example: '2023-11-02T16:08:14.338Z'
1803
- },
1804
- cluster_permissions: {
1805
- type: 'array',
1806
- items: {
1807
- type: 'object',
1808
- properties: {
1809
- cluster_id: {
1810
- type: 'string',
1811
- format: 'uuid',
1812
- description: 'Unique identifier of the cluster. UUID v4 string in canonical form',
1813
- example: '035ce46d-44d8-4e58-a8a2-b0192d1c27df'
1814
- },
1815
- permissions: {
1816
- type: 'string',
1817
- description: 'User permissions to access the cluster. Can be `readwrite` or `readonly`.',
1818
- example: 'readwrite',
1819
- enum: ['readwrite', 'readonly']
1820
- }
1821
- },
1822
- required: ['cluster_id', 'permissions'],
1823
- additionalProperties: false
1824
- }
1825
2194
  }
1826
2195
  },
1827
- required: ['email', 'first_name', 'last_name', 'role', 'status', 'id', 'date_created'],
2196
+ required: [
2197
+ 'email',
2198
+ 'first_name',
2199
+ 'last_name',
2200
+ 'role',
2201
+ 'status',
2202
+ 'id',
2203
+ 'date_created'
2204
+ ],
1828
2205
  additionalProperties: false
1829
2206
  };
1830
2207
  export const UserUpdateInputSchema = {
@@ -1852,15 +2229,21 @@ export const UserUpdateInputSchema = {
1852
2229
  },
1853
2230
  role: {
1854
2231
  type: 'string',
1855
- description: "User role. Can be 'Administrator', 'User'.",
2232
+ description: 'User role. Can be \'Administrator\', \'User\'.',
1856
2233
  example: 'User',
1857
- enum: ['Administrator', 'User']
2234
+ enum: [
2235
+ 'Administrator',
2236
+ 'User'
2237
+ ]
1858
2238
  },
1859
2239
  status: {
1860
2240
  type: 'string',
1861
2241
  description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
1862
2242
  example: 'active',
1863
- enum: ['active', 'inactive']
2243
+ enum: [
2244
+ 'active',
2245
+ 'inactive'
2246
+ ]
1864
2247
  }
1865
2248
  },
1866
2249
  additionalProperties: false