@cloudfleet/sdk 0.0.1-0da1042

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +9 -0
  2. package/dist/client.gen.d.ts +13 -0
  3. package/dist/client.gen.d.ts.map +1 -0
  4. package/dist/client.gen.js +6 -0
  5. package/dist/client.gen.js.map +1 -0
  6. package/dist/index.d.ts +8 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +8 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/schemas.gen.d.ts +1706 -0
  11. package/dist/schemas.gen.d.ts.map +1 -0
  12. package/dist/schemas.gen.js +1746 -0
  13. package/dist/schemas.gen.js.map +1 -0
  14. package/dist/sdk.gen.d.ts +363 -0
  15. package/dist/sdk.gen.d.ts.map +1 -0
  16. package/dist/sdk.gen.js +634 -0
  17. package/dist/sdk.gen.js.map +1 -0
  18. package/dist/services/kubernetes/api.d.ts +196 -0
  19. package/dist/services/kubernetes/api.d.ts.map +1 -0
  20. package/dist/services/kubernetes/api.js +140 -0
  21. package/dist/services/kubernetes/api.js.map +1 -0
  22. package/dist/services/kubernetes/index.d.ts +44 -0
  23. package/dist/services/kubernetes/index.d.ts.map +1 -0
  24. package/dist/services/kubernetes/index.js +68 -0
  25. package/dist/services/kubernetes/index.js.map +1 -0
  26. package/dist/services/kubernetes/types.d.ts +1335 -0
  27. package/dist/services/kubernetes/types.d.ts.map +1 -0
  28. package/dist/services/kubernetes/types.js +2 -0
  29. package/dist/services/kubernetes/types.js.map +1 -0
  30. package/dist/types.gen.d.ts +1928 -0
  31. package/dist/types.gen.d.ts.map +1 -0
  32. package/dist/types.gen.js +3 -0
  33. package/dist/types.gen.js.map +1 -0
  34. package/dist/zod.gen.d.ts +2505 -0
  35. package/dist/zod.gen.d.ts.map +1 -0
  36. package/dist/zod.gen.js +1129 -0
  37. package/dist/zod.gen.js.map +1 -0
  38. package/package.json +39 -0
@@ -0,0 +1,1746 @@
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
+ first_name: {
62
+ type: 'string',
63
+ description: 'First name of the billing contact person.',
64
+ example: 'John'
65
+ },
66
+ last_name: {
67
+ type: 'string',
68
+ description: 'Last name of the billing contact person.',
69
+ example: 'Doe'
70
+ },
71
+ tax_id: {
72
+ type: 'string',
73
+ nullable: true,
74
+ description: 'Tax ID of the organization.',
75
+ example: 'DE123456789'
76
+ },
77
+ tax_id_type: {
78
+ type: 'string',
79
+ description: 'Type of the tax ID.',
80
+ example: 'de_vat',
81
+ enum: ['ad_nrt', 'ae_trn', 'al_tin', 'am_tin', 'ao_tin', 'ar_cuit', 'au_abn', 'au_arn', 'ba_tin', 'bb_tin', 'bg_uic', 'bh_vat', 'bo_tin', 'br_cnpj', 'br_cpf', 'bs_tin', 'by_tin', 'ca_bn', 'ca_gst_hst', 'ca_pst_bc', 'ca_pst_mb', 'ca_pst_sk', 'ca_qst', 'cd_nif', 'ch_uid', 'ch_vat', 'cl_tin', 'cn_tin', 'co_nit', 'cr_tin', 'de_stn', 'do_rcn', 'ec_ruc', 'eg_tin', 'es_cif', 'eu_oss_vat', 'eu_vat', 'gb_vat', 'ge_vat', 'gn_nif', 'hk_br', 'hr_oib', 'hu_tin', 'id_npwp', 'il_vat', 'in_gst', 'is_vat', 'jp_cn', 'jp_rn', 'jp_trn', 'ke_pin', 'kh_tin', 'kr_brn', 'kz_bin', 'li_uid', 'li_vat', 'ma_vat', 'md_vat', 'me_pib', 'mk_vat', 'mr_nif', 'mx_rfc', 'my_frp', 'my_itn', 'my_sst', 'ng_tin', 'no_vat', 'no_voec', 'np_pan', 'nz_gst', 'om_vat', 'pe_ruc', 'ph_tin', 'ro_tin', 'rs_pib', 'ru_inn', 'ru_kpp', 'sa_vat', 'sg_gst', 'sg_uen', 'si_tin', 'sn_ninea', 'sr_fin', 'sv_nit', 'th_vat', 'tj_tin', 'tr_tin', 'tw_vat', 'tz_vat', 'ua_vat', 'ug_tin', 'us_ein', 'uy_ruc', 'uz_tin', 'uz_vat', 've_rif', 'vn_tin', 'za_vat', 'zm_tin', 'zw_tin']
82
+ }
83
+ },
84
+ required: ['email', 'first_name', 'last_name'],
85
+ additionalProperties: false
86
+ };
87
+ export const BillingCreditsSchema = {
88
+ type: 'object',
89
+ properties: {
90
+ id: {
91
+ type: 'string',
92
+ description: 'Generated unique identifier of the promotional code.',
93
+ example: '7kUZnH7nnKUFfvc4NK2KQF'
94
+ },
95
+ date_created: {
96
+ type: 'string',
97
+ format: 'date-time',
98
+ description: 'Date of the credit application. ISO 8601 date string in the UTC timezone.',
99
+ example: '2023-12-20T13:53:32.000Z'
100
+ },
101
+ code: {
102
+ type: 'string',
103
+ description: 'Promotional code used by the customer.',
104
+ example: 'VQ4SCMB'
105
+ },
106
+ description: {
107
+ type: 'string',
108
+ description: 'Description of the promotional code.',
109
+ example: '10% off on all products'
110
+ },
111
+ products: {
112
+ type: 'array',
113
+ items: {
114
+ type: 'string'
115
+ },
116
+ description: 'List of product SKUs that the promotional code can be used on.',
117
+ example: ['SKU123', 'SKU456']
118
+ },
119
+ type: {
120
+ type: 'string',
121
+ description: 'Type of the promotional code.',
122
+ example: 'credit',
123
+ enum: ['credit', 'discount']
124
+ },
125
+ value: {
126
+ type: 'number',
127
+ format: 'float',
128
+ description: 'Value of the promotional code.',
129
+ example: 10
130
+ },
131
+ billing_period: {
132
+ type: 'string',
133
+ format: 'date-time',
134
+ description: 'Date of the billing cycle. An ISO 8601 date string in the UTC timezone.',
135
+ example: '2023-12-20T13:53:32.000Z'
136
+ },
137
+ value_remaining: {
138
+ type: 'number',
139
+ format: 'float',
140
+ description: 'Value of the promotional code.',
141
+ example: 10
142
+ }
143
+ },
144
+ required: ['date_created', 'code', 'type', 'value', 'billing_period'],
145
+ additionalProperties: false
146
+ };
147
+ export const ChartCreateInputSchema = {
148
+ type: 'object',
149
+ properties: {
150
+ values: {
151
+ type: 'string',
152
+ description: 'Values to be used in the chart.'
153
+ },
154
+ version_channel: {
155
+ type: 'string',
156
+ 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-]+)*))?$',
157
+ description: 'Version of the chart.',
158
+ example: '2.x.x-cfke.x'
159
+ },
160
+ name: {
161
+ type: 'string',
162
+ maxLength: 63,
163
+ minLength: 1,
164
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
165
+ description: 'Unique identifier of the chart deployment aka name of the helm release.',
166
+ example: 'postgresql-0'
167
+ },
168
+ namespace: {
169
+ type: 'string',
170
+ maxLength: 63,
171
+ minLength: 1,
172
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
173
+ description: 'Namespace of the chart deployment',
174
+ example: 'default'
175
+ },
176
+ chart: {
177
+ type: 'string',
178
+ maxLength: 63,
179
+ minLength: 1,
180
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
181
+ description: 'Name of the chart listing',
182
+ example: 'postgresql'
183
+ }
184
+ },
185
+ required: ['values', 'version_channel', 'name', 'namespace', 'chart'],
186
+ additionalProperties: false
187
+ };
188
+ export const ChartSchema = {
189
+ type: 'object',
190
+ properties: {
191
+ values: {
192
+ type: 'string',
193
+ description: 'Values to be used in the chart.'
194
+ },
195
+ version_channel: {
196
+ type: 'string',
197
+ 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-]+)*))?$',
198
+ description: 'Version of the chart.',
199
+ example: '2.x.x-cfke.x'
200
+ },
201
+ name: {
202
+ type: 'string',
203
+ maxLength: 63,
204
+ minLength: 1,
205
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
206
+ description: 'Unique identifier of the chart deployment aka name of the helm release.',
207
+ example: 'postgresql-0'
208
+ },
209
+ namespace: {
210
+ type: 'string',
211
+ maxLength: 63,
212
+ minLength: 1,
213
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
214
+ description: 'Namespace of the chart deployment',
215
+ example: 'default'
216
+ },
217
+ chart: {
218
+ type: 'string',
219
+ maxLength: 63,
220
+ minLength: 1,
221
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
222
+ description: 'Name of the chart listing',
223
+ example: 'postgresql'
224
+ },
225
+ status: {
226
+ type: 'string',
227
+ description: 'Status of the chart deployment.',
228
+ example: 'active',
229
+ enum: ['InstallSucceeded', 'InstallFailed', 'UpgradeSucceeded', 'UpgradeFailed', 'TestSucceeded', 'TestFailed', 'RollbackSucceeded', 'RollbackFailed', 'UninstallSucceeded', 'UninstallFailed', 'ArtifactFailed', 'DependencyNotReady', 'Progressing']
230
+ },
231
+ version_current: {
232
+ type: 'string',
233
+ description: 'Current version of the chart deployment.',
234
+ example: '2.1.33-cfke.11'
235
+ },
236
+ created_at: {
237
+ type: 'string',
238
+ description: 'Creation date and time of the chart deployment.',
239
+ example: '2024-09-12T09:11:27Z'
240
+ },
241
+ updated_at: {
242
+ type: 'string',
243
+ description: 'Last update date and time of the chart deployment.',
244
+ example: '2024-09-12T09:11:27Z'
245
+ },
246
+ ready: {
247
+ type: 'boolean',
248
+ description: 'Indicates if the chart deployment is ready to be used.',
249
+ example: true
250
+ }
251
+ },
252
+ required: ['values', 'version_channel', 'name', 'namespace', 'chart', 'status', 'version_current', 'created_at', 'updated_at', 'ready'],
253
+ additionalProperties: false
254
+ };
255
+ export const ChartUpdateInputSchema = {
256
+ type: 'object',
257
+ properties: {
258
+ values: {
259
+ type: 'string',
260
+ description: 'Values to be used in the chart.'
261
+ },
262
+ version_channel: {
263
+ type: 'string',
264
+ 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-]+)*))?$',
265
+ description: 'Version of the chart.',
266
+ example: '2.x.x-cfke.x'
267
+ }
268
+ },
269
+ required: ['values', 'version_channel'],
270
+ additionalProperties: false
271
+ };
272
+ export const ClusterCreateInputSchema = {
273
+ type: 'object',
274
+ properties: {
275
+ name: {
276
+ type: 'string',
277
+ maxLength: 63,
278
+ minLength: 1,
279
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
280
+ description: 'Name of the cluster.',
281
+ example: 'production-cluster'
282
+ },
283
+ region: {
284
+ type: 'string',
285
+ description: 'Cloudfleet control plane region. One of "staging", "northamerica-central-1". This field can not be updated after creation.',
286
+ default: 'staging',
287
+ example: 'northamerica-central-1',
288
+ enum: ['staging', 'northamerica-central-1']
289
+ },
290
+ tier: {
291
+ type: 'string',
292
+ description: 'Tier of the cluster.',
293
+ example: 'pro',
294
+ enum: ['basic', 'pro']
295
+ },
296
+ version_channel: {
297
+ type: 'string',
298
+ 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-]+)*))?$',
299
+ description: 'Version of the kubernetes cluster.',
300
+ default: '1.x.x-cfke.x',
301
+ example: '1.29.x-cfke.x'
302
+ }
303
+ },
304
+ required: ['name', 'tier'],
305
+ additionalProperties: false
306
+ };
307
+ export const ClusterJoinInformationSchema = {
308
+ type: 'object',
309
+ properties: {
310
+ certificate_authority: {
311
+ type: 'string',
312
+ description: 'Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.',
313
+ example: `-----BEGIN CERTIFICATE-----
314
+ MIIC0DCCAbigAwIBAgI...`
315
+ },
316
+ endpoint: {
317
+ type: 'string',
318
+ format: 'uri',
319
+ description: 'Internal URL of the Kubernetes cluster control plane. This is the endpoint that kubelet uses to connect to the cluster.',
320
+ example: 'https://10.31.64.7:6443'
321
+ },
322
+ auth_key: {
323
+ type: 'string',
324
+ description: 'Authentication key for the cluster.',
325
+ example: 'tskey-auth-kBV8wr1dk911CNTRL-...'
326
+ },
327
+ bootstrap_token: {
328
+ type: 'string',
329
+ description: 'Bootstrap token for the cluster.',
330
+ example: 'a797d6df6babc2cfdb202ba7.....'
331
+ },
332
+ versions: {
333
+ type: 'object',
334
+ properties: {
335
+ kubernetes: {
336
+ type: 'string',
337
+ description: 'Kubernetes version of the cluster.',
338
+ example: '1.29.3'
339
+ },
340
+ tailscale: {
341
+ type: 'string',
342
+ description: 'Tailscale version of the cluster.',
343
+ example: '1.74.1'
344
+ },
345
+ containerd: {
346
+ type: 'string',
347
+ description: 'Containerd version of the cluster.',
348
+ example: '1.7.19'
349
+ }
350
+ },
351
+ required: ['kubernetes', 'tailscale', 'containerd'],
352
+ additionalProperties: false,
353
+ description: 'Versions of the different components of the cluster.'
354
+ },
355
+ third_party_api_access_config: {
356
+ type: 'object',
357
+ properties: {
358
+ metadata_url: {
359
+ type: 'string',
360
+ description: 'Kubernetes metadata server.',
361
+ example: 'https://10.31.64.4'
362
+ },
363
+ aws_role_arn: {
364
+ type: 'string',
365
+ description: 'AWS Role ARN.',
366
+ example: 'arn:aws:iam::891376988828:role/0371f8fd-e164-48e1-b9e7-c3bdc3b4f403'
367
+ },
368
+ gcp_workload_identity_provider: {
369
+ type: 'string',
370
+ description: 'GCP Workload Identity provider.',
371
+ example: '//iam.googleapis.com/projects/89014267864/locations/global/workloadIdentityPools/cfke/providers/oidc'
372
+ }
373
+ },
374
+ required: ['metadata_url', 'aws_role_arn', 'gcp_workload_identity_provider'],
375
+ additionalProperties: false,
376
+ description: "OIDC Information for hosts to access to third party API's."
377
+ }
378
+ },
379
+ required: ['certificate_authority', 'endpoint', 'auth_key', 'bootstrap_token', 'versions', 'third_party_api_access_config'],
380
+ additionalProperties: false
381
+ };
382
+ export const ClusterSchema = {
383
+ type: 'object',
384
+ properties: {
385
+ name: {
386
+ type: 'string',
387
+ maxLength: 63,
388
+ minLength: 1,
389
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
390
+ description: 'Name of the cluster.',
391
+ example: 'production-cluster'
392
+ },
393
+ region: {
394
+ type: 'string',
395
+ description: 'Cloudfleet control plane region. One of "staging", "northamerica-central-1". This field can not be updated after creation.',
396
+ default: 'staging',
397
+ example: 'northamerica-central-1',
398
+ enum: ['staging', 'northamerica-central-1']
399
+ },
400
+ tier: {
401
+ type: 'string',
402
+ description: 'Tier of the cluster.',
403
+ example: 'pro',
404
+ enum: ['basic', 'pro']
405
+ },
406
+ version_channel: {
407
+ type: 'string',
408
+ 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-]+)*))?$',
409
+ description: 'Version of the kubernetes cluster.',
410
+ default: '1.x.x-cfke.x',
411
+ example: '1.29.x-cfke.x'
412
+ },
413
+ id: {
414
+ type: 'string',
415
+ format: 'uuid',
416
+ description: 'Unique identifier of the kubernetes cluster. UUID v4 string in canonical form',
417
+ example: '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
418
+ },
419
+ status: {
420
+ type: 'string',
421
+ description: 'Status of the cluster. When creating a new cluster, set to `active`. When deleting a clusters, set to `deleted`.',
422
+ example: 'active',
423
+ enum: ['active', 'deleted', 'creating', 'deployed', 'failed', 'updating']
424
+ },
425
+ endpoint: {
426
+ anyOf: [
427
+ {
428
+ type: 'string',
429
+ format: 'uri',
430
+ description: 'URL of the Kubernetes cluster control plane. This is the endpoint that kubectl uses to connect to the cluster.',
431
+ example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.cloudfleet.dev:6443'
432
+ },
433
+ {
434
+ type: 'string',
435
+ enum: ['']
436
+ }
437
+ ]
438
+ },
439
+ certificate_ca: {
440
+ type: 'string',
441
+ description: 'Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.',
442
+ example: `-----BEGIN CERTIFICATE-----
443
+ MIIC0DCCAbigAwIBAgI...`
444
+ },
445
+ version_current: {
446
+ type: 'string',
447
+ description: 'Current version of the cluster.',
448
+ example: '1.29.3-cfke.52'
449
+ },
450
+ created_at: {
451
+ type: 'string',
452
+ description: 'Creation date and time of the cluster.',
453
+ example: '2024-09-12T09:11:27Z'
454
+ },
455
+ updated_at: {
456
+ type: 'string',
457
+ description: 'Last update date and time of the cluster.',
458
+ example: '2024-09-12T09:11:27Z'
459
+ },
460
+ ready: {
461
+ type: 'boolean',
462
+ description: 'Indicates if the cluster is ready to be used.',
463
+ example: true
464
+ }
465
+ },
466
+ required: ['name', 'tier', 'id', 'status'],
467
+ additionalProperties: false
468
+ };
469
+ export const ClusterUpdateInputSchema = {
470
+ type: 'object',
471
+ properties: {
472
+ name: {
473
+ type: 'string',
474
+ maxLength: 63,
475
+ minLength: 1,
476
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
477
+ description: 'Name of the cluster.',
478
+ example: 'production-cluster'
479
+ },
480
+ version_channel: {
481
+ type: 'string',
482
+ 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-]+)*))?$',
483
+ description: 'Version of the kubernetes cluster.',
484
+ example: '1.29.x-cfke.x'
485
+ }
486
+ },
487
+ additionalProperties: false
488
+ };
489
+ export const FleetCreateInputSchema = {
490
+ type: 'object',
491
+ properties: {
492
+ limits: {
493
+ type: 'object',
494
+ properties: {
495
+ cpu: {
496
+ type: 'number',
497
+ format: 'float',
498
+ minimum: 0,
499
+ description: 'CPU limit in cores.'
500
+ }
501
+ },
502
+ required: ['cpu'],
503
+ additionalProperties: false,
504
+ description: 'Limits define a set of bounds for provisioning capacity.'
505
+ },
506
+ gcp: {
507
+ type: 'object',
508
+ properties: {
509
+ enabled: {
510
+ type: 'boolean',
511
+ default: true
512
+ },
513
+ project: {
514
+ type: 'string',
515
+ description: 'Project GCP Project id to deploy instances into'
516
+ }
517
+ },
518
+ required: ['project'],
519
+ additionalProperties: false
520
+ },
521
+ hetzner: {
522
+ oneOf: [
523
+ {
524
+ type: 'object',
525
+ properties: {
526
+ enabled: {
527
+ type: 'boolean',
528
+ default: true
529
+ },
530
+ apiKey: {
531
+ type: 'string'
532
+ }
533
+ },
534
+ additionalProperties: false
535
+ },
536
+ {
537
+ type: 'object',
538
+ properties: {
539
+ apiKey: {
540
+ type: 'string'
541
+ },
542
+ enabled: {
543
+ type: 'boolean',
544
+ default: true
545
+ }
546
+ },
547
+ additionalProperties: false
548
+ }
549
+ ]
550
+ },
551
+ aws: {
552
+ type: 'object',
553
+ properties: {
554
+ enabled: {
555
+ type: 'boolean',
556
+ default: true
557
+ },
558
+ controllerRoleArn: {
559
+ type: 'string',
560
+ description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
561
+ }
562
+ },
563
+ required: ['controllerRoleArn'],
564
+ additionalProperties: false
565
+ },
566
+ id: {
567
+ type: 'string',
568
+ maxLength: 63,
569
+ minLength: 1,
570
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
571
+ description: 'Unique identifier of the kubernetes fleet.',
572
+ example: 'new-clouds-fleet'
573
+ },
574
+ type: {
575
+ type: 'string',
576
+ description: 'Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.',
577
+ enum: ['managed', 'connected']
578
+ }
579
+ },
580
+ required: ['id', 'type'],
581
+ additionalProperties: false
582
+ };
583
+ export const FleetSchema = {
584
+ type: 'object',
585
+ properties: {
586
+ limits: {
587
+ type: 'object',
588
+ properties: {
589
+ cpu: {
590
+ type: 'number',
591
+ format: 'float',
592
+ minimum: 0,
593
+ description: 'CPU limit in cores.'
594
+ }
595
+ },
596
+ required: ['cpu'],
597
+ additionalProperties: false,
598
+ description: 'Limits define a set of bounds for provisioning capacity.'
599
+ },
600
+ gcp: {
601
+ type: 'object',
602
+ properties: {
603
+ enabled: {
604
+ type: 'boolean',
605
+ default: true
606
+ },
607
+ project: {
608
+ type: 'string',
609
+ description: 'Project GCP Project id to deploy instances into'
610
+ }
611
+ },
612
+ required: ['project'],
613
+ additionalProperties: false
614
+ },
615
+ hetzner: {
616
+ oneOf: [
617
+ {
618
+ type: 'object',
619
+ properties: {
620
+ enabled: {
621
+ type: 'boolean',
622
+ default: true
623
+ },
624
+ apiKey: {
625
+ type: 'string'
626
+ }
627
+ },
628
+ additionalProperties: false
629
+ },
630
+ {
631
+ type: 'object',
632
+ properties: {
633
+ apiKey: {
634
+ type: 'string'
635
+ },
636
+ enabled: {
637
+ type: 'boolean',
638
+ default: true
639
+ }
640
+ },
641
+ additionalProperties: false
642
+ }
643
+ ]
644
+ },
645
+ aws: {
646
+ type: 'object',
647
+ properties: {
648
+ enabled: {
649
+ type: 'boolean',
650
+ default: true
651
+ },
652
+ controllerRoleArn: {
653
+ type: 'string',
654
+ description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
655
+ }
656
+ },
657
+ required: ['controllerRoleArn'],
658
+ additionalProperties: false
659
+ },
660
+ id: {
661
+ type: 'string',
662
+ maxLength: 63,
663
+ minLength: 1,
664
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
665
+ description: 'Unique identifier of the kubernetes fleet.',
666
+ example: 'new-clouds-fleet'
667
+ },
668
+ type: {
669
+ type: 'string',
670
+ description: 'Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.',
671
+ enum: ['managed', 'connected']
672
+ }
673
+ },
674
+ required: ['id', 'type'],
675
+ additionalProperties: false
676
+ };
677
+ export const FleetUpdateInputSchema = {
678
+ type: 'object',
679
+ properties: {
680
+ limits: {
681
+ type: 'object',
682
+ properties: {
683
+ cpu: {
684
+ type: 'number',
685
+ format: 'float',
686
+ minimum: 0,
687
+ description: 'CPU limit in cores.'
688
+ }
689
+ },
690
+ required: ['cpu'],
691
+ additionalProperties: false,
692
+ description: 'Limits define a set of bounds for provisioning capacity.'
693
+ },
694
+ gcp: {
695
+ type: 'object',
696
+ properties: {
697
+ enabled: {
698
+ type: 'boolean',
699
+ default: true
700
+ },
701
+ project: {
702
+ type: 'string',
703
+ description: 'Project GCP Project id to deploy instances into'
704
+ }
705
+ },
706
+ required: ['project'],
707
+ additionalProperties: false
708
+ },
709
+ hetzner: {
710
+ oneOf: [
711
+ {
712
+ type: 'object',
713
+ properties: {
714
+ enabled: {
715
+ type: 'boolean',
716
+ default: true
717
+ },
718
+ apiKey: {
719
+ type: 'string'
720
+ }
721
+ },
722
+ additionalProperties: false
723
+ },
724
+ {
725
+ type: 'object',
726
+ properties: {
727
+ apiKey: {
728
+ type: 'string'
729
+ },
730
+ enabled: {
731
+ type: 'boolean',
732
+ default: true
733
+ }
734
+ },
735
+ additionalProperties: false
736
+ }
737
+ ]
738
+ },
739
+ aws: {
740
+ type: 'object',
741
+ properties: {
742
+ enabled: {
743
+ type: 'boolean',
744
+ default: true
745
+ },
746
+ controllerRoleArn: {
747
+ type: 'string',
748
+ description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
749
+ }
750
+ },
751
+ required: ['controllerRoleArn'],
752
+ additionalProperties: false
753
+ }
754
+ },
755
+ additionalProperties: false
756
+ };
757
+ export const InviteSchema = {
758
+ type: 'object',
759
+ properties: {
760
+ id: {
761
+ type: 'string',
762
+ description: 'Unique identifier of the invitation.',
763
+ example: '65831dd20d20165489cbb868'
764
+ },
765
+ organization_id: {
766
+ type: 'string',
767
+ format: 'uuid',
768
+ description: 'Unique identifier of the organization the project belongs to. UUID v4 string in canonical form',
769
+ example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
770
+ },
771
+ date_created: {
772
+ type: 'string',
773
+ format: 'date-time',
774
+ description: 'Creation date of the project. ISO 8601 date string in UTC timezone',
775
+ example: '2023-11-02T16:08:14.338Z'
776
+ },
777
+ email: {
778
+ type: 'string',
779
+ format: 'email',
780
+ description: 'User email address.',
781
+ example: 'email@example.com'
782
+ },
783
+ code: {
784
+ type: 'string',
785
+ description: 'Generated unique invite code.',
786
+ example: '7kUZnH7nnKUFfvc4NK2KQF'
787
+ }
788
+ },
789
+ required: ['date_created'],
790
+ additionalProperties: false
791
+ };
792
+ export const InvoiceSchema = {
793
+ type: 'object',
794
+ properties: {
795
+ id: {
796
+ type: 'string',
797
+ format: 'uuid',
798
+ description: 'Unique identifier of the invoice. UUID v4 string in canonical form',
799
+ example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
800
+ },
801
+ organizationId: {
802
+ type: 'string',
803
+ format: 'uuid',
804
+ description: 'Unique identifier of the organization. UUID v4 string in canonical form',
805
+ example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
806
+ },
807
+ status: {
808
+ type: 'string',
809
+ description: 'Status of the invoice',
810
+ example: 'DRAFT',
811
+ enum: ['DRAFT', 'COMMITTED', 'VOID']
812
+ },
813
+ amount: {
814
+ type: 'number',
815
+ format: 'float',
816
+ description: 'Total amount of the invoice',
817
+ example: 100
818
+ },
819
+ currency: {
820
+ type: 'string',
821
+ description: 'Currency of the invoice',
822
+ example: 'USD',
823
+ enum: ['AED', 'AFN', 'ALL', 'AMD', 'ANG', 'AOA', 'ARS', 'AUD', 'AWG', 'AZN', 'BAM', 'BBD', 'BDT', 'BGN', 'BHD', 'BIF', 'BMD', 'BND', 'BOB', 'BRL', 'BSD', 'BTN', 'BWP', 'BYR', 'BZD', 'CAD', 'CDF', 'CHF', 'CLP', 'CNY', 'COP', 'CRC', 'CUC', 'CUP', 'CVE', 'CZK', 'DJF', 'DKK', 'DOP', 'DZD', 'EGP', 'ERN', 'ETB', 'EUR', 'FJD', 'FKP', 'GBP', 'GEL', 'GGP', 'GHS', 'GIP', 'GMD', 'GNF', 'GTQ', 'GYD', 'HKD', 'HNL', 'HRK', 'HTG', 'HUF', 'IDR', 'ILS', 'IMP', 'INR', 'IQD', 'IRR', 'ISK', 'JEP', 'JMD', 'JOD', 'JPY', 'KES', 'KGS', 'KHR', 'KMF', 'KPW', 'KRW', 'KWD', 'KYD', 'KZT', 'LAK', 'LBP', 'LKR', 'LRD', 'LSL', 'LTL', 'LVL', 'LYD', 'MAD', 'MDL', 'MGA', 'MKD', 'MMK', 'MNT', 'MOP', 'MRO', 'MUR', 'MVR', 'MWK', 'MXN', 'MYR', 'MZN', 'NAD', 'NGN', 'NIO', 'NOK', 'NPR', 'NZD', 'OMR', 'PAB', 'PEN', 'PGK', 'PHP', 'PKR', 'PLN', 'PYG', 'QAR', 'RON', 'RSD', 'RUB', 'RWF', 'SAR', 'SBD', 'SCR', 'SDG', 'SEK', 'SGD', 'SHP', 'SLL', 'SOS', 'SPL', 'SRD', 'STD', 'SVC', 'SYP', 'SZL', 'THB', 'TJS', 'TMT', 'TND', 'TOP', 'TRY', 'TTD', 'TVD', 'TWD', 'TZS', 'UAH', 'UGX', 'USD', 'UYU', 'UZS', 'VEF', 'VND', 'VUV', 'WST', 'XAF', 'XCD', 'XDR', 'XOF', 'XPF', 'YER', 'ZAR', 'ZMW', 'ZWD', 'BTC']
824
+ },
825
+ creditAdj: {
826
+ type: 'number',
827
+ format: 'float',
828
+ description: 'Total amount of credit adjustments',
829
+ example: 0
830
+ },
831
+ refundAdj: {
832
+ type: 'number',
833
+ format: 'float',
834
+ description: 'Total amount of refund adjustments',
835
+ example: 0
836
+ },
837
+ invoiceDate: {
838
+ type: 'string',
839
+ description: 'Date of the invoice',
840
+ example: '2019-01-01T00:00:00.000Z'
841
+ },
842
+ targetDate: {
843
+ type: 'string',
844
+ description: 'Target date of the invoice',
845
+ example: '2019-01-01T00:00:00.000Z'
846
+ },
847
+ invoiceNumber: {
848
+ type: 'string',
849
+ description: 'Number of the invoice',
850
+ example: 'INV-0001'
851
+ },
852
+ balance: {
853
+ type: 'number',
854
+ format: 'float',
855
+ description: 'Balance of the invoice',
856
+ example: 100
857
+ },
858
+ bundleKeys: {
859
+ type: 'string',
860
+ description: 'Bundle keys of the invoice',
861
+ example: 'bundleKey1,bundleKey2'
862
+ },
863
+ credits: {
864
+ type: 'array',
865
+ items: {
866
+ type: 'object',
867
+ properties: {
868
+ id: {
869
+ type: 'string',
870
+ format: 'uuid',
871
+ description: 'Unique identifier of the invoice item. UUID v4 string in canonical form',
872
+ example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
873
+ },
874
+ linkedInvoiceItemId: {
875
+ type: 'string',
876
+ format: 'uuid',
877
+ description: 'Unique identifier of the linked invoice item. UUID v4 string in canonical form',
878
+ example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
879
+ },
880
+ productName: {
881
+ type: 'string',
882
+ description: 'Name of the product',
883
+ example: 'Research team'
884
+ },
885
+ planName: {
886
+ type: 'string',
887
+ description: 'Name of the plan',
888
+ example: 'Plan A'
889
+ },
890
+ phaseName: {
891
+ type: 'string',
892
+ description: 'Name of the phase',
893
+ example: 'Phase A'
894
+ },
895
+ usageName: {
896
+ type: 'string',
897
+ description: 'Name of the usage',
898
+ example: 'Usage A'
899
+ },
900
+ prettyProductName: {
901
+ type: 'string',
902
+ description: 'Pretty name of the product',
903
+ example: 'Research team'
904
+ },
905
+ prettyPlanName: {
906
+ type: 'string',
907
+ description: 'Pretty name of the plan',
908
+ example: 'Plan A'
909
+ },
910
+ prettyPhaseName: {
911
+ type: 'string',
912
+ description: 'Pretty name of the phase',
913
+ example: 'Phase A'
914
+ },
915
+ prettyUsageName: {
916
+ type: 'string',
917
+ description: 'Pretty name of the usage',
918
+ example: 'Usage A'
919
+ },
920
+ itemType: {
921
+ type: 'string',
922
+ description: 'Type of the invoice item',
923
+ example: 'EXTERNAL_CHARGE',
924
+ enum: ['EXTERNAL_CHARGE', 'FIXED', 'RECURRING', 'REPAIR_ADJ', 'CBA_ADJ', 'CREDIT_ADJ', 'ITEM_ADJ', 'USAGE', 'TAX', 'PARENT_SUMMARY']
925
+ },
926
+ description: {
927
+ type: 'string',
928
+ description: 'Description of the invoice item',
929
+ example: 'Description of the invoice item'
930
+ },
931
+ startDate: {
932
+ type: 'string',
933
+ description: 'Start date of the invoice item',
934
+ example: '2019-01-01T00:00:00.000Z'
935
+ },
936
+ endDate: {
937
+ type: 'string',
938
+ description: 'End date of the invoice item',
939
+ example: '2019-01-01T00:00:00.000Z'
940
+ },
941
+ amount: {
942
+ type: 'number',
943
+ format: 'float',
944
+ description: 'Amount of the invoice item',
945
+ example: 100
946
+ },
947
+ rate: {
948
+ type: 'number',
949
+ format: 'float',
950
+ description: 'Rate of the invoice item',
951
+ example: 100
952
+ },
953
+ currency: {
954
+ type: 'string',
955
+ description: 'Currency of the invoice item',
956
+ example: 'USD',
957
+ enum: ['AED', 'AFN', 'ALL', 'AMD', 'ANG', 'AOA', 'ARS', 'AUD', 'AWG', 'AZN', 'BAM', 'BBD', 'BDT', 'BGN', 'BHD', 'BIF', 'BMD', 'BND', 'BOB', 'BRL', 'BSD', 'BTN', 'BWP', 'BYR', 'BZD', 'CAD', 'CDF', 'CHF', 'CLP', 'CNY', 'COP', 'CRC', 'CUC', 'CUP', 'CVE', 'CZK', 'DJF', 'DKK', 'DOP', 'DZD', 'EGP', 'ERN', 'ETB', 'EUR', 'FJD', 'FKP', 'GBP', 'GEL', 'GGP', 'GHS', 'GIP', 'GMD', 'GNF', 'GTQ', 'GYD', 'HKD', 'HNL', 'HRK', 'HTG', 'HUF', 'IDR', 'ILS', 'IMP', 'INR', 'IQD', 'IRR', 'ISK', 'JEP', 'JMD', 'JOD', 'JPY', 'KES', 'KGS', 'KHR', 'KMF', 'KPW', 'KRW', 'KWD', 'KYD', 'KZT', 'LAK', 'LBP', 'LKR', 'LRD', 'LSL', 'LTL', 'LVL', 'LYD', 'MAD', 'MDL', 'MGA', 'MKD', 'MMK', 'MNT', 'MOP', 'MRO', 'MUR', 'MVR', 'MWK', 'MXN', 'MYR', 'MZN', 'NAD', 'NGN', 'NIO', 'NOK', 'NPR', 'NZD', 'OMR', 'PAB', 'PEN', 'PGK', 'PHP', 'PKR', 'PLN', 'PYG', 'QAR', 'RON', 'RSD', 'RUB', 'RWF', 'SAR', 'SBD', 'SCR', 'SDG', 'SEK', 'SGD', 'SHP', 'SLL', 'SOS', 'SPL', 'SRD', 'STD', 'SVC', 'SYP', 'SZL', 'THB', 'TJS', 'TMT', 'TND', 'TOP', 'TRY', 'TTD', 'TVD', 'TWD', 'TZS', 'UAH', 'UGX', 'USD', 'UYU', 'UZS', 'VEF', 'VND', 'VUV', 'WST', 'XAF', 'XCD', 'XDR', 'XOF', 'XPF', 'YER', 'ZAR', 'ZMW', 'ZWD', 'BTC']
958
+ },
959
+ quantity: {
960
+ type: 'number',
961
+ format: 'float',
962
+ description: 'Quantity of the invoice item',
963
+ example: 1
964
+ },
965
+ itemDetails: {
966
+ type: 'string',
967
+ description: 'Details of the invoice item',
968
+ example: 'Details of the invoice item'
969
+ },
970
+ catalogEffectiveDate: {
971
+ type: 'string',
972
+ description: 'Effective date of the catalog',
973
+ example: '2019-01-01T00:00:00.000Z'
974
+ },
975
+ childItems: {
976
+ type: 'array',
977
+ items: {
978
+ oneOf: [
979
+ {
980
+ type: 'array'
981
+ },
982
+ {
983
+ type: 'boolean'
984
+ },
985
+ {
986
+ type: 'number'
987
+ },
988
+ {
989
+ type: 'object',
990
+ additionalProperties: true
991
+ },
992
+ {
993
+ type: 'string'
994
+ }
995
+ ]
996
+ },
997
+ description: 'Child items of the invoice item'
998
+ }
999
+ },
1000
+ additionalProperties: false
1001
+ },
1002
+ description: 'Credits of the invoice'
1003
+ },
1004
+ items: {
1005
+ type: 'array',
1006
+ items: {
1007
+ type: 'object',
1008
+ properties: {
1009
+ id: {
1010
+ type: 'string',
1011
+ format: 'uuid',
1012
+ description: 'Unique identifier of the invoice item. UUID v4 string in canonical form',
1013
+ example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
1014
+ },
1015
+ linkedInvoiceItemId: {
1016
+ type: 'string',
1017
+ format: 'uuid',
1018
+ description: 'Unique identifier of the linked invoice item. UUID v4 string in canonical form',
1019
+ example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
1020
+ },
1021
+ productName: {
1022
+ type: 'string',
1023
+ description: 'Name of the product',
1024
+ example: 'Research team'
1025
+ },
1026
+ planName: {
1027
+ type: 'string',
1028
+ description: 'Name of the plan',
1029
+ example: 'Plan A'
1030
+ },
1031
+ phaseName: {
1032
+ type: 'string',
1033
+ description: 'Name of the phase',
1034
+ example: 'Phase A'
1035
+ },
1036
+ usageName: {
1037
+ type: 'string',
1038
+ description: 'Name of the usage',
1039
+ example: 'Usage A'
1040
+ },
1041
+ prettyProductName: {
1042
+ type: 'string',
1043
+ description: 'Pretty name of the product',
1044
+ example: 'Research team'
1045
+ },
1046
+ prettyPlanName: {
1047
+ type: 'string',
1048
+ description: 'Pretty name of the plan',
1049
+ example: 'Plan A'
1050
+ },
1051
+ prettyPhaseName: {
1052
+ type: 'string',
1053
+ description: 'Pretty name of the phase',
1054
+ example: 'Phase A'
1055
+ },
1056
+ prettyUsageName: {
1057
+ type: 'string',
1058
+ description: 'Pretty name of the usage',
1059
+ example: 'Usage A'
1060
+ },
1061
+ itemType: {
1062
+ type: 'string',
1063
+ description: 'Type of the invoice item',
1064
+ example: 'EXTERNAL_CHARGE',
1065
+ enum: ['EXTERNAL_CHARGE', 'FIXED', 'RECURRING', 'REPAIR_ADJ', 'CBA_ADJ', 'CREDIT_ADJ', 'ITEM_ADJ', 'USAGE', 'TAX', 'PARENT_SUMMARY']
1066
+ },
1067
+ description: {
1068
+ type: 'string',
1069
+ description: 'Description of the invoice item',
1070
+ example: 'Description of the invoice item'
1071
+ },
1072
+ startDate: {
1073
+ type: 'string',
1074
+ description: 'Start date of the invoice item',
1075
+ example: '2019-01-01T00:00:00.000Z'
1076
+ },
1077
+ endDate: {
1078
+ type: 'string',
1079
+ description: 'End date of the invoice item',
1080
+ example: '2019-01-01T00:00:00.000Z'
1081
+ },
1082
+ amount: {
1083
+ type: 'number',
1084
+ format: 'float',
1085
+ description: 'Amount of the invoice item',
1086
+ example: 100
1087
+ },
1088
+ rate: {
1089
+ type: 'number',
1090
+ format: 'float',
1091
+ description: 'Rate of the invoice item',
1092
+ example: 100
1093
+ },
1094
+ currency: {
1095
+ type: 'string',
1096
+ description: 'Currency of the invoice item',
1097
+ example: 'USD',
1098
+ enum: ['AED', 'AFN', 'ALL', 'AMD', 'ANG', 'AOA', 'ARS', 'AUD', 'AWG', 'AZN', 'BAM', 'BBD', 'BDT', 'BGN', 'BHD', 'BIF', 'BMD', 'BND', 'BOB', 'BRL', 'BSD', 'BTN', 'BWP', 'BYR', 'BZD', 'CAD', 'CDF', 'CHF', 'CLP', 'CNY', 'COP', 'CRC', 'CUC', 'CUP', 'CVE', 'CZK', 'DJF', 'DKK', 'DOP', 'DZD', 'EGP', 'ERN', 'ETB', 'EUR', 'FJD', 'FKP', 'GBP', 'GEL', 'GGP', 'GHS', 'GIP', 'GMD', 'GNF', 'GTQ', 'GYD', 'HKD', 'HNL', 'HRK', 'HTG', 'HUF', 'IDR', 'ILS', 'IMP', 'INR', 'IQD', 'IRR', 'ISK', 'JEP', 'JMD', 'JOD', 'JPY', 'KES', 'KGS', 'KHR', 'KMF', 'KPW', 'KRW', 'KWD', 'KYD', 'KZT', 'LAK', 'LBP', 'LKR', 'LRD', 'LSL', 'LTL', 'LVL', 'LYD', 'MAD', 'MDL', 'MGA', 'MKD', 'MMK', 'MNT', 'MOP', 'MRO', 'MUR', 'MVR', 'MWK', 'MXN', 'MYR', 'MZN', 'NAD', 'NGN', 'NIO', 'NOK', 'NPR', 'NZD', 'OMR', 'PAB', 'PEN', 'PGK', 'PHP', 'PKR', 'PLN', 'PYG', 'QAR', 'RON', 'RSD', 'RUB', 'RWF', 'SAR', 'SBD', 'SCR', 'SDG', 'SEK', 'SGD', 'SHP', 'SLL', 'SOS', 'SPL', 'SRD', 'STD', 'SVC', 'SYP', 'SZL', 'THB', 'TJS', 'TMT', 'TND', 'TOP', 'TRY', 'TTD', 'TVD', 'TWD', 'TZS', 'UAH', 'UGX', 'USD', 'UYU', 'UZS', 'VEF', 'VND', 'VUV', 'WST', 'XAF', 'XCD', 'XDR', 'XOF', 'XPF', 'YER', 'ZAR', 'ZMW', 'ZWD', 'BTC']
1099
+ },
1100
+ quantity: {
1101
+ type: 'number',
1102
+ format: 'float',
1103
+ description: 'Quantity of the invoice item',
1104
+ example: 1
1105
+ },
1106
+ itemDetails: {
1107
+ type: 'string',
1108
+ description: 'Details of the invoice item',
1109
+ example: 'Details of the invoice item'
1110
+ },
1111
+ catalogEffectiveDate: {
1112
+ type: 'string',
1113
+ description: 'Effective date of the catalog',
1114
+ example: '2019-01-01T00:00:00.000Z'
1115
+ },
1116
+ childItems: {
1117
+ type: 'array',
1118
+ items: {
1119
+ oneOf: [
1120
+ {
1121
+ type: 'array'
1122
+ },
1123
+ {
1124
+ type: 'boolean'
1125
+ },
1126
+ {
1127
+ type: 'number'
1128
+ },
1129
+ {
1130
+ type: 'object',
1131
+ additionalProperties: true
1132
+ },
1133
+ {
1134
+ type: 'string'
1135
+ }
1136
+ ]
1137
+ },
1138
+ description: 'Child items of the invoice item'
1139
+ }
1140
+ },
1141
+ additionalProperties: false
1142
+ },
1143
+ description: 'Items of the invoice'
1144
+ }
1145
+ },
1146
+ additionalProperties: false
1147
+ };
1148
+ export const MarketplaceListingSchema = {
1149
+ type: 'object',
1150
+ properties: {
1151
+ id: {
1152
+ type: 'string',
1153
+ maxLength: 63,
1154
+ minLength: 1,
1155
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
1156
+ description: 'Id of the chart listing',
1157
+ example: 'portworx-enterprise-disaster-recovery-baremetal'
1158
+ },
1159
+ name: {
1160
+ type: 'string',
1161
+ description: 'Name of the chart listing',
1162
+ example: 'Portworx Enterprise + Disaster Recovery - Baremetal'
1163
+ },
1164
+ developer: {
1165
+ type: 'string',
1166
+ description: 'Author of the chart listing',
1167
+ example: 'Portworx'
1168
+ },
1169
+ description: {
1170
+ type: 'string',
1171
+ description: 'Short description of the chart listing',
1172
+ example: 'Run Kubernetes with unmatched scalability, availability, and self-service access to any storage'
1173
+ },
1174
+ logoUrl: {
1175
+ type: 'string',
1176
+ description: 'Logo of the chart listing',
1177
+ example: 'https://portworx.com/wp-content/themes/portworx/assets/images/header/portworx-logo.png'
1178
+ },
1179
+ longDescription: {
1180
+ type: 'string',
1181
+ description: 'Long description of the chart listing',
1182
+ example: 'Portworx-Enterprise is the complete multi-cloud ready Kubernetes storage platform for running mission-critical apps in production....'
1183
+ },
1184
+ categories: {
1185
+ type: 'array',
1186
+ items: {
1187
+ type: 'string',
1188
+ example: 'AI & Machine Learning'
1189
+ },
1190
+ description: 'Tags of the chart'
1191
+ },
1192
+ version_channels: {
1193
+ type: 'array',
1194
+ items: {
1195
+ type: 'string',
1196
+ 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-]+)*))?$',
1197
+ description: 'Version of the chart.',
1198
+ example: '2.x.x-cfke.x'
1199
+ }
1200
+ },
1201
+ value_schemas: {
1202
+ type: 'array',
1203
+ items: {
1204
+ type: 'object',
1205
+ properties: {
1206
+ version: {
1207
+ type: 'string',
1208
+ 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-]+)*))?$',
1209
+ description: 'Version of the chart.',
1210
+ example: '2.1.1-cfke.123'
1211
+ },
1212
+ schema: {
1213
+ type: 'string',
1214
+ description: 'Schema of the chart values. JSON Schema as string'
1215
+ },
1216
+ placeholder: {
1217
+ type: 'string',
1218
+ description: 'Schema of the chart values',
1219
+ example: `foo: 1
1220
+ bar: example`
1221
+ }
1222
+ },
1223
+ required: ['version', 'schema', 'placeholder'],
1224
+ additionalProperties: false
1225
+ }
1226
+ }
1227
+ },
1228
+ required: ['id', 'name', 'developer', 'description', 'logoUrl', 'longDescription', 'categories', 'version_channels', 'value_schemas'],
1229
+ additionalProperties: false
1230
+ };
1231
+ export const OrganizationCreateInputSchema = {
1232
+ type: 'object',
1233
+ properties: {
1234
+ email: {
1235
+ type: 'string',
1236
+ format: 'email',
1237
+ description: 'Email address used for billing as a string.',
1238
+ example: 'email@example.com'
1239
+ },
1240
+ first_name: {
1241
+ type: 'string',
1242
+ description: 'First name of the billing contact person.',
1243
+ example: 'John'
1244
+ },
1245
+ last_name: {
1246
+ type: 'string',
1247
+ description: 'Last name of the billing contact person.',
1248
+ example: 'Doe'
1249
+ },
1250
+ company_name: {
1251
+ type: 'string',
1252
+ maxLength: 120,
1253
+ minLength: 2,
1254
+ 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,}$',
1255
+ description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
1256
+ example: 'ACME Corp.'
1257
+ },
1258
+ password: {
1259
+ type: 'string',
1260
+ minLength: 8,
1261
+ 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.'
1262
+ }
1263
+ },
1264
+ required: ['email', 'first_name', 'last_name', 'company_name', 'password'],
1265
+ additionalProperties: false
1266
+ };
1267
+ export const OrganizationSchema = {
1268
+ type: 'object',
1269
+ properties: {
1270
+ id: {
1271
+ type: 'string',
1272
+ format: 'uuid',
1273
+ description: 'Unique identifier of the organization. UUID v4 string in canonical form',
1274
+ example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
1275
+ },
1276
+ name: {
1277
+ type: 'string',
1278
+ maxLength: 120,
1279
+ minLength: 2,
1280
+ description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
1281
+ example: 'ACME Corp.'
1282
+ },
1283
+ date_created: {
1284
+ type: 'string',
1285
+ format: 'date-time',
1286
+ description: 'Creation date of the organization. ISO 8601 date string in UTC timezone',
1287
+ example: '2023-11-02T16:08:14.338Z'
1288
+ },
1289
+ quota: {
1290
+ type: 'object',
1291
+ properties: {
1292
+ basic_clusters_max: {
1293
+ type: 'integer',
1294
+ minimum: 0,
1295
+ description: 'Maximum number of Basic clusters that can be created.',
1296
+ example: 999
1297
+ },
1298
+ basic_clusters_available: {
1299
+ type: 'integer',
1300
+ description: 'Available number of Basic clusters that can be created.',
1301
+ example: 999
1302
+ },
1303
+ pro_clusters_max: {
1304
+ type: 'integer',
1305
+ minimum: 0,
1306
+ description: 'Maximum number of Pro clusters that can be created.',
1307
+ example: 999
1308
+ },
1309
+ pro_clusters_available: {
1310
+ type: 'integer',
1311
+ description: 'Available number of Pro clusters that can be created.',
1312
+ example: 999
1313
+ },
1314
+ fleets_max: {
1315
+ type: 'integer',
1316
+ minimum: 0,
1317
+ description: 'Maximum number of fleets that can be created per cluster.',
1318
+ example: 999
1319
+ },
1320
+ managed_fleets_cpu_max: {
1321
+ type: 'integer',
1322
+ minimum: 0,
1323
+ description: 'Maximum number of CPU cores per managed fleet.',
1324
+ example: 999
1325
+ },
1326
+ cluster_tiers: {
1327
+ type: 'array',
1328
+ items: {
1329
+ type: 'string',
1330
+ example: 'basic'
1331
+ },
1332
+ minItems: 0,
1333
+ description: 'List of Cloudfleet cluster tiers available for the organization.'
1334
+ },
1335
+ regions: {
1336
+ type: 'array',
1337
+ items: {
1338
+ type: 'string',
1339
+ example: 'northamerica-central-1'
1340
+ },
1341
+ minItems: 1,
1342
+ description: 'List of Cloudfleet control plane regions available for the organization.'
1343
+ },
1344
+ versions: {
1345
+ type: 'array',
1346
+ items: {
1347
+ type: 'object',
1348
+ properties: {
1349
+ id: {
1350
+ type: 'string',
1351
+ description: 'Id of the control plane version. Used in API calls.',
1352
+ example: '1.29.x-cfke.x'
1353
+ },
1354
+ label: {
1355
+ type: 'string',
1356
+ description: 'Label of the control plane version. Used in frontent UI.',
1357
+ example: '1.29.x (Always latest 1.29 patch version)'
1358
+ }
1359
+ },
1360
+ required: ['id', 'label'],
1361
+ additionalProperties: false
1362
+ },
1363
+ minItems: 1,
1364
+ description: 'List of CFKE control plane versions available for the organization.'
1365
+ }
1366
+ },
1367
+ required: ['basic_clusters_max', 'basic_clusters_available', 'pro_clusters_max', 'pro_clusters_available', 'fleets_max', 'managed_fleets_cpu_max', 'cluster_tiers', 'regions', 'versions'],
1368
+ additionalProperties: false,
1369
+ 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.'
1370
+ },
1371
+ status: {
1372
+ type: 'string',
1373
+ description: 'Status of the organization. Can be `active` or `closed`, or `suspended`.',
1374
+ enum: ['active', 'closed', 'suspended']
1375
+ }
1376
+ },
1377
+ required: ['id', 'date_created', 'quota', 'status'],
1378
+ additionalProperties: false
1379
+ };
1380
+ export const PaymentMethodSchema = {
1381
+ type: 'object',
1382
+ properties: {
1383
+ id: {
1384
+ type: 'string',
1385
+ format: 'uuid',
1386
+ description: 'Unique identifier of the organization. UUID v4 string in canonical form.',
1387
+ example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
1388
+ },
1389
+ setup: {
1390
+ type: 'boolean',
1391
+ description: 'Whether organization payment method was set up and ready to use for payments.',
1392
+ example: true
1393
+ },
1394
+ type: {
1395
+ type: 'string',
1396
+ nullable: true,
1397
+ description: 'Payment method type type. Only `card` payments supported at the moment.',
1398
+ example: 'card',
1399
+ enum: ['card']
1400
+ },
1401
+ last4: {
1402
+ type: 'string',
1403
+ nullable: true,
1404
+ description: 'Last 4 digits of the payment card number.',
1405
+ example: '4242'
1406
+ },
1407
+ exp_month: {
1408
+ type: 'integer',
1409
+ minimum: 1,
1410
+ maximum: 12,
1411
+ nullable: true,
1412
+ description: "Two-digit number representing the card's expiration month.",
1413
+ example: '12'
1414
+ },
1415
+ exp_year: {
1416
+ type: 'integer',
1417
+ minimum: 2024,
1418
+ nullable: true,
1419
+ description: "Four-digit number representing the card's expiration year.",
1420
+ example: '2028'
1421
+ },
1422
+ brand: {
1423
+ type: 'string',
1424
+ nullable: true,
1425
+ description: 'Payment card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.',
1426
+ example: 'visa',
1427
+ enum: ['amex', 'diners', 'discover', 'eftpos_au', 'jcb', 'mastercard', 'unionpay', 'visa', 'unknown']
1428
+ }
1429
+ },
1430
+ required: ['id', 'setup', 'type', 'last4', 'exp_month', 'exp_year', 'brand'],
1431
+ additionalProperties: false
1432
+ };
1433
+ export const TokenCreateInputSchema = {
1434
+ type: 'object',
1435
+ properties: {
1436
+ name: {
1437
+ type: 'string',
1438
+ maxLength: 63,
1439
+ minLength: 1,
1440
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
1441
+ description: 'Human readable access token name.',
1442
+ example: 'deployment-token'
1443
+ },
1444
+ role: {
1445
+ type: 'string',
1446
+ description: 'Role assumed by the token.',
1447
+ example: 'User',
1448
+ enum: ['Administrator', 'User']
1449
+ }
1450
+ },
1451
+ required: ['name', 'role'],
1452
+ additionalProperties: false
1453
+ };
1454
+ export const TokenSchema = {
1455
+ type: 'object',
1456
+ properties: {
1457
+ name: {
1458
+ type: 'string',
1459
+ maxLength: 63,
1460
+ minLength: 1,
1461
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
1462
+ description: 'Human readable access token name.',
1463
+ example: 'deployment-token'
1464
+ },
1465
+ role: {
1466
+ type: 'string',
1467
+ description: 'Role assumed by the token.',
1468
+ example: 'User',
1469
+ enum: ['Administrator', 'User']
1470
+ },
1471
+ id: {
1472
+ type: 'string',
1473
+ description: 'Generated unique identifier of the access token.',
1474
+ example: '7kUZnH7nnKUFfvc4NK2KQF'
1475
+ },
1476
+ secret: {
1477
+ type: 'string',
1478
+ description: 'Access token secret. Unmasked only during creation.',
1479
+ example: 'vq4SCMBsrgmBxbax80WDXuXoFNZAckI8'
1480
+ },
1481
+ date_created: {
1482
+ type: 'string',
1483
+ format: 'date-time',
1484
+ description: 'Creation date of the access token. ISO 8601 date string in UTC timezone',
1485
+ example: '2023-12-20T13:53:32.000Z'
1486
+ }
1487
+ },
1488
+ required: ['name', 'role', 'date_created'],
1489
+ additionalProperties: false
1490
+ };
1491
+ export const TokenUpdateInputSchema = {
1492
+ type: 'object',
1493
+ properties: {
1494
+ name: {
1495
+ type: 'string',
1496
+ maxLength: 63,
1497
+ minLength: 1,
1498
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
1499
+ description: 'Human readable access token name.',
1500
+ example: 'deployment-token'
1501
+ },
1502
+ role: {
1503
+ type: 'string',
1504
+ description: 'Role assumed by the token.',
1505
+ example: 'User',
1506
+ enum: ['Administrator', 'User']
1507
+ }
1508
+ },
1509
+ additionalProperties: false
1510
+ };
1511
+ export const UsageSchema = {
1512
+ type: 'object',
1513
+ properties: {
1514
+ hour: {
1515
+ type: 'string',
1516
+ description: 'Hour of the usage',
1517
+ example: '2019-01-01T00:00:00.000Z'
1518
+ },
1519
+ cluster_id: {
1520
+ type: 'string',
1521
+ format: 'uuid',
1522
+ description: 'Unique identifier of the kubernetes cluster. UUID v4 string in canonical form',
1523
+ example: '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
1524
+ },
1525
+ cluster_tier: {
1526
+ type: 'string',
1527
+ description: 'Tier of the cluster.',
1528
+ example: 'pro',
1529
+ enum: ['']
1530
+ },
1531
+ product: {
1532
+ type: 'string',
1533
+ description: 'The product the usage is associated with',
1534
+ example: 'cfke_controlplane',
1535
+ enum: ['cfke_controlplane', 'cfke_connected_nodes', 'infra_compute', 'infra_storage', 'infra_loadbalancing', 'infra_traffic', 'cfcr_storage']
1536
+ },
1537
+ node_name: {
1538
+ type: 'string',
1539
+ description: 'Name of the Kubernetes node',
1540
+ example: 'flexible-moth-956037384'
1541
+ },
1542
+ sku: {
1543
+ type: 'string',
1544
+ description: 'SKU of the Kubernetes node',
1545
+ example: 'GCP-NORTHAMERICA-NORTHEAST1-A-G1-SMALL-SPOT'
1546
+ },
1547
+ cpu: {
1548
+ anyOf: [
1549
+ {
1550
+ type: 'number',
1551
+ format: 'float',
1552
+ description: 'CPU core count of the node',
1553
+ example: 4
1554
+ },
1555
+ {
1556
+ type: 'string',
1557
+ enum: ['']
1558
+ }
1559
+ ]
1560
+ },
1561
+ price: {
1562
+ anyOf: [
1563
+ {
1564
+ type: 'number',
1565
+ format: 'float',
1566
+ description: 'Price',
1567
+ example: 4
1568
+ },
1569
+ {
1570
+ type: 'string',
1571
+ enum: ['']
1572
+ }
1573
+ ]
1574
+ },
1575
+ value: {
1576
+ anyOf: [
1577
+ {
1578
+ type: 'number',
1579
+ format: 'float',
1580
+ description: 'Value',
1581
+ example: 4
1582
+ },
1583
+ {
1584
+ type: 'string',
1585
+ enum: ['']
1586
+ }
1587
+ ]
1588
+ },
1589
+ total: {
1590
+ anyOf: [
1591
+ {
1592
+ type: 'number',
1593
+ format: 'float',
1594
+ description: 'Total',
1595
+ example: 4
1596
+ },
1597
+ {
1598
+ type: 'string',
1599
+ enum: ['']
1600
+ }
1601
+ ]
1602
+ }
1603
+ },
1604
+ required: ['cluster_id', 'cluster_tier', 'product', 'node_name', 'sku', 'cpu', 'price', 'value', 'total'],
1605
+ additionalProperties: false
1606
+ };
1607
+ export const UserCreateInputSchema = {
1608
+ type: 'object',
1609
+ properties: {
1610
+ email: {
1611
+ type: 'string',
1612
+ format: 'email',
1613
+ description: 'User email address.',
1614
+ example: 'email@example.com'
1615
+ },
1616
+ first_name: {
1617
+ type: 'string',
1618
+ maxLength: 50,
1619
+ minLength: 1,
1620
+ description: 'User first name.',
1621
+ example: 'John'
1622
+ },
1623
+ last_name: {
1624
+ type: 'string',
1625
+ maxLength: 50,
1626
+ minLength: 1,
1627
+ description: 'User last name.',
1628
+ example: 'Doe'
1629
+ },
1630
+ code: {
1631
+ type: 'string',
1632
+ length: 22,
1633
+ description: 'Generated unique invite code.',
1634
+ example: '7kUZnH7nnKUFfvc4NK2KQF'
1635
+ },
1636
+ password: {
1637
+ type: 'string',
1638
+ minLength: 8,
1639
+ description: 'User password. Must be at least 8 characters long.'
1640
+ },
1641
+ status: {
1642
+ type: 'string',
1643
+ description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
1644
+ example: 'active',
1645
+ enum: ['active', 'inactive']
1646
+ },
1647
+ role: {
1648
+ type: 'string',
1649
+ description: "User role. Can be 'Administrator', 'User'.",
1650
+ example: 'User',
1651
+ enum: ['Administrator', 'User']
1652
+ }
1653
+ },
1654
+ required: ['email', 'first_name', 'last_name', 'code', 'password'],
1655
+ additionalProperties: false
1656
+ };
1657
+ export const UserSchema = {
1658
+ type: 'object',
1659
+ properties: {
1660
+ email: {
1661
+ type: 'string',
1662
+ format: 'email',
1663
+ description: 'User email address.',
1664
+ example: 'email@example.com'
1665
+ },
1666
+ first_name: {
1667
+ type: 'string',
1668
+ maxLength: 50,
1669
+ minLength: 1,
1670
+ description: 'User first name.',
1671
+ example: 'John'
1672
+ },
1673
+ last_name: {
1674
+ type: 'string',
1675
+ maxLength: 50,
1676
+ minLength: 1,
1677
+ description: 'User last name.',
1678
+ example: 'Doe'
1679
+ },
1680
+ role: {
1681
+ type: 'string',
1682
+ description: "User role. Can be 'Administrator', 'User'.",
1683
+ example: 'User',
1684
+ enum: ['Administrator', 'User']
1685
+ },
1686
+ status: {
1687
+ type: 'string',
1688
+ description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
1689
+ example: 'active',
1690
+ enum: ['active', 'inactive']
1691
+ },
1692
+ id: {
1693
+ type: 'string',
1694
+ format: 'uuid',
1695
+ description: 'Unique identifier of the user. UUID v4 string in canonical form',
1696
+ example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
1697
+ },
1698
+ date_created: {
1699
+ type: 'string',
1700
+ format: 'date-time',
1701
+ description: 'Creation date of the user. ISO 8601 date string in UTC timezone',
1702
+ example: '2023-11-02T16:08:14.338Z'
1703
+ }
1704
+ },
1705
+ required: ['email', 'first_name', 'last_name', 'role', 'status', 'id', 'date_created'],
1706
+ additionalProperties: false
1707
+ };
1708
+ export const UserUpdateInputSchema = {
1709
+ type: 'object',
1710
+ properties: {
1711
+ email: {
1712
+ type: 'string',
1713
+ format: 'email',
1714
+ description: 'User email address.',
1715
+ example: 'email@example.com'
1716
+ },
1717
+ first_name: {
1718
+ type: 'string',
1719
+ maxLength: 50,
1720
+ minLength: 1,
1721
+ description: 'User first name.',
1722
+ example: 'John'
1723
+ },
1724
+ last_name: {
1725
+ type: 'string',
1726
+ maxLength: 50,
1727
+ minLength: 1,
1728
+ description: 'User last name.',
1729
+ example: 'Doe'
1730
+ },
1731
+ role: {
1732
+ type: 'string',
1733
+ description: "User role. Can be 'Administrator', 'User'.",
1734
+ example: 'User',
1735
+ enum: ['Administrator', 'User']
1736
+ },
1737
+ status: {
1738
+ type: 'string',
1739
+ description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
1740
+ example: 'active',
1741
+ enum: ['active', 'inactive']
1742
+ }
1743
+ },
1744
+ additionalProperties: false
1745
+ };
1746
+ //# sourceMappingURL=schemas.gen.js.map