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