@cloudfleet/sdk 0.0.1-e644e0d → 0.0.1-e9052b2

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.
@@ -67,11 +67,209 @@ export const BillingContactSchema = {
67
67
  type: 'string',
68
68
  description: 'Last name of the billing contact person.',
69
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
+ nullable: true,
80
+ description: 'Type of the tax ID.',
81
+ example: 'de_vat',
82
+ enum: ['ad_nrt', 'ae_trn', 'al_tin', 'am_tin', 'ao_tin', 'ar_cuit', 'at_vat', 'au_abn', 'au_arn', 'ba_tin', 'bb_tin', 'be_vat', 'bg_uic', 'bg_vat', 'bh_vat', 'bo_tin', 'br_cnpj', 'br_cpf', 'bs_tin', 'by_tin', 'ca_bn', 'ca_gst_hst', 'ca_pst_bc', 'ca_pst_mb', 'ca_pst_sk', 'ca_qst', 'cd_nif', 'ch_uid', 'ch_vat', 'cl_tin', 'cn_tin', 'co_nit', 'cr_tin', 'cy_vat', 'cz_vat', 'de_stn', 'de_vat', 'dk_vat', 'do_rcn', 'ec_ruc', 'ee_vat', 'eg_tin', 'es_cif', 'es_vat', 'eu_oss_vat', 'fi_vat', 'fr_vat', 'gb_vat', 'ge_vat', 'gn_nif', 'gr_vat', 'hk_br', 'hr_oib', 'hr_vat', 'hu_tin', 'hu_vat', 'id_npwp', 'ie_vat', 'il_vat', 'in_gst', 'is_vat', 'it_vat', 'jp_cn', 'jp_rn', 'jp_trn', 'ke_pin', 'kh_tin', 'kr_brn', 'kz_bin', 'li_uid', 'li_vat', 'lt_vat', 'lu_vat', 'lv_vat', 'ma_vat', 'md_vat', 'me_pib', 'mk_vat', 'mr_nif', 'mt_vat', 'mx_rfc', 'my_frp', 'my_itn', 'my_sst', 'ng_tin', 'nl_vat', 'no_vat', 'no_voec', 'np_pan', 'nz_gst', 'om_vat', 'pe_ruc', 'ph_tin', 'pl_vat', 'pt_vat', 'ro_tin', 'ro_vat', 'rs_pib', 'ru_inn', 'ru_kpp', 'sa_vat', 'se_vat', 'sg_gst', 'sg_uen', 'si_tin', 'si_vat', 'sk_vat', 'sn_ninea', 'sr_fin', 'sv_nit', 'th_vat', 'tj_tin', 'tr_tin', 'tw_vat', 'tz_vat', 'ua_vat', 'ug_tin', 'us_ein', 'uy_ruc', 'uz_tin', 'uz_vat', 've_rif', 'vn_tin', 'xi_vat', 'za_vat', 'zm_tin', 'zw_tin', '']
70
83
  }
71
84
  },
72
85
  required: ['email', 'first_name', 'last_name'],
73
86
  additionalProperties: false
74
87
  };
88
+ export const BillingCreditsSchema = {
89
+ type: 'object',
90
+ properties: {
91
+ id: {
92
+ type: 'string',
93
+ description: 'Generated unique identifier of the promotional code.',
94
+ example: '7kUZnH7nnKUFfvc4NK2KQF'
95
+ },
96
+ date_created: {
97
+ type: 'string',
98
+ format: 'date-time',
99
+ description: 'Date of the credit application. ISO 8601 date string in the UTC timezone.',
100
+ example: '2023-12-20T13:53:32.000Z'
101
+ },
102
+ code: {
103
+ type: 'string',
104
+ description: 'Promotional code used by the customer.',
105
+ example: 'VQ4SCMB'
106
+ },
107
+ description: {
108
+ type: 'string',
109
+ description: 'Description of the promotional code.',
110
+ example: '10% off on all products'
111
+ },
112
+ products: {
113
+ type: 'array',
114
+ items: {
115
+ type: 'string'
116
+ },
117
+ description: 'List of product SKUs that the promotional code can be used on.',
118
+ example: ['cfke_controlplane', 'cfke_connected_nodes', 'infra_compute', 'infra_storage', 'infra_loadbalancing', 'infra_traffic', 'cfcr_storage']
119
+ },
120
+ type: {
121
+ type: 'string',
122
+ description: 'Type of the promotional code.',
123
+ example: 'credit',
124
+ enum: ['credit', 'discount']
125
+ },
126
+ value: {
127
+ type: 'number',
128
+ format: 'float',
129
+ description: 'Value of the promotional code.',
130
+ example: 10
131
+ },
132
+ billing_period: {
133
+ type: 'string',
134
+ format: 'date-time',
135
+ description: 'Date of the billing cycle. An ISO 8601 date string in the UTC timezone.',
136
+ example: '2023-12-20T13:53:32.000Z'
137
+ },
138
+ value_remaining: {
139
+ type: 'number',
140
+ format: 'float',
141
+ description: 'Value of the promotional code.',
142
+ example: 10
143
+ }
144
+ },
145
+ required: ['date_created', 'code', 'type', 'value', 'billing_period'],
146
+ additionalProperties: false
147
+ };
148
+ export const ChartCreateInputSchema = {
149
+ type: 'object',
150
+ properties: {
151
+ values: {
152
+ type: 'string',
153
+ description: 'Values to be used in the chart encoded as a JSON string.'
154
+ },
155
+ version_channel: {
156
+ type: 'string',
157
+ 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-]+)*))?$',
158
+ description: 'Desired version range or channel for the chart.',
159
+ example: '2.x.x-cfke.x'
160
+ },
161
+ name: {
162
+ type: 'string',
163
+ maxLength: 63,
164
+ minLength: 1,
165
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
166
+ description: 'Unique identifier of the chart deployment aka name of the helm release.',
167
+ example: 'postgresql-0'
168
+ },
169
+ namespace: {
170
+ type: 'string',
171
+ maxLength: 63,
172
+ minLength: 1,
173
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
174
+ description: 'Namespace of the chart deployment',
175
+ example: 'default'
176
+ },
177
+ chart: {
178
+ type: 'string',
179
+ maxLength: 63,
180
+ minLength: 1,
181
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
182
+ description: 'Name of the chart listing',
183
+ example: 'postgresql'
184
+ }
185
+ },
186
+ required: ['values', 'version_channel', 'name', 'namespace', 'chart'],
187
+ additionalProperties: false
188
+ };
189
+ export const ChartSchema = {
190
+ type: 'object',
191
+ properties: {
192
+ values: {
193
+ type: 'string',
194
+ description: 'Values to be used in the chart encoded as a JSON string.'
195
+ },
196
+ version_channel: {
197
+ type: 'string',
198
+ 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-]+)*))?$',
199
+ description: 'Desired version range or channel for the chart.',
200
+ example: '2.x.x-cfke.x'
201
+ },
202
+ name: {
203
+ type: 'string',
204
+ maxLength: 63,
205
+ minLength: 1,
206
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
207
+ description: 'Unique identifier of the chart deployment aka name of the helm release.',
208
+ example: 'postgresql-0'
209
+ },
210
+ namespace: {
211
+ type: 'string',
212
+ maxLength: 63,
213
+ minLength: 1,
214
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
215
+ description: 'Namespace of the chart deployment',
216
+ example: 'default'
217
+ },
218
+ chart: {
219
+ type: 'string',
220
+ maxLength: 63,
221
+ minLength: 1,
222
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
223
+ description: 'Name of the chart listing',
224
+ example: 'postgresql'
225
+ },
226
+ status: {
227
+ type: 'string',
228
+ description: 'Status of the chart deployment.',
229
+ example: 'active',
230
+ enum: ['InstallSucceeded', 'InstallFailed', 'UpgradeSucceeded', 'UpgradeFailed', 'TestSucceeded', 'TestFailed', 'RollbackSucceeded', 'RollbackFailed', 'UninstallSucceeded', 'UninstallFailed', 'ArtifactFailed', 'DependencyNotReady', 'Progressing', 'SourceNotReady']
231
+ },
232
+ version_current: {
233
+ type: 'string',
234
+ description: 'Current version of the chart deployment.',
235
+ example: '2.1.33-cfke.11'
236
+ },
237
+ created_at: {
238
+ type: 'string',
239
+ description: 'Creation date and time of the chart deployment.',
240
+ example: '2024-09-12T09:11:27Z'
241
+ },
242
+ updated_at: {
243
+ type: 'string',
244
+ description: 'Last update date and time of the chart deployment.',
245
+ example: '2024-09-12T09:11:27Z'
246
+ },
247
+ ready: {
248
+ type: 'boolean',
249
+ description: 'Indicates if the chart deployment is ready to be used.',
250
+ example: true
251
+ }
252
+ },
253
+ required: ['values', 'version_channel', 'name', 'namespace', 'chart', 'status', 'version_current', 'created_at', 'updated_at', 'ready'],
254
+ additionalProperties: false
255
+ };
256
+ export const ChartUpdateInputSchema = {
257
+ type: 'object',
258
+ properties: {
259
+ values: {
260
+ type: 'string',
261
+ description: 'Values to be used in the chart encoded as a JSON string.'
262
+ },
263
+ version_channel: {
264
+ type: 'string',
265
+ 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-]+)*))?$',
266
+ description: 'Desired version range or channel for the chart.',
267
+ example: '2.x.x-cfke.x'
268
+ }
269
+ },
270
+ required: ['values', 'version_channel'],
271
+ additionalProperties: false
272
+ };
75
273
  export const ClusterCreateInputSchema = {
76
274
  type: 'object',
77
275
  properties: {
@@ -83,19 +281,19 @@ export const ClusterCreateInputSchema = {
83
281
  description: 'Name of the cluster.',
84
282
  example: 'production-cluster'
85
283
  },
86
- region: {
87
- type: 'string',
88
- description: 'Cloudfleet control plane region. One of "staging", "northamerica-central-1". This field can not be updated after creation.',
89
- default: 'staging',
90
- example: 'northamerica-central-1',
91
- enum: ['staging', 'northamerica-central-1']
92
- },
93
284
  tier: {
94
285
  type: 'string',
95
286
  description: 'Tier of the cluster.',
96
287
  example: 'pro',
97
288
  enum: ['basic', 'pro']
98
289
  },
290
+ region: {
291
+ type: 'string',
292
+ description: 'Cloudfleet control plane region. One of "staging", "northamerica-central-1", "europe-central-1a". This field can not be updated after creation.',
293
+ default: 'staging',
294
+ example: 'northamerica-central-1',
295
+ enum: ['staging', 'northamerica-central-1', 'europe-central-1a']
296
+ },
99
297
  version_channel: {
100
298
  type: 'string',
101
299
  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-]+)*))?$',
@@ -193,19 +391,19 @@ export const ClusterSchema = {
193
391
  description: 'Name of the cluster.',
194
392
  example: 'production-cluster'
195
393
  },
196
- region: {
197
- type: 'string',
198
- description: 'Cloudfleet control plane region. One of "staging", "northamerica-central-1". This field can not be updated after creation.',
199
- default: 'staging',
200
- example: 'northamerica-central-1',
201
- enum: ['staging', 'northamerica-central-1']
202
- },
203
394
  tier: {
204
395
  type: 'string',
205
396
  description: 'Tier of the cluster.',
206
397
  example: 'pro',
207
398
  enum: ['basic', 'pro']
208
399
  },
400
+ region: {
401
+ type: 'string',
402
+ description: 'Cloudfleet control plane region. One of "staging", "northamerica-central-1", "europe-central-1a". This field can not be updated after creation.',
403
+ default: 'staging',
404
+ example: 'northamerica-central-1',
405
+ enum: ['staging', 'northamerica-central-1', 'europe-central-1a']
406
+ },
209
407
  version_channel: {
210
408
  type: 'string',
211
409
  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-]+)*))?$',
@@ -280,6 +478,12 @@ export const ClusterUpdateInputSchema = {
280
478
  description: 'Name of the cluster.',
281
479
  example: 'production-cluster'
282
480
  },
481
+ tier: {
482
+ type: 'string',
483
+ description: 'Tier of the cluster.',
484
+ example: 'pro',
485
+ enum: ['basic', 'pro']
486
+ },
283
487
  version_channel: {
284
488
  type: 'string',
285
489
  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-]+)*))?$',
@@ -287,6 +491,7 @@ export const ClusterUpdateInputSchema = {
287
491
  example: '1.29.x-cfke.x'
288
492
  }
289
493
  },
494
+ required: ['tier'],
290
495
  additionalProperties: false
291
496
  };
292
497
  export const FleetCreateInputSchema = {
@@ -322,34 +527,19 @@ export const FleetCreateInputSchema = {
322
527
  additionalProperties: false
323
528
  },
324
529
  hetzner: {
325
- oneOf: [
326
- {
327
- type: 'object',
328
- properties: {
329
- enabled: {
330
- type: 'boolean',
331
- default: true
332
- },
333
- apiKey: {
334
- type: 'string'
335
- }
336
- },
337
- additionalProperties: false
530
+ type: 'object',
531
+ properties: {
532
+ enabled: {
533
+ type: 'boolean',
534
+ default: true
338
535
  },
339
- {
340
- type: 'object',
341
- properties: {
342
- apiKey: {
343
- type: 'string'
344
- },
345
- enabled: {
346
- type: 'boolean',
347
- default: true
348
- }
349
- },
350
- additionalProperties: false
536
+ apiKey: {
537
+ type: 'string',
538
+ description: 'Hetzner Cloud API key with read / write access'
351
539
  }
352
- ]
540
+ },
541
+ required: ['apiKey'],
542
+ additionalProperties: false
353
543
  },
354
544
  aws: {
355
545
  type: 'object',
@@ -373,14 +563,9 @@ export const FleetCreateInputSchema = {
373
563
  pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
374
564
  description: 'Unique identifier of the kubernetes fleet.',
375
565
  example: 'new-clouds-fleet'
376
- },
377
- type: {
378
- type: 'string',
379
- description: 'Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.',
380
- enum: ['managed', 'connected']
381
566
  }
382
567
  },
383
- required: ['id', 'type'],
568
+ required: ['id'],
384
569
  additionalProperties: false
385
570
  };
386
571
  export const FleetSchema = {
@@ -416,34 +601,19 @@ export const FleetSchema = {
416
601
  additionalProperties: false
417
602
  },
418
603
  hetzner: {
419
- oneOf: [
420
- {
421
- type: 'object',
422
- properties: {
423
- enabled: {
424
- type: 'boolean',
425
- default: true
426
- },
427
- apiKey: {
428
- type: 'string'
429
- }
430
- },
431
- additionalProperties: false
604
+ type: 'object',
605
+ properties: {
606
+ enabled: {
607
+ type: 'boolean',
608
+ default: true
432
609
  },
433
- {
434
- type: 'object',
435
- properties: {
436
- apiKey: {
437
- type: 'string'
438
- },
439
- enabled: {
440
- type: 'boolean',
441
- default: true
442
- }
443
- },
444
- additionalProperties: false
610
+ apiKey: {
611
+ type: 'string',
612
+ description: 'Hetzner Cloud API key with read / write access'
445
613
  }
446
- ]
614
+ },
615
+ required: ['apiKey'],
616
+ additionalProperties: false
447
617
  },
448
618
  aws: {
449
619
  type: 'object',
@@ -467,14 +637,9 @@ export const FleetSchema = {
467
637
  pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
468
638
  description: 'Unique identifier of the kubernetes fleet.',
469
639
  example: 'new-clouds-fleet'
470
- },
471
- type: {
472
- type: 'string',
473
- description: 'Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.',
474
- enum: ['managed', 'connected']
475
640
  }
476
641
  },
477
- required: ['id', 'type'],
642
+ required: ['id'],
478
643
  additionalProperties: false
479
644
  };
480
645
  export const FleetUpdateInputSchema = {
@@ -510,34 +675,19 @@ export const FleetUpdateInputSchema = {
510
675
  additionalProperties: false
511
676
  },
512
677
  hetzner: {
513
- oneOf: [
514
- {
515
- type: 'object',
516
- properties: {
517
- enabled: {
518
- type: 'boolean',
519
- default: true
520
- },
521
- apiKey: {
522
- type: 'string'
523
- }
524
- },
525
- additionalProperties: false
678
+ type: 'object',
679
+ properties: {
680
+ enabled: {
681
+ type: 'boolean',
682
+ default: true
526
683
  },
527
- {
528
- type: 'object',
529
- properties: {
530
- apiKey: {
531
- type: 'string'
532
- },
533
- enabled: {
534
- type: 'boolean',
535
- default: true
536
- }
537
- },
538
- additionalProperties: false
684
+ apiKey: {
685
+ type: 'string',
686
+ description: 'Hetzner Cloud API key with read / write access'
539
687
  }
540
- ]
688
+ },
689
+ required: ['apiKey'],
690
+ additionalProperties: false
541
691
  },
542
692
  aws: {
543
693
  type: 'object',
@@ -557,276 +707,6 @@ export const FleetUpdateInputSchema = {
557
707
  },
558
708
  additionalProperties: false
559
709
  };
560
- export const InfrastructureFilterSchema = {
561
- type: 'object',
562
- properties: {
563
- version: {
564
- type: 'integer',
565
- description: 'Version of the infrastructure filter definition. Currently only version 1 is supported.',
566
- default: 1,
567
- example: 1,
568
- enum: [1]
569
- },
570
- provider: {
571
- type: 'array',
572
- items: {
573
- type: 'string'
574
- },
575
- 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/)',
576
- example: 'AWS'
577
- },
578
- region: {
579
- type: 'array',
580
- items: {
581
- type: 'string'
582
- },
583
- 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/)',
584
- example: 'northamerica'
585
- },
586
- sub_region: {
587
- type: 'array',
588
- items: {
589
- type: 'string'
590
- },
591
- 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/)',
592
- example: 'west'
593
- },
594
- csp_region: {
595
- type: 'array',
596
- items: {
597
- type: 'string'
598
- },
599
- description: 'Limits selection of cloud regions to this list of canonical provider regions',
600
- example: 'eu-west-1'
601
- },
602
- instance_type: {
603
- type: 'array',
604
- items: {
605
- type: 'string'
606
- },
607
- description: 'Limits selection of instance types to this list. Instance / VM type as defined by the cloud service provider',
608
- example: 'p4d.24xlarge'
609
- },
610
- accelerator_name: {
611
- type: 'array',
612
- items: {
613
- type: 'string'
614
- },
615
- 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",
616
- example: 'A100'
617
- },
618
- accelerator_manufacturer: {
619
- type: 'array',
620
- items: {
621
- type: 'string'
622
- },
623
- description: "List of normalized accelerator manufacturer names. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer",
624
- example: 'NVIDIA'
625
- },
626
- accelerator_count_min: {
627
- type: 'integer',
628
- minimum: 0,
629
- 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.',
630
- example: 1
631
- },
632
- accelerator_count_max: {
633
- type: 'integer',
634
- minimum: 0,
635
- 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.',
636
- example: 8
637
- },
638
- accelerator_memory_min: {
639
- type: 'number',
640
- format: 'float',
641
- description: "Minimum amount of accelerator memory available to each accelerator. For example, Nvidia A100 GPUs will typically have '40.0' gibibytes (GiB) of memory, while A100 GPUs with HBM2E memory will have '80.0' gibibytes (GiB) of memory",
642
- example: 40
643
- },
644
- accelerator_memory_max: {
645
- type: 'number',
646
- format: 'float',
647
- description: "Maximum amount of accelerator memory available to each accelerator. For example, Nvidia A100 GPUs will typically have '40.0' gibibytes (GiB) of memory, while A100 GPUs with HBM2E memory will have '80.0' gibibytes (GiB) of memory",
648
- example: 80
649
- },
650
- memory_min: {
651
- type: 'integer',
652
- minimum: 0,
653
- description: 'Minimum amount of RAM in gibibytes (GiB)',
654
- example: 32
655
- },
656
- memory_max: {
657
- type: 'integer',
658
- minimum: 0,
659
- description: 'Maximum amount of RAM in gibibytes (GiB)',
660
- example: 64
661
- },
662
- vcpu_min: {
663
- type: 'integer',
664
- minimum: 1,
665
- 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.',
666
- example: 32
667
- },
668
- vcpu_max: {
669
- type: 'integer',
670
- minimum: 1,
671
- description: 'Maximum number of vCPUs as defined by the cloud service provider. Some cloud providers use hyperthreading, so the number of vCPUs may be twice as high as the number of physical cores.',
672
- example: 128
673
- },
674
- storage_total_min: {
675
- type: 'number',
676
- format: 'float',
677
- minimum: 10,
678
- description: 'Minimum total storage in GiB (attached and local)',
679
- example: 128
680
- },
681
- storage_total_max: {
682
- type: 'number',
683
- format: 'float',
684
- minimum: 10,
685
- description: 'Maximum total storage in GiB (attached and local)',
686
- example: 256
687
- },
688
- storage_local_min: {
689
- type: 'number',
690
- format: 'float',
691
- description: 'Minimum volume of directly attached, block-device local storage in gibibytes (GiB)',
692
- example: 24
693
- },
694
- storage_local_max: {
695
- type: 'number',
696
- format: 'float',
697
- description: 'Maximum volume of directly attached, block-device local storage in gibibytes (GiB)',
698
- example: 128
699
- },
700
- price_min: {
701
- type: 'number',
702
- format: 'float',
703
- description: 'Minimum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.',
704
- example: 10
705
- },
706
- price_max: {
707
- type: 'number',
708
- format: 'float',
709
- description: 'Maximum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.',
710
- example: 50
711
- }
712
- },
713
- additionalProperties: false
714
- };
715
- export const InfrastructureInstanceSchema = {
716
- type: 'object',
717
- properties: {
718
- sku: {
719
- type: 'string',
720
- description: 'Cloudfleet instance SKU. Has a format of <provider>-<csp_region>-<instance_type>.',
721
- example: 'AWS-EU-WEST-1C-P4D.24XLARGE'
722
- },
723
- provider: {
724
- type: 'string',
725
- description: 'Normalized cloud service provider name. For the full list of supported providers, see [Providers](https://cloudfleet.ai/docs/cloud-infrastructure/providers/)',
726
- example: 'AWS'
727
- },
728
- region: {
729
- type: 'string',
730
- description: 'Normalized region. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)',
731
- example: 'europe'
732
- },
733
- sub_region: {
734
- type: 'string',
735
- description: 'Normalized sub-region. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)',
736
- example: 'west'
737
- },
738
- csp_region: {
739
- type: 'string',
740
- description: 'Region as defined by the cloud service provider',
741
- example: 'eu-west-1'
742
- },
743
- csp_zone: {
744
- type: 'string',
745
- description: 'Availability zone as defined by the cloud service provider',
746
- example: 'eu-west-1a'
747
- },
748
- instance_type: {
749
- type: 'string',
750
- description: 'Instance / VM type as defined by the cloud service provider',
751
- example: 'p4d.24xlarge'
752
- },
753
- architecture: {
754
- type: 'string',
755
- description: 'Instance CPU architecture',
756
- example: 'amd64'
757
- },
758
- os: {
759
- type: 'string',
760
- description: 'Instance operating system',
761
- example: 'linux'
762
- },
763
- vcpu: {
764
- type: 'number',
765
- format: 'float',
766
- minimum: 1,
767
- 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.',
768
- example: 96
769
- },
770
- memory: {
771
- type: 'number',
772
- format: 'float',
773
- minimum: 1,
774
- description: 'Total amount of RAM in gibibytes (GiB)',
775
- example: 1152
776
- },
777
- local_storage: {
778
- type: 'number',
779
- format: 'float',
780
- description: 'Volume of directly attached, block-device local storage in gibibytes (GiB)',
781
- example: 8000
782
- },
783
- accelerator_name: {
784
- type: 'string',
785
- description: "Normalized model name of accelerator. For example, all variations of Nvidia A100 GPUs will have 'A100' as accelerator name with various memory configurations set in accelerator_memory field",
786
- example: 'A100'
787
- },
788
- accelerator_manufacturer: {
789
- type: 'string',
790
- description: "Normalized manufacturer name of accelerator. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer",
791
- example: 'NVIDIA'
792
- },
793
- accelerator_count: {
794
- type: 'integer',
795
- 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.',
796
- example: 8
797
- },
798
- accelerator_memory: {
799
- type: 'number',
800
- format: 'float',
801
- 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",
802
- example: 40
803
- },
804
- pods_capacity: {
805
- type: 'number',
806
- format: 'float',
807
- description: 'Maximum number of pods that can be run on this instance type.',
808
- example: 110
809
- },
810
- capacity_type: {
811
- type: 'string',
812
- description: 'Capacity type of the instance. E.g. `on-demand`, `spot`.',
813
- example: 'on-demand'
814
- },
815
- price: {
816
- type: 'number',
817
- format: 'float',
818
- description: 'Price of running the inctance per hour in USD as defined by the cloud service provider',
819
- example: 35.39655
820
- },
821
- available: {
822
- type: 'boolean',
823
- description: 'Whether this instance type is available.',
824
- example: true
825
- }
826
- },
827
- required: ['sku', 'provider', 'region', 'sub_region', 'csp_region', 'csp_zone', 'instance_type', 'architecture', 'os', 'vcpu', 'memory', 'local_storage', 'price'],
828
- additionalProperties: false
829
- };
830
710
  export const InviteSchema = {
831
711
  type: 'object',
832
712
  properties: {
@@ -1218,6 +1098,89 @@ export const InvoiceSchema = {
1218
1098
  },
1219
1099
  additionalProperties: false
1220
1100
  };
1101
+ export const MarketplaceListingSchema = {
1102
+ type: 'object',
1103
+ properties: {
1104
+ id: {
1105
+ type: 'string',
1106
+ maxLength: 63,
1107
+ minLength: 1,
1108
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
1109
+ description: 'Id of the chart listing',
1110
+ example: 'portworx-enterprise-disaster-recovery-baremetal'
1111
+ },
1112
+ name: {
1113
+ type: 'string',
1114
+ description: 'Name of the chart listing',
1115
+ example: 'Portworx Enterprise + Disaster Recovery - Baremetal'
1116
+ },
1117
+ developer: {
1118
+ type: 'string',
1119
+ description: 'Author of the chart listing',
1120
+ example: 'Portworx'
1121
+ },
1122
+ description: {
1123
+ type: 'string',
1124
+ description: 'Short description of the chart listing',
1125
+ example: 'Run Kubernetes with unmatched scalability, availability, and self-service access to any storage'
1126
+ },
1127
+ logoUrl: {
1128
+ type: 'string',
1129
+ description: 'Logo of the chart listing',
1130
+ example: 'https://portworx.com/wp-content/themes/portworx/assets/images/header/portworx-logo.png'
1131
+ },
1132
+ longDescription: {
1133
+ type: 'string',
1134
+ description: 'Long description of the chart listing',
1135
+ example: 'Portworx-Enterprise is the complete multi-cloud ready Kubernetes storage platform for running mission-critical apps in production....'
1136
+ },
1137
+ categories: {
1138
+ type: 'array',
1139
+ items: {
1140
+ type: 'string',
1141
+ example: 'AI & Machine Learning'
1142
+ },
1143
+ description: 'Tags of the chart'
1144
+ },
1145
+ version_channels: {
1146
+ type: 'array',
1147
+ items: {
1148
+ type: 'string',
1149
+ 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-]+)*))?$',
1150
+ description: 'Version of the chart.',
1151
+ example: '2.x.x-cfke.x'
1152
+ }
1153
+ },
1154
+ value_schemas: {
1155
+ type: 'array',
1156
+ items: {
1157
+ type: 'object',
1158
+ properties: {
1159
+ version: {
1160
+ type: 'string',
1161
+ 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-]+)*))?$',
1162
+ description: 'Version of the chart.',
1163
+ example: '2.1.1-cfke.123'
1164
+ },
1165
+ schema: {
1166
+ type: 'string',
1167
+ description: 'Schema of the chart values. JSON Schema as string'
1168
+ },
1169
+ placeholder: {
1170
+ type: 'string',
1171
+ description: 'Schema of the chart values',
1172
+ example: `foo: 1
1173
+ bar: example`
1174
+ }
1175
+ },
1176
+ required: ['version', 'schema', 'placeholder'],
1177
+ additionalProperties: false
1178
+ }
1179
+ }
1180
+ },
1181
+ required: ['id', 'name', 'developer', 'description', 'logoUrl', 'longDescription', 'categories', 'version_channels', 'value_schemas'],
1182
+ additionalProperties: false
1183
+ };
1221
1184
  export const OrganizationCreateInputSchema = {
1222
1185
  type: 'object',
1223
1186
  properties: {
@@ -1307,12 +1270,6 @@ export const OrganizationSchema = {
1307
1270
  description: 'Maximum number of fleets that can be created per cluster.',
1308
1271
  example: 999
1309
1272
  },
1310
- managed_fleets_cpu_max: {
1311
- type: 'integer',
1312
- minimum: 0,
1313
- description: 'Maximum number of CPU cores per managed fleet.',
1314
- example: 999
1315
- },
1316
1273
  cluster_tiers: {
1317
1274
  type: 'array',
1318
1275
  items: {
@@ -1354,7 +1311,7 @@ export const OrganizationSchema = {
1354
1311
  description: 'List of CFKE control plane versions available for the organization.'
1355
1312
  }
1356
1313
  },
1357
- required: ['basic_clusters_max', 'basic_clusters_available', 'pro_clusters_max', 'pro_clusters_available', 'fleets_max', 'managed_fleets_cpu_max', 'cluster_tiers', 'regions', 'versions'],
1314
+ required: ['basic_clusters_max', 'basic_clusters_available', 'pro_clusters_max', 'pro_clusters_available', 'fleets_max', 'cluster_tiers', 'regions', 'versions'],
1358
1315
  additionalProperties: false,
1359
1316
  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.'
1360
1317
  },
@@ -1516,13 +1473,13 @@ export const UsageSchema = {
1516
1473
  type: 'string',
1517
1474
  description: 'Tier of the cluster.',
1518
1475
  example: 'pro',
1519
- enum: ['']
1476
+ enum: ['basic', 'pro', '']
1520
1477
  },
1521
1478
  product: {
1522
1479
  type: 'string',
1523
1480
  description: 'The product the usage is associated with',
1524
- example: 'cfke_infra_compute',
1525
- enum: ['cfke_infra_compute', 'cfke_nodes', 'cfke_controlplane']
1481
+ example: 'cfke_controlplane',
1482
+ enum: ['cfke_controlplane', 'cfke_connected_nodes', 'infra_compute', 'infra_storage', 'infra_loadbalancing', 'infra_traffic', 'cfcr_storage']
1526
1483
  },
1527
1484
  node_name: {
1528
1485
  type: 'string',
@@ -1626,7 +1583,7 @@ export const UserCreateInputSchema = {
1626
1583
  password: {
1627
1584
  type: 'string',
1628
1585
  minLength: 8,
1629
- description: 'User password. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character.'
1586
+ description: 'User password. Must be at least 8 characters long.'
1630
1587
  },
1631
1588
  status: {
1632
1589
  type: 'string',
@@ -1690,28 +1647,6 @@ export const UserSchema = {
1690
1647
  format: 'date-time',
1691
1648
  description: 'Creation date of the user. ISO 8601 date string in UTC timezone',
1692
1649
  example: '2023-11-02T16:08:14.338Z'
1693
- },
1694
- cluster_permissions: {
1695
- type: 'array',
1696
- items: {
1697
- type: 'object',
1698
- properties: {
1699
- cluster_id: {
1700
- type: 'string',
1701
- format: 'uuid',
1702
- description: 'Unique identifier of the cluster. UUID v4 string in canonical form',
1703
- example: '035ce46d-44d8-4e58-a8a2-b0192d1c27df'
1704
- },
1705
- permissions: {
1706
- type: 'string',
1707
- description: 'User permissions to access the cluster. Can be `readwrite` or `readonly`.',
1708
- example: 'readwrite',
1709
- enum: ['readwrite', 'readonly']
1710
- }
1711
- },
1712
- required: ['cluster_id', 'permissions'],
1713
- additionalProperties: false
1714
- }
1715
1650
  }
1716
1651
  },
1717
1652
  required: ['email', 'first_name', 'last_name', 'role', 'status', 'id', 'date_created'],