@cloudfleet/sdk 0.0.1-96d5fec → 0.0.1-9a4447d
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.
- package/dist/@tanstack/react-query.gen.d.ts +1139 -0
- package/dist/@tanstack/react-query.gen.d.ts.map +1 -0
- package/dist/@tanstack/react-query.gen.js +1167 -0
- package/dist/@tanstack/react-query.gen.js.map +1 -0
- package/dist/client/client.gen.d.ts +3 -0
- package/dist/client/client.gen.d.ts.map +1 -0
- package/dist/client/client.gen.js +220 -0
- package/dist/client/client.gen.js.map +1 -0
- package/dist/client/index.d.ts +9 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +7 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/types.gen.d.ts +121 -0
- package/dist/client/types.gen.d.ts.map +1 -0
- package/dist/client/types.gen.js +3 -0
- package/dist/client/types.gen.js.map +1 -0
- package/dist/client/utils.gen.d.ts +38 -0
- package/dist/client/utils.gen.d.ts.map +1 -0
- package/dist/client/utils.gen.js +229 -0
- package/dist/client/utils.gen.js.map +1 -0
- package/dist/client.gen.d.ts +13 -0
- package/dist/client.gen.d.ts.map +1 -0
- package/dist/client.gen.js +4 -0
- package/dist/client.gen.js.map +1 -0
- package/dist/core/auth.gen.d.ts +19 -0
- package/dist/core/auth.gen.d.ts.map +1 -0
- package/dist/core/auth.gen.js +15 -0
- package/dist/core/auth.gen.js.map +1 -0
- package/dist/core/bodySerializer.gen.d.ts +26 -0
- package/dist/core/bodySerializer.gen.d.ts.map +1 -0
- package/dist/core/bodySerializer.gen.js +58 -0
- package/dist/core/bodySerializer.gen.js.map +1 -0
- package/dist/core/params.gen.d.ts +44 -0
- package/dist/core/params.gen.d.ts.map +1 -0
- package/dist/core/params.gen.js +101 -0
- package/dist/core/params.gen.js.map +1 -0
- package/dist/core/pathSerializer.gen.d.ts +34 -0
- package/dist/core/pathSerializer.gen.d.ts.map +1 -0
- package/dist/core/pathSerializer.gen.js +107 -0
- package/dist/core/pathSerializer.gen.js.map +1 -0
- package/dist/core/queryKeySerializer.gen.d.ts +19 -0
- package/dist/core/queryKeySerializer.gen.d.ts.map +1 -0
- package/dist/core/queryKeySerializer.gen.js +93 -0
- package/dist/core/queryKeySerializer.gen.js.map +1 -0
- package/dist/core/serverSentEvents.gen.d.ts +72 -0
- package/dist/core/serverSentEvents.gen.d.ts.map +1 -0
- package/dist/core/serverSentEvents.gen.js +133 -0
- package/dist/core/serverSentEvents.gen.js.map +1 -0
- package/dist/core/types.gen.d.ts +79 -0
- package/dist/core/types.gen.d.ts.map +1 -0
- package/dist/core/types.gen.js +3 -0
- package/dist/core/types.gen.js.map +1 -0
- package/dist/core/utils.gen.d.ts +20 -0
- package/dist/core/utils.gen.d.ts.map +1 -0
- package/dist/core/utils.gen.js +88 -0
- package/dist/core/utils.gen.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/schemas.gen.d.ts +1676 -1084
- package/dist/schemas.gen.d.ts.map +1 -1
- package/dist/schemas.gen.js +2973 -1138
- package/dist/schemas.gen.js.map +1 -1
- package/dist/sdk.gen.d.ts +274 -144
- package/dist/sdk.gen.d.ts.map +1 -1
- package/dist/sdk.gen.js +362 -225
- package/dist/sdk.gen.js.map +1 -1
- package/dist/services/kubernetes/api.d.ts +196 -0
- package/dist/services/kubernetes/api.d.ts.map +1 -0
- package/dist/services/kubernetes/api.js +140 -0
- package/dist/services/kubernetes/api.js.map +1 -0
- package/dist/services/kubernetes/index.d.ts +44 -0
- package/dist/services/kubernetes/index.d.ts.map +1 -0
- package/dist/services/kubernetes/index.js +68 -0
- package/dist/services/kubernetes/index.js.map +1 -0
- package/dist/services/kubernetes/types.d.ts +1335 -0
- package/dist/services/kubernetes/types.d.ts.map +1 -0
- package/dist/services/kubernetes/types.js +2 -0
- package/dist/services/kubernetes/types.js.map +1 -0
- package/dist/types.gen.d.ts +1517 -961
- package/dist/types.gen.d.ts.map +1 -1
- package/dist/zod.gen.d.ts +3775 -2857
- package/dist/zod.gen.d.ts.map +1 -1
- package/dist/zod.gen.js +1582 -893
- package/dist/zod.gen.js.map +1 -1
- package/package.json +31 -5
package/dist/schemas.gen.js
CHANGED
|
@@ -1,4 +1,447 @@
|
|
|
1
1
|
// This file is auto-generated by @hey-api/openapi-ts
|
|
2
|
+
export const BillingContactSchema = {
|
|
3
|
+
type: 'object',
|
|
4
|
+
properties: {
|
|
5
|
+
type: {
|
|
6
|
+
type: 'string',
|
|
7
|
+
description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
|
|
8
|
+
example: 'business',
|
|
9
|
+
enum: [
|
|
10
|
+
'business',
|
|
11
|
+
'personal'
|
|
12
|
+
]
|
|
13
|
+
},
|
|
14
|
+
company: {
|
|
15
|
+
type: 'string',
|
|
16
|
+
maxLength: 120,
|
|
17
|
+
minLength: 2,
|
|
18
|
+
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,}$',
|
|
19
|
+
description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
|
|
20
|
+
example: 'ACME Corp.'
|
|
21
|
+
},
|
|
22
|
+
address1: {
|
|
23
|
+
type: 'string',
|
|
24
|
+
nullable: true,
|
|
25
|
+
description: 'Street address, P.O. box, c/o',
|
|
26
|
+
example: '123 Main St.'
|
|
27
|
+
},
|
|
28
|
+
address2: {
|
|
29
|
+
type: 'string',
|
|
30
|
+
nullable: true,
|
|
31
|
+
description: 'Apartment, suite, unit, building, floor, etc.',
|
|
32
|
+
example: 'Suite 100'
|
|
33
|
+
},
|
|
34
|
+
postalCode: {
|
|
35
|
+
type: 'string',
|
|
36
|
+
nullable: true,
|
|
37
|
+
description: 'Postal code as a string.',
|
|
38
|
+
example: '94105'
|
|
39
|
+
},
|
|
40
|
+
city: {
|
|
41
|
+
type: 'string',
|
|
42
|
+
nullable: true,
|
|
43
|
+
description: 'City or town name.',
|
|
44
|
+
example: 'San Francisco'
|
|
45
|
+
},
|
|
46
|
+
state: {
|
|
47
|
+
type: 'string',
|
|
48
|
+
nullable: true,
|
|
49
|
+
description: 'State, province, or region name.',
|
|
50
|
+
example: 'CA'
|
|
51
|
+
},
|
|
52
|
+
country: {
|
|
53
|
+
type: 'string',
|
|
54
|
+
nullable: true,
|
|
55
|
+
description: 'Country as a ISO 3166-1 alpha-2 country code.',
|
|
56
|
+
example: 'US'
|
|
57
|
+
},
|
|
58
|
+
phone: {
|
|
59
|
+
type: 'string',
|
|
60
|
+
nullable: true,
|
|
61
|
+
description: 'Phone number as a string.',
|
|
62
|
+
example: '+1 555 555 5555'
|
|
63
|
+
},
|
|
64
|
+
email: {
|
|
65
|
+
type: 'string',
|
|
66
|
+
format: 'email',
|
|
67
|
+
description: 'Email address used for billing as a string.',
|
|
68
|
+
example: 'email@example.com'
|
|
69
|
+
},
|
|
70
|
+
individual_name: {
|
|
71
|
+
type: 'string',
|
|
72
|
+
description: 'Name of the billing contact person.',
|
|
73
|
+
example: 'John Doe'
|
|
74
|
+
},
|
|
75
|
+
tax_id: {
|
|
76
|
+
type: 'string',
|
|
77
|
+
nullable: true,
|
|
78
|
+
description: 'Tax ID of the organization.',
|
|
79
|
+
example: 'DE123456789'
|
|
80
|
+
},
|
|
81
|
+
tax_id_type: {
|
|
82
|
+
type: 'string',
|
|
83
|
+
nullable: true,
|
|
84
|
+
description: 'Type of the tax ID.',
|
|
85
|
+
example: 'de_vat',
|
|
86
|
+
enum: [
|
|
87
|
+
'ad_nrt',
|
|
88
|
+
'ae_trn',
|
|
89
|
+
'al_tin',
|
|
90
|
+
'am_tin',
|
|
91
|
+
'ao_tin',
|
|
92
|
+
'ar_cuit',
|
|
93
|
+
'at_vat',
|
|
94
|
+
'au_abn',
|
|
95
|
+
'au_arn',
|
|
96
|
+
'ba_tin',
|
|
97
|
+
'bb_tin',
|
|
98
|
+
'be_vat',
|
|
99
|
+
'bg_uic',
|
|
100
|
+
'bg_vat',
|
|
101
|
+
'bh_vat',
|
|
102
|
+
'bo_tin',
|
|
103
|
+
'br_cnpj',
|
|
104
|
+
'br_cpf',
|
|
105
|
+
'bs_tin',
|
|
106
|
+
'by_tin',
|
|
107
|
+
'ca_bn',
|
|
108
|
+
'ca_gst_hst',
|
|
109
|
+
'ca_pst_bc',
|
|
110
|
+
'ca_pst_mb',
|
|
111
|
+
'ca_pst_sk',
|
|
112
|
+
'ca_qst',
|
|
113
|
+
'cd_nif',
|
|
114
|
+
'ch_uid',
|
|
115
|
+
'ch_vat',
|
|
116
|
+
'cl_tin',
|
|
117
|
+
'cn_tin',
|
|
118
|
+
'co_nit',
|
|
119
|
+
'cr_tin',
|
|
120
|
+
'cy_vat',
|
|
121
|
+
'cz_vat',
|
|
122
|
+
'de_stn',
|
|
123
|
+
'de_vat',
|
|
124
|
+
'dk_vat',
|
|
125
|
+
'do_rcn',
|
|
126
|
+
'ec_ruc',
|
|
127
|
+
'ee_vat',
|
|
128
|
+
'eg_tin',
|
|
129
|
+
'es_cif',
|
|
130
|
+
'es_vat',
|
|
131
|
+
'eu_oss_vat',
|
|
132
|
+
'fi_vat',
|
|
133
|
+
'fr_vat',
|
|
134
|
+
'gb_vat',
|
|
135
|
+
'ge_vat',
|
|
136
|
+
'gn_nif',
|
|
137
|
+
'gr_vat',
|
|
138
|
+
'hk_br',
|
|
139
|
+
'hr_oib',
|
|
140
|
+
'hr_vat',
|
|
141
|
+
'hu_tin',
|
|
142
|
+
'hu_vat',
|
|
143
|
+
'id_npwp',
|
|
144
|
+
'ie_vat',
|
|
145
|
+
'il_vat',
|
|
146
|
+
'in_gst',
|
|
147
|
+
'is_vat',
|
|
148
|
+
'it_vat',
|
|
149
|
+
'jp_cn',
|
|
150
|
+
'jp_rn',
|
|
151
|
+
'jp_trn',
|
|
152
|
+
'ke_pin',
|
|
153
|
+
'kh_tin',
|
|
154
|
+
'kr_brn',
|
|
155
|
+
'kz_bin',
|
|
156
|
+
'li_uid',
|
|
157
|
+
'li_vat',
|
|
158
|
+
'lt_vat',
|
|
159
|
+
'lu_vat',
|
|
160
|
+
'lv_vat',
|
|
161
|
+
'ma_vat',
|
|
162
|
+
'md_vat',
|
|
163
|
+
'me_pib',
|
|
164
|
+
'mk_vat',
|
|
165
|
+
'mr_nif',
|
|
166
|
+
'mt_vat',
|
|
167
|
+
'mx_rfc',
|
|
168
|
+
'my_frp',
|
|
169
|
+
'my_itn',
|
|
170
|
+
'my_sst',
|
|
171
|
+
'ng_tin',
|
|
172
|
+
'nl_vat',
|
|
173
|
+
'no_vat',
|
|
174
|
+
'no_voec',
|
|
175
|
+
'np_pan',
|
|
176
|
+
'nz_gst',
|
|
177
|
+
'om_vat',
|
|
178
|
+
'pe_ruc',
|
|
179
|
+
'ph_tin',
|
|
180
|
+
'pl_vat',
|
|
181
|
+
'pt_vat',
|
|
182
|
+
'ro_tin',
|
|
183
|
+
'ro_vat',
|
|
184
|
+
'rs_pib',
|
|
185
|
+
'ru_inn',
|
|
186
|
+
'ru_kpp',
|
|
187
|
+
'sa_vat',
|
|
188
|
+
'se_vat',
|
|
189
|
+
'sg_gst',
|
|
190
|
+
'sg_uen',
|
|
191
|
+
'si_tin',
|
|
192
|
+
'si_vat',
|
|
193
|
+
'sk_vat',
|
|
194
|
+
'sn_ninea',
|
|
195
|
+
'sr_fin',
|
|
196
|
+
'sv_nit',
|
|
197
|
+
'th_vat',
|
|
198
|
+
'tj_tin',
|
|
199
|
+
'tr_tin',
|
|
200
|
+
'tw_vat',
|
|
201
|
+
'tz_vat',
|
|
202
|
+
'ua_vat',
|
|
203
|
+
'ug_tin',
|
|
204
|
+
'us_ein',
|
|
205
|
+
'uy_ruc',
|
|
206
|
+
'uz_tin',
|
|
207
|
+
'uz_vat',
|
|
208
|
+
've_rif',
|
|
209
|
+
'vn_tin',
|
|
210
|
+
'xi_vat',
|
|
211
|
+
'za_vat',
|
|
212
|
+
'zm_tin',
|
|
213
|
+
'zw_tin',
|
|
214
|
+
''
|
|
215
|
+
]
|
|
216
|
+
}
|
|
217
|
+
},
|
|
218
|
+
required: [
|
|
219
|
+
'type',
|
|
220
|
+
'email',
|
|
221
|
+
'individual_name'
|
|
222
|
+
],
|
|
223
|
+
additionalProperties: false
|
|
224
|
+
};
|
|
225
|
+
export const BillingCreditsSchema = {
|
|
226
|
+
type: 'object',
|
|
227
|
+
properties: {
|
|
228
|
+
id: {
|
|
229
|
+
type: 'string',
|
|
230
|
+
description: 'Generated unique identifier of the promotional code.',
|
|
231
|
+
example: '7kUZnH7nnKUFfvc4NK2KQF'
|
|
232
|
+
},
|
|
233
|
+
type: {
|
|
234
|
+
type: 'string',
|
|
235
|
+
description: 'Type of the promotional code.',
|
|
236
|
+
example: 'credit',
|
|
237
|
+
enum: [
|
|
238
|
+
'credit',
|
|
239
|
+
'discount'
|
|
240
|
+
]
|
|
241
|
+
},
|
|
242
|
+
date_start: {
|
|
243
|
+
type: 'string',
|
|
244
|
+
format: 'date-time',
|
|
245
|
+
description: 'Timestamp when the credit becomes active. ISO 8601 date string in the UTC timezone.',
|
|
246
|
+
example: '2023-12-20T13:53:32.000Z'
|
|
247
|
+
},
|
|
248
|
+
date_end: {
|
|
249
|
+
type: 'string',
|
|
250
|
+
format: 'date-time',
|
|
251
|
+
description: 'Timestamp when the credit expires or becomes inactive. ISO 8601 date string in the UTC timezone.',
|
|
252
|
+
example: '2023-12-20T13:53:32.000Z'
|
|
253
|
+
},
|
|
254
|
+
code: {
|
|
255
|
+
type: 'string',
|
|
256
|
+
description: 'Promotional code used by the customer.',
|
|
257
|
+
example: 'VQ4SCMB'
|
|
258
|
+
},
|
|
259
|
+
description: {
|
|
260
|
+
type: 'string',
|
|
261
|
+
description: 'Description of the promotional code.',
|
|
262
|
+
example: '10% off on all products'
|
|
263
|
+
},
|
|
264
|
+
value_total: {
|
|
265
|
+
type: 'number',
|
|
266
|
+
format: 'float',
|
|
267
|
+
description: 'Total value of the promotional code.',
|
|
268
|
+
example: 10
|
|
269
|
+
},
|
|
270
|
+
value_remaining: {
|
|
271
|
+
type: 'number',
|
|
272
|
+
format: 'float',
|
|
273
|
+
description: 'Remaining value of the promotional code.',
|
|
274
|
+
example: 8
|
|
275
|
+
}
|
|
276
|
+
},
|
|
277
|
+
required: [
|
|
278
|
+
'type',
|
|
279
|
+
'date_start',
|
|
280
|
+
'code',
|
|
281
|
+
'value_total'
|
|
282
|
+
],
|
|
283
|
+
additionalProperties: false
|
|
284
|
+
};
|
|
285
|
+
export const ChartCreateInputSchema = {
|
|
286
|
+
type: 'object',
|
|
287
|
+
properties: {
|
|
288
|
+
values: {
|
|
289
|
+
type: 'string',
|
|
290
|
+
description: 'Values to be used in the chart encoded as a JSON string.'
|
|
291
|
+
},
|
|
292
|
+
version_channel: {
|
|
293
|
+
type: 'string',
|
|
294
|
+
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-]+)*))?$',
|
|
295
|
+
description: 'Desired version range or channel for the chart.',
|
|
296
|
+
example: '2.x.x-cfke.x'
|
|
297
|
+
},
|
|
298
|
+
name: {
|
|
299
|
+
type: 'string',
|
|
300
|
+
maxLength: 63,
|
|
301
|
+
minLength: 1,
|
|
302
|
+
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
303
|
+
description: 'Unique identifier of the chart deployment aka name of the helm release.',
|
|
304
|
+
example: 'postgresql-0'
|
|
305
|
+
},
|
|
306
|
+
namespace: {
|
|
307
|
+
type: 'string',
|
|
308
|
+
maxLength: 63,
|
|
309
|
+
minLength: 1,
|
|
310
|
+
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
311
|
+
description: 'Namespace of the chart deployment',
|
|
312
|
+
example: 'default'
|
|
313
|
+
},
|
|
314
|
+
chart: {
|
|
315
|
+
type: 'string',
|
|
316
|
+
maxLength: 63,
|
|
317
|
+
minLength: 1,
|
|
318
|
+
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
319
|
+
description: 'Name of the chart listing',
|
|
320
|
+
example: 'postgresql'
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
required: [
|
|
324
|
+
'values',
|
|
325
|
+
'version_channel',
|
|
326
|
+
'name',
|
|
327
|
+
'namespace',
|
|
328
|
+
'chart'
|
|
329
|
+
],
|
|
330
|
+
additionalProperties: false
|
|
331
|
+
};
|
|
332
|
+
export const ChartSchema = {
|
|
333
|
+
type: 'object',
|
|
334
|
+
properties: {
|
|
335
|
+
values: {
|
|
336
|
+
type: 'string',
|
|
337
|
+
description: 'Values to be used in the chart encoded as a JSON string.'
|
|
338
|
+
},
|
|
339
|
+
version_channel: {
|
|
340
|
+
type: 'string',
|
|
341
|
+
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-]+)*))?$',
|
|
342
|
+
description: 'Desired version range or channel for the chart.',
|
|
343
|
+
example: '2.x.x-cfke.x'
|
|
344
|
+
},
|
|
345
|
+
name: {
|
|
346
|
+
type: 'string',
|
|
347
|
+
maxLength: 63,
|
|
348
|
+
minLength: 1,
|
|
349
|
+
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
350
|
+
description: 'Unique identifier of the chart deployment aka name of the helm release.',
|
|
351
|
+
example: 'postgresql-0'
|
|
352
|
+
},
|
|
353
|
+
namespace: {
|
|
354
|
+
type: 'string',
|
|
355
|
+
maxLength: 63,
|
|
356
|
+
minLength: 1,
|
|
357
|
+
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
358
|
+
description: 'Namespace of the chart deployment',
|
|
359
|
+
example: 'default'
|
|
360
|
+
},
|
|
361
|
+
chart: {
|
|
362
|
+
type: 'string',
|
|
363
|
+
maxLength: 63,
|
|
364
|
+
minLength: 1,
|
|
365
|
+
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
366
|
+
description: 'Name of the chart listing',
|
|
367
|
+
example: 'postgresql'
|
|
368
|
+
},
|
|
369
|
+
status: {
|
|
370
|
+
type: 'string',
|
|
371
|
+
description: 'Status of the chart deployment.',
|
|
372
|
+
example: 'active',
|
|
373
|
+
enum: [
|
|
374
|
+
'InstallSucceeded',
|
|
375
|
+
'InstallFailed',
|
|
376
|
+
'UpgradeSucceeded',
|
|
377
|
+
'UpgradeFailed',
|
|
378
|
+
'TestSucceeded',
|
|
379
|
+
'TestFailed',
|
|
380
|
+
'RollbackSucceeded',
|
|
381
|
+
'RollbackFailed',
|
|
382
|
+
'UninstallSucceeded',
|
|
383
|
+
'UninstallFailed',
|
|
384
|
+
'ArtifactFailed',
|
|
385
|
+
'DependencyNotReady',
|
|
386
|
+
'Progressing',
|
|
387
|
+
'SourceNotReady'
|
|
388
|
+
]
|
|
389
|
+
},
|
|
390
|
+
version_current: {
|
|
391
|
+
type: 'string',
|
|
392
|
+
description: 'Current version of the chart deployment.',
|
|
393
|
+
example: '2.1.33-cfke.11'
|
|
394
|
+
},
|
|
395
|
+
created_at: {
|
|
396
|
+
type: 'string',
|
|
397
|
+
description: 'Creation date and time of the chart deployment.',
|
|
398
|
+
example: '2024-09-12T09:11:27Z'
|
|
399
|
+
},
|
|
400
|
+
updated_at: {
|
|
401
|
+
type: 'string',
|
|
402
|
+
description: 'Last update date and time of the chart deployment.',
|
|
403
|
+
example: '2024-09-12T09:11:27Z'
|
|
404
|
+
},
|
|
405
|
+
ready: {
|
|
406
|
+
type: 'boolean',
|
|
407
|
+
description: 'Indicates if the chart deployment is ready to be used.',
|
|
408
|
+
example: true
|
|
409
|
+
}
|
|
410
|
+
},
|
|
411
|
+
required: [
|
|
412
|
+
'values',
|
|
413
|
+
'version_channel',
|
|
414
|
+
'name',
|
|
415
|
+
'namespace',
|
|
416
|
+
'chart',
|
|
417
|
+
'status',
|
|
418
|
+
'version_current',
|
|
419
|
+
'created_at',
|
|
420
|
+
'updated_at',
|
|
421
|
+
'ready'
|
|
422
|
+
],
|
|
423
|
+
additionalProperties: false
|
|
424
|
+
};
|
|
425
|
+
export const ChartUpdateInputSchema = {
|
|
426
|
+
type: 'object',
|
|
427
|
+
properties: {
|
|
428
|
+
values: {
|
|
429
|
+
type: 'string',
|
|
430
|
+
description: 'Values to be used in the chart encoded as a JSON string.'
|
|
431
|
+
},
|
|
432
|
+
version_channel: {
|
|
433
|
+
type: 'string',
|
|
434
|
+
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-]+)*))?$',
|
|
435
|
+
description: 'Desired version range or channel for the chart.',
|
|
436
|
+
example: '2.x.x-cfke.x'
|
|
437
|
+
}
|
|
438
|
+
},
|
|
439
|
+
required: [
|
|
440
|
+
'values',
|
|
441
|
+
'version_channel'
|
|
442
|
+
],
|
|
443
|
+
additionalProperties: false
|
|
444
|
+
};
|
|
2
445
|
export const ClusterCreateInputSchema = {
|
|
3
446
|
type: 'object',
|
|
4
447
|
properties: {
|
|
@@ -10,28 +453,45 @@ export const ClusterCreateInputSchema = {
|
|
|
10
453
|
description: 'Name of the cluster.',
|
|
11
454
|
example: 'production-cluster'
|
|
12
455
|
},
|
|
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
456
|
tier: {
|
|
21
457
|
type: 'string',
|
|
22
458
|
description: 'Tier of the cluster.',
|
|
23
459
|
example: 'pro',
|
|
24
|
-
enum: [
|
|
460
|
+
enum: [
|
|
461
|
+
'basic',
|
|
462
|
+
'pro'
|
|
463
|
+
]
|
|
464
|
+
},
|
|
465
|
+
region: {
|
|
466
|
+
type: 'string',
|
|
467
|
+
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.',
|
|
468
|
+
default: 'staging-1a',
|
|
469
|
+
example: 'northamerica-central-1a',
|
|
470
|
+
enum: [
|
|
471
|
+
'staging-1a',
|
|
472
|
+
'northamerica-central-1',
|
|
473
|
+
'europe-central-1a',
|
|
474
|
+
'northamerica-central-1a'
|
|
475
|
+
]
|
|
25
476
|
},
|
|
26
477
|
version_channel: {
|
|
27
478
|
type: 'string',
|
|
28
479
|
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
480
|
description: 'Version of the kubernetes cluster.',
|
|
30
481
|
default: '1.x.x-cfke.x',
|
|
31
|
-
example: '1.
|
|
482
|
+
example: '1.x.x-cfke.x',
|
|
483
|
+
enum: [
|
|
484
|
+
'1.x.x-cfke.x',
|
|
485
|
+
'1.31.x-cfke.x',
|
|
486
|
+
'1.32.x-cfke.x',
|
|
487
|
+
'1.33.x-cfke.x'
|
|
488
|
+
]
|
|
32
489
|
}
|
|
33
490
|
},
|
|
34
|
-
required: [
|
|
491
|
+
required: [
|
|
492
|
+
'name',
|
|
493
|
+
'tier'
|
|
494
|
+
],
|
|
35
495
|
additionalProperties: false
|
|
36
496
|
};
|
|
37
497
|
export const ClusterJoinInformationSchema = {
|
|
@@ -40,8 +500,7 @@ export const ClusterJoinInformationSchema = {
|
|
|
40
500
|
certificate_authority: {
|
|
41
501
|
type: 'string',
|
|
42
502
|
description: 'Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.',
|
|
43
|
-
example:
|
|
44
|
-
MIIC0DCCAbigAwIBAgI...`
|
|
503
|
+
example: '-----BEGIN CERTIFICATE-----\nMIIC0DCCAbigAwIBAgI...'
|
|
45
504
|
},
|
|
46
505
|
endpoint: {
|
|
47
506
|
type: 'string',
|
|
@@ -49,6 +508,11 @@ MIIC0DCCAbigAwIBAgI...`
|
|
|
49
508
|
description: 'Internal URL of the Kubernetes cluster control plane. This is the endpoint that kubelet uses to connect to the cluster.',
|
|
50
509
|
example: 'https://10.31.64.7:6443'
|
|
51
510
|
},
|
|
511
|
+
cluster_dns: {
|
|
512
|
+
type: 'string',
|
|
513
|
+
description: 'Cluster DNS IP address. This is the IP address of the kube-dns service in the cluster.',
|
|
514
|
+
example: '10.96.0.10'
|
|
515
|
+
},
|
|
52
516
|
auth_key: {
|
|
53
517
|
type: 'string',
|
|
54
518
|
description: 'Authentication key for the cluster.',
|
|
@@ -65,7 +529,7 @@ MIIC0DCCAbigAwIBAgI...`
|
|
|
65
529
|
kubernetes: {
|
|
66
530
|
type: 'string',
|
|
67
531
|
description: 'Kubernetes version of the cluster.',
|
|
68
|
-
example: '1.
|
|
532
|
+
example: '1.33.7'
|
|
69
533
|
},
|
|
70
534
|
tailscale: {
|
|
71
535
|
type: 'string',
|
|
@@ -76,14 +540,59 @@ MIIC0DCCAbigAwIBAgI...`
|
|
|
76
540
|
type: 'string',
|
|
77
541
|
description: 'Containerd version of the cluster.',
|
|
78
542
|
example: '1.7.19'
|
|
543
|
+
},
|
|
544
|
+
nvidia_driver: {
|
|
545
|
+
type: 'string',
|
|
546
|
+
description: 'NVIDIA driver version of the cluster.',
|
|
547
|
+
example: '565.0.0'
|
|
79
548
|
}
|
|
80
549
|
},
|
|
81
|
-
required: [
|
|
550
|
+
required: [
|
|
551
|
+
'kubernetes',
|
|
552
|
+
'tailscale',
|
|
553
|
+
'containerd',
|
|
554
|
+
'nvidia_driver'
|
|
555
|
+
],
|
|
82
556
|
additionalProperties: false,
|
|
83
557
|
description: 'Versions of the different components of the cluster.'
|
|
558
|
+
},
|
|
559
|
+
third_party_api_access_config: {
|
|
560
|
+
type: 'object',
|
|
561
|
+
properties: {
|
|
562
|
+
metadata_url: {
|
|
563
|
+
type: 'string',
|
|
564
|
+
description: 'Kubernetes metadata server.',
|
|
565
|
+
example: 'https://10.31.64.4'
|
|
566
|
+
},
|
|
567
|
+
aws_role_arn: {
|
|
568
|
+
type: 'string',
|
|
569
|
+
description: 'AWS Role ARN.',
|
|
570
|
+
example: 'arn:aws:iam::891376988828:role/0371f8fd-e164-48e1-b9e7-c3bdc3b4f403'
|
|
571
|
+
},
|
|
572
|
+
gcp_workload_identity_provider: {
|
|
573
|
+
type: 'string',
|
|
574
|
+
description: 'GCP Workload Identity provider.',
|
|
575
|
+
example: '//iam.googleapis.com/projects/89014267864/locations/global/workloadIdentityPools/cfke/providers/oidc'
|
|
576
|
+
}
|
|
577
|
+
},
|
|
578
|
+
required: [
|
|
579
|
+
'metadata_url',
|
|
580
|
+
'aws_role_arn',
|
|
581
|
+
'gcp_workload_identity_provider'
|
|
582
|
+
],
|
|
583
|
+
additionalProperties: false,
|
|
584
|
+
description: 'OIDC Information for hosts to access to third party API\'s.'
|
|
84
585
|
}
|
|
85
586
|
},
|
|
86
|
-
required: [
|
|
587
|
+
required: [
|
|
588
|
+
'certificate_authority',
|
|
589
|
+
'endpoint',
|
|
590
|
+
'cluster_dns',
|
|
591
|
+
'auth_key',
|
|
592
|
+
'bootstrap_token',
|
|
593
|
+
'versions',
|
|
594
|
+
'third_party_api_access_config'
|
|
595
|
+
],
|
|
87
596
|
additionalProperties: false
|
|
88
597
|
};
|
|
89
598
|
export const ClusterSchema = {
|
|
@@ -97,25 +606,26 @@ export const ClusterSchema = {
|
|
|
97
606
|
description: 'Name of the cluster.',
|
|
98
607
|
example: 'production-cluster'
|
|
99
608
|
},
|
|
100
|
-
region: {
|
|
101
|
-
type: 'string',
|
|
102
|
-
description: 'Cloudfleet control plane region. One of "staging", "northamerica-central-1". This field can not be updated after creation.',
|
|
103
|
-
default: 'staging',
|
|
104
|
-
example: 'northamerica-central-1',
|
|
105
|
-
enum: ['staging', 'northamerica-central-1']
|
|
106
|
-
},
|
|
107
609
|
tier: {
|
|
108
610
|
type: 'string',
|
|
109
611
|
description: 'Tier of the cluster.',
|
|
110
612
|
example: 'pro',
|
|
111
|
-
enum: [
|
|
613
|
+
enum: [
|
|
614
|
+
'basic',
|
|
615
|
+
'pro'
|
|
616
|
+
]
|
|
112
617
|
},
|
|
113
|
-
|
|
618
|
+
region: {
|
|
114
619
|
type: 'string',
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
620
|
+
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.',
|
|
621
|
+
default: 'staging-1a',
|
|
622
|
+
example: 'northamerica-central-1a',
|
|
623
|
+
enum: [
|
|
624
|
+
'staging-1a',
|
|
625
|
+
'northamerica-central-1',
|
|
626
|
+
'europe-central-1a',
|
|
627
|
+
'northamerica-central-1a'
|
|
628
|
+
]
|
|
119
629
|
},
|
|
120
630
|
id: {
|
|
121
631
|
type: 'string',
|
|
@@ -127,32 +637,57 @@ export const ClusterSchema = {
|
|
|
127
637
|
type: 'string',
|
|
128
638
|
description: 'Status of the cluster. When creating a new cluster, set to `active`. When deleting a clusters, set to `deleted`.',
|
|
129
639
|
example: 'active',
|
|
130
|
-
enum: [
|
|
640
|
+
enum: [
|
|
641
|
+
'active',
|
|
642
|
+
'disabled',
|
|
643
|
+
'deleted',
|
|
644
|
+
'creating',
|
|
645
|
+
'deployed',
|
|
646
|
+
'failed',
|
|
647
|
+
'updating'
|
|
648
|
+
]
|
|
131
649
|
},
|
|
132
650
|
endpoint: {
|
|
133
651
|
anyOf: [
|
|
134
652
|
{
|
|
135
653
|
type: 'string',
|
|
136
654
|
format: 'uri',
|
|
137
|
-
description: 'URL of the Kubernetes cluster control plane. This is the endpoint that kubectl uses to connect to the cluster.',
|
|
655
|
+
description: 'URL signed by the private CA of the Kubernetes cluster control plane. This is the endpoint that kubectl uses to connect to the cluster. (Deprecated, use endpoint_public instead)',
|
|
138
656
|
example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.cloudfleet.dev:6443'
|
|
139
657
|
},
|
|
140
658
|
{
|
|
141
659
|
type: 'string',
|
|
142
|
-
enum: [
|
|
660
|
+
enum: [
|
|
661
|
+
''
|
|
662
|
+
]
|
|
663
|
+
}
|
|
664
|
+
]
|
|
665
|
+
},
|
|
666
|
+
endpoint_public: {
|
|
667
|
+
anyOf: [
|
|
668
|
+
{
|
|
669
|
+
type: 'string',
|
|
670
|
+
format: 'uri',
|
|
671
|
+
description: 'URL signed by a public CA of the Kubernetes cluster control plane. This is the endpoint that kubectl uses to connect to the cluster.',
|
|
672
|
+
example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.io'
|
|
673
|
+
},
|
|
674
|
+
{
|
|
675
|
+
type: 'string',
|
|
676
|
+
enum: [
|
|
677
|
+
''
|
|
678
|
+
]
|
|
143
679
|
}
|
|
144
680
|
]
|
|
145
681
|
},
|
|
146
682
|
certificate_ca: {
|
|
147
683
|
type: 'string',
|
|
148
684
|
description: 'Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.',
|
|
149
|
-
example:
|
|
150
|
-
MIIC0DCCAbigAwIBAgI...`
|
|
685
|
+
example: '-----BEGIN CERTIFICATE-----\nMIIC0DCCAbigAwIBAgI...'
|
|
151
686
|
},
|
|
152
687
|
version_current: {
|
|
153
688
|
type: 'string',
|
|
154
689
|
description: 'Current version of the cluster.',
|
|
155
|
-
example: '1.
|
|
690
|
+
example: '1.33.7-cfke.264'
|
|
156
691
|
},
|
|
157
692
|
created_at: {
|
|
158
693
|
type: 'string',
|
|
@@ -168,9 +703,20 @@ MIIC0DCCAbigAwIBAgI...`
|
|
|
168
703
|
type: 'boolean',
|
|
169
704
|
description: 'Indicates if the cluster is ready to be used.',
|
|
170
705
|
example: true
|
|
706
|
+
},
|
|
707
|
+
version_channel: {
|
|
708
|
+
type: 'string',
|
|
709
|
+
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-]+)*))?$',
|
|
710
|
+
description: 'Version of the kubernetes cluster.',
|
|
711
|
+
example: '1.x.x-cfke.x'
|
|
171
712
|
}
|
|
172
713
|
},
|
|
173
|
-
required: [
|
|
714
|
+
required: [
|
|
715
|
+
'name',
|
|
716
|
+
'tier',
|
|
717
|
+
'id',
|
|
718
|
+
'status'
|
|
719
|
+
],
|
|
174
720
|
additionalProperties: false
|
|
175
721
|
};
|
|
176
722
|
export const ClusterUpdateInputSchema = {
|
|
@@ -184,13 +730,25 @@ export const ClusterUpdateInputSchema = {
|
|
|
184
730
|
description: 'Name of the cluster.',
|
|
185
731
|
example: 'production-cluster'
|
|
186
732
|
},
|
|
733
|
+
tier: {
|
|
734
|
+
type: 'string',
|
|
735
|
+
description: 'Tier of the cluster.',
|
|
736
|
+
example: 'pro',
|
|
737
|
+
enum: [
|
|
738
|
+
'basic',
|
|
739
|
+
'pro'
|
|
740
|
+
]
|
|
741
|
+
},
|
|
187
742
|
version_channel: {
|
|
188
743
|
type: 'string',
|
|
189
744
|
pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
|
|
190
745
|
description: 'Version of the kubernetes cluster.',
|
|
191
|
-
example: '1.
|
|
746
|
+
example: '1.x.x-cfke.x'
|
|
192
747
|
}
|
|
193
748
|
},
|
|
749
|
+
required: [
|
|
750
|
+
'tier'
|
|
751
|
+
],
|
|
194
752
|
additionalProperties: false
|
|
195
753
|
};
|
|
196
754
|
export const FleetCreateInputSchema = {
|
|
@@ -200,13 +758,12 @@ export const FleetCreateInputSchema = {
|
|
|
200
758
|
type: 'object',
|
|
201
759
|
properties: {
|
|
202
760
|
cpu: {
|
|
203
|
-
type: '
|
|
204
|
-
format: 'float',
|
|
761
|
+
type: 'integer',
|
|
205
762
|
minimum: 0,
|
|
206
|
-
|
|
763
|
+
maximum: 100000,
|
|
764
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
207
765
|
}
|
|
208
766
|
},
|
|
209
|
-
required: ['cpu'],
|
|
210
767
|
additionalProperties: false,
|
|
211
768
|
description: 'Limits define a set of bounds for provisioning capacity.'
|
|
212
769
|
},
|
|
@@ -214,62 +771,345 @@ export const FleetCreateInputSchema = {
|
|
|
214
771
|
type: 'object',
|
|
215
772
|
properties: {
|
|
216
773
|
enabled: {
|
|
217
|
-
type: 'boolean'
|
|
218
|
-
default: true
|
|
774
|
+
type: 'boolean'
|
|
219
775
|
},
|
|
220
776
|
project: {
|
|
221
777
|
type: 'string',
|
|
222
|
-
|
|
778
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
779
|
+
description: 'GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.',
|
|
780
|
+
example: 'my-cloudfleet-project'
|
|
223
781
|
}
|
|
224
782
|
},
|
|
225
|
-
required: [
|
|
783
|
+
required: [
|
|
784
|
+
'enabled'
|
|
785
|
+
],
|
|
226
786
|
additionalProperties: false
|
|
227
787
|
},
|
|
228
788
|
hetzner: {
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
},
|
|
241
|
-
additionalProperties: false
|
|
242
|
-
},
|
|
243
|
-
{
|
|
244
|
-
type: 'object',
|
|
245
|
-
properties: {
|
|
246
|
-
apiKey: {
|
|
247
|
-
type: 'string'
|
|
248
|
-
},
|
|
249
|
-
enabled: {
|
|
250
|
-
type: 'boolean',
|
|
251
|
-
default: true
|
|
252
|
-
}
|
|
253
|
-
},
|
|
254
|
-
additionalProperties: false
|
|
789
|
+
type: 'object',
|
|
790
|
+
properties: {
|
|
791
|
+
enabled: {
|
|
792
|
+
type: 'boolean'
|
|
793
|
+
},
|
|
794
|
+
apiKey: {
|
|
795
|
+
type: 'string',
|
|
796
|
+
maxLength: 64,
|
|
797
|
+
minLength: 64,
|
|
798
|
+
pattern: '^[A-Za-z0-9]+$',
|
|
799
|
+
description: 'Hetzner Cloud API token with read / write access (64 alphanumeric characters). Omit this field to keep the existing value.'
|
|
255
800
|
}
|
|
256
|
-
|
|
801
|
+
},
|
|
802
|
+
required: [
|
|
803
|
+
'enabled'
|
|
804
|
+
],
|
|
805
|
+
additionalProperties: false
|
|
257
806
|
},
|
|
258
807
|
aws: {
|
|
259
808
|
type: 'object',
|
|
260
809
|
properties: {
|
|
261
810
|
enabled: {
|
|
262
|
-
type: 'boolean'
|
|
263
|
-
default: true
|
|
811
|
+
type: 'boolean'
|
|
264
812
|
},
|
|
265
813
|
controllerRoleArn: {
|
|
266
814
|
type: 'string',
|
|
267
|
-
|
|
815
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
816
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
817
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
268
818
|
}
|
|
269
819
|
},
|
|
270
|
-
required: [
|
|
820
|
+
required: [
|
|
821
|
+
'enabled'
|
|
822
|
+
],
|
|
271
823
|
additionalProperties: false
|
|
272
824
|
},
|
|
825
|
+
constraints: {
|
|
826
|
+
type: 'object',
|
|
827
|
+
properties: {
|
|
828
|
+
'karpenter.sh/capacity-type': {
|
|
829
|
+
type: 'array',
|
|
830
|
+
items: {
|
|
831
|
+
type: 'string',
|
|
832
|
+
enum: [
|
|
833
|
+
'on-demand',
|
|
834
|
+
'spot'
|
|
835
|
+
]
|
|
836
|
+
},
|
|
837
|
+
minItems: 1,
|
|
838
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.',
|
|
839
|
+
default: [
|
|
840
|
+
'on-demand',
|
|
841
|
+
'spot'
|
|
842
|
+
]
|
|
843
|
+
},
|
|
844
|
+
'kubernetes.io/arch': {
|
|
845
|
+
type: 'array',
|
|
846
|
+
items: {
|
|
847
|
+
type: 'string',
|
|
848
|
+
enum: [
|
|
849
|
+
'amd64',
|
|
850
|
+
'arm64'
|
|
851
|
+
]
|
|
852
|
+
},
|
|
853
|
+
minItems: 1,
|
|
854
|
+
description: 'Allowed values for `kubernetes.io/arch`.',
|
|
855
|
+
default: [
|
|
856
|
+
'amd64'
|
|
857
|
+
]
|
|
858
|
+
},
|
|
859
|
+
'cfke.io/instance-family': {
|
|
860
|
+
type: 'array',
|
|
861
|
+
items: {
|
|
862
|
+
type: 'string',
|
|
863
|
+
enum: [
|
|
864
|
+
'a1',
|
|
865
|
+
'a2',
|
|
866
|
+
'a3',
|
|
867
|
+
'a4',
|
|
868
|
+
'c1',
|
|
869
|
+
'c2',
|
|
870
|
+
'c2d',
|
|
871
|
+
'c3',
|
|
872
|
+
'c3d',
|
|
873
|
+
'c4',
|
|
874
|
+
'c4a',
|
|
875
|
+
'c4d',
|
|
876
|
+
'c5',
|
|
877
|
+
'c5a',
|
|
878
|
+
'c5ad',
|
|
879
|
+
'c5d',
|
|
880
|
+
'c5n',
|
|
881
|
+
'c6a',
|
|
882
|
+
'c6g',
|
|
883
|
+
'c6gd',
|
|
884
|
+
'c6gn',
|
|
885
|
+
'c6i',
|
|
886
|
+
'c6id',
|
|
887
|
+
'c6in',
|
|
888
|
+
'c7a',
|
|
889
|
+
'c7g',
|
|
890
|
+
'c7gd',
|
|
891
|
+
'c7gn',
|
|
892
|
+
'c7i',
|
|
893
|
+
'c7i-flex',
|
|
894
|
+
'c8g',
|
|
895
|
+
'c8gd',
|
|
896
|
+
'cax',
|
|
897
|
+
'ccx',
|
|
898
|
+
'cpx',
|
|
899
|
+
'cx',
|
|
900
|
+
'd2',
|
|
901
|
+
'd3',
|
|
902
|
+
'd3en',
|
|
903
|
+
'dl1',
|
|
904
|
+
'dl2q',
|
|
905
|
+
'e2',
|
|
906
|
+
'f1',
|
|
907
|
+
'f2',
|
|
908
|
+
'g1',
|
|
909
|
+
'g2',
|
|
910
|
+
'g4ad',
|
|
911
|
+
'g4dn',
|
|
912
|
+
'g5',
|
|
913
|
+
'g5g',
|
|
914
|
+
'g6',
|
|
915
|
+
'g6e',
|
|
916
|
+
'gr6',
|
|
917
|
+
'h1',
|
|
918
|
+
'h3',
|
|
919
|
+
'hpc6a',
|
|
920
|
+
'hpc6id',
|
|
921
|
+
'hpc7a',
|
|
922
|
+
'hpc7g',
|
|
923
|
+
'i2',
|
|
924
|
+
'i3',
|
|
925
|
+
'i3en',
|
|
926
|
+
'i4g',
|
|
927
|
+
'i4i',
|
|
928
|
+
'i7i',
|
|
929
|
+
'i7ie',
|
|
930
|
+
'i8g',
|
|
931
|
+
'im4gn',
|
|
932
|
+
'inf1',
|
|
933
|
+
'inf2',
|
|
934
|
+
'is4gen',
|
|
935
|
+
'm1',
|
|
936
|
+
'm2',
|
|
937
|
+
'm3',
|
|
938
|
+
'm4',
|
|
939
|
+
'm5',
|
|
940
|
+
'm5a',
|
|
941
|
+
'm5ad',
|
|
942
|
+
'm5d',
|
|
943
|
+
'm5dn',
|
|
944
|
+
'm5n',
|
|
945
|
+
'm5zn',
|
|
946
|
+
'm6a',
|
|
947
|
+
'm6g',
|
|
948
|
+
'm6gd',
|
|
949
|
+
'm6i',
|
|
950
|
+
'm6id',
|
|
951
|
+
'm6idn',
|
|
952
|
+
'm6in',
|
|
953
|
+
'm7a',
|
|
954
|
+
'm7g',
|
|
955
|
+
'm7gd',
|
|
956
|
+
'm7i',
|
|
957
|
+
'm7i-flex',
|
|
958
|
+
'm8g',
|
|
959
|
+
'm8gd',
|
|
960
|
+
'n1',
|
|
961
|
+
'n2',
|
|
962
|
+
'n2d',
|
|
963
|
+
'n4',
|
|
964
|
+
'p3',
|
|
965
|
+
'p3dn',
|
|
966
|
+
'p4d',
|
|
967
|
+
'p4de',
|
|
968
|
+
'p5',
|
|
969
|
+
'p5e',
|
|
970
|
+
'p5en',
|
|
971
|
+
'p6-b200',
|
|
972
|
+
'r3',
|
|
973
|
+
'r4',
|
|
974
|
+
'r5',
|
|
975
|
+
'r5a',
|
|
976
|
+
'r5ad',
|
|
977
|
+
'r5b',
|
|
978
|
+
'r5d',
|
|
979
|
+
'r5dn',
|
|
980
|
+
'r5n',
|
|
981
|
+
'r6a',
|
|
982
|
+
'r6g',
|
|
983
|
+
'r6gd',
|
|
984
|
+
'r6i',
|
|
985
|
+
'r6id',
|
|
986
|
+
'r6idn',
|
|
987
|
+
'r6in',
|
|
988
|
+
'r7a',
|
|
989
|
+
'r7g',
|
|
990
|
+
'r7gd',
|
|
991
|
+
'r7i',
|
|
992
|
+
'r7iz',
|
|
993
|
+
'r8g',
|
|
994
|
+
'r8gd',
|
|
995
|
+
't2',
|
|
996
|
+
't2a',
|
|
997
|
+
't2d',
|
|
998
|
+
't3',
|
|
999
|
+
't3a',
|
|
1000
|
+
't4g',
|
|
1001
|
+
'trn1',
|
|
1002
|
+
'trn1n',
|
|
1003
|
+
'u-3tb1',
|
|
1004
|
+
'u-6tb1',
|
|
1005
|
+
'u7i-12tb',
|
|
1006
|
+
'u7i-6tb',
|
|
1007
|
+
'u7i-8tb',
|
|
1008
|
+
'u7in-16tb',
|
|
1009
|
+
'u7in-24tb',
|
|
1010
|
+
'u7in-32tb',
|
|
1011
|
+
'vt1',
|
|
1012
|
+
'x1',
|
|
1013
|
+
'x1e',
|
|
1014
|
+
'x2gd',
|
|
1015
|
+
'x2idn',
|
|
1016
|
+
'x2iedn',
|
|
1017
|
+
'x2iezn',
|
|
1018
|
+
'x4',
|
|
1019
|
+
'x8g',
|
|
1020
|
+
'z1d',
|
|
1021
|
+
'z3'
|
|
1022
|
+
]
|
|
1023
|
+
},
|
|
1024
|
+
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
1025
|
+
},
|
|
1026
|
+
'topology.kubernetes.io/region': {
|
|
1027
|
+
type: 'array',
|
|
1028
|
+
items: {
|
|
1029
|
+
type: 'string',
|
|
1030
|
+
enum: [
|
|
1031
|
+
'africa-south1',
|
|
1032
|
+
'ap-northeast-1',
|
|
1033
|
+
'ap-northeast-2',
|
|
1034
|
+
'ap-northeast-3',
|
|
1035
|
+
'ap-south-1',
|
|
1036
|
+
'ap-southeast-1',
|
|
1037
|
+
'ap-southeast-2',
|
|
1038
|
+
'ash',
|
|
1039
|
+
'asia-east1',
|
|
1040
|
+
'asia-east2',
|
|
1041
|
+
'asia-northeast1',
|
|
1042
|
+
'asia-northeast2',
|
|
1043
|
+
'asia-northeast3',
|
|
1044
|
+
'asia-south1',
|
|
1045
|
+
'asia-south2',
|
|
1046
|
+
'asia-southeast1',
|
|
1047
|
+
'asia-southeast2',
|
|
1048
|
+
'australia-southeast1',
|
|
1049
|
+
'australia-southeast2',
|
|
1050
|
+
'ca-central-1',
|
|
1051
|
+
'eu-central-1',
|
|
1052
|
+
'eu-central-2',
|
|
1053
|
+
'eu-north-1',
|
|
1054
|
+
'eu-west-1',
|
|
1055
|
+
'eu-west-2',
|
|
1056
|
+
'eu-west-3',
|
|
1057
|
+
'europe-central2',
|
|
1058
|
+
'europe-north1',
|
|
1059
|
+
'europe-southwest1',
|
|
1060
|
+
'europe-west1',
|
|
1061
|
+
'europe-west10',
|
|
1062
|
+
'europe-west12',
|
|
1063
|
+
'europe-west2',
|
|
1064
|
+
'europe-west3',
|
|
1065
|
+
'europe-west4',
|
|
1066
|
+
'europe-west6',
|
|
1067
|
+
'europe-west8',
|
|
1068
|
+
'europe-west9',
|
|
1069
|
+
'fsn1',
|
|
1070
|
+
'hel1',
|
|
1071
|
+
'hil',
|
|
1072
|
+
'me-central1',
|
|
1073
|
+
'me-central2',
|
|
1074
|
+
'me-west1',
|
|
1075
|
+
'nbg1',
|
|
1076
|
+
'northamerica-northeast1',
|
|
1077
|
+
'northamerica-northeast2',
|
|
1078
|
+
'sa-east-1',
|
|
1079
|
+
'sin',
|
|
1080
|
+
'southamerica-east1',
|
|
1081
|
+
'southamerica-west1',
|
|
1082
|
+
'us-central1',
|
|
1083
|
+
'us-east-1',
|
|
1084
|
+
'us-east-2',
|
|
1085
|
+
'us-east1',
|
|
1086
|
+
'us-east4',
|
|
1087
|
+
'us-east5',
|
|
1088
|
+
'us-south1',
|
|
1089
|
+
'us-west-1',
|
|
1090
|
+
'us-west-2',
|
|
1091
|
+
'us-west1',
|
|
1092
|
+
'us-west2',
|
|
1093
|
+
'us-west3',
|
|
1094
|
+
'us-west4'
|
|
1095
|
+
]
|
|
1096
|
+
},
|
|
1097
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
1098
|
+
}
|
|
1099
|
+
},
|
|
1100
|
+
additionalProperties: false,
|
|
1101
|
+
description: 'Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together. Omit a field to place no restriction on that key.'
|
|
1102
|
+
},
|
|
1103
|
+
scalingProfile: {
|
|
1104
|
+
type: 'string',
|
|
1105
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
|
|
1106
|
+
default: 'conservative',
|
|
1107
|
+
example: 'conservative',
|
|
1108
|
+
enum: [
|
|
1109
|
+
'aggressive',
|
|
1110
|
+
'conservative'
|
|
1111
|
+
]
|
|
1112
|
+
},
|
|
273
1113
|
id: {
|
|
274
1114
|
type: 'string',
|
|
275
1115
|
maxLength: 63,
|
|
@@ -277,14 +1117,11 @@ export const FleetCreateInputSchema = {
|
|
|
277
1117
|
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
278
1118
|
description: 'Unique identifier of the kubernetes fleet.',
|
|
279
1119
|
example: 'new-clouds-fleet'
|
|
280
|
-
},
|
|
281
|
-
type: {
|
|
282
|
-
type: 'string',
|
|
283
|
-
description: 'Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.',
|
|
284
|
-
enum: ['managed', 'connected']
|
|
285
1120
|
}
|
|
286
1121
|
},
|
|
287
|
-
required: [
|
|
1122
|
+
required: [
|
|
1123
|
+
'id'
|
|
1124
|
+
],
|
|
288
1125
|
additionalProperties: false
|
|
289
1126
|
};
|
|
290
1127
|
export const FleetSchema = {
|
|
@@ -294,13 +1131,12 @@ export const FleetSchema = {
|
|
|
294
1131
|
type: 'object',
|
|
295
1132
|
properties: {
|
|
296
1133
|
cpu: {
|
|
297
|
-
type: '
|
|
298
|
-
format: 'float',
|
|
1134
|
+
type: 'integer',
|
|
299
1135
|
minimum: 0,
|
|
300
|
-
|
|
1136
|
+
maximum: 100000,
|
|
1137
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
301
1138
|
}
|
|
302
1139
|
},
|
|
303
|
-
required: ['cpu'],
|
|
304
1140
|
additionalProperties: false,
|
|
305
1141
|
description: 'Limits define a set of bounds for provisioning capacity.'
|
|
306
1142
|
},
|
|
@@ -308,62 +1144,343 @@ export const FleetSchema = {
|
|
|
308
1144
|
type: 'object',
|
|
309
1145
|
properties: {
|
|
310
1146
|
enabled: {
|
|
311
|
-
type: 'boolean'
|
|
312
|
-
default: true
|
|
1147
|
+
type: 'boolean'
|
|
313
1148
|
},
|
|
314
1149
|
project: {
|
|
315
1150
|
type: 'string',
|
|
316
|
-
|
|
1151
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
1152
|
+
description: 'GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.',
|
|
1153
|
+
example: 'my-cloudfleet-project'
|
|
317
1154
|
}
|
|
318
1155
|
},
|
|
319
|
-
required: [
|
|
1156
|
+
required: [
|
|
1157
|
+
'enabled'
|
|
1158
|
+
],
|
|
320
1159
|
additionalProperties: false
|
|
321
1160
|
},
|
|
322
1161
|
hetzner: {
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
enabled: {
|
|
328
|
-
type: 'boolean',
|
|
329
|
-
default: true
|
|
330
|
-
},
|
|
331
|
-
apiKey: {
|
|
332
|
-
type: 'string'
|
|
333
|
-
}
|
|
334
|
-
},
|
|
335
|
-
additionalProperties: false
|
|
1162
|
+
type: 'object',
|
|
1163
|
+
properties: {
|
|
1164
|
+
enabled: {
|
|
1165
|
+
type: 'boolean'
|
|
336
1166
|
},
|
|
337
|
-
{
|
|
338
|
-
type: '
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
type: 'string'
|
|
342
|
-
},
|
|
343
|
-
enabled: {
|
|
344
|
-
type: 'boolean',
|
|
345
|
-
default: true
|
|
346
|
-
}
|
|
347
|
-
},
|
|
348
|
-
additionalProperties: false
|
|
1167
|
+
apiKey: {
|
|
1168
|
+
type: 'string',
|
|
1169
|
+
pattern: '^\\*{64}$',
|
|
1170
|
+
description: 'Redacted Hetzner API token. Returned as 64 asterisks when a token is configured; omitted otherwise. The real value is never echoed by the API.'
|
|
349
1171
|
}
|
|
350
|
-
|
|
1172
|
+
},
|
|
1173
|
+
required: [
|
|
1174
|
+
'enabled'
|
|
1175
|
+
],
|
|
1176
|
+
additionalProperties: false
|
|
351
1177
|
},
|
|
352
1178
|
aws: {
|
|
353
1179
|
type: 'object',
|
|
354
1180
|
properties: {
|
|
355
1181
|
enabled: {
|
|
356
|
-
type: 'boolean'
|
|
357
|
-
default: true
|
|
1182
|
+
type: 'boolean'
|
|
358
1183
|
},
|
|
359
1184
|
controllerRoleArn: {
|
|
360
1185
|
type: 'string',
|
|
361
|
-
|
|
1186
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
1187
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
1188
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
362
1189
|
}
|
|
363
1190
|
},
|
|
364
|
-
required: [
|
|
1191
|
+
required: [
|
|
1192
|
+
'enabled'
|
|
1193
|
+
],
|
|
365
1194
|
additionalProperties: false
|
|
366
1195
|
},
|
|
1196
|
+
constraints: {
|
|
1197
|
+
type: 'object',
|
|
1198
|
+
properties: {
|
|
1199
|
+
'karpenter.sh/capacity-type': {
|
|
1200
|
+
type: 'array',
|
|
1201
|
+
items: {
|
|
1202
|
+
type: 'string',
|
|
1203
|
+
enum: [
|
|
1204
|
+
'on-demand',
|
|
1205
|
+
'spot'
|
|
1206
|
+
]
|
|
1207
|
+
},
|
|
1208
|
+
minItems: 1,
|
|
1209
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.',
|
|
1210
|
+
default: [
|
|
1211
|
+
'on-demand',
|
|
1212
|
+
'spot'
|
|
1213
|
+
]
|
|
1214
|
+
},
|
|
1215
|
+
'kubernetes.io/arch': {
|
|
1216
|
+
type: 'array',
|
|
1217
|
+
items: {
|
|
1218
|
+
type: 'string',
|
|
1219
|
+
enum: [
|
|
1220
|
+
'amd64',
|
|
1221
|
+
'arm64'
|
|
1222
|
+
]
|
|
1223
|
+
},
|
|
1224
|
+
minItems: 1,
|
|
1225
|
+
description: 'Allowed values for `kubernetes.io/arch`.',
|
|
1226
|
+
default: [
|
|
1227
|
+
'amd64'
|
|
1228
|
+
]
|
|
1229
|
+
},
|
|
1230
|
+
'cfke.io/instance-family': {
|
|
1231
|
+
type: 'array',
|
|
1232
|
+
items: {
|
|
1233
|
+
type: 'string',
|
|
1234
|
+
enum: [
|
|
1235
|
+
'a1',
|
|
1236
|
+
'a2',
|
|
1237
|
+
'a3',
|
|
1238
|
+
'a4',
|
|
1239
|
+
'c1',
|
|
1240
|
+
'c2',
|
|
1241
|
+
'c2d',
|
|
1242
|
+
'c3',
|
|
1243
|
+
'c3d',
|
|
1244
|
+
'c4',
|
|
1245
|
+
'c4a',
|
|
1246
|
+
'c4d',
|
|
1247
|
+
'c5',
|
|
1248
|
+
'c5a',
|
|
1249
|
+
'c5ad',
|
|
1250
|
+
'c5d',
|
|
1251
|
+
'c5n',
|
|
1252
|
+
'c6a',
|
|
1253
|
+
'c6g',
|
|
1254
|
+
'c6gd',
|
|
1255
|
+
'c6gn',
|
|
1256
|
+
'c6i',
|
|
1257
|
+
'c6id',
|
|
1258
|
+
'c6in',
|
|
1259
|
+
'c7a',
|
|
1260
|
+
'c7g',
|
|
1261
|
+
'c7gd',
|
|
1262
|
+
'c7gn',
|
|
1263
|
+
'c7i',
|
|
1264
|
+
'c7i-flex',
|
|
1265
|
+
'c8g',
|
|
1266
|
+
'c8gd',
|
|
1267
|
+
'cax',
|
|
1268
|
+
'ccx',
|
|
1269
|
+
'cpx',
|
|
1270
|
+
'cx',
|
|
1271
|
+
'd2',
|
|
1272
|
+
'd3',
|
|
1273
|
+
'd3en',
|
|
1274
|
+
'dl1',
|
|
1275
|
+
'dl2q',
|
|
1276
|
+
'e2',
|
|
1277
|
+
'f1',
|
|
1278
|
+
'f2',
|
|
1279
|
+
'g1',
|
|
1280
|
+
'g2',
|
|
1281
|
+
'g4ad',
|
|
1282
|
+
'g4dn',
|
|
1283
|
+
'g5',
|
|
1284
|
+
'g5g',
|
|
1285
|
+
'g6',
|
|
1286
|
+
'g6e',
|
|
1287
|
+
'gr6',
|
|
1288
|
+
'h1',
|
|
1289
|
+
'h3',
|
|
1290
|
+
'hpc6a',
|
|
1291
|
+
'hpc6id',
|
|
1292
|
+
'hpc7a',
|
|
1293
|
+
'hpc7g',
|
|
1294
|
+
'i2',
|
|
1295
|
+
'i3',
|
|
1296
|
+
'i3en',
|
|
1297
|
+
'i4g',
|
|
1298
|
+
'i4i',
|
|
1299
|
+
'i7i',
|
|
1300
|
+
'i7ie',
|
|
1301
|
+
'i8g',
|
|
1302
|
+
'im4gn',
|
|
1303
|
+
'inf1',
|
|
1304
|
+
'inf2',
|
|
1305
|
+
'is4gen',
|
|
1306
|
+
'm1',
|
|
1307
|
+
'm2',
|
|
1308
|
+
'm3',
|
|
1309
|
+
'm4',
|
|
1310
|
+
'm5',
|
|
1311
|
+
'm5a',
|
|
1312
|
+
'm5ad',
|
|
1313
|
+
'm5d',
|
|
1314
|
+
'm5dn',
|
|
1315
|
+
'm5n',
|
|
1316
|
+
'm5zn',
|
|
1317
|
+
'm6a',
|
|
1318
|
+
'm6g',
|
|
1319
|
+
'm6gd',
|
|
1320
|
+
'm6i',
|
|
1321
|
+
'm6id',
|
|
1322
|
+
'm6idn',
|
|
1323
|
+
'm6in',
|
|
1324
|
+
'm7a',
|
|
1325
|
+
'm7g',
|
|
1326
|
+
'm7gd',
|
|
1327
|
+
'm7i',
|
|
1328
|
+
'm7i-flex',
|
|
1329
|
+
'm8g',
|
|
1330
|
+
'm8gd',
|
|
1331
|
+
'n1',
|
|
1332
|
+
'n2',
|
|
1333
|
+
'n2d',
|
|
1334
|
+
'n4',
|
|
1335
|
+
'p3',
|
|
1336
|
+
'p3dn',
|
|
1337
|
+
'p4d',
|
|
1338
|
+
'p4de',
|
|
1339
|
+
'p5',
|
|
1340
|
+
'p5e',
|
|
1341
|
+
'p5en',
|
|
1342
|
+
'p6-b200',
|
|
1343
|
+
'r3',
|
|
1344
|
+
'r4',
|
|
1345
|
+
'r5',
|
|
1346
|
+
'r5a',
|
|
1347
|
+
'r5ad',
|
|
1348
|
+
'r5b',
|
|
1349
|
+
'r5d',
|
|
1350
|
+
'r5dn',
|
|
1351
|
+
'r5n',
|
|
1352
|
+
'r6a',
|
|
1353
|
+
'r6g',
|
|
1354
|
+
'r6gd',
|
|
1355
|
+
'r6i',
|
|
1356
|
+
'r6id',
|
|
1357
|
+
'r6idn',
|
|
1358
|
+
'r6in',
|
|
1359
|
+
'r7a',
|
|
1360
|
+
'r7g',
|
|
1361
|
+
'r7gd',
|
|
1362
|
+
'r7i',
|
|
1363
|
+
'r7iz',
|
|
1364
|
+
'r8g',
|
|
1365
|
+
'r8gd',
|
|
1366
|
+
't2',
|
|
1367
|
+
't2a',
|
|
1368
|
+
't2d',
|
|
1369
|
+
't3',
|
|
1370
|
+
't3a',
|
|
1371
|
+
't4g',
|
|
1372
|
+
'trn1',
|
|
1373
|
+
'trn1n',
|
|
1374
|
+
'u-3tb1',
|
|
1375
|
+
'u-6tb1',
|
|
1376
|
+
'u7i-12tb',
|
|
1377
|
+
'u7i-6tb',
|
|
1378
|
+
'u7i-8tb',
|
|
1379
|
+
'u7in-16tb',
|
|
1380
|
+
'u7in-24tb',
|
|
1381
|
+
'u7in-32tb',
|
|
1382
|
+
'vt1',
|
|
1383
|
+
'x1',
|
|
1384
|
+
'x1e',
|
|
1385
|
+
'x2gd',
|
|
1386
|
+
'x2idn',
|
|
1387
|
+
'x2iedn',
|
|
1388
|
+
'x2iezn',
|
|
1389
|
+
'x4',
|
|
1390
|
+
'x8g',
|
|
1391
|
+
'z1d',
|
|
1392
|
+
'z3'
|
|
1393
|
+
]
|
|
1394
|
+
},
|
|
1395
|
+
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
1396
|
+
},
|
|
1397
|
+
'topology.kubernetes.io/region': {
|
|
1398
|
+
type: 'array',
|
|
1399
|
+
items: {
|
|
1400
|
+
type: 'string',
|
|
1401
|
+
enum: [
|
|
1402
|
+
'africa-south1',
|
|
1403
|
+
'ap-northeast-1',
|
|
1404
|
+
'ap-northeast-2',
|
|
1405
|
+
'ap-northeast-3',
|
|
1406
|
+
'ap-south-1',
|
|
1407
|
+
'ap-southeast-1',
|
|
1408
|
+
'ap-southeast-2',
|
|
1409
|
+
'ash',
|
|
1410
|
+
'asia-east1',
|
|
1411
|
+
'asia-east2',
|
|
1412
|
+
'asia-northeast1',
|
|
1413
|
+
'asia-northeast2',
|
|
1414
|
+
'asia-northeast3',
|
|
1415
|
+
'asia-south1',
|
|
1416
|
+
'asia-south2',
|
|
1417
|
+
'asia-southeast1',
|
|
1418
|
+
'asia-southeast2',
|
|
1419
|
+
'australia-southeast1',
|
|
1420
|
+
'australia-southeast2',
|
|
1421
|
+
'ca-central-1',
|
|
1422
|
+
'eu-central-1',
|
|
1423
|
+
'eu-central-2',
|
|
1424
|
+
'eu-north-1',
|
|
1425
|
+
'eu-west-1',
|
|
1426
|
+
'eu-west-2',
|
|
1427
|
+
'eu-west-3',
|
|
1428
|
+
'europe-central2',
|
|
1429
|
+
'europe-north1',
|
|
1430
|
+
'europe-southwest1',
|
|
1431
|
+
'europe-west1',
|
|
1432
|
+
'europe-west10',
|
|
1433
|
+
'europe-west12',
|
|
1434
|
+
'europe-west2',
|
|
1435
|
+
'europe-west3',
|
|
1436
|
+
'europe-west4',
|
|
1437
|
+
'europe-west6',
|
|
1438
|
+
'europe-west8',
|
|
1439
|
+
'europe-west9',
|
|
1440
|
+
'fsn1',
|
|
1441
|
+
'hel1',
|
|
1442
|
+
'hil',
|
|
1443
|
+
'me-central1',
|
|
1444
|
+
'me-central2',
|
|
1445
|
+
'me-west1',
|
|
1446
|
+
'nbg1',
|
|
1447
|
+
'northamerica-northeast1',
|
|
1448
|
+
'northamerica-northeast2',
|
|
1449
|
+
'sa-east-1',
|
|
1450
|
+
'sin',
|
|
1451
|
+
'southamerica-east1',
|
|
1452
|
+
'southamerica-west1',
|
|
1453
|
+
'us-central1',
|
|
1454
|
+
'us-east-1',
|
|
1455
|
+
'us-east-2',
|
|
1456
|
+
'us-east1',
|
|
1457
|
+
'us-east4',
|
|
1458
|
+
'us-east5',
|
|
1459
|
+
'us-south1',
|
|
1460
|
+
'us-west-1',
|
|
1461
|
+
'us-west-2',
|
|
1462
|
+
'us-west1',
|
|
1463
|
+
'us-west2',
|
|
1464
|
+
'us-west3',
|
|
1465
|
+
'us-west4'
|
|
1466
|
+
]
|
|
1467
|
+
},
|
|
1468
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
1469
|
+
}
|
|
1470
|
+
},
|
|
1471
|
+
additionalProperties: false,
|
|
1472
|
+
description: 'Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together. Omit a field to place no restriction on that key.'
|
|
1473
|
+
},
|
|
1474
|
+
scalingProfile: {
|
|
1475
|
+
type: 'string',
|
|
1476
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
|
|
1477
|
+
default: 'conservative',
|
|
1478
|
+
example: 'conservative',
|
|
1479
|
+
enum: [
|
|
1480
|
+
'aggressive',
|
|
1481
|
+
'conservative'
|
|
1482
|
+
]
|
|
1483
|
+
},
|
|
367
1484
|
id: {
|
|
368
1485
|
type: 'string',
|
|
369
1486
|
maxLength: 63,
|
|
@@ -371,14 +1488,12 @@ export const FleetSchema = {
|
|
|
371
1488
|
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
372
1489
|
description: 'Unique identifier of the kubernetes fleet.',
|
|
373
1490
|
example: 'new-clouds-fleet'
|
|
374
|
-
},
|
|
375
|
-
type: {
|
|
376
|
-
type: 'string',
|
|
377
|
-
description: 'Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.',
|
|
378
|
-
enum: ['managed', 'connected']
|
|
379
1491
|
}
|
|
380
1492
|
},
|
|
381
|
-
required: [
|
|
1493
|
+
required: [
|
|
1494
|
+
'scalingProfile',
|
|
1495
|
+
'id'
|
|
1496
|
+
],
|
|
382
1497
|
additionalProperties: false
|
|
383
1498
|
};
|
|
384
1499
|
export const FleetUpdateInputSchema = {
|
|
@@ -388,13 +1503,12 @@ export const FleetUpdateInputSchema = {
|
|
|
388
1503
|
type: 'object',
|
|
389
1504
|
properties: {
|
|
390
1505
|
cpu: {
|
|
391
|
-
type: '
|
|
392
|
-
format: 'float',
|
|
1506
|
+
type: 'integer',
|
|
393
1507
|
minimum: 0,
|
|
394
|
-
|
|
1508
|
+
maximum: 100000,
|
|
1509
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
395
1510
|
}
|
|
396
1511
|
},
|
|
397
|
-
required: ['cpu'],
|
|
398
1512
|
additionalProperties: false,
|
|
399
1513
|
description: 'Limits define a set of bounds for provisioning capacity.'
|
|
400
1514
|
},
|
|
@@ -402,1177 +1516,1739 @@ export const FleetUpdateInputSchema = {
|
|
|
402
1516
|
type: 'object',
|
|
403
1517
|
properties: {
|
|
404
1518
|
enabled: {
|
|
405
|
-
type: 'boolean'
|
|
406
|
-
default: true
|
|
1519
|
+
type: 'boolean'
|
|
407
1520
|
},
|
|
408
1521
|
project: {
|
|
409
1522
|
type: 'string',
|
|
410
|
-
|
|
1523
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
1524
|
+
description: 'GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.',
|
|
1525
|
+
example: 'my-cloudfleet-project'
|
|
411
1526
|
}
|
|
412
1527
|
},
|
|
413
|
-
required: [
|
|
1528
|
+
required: [
|
|
1529
|
+
'enabled'
|
|
1530
|
+
],
|
|
414
1531
|
additionalProperties: false
|
|
415
1532
|
},
|
|
416
1533
|
hetzner: {
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
enabled: {
|
|
422
|
-
type: 'boolean',
|
|
423
|
-
default: true
|
|
424
|
-
},
|
|
425
|
-
apiKey: {
|
|
426
|
-
type: 'string'
|
|
427
|
-
}
|
|
428
|
-
},
|
|
429
|
-
additionalProperties: false
|
|
1534
|
+
type: 'object',
|
|
1535
|
+
properties: {
|
|
1536
|
+
enabled: {
|
|
1537
|
+
type: 'boolean'
|
|
430
1538
|
},
|
|
431
|
-
{
|
|
432
|
-
type: '
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
enabled: {
|
|
438
|
-
type: 'boolean',
|
|
439
|
-
default: true
|
|
440
|
-
}
|
|
441
|
-
},
|
|
442
|
-
additionalProperties: false
|
|
1539
|
+
apiKey: {
|
|
1540
|
+
type: 'string',
|
|
1541
|
+
maxLength: 64,
|
|
1542
|
+
minLength: 64,
|
|
1543
|
+
pattern: '^[A-Za-z0-9]+$',
|
|
1544
|
+
description: 'Hetzner Cloud API token with read / write access (64 alphanumeric characters). Omit this field to keep the existing value.'
|
|
443
1545
|
}
|
|
444
|
-
|
|
1546
|
+
},
|
|
1547
|
+
required: [
|
|
1548
|
+
'enabled'
|
|
1549
|
+
],
|
|
1550
|
+
additionalProperties: false
|
|
445
1551
|
},
|
|
446
1552
|
aws: {
|
|
447
1553
|
type: 'object',
|
|
448
1554
|
properties: {
|
|
449
1555
|
enabled: {
|
|
450
|
-
type: 'boolean'
|
|
451
|
-
default: true
|
|
1556
|
+
type: 'boolean'
|
|
452
1557
|
},
|
|
453
1558
|
controllerRoleArn: {
|
|
454
1559
|
type: 'string',
|
|
455
|
-
|
|
1560
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
1561
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
1562
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
456
1563
|
}
|
|
457
1564
|
},
|
|
458
|
-
required: [
|
|
1565
|
+
required: [
|
|
1566
|
+
'enabled'
|
|
1567
|
+
],
|
|
459
1568
|
additionalProperties: false
|
|
1569
|
+
},
|
|
1570
|
+
constraints: {
|
|
1571
|
+
type: 'object',
|
|
1572
|
+
properties: {
|
|
1573
|
+
'karpenter.sh/capacity-type': {
|
|
1574
|
+
type: 'array',
|
|
1575
|
+
items: {
|
|
1576
|
+
type: 'string',
|
|
1577
|
+
enum: [
|
|
1578
|
+
'on-demand',
|
|
1579
|
+
'spot'
|
|
1580
|
+
]
|
|
1581
|
+
},
|
|
1582
|
+
minItems: 1,
|
|
1583
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.'
|
|
1584
|
+
},
|
|
1585
|
+
'kubernetes.io/arch': {
|
|
1586
|
+
type: 'array',
|
|
1587
|
+
items: {
|
|
1588
|
+
type: 'string',
|
|
1589
|
+
enum: [
|
|
1590
|
+
'amd64',
|
|
1591
|
+
'arm64'
|
|
1592
|
+
]
|
|
1593
|
+
},
|
|
1594
|
+
minItems: 1,
|
|
1595
|
+
description: 'Allowed values for `kubernetes.io/arch`.'
|
|
1596
|
+
},
|
|
1597
|
+
'cfke.io/instance-family': {
|
|
1598
|
+
type: 'array',
|
|
1599
|
+
items: {
|
|
1600
|
+
type: 'string',
|
|
1601
|
+
enum: [
|
|
1602
|
+
'a1',
|
|
1603
|
+
'a2',
|
|
1604
|
+
'a3',
|
|
1605
|
+
'a4',
|
|
1606
|
+
'c1',
|
|
1607
|
+
'c2',
|
|
1608
|
+
'c2d',
|
|
1609
|
+
'c3',
|
|
1610
|
+
'c3d',
|
|
1611
|
+
'c4',
|
|
1612
|
+
'c4a',
|
|
1613
|
+
'c4d',
|
|
1614
|
+
'c5',
|
|
1615
|
+
'c5a',
|
|
1616
|
+
'c5ad',
|
|
1617
|
+
'c5d',
|
|
1618
|
+
'c5n',
|
|
1619
|
+
'c6a',
|
|
1620
|
+
'c6g',
|
|
1621
|
+
'c6gd',
|
|
1622
|
+
'c6gn',
|
|
1623
|
+
'c6i',
|
|
1624
|
+
'c6id',
|
|
1625
|
+
'c6in',
|
|
1626
|
+
'c7a',
|
|
1627
|
+
'c7g',
|
|
1628
|
+
'c7gd',
|
|
1629
|
+
'c7gn',
|
|
1630
|
+
'c7i',
|
|
1631
|
+
'c7i-flex',
|
|
1632
|
+
'c8g',
|
|
1633
|
+
'c8gd',
|
|
1634
|
+
'cax',
|
|
1635
|
+
'ccx',
|
|
1636
|
+
'cpx',
|
|
1637
|
+
'cx',
|
|
1638
|
+
'd2',
|
|
1639
|
+
'd3',
|
|
1640
|
+
'd3en',
|
|
1641
|
+
'dl1',
|
|
1642
|
+
'dl2q',
|
|
1643
|
+
'e2',
|
|
1644
|
+
'f1',
|
|
1645
|
+
'f2',
|
|
1646
|
+
'g1',
|
|
1647
|
+
'g2',
|
|
1648
|
+
'g4ad',
|
|
1649
|
+
'g4dn',
|
|
1650
|
+
'g5',
|
|
1651
|
+
'g5g',
|
|
1652
|
+
'g6',
|
|
1653
|
+
'g6e',
|
|
1654
|
+
'gr6',
|
|
1655
|
+
'h1',
|
|
1656
|
+
'h3',
|
|
1657
|
+
'hpc6a',
|
|
1658
|
+
'hpc6id',
|
|
1659
|
+
'hpc7a',
|
|
1660
|
+
'hpc7g',
|
|
1661
|
+
'i2',
|
|
1662
|
+
'i3',
|
|
1663
|
+
'i3en',
|
|
1664
|
+
'i4g',
|
|
1665
|
+
'i4i',
|
|
1666
|
+
'i7i',
|
|
1667
|
+
'i7ie',
|
|
1668
|
+
'i8g',
|
|
1669
|
+
'im4gn',
|
|
1670
|
+
'inf1',
|
|
1671
|
+
'inf2',
|
|
1672
|
+
'is4gen',
|
|
1673
|
+
'm1',
|
|
1674
|
+
'm2',
|
|
1675
|
+
'm3',
|
|
1676
|
+
'm4',
|
|
1677
|
+
'm5',
|
|
1678
|
+
'm5a',
|
|
1679
|
+
'm5ad',
|
|
1680
|
+
'm5d',
|
|
1681
|
+
'm5dn',
|
|
1682
|
+
'm5n',
|
|
1683
|
+
'm5zn',
|
|
1684
|
+
'm6a',
|
|
1685
|
+
'm6g',
|
|
1686
|
+
'm6gd',
|
|
1687
|
+
'm6i',
|
|
1688
|
+
'm6id',
|
|
1689
|
+
'm6idn',
|
|
1690
|
+
'm6in',
|
|
1691
|
+
'm7a',
|
|
1692
|
+
'm7g',
|
|
1693
|
+
'm7gd',
|
|
1694
|
+
'm7i',
|
|
1695
|
+
'm7i-flex',
|
|
1696
|
+
'm8g',
|
|
1697
|
+
'm8gd',
|
|
1698
|
+
'n1',
|
|
1699
|
+
'n2',
|
|
1700
|
+
'n2d',
|
|
1701
|
+
'n4',
|
|
1702
|
+
'p3',
|
|
1703
|
+
'p3dn',
|
|
1704
|
+
'p4d',
|
|
1705
|
+
'p4de',
|
|
1706
|
+
'p5',
|
|
1707
|
+
'p5e',
|
|
1708
|
+
'p5en',
|
|
1709
|
+
'p6-b200',
|
|
1710
|
+
'r3',
|
|
1711
|
+
'r4',
|
|
1712
|
+
'r5',
|
|
1713
|
+
'r5a',
|
|
1714
|
+
'r5ad',
|
|
1715
|
+
'r5b',
|
|
1716
|
+
'r5d',
|
|
1717
|
+
'r5dn',
|
|
1718
|
+
'r5n',
|
|
1719
|
+
'r6a',
|
|
1720
|
+
'r6g',
|
|
1721
|
+
'r6gd',
|
|
1722
|
+
'r6i',
|
|
1723
|
+
'r6id',
|
|
1724
|
+
'r6idn',
|
|
1725
|
+
'r6in',
|
|
1726
|
+
'r7a',
|
|
1727
|
+
'r7g',
|
|
1728
|
+
'r7gd',
|
|
1729
|
+
'r7i',
|
|
1730
|
+
'r7iz',
|
|
1731
|
+
'r8g',
|
|
1732
|
+
'r8gd',
|
|
1733
|
+
't2',
|
|
1734
|
+
't2a',
|
|
1735
|
+
't2d',
|
|
1736
|
+
't3',
|
|
1737
|
+
't3a',
|
|
1738
|
+
't4g',
|
|
1739
|
+
'trn1',
|
|
1740
|
+
'trn1n',
|
|
1741
|
+
'u-3tb1',
|
|
1742
|
+
'u-6tb1',
|
|
1743
|
+
'u7i-12tb',
|
|
1744
|
+
'u7i-6tb',
|
|
1745
|
+
'u7i-8tb',
|
|
1746
|
+
'u7in-16tb',
|
|
1747
|
+
'u7in-24tb',
|
|
1748
|
+
'u7in-32tb',
|
|
1749
|
+
'vt1',
|
|
1750
|
+
'x1',
|
|
1751
|
+
'x1e',
|
|
1752
|
+
'x2gd',
|
|
1753
|
+
'x2idn',
|
|
1754
|
+
'x2iedn',
|
|
1755
|
+
'x2iezn',
|
|
1756
|
+
'x4',
|
|
1757
|
+
'x8g',
|
|
1758
|
+
'z1d',
|
|
1759
|
+
'z3'
|
|
1760
|
+
]
|
|
1761
|
+
},
|
|
1762
|
+
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
1763
|
+
},
|
|
1764
|
+
'topology.kubernetes.io/region': {
|
|
1765
|
+
type: 'array',
|
|
1766
|
+
items: {
|
|
1767
|
+
type: 'string',
|
|
1768
|
+
enum: [
|
|
1769
|
+
'africa-south1',
|
|
1770
|
+
'ap-northeast-1',
|
|
1771
|
+
'ap-northeast-2',
|
|
1772
|
+
'ap-northeast-3',
|
|
1773
|
+
'ap-south-1',
|
|
1774
|
+
'ap-southeast-1',
|
|
1775
|
+
'ap-southeast-2',
|
|
1776
|
+
'ash',
|
|
1777
|
+
'asia-east1',
|
|
1778
|
+
'asia-east2',
|
|
1779
|
+
'asia-northeast1',
|
|
1780
|
+
'asia-northeast2',
|
|
1781
|
+
'asia-northeast3',
|
|
1782
|
+
'asia-south1',
|
|
1783
|
+
'asia-south2',
|
|
1784
|
+
'asia-southeast1',
|
|
1785
|
+
'asia-southeast2',
|
|
1786
|
+
'australia-southeast1',
|
|
1787
|
+
'australia-southeast2',
|
|
1788
|
+
'ca-central-1',
|
|
1789
|
+
'eu-central-1',
|
|
1790
|
+
'eu-central-2',
|
|
1791
|
+
'eu-north-1',
|
|
1792
|
+
'eu-west-1',
|
|
1793
|
+
'eu-west-2',
|
|
1794
|
+
'eu-west-3',
|
|
1795
|
+
'europe-central2',
|
|
1796
|
+
'europe-north1',
|
|
1797
|
+
'europe-southwest1',
|
|
1798
|
+
'europe-west1',
|
|
1799
|
+
'europe-west10',
|
|
1800
|
+
'europe-west12',
|
|
1801
|
+
'europe-west2',
|
|
1802
|
+
'europe-west3',
|
|
1803
|
+
'europe-west4',
|
|
1804
|
+
'europe-west6',
|
|
1805
|
+
'europe-west8',
|
|
1806
|
+
'europe-west9',
|
|
1807
|
+
'fsn1',
|
|
1808
|
+
'hel1',
|
|
1809
|
+
'hil',
|
|
1810
|
+
'me-central1',
|
|
1811
|
+
'me-central2',
|
|
1812
|
+
'me-west1',
|
|
1813
|
+
'nbg1',
|
|
1814
|
+
'northamerica-northeast1',
|
|
1815
|
+
'northamerica-northeast2',
|
|
1816
|
+
'sa-east-1',
|
|
1817
|
+
'sin',
|
|
1818
|
+
'southamerica-east1',
|
|
1819
|
+
'southamerica-west1',
|
|
1820
|
+
'us-central1',
|
|
1821
|
+
'us-east-1',
|
|
1822
|
+
'us-east-2',
|
|
1823
|
+
'us-east1',
|
|
1824
|
+
'us-east4',
|
|
1825
|
+
'us-east5',
|
|
1826
|
+
'us-south1',
|
|
1827
|
+
'us-west-1',
|
|
1828
|
+
'us-west-2',
|
|
1829
|
+
'us-west1',
|
|
1830
|
+
'us-west2',
|
|
1831
|
+
'us-west3',
|
|
1832
|
+
'us-west4'
|
|
1833
|
+
]
|
|
1834
|
+
},
|
|
1835
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
1836
|
+
}
|
|
1837
|
+
},
|
|
1838
|
+
additionalProperties: false,
|
|
1839
|
+
description: 'Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together. Omit a field to place no restriction on that key.'
|
|
1840
|
+
},
|
|
1841
|
+
scalingProfile: {
|
|
1842
|
+
type: 'string',
|
|
1843
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
|
|
1844
|
+
example: 'conservative',
|
|
1845
|
+
enum: [
|
|
1846
|
+
'aggressive',
|
|
1847
|
+
'conservative'
|
|
1848
|
+
]
|
|
460
1849
|
}
|
|
461
1850
|
},
|
|
1851
|
+
required: [
|
|
1852
|
+
'scalingProfile'
|
|
1853
|
+
],
|
|
462
1854
|
additionalProperties: false
|
|
463
1855
|
};
|
|
464
|
-
export const
|
|
1856
|
+
export const InviteSchema = {
|
|
465
1857
|
type: 'object',
|
|
466
1858
|
properties: {
|
|
467
|
-
|
|
468
|
-
type: '
|
|
469
|
-
description: '
|
|
470
|
-
|
|
471
|
-
example: 1,
|
|
472
|
-
enum: [1]
|
|
473
|
-
},
|
|
474
|
-
provider: {
|
|
475
|
-
type: 'array',
|
|
476
|
-
items: {
|
|
477
|
-
type: 'string'
|
|
478
|
-
},
|
|
479
|
-
description: 'Limit selection of cloud providers to this list. For the full list of supported providers, see [Providers](https://cloudfleet.ai/docs/cloud-infrastructure/providers/)',
|
|
480
|
-
example: 'AWS'
|
|
481
|
-
},
|
|
482
|
-
region: {
|
|
483
|
-
type: 'array',
|
|
484
|
-
items: {
|
|
485
|
-
type: 'string'
|
|
486
|
-
},
|
|
487
|
-
description: 'Limits selection of cloud regions to this list of Cloudfleet regions. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)',
|
|
488
|
-
example: 'northamerica'
|
|
489
|
-
},
|
|
490
|
-
sub_region: {
|
|
491
|
-
type: 'array',
|
|
492
|
-
items: {
|
|
493
|
-
type: 'string'
|
|
494
|
-
},
|
|
495
|
-
description: 'Limits selection of cloud regions to this list of Cloudfleet regions. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)',
|
|
496
|
-
example: 'west'
|
|
497
|
-
},
|
|
498
|
-
csp_region: {
|
|
499
|
-
type: 'array',
|
|
500
|
-
items: {
|
|
501
|
-
type: 'string'
|
|
502
|
-
},
|
|
503
|
-
description: 'Limits selection of cloud regions to this list of canonical provider regions',
|
|
504
|
-
example: 'eu-west-1'
|
|
1859
|
+
id: {
|
|
1860
|
+
type: 'string',
|
|
1861
|
+
description: 'Unique identifier of the invitation.',
|
|
1862
|
+
example: '65831dd20d20165489cbb868'
|
|
505
1863
|
},
|
|
506
|
-
|
|
507
|
-
type: '
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
description: 'Limits selection of instance types to this list. Instance / VM type as defined by the cloud service provider',
|
|
512
|
-
example: 'p4d.24xlarge'
|
|
1864
|
+
organization_id: {
|
|
1865
|
+
type: 'string',
|
|
1866
|
+
format: 'uuid',
|
|
1867
|
+
description: 'Unique identifier of the organization the project belongs to. UUID v4 string in canonical form',
|
|
1868
|
+
example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
|
|
513
1869
|
},
|
|
514
|
-
|
|
515
|
-
type: '
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
description: "List of Normalized accelerator model names. For example, all variations of Nvidia A100 GPUs will have 'A100' as accelerator name with various memory configurations set in accelerator_memory field",
|
|
520
|
-
example: 'A100'
|
|
1870
|
+
date_created: {
|
|
1871
|
+
type: 'string',
|
|
1872
|
+
format: 'date-time',
|
|
1873
|
+
description: 'Creation date of the project. ISO 8601 date string in UTC timezone',
|
|
1874
|
+
example: '2023-11-02T16:08:14.338Z'
|
|
521
1875
|
},
|
|
522
|
-
|
|
523
|
-
type: '
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
description: "List of normalized accelerator manufacturer names. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer",
|
|
528
|
-
example: 'NVIDIA'
|
|
1876
|
+
email: {
|
|
1877
|
+
type: 'string',
|
|
1878
|
+
format: 'email',
|
|
1879
|
+
description: 'User email address.',
|
|
1880
|
+
example: 'email@example.com'
|
|
529
1881
|
},
|
|
530
|
-
|
|
531
|
-
type: '
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
1882
|
+
code: {
|
|
1883
|
+
type: 'string',
|
|
1884
|
+
description: 'Generated unique invite code.',
|
|
1885
|
+
example: '7kUZnH7nnKUFfvc4NK2KQF'
|
|
1886
|
+
}
|
|
1887
|
+
},
|
|
1888
|
+
required: [
|
|
1889
|
+
'date_created'
|
|
1890
|
+
],
|
|
1891
|
+
additionalProperties: false
|
|
1892
|
+
};
|
|
1893
|
+
export const InvoiceSchema = {
|
|
1894
|
+
type: 'object',
|
|
1895
|
+
properties: {
|
|
1896
|
+
id: {
|
|
1897
|
+
type: 'string',
|
|
1898
|
+
description: 'Unique identifier of the invoice.',
|
|
1899
|
+
example: 'in_1234567890xCrwxghOTj1234'
|
|
535
1900
|
},
|
|
536
|
-
|
|
537
|
-
type: '
|
|
538
|
-
minimum: 0,
|
|
539
|
-
description: 'Maximum number of accelerators available on the instance. Some cloud providers support shared accelerators, so the number of accelerators may be a fraction of the number of physical accelerators.',
|
|
540
|
-
example: 8
|
|
1901
|
+
number: {
|
|
1902
|
+
type: 'string'
|
|
541
1903
|
},
|
|
542
|
-
|
|
543
|
-
type: '
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
example: 40
|
|
1904
|
+
status: {
|
|
1905
|
+
type: 'string',
|
|
1906
|
+
description: 'Status of the invoice',
|
|
1907
|
+
example: 'paid'
|
|
547
1908
|
},
|
|
548
|
-
|
|
1909
|
+
total: {
|
|
549
1910
|
type: 'number',
|
|
550
1911
|
format: 'float',
|
|
551
|
-
description:
|
|
552
|
-
example:
|
|
1912
|
+
description: 'Total amount of the invoice',
|
|
1913
|
+
example: 100
|
|
553
1914
|
},
|
|
554
|
-
|
|
555
|
-
type: '
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
example: 32
|
|
1915
|
+
currency: {
|
|
1916
|
+
type: 'string',
|
|
1917
|
+
description: 'Currency of the invoice',
|
|
1918
|
+
example: 'usd'
|
|
559
1919
|
},
|
|
560
|
-
|
|
561
|
-
type: '
|
|
562
|
-
|
|
563
|
-
description: '
|
|
564
|
-
example:
|
|
1920
|
+
created: {
|
|
1921
|
+
type: 'string',
|
|
1922
|
+
format: 'date-time',
|
|
1923
|
+
description: 'Timestamp when the invoice was issued. ISO 8601 date string in the UTC timezone.',
|
|
1924
|
+
example: '2023-12-20T13:53:32.000Z'
|
|
565
1925
|
},
|
|
566
|
-
|
|
567
|
-
type: '
|
|
568
|
-
|
|
569
|
-
description: '
|
|
570
|
-
example: 32
|
|
1926
|
+
period_start: {
|
|
1927
|
+
type: 'string',
|
|
1928
|
+
format: 'date-time',
|
|
1929
|
+
description: 'Billing period start timestamp. ISO 8601 date string in the UTC timezone.',
|
|
1930
|
+
example: '2023-12-20T13:53:32.000Z'
|
|
571
1931
|
},
|
|
572
|
-
|
|
573
|
-
type: '
|
|
574
|
-
|
|
575
|
-
description: '
|
|
576
|
-
example:
|
|
1932
|
+
period_end: {
|
|
1933
|
+
type: 'string',
|
|
1934
|
+
format: 'date-time',
|
|
1935
|
+
description: 'Billing period end timestamp. ISO 8601 date string in the UTC timezone.',
|
|
1936
|
+
example: '2023-12-20T13:53:32.000Z'
|
|
577
1937
|
},
|
|
578
|
-
|
|
579
|
-
type: '
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
1938
|
+
invoice_pdf: {
|
|
1939
|
+
type: 'string'
|
|
1940
|
+
}
|
|
1941
|
+
},
|
|
1942
|
+
required: [
|
|
1943
|
+
'created',
|
|
1944
|
+
'period_start',
|
|
1945
|
+
'period_end'
|
|
1946
|
+
],
|
|
1947
|
+
additionalProperties: false
|
|
1948
|
+
};
|
|
1949
|
+
export const MarketplaceListingFilesSchema = {
|
|
1950
|
+
type: 'object',
|
|
1951
|
+
properties: {
|
|
1952
|
+
chartYaml: {
|
|
1953
|
+
type: 'string',
|
|
1954
|
+
description: 'Raw Chart.yaml content from the Helm chart',
|
|
1955
|
+
example: 'apiVersion: v2\nname: nginx-ingress\nversion: 1.18.2-cfke.45\nappVersion: 1.9.4'
|
|
584
1956
|
},
|
|
585
|
-
|
|
586
|
-
type: '
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
description: 'Maximum total storage in GiB (attached and local)',
|
|
590
|
-
example: 256
|
|
1957
|
+
valuesYaml: {
|
|
1958
|
+
type: 'string',
|
|
1959
|
+
description: 'Raw values.yaml content from the Helm chart',
|
|
1960
|
+
example: 'replicaCount: 1\nimage:\n repository: nginx\n tag: latest'
|
|
591
1961
|
},
|
|
592
|
-
|
|
593
|
-
type: '
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
example: 24
|
|
597
|
-
},
|
|
598
|
-
storage_local_max: {
|
|
599
|
-
type: 'number',
|
|
600
|
-
format: 'float',
|
|
601
|
-
description: 'Maximum volume of directly attached, block-device local storage in gibibytes (GiB)',
|
|
602
|
-
example: 128
|
|
603
|
-
},
|
|
604
|
-
price_min: {
|
|
605
|
-
type: 'number',
|
|
606
|
-
format: 'float',
|
|
607
|
-
description: 'Minimum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.',
|
|
608
|
-
example: 10
|
|
609
|
-
},
|
|
610
|
-
price_max: {
|
|
611
|
-
type: 'number',
|
|
612
|
-
format: 'float',
|
|
613
|
-
description: 'Maximum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.',
|
|
614
|
-
example: 50
|
|
1962
|
+
valuesSchemaJson: {
|
|
1963
|
+
type: 'string',
|
|
1964
|
+
description: 'JSON schema for values.yaml as a string',
|
|
1965
|
+
example: '{"type":"object","properties":{"replicaCount":{"type":"number"}}}'
|
|
615
1966
|
}
|
|
616
1967
|
},
|
|
617
1968
|
additionalProperties: false
|
|
618
1969
|
};
|
|
619
|
-
export const
|
|
1970
|
+
export const MarketplaceListingSchema = {
|
|
620
1971
|
type: 'object',
|
|
621
1972
|
properties: {
|
|
622
|
-
|
|
623
|
-
type: 'string',
|
|
624
|
-
description: 'Cloudfleet instance SKU. Has a format of <provider>-<csp_region>-<instance_type>.',
|
|
625
|
-
example: 'AWS-EU-WEST-1C-P4D.24XLARGE'
|
|
626
|
-
},
|
|
627
|
-
provider: {
|
|
628
|
-
type: 'string',
|
|
629
|
-
description: 'Normalized cloud service provider name. For the full list of supported providers, see [Providers](https://cloudfleet.ai/docs/cloud-infrastructure/providers/)',
|
|
630
|
-
example: 'AWS'
|
|
631
|
-
},
|
|
632
|
-
region: {
|
|
1973
|
+
name: {
|
|
633
1974
|
type: 'string',
|
|
634
|
-
description: '
|
|
635
|
-
example: '
|
|
1975
|
+
description: 'Name of the chart',
|
|
1976
|
+
example: 'nginx-ingress'
|
|
636
1977
|
},
|
|
637
|
-
|
|
638
|
-
type: '
|
|
639
|
-
|
|
640
|
-
|
|
1978
|
+
versions: {
|
|
1979
|
+
type: 'array',
|
|
1980
|
+
items: {
|
|
1981
|
+
type: 'string',
|
|
1982
|
+
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-]+)*))?$',
|
|
1983
|
+
description: 'Specific version of the chart',
|
|
1984
|
+
example: '1.18.2-cfke.45'
|
|
1985
|
+
},
|
|
1986
|
+
description: 'Available versions of the chart'
|
|
641
1987
|
},
|
|
642
|
-
|
|
643
|
-
type: '
|
|
644
|
-
|
|
645
|
-
|
|
1988
|
+
version_channels: {
|
|
1989
|
+
type: 'array',
|
|
1990
|
+
items: {
|
|
1991
|
+
type: 'string',
|
|
1992
|
+
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-]+)*))?$',
|
|
1993
|
+
description: 'Version channel pattern',
|
|
1994
|
+
example: '1.18.x-cfke.x'
|
|
1995
|
+
},
|
|
1996
|
+
description: 'Version channels for the chart'
|
|
646
1997
|
},
|
|
647
|
-
|
|
1998
|
+
latestVersion: {
|
|
648
1999
|
type: 'string',
|
|
649
|
-
description: '
|
|
650
|
-
example: '
|
|
2000
|
+
description: 'Latest version of the chart',
|
|
2001
|
+
example: '1.18.2-cfke.45'
|
|
651
2002
|
},
|
|
652
|
-
|
|
2003
|
+
metadata: {
|
|
2004
|
+
type: 'object',
|
|
2005
|
+
properties: {
|
|
2006
|
+
name: {
|
|
2007
|
+
type: 'string',
|
|
2008
|
+
description: 'Chart name from metadata',
|
|
2009
|
+
example: 'nginx-ingress'
|
|
2010
|
+
},
|
|
2011
|
+
version: {
|
|
2012
|
+
type: 'string',
|
|
2013
|
+
description: 'Chart version from metadata',
|
|
2014
|
+
example: '1.18.2-cfke.45'
|
|
2015
|
+
},
|
|
2016
|
+
description: {
|
|
2017
|
+
type: 'string',
|
|
2018
|
+
description: 'Chart description',
|
|
2019
|
+
example: 'NGINX Ingress Controller for Kubernetes'
|
|
2020
|
+
},
|
|
2021
|
+
appVersion: {
|
|
2022
|
+
type: 'string',
|
|
2023
|
+
description: 'Application version',
|
|
2024
|
+
example: '1.9.4'
|
|
2025
|
+
},
|
|
2026
|
+
apiVersion: {
|
|
2027
|
+
type: 'string',
|
|
2028
|
+
description: 'Helm API version',
|
|
2029
|
+
example: 'v2'
|
|
2030
|
+
},
|
|
2031
|
+
keywords: {
|
|
2032
|
+
type: 'array',
|
|
2033
|
+
items: {
|
|
2034
|
+
type: 'string'
|
|
2035
|
+
},
|
|
2036
|
+
description: 'Chart keywords',
|
|
2037
|
+
example: [
|
|
2038
|
+
'ingress',
|
|
2039
|
+
'nginx',
|
|
2040
|
+
'load-balancer'
|
|
2041
|
+
]
|
|
2042
|
+
},
|
|
2043
|
+
home: {
|
|
2044
|
+
type: 'string',
|
|
2045
|
+
description: 'Chart home URL',
|
|
2046
|
+
example: 'https://kubernetes.github.io/ingress-nginx/'
|
|
2047
|
+
},
|
|
2048
|
+
icon: {
|
|
2049
|
+
type: 'string',
|
|
2050
|
+
description: 'A URL to an SVG or PNG image to be used as an icon',
|
|
2051
|
+
example: 'https://cloudfleet.ai/images/marketplace/icons/ingress-nginx.png'
|
|
2052
|
+
},
|
|
2053
|
+
sources: {
|
|
2054
|
+
type: 'array',
|
|
2055
|
+
items: {
|
|
2056
|
+
type: 'string'
|
|
2057
|
+
},
|
|
2058
|
+
description: 'Chart source URLs',
|
|
2059
|
+
example: [
|
|
2060
|
+
'https://github.com/kubernetes/ingress-nginx'
|
|
2061
|
+
]
|
|
2062
|
+
},
|
|
2063
|
+
maintainers: {
|
|
2064
|
+
type: 'array',
|
|
2065
|
+
items: {
|
|
2066
|
+
type: 'object',
|
|
2067
|
+
properties: {
|
|
2068
|
+
name: {
|
|
2069
|
+
type: 'string',
|
|
2070
|
+
description: 'Maintainer name',
|
|
2071
|
+
example: 'NGINX Team'
|
|
2072
|
+
},
|
|
2073
|
+
email: {
|
|
2074
|
+
type: 'string',
|
|
2075
|
+
description: 'Maintainer email',
|
|
2076
|
+
example: 'support@nginx.org'
|
|
2077
|
+
}
|
|
2078
|
+
},
|
|
2079
|
+
required: [
|
|
2080
|
+
'name'
|
|
2081
|
+
],
|
|
2082
|
+
additionalProperties: false
|
|
2083
|
+
},
|
|
2084
|
+
description: 'Chart maintainers'
|
|
2085
|
+
}
|
|
2086
|
+
},
|
|
2087
|
+
required: [
|
|
2088
|
+
'name',
|
|
2089
|
+
'version'
|
|
2090
|
+
],
|
|
2091
|
+
additionalProperties: false,
|
|
2092
|
+
description: 'Chart metadata'
|
|
2093
|
+
}
|
|
2094
|
+
},
|
|
2095
|
+
required: [
|
|
2096
|
+
'name',
|
|
2097
|
+
'versions',
|
|
2098
|
+
'version_channels',
|
|
2099
|
+
'latestVersion'
|
|
2100
|
+
],
|
|
2101
|
+
additionalProperties: false
|
|
2102
|
+
};
|
|
2103
|
+
export const OrganizationCreateInputSchema = {
|
|
2104
|
+
type: 'object',
|
|
2105
|
+
properties: {
|
|
2106
|
+
type: {
|
|
653
2107
|
type: 'string',
|
|
654
|
-
description: '
|
|
655
|
-
example: '
|
|
2108
|
+
description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
|
|
2109
|
+
example: 'business',
|
|
2110
|
+
enum: [
|
|
2111
|
+
'business',
|
|
2112
|
+
'personal'
|
|
2113
|
+
]
|
|
656
2114
|
},
|
|
657
|
-
|
|
2115
|
+
email: {
|
|
658
2116
|
type: 'string',
|
|
659
|
-
|
|
660
|
-
|
|
2117
|
+
format: 'email',
|
|
2118
|
+
description: 'Email address used for billing as a string.',
|
|
2119
|
+
example: 'email@example.com'
|
|
661
2120
|
},
|
|
662
|
-
|
|
2121
|
+
first_name: {
|
|
663
2122
|
type: 'string',
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
vcpu: {
|
|
668
|
-
type: 'number',
|
|
669
|
-
format: 'float',
|
|
670
|
-
minimum: 1,
|
|
671
|
-
description: 'CPU count as defined by the cloud service provider. Some cloud providers use hyperthreading, so the number of vCPUs may be twice as high as the number of physical cores.',
|
|
672
|
-
example: 96
|
|
673
|
-
},
|
|
674
|
-
memory: {
|
|
675
|
-
type: 'number',
|
|
676
|
-
format: 'float',
|
|
677
|
-
minimum: 1,
|
|
678
|
-
description: 'Total amount of RAM in gibibytes (GiB)',
|
|
679
|
-
example: 1152
|
|
680
|
-
},
|
|
681
|
-
local_storage: {
|
|
682
|
-
type: 'number',
|
|
683
|
-
format: 'float',
|
|
684
|
-
description: 'Volume of directly attached, block-device local storage in gibibytes (GiB)',
|
|
685
|
-
example: 8000
|
|
2123
|
+
minLength: 1,
|
|
2124
|
+
description: 'First name of the billing contact person.',
|
|
2125
|
+
example: 'John'
|
|
686
2126
|
},
|
|
687
|
-
|
|
2127
|
+
last_name: {
|
|
688
2128
|
type: 'string',
|
|
689
|
-
|
|
690
|
-
|
|
2129
|
+
minLength: 1,
|
|
2130
|
+
description: 'Last name of the billing contact person.',
|
|
2131
|
+
example: 'Doe'
|
|
691
2132
|
},
|
|
692
|
-
|
|
2133
|
+
company_name: {
|
|
693
2134
|
type: 'string',
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
description: 'Number of accelerators available on the instance. Some cloud providers support shared accelerators, so the number of accelerators may be a fraction of the number of physical accelerators.',
|
|
700
|
-
example: 8
|
|
701
|
-
},
|
|
702
|
-
accelerator_memory: {
|
|
703
|
-
type: 'number',
|
|
704
|
-
format: 'float',
|
|
705
|
-
description: "Ammount of accelerator memory available to each accelerator. For example, Nvidia A100 GPUs will typically have '40.0' gibibytes (GiB) of memory, while A100 GPUs with HBM2E memory will have '80.0' gibibytes (GiB) of memory",
|
|
706
|
-
example: 40
|
|
707
|
-
},
|
|
708
|
-
pods_capacity: {
|
|
709
|
-
type: 'number',
|
|
710
|
-
format: 'float',
|
|
711
|
-
description: 'Maximum number of pods that can be run on this instance type.',
|
|
712
|
-
example: 110
|
|
2135
|
+
maxLength: 120,
|
|
2136
|
+
minLength: 2,
|
|
2137
|
+
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,}$',
|
|
2138
|
+
description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
|
|
2139
|
+
example: 'ACME Corp.'
|
|
713
2140
|
},
|
|
714
|
-
|
|
2141
|
+
password: {
|
|
715
2142
|
type: 'string',
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
},
|
|
719
|
-
price: {
|
|
720
|
-
type: 'number',
|
|
721
|
-
format: 'float',
|
|
722
|
-
description: 'Price of running the inctance per hour in USD as defined by the cloud service provider',
|
|
723
|
-
example: 35.39655
|
|
724
|
-
},
|
|
725
|
-
available: {
|
|
726
|
-
type: 'boolean',
|
|
727
|
-
description: 'Whether this instance type is available.',
|
|
728
|
-
example: true
|
|
2143
|
+
minLength: 8,
|
|
2144
|
+
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.'
|
|
729
2145
|
}
|
|
730
2146
|
},
|
|
731
|
-
required: [
|
|
2147
|
+
required: [
|
|
2148
|
+
'type',
|
|
2149
|
+
'email',
|
|
2150
|
+
'first_name',
|
|
2151
|
+
'last_name',
|
|
2152
|
+
'company_name',
|
|
2153
|
+
'password'
|
|
2154
|
+
],
|
|
732
2155
|
additionalProperties: false
|
|
733
2156
|
};
|
|
734
|
-
export const
|
|
2157
|
+
export const OrganizationCreateOutputSchema = {
|
|
735
2158
|
type: 'object',
|
|
736
2159
|
properties: {
|
|
737
2160
|
id: {
|
|
738
2161
|
type: 'string',
|
|
739
|
-
description: 'Unique identifier of the
|
|
740
|
-
example: '
|
|
741
|
-
}
|
|
742
|
-
|
|
2162
|
+
description: 'Unique identifier of the newly created organization. Generated by the API and safe to use for client-side tracking immediately.',
|
|
2163
|
+
example: 'organization-id'
|
|
2164
|
+
}
|
|
2165
|
+
},
|
|
2166
|
+
required: [
|
|
2167
|
+
'id'
|
|
2168
|
+
],
|
|
2169
|
+
additionalProperties: false
|
|
2170
|
+
};
|
|
2171
|
+
export const OrganizationSchema = {
|
|
2172
|
+
type: 'object',
|
|
2173
|
+
properties: {
|
|
2174
|
+
id: {
|
|
743
2175
|
type: 'string',
|
|
744
2176
|
format: 'uuid',
|
|
745
|
-
description: 'Unique identifier of the organization
|
|
2177
|
+
description: 'Unique identifier of the organization. UUID v4 string in canonical form',
|
|
746
2178
|
example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
|
|
747
2179
|
},
|
|
2180
|
+
name: {
|
|
2181
|
+
type: 'string',
|
|
2182
|
+
maxLength: 120,
|
|
2183
|
+
minLength: 2,
|
|
2184
|
+
description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
|
|
2185
|
+
example: 'ACME Corp.'
|
|
2186
|
+
},
|
|
2187
|
+
type: {
|
|
2188
|
+
type: 'string',
|
|
2189
|
+
description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
|
|
2190
|
+
example: 'business',
|
|
2191
|
+
enum: [
|
|
2192
|
+
'business',
|
|
2193
|
+
'personal'
|
|
2194
|
+
]
|
|
2195
|
+
},
|
|
748
2196
|
date_created: {
|
|
749
2197
|
type: 'string',
|
|
750
2198
|
format: 'date-time',
|
|
751
|
-
description: 'Creation date of the
|
|
2199
|
+
description: 'Creation date of the organization. ISO 8601 date string in UTC timezone',
|
|
752
2200
|
example: '2023-11-02T16:08:14.338Z'
|
|
753
2201
|
},
|
|
754
|
-
|
|
2202
|
+
quota: {
|
|
2203
|
+
type: 'object',
|
|
2204
|
+
properties: {
|
|
2205
|
+
basic_clusters_max: {
|
|
2206
|
+
type: 'integer',
|
|
2207
|
+
minimum: 0,
|
|
2208
|
+
description: 'Maximum number of Basic clusters that can be created.',
|
|
2209
|
+
example: 999
|
|
2210
|
+
},
|
|
2211
|
+
basic_clusters_available: {
|
|
2212
|
+
type: 'integer',
|
|
2213
|
+
description: 'Available number of Basic clusters that can be created.',
|
|
2214
|
+
example: 999
|
|
2215
|
+
},
|
|
2216
|
+
pro_clusters_max: {
|
|
2217
|
+
type: 'integer',
|
|
2218
|
+
minimum: 0,
|
|
2219
|
+
description: 'Maximum number of Pro clusters that can be created.',
|
|
2220
|
+
example: 999
|
|
2221
|
+
},
|
|
2222
|
+
pro_clusters_available: {
|
|
2223
|
+
type: 'integer',
|
|
2224
|
+
description: 'Available number of Pro clusters that can be created.',
|
|
2225
|
+
example: 999
|
|
2226
|
+
},
|
|
2227
|
+
fleets_max: {
|
|
2228
|
+
type: 'integer',
|
|
2229
|
+
minimum: 0,
|
|
2230
|
+
description: 'Maximum number of fleets that can be created per cluster.',
|
|
2231
|
+
example: 999
|
|
2232
|
+
},
|
|
2233
|
+
cluster_tiers: {
|
|
2234
|
+
type: 'array',
|
|
2235
|
+
items: {
|
|
2236
|
+
type: 'string',
|
|
2237
|
+
example: 'basic'
|
|
2238
|
+
},
|
|
2239
|
+
minItems: 0,
|
|
2240
|
+
description: 'List of Cloudfleet cluster tiers available for the organization.'
|
|
2241
|
+
},
|
|
2242
|
+
regions: {
|
|
2243
|
+
type: 'array',
|
|
2244
|
+
items: {
|
|
2245
|
+
type: 'string',
|
|
2246
|
+
example: 'northamerica-central-1'
|
|
2247
|
+
},
|
|
2248
|
+
minItems: 1,
|
|
2249
|
+
description: 'List of Cloudfleet control plane regions available for the organization.'
|
|
2250
|
+
},
|
|
2251
|
+
versions: {
|
|
2252
|
+
type: 'array',
|
|
2253
|
+
items: {
|
|
2254
|
+
type: 'object',
|
|
2255
|
+
properties: {
|
|
2256
|
+
id: {
|
|
2257
|
+
type: 'string',
|
|
2258
|
+
description: 'Id of the control plane version. Used in API calls.',
|
|
2259
|
+
example: '1.33.x-cfke.x'
|
|
2260
|
+
},
|
|
2261
|
+
label: {
|
|
2262
|
+
type: 'string',
|
|
2263
|
+
description: 'Label of the control plane version. Used in frontent UI.',
|
|
2264
|
+
example: '1.33.x (Always latest 1.33 patch version)'
|
|
2265
|
+
}
|
|
2266
|
+
},
|
|
2267
|
+
required: [
|
|
2268
|
+
'id',
|
|
2269
|
+
'label'
|
|
2270
|
+
],
|
|
2271
|
+
additionalProperties: false
|
|
2272
|
+
},
|
|
2273
|
+
minItems: 1,
|
|
2274
|
+
description: 'List of CFKE control plane versions available for the organization.'
|
|
2275
|
+
},
|
|
2276
|
+
cfcr_storage_gb: {
|
|
2277
|
+
type: 'integer',
|
|
2278
|
+
minimum: -1,
|
|
2279
|
+
description: 'Organization-level maximum CFCR storage volume in GB. -1 means no limit.',
|
|
2280
|
+
example: 500
|
|
2281
|
+
}
|
|
2282
|
+
},
|
|
2283
|
+
required: [
|
|
2284
|
+
'basic_clusters_max',
|
|
2285
|
+
'basic_clusters_available',
|
|
2286
|
+
'pro_clusters_max',
|
|
2287
|
+
'pro_clusters_available',
|
|
2288
|
+
'fleets_max',
|
|
2289
|
+
'cluster_tiers',
|
|
2290
|
+
'regions',
|
|
2291
|
+
'versions',
|
|
2292
|
+
'cfcr_storage_gb'
|
|
2293
|
+
],
|
|
2294
|
+
additionalProperties: false,
|
|
2295
|
+
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.'
|
|
2296
|
+
},
|
|
2297
|
+
status: {
|
|
755
2298
|
type: 'string',
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
2299
|
+
description: 'Status of the organization. Can be `active` or `closed`, or `suspended`.',
|
|
2300
|
+
enum: [
|
|
2301
|
+
'active',
|
|
2302
|
+
'closed',
|
|
2303
|
+
'suspended'
|
|
2304
|
+
]
|
|
759
2305
|
},
|
|
760
|
-
|
|
2306
|
+
verification: {
|
|
761
2307
|
type: 'string',
|
|
762
|
-
description: '
|
|
763
|
-
example: '
|
|
2308
|
+
description: 'Verification status of the organization, which determines the assigned quota. `none` when billing information is incomplete, `submitted` when billing information is complete but the organization is not yet verified, `verified` when the organization is verified.',
|
|
2309
|
+
example: 'verified',
|
|
2310
|
+
enum: [
|
|
2311
|
+
'none',
|
|
2312
|
+
'submitted',
|
|
2313
|
+
'verified'
|
|
2314
|
+
]
|
|
764
2315
|
}
|
|
765
2316
|
},
|
|
766
|
-
required: [
|
|
2317
|
+
required: [
|
|
2318
|
+
'id',
|
|
2319
|
+
'type',
|
|
2320
|
+
'date_created',
|
|
2321
|
+
'quota',
|
|
2322
|
+
'status',
|
|
2323
|
+
'verification'
|
|
2324
|
+
],
|
|
767
2325
|
additionalProperties: false
|
|
768
2326
|
};
|
|
769
|
-
export const
|
|
2327
|
+
export const PaymentMethodSchema = {
|
|
770
2328
|
type: 'object',
|
|
771
2329
|
properties: {
|
|
772
2330
|
id: {
|
|
773
2331
|
type: 'string',
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
|
|
2332
|
+
description: 'Payment method identifier. Stripe payment method id for cards/SEPA; the constant `bank_transfer` for the invoice/bank-transfer method. Used to set as default or delete the payment method.',
|
|
2333
|
+
example: 'pm_1MtwBwLkdIwHu7ix28a3tqPa'
|
|
777
2334
|
},
|
|
778
|
-
|
|
2335
|
+
type: {
|
|
779
2336
|
type: 'string',
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
2337
|
+
description: 'Payment method type. `card`, `sepa_debit` for SEPA Direct Debit (business accounts only), or `bank_transfer` for paying invoices by bank transfer.',
|
|
2338
|
+
example: 'card',
|
|
2339
|
+
enum: [
|
|
2340
|
+
'card',
|
|
2341
|
+
'sepa_debit',
|
|
2342
|
+
'bank_transfer'
|
|
2343
|
+
]
|
|
783
2344
|
},
|
|
784
|
-
|
|
2345
|
+
last4: {
|
|
785
2346
|
type: 'string',
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
},
|
|
790
|
-
amount: {
|
|
791
|
-
type: 'number',
|
|
792
|
-
format: 'float',
|
|
793
|
-
description: 'Total amount of the invoice',
|
|
794
|
-
example: 100
|
|
2347
|
+
nullable: true,
|
|
2348
|
+
description: 'Last 4 digits of the payment card number, of the bank account (IBAN) for SEPA Direct Debit, or of the destination IBAN for bank transfer.',
|
|
2349
|
+
example: '4242'
|
|
795
2350
|
},
|
|
796
|
-
|
|
797
|
-
type: '
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
2351
|
+
exp_month: {
|
|
2352
|
+
type: 'integer',
|
|
2353
|
+
minimum: 1,
|
|
2354
|
+
maximum: 12,
|
|
2355
|
+
nullable: true,
|
|
2356
|
+
description: 'Two-digit number representing the card\'s expiration month. Null for SEPA Direct Debit and bank transfer.',
|
|
2357
|
+
example: 12
|
|
801
2358
|
},
|
|
802
|
-
|
|
803
|
-
type: '
|
|
804
|
-
|
|
805
|
-
description: '
|
|
806
|
-
example:
|
|
2359
|
+
exp_year: {
|
|
2360
|
+
type: 'integer',
|
|
2361
|
+
nullable: true,
|
|
2362
|
+
description: 'Four-digit number representing the card\'s expiration year. May be in the past for an expired card still on file. Null for SEPA Direct Debit and bank transfer.',
|
|
2363
|
+
example: 2028
|
|
807
2364
|
},
|
|
808
|
-
|
|
809
|
-
type: '
|
|
810
|
-
|
|
811
|
-
description: '
|
|
812
|
-
example:
|
|
2365
|
+
brand: {
|
|
2366
|
+
type: 'string',
|
|
2367
|
+
nullable: true,
|
|
2368
|
+
description: 'Payment card brand as reported by Stripe, e.g. `visa`, `mastercard`, `amex`, `cartes_bancaires`, or `unknown`. Null for SEPA Direct Debit and bank transfer.',
|
|
2369
|
+
example: 'visa'
|
|
813
2370
|
},
|
|
814
|
-
|
|
2371
|
+
iban: {
|
|
815
2372
|
type: 'string',
|
|
816
|
-
|
|
817
|
-
|
|
2373
|
+
nullable: true,
|
|
2374
|
+
description: 'Full destination IBAN to send bank transfers to. Set only for `bank_transfer`; null otherwise. This is Cloudfleet\'s virtual receiving account, shown in full so the customer can pay into it.',
|
|
2375
|
+
example: 'DE11243015658023127510'
|
|
818
2376
|
},
|
|
819
|
-
|
|
2377
|
+
bic: {
|
|
820
2378
|
type: 'string',
|
|
821
|
-
|
|
822
|
-
|
|
2379
|
+
nullable: true,
|
|
2380
|
+
description: 'BIC/SWIFT of the destination bank for bank transfers. Set only for `bank_transfer`; null otherwise.',
|
|
2381
|
+
example: 'SOGEDEFFXXX'
|
|
823
2382
|
},
|
|
824
|
-
|
|
2383
|
+
account_holder_name: {
|
|
825
2384
|
type: 'string',
|
|
826
|
-
|
|
827
|
-
|
|
2385
|
+
nullable: true,
|
|
2386
|
+
description: 'Account holder name of the destination bank account for bank transfers. Set only for `bank_transfer`; null otherwise.',
|
|
2387
|
+
example: 'Cloudfleet GmbH'
|
|
828
2388
|
},
|
|
829
|
-
|
|
830
|
-
type: '
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
2389
|
+
is_default: {
|
|
2390
|
+
type: 'boolean',
|
|
2391
|
+
description: 'Whether this payment method is the default used for invoices and active subscriptions. Always false for `bank_transfer` (it cannot be a Stripe default payment method).',
|
|
2392
|
+
example: true
|
|
2393
|
+
}
|
|
2394
|
+
},
|
|
2395
|
+
required: [
|
|
2396
|
+
'id',
|
|
2397
|
+
'type',
|
|
2398
|
+
'last4',
|
|
2399
|
+
'exp_month',
|
|
2400
|
+
'exp_year',
|
|
2401
|
+
'brand',
|
|
2402
|
+
'iban',
|
|
2403
|
+
'bic',
|
|
2404
|
+
'account_holder_name',
|
|
2405
|
+
'is_default'
|
|
2406
|
+
],
|
|
2407
|
+
additionalProperties: false
|
|
2408
|
+
};
|
|
2409
|
+
export const PlatformQuotaSchema = {
|
|
2410
|
+
type: 'object',
|
|
2411
|
+
properties: {
|
|
2412
|
+
basic_clusters_max: {
|
|
2413
|
+
type: 'integer',
|
|
2414
|
+
minimum: 0,
|
|
2415
|
+
description: 'Maximum number of Basic clusters that can be created.',
|
|
2416
|
+
example: 999
|
|
834
2417
|
},
|
|
835
|
-
|
|
836
|
-
type: '
|
|
837
|
-
description: '
|
|
838
|
-
example:
|
|
2418
|
+
basic_clusters_available: {
|
|
2419
|
+
type: 'integer',
|
|
2420
|
+
description: 'Available number of Basic clusters that can be created.',
|
|
2421
|
+
example: 999
|
|
2422
|
+
},
|
|
2423
|
+
pro_clusters_max: {
|
|
2424
|
+
type: 'integer',
|
|
2425
|
+
minimum: 0,
|
|
2426
|
+
description: 'Maximum number of Pro clusters that can be created.',
|
|
2427
|
+
example: 999
|
|
2428
|
+
},
|
|
2429
|
+
pro_clusters_available: {
|
|
2430
|
+
type: 'integer',
|
|
2431
|
+
description: 'Available number of Pro clusters that can be created.',
|
|
2432
|
+
example: 999
|
|
839
2433
|
},
|
|
840
|
-
|
|
2434
|
+
fleets_max: {
|
|
2435
|
+
type: 'integer',
|
|
2436
|
+
minimum: 0,
|
|
2437
|
+
description: 'Maximum number of fleets that can be created per cluster.',
|
|
2438
|
+
example: 999
|
|
2439
|
+
},
|
|
2440
|
+
cluster_tiers: {
|
|
2441
|
+
type: 'array',
|
|
2442
|
+
items: {
|
|
2443
|
+
type: 'string',
|
|
2444
|
+
example: 'basic'
|
|
2445
|
+
},
|
|
2446
|
+
minItems: 0,
|
|
2447
|
+
description: 'List of Cloudfleet cluster tiers available for the organization.'
|
|
2448
|
+
},
|
|
2449
|
+
regions: {
|
|
2450
|
+
type: 'array',
|
|
2451
|
+
items: {
|
|
2452
|
+
type: 'string',
|
|
2453
|
+
example: 'northamerica-central-1'
|
|
2454
|
+
},
|
|
2455
|
+
minItems: 1,
|
|
2456
|
+
description: 'List of Cloudfleet control plane regions available for the organization.'
|
|
2457
|
+
},
|
|
2458
|
+
versions: {
|
|
841
2459
|
type: 'array',
|
|
842
2460
|
items: {
|
|
843
2461
|
type: 'object',
|
|
844
2462
|
properties: {
|
|
845
2463
|
id: {
|
|
846
2464
|
type: 'string',
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
|
|
2465
|
+
description: 'Id of the control plane version. Used in API calls.',
|
|
2466
|
+
example: '1.33.x-cfke.x'
|
|
850
2467
|
},
|
|
851
|
-
|
|
2468
|
+
label: {
|
|
852
2469
|
type: 'string',
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
|
|
856
|
-
},
|
|
857
|
-
productName: {
|
|
858
|
-
type: 'string',
|
|
859
|
-
description: 'Name of the product',
|
|
860
|
-
example: 'Research team'
|
|
861
|
-
},
|
|
862
|
-
planName: {
|
|
863
|
-
type: 'string',
|
|
864
|
-
description: 'Name of the plan',
|
|
865
|
-
example: 'Plan A'
|
|
866
|
-
},
|
|
867
|
-
phaseName: {
|
|
868
|
-
type: 'string',
|
|
869
|
-
description: 'Name of the phase',
|
|
870
|
-
example: 'Phase A'
|
|
871
|
-
},
|
|
872
|
-
usageName: {
|
|
873
|
-
type: 'string',
|
|
874
|
-
description: 'Name of the usage',
|
|
875
|
-
example: 'Usage A'
|
|
876
|
-
},
|
|
877
|
-
prettyProductName: {
|
|
878
|
-
type: 'string',
|
|
879
|
-
description: 'Pretty name of the product',
|
|
880
|
-
example: 'Research team'
|
|
881
|
-
},
|
|
882
|
-
prettyPlanName: {
|
|
883
|
-
type: 'string',
|
|
884
|
-
description: 'Pretty name of the plan',
|
|
885
|
-
example: 'Plan A'
|
|
886
|
-
},
|
|
887
|
-
prettyPhaseName: {
|
|
888
|
-
type: 'string',
|
|
889
|
-
description: 'Pretty name of the phase',
|
|
890
|
-
example: 'Phase A'
|
|
891
|
-
},
|
|
892
|
-
prettyUsageName: {
|
|
893
|
-
type: 'string',
|
|
894
|
-
description: 'Pretty name of the usage',
|
|
895
|
-
example: 'Usage A'
|
|
896
|
-
},
|
|
897
|
-
itemType: {
|
|
898
|
-
type: 'string',
|
|
899
|
-
description: 'Type of the invoice item',
|
|
900
|
-
example: 'EXTERNAL_CHARGE',
|
|
901
|
-
enum: ['EXTERNAL_CHARGE', 'FIXED', 'RECURRING', 'REPAIR_ADJ', 'CBA_ADJ', 'CREDIT_ADJ', 'ITEM_ADJ', 'USAGE', 'TAX', 'PARENT_SUMMARY']
|
|
902
|
-
},
|
|
903
|
-
description: {
|
|
904
|
-
type: 'string',
|
|
905
|
-
description: 'Description of the invoice item',
|
|
906
|
-
example: 'Description of the invoice item'
|
|
907
|
-
},
|
|
908
|
-
startDate: {
|
|
909
|
-
type: 'string',
|
|
910
|
-
description: 'Start date of the invoice item',
|
|
911
|
-
example: '2019-01-01T00:00:00.000Z'
|
|
912
|
-
},
|
|
913
|
-
endDate: {
|
|
914
|
-
type: 'string',
|
|
915
|
-
description: 'End date of the invoice item',
|
|
916
|
-
example: '2019-01-01T00:00:00.000Z'
|
|
917
|
-
},
|
|
918
|
-
amount: {
|
|
919
|
-
type: 'number',
|
|
920
|
-
format: 'float',
|
|
921
|
-
description: 'Amount of the invoice item',
|
|
922
|
-
example: 100
|
|
923
|
-
},
|
|
924
|
-
rate: {
|
|
925
|
-
type: 'number',
|
|
926
|
-
format: 'float',
|
|
927
|
-
description: 'Rate of the invoice item',
|
|
928
|
-
example: 100
|
|
929
|
-
},
|
|
930
|
-
currency: {
|
|
931
|
-
type: 'string',
|
|
932
|
-
description: 'Currency of the invoice item',
|
|
933
|
-
example: 'USD',
|
|
934
|
-
enum: ['AED', 'AFN', 'ALL', 'AMD', 'ANG', 'AOA', 'ARS', 'AUD', 'AWG', 'AZN', 'BAM', 'BBD', 'BDT', 'BGN', 'BHD', 'BIF', 'BMD', 'BND', 'BOB', 'BRL', 'BSD', 'BTN', 'BWP', 'BYR', 'BZD', 'CAD', 'CDF', 'CHF', 'CLP', 'CNY', 'COP', 'CRC', 'CUC', 'CUP', 'CVE', 'CZK', 'DJF', 'DKK', 'DOP', 'DZD', 'EGP', 'ERN', 'ETB', 'EUR', 'FJD', 'FKP', 'GBP', 'GEL', 'GGP', 'GHS', 'GIP', 'GMD', 'GNF', 'GTQ', 'GYD', 'HKD', 'HNL', 'HRK', 'HTG', 'HUF', 'IDR', 'ILS', 'IMP', 'INR', 'IQD', 'IRR', 'ISK', 'JEP', 'JMD', 'JOD', 'JPY', 'KES', 'KGS', 'KHR', 'KMF', 'KPW', 'KRW', 'KWD', 'KYD', 'KZT', 'LAK', 'LBP', 'LKR', 'LRD', 'LSL', 'LTL', 'LVL', 'LYD', 'MAD', 'MDL', 'MGA', 'MKD', 'MMK', 'MNT', 'MOP', 'MRO', 'MUR', 'MVR', 'MWK', 'MXN', 'MYR', 'MZN', 'NAD', 'NGN', 'NIO', 'NOK', 'NPR', 'NZD', 'OMR', 'PAB', 'PEN', 'PGK', 'PHP', 'PKR', 'PLN', 'PYG', 'QAR', 'RON', 'RSD', 'RUB', 'RWF', 'SAR', 'SBD', 'SCR', 'SDG', 'SEK', 'SGD', 'SHP', 'SLL', 'SOS', 'SPL', 'SRD', 'STD', 'SVC', 'SYP', 'SZL', 'THB', 'TJS', 'TMT', 'TND', 'TOP', 'TRY', 'TTD', 'TVD', 'TWD', 'TZS', 'UAH', 'UGX', 'USD', 'UYU', 'UZS', 'VEF', 'VND', 'VUV', 'WST', 'XAF', 'XCD', 'XDR', 'XOF', 'XPF', 'YER', 'ZAR', 'ZMW', 'ZWD', 'BTC']
|
|
935
|
-
},
|
|
936
|
-
quantity: {
|
|
937
|
-
type: 'number',
|
|
938
|
-
format: 'float',
|
|
939
|
-
description: 'Quantity of the invoice item',
|
|
940
|
-
example: 1
|
|
941
|
-
},
|
|
942
|
-
itemDetails: {
|
|
943
|
-
type: 'string',
|
|
944
|
-
description: 'Details of the invoice item',
|
|
945
|
-
example: 'Details of the invoice item'
|
|
946
|
-
},
|
|
947
|
-
catalogEffectiveDate: {
|
|
948
|
-
type: 'string',
|
|
949
|
-
description: 'Effective date of the catalog',
|
|
950
|
-
example: '2019-01-01T00:00:00.000Z'
|
|
951
|
-
},
|
|
952
|
-
childItems: {
|
|
953
|
-
type: 'array',
|
|
954
|
-
items: {
|
|
955
|
-
oneOf: [
|
|
956
|
-
{
|
|
957
|
-
type: 'array'
|
|
958
|
-
},
|
|
959
|
-
{
|
|
960
|
-
type: 'boolean'
|
|
961
|
-
},
|
|
962
|
-
{
|
|
963
|
-
type: 'number'
|
|
964
|
-
},
|
|
965
|
-
{
|
|
966
|
-
type: 'object',
|
|
967
|
-
additionalProperties: true
|
|
968
|
-
},
|
|
969
|
-
{
|
|
970
|
-
type: 'string'
|
|
971
|
-
}
|
|
972
|
-
]
|
|
973
|
-
},
|
|
974
|
-
description: 'Child items of the invoice item'
|
|
2470
|
+
description: 'Label of the control plane version. Used in frontent UI.',
|
|
2471
|
+
example: '1.33.x (Always latest 1.33 patch version)'
|
|
975
2472
|
}
|
|
976
2473
|
},
|
|
2474
|
+
required: [
|
|
2475
|
+
'id',
|
|
2476
|
+
'label'
|
|
2477
|
+
],
|
|
977
2478
|
additionalProperties: false
|
|
978
2479
|
},
|
|
979
|
-
|
|
2480
|
+
minItems: 1,
|
|
2481
|
+
description: 'List of CFKE control plane versions available for the organization.'
|
|
980
2482
|
},
|
|
981
|
-
|
|
2483
|
+
cfcr_storage_gb: {
|
|
2484
|
+
type: 'integer',
|
|
2485
|
+
minimum: -1,
|
|
2486
|
+
description: 'Organization-level maximum CFCR storage volume in GB. -1 means no limit.',
|
|
2487
|
+
example: 500
|
|
2488
|
+
}
|
|
2489
|
+
},
|
|
2490
|
+
required: [
|
|
2491
|
+
'basic_clusters_max',
|
|
2492
|
+
'basic_clusters_available',
|
|
2493
|
+
'pro_clusters_max',
|
|
2494
|
+
'pro_clusters_available',
|
|
2495
|
+
'fleets_max',
|
|
2496
|
+
'cluster_tiers',
|
|
2497
|
+
'regions',
|
|
2498
|
+
'versions',
|
|
2499
|
+
'cfcr_storage_gb'
|
|
2500
|
+
],
|
|
2501
|
+
additionalProperties: false
|
|
2502
|
+
};
|
|
2503
|
+
export const RegistryRepositorySchema = {
|
|
2504
|
+
type: 'object',
|
|
2505
|
+
properties: {
|
|
2506
|
+
name: {
|
|
2507
|
+
type: 'string',
|
|
2508
|
+
description: 'Repository name.',
|
|
2509
|
+
example: 'my-app'
|
|
2510
|
+
},
|
|
2511
|
+
region: {
|
|
2512
|
+
type: 'string',
|
|
2513
|
+
description: 'Registry region.',
|
|
2514
|
+
example: 'northamerica'
|
|
2515
|
+
},
|
|
2516
|
+
uri: {
|
|
2517
|
+
type: 'string',
|
|
2518
|
+
description: 'Full URI of the repository.',
|
|
2519
|
+
example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app'
|
|
2520
|
+
}
|
|
2521
|
+
},
|
|
2522
|
+
required: [
|
|
2523
|
+
'name',
|
|
2524
|
+
'region',
|
|
2525
|
+
'uri'
|
|
2526
|
+
],
|
|
2527
|
+
additionalProperties: false
|
|
2528
|
+
};
|
|
2529
|
+
export const RegistryRepositoryWithTagsSchema = {
|
|
2530
|
+
type: 'object',
|
|
2531
|
+
properties: {
|
|
2532
|
+
name: {
|
|
2533
|
+
type: 'string',
|
|
2534
|
+
description: 'Repository name.',
|
|
2535
|
+
example: 'my-app'
|
|
2536
|
+
},
|
|
2537
|
+
region: {
|
|
2538
|
+
type: 'string',
|
|
2539
|
+
description: 'Registry region.',
|
|
2540
|
+
example: 'northamerica'
|
|
2541
|
+
},
|
|
2542
|
+
uri: {
|
|
2543
|
+
type: 'string',
|
|
2544
|
+
description: 'Full URI of the repository.',
|
|
2545
|
+
example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app'
|
|
2546
|
+
},
|
|
2547
|
+
tags: {
|
|
982
2548
|
type: 'array',
|
|
983
2549
|
items: {
|
|
984
2550
|
type: 'object',
|
|
985
2551
|
properties: {
|
|
986
|
-
|
|
987
|
-
type: 'string',
|
|
988
|
-
format: 'uuid',
|
|
989
|
-
description: 'Unique identifier of the invoice item. UUID v4 string in canonical form',
|
|
990
|
-
example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
|
|
991
|
-
},
|
|
992
|
-
linkedInvoiceItemId: {
|
|
993
|
-
type: 'string',
|
|
994
|
-
format: 'uuid',
|
|
995
|
-
description: 'Unique identifier of the linked invoice item. UUID v4 string in canonical form',
|
|
996
|
-
example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
|
|
997
|
-
},
|
|
998
|
-
productName: {
|
|
999
|
-
type: 'string',
|
|
1000
|
-
description: 'Name of the product',
|
|
1001
|
-
example: 'Research team'
|
|
1002
|
-
},
|
|
1003
|
-
planName: {
|
|
1004
|
-
type: 'string',
|
|
1005
|
-
description: 'Name of the plan',
|
|
1006
|
-
example: 'Plan A'
|
|
1007
|
-
},
|
|
1008
|
-
phaseName: {
|
|
1009
|
-
type: 'string',
|
|
1010
|
-
description: 'Name of the phase',
|
|
1011
|
-
example: 'Phase A'
|
|
1012
|
-
},
|
|
1013
|
-
usageName: {
|
|
1014
|
-
type: 'string',
|
|
1015
|
-
description: 'Name of the usage',
|
|
1016
|
-
example: 'Usage A'
|
|
1017
|
-
},
|
|
1018
|
-
prettyProductName: {
|
|
1019
|
-
type: 'string',
|
|
1020
|
-
description: 'Pretty name of the product',
|
|
1021
|
-
example: 'Research team'
|
|
1022
|
-
},
|
|
1023
|
-
prettyPlanName: {
|
|
1024
|
-
type: 'string',
|
|
1025
|
-
description: 'Pretty name of the plan',
|
|
1026
|
-
example: 'Plan A'
|
|
1027
|
-
},
|
|
1028
|
-
prettyPhaseName: {
|
|
1029
|
-
type: 'string',
|
|
1030
|
-
description: 'Pretty name of the phase',
|
|
1031
|
-
example: 'Phase A'
|
|
1032
|
-
},
|
|
1033
|
-
prettyUsageName: {
|
|
1034
|
-
type: 'string',
|
|
1035
|
-
description: 'Pretty name of the usage',
|
|
1036
|
-
example: 'Usage A'
|
|
1037
|
-
},
|
|
1038
|
-
itemType: {
|
|
1039
|
-
type: 'string',
|
|
1040
|
-
description: 'Type of the invoice item',
|
|
1041
|
-
example: 'EXTERNAL_CHARGE',
|
|
1042
|
-
enum: ['EXTERNAL_CHARGE', 'FIXED', 'RECURRING', 'REPAIR_ADJ', 'CBA_ADJ', 'CREDIT_ADJ', 'ITEM_ADJ', 'USAGE', 'TAX', 'PARENT_SUMMARY']
|
|
1043
|
-
},
|
|
1044
|
-
description: {
|
|
1045
|
-
type: 'string',
|
|
1046
|
-
description: 'Description of the invoice item',
|
|
1047
|
-
example: 'Description of the invoice item'
|
|
1048
|
-
},
|
|
1049
|
-
startDate: {
|
|
1050
|
-
type: 'string',
|
|
1051
|
-
description: 'Start date of the invoice item',
|
|
1052
|
-
example: '2019-01-01T00:00:00.000Z'
|
|
1053
|
-
},
|
|
1054
|
-
endDate: {
|
|
1055
|
-
type: 'string',
|
|
1056
|
-
description: 'End date of the invoice item',
|
|
1057
|
-
example: '2019-01-01T00:00:00.000Z'
|
|
1058
|
-
},
|
|
1059
|
-
amount: {
|
|
1060
|
-
type: 'number',
|
|
1061
|
-
format: 'float',
|
|
1062
|
-
description: 'Amount of the invoice item',
|
|
1063
|
-
example: 100
|
|
1064
|
-
},
|
|
1065
|
-
rate: {
|
|
1066
|
-
type: 'number',
|
|
1067
|
-
format: 'float',
|
|
1068
|
-
description: 'Rate of the invoice item',
|
|
1069
|
-
example: 100
|
|
1070
|
-
},
|
|
1071
|
-
currency: {
|
|
2552
|
+
name: {
|
|
1072
2553
|
type: 'string',
|
|
1073
|
-
description: '
|
|
1074
|
-
example: '
|
|
1075
|
-
enum: ['AED', 'AFN', 'ALL', 'AMD', 'ANG', 'AOA', 'ARS', 'AUD', 'AWG', 'AZN', 'BAM', 'BBD', 'BDT', 'BGN', 'BHD', 'BIF', 'BMD', 'BND', 'BOB', 'BRL', 'BSD', 'BTN', 'BWP', 'BYR', 'BZD', 'CAD', 'CDF', 'CHF', 'CLP', 'CNY', 'COP', 'CRC', 'CUC', 'CUP', 'CVE', 'CZK', 'DJF', 'DKK', 'DOP', 'DZD', 'EGP', 'ERN', 'ETB', 'EUR', 'FJD', 'FKP', 'GBP', 'GEL', 'GGP', 'GHS', 'GIP', 'GMD', 'GNF', 'GTQ', 'GYD', 'HKD', 'HNL', 'HRK', 'HTG', 'HUF', 'IDR', 'ILS', 'IMP', 'INR', 'IQD', 'IRR', 'ISK', 'JEP', 'JMD', 'JOD', 'JPY', 'KES', 'KGS', 'KHR', 'KMF', 'KPW', 'KRW', 'KWD', 'KYD', 'KZT', 'LAK', 'LBP', 'LKR', 'LRD', 'LSL', 'LTL', 'LVL', 'LYD', 'MAD', 'MDL', 'MGA', 'MKD', 'MMK', 'MNT', 'MOP', 'MRO', 'MUR', 'MVR', 'MWK', 'MXN', 'MYR', 'MZN', 'NAD', 'NGN', 'NIO', 'NOK', 'NPR', 'NZD', 'OMR', 'PAB', 'PEN', 'PGK', 'PHP', 'PKR', 'PLN', 'PYG', 'QAR', 'RON', 'RSD', 'RUB', 'RWF', 'SAR', 'SBD', 'SCR', 'SDG', 'SEK', 'SGD', 'SHP', 'SLL', 'SOS', 'SPL', 'SRD', 'STD', 'SVC', 'SYP', 'SZL', 'THB', 'TJS', 'TMT', 'TND', 'TOP', 'TRY', 'TTD', 'TVD', 'TWD', 'TZS', 'UAH', 'UGX', 'USD', 'UYU', 'UZS', 'VEF', 'VND', 'VUV', 'WST', 'XAF', 'XCD', 'XDR', 'XOF', 'XPF', 'YER', 'ZAR', 'ZMW', 'ZWD', 'BTC']
|
|
2554
|
+
description: 'Tag name.',
|
|
2555
|
+
example: 'latest'
|
|
1076
2556
|
},
|
|
1077
|
-
|
|
2557
|
+
size: {
|
|
1078
2558
|
type: 'number',
|
|
1079
2559
|
format: 'float',
|
|
1080
|
-
description: '
|
|
1081
|
-
example:
|
|
2560
|
+
description: 'Size of the tag in bytes.',
|
|
2561
|
+
example: 123456789
|
|
1082
2562
|
},
|
|
1083
|
-
|
|
2563
|
+
mediaType: {
|
|
1084
2564
|
type: 'string',
|
|
1085
|
-
description: '
|
|
1086
|
-
example: '
|
|
2565
|
+
description: 'Media type of the manifest.',
|
|
2566
|
+
example: 'application/vnd.docker.distribution.manifest.v2+json'
|
|
1087
2567
|
},
|
|
1088
|
-
|
|
1089
|
-
type: 'string',
|
|
1090
|
-
description: 'Effective date of the catalog',
|
|
1091
|
-
example: '2019-01-01T00:00:00.000Z'
|
|
1092
|
-
},
|
|
1093
|
-
childItems: {
|
|
2568
|
+
platforms: {
|
|
1094
2569
|
type: 'array',
|
|
1095
2570
|
items: {
|
|
1096
|
-
|
|
1097
|
-
{
|
|
1098
|
-
type: 'array'
|
|
1099
|
-
},
|
|
1100
|
-
{
|
|
1101
|
-
type: 'boolean'
|
|
1102
|
-
},
|
|
1103
|
-
{
|
|
1104
|
-
type: 'number'
|
|
1105
|
-
},
|
|
1106
|
-
{
|
|
1107
|
-
type: 'object',
|
|
1108
|
-
additionalProperties: true
|
|
1109
|
-
},
|
|
1110
|
-
{
|
|
1111
|
-
type: 'string'
|
|
1112
|
-
}
|
|
1113
|
-
]
|
|
2571
|
+
type: 'string'
|
|
1114
2572
|
},
|
|
1115
|
-
description: '
|
|
2573
|
+
description: 'Array of platform strings for multi-arch images (e.g., linux/amd64, linux/arm64).',
|
|
2574
|
+
example: [
|
|
2575
|
+
'linux/amd64',
|
|
2576
|
+
'linux/arm64'
|
|
2577
|
+
]
|
|
1116
2578
|
}
|
|
1117
2579
|
},
|
|
2580
|
+
required: [
|
|
2581
|
+
'name',
|
|
2582
|
+
'size'
|
|
2583
|
+
],
|
|
1118
2584
|
additionalProperties: false
|
|
1119
2585
|
},
|
|
1120
|
-
description: '
|
|
2586
|
+
description: 'Array of tags in the repository.'
|
|
2587
|
+
},
|
|
2588
|
+
totalSize: {
|
|
2589
|
+
type: 'number',
|
|
2590
|
+
format: 'float',
|
|
2591
|
+
description: 'Total size of all tags in the repository in bytes.',
|
|
2592
|
+
example: 987654321
|
|
1121
2593
|
}
|
|
1122
2594
|
},
|
|
2595
|
+
required: [
|
|
2596
|
+
'name',
|
|
2597
|
+
'region',
|
|
2598
|
+
'uri',
|
|
2599
|
+
'tags',
|
|
2600
|
+
'totalSize'
|
|
2601
|
+
],
|
|
1123
2602
|
additionalProperties: false
|
|
1124
2603
|
};
|
|
1125
|
-
export const
|
|
2604
|
+
export const RegistryTagSchema = {
|
|
1126
2605
|
type: 'object',
|
|
1127
2606
|
properties: {
|
|
1128
|
-
|
|
2607
|
+
name: {
|
|
1129
2608
|
type: 'string',
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
example: '123 Main St.'
|
|
2609
|
+
description: 'Tag name.',
|
|
2610
|
+
example: 'latest'
|
|
1133
2611
|
},
|
|
1134
|
-
|
|
2612
|
+
digest: {
|
|
1135
2613
|
type: 'string',
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
example: 'Suite 100'
|
|
2614
|
+
description: 'Manifest digest for pulling by digest.',
|
|
2615
|
+
example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
|
|
1139
2616
|
},
|
|
1140
|
-
|
|
2617
|
+
mediaType: {
|
|
1141
2618
|
type: 'string',
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
example: '94105'
|
|
2619
|
+
description: 'Media type of the manifest.',
|
|
2620
|
+
example: 'application/vnd.docker.distribution.manifest.v2+json'
|
|
1145
2621
|
},
|
|
1146
|
-
|
|
1147
|
-
type: '
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
2622
|
+
config: {
|
|
2623
|
+
type: 'object',
|
|
2624
|
+
properties: {
|
|
2625
|
+
size: {
|
|
2626
|
+
type: 'number',
|
|
2627
|
+
format: 'float',
|
|
2628
|
+
description: 'Size of the config in bytes.',
|
|
2629
|
+
example: 1234
|
|
2630
|
+
}
|
|
2631
|
+
},
|
|
2632
|
+
required: [
|
|
2633
|
+
'size'
|
|
2634
|
+
],
|
|
2635
|
+
additionalProperties: false,
|
|
2636
|
+
description: 'Manifest config metadata.'
|
|
1151
2637
|
},
|
|
1152
|
-
|
|
1153
|
-
type: '
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
2638
|
+
layers: {
|
|
2639
|
+
type: 'array',
|
|
2640
|
+
items: {
|
|
2641
|
+
type: 'object',
|
|
2642
|
+
properties: {
|
|
2643
|
+
digest: {
|
|
2644
|
+
type: 'string',
|
|
2645
|
+
description: 'Digest of the layer.',
|
|
2646
|
+
example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
|
|
2647
|
+
},
|
|
2648
|
+
size: {
|
|
2649
|
+
type: 'number',
|
|
2650
|
+
format: 'float',
|
|
2651
|
+
description: 'Size of the layer in bytes.',
|
|
2652
|
+
example: 5678
|
|
2653
|
+
}
|
|
2654
|
+
},
|
|
2655
|
+
required: [
|
|
2656
|
+
'size'
|
|
2657
|
+
],
|
|
2658
|
+
additionalProperties: false
|
|
2659
|
+
},
|
|
2660
|
+
description: 'Array of layer metadata.'
|
|
1157
2661
|
},
|
|
1158
|
-
|
|
1159
|
-
type: '
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
2662
|
+
manifests: {
|
|
2663
|
+
type: 'array',
|
|
2664
|
+
items: {
|
|
2665
|
+
type: 'object',
|
|
2666
|
+
properties: {
|
|
2667
|
+
digest: {
|
|
2668
|
+
type: 'string',
|
|
2669
|
+
description: 'Digest of the manifest.',
|
|
2670
|
+
example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
|
|
2671
|
+
},
|
|
2672
|
+
platform: {
|
|
2673
|
+
type: 'object',
|
|
2674
|
+
properties: {
|
|
2675
|
+
architecture: {
|
|
2676
|
+
type: 'string',
|
|
2677
|
+
description: 'Architecture of the platform.',
|
|
2678
|
+
example: 'amd64'
|
|
2679
|
+
},
|
|
2680
|
+
os: {
|
|
2681
|
+
type: 'string',
|
|
2682
|
+
description: 'Operating system of the platform.',
|
|
2683
|
+
example: 'linux'
|
|
2684
|
+
},
|
|
2685
|
+
variant: {
|
|
2686
|
+
type: 'string',
|
|
2687
|
+
description: 'Variant of the platform (e.g., v7, v8 for ARM).',
|
|
2688
|
+
example: 'v8'
|
|
2689
|
+
}
|
|
2690
|
+
},
|
|
2691
|
+
required: [
|
|
2692
|
+
'architecture',
|
|
2693
|
+
'os'
|
|
2694
|
+
],
|
|
2695
|
+
additionalProperties: false,
|
|
2696
|
+
description: 'Platform information for the manifest.'
|
|
2697
|
+
},
|
|
2698
|
+
layers: {
|
|
2699
|
+
type: 'array',
|
|
2700
|
+
items: {
|
|
2701
|
+
type: 'object',
|
|
2702
|
+
properties: {
|
|
2703
|
+
digest: {
|
|
2704
|
+
type: 'string',
|
|
2705
|
+
description: 'Digest of the layer.',
|
|
2706
|
+
example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
|
|
2707
|
+
},
|
|
2708
|
+
size: {
|
|
2709
|
+
type: 'number',
|
|
2710
|
+
format: 'float',
|
|
2711
|
+
description: 'Size of the layer in bytes.',
|
|
2712
|
+
example: 5678
|
|
2713
|
+
}
|
|
2714
|
+
},
|
|
2715
|
+
required: [
|
|
2716
|
+
'size'
|
|
2717
|
+
],
|
|
2718
|
+
additionalProperties: false
|
|
2719
|
+
},
|
|
2720
|
+
description: 'Layers for this platform.'
|
|
2721
|
+
},
|
|
2722
|
+
size: {
|
|
2723
|
+
type: 'number',
|
|
2724
|
+
format: 'float',
|
|
2725
|
+
description: 'Total size of this platform manifest in bytes.',
|
|
2726
|
+
example: 12345678
|
|
2727
|
+
}
|
|
2728
|
+
},
|
|
2729
|
+
required: [
|
|
2730
|
+
'digest'
|
|
2731
|
+
],
|
|
2732
|
+
additionalProperties: false
|
|
2733
|
+
},
|
|
2734
|
+
description: 'Array of manifests for multi-arch images.'
|
|
1163
2735
|
},
|
|
1164
|
-
|
|
1165
|
-
type: '
|
|
1166
|
-
|
|
1167
|
-
description: '
|
|
1168
|
-
example:
|
|
2736
|
+
size: {
|
|
2737
|
+
type: 'number',
|
|
2738
|
+
format: 'float',
|
|
2739
|
+
description: 'Total size of the tag in bytes.',
|
|
2740
|
+
example: 123456789
|
|
1169
2741
|
},
|
|
1170
|
-
|
|
2742
|
+
region: {
|
|
1171
2743
|
type: 'string',
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
example: 'email@example.com'
|
|
2744
|
+
description: 'Registry region.',
|
|
2745
|
+
example: 'northamerica'
|
|
1175
2746
|
},
|
|
1176
|
-
|
|
2747
|
+
repository: {
|
|
1177
2748
|
type: 'string',
|
|
1178
|
-
description: '
|
|
1179
|
-
example: '
|
|
2749
|
+
description: 'Repository name.',
|
|
2750
|
+
example: 'my-app'
|
|
1180
2751
|
},
|
|
1181
|
-
|
|
2752
|
+
uri: {
|
|
1182
2753
|
type: 'string',
|
|
1183
|
-
description: '
|
|
1184
|
-
example: '
|
|
2754
|
+
description: 'Full URI of the tag.',
|
|
2755
|
+
example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app:latest'
|
|
1185
2756
|
}
|
|
1186
2757
|
},
|
|
1187
|
-
required: [
|
|
2758
|
+
required: [
|
|
2759
|
+
'name',
|
|
2760
|
+
'digest',
|
|
2761
|
+
'size',
|
|
2762
|
+
'region',
|
|
2763
|
+
'repository',
|
|
2764
|
+
'uri'
|
|
2765
|
+
],
|
|
1188
2766
|
additionalProperties: false
|
|
1189
2767
|
};
|
|
1190
|
-
export const
|
|
2768
|
+
export const TicketAttachmentSchema = {
|
|
1191
2769
|
type: 'object',
|
|
1192
2770
|
properties: {
|
|
1193
|
-
|
|
2771
|
+
id: {
|
|
1194
2772
|
type: 'string',
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
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,}$',
|
|
1198
|
-
description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
|
|
1199
|
-
example: 'ACME Corp.'
|
|
2773
|
+
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
2774
|
+
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
1200
2775
|
},
|
|
1201
|
-
|
|
1202
|
-
type: '
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
type: 'string',
|
|
1206
|
-
description: 'Street address, P.O. box, c/o',
|
|
1207
|
-
example: '123 Main St.'
|
|
1208
|
-
},
|
|
1209
|
-
address2: {
|
|
1210
|
-
type: 'string',
|
|
1211
|
-
description: 'Apartment, suite, unit, building, floor, etc.',
|
|
1212
|
-
example: 'Suite 100'
|
|
1213
|
-
},
|
|
1214
|
-
postalCode: {
|
|
1215
|
-
type: 'string',
|
|
1216
|
-
description: 'Postal code as a string.',
|
|
1217
|
-
example: '94105'
|
|
1218
|
-
},
|
|
1219
|
-
city: {
|
|
1220
|
-
type: 'string',
|
|
1221
|
-
description: 'City or town name.',
|
|
1222
|
-
example: 'San Francisco'
|
|
1223
|
-
},
|
|
1224
|
-
state: {
|
|
1225
|
-
type: 'string',
|
|
1226
|
-
description: 'State, province, or region name.',
|
|
1227
|
-
example: 'CA'
|
|
1228
|
-
},
|
|
1229
|
-
country: {
|
|
1230
|
-
type: 'string',
|
|
1231
|
-
description: 'Country as a ISO 3166-1 alpha-2 country code.',
|
|
1232
|
-
example: 'US'
|
|
1233
|
-
},
|
|
1234
|
-
phone: {
|
|
1235
|
-
type: 'string',
|
|
1236
|
-
description: 'Phone number as a string.',
|
|
1237
|
-
example: '+1 555 555 5555'
|
|
1238
|
-
},
|
|
1239
|
-
email: {
|
|
1240
|
-
type: 'string',
|
|
1241
|
-
format: 'email',
|
|
1242
|
-
description: 'Email address used for billing as a string.',
|
|
1243
|
-
example: 'email@example.com'
|
|
1244
|
-
},
|
|
1245
|
-
first_name: {
|
|
1246
|
-
type: 'string',
|
|
1247
|
-
description: 'First name of the billing contact person.',
|
|
1248
|
-
example: 'John'
|
|
1249
|
-
},
|
|
1250
|
-
last_name: {
|
|
1251
|
-
type: 'string',
|
|
1252
|
-
description: 'Last name of the billing contact person.',
|
|
1253
|
-
example: 'Doe'
|
|
1254
|
-
}
|
|
1255
|
-
},
|
|
1256
|
-
required: ['email', 'first_name', 'last_name'],
|
|
1257
|
-
additionalProperties: false,
|
|
1258
|
-
description: 'Organization contact information and billing address.'
|
|
2776
|
+
filename: {
|
|
2777
|
+
type: 'string',
|
|
2778
|
+
description: 'Original filename as uploaded.',
|
|
2779
|
+
example: 'debug.log'
|
|
1259
2780
|
},
|
|
1260
|
-
|
|
2781
|
+
content_type: {
|
|
1261
2782
|
type: 'string',
|
|
1262
|
-
|
|
1263
|
-
|
|
2783
|
+
description: 'MIME content type of the attachment.',
|
|
2784
|
+
example: 'text/plain'
|
|
2785
|
+
},
|
|
2786
|
+
size: {
|
|
2787
|
+
type: 'integer',
|
|
2788
|
+
description: 'Size of the attachment in bytes.',
|
|
2789
|
+
example: 12345
|
|
1264
2790
|
}
|
|
1265
2791
|
},
|
|
1266
|
-
required: [
|
|
2792
|
+
required: [
|
|
2793
|
+
'id',
|
|
2794
|
+
'filename',
|
|
2795
|
+
'content_type',
|
|
2796
|
+
'size'
|
|
2797
|
+
],
|
|
1267
2798
|
additionalProperties: false
|
|
1268
2799
|
};
|
|
1269
|
-
export const
|
|
2800
|
+
export const TicketCreateInputSchema = {
|
|
1270
2801
|
type: 'object',
|
|
1271
2802
|
properties: {
|
|
1272
|
-
|
|
1273
|
-
type: 'string',
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
type: 'object',
|
|
1282
|
-
properties: {
|
|
1283
|
-
address1: {
|
|
1284
|
-
type: 'string',
|
|
1285
|
-
description: 'Street address, P.O. box, c/o',
|
|
1286
|
-
example: '123 Main St.'
|
|
1287
|
-
},
|
|
1288
|
-
address2: {
|
|
1289
|
-
type: 'string',
|
|
1290
|
-
description: 'Apartment, suite, unit, building, floor, etc.',
|
|
1291
|
-
example: 'Suite 100'
|
|
1292
|
-
},
|
|
1293
|
-
postalCode: {
|
|
1294
|
-
type: 'string',
|
|
1295
|
-
description: 'Postal code as a string.',
|
|
1296
|
-
example: '94105'
|
|
1297
|
-
},
|
|
1298
|
-
city: {
|
|
1299
|
-
type: 'string',
|
|
1300
|
-
description: 'City or town name.',
|
|
1301
|
-
example: 'San Francisco'
|
|
1302
|
-
},
|
|
1303
|
-
state: {
|
|
1304
|
-
type: 'string',
|
|
1305
|
-
description: 'State, province, or region name.',
|
|
1306
|
-
example: 'CA'
|
|
1307
|
-
},
|
|
1308
|
-
country: {
|
|
1309
|
-
type: 'string',
|
|
1310
|
-
description: 'Country as a ISO 3166-1 alpha-2 country code.',
|
|
1311
|
-
example: 'US'
|
|
1312
|
-
},
|
|
1313
|
-
phone: {
|
|
1314
|
-
type: 'string',
|
|
1315
|
-
description: 'Phone number as a string.',
|
|
1316
|
-
example: '+1 555 555 5555'
|
|
1317
|
-
},
|
|
1318
|
-
email: {
|
|
1319
|
-
type: 'string',
|
|
1320
|
-
format: 'email',
|
|
1321
|
-
description: 'Email address used for billing as a string.',
|
|
1322
|
-
example: 'email@example.com'
|
|
1323
|
-
},
|
|
1324
|
-
first_name: {
|
|
1325
|
-
type: 'string',
|
|
1326
|
-
description: 'First name of the billing contact person.',
|
|
1327
|
-
example: 'John'
|
|
1328
|
-
},
|
|
1329
|
-
last_name: {
|
|
1330
|
-
type: 'string',
|
|
1331
|
-
description: 'Last name of the billing contact person.',
|
|
1332
|
-
example: 'Doe'
|
|
1333
|
-
}
|
|
1334
|
-
},
|
|
1335
|
-
required: ['email', 'first_name', 'last_name'],
|
|
1336
|
-
additionalProperties: false,
|
|
1337
|
-
description: 'Organization contact information and billing address.'
|
|
1338
|
-
},
|
|
1339
|
-
id: {
|
|
1340
|
-
type: 'string',
|
|
1341
|
-
format: 'uuid',
|
|
1342
|
-
description: 'Unique identifier of the organization. UUID v4 string in canonical form',
|
|
1343
|
-
example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
|
|
2803
|
+
category: {
|
|
2804
|
+
type: 'string',
|
|
2805
|
+
description: 'Ticket category. Drives auto-assignment and may carry a subcategory in `properties`.',
|
|
2806
|
+
example: 'technical',
|
|
2807
|
+
enum: [
|
|
2808
|
+
'billing',
|
|
2809
|
+
'technical',
|
|
2810
|
+
'general'
|
|
2811
|
+
]
|
|
1344
2812
|
},
|
|
1345
|
-
|
|
2813
|
+
body: {
|
|
1346
2814
|
type: 'string',
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
2815
|
+
maxLength: 50000,
|
|
2816
|
+
minLength: 1,
|
|
2817
|
+
pattern: '\\S',
|
|
2818
|
+
description: 'Initial message body in markdown. There is no separate subject — the first message body is the description.',
|
|
2819
|
+
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
1350
2820
|
},
|
|
1351
|
-
|
|
2821
|
+
properties: {
|
|
1352
2822
|
type: 'object',
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
pro_clusters_available: {
|
|
1372
|
-
type: 'integer',
|
|
1373
|
-
description: 'Available number of Pro clusters that can be created.',
|
|
1374
|
-
example: 999
|
|
1375
|
-
},
|
|
1376
|
-
fleets_max: {
|
|
1377
|
-
type: 'integer',
|
|
1378
|
-
minimum: 0,
|
|
1379
|
-
description: 'Maximum number of fleets that can be created per cluster.',
|
|
1380
|
-
example: 999
|
|
1381
|
-
},
|
|
1382
|
-
managed_fleets_cpu_max: {
|
|
1383
|
-
type: 'integer',
|
|
1384
|
-
minimum: 0,
|
|
1385
|
-
description: 'Maximum number of CPU cores per managed fleet.',
|
|
1386
|
-
example: 999
|
|
1387
|
-
},
|
|
1388
|
-
cluster_tiers: {
|
|
1389
|
-
type: 'array',
|
|
1390
|
-
items: {
|
|
1391
|
-
type: 'string',
|
|
1392
|
-
example: 'basic'
|
|
1393
|
-
},
|
|
1394
|
-
minItems: 0,
|
|
1395
|
-
description: 'List of Cloudfleet cluster tiers available for the organization.'
|
|
1396
|
-
},
|
|
1397
|
-
regions: {
|
|
1398
|
-
type: 'array',
|
|
1399
|
-
items: {
|
|
1400
|
-
type: 'string',
|
|
1401
|
-
example: 'northamerica-central-1'
|
|
1402
|
-
},
|
|
1403
|
-
minItems: 1,
|
|
1404
|
-
description: 'List of Cloudfleet control plane regions available for the organization.'
|
|
1405
|
-
},
|
|
1406
|
-
versions: {
|
|
1407
|
-
type: 'array',
|
|
1408
|
-
items: {
|
|
1409
|
-
type: 'object',
|
|
1410
|
-
properties: {
|
|
1411
|
-
id: {
|
|
1412
|
-
type: 'string',
|
|
1413
|
-
description: 'Id of the control plane version. Used in API calls.',
|
|
1414
|
-
example: '1.29.x-cfke.x'
|
|
1415
|
-
},
|
|
1416
|
-
label: {
|
|
1417
|
-
type: 'string',
|
|
1418
|
-
description: 'Label of the control plane version. Used in frontent UI.',
|
|
1419
|
-
example: '1.29.x (Always latest 1.29 patch version)'
|
|
1420
|
-
}
|
|
1421
|
-
},
|
|
1422
|
-
required: ['id', 'label'],
|
|
1423
|
-
additionalProperties: false
|
|
1424
|
-
},
|
|
1425
|
-
minItems: 1,
|
|
1426
|
-
description: 'List of CFKE control plane versions available for the organization.'
|
|
1427
|
-
}
|
|
1428
|
-
},
|
|
1429
|
-
required: ['basic_clusters_max', 'basic_clusters_available', 'pro_clusters_max', 'pro_clusters_available', 'fleets_max', 'managed_fleets_cpu_max', 'cluster_tiers', 'regions', 'versions'],
|
|
1430
|
-
additionalProperties: false,
|
|
1431
|
-
description: 'For security reasons, platform quota is controlled by Cloudfleet and can be updated only by Cloudfleet administrators. Please open a support ticket if you need to change the platform quota.'
|
|
1432
|
-
},
|
|
1433
|
-
pending_actions: {
|
|
2823
|
+
additionalProperties: true,
|
|
2824
|
+
description: 'Free-form key/value bag set by the UI (e.g. `subcategory`, `cluster_id`, `cluster_name`, `region`).',
|
|
2825
|
+
example: {
|
|
2826
|
+
subcategory: 'cluster-question',
|
|
2827
|
+
cluster_id: '60c72b2f9f1b2c001f8e4d3a'
|
|
2828
|
+
}
|
|
2829
|
+
}
|
|
2830
|
+
},
|
|
2831
|
+
required: [
|
|
2832
|
+
'category',
|
|
2833
|
+
'body'
|
|
2834
|
+
],
|
|
2835
|
+
additionalProperties: false
|
|
2836
|
+
};
|
|
2837
|
+
export const TicketListResponseSchema = {
|
|
2838
|
+
type: 'object',
|
|
2839
|
+
properties: {
|
|
2840
|
+
items: {
|
|
1434
2841
|
type: 'array',
|
|
1435
2842
|
items: {
|
|
1436
|
-
type: '
|
|
1437
|
-
|
|
1438
|
-
|
|
2843
|
+
type: 'object',
|
|
2844
|
+
properties: {
|
|
2845
|
+
id: {
|
|
2846
|
+
type: 'string',
|
|
2847
|
+
description: 'Unique identifier of the ticket (Mongo ObjectId).',
|
|
2848
|
+
example: '60c72b2f9f1b2c001f8e4d3a'
|
|
2849
|
+
},
|
|
2850
|
+
status: {
|
|
2851
|
+
type: 'string',
|
|
2852
|
+
description: 'Current state of the ticket.',
|
|
2853
|
+
example: 'waiting_on_us',
|
|
2854
|
+
enum: [
|
|
2855
|
+
'waiting_on_us',
|
|
2856
|
+
'waiting_on_user',
|
|
2857
|
+
'closed'
|
|
2858
|
+
]
|
|
2859
|
+
},
|
|
2860
|
+
category: {
|
|
2861
|
+
type: 'string',
|
|
2862
|
+
description: 'Ticket category.',
|
|
2863
|
+
example: 'technical',
|
|
2864
|
+
enum: [
|
|
2865
|
+
'billing',
|
|
2866
|
+
'technical',
|
|
2867
|
+
'general'
|
|
2868
|
+
]
|
|
2869
|
+
},
|
|
2870
|
+
summary: {
|
|
2871
|
+
type: 'string',
|
|
2872
|
+
description: 'First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.',
|
|
2873
|
+
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
2874
|
+
},
|
|
2875
|
+
closed_at: {
|
|
2876
|
+
type: 'string',
|
|
2877
|
+
format: 'date-time',
|
|
2878
|
+
nullable: true,
|
|
2879
|
+
description: 'Closure timestamp. Null while the ticket is open.',
|
|
2880
|
+
example: '2026-05-18T16:08:14.338Z'
|
|
2881
|
+
},
|
|
2882
|
+
date_created: {
|
|
2883
|
+
type: 'string',
|
|
2884
|
+
format: 'date-time',
|
|
2885
|
+
description: 'Creation date of the ticket. ISO 8601 UTC.',
|
|
2886
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
2887
|
+
},
|
|
2888
|
+
date_updated: {
|
|
2889
|
+
type: 'string',
|
|
2890
|
+
format: 'date-time',
|
|
2891
|
+
description: 'Last update date of the ticket. ISO 8601 UTC.',
|
|
2892
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
2893
|
+
},
|
|
2894
|
+
messages: {
|
|
2895
|
+
type: 'array',
|
|
2896
|
+
items: {
|
|
2897
|
+
type: 'object',
|
|
2898
|
+
properties: {
|
|
2899
|
+
id: {
|
|
2900
|
+
type: 'string',
|
|
2901
|
+
description: 'Unique identifier of the message (Mongo ObjectId).',
|
|
2902
|
+
example: '60c72b2f9f1b2c001f8e4d3b'
|
|
2903
|
+
},
|
|
2904
|
+
type: {
|
|
2905
|
+
type: 'string',
|
|
2906
|
+
description: 'Message type. Internal notes are filtered out of customer-facing responses.',
|
|
2907
|
+
example: 'customer_reply',
|
|
2908
|
+
enum: [
|
|
2909
|
+
'customer_reply',
|
|
2910
|
+
'agent_reply'
|
|
2911
|
+
]
|
|
2912
|
+
},
|
|
2913
|
+
body: {
|
|
2914
|
+
type: 'string',
|
|
2915
|
+
description: 'Message body in markdown.',
|
|
2916
|
+
example: 'Thanks — that resolved it on my side.'
|
|
2917
|
+
},
|
|
2918
|
+
author_first_name: {
|
|
2919
|
+
type: 'string',
|
|
2920
|
+
nullable: true,
|
|
2921
|
+
description: 'First name of the author. Null when not provided.',
|
|
2922
|
+
example: 'Jane'
|
|
2923
|
+
},
|
|
2924
|
+
author_last_name: {
|
|
2925
|
+
type: 'string',
|
|
2926
|
+
nullable: true,
|
|
2927
|
+
description: 'Last name of the author. Null when not provided.',
|
|
2928
|
+
example: 'Doe'
|
|
2929
|
+
},
|
|
2930
|
+
attachments: {
|
|
2931
|
+
type: 'array',
|
|
2932
|
+
items: {
|
|
2933
|
+
type: 'object',
|
|
2934
|
+
properties: {
|
|
2935
|
+
id: {
|
|
2936
|
+
type: 'string',
|
|
2937
|
+
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
2938
|
+
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
2939
|
+
},
|
|
2940
|
+
filename: {
|
|
2941
|
+
type: 'string',
|
|
2942
|
+
description: 'Original filename as uploaded.',
|
|
2943
|
+
example: 'debug.log'
|
|
2944
|
+
},
|
|
2945
|
+
content_type: {
|
|
2946
|
+
type: 'string',
|
|
2947
|
+
description: 'MIME content type of the attachment.',
|
|
2948
|
+
example: 'text/plain'
|
|
2949
|
+
},
|
|
2950
|
+
size: {
|
|
2951
|
+
type: 'integer',
|
|
2952
|
+
description: 'Size of the attachment in bytes.',
|
|
2953
|
+
example: 12345
|
|
2954
|
+
}
|
|
2955
|
+
},
|
|
2956
|
+
required: [
|
|
2957
|
+
'id',
|
|
2958
|
+
'filename',
|
|
2959
|
+
'content_type',
|
|
2960
|
+
'size'
|
|
2961
|
+
],
|
|
2962
|
+
additionalProperties: false
|
|
2963
|
+
},
|
|
2964
|
+
description: 'Attachments associated with this message.',
|
|
2965
|
+
example: []
|
|
2966
|
+
},
|
|
2967
|
+
date_created: {
|
|
2968
|
+
type: 'string',
|
|
2969
|
+
format: 'date-time',
|
|
2970
|
+
description: 'Creation date of the message. ISO 8601 UTC.',
|
|
2971
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
2972
|
+
}
|
|
2973
|
+
},
|
|
2974
|
+
required: [
|
|
2975
|
+
'id',
|
|
2976
|
+
'type',
|
|
2977
|
+
'body',
|
|
2978
|
+
'date_created'
|
|
2979
|
+
],
|
|
2980
|
+
additionalProperties: false
|
|
2981
|
+
},
|
|
2982
|
+
description: 'Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.'
|
|
2983
|
+
}
|
|
2984
|
+
},
|
|
2985
|
+
required: [
|
|
2986
|
+
'id',
|
|
2987
|
+
'status',
|
|
2988
|
+
'category',
|
|
2989
|
+
'summary',
|
|
2990
|
+
'date_created',
|
|
2991
|
+
'date_updated'
|
|
2992
|
+
],
|
|
2993
|
+
additionalProperties: false
|
|
1439
2994
|
},
|
|
1440
|
-
description: '
|
|
1441
|
-
}
|
|
1442
|
-
|
|
2995
|
+
description: 'Tickets for the organization, ordered newest first. Messages are omitted from list responses.'
|
|
2996
|
+
}
|
|
2997
|
+
},
|
|
2998
|
+
required: [
|
|
2999
|
+
'items'
|
|
3000
|
+
],
|
|
3001
|
+
additionalProperties: false
|
|
3002
|
+
};
|
|
3003
|
+
export const TicketMessageInputSchema = {
|
|
3004
|
+
type: 'object',
|
|
3005
|
+
properties: {
|
|
3006
|
+
body: {
|
|
1443
3007
|
type: 'string',
|
|
1444
|
-
|
|
1445
|
-
|
|
3008
|
+
maxLength: 50000,
|
|
3009
|
+
minLength: 1,
|
|
3010
|
+
pattern: '\\S',
|
|
3011
|
+
description: 'Reply body in markdown.',
|
|
3012
|
+
example: 'Thanks — that resolved it on my side.'
|
|
1446
3013
|
}
|
|
1447
3014
|
},
|
|
1448
|
-
required: [
|
|
3015
|
+
required: [
|
|
3016
|
+
'body'
|
|
3017
|
+
],
|
|
1449
3018
|
additionalProperties: false
|
|
1450
3019
|
};
|
|
1451
|
-
export const
|
|
3020
|
+
export const TicketMessageSchema = {
|
|
1452
3021
|
type: 'object',
|
|
1453
3022
|
properties: {
|
|
1454
|
-
|
|
3023
|
+
id: {
|
|
1455
3024
|
type: 'string',
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
pattern: '^(?!\\s)(?!.*\\s$)(?=.*[a-zA-ZÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ0-9])[a-zA-ZÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ0-9 -.]{2,}$',
|
|
1459
|
-
description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
|
|
1460
|
-
example: 'ACME Corp.'
|
|
3025
|
+
description: 'Unique identifier of the message (Mongo ObjectId).',
|
|
3026
|
+
example: '60c72b2f9f1b2c001f8e4d3b'
|
|
1461
3027
|
},
|
|
1462
|
-
|
|
1463
|
-
type: '
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
3028
|
+
type: {
|
|
3029
|
+
type: 'string',
|
|
3030
|
+
description: 'Message type. Internal notes are filtered out of customer-facing responses.',
|
|
3031
|
+
example: 'customer_reply',
|
|
3032
|
+
enum: [
|
|
3033
|
+
'customer_reply',
|
|
3034
|
+
'agent_reply'
|
|
3035
|
+
]
|
|
3036
|
+
},
|
|
3037
|
+
body: {
|
|
3038
|
+
type: 'string',
|
|
3039
|
+
description: 'Message body in markdown.',
|
|
3040
|
+
example: 'Thanks — that resolved it on my side.'
|
|
3041
|
+
},
|
|
3042
|
+
author_first_name: {
|
|
3043
|
+
type: 'string',
|
|
3044
|
+
description: 'First name of the author. Null when not provided.',
|
|
3045
|
+
example: 'Jane'
|
|
3046
|
+
},
|
|
3047
|
+
author_last_name: {
|
|
3048
|
+
type: 'string',
|
|
3049
|
+
description: 'Last name of the author. Null when not provided.',
|
|
3050
|
+
example: 'Doe'
|
|
3051
|
+
},
|
|
3052
|
+
attachments: {
|
|
3053
|
+
type: 'array',
|
|
3054
|
+
items: {
|
|
3055
|
+
type: 'object',
|
|
3056
|
+
properties: {
|
|
3057
|
+
id: {
|
|
3058
|
+
type: 'string',
|
|
3059
|
+
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
3060
|
+
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
3061
|
+
},
|
|
3062
|
+
filename: {
|
|
3063
|
+
type: 'string',
|
|
3064
|
+
description: 'Original filename as uploaded.',
|
|
3065
|
+
example: 'debug.log'
|
|
3066
|
+
},
|
|
3067
|
+
content_type: {
|
|
3068
|
+
type: 'string',
|
|
3069
|
+
description: 'MIME content type of the attachment.',
|
|
3070
|
+
example: 'text/plain'
|
|
3071
|
+
},
|
|
3072
|
+
size: {
|
|
3073
|
+
type: 'integer',
|
|
3074
|
+
description: 'Size of the attachment in bytes.',
|
|
3075
|
+
example: 12345
|
|
3076
|
+
}
|
|
1510
3077
|
},
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
3078
|
+
required: [
|
|
3079
|
+
'id',
|
|
3080
|
+
'filename',
|
|
3081
|
+
'content_type',
|
|
3082
|
+
'size'
|
|
3083
|
+
],
|
|
3084
|
+
additionalProperties: false
|
|
1516
3085
|
},
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
3086
|
+
description: 'Attachments associated with this message.',
|
|
3087
|
+
example: []
|
|
3088
|
+
},
|
|
3089
|
+
date_created: {
|
|
3090
|
+
type: 'string',
|
|
3091
|
+
format: 'date-time',
|
|
3092
|
+
description: 'Creation date of the message. ISO 8601 UTC.',
|
|
3093
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
1520
3094
|
}
|
|
1521
3095
|
},
|
|
1522
|
-
required: [
|
|
3096
|
+
required: [
|
|
3097
|
+
'id',
|
|
3098
|
+
'type',
|
|
3099
|
+
'body',
|
|
3100
|
+
'date_created'
|
|
3101
|
+
],
|
|
1523
3102
|
additionalProperties: false
|
|
1524
3103
|
};
|
|
1525
|
-
export const
|
|
3104
|
+
export const TicketSchema = {
|
|
1526
3105
|
type: 'object',
|
|
1527
3106
|
properties: {
|
|
1528
3107
|
id: {
|
|
1529
3108
|
type: 'string',
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
|
|
3109
|
+
description: 'Unique identifier of the ticket (Mongo ObjectId).',
|
|
3110
|
+
example: '60c72b2f9f1b2c001f8e4d3a'
|
|
1533
3111
|
},
|
|
1534
|
-
|
|
1535
|
-
type: '
|
|
1536
|
-
description: '
|
|
1537
|
-
example:
|
|
3112
|
+
status: {
|
|
3113
|
+
type: 'string',
|
|
3114
|
+
description: 'Current state of the ticket.',
|
|
3115
|
+
example: 'waiting_on_us',
|
|
3116
|
+
enum: [
|
|
3117
|
+
'waiting_on_us',
|
|
3118
|
+
'waiting_on_user',
|
|
3119
|
+
'closed'
|
|
3120
|
+
]
|
|
1538
3121
|
},
|
|
1539
|
-
|
|
3122
|
+
category: {
|
|
1540
3123
|
type: 'string',
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
3124
|
+
description: 'Ticket category.',
|
|
3125
|
+
example: 'technical',
|
|
3126
|
+
enum: [
|
|
3127
|
+
'billing',
|
|
3128
|
+
'technical',
|
|
3129
|
+
'general'
|
|
3130
|
+
]
|
|
1545
3131
|
},
|
|
1546
|
-
|
|
3132
|
+
summary: {
|
|
1547
3133
|
type: 'string',
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
example: '4242'
|
|
3134
|
+
description: 'First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.',
|
|
3135
|
+
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
1551
3136
|
},
|
|
1552
|
-
|
|
1553
|
-
type: '
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
description: "Two-digit number representing the card's expiration month.",
|
|
1558
|
-
example: '12'
|
|
3137
|
+
closed_at: {
|
|
3138
|
+
type: 'string',
|
|
3139
|
+
format: 'date-time',
|
|
3140
|
+
description: 'Closure timestamp. Null while the ticket is open.',
|
|
3141
|
+
example: '2026-05-18T16:08:14.338Z'
|
|
1559
3142
|
},
|
|
1560
|
-
|
|
1561
|
-
type: '
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
example: '2028'
|
|
3143
|
+
date_created: {
|
|
3144
|
+
type: 'string',
|
|
3145
|
+
format: 'date-time',
|
|
3146
|
+
description: 'Creation date of the ticket. ISO 8601 UTC.',
|
|
3147
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
1566
3148
|
},
|
|
1567
|
-
|
|
3149
|
+
date_updated: {
|
|
1568
3150
|
type: 'string',
|
|
1569
|
-
|
|
1570
|
-
description: '
|
|
1571
|
-
example: '
|
|
1572
|
-
|
|
3151
|
+
format: 'date-time',
|
|
3152
|
+
description: 'Last update date of the ticket. ISO 8601 UTC.',
|
|
3153
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3154
|
+
},
|
|
3155
|
+
messages: {
|
|
3156
|
+
type: 'array',
|
|
3157
|
+
items: {
|
|
3158
|
+
type: 'object',
|
|
3159
|
+
properties: {
|
|
3160
|
+
id: {
|
|
3161
|
+
type: 'string',
|
|
3162
|
+
description: 'Unique identifier of the message (Mongo ObjectId).',
|
|
3163
|
+
example: '60c72b2f9f1b2c001f8e4d3b'
|
|
3164
|
+
},
|
|
3165
|
+
type: {
|
|
3166
|
+
type: 'string',
|
|
3167
|
+
description: 'Message type. Internal notes are filtered out of customer-facing responses.',
|
|
3168
|
+
example: 'customer_reply',
|
|
3169
|
+
enum: [
|
|
3170
|
+
'customer_reply',
|
|
3171
|
+
'agent_reply'
|
|
3172
|
+
]
|
|
3173
|
+
},
|
|
3174
|
+
body: {
|
|
3175
|
+
type: 'string',
|
|
3176
|
+
description: 'Message body in markdown.',
|
|
3177
|
+
example: 'Thanks — that resolved it on my side.'
|
|
3178
|
+
},
|
|
3179
|
+
author_first_name: {
|
|
3180
|
+
type: 'string',
|
|
3181
|
+
description: 'First name of the author. Null when not provided.',
|
|
3182
|
+
example: 'Jane'
|
|
3183
|
+
},
|
|
3184
|
+
author_last_name: {
|
|
3185
|
+
type: 'string',
|
|
3186
|
+
description: 'Last name of the author. Null when not provided.',
|
|
3187
|
+
example: 'Doe'
|
|
3188
|
+
},
|
|
3189
|
+
attachments: {
|
|
3190
|
+
type: 'array',
|
|
3191
|
+
items: {
|
|
3192
|
+
type: 'object',
|
|
3193
|
+
properties: {
|
|
3194
|
+
id: {
|
|
3195
|
+
type: 'string',
|
|
3196
|
+
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
3197
|
+
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
3198
|
+
},
|
|
3199
|
+
filename: {
|
|
3200
|
+
type: 'string',
|
|
3201
|
+
description: 'Original filename as uploaded.',
|
|
3202
|
+
example: 'debug.log'
|
|
3203
|
+
},
|
|
3204
|
+
content_type: {
|
|
3205
|
+
type: 'string',
|
|
3206
|
+
description: 'MIME content type of the attachment.',
|
|
3207
|
+
example: 'text/plain'
|
|
3208
|
+
},
|
|
3209
|
+
size: {
|
|
3210
|
+
type: 'integer',
|
|
3211
|
+
description: 'Size of the attachment in bytes.',
|
|
3212
|
+
example: 12345
|
|
3213
|
+
}
|
|
3214
|
+
},
|
|
3215
|
+
required: [
|
|
3216
|
+
'id',
|
|
3217
|
+
'filename',
|
|
3218
|
+
'content_type',
|
|
3219
|
+
'size'
|
|
3220
|
+
],
|
|
3221
|
+
additionalProperties: false
|
|
3222
|
+
},
|
|
3223
|
+
description: 'Attachments associated with this message.',
|
|
3224
|
+
example: []
|
|
3225
|
+
},
|
|
3226
|
+
date_created: {
|
|
3227
|
+
type: 'string',
|
|
3228
|
+
format: 'date-time',
|
|
3229
|
+
description: 'Creation date of the message. ISO 8601 UTC.',
|
|
3230
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3231
|
+
}
|
|
3232
|
+
},
|
|
3233
|
+
required: [
|
|
3234
|
+
'id',
|
|
3235
|
+
'type',
|
|
3236
|
+
'body',
|
|
3237
|
+
'date_created'
|
|
3238
|
+
],
|
|
3239
|
+
additionalProperties: false
|
|
3240
|
+
},
|
|
3241
|
+
description: 'Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.'
|
|
1573
3242
|
}
|
|
1574
3243
|
},
|
|
1575
|
-
required: [
|
|
3244
|
+
required: [
|
|
3245
|
+
'id',
|
|
3246
|
+
'status',
|
|
3247
|
+
'category',
|
|
3248
|
+
'summary',
|
|
3249
|
+
'date_created',
|
|
3250
|
+
'date_updated'
|
|
3251
|
+
],
|
|
1576
3252
|
additionalProperties: false
|
|
1577
3253
|
};
|
|
1578
3254
|
export const TokenCreateInputSchema = {
|
|
@@ -1590,10 +3266,16 @@ export const TokenCreateInputSchema = {
|
|
|
1590
3266
|
type: 'string',
|
|
1591
3267
|
description: 'Role assumed by the token.',
|
|
1592
3268
|
example: 'User',
|
|
1593
|
-
enum: [
|
|
3269
|
+
enum: [
|
|
3270
|
+
'Administrator',
|
|
3271
|
+
'User'
|
|
3272
|
+
]
|
|
1594
3273
|
}
|
|
1595
3274
|
},
|
|
1596
|
-
required: [
|
|
3275
|
+
required: [
|
|
3276
|
+
'name',
|
|
3277
|
+
'role'
|
|
3278
|
+
],
|
|
1597
3279
|
additionalProperties: false
|
|
1598
3280
|
};
|
|
1599
3281
|
export const TokenSchema = {
|
|
@@ -1611,7 +3293,10 @@ export const TokenSchema = {
|
|
|
1611
3293
|
type: 'string',
|
|
1612
3294
|
description: 'Role assumed by the token.',
|
|
1613
3295
|
example: 'User',
|
|
1614
|
-
enum: [
|
|
3296
|
+
enum: [
|
|
3297
|
+
'Administrator',
|
|
3298
|
+
'User'
|
|
3299
|
+
]
|
|
1615
3300
|
},
|
|
1616
3301
|
id: {
|
|
1617
3302
|
type: 'string',
|
|
@@ -1630,7 +3315,11 @@ export const TokenSchema = {
|
|
|
1630
3315
|
example: '2023-12-20T13:53:32.000Z'
|
|
1631
3316
|
}
|
|
1632
3317
|
},
|
|
1633
|
-
required: [
|
|
3318
|
+
required: [
|
|
3319
|
+
'name',
|
|
3320
|
+
'role',
|
|
3321
|
+
'date_created'
|
|
3322
|
+
],
|
|
1634
3323
|
additionalProperties: false
|
|
1635
3324
|
};
|
|
1636
3325
|
export const TokenUpdateInputSchema = {
|
|
@@ -1648,37 +3337,173 @@ export const TokenUpdateInputSchema = {
|
|
|
1648
3337
|
type: 'string',
|
|
1649
3338
|
description: 'Role assumed by the token.',
|
|
1650
3339
|
example: 'User',
|
|
1651
|
-
enum: [
|
|
3340
|
+
enum: [
|
|
3341
|
+
'Administrator',
|
|
3342
|
+
'User'
|
|
3343
|
+
]
|
|
3344
|
+
}
|
|
3345
|
+
},
|
|
3346
|
+
additionalProperties: false
|
|
3347
|
+
};
|
|
3348
|
+
export const UsageFacetsSchema = {
|
|
3349
|
+
type: 'object',
|
|
3350
|
+
properties: {
|
|
3351
|
+
cluster_id: {
|
|
3352
|
+
type: 'array',
|
|
3353
|
+
items: {
|
|
3354
|
+
type: 'string'
|
|
3355
|
+
},
|
|
3356
|
+
description: 'List of unique cluster IDs',
|
|
3357
|
+
example: [
|
|
3358
|
+
'6b5439b1-923a-4f2b-a371-d554e5ea23fa'
|
|
3359
|
+
]
|
|
3360
|
+
},
|
|
3361
|
+
product: {
|
|
3362
|
+
type: 'array',
|
|
3363
|
+
items: {
|
|
3364
|
+
type: 'string'
|
|
3365
|
+
},
|
|
3366
|
+
description: 'List of unique products',
|
|
3367
|
+
example: [
|
|
3368
|
+
'cfke_controlplane',
|
|
3369
|
+
'cfke_connected_nodes'
|
|
3370
|
+
]
|
|
3371
|
+
}
|
|
3372
|
+
},
|
|
3373
|
+
additionalProperties: false
|
|
3374
|
+
};
|
|
3375
|
+
export const UsageResponseSchema = {
|
|
3376
|
+
type: 'object',
|
|
3377
|
+
properties: {
|
|
3378
|
+
data: {
|
|
3379
|
+
type: 'array',
|
|
3380
|
+
items: {
|
|
3381
|
+
type: 'object',
|
|
3382
|
+
properties: {
|
|
3383
|
+
hour: {
|
|
3384
|
+
type: 'string',
|
|
3385
|
+
description: 'Hour of the usage',
|
|
3386
|
+
example: '2019-01-01T00:00:00.000Z'
|
|
3387
|
+
},
|
|
3388
|
+
cluster_id: {
|
|
3389
|
+
type: 'string',
|
|
3390
|
+
description: 'Unique identifier of the kubernetes cluster. UUID v4 string in canonical form',
|
|
3391
|
+
example: '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
|
|
3392
|
+
},
|
|
3393
|
+
product: {
|
|
3394
|
+
type: 'string',
|
|
3395
|
+
description: 'The product the usage is associated with',
|
|
3396
|
+
example: 'cfke_controlplane'
|
|
3397
|
+
},
|
|
3398
|
+
value: {
|
|
3399
|
+
type: 'number',
|
|
3400
|
+
format: 'float',
|
|
3401
|
+
description: 'Consumption',
|
|
3402
|
+
example: 4
|
|
3403
|
+
},
|
|
3404
|
+
price: {
|
|
3405
|
+
type: 'number',
|
|
3406
|
+
format: 'float',
|
|
3407
|
+
description: 'Price per unit',
|
|
3408
|
+
example: 0.01
|
|
3409
|
+
},
|
|
3410
|
+
total: {
|
|
3411
|
+
type: 'number',
|
|
3412
|
+
format: 'float',
|
|
3413
|
+
description: 'Total cost'
|
|
3414
|
+
}
|
|
3415
|
+
},
|
|
3416
|
+
required: [
|
|
3417
|
+
'hour',
|
|
3418
|
+
'cluster_id',
|
|
3419
|
+
'product',
|
|
3420
|
+
'value',
|
|
3421
|
+
'price',
|
|
3422
|
+
'total'
|
|
3423
|
+
],
|
|
3424
|
+
additionalProperties: false
|
|
3425
|
+
},
|
|
3426
|
+
description: 'Usage data'
|
|
3427
|
+
},
|
|
3428
|
+
facets: {
|
|
3429
|
+
type: 'object',
|
|
3430
|
+
properties: {
|
|
3431
|
+
cluster_id: {
|
|
3432
|
+
type: 'array',
|
|
3433
|
+
items: {
|
|
3434
|
+
type: 'string'
|
|
3435
|
+
},
|
|
3436
|
+
description: 'List of unique cluster IDs',
|
|
3437
|
+
example: [
|
|
3438
|
+
'6b5439b1-923a-4f2b-a371-d554e5ea23fa'
|
|
3439
|
+
]
|
|
3440
|
+
},
|
|
3441
|
+
product: {
|
|
3442
|
+
type: 'array',
|
|
3443
|
+
items: {
|
|
3444
|
+
type: 'string'
|
|
3445
|
+
},
|
|
3446
|
+
description: 'List of unique products',
|
|
3447
|
+
example: [
|
|
3448
|
+
'cfke_controlplane',
|
|
3449
|
+
'cfke_connected_nodes'
|
|
3450
|
+
]
|
|
3451
|
+
}
|
|
3452
|
+
},
|
|
3453
|
+
additionalProperties: false,
|
|
3454
|
+
description: 'Facets for filtering'
|
|
1652
3455
|
}
|
|
1653
3456
|
},
|
|
3457
|
+
required: [
|
|
3458
|
+
'data',
|
|
3459
|
+
'facets'
|
|
3460
|
+
],
|
|
1654
3461
|
additionalProperties: false
|
|
1655
3462
|
};
|
|
1656
3463
|
export const UsageSchema = {
|
|
1657
3464
|
type: 'object',
|
|
1658
3465
|
properties: {
|
|
1659
|
-
|
|
3466
|
+
hour: {
|
|
1660
3467
|
type: 'string',
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
example: '8897e84c-2ba1-42fa-9d35-964c80a4ff0f'
|
|
3468
|
+
description: 'Hour of the usage',
|
|
3469
|
+
example: '2019-01-01T00:00:00.000Z'
|
|
1664
3470
|
},
|
|
1665
|
-
|
|
3471
|
+
cluster_id: {
|
|
1666
3472
|
type: 'string',
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
|
|
3473
|
+
description: 'Unique identifier of the kubernetes cluster. UUID v4 string in canonical form',
|
|
3474
|
+
example: '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
|
|
1670
3475
|
},
|
|
1671
|
-
|
|
3476
|
+
product: {
|
|
1672
3477
|
type: 'string',
|
|
1673
|
-
description: '
|
|
1674
|
-
example: '
|
|
3478
|
+
description: 'The product the usage is associated with',
|
|
3479
|
+
example: 'cfke_controlplane'
|
|
3480
|
+
},
|
|
3481
|
+
value: {
|
|
3482
|
+
type: 'number',
|
|
3483
|
+
format: 'float',
|
|
3484
|
+
description: 'Consumption',
|
|
3485
|
+
example: 4
|
|
1675
3486
|
},
|
|
1676
|
-
|
|
3487
|
+
price: {
|
|
3488
|
+
type: 'number',
|
|
3489
|
+
format: 'float',
|
|
3490
|
+
description: 'Price per unit',
|
|
3491
|
+
example: 0.01
|
|
3492
|
+
},
|
|
3493
|
+
total: {
|
|
1677
3494
|
type: 'number',
|
|
1678
|
-
format: 'float'
|
|
3495
|
+
format: 'float',
|
|
3496
|
+
description: 'Total cost'
|
|
1679
3497
|
}
|
|
1680
3498
|
},
|
|
1681
|
-
required: [
|
|
3499
|
+
required: [
|
|
3500
|
+
'hour',
|
|
3501
|
+
'cluster_id',
|
|
3502
|
+
'product',
|
|
3503
|
+
'value',
|
|
3504
|
+
'price',
|
|
3505
|
+
'total'
|
|
3506
|
+
],
|
|
1682
3507
|
additionalProperties: false
|
|
1683
3508
|
};
|
|
1684
3509
|
export const UserCreateInputSchema = {
|
|
@@ -1713,22 +3538,34 @@ export const UserCreateInputSchema = {
|
|
|
1713
3538
|
password: {
|
|
1714
3539
|
type: 'string',
|
|
1715
3540
|
minLength: 8,
|
|
1716
|
-
description: 'User password. Must be at least 8 characters long
|
|
3541
|
+
description: 'User password. Must be at least 8 characters long.'
|
|
1717
3542
|
},
|
|
1718
3543
|
status: {
|
|
1719
3544
|
type: 'string',
|
|
1720
3545
|
description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
|
|
1721
3546
|
example: 'active',
|
|
1722
|
-
enum: [
|
|
3547
|
+
enum: [
|
|
3548
|
+
'active',
|
|
3549
|
+
'inactive'
|
|
3550
|
+
]
|
|
1723
3551
|
},
|
|
1724
3552
|
role: {
|
|
1725
3553
|
type: 'string',
|
|
1726
|
-
description:
|
|
3554
|
+
description: 'User role. Can be \'Administrator\', \'User\'.',
|
|
1727
3555
|
example: 'User',
|
|
1728
|
-
enum: [
|
|
3556
|
+
enum: [
|
|
3557
|
+
'Administrator',
|
|
3558
|
+
'User'
|
|
3559
|
+
]
|
|
1729
3560
|
}
|
|
1730
3561
|
},
|
|
1731
|
-
required: [
|
|
3562
|
+
required: [
|
|
3563
|
+
'email',
|
|
3564
|
+
'first_name',
|
|
3565
|
+
'last_name',
|
|
3566
|
+
'code',
|
|
3567
|
+
'password'
|
|
3568
|
+
],
|
|
1732
3569
|
additionalProperties: false
|
|
1733
3570
|
};
|
|
1734
3571
|
export const UserSchema = {
|
|
@@ -1756,15 +3593,21 @@ export const UserSchema = {
|
|
|
1756
3593
|
},
|
|
1757
3594
|
role: {
|
|
1758
3595
|
type: 'string',
|
|
1759
|
-
description:
|
|
3596
|
+
description: 'User role. Can be \'Administrator\', \'User\'.',
|
|
1760
3597
|
example: 'User',
|
|
1761
|
-
enum: [
|
|
3598
|
+
enum: [
|
|
3599
|
+
'Administrator',
|
|
3600
|
+
'User'
|
|
3601
|
+
]
|
|
1762
3602
|
},
|
|
1763
3603
|
status: {
|
|
1764
3604
|
type: 'string',
|
|
1765
3605
|
description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
|
|
1766
3606
|
example: 'active',
|
|
1767
|
-
enum: [
|
|
3607
|
+
enum: [
|
|
3608
|
+
'active',
|
|
3609
|
+
'inactive'
|
|
3610
|
+
]
|
|
1768
3611
|
},
|
|
1769
3612
|
id: {
|
|
1770
3613
|
type: 'string',
|
|
@@ -1777,31 +3620,17 @@ export const UserSchema = {
|
|
|
1777
3620
|
format: 'date-time',
|
|
1778
3621
|
description: 'Creation date of the user. ISO 8601 date string in UTC timezone',
|
|
1779
3622
|
example: '2023-11-02T16:08:14.338Z'
|
|
1780
|
-
},
|
|
1781
|
-
cluster_permissions: {
|
|
1782
|
-
type: 'array',
|
|
1783
|
-
items: {
|
|
1784
|
-
type: 'object',
|
|
1785
|
-
properties: {
|
|
1786
|
-
cluster_id: {
|
|
1787
|
-
type: 'string',
|
|
1788
|
-
format: 'uuid',
|
|
1789
|
-
description: 'Unique identifier of the cluster. UUID v4 string in canonical form',
|
|
1790
|
-
example: '035ce46d-44d8-4e58-a8a2-b0192d1c27df'
|
|
1791
|
-
},
|
|
1792
|
-
permissions: {
|
|
1793
|
-
type: 'string',
|
|
1794
|
-
description: 'User permissions to access the cluster. Can be `readwrite` or `readonly`.',
|
|
1795
|
-
example: 'readwrite',
|
|
1796
|
-
enum: ['readwrite', 'readonly']
|
|
1797
|
-
}
|
|
1798
|
-
},
|
|
1799
|
-
required: ['cluster_id', 'permissions'],
|
|
1800
|
-
additionalProperties: false
|
|
1801
|
-
}
|
|
1802
3623
|
}
|
|
1803
3624
|
},
|
|
1804
|
-
required: [
|
|
3625
|
+
required: [
|
|
3626
|
+
'email',
|
|
3627
|
+
'first_name',
|
|
3628
|
+
'last_name',
|
|
3629
|
+
'role',
|
|
3630
|
+
'status',
|
|
3631
|
+
'id',
|
|
3632
|
+
'date_created'
|
|
3633
|
+
],
|
|
1805
3634
|
additionalProperties: false
|
|
1806
3635
|
};
|
|
1807
3636
|
export const UserUpdateInputSchema = {
|
|
@@ -1829,15 +3658,21 @@ export const UserUpdateInputSchema = {
|
|
|
1829
3658
|
},
|
|
1830
3659
|
role: {
|
|
1831
3660
|
type: 'string',
|
|
1832
|
-
description:
|
|
3661
|
+
description: 'User role. Can be \'Administrator\', \'User\'.',
|
|
1833
3662
|
example: 'User',
|
|
1834
|
-
enum: [
|
|
3663
|
+
enum: [
|
|
3664
|
+
'Administrator',
|
|
3665
|
+
'User'
|
|
3666
|
+
]
|
|
1835
3667
|
},
|
|
1836
3668
|
status: {
|
|
1837
3669
|
type: 'string',
|
|
1838
3670
|
description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
|
|
1839
3671
|
example: 'active',
|
|
1840
|
-
enum: [
|
|
3672
|
+
enum: [
|
|
3673
|
+
'active',
|
|
3674
|
+
'inactive'
|
|
3675
|
+
]
|
|
1841
3676
|
}
|
|
1842
3677
|
},
|
|
1843
3678
|
additionalProperties: false
|