@cloudfleet/sdk 0.0.1-685f6cc → 0.0.1-6a60d36

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.
@@ -1,4 +1,275 @@
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
+ 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
+ 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', '']
83
+ }
84
+ },
85
+ required: ['email', 'first_name', 'last_name'],
86
+ additionalProperties: false
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
+ };
2
273
  export const ClusterCreateInputSchema = {
3
274
  type: 'object',
4
275
  properties: {
@@ -81,9 +352,32 @@ MIIC0DCCAbigAwIBAgI...`
81
352
  required: ['kubernetes', 'tailscale', 'containerd'],
82
353
  additionalProperties: false,
83
354
  description: 'Versions of the different components of the cluster.'
355
+ },
356
+ third_party_api_access_config: {
357
+ type: 'object',
358
+ properties: {
359
+ metadata_url: {
360
+ type: 'string',
361
+ description: 'Kubernetes metadata server.',
362
+ example: 'https://10.31.64.4'
363
+ },
364
+ aws_role_arn: {
365
+ type: 'string',
366
+ description: 'AWS Role ARN.',
367
+ example: 'arn:aws:iam::891376988828:role/0371f8fd-e164-48e1-b9e7-c3bdc3b4f403'
368
+ },
369
+ gcp_workload_identity_provider: {
370
+ type: 'string',
371
+ description: 'GCP Workload Identity provider.',
372
+ example: '//iam.googleapis.com/projects/89014267864/locations/global/workloadIdentityPools/cfke/providers/oidc'
373
+ }
374
+ },
375
+ required: ['metadata_url', 'aws_role_arn', 'gcp_workload_identity_provider'],
376
+ additionalProperties: false,
377
+ description: "OIDC Information for hosts to access to third party API's."
84
378
  }
85
379
  },
86
- required: ['certificate_authority', 'endpoint', 'auth_key', 'bootstrap_token', 'versions'],
380
+ required: ['certificate_authority', 'endpoint', 'auth_key', 'bootstrap_token', 'versions', 'third_party_api_access_config'],
87
381
  additionalProperties: false
88
382
  };
89
383
  export const ClusterSchema = {
@@ -226,34 +520,19 @@ export const FleetCreateInputSchema = {
226
520
  additionalProperties: false
227
521
  },
228
522
  hetzner: {
229
- oneOf: [
230
- {
231
- type: 'object',
232
- properties: {
233
- enabled: {
234
- type: 'boolean',
235
- default: true
236
- },
237
- apiKey: {
238
- type: 'string'
239
- }
240
- },
241
- additionalProperties: false
523
+ type: 'object',
524
+ properties: {
525
+ enabled: {
526
+ type: 'boolean',
527
+ default: true
242
528
  },
243
- {
244
- type: 'object',
245
- properties: {
246
- apiKey: {
247
- type: 'string'
248
- },
249
- enabled: {
250
- type: 'boolean',
251
- default: true
252
- }
253
- },
254
- additionalProperties: false
529
+ apiKey: {
530
+ type: 'string',
531
+ description: 'Hetzner Cloud API key with read / write access'
255
532
  }
256
- ]
533
+ },
534
+ required: ['apiKey'],
535
+ additionalProperties: false
257
536
  },
258
537
  aws: {
259
538
  type: 'object',
@@ -277,14 +556,9 @@ export const FleetCreateInputSchema = {
277
556
  pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
278
557
  description: 'Unique identifier of the kubernetes fleet.',
279
558
  example: 'new-clouds-fleet'
280
- },
281
- type: {
282
- type: 'string',
283
- description: 'Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.',
284
- enum: ['managed', 'connected']
285
559
  }
286
560
  },
287
- required: ['id', 'type'],
561
+ required: ['id'],
288
562
  additionalProperties: false
289
563
  };
290
564
  export const FleetSchema = {
@@ -320,34 +594,19 @@ export const FleetSchema = {
320
594
  additionalProperties: false
321
595
  },
322
596
  hetzner: {
323
- oneOf: [
324
- {
325
- type: 'object',
326
- properties: {
327
- enabled: {
328
- type: 'boolean',
329
- default: true
330
- },
331
- apiKey: {
332
- type: 'string'
333
- }
334
- },
335
- additionalProperties: false
597
+ type: 'object',
598
+ properties: {
599
+ enabled: {
600
+ type: 'boolean',
601
+ default: true
336
602
  },
337
- {
338
- type: 'object',
339
- properties: {
340
- apiKey: {
341
- type: 'string'
342
- },
343
- enabled: {
344
- type: 'boolean',
345
- default: true
346
- }
347
- },
348
- additionalProperties: false
603
+ apiKey: {
604
+ type: 'string',
605
+ description: 'Hetzner Cloud API key with read / write access'
349
606
  }
350
- ]
607
+ },
608
+ required: ['apiKey'],
609
+ additionalProperties: false
351
610
  },
352
611
  aws: {
353
612
  type: 'object',
@@ -371,14 +630,9 @@ export const FleetSchema = {
371
630
  pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
372
631
  description: 'Unique identifier of the kubernetes fleet.',
373
632
  example: 'new-clouds-fleet'
374
- },
375
- type: {
376
- type: 'string',
377
- description: 'Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.',
378
- enum: ['managed', 'connected']
379
633
  }
380
634
  },
381
- required: ['id', 'type'],
635
+ required: ['id'],
382
636
  additionalProperties: false
383
637
  };
384
638
  export const FleetUpdateInputSchema = {
@@ -414,34 +668,19 @@ export const FleetUpdateInputSchema = {
414
668
  additionalProperties: false
415
669
  },
416
670
  hetzner: {
417
- oneOf: [
418
- {
419
- type: 'object',
420
- properties: {
421
- enabled: {
422
- type: 'boolean',
423
- default: true
424
- },
425
- apiKey: {
426
- type: 'string'
427
- }
428
- },
429
- additionalProperties: false
671
+ type: 'object',
672
+ properties: {
673
+ enabled: {
674
+ type: 'boolean',
675
+ default: true
430
676
  },
431
- {
432
- type: 'object',
433
- properties: {
434
- apiKey: {
435
- type: 'string'
436
- },
437
- enabled: {
438
- type: 'boolean',
439
- default: true
440
- }
441
- },
442
- additionalProperties: false
677
+ apiKey: {
678
+ type: 'string',
679
+ description: 'Hetzner Cloud API key with read / write access'
443
680
  }
444
- ]
681
+ },
682
+ required: ['apiKey'],
683
+ additionalProperties: false
445
684
  },
446
685
  aws: {
447
686
  type: 'object',
@@ -461,276 +700,6 @@ export const FleetUpdateInputSchema = {
461
700
  },
462
701
  additionalProperties: false
463
702
  };
464
- export const InfrastructureFilterSchema = {
465
- type: 'object',
466
- properties: {
467
- version: {
468
- type: 'integer',
469
- description: 'Version of the infrastructure filter definition. Currently only version 1 is supported.',
470
- default: 1,
471
- example: 1,
472
- enum: [1]
473
- },
474
- provider: {
475
- type: 'array',
476
- items: {
477
- type: 'string'
478
- },
479
- description: 'Limit selection of cloud providers to this list. For the full list of supported providers, see [Providers](https://cloudfleet.ai/docs/cloud-infrastructure/providers/)',
480
- example: 'AWS'
481
- },
482
- region: {
483
- type: 'array',
484
- items: {
485
- type: 'string'
486
- },
487
- description: 'Limits selection of cloud regions to this list of Cloudfleet regions. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)',
488
- example: 'northamerica'
489
- },
490
- sub_region: {
491
- type: 'array',
492
- items: {
493
- type: 'string'
494
- },
495
- description: 'Limits selection of cloud regions to this list of Cloudfleet regions. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)',
496
- example: 'west'
497
- },
498
- csp_region: {
499
- type: 'array',
500
- items: {
501
- type: 'string'
502
- },
503
- description: 'Limits selection of cloud regions to this list of canonical provider regions',
504
- example: 'eu-west-1'
505
- },
506
- instance_type: {
507
- type: 'array',
508
- items: {
509
- type: 'string'
510
- },
511
- description: 'Limits selection of instance types to this list. Instance / VM type as defined by the cloud service provider',
512
- example: 'p4d.24xlarge'
513
- },
514
- accelerator_name: {
515
- type: 'array',
516
- items: {
517
- type: 'string'
518
- },
519
- description: "List of Normalized accelerator model names. For example, all variations of Nvidia A100 GPUs will have 'A100' as accelerator name with various memory configurations set in accelerator_memory field",
520
- example: 'A100'
521
- },
522
- accelerator_manufacturer: {
523
- type: 'array',
524
- items: {
525
- type: 'string'
526
- },
527
- description: "List of normalized accelerator manufacturer names. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer",
528
- example: 'NVIDIA'
529
- },
530
- accelerator_count_min: {
531
- type: 'integer',
532
- minimum: 0,
533
- 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.',
534
- example: 1
535
- },
536
- accelerator_count_max: {
537
- type: 'integer',
538
- minimum: 0,
539
- description: 'Maximum number of accelerators available on the instance. Some cloud providers support shared accelerators, so the number of accelerators may be a fraction of the number of physical accelerators.',
540
- example: 8
541
- },
542
- accelerator_memory_min: {
543
- type: 'number',
544
- format: 'float',
545
- 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",
546
- example: 40
547
- },
548
- accelerator_memory_max: {
549
- type: 'number',
550
- format: 'float',
551
- 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",
552
- example: 80
553
- },
554
- memory_min: {
555
- type: 'integer',
556
- minimum: 0,
557
- description: 'Minimum amount of RAM in gibibytes (GiB)',
558
- example: 32
559
- },
560
- memory_max: {
561
- type: 'integer',
562
- minimum: 0,
563
- description: 'Maximum amount of RAM in gibibytes (GiB)',
564
- example: 64
565
- },
566
- vcpu_min: {
567
- type: 'integer',
568
- minimum: 1,
569
- 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.',
570
- example: 32
571
- },
572
- vcpu_max: {
573
- type: 'integer',
574
- minimum: 1,
575
- 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.',
576
- example: 128
577
- },
578
- storage_total_min: {
579
- type: 'number',
580
- format: 'float',
581
- minimum: 10,
582
- description: 'Minimum total storage in GiB (attached and local)',
583
- example: 128
584
- },
585
- storage_total_max: {
586
- type: 'number',
587
- format: 'float',
588
- minimum: 10,
589
- description: 'Maximum total storage in GiB (attached and local)',
590
- example: 256
591
- },
592
- storage_local_min: {
593
- type: 'number',
594
- format: 'float',
595
- description: 'Minimum volume of directly attached, block-device local storage in gibibytes (GiB)',
596
- example: 24
597
- },
598
- storage_local_max: {
599
- type: 'number',
600
- format: 'float',
601
- description: 'Maximum volume of directly attached, block-device local storage in gibibytes (GiB)',
602
- example: 128
603
- },
604
- price_min: {
605
- type: 'number',
606
- format: 'float',
607
- description: 'Minimum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.',
608
- example: 10
609
- },
610
- price_max: {
611
- type: 'number',
612
- format: 'float',
613
- description: 'Maximum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.',
614
- example: 50
615
- }
616
- },
617
- additionalProperties: false
618
- };
619
- export const InfrastructureInstanceSchema = {
620
- type: 'object',
621
- properties: {
622
- sku: {
623
- type: 'string',
624
- description: 'Cloudfleet instance SKU. Has a format of <provider>-<csp_region>-<instance_type>.',
625
- example: 'AWS-EU-WEST-1C-P4D.24XLARGE'
626
- },
627
- provider: {
628
- type: 'string',
629
- description: 'Normalized cloud service provider name. For the full list of supported providers, see [Providers](https://cloudfleet.ai/docs/cloud-infrastructure/providers/)',
630
- example: 'AWS'
631
- },
632
- region: {
633
- type: 'string',
634
- 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/)',
635
- example: 'europe'
636
- },
637
- sub_region: {
638
- type: 'string',
639
- 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/)',
640
- example: 'west'
641
- },
642
- csp_region: {
643
- type: 'string',
644
- description: 'Region as defined by the cloud service provider',
645
- example: 'eu-west-1'
646
- },
647
- csp_zone: {
648
- type: 'string',
649
- description: 'Availability zone as defined by the cloud service provider',
650
- example: 'eu-west-1a'
651
- },
652
- instance_type: {
653
- type: 'string',
654
- description: 'Instance / VM type as defined by the cloud service provider',
655
- example: 'p4d.24xlarge'
656
- },
657
- architecture: {
658
- type: 'string',
659
- description: 'Instance CPU architecture',
660
- example: 'amd64'
661
- },
662
- os: {
663
- type: 'string',
664
- description: 'Instance operating system',
665
- example: 'linux'
666
- },
667
- vcpu: {
668
- type: 'number',
669
- format: 'float',
670
- minimum: 1,
671
- description: 'CPU count as defined by the cloud service provider. Some cloud providers use hyperthreading, so the number of vCPUs may be twice as high as the number of physical cores.',
672
- example: 96
673
- },
674
- memory: {
675
- type: 'number',
676
- format: 'float',
677
- minimum: 1,
678
- description: 'Total amount of RAM in gibibytes (GiB)',
679
- example: 1152
680
- },
681
- local_storage: {
682
- type: 'number',
683
- format: 'float',
684
- description: 'Volume of directly attached, block-device local storage in gibibytes (GiB)',
685
- example: 8000
686
- },
687
- accelerator_name: {
688
- type: 'string',
689
- 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",
690
- example: 'A100'
691
- },
692
- accelerator_manufacturer: {
693
- type: 'string',
694
- description: "Normalized manufacturer name of accelerator. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer",
695
- example: 'NVIDIA'
696
- },
697
- accelerator_count: {
698
- type: 'integer',
699
- description: 'Number of accelerators available on the instance. Some cloud providers support shared accelerators, so the number of accelerators may be a fraction of the number of physical accelerators.',
700
- example: 8
701
- },
702
- accelerator_memory: {
703
- type: 'number',
704
- format: 'float',
705
- description: "Ammount of accelerator memory available to each accelerator. For example, Nvidia A100 GPUs will typically have '40.0' gibibytes (GiB) of memory, while A100 GPUs with HBM2E memory will have '80.0' gibibytes (GiB) of memory",
706
- example: 40
707
- },
708
- pods_capacity: {
709
- type: 'number',
710
- format: 'float',
711
- description: 'Maximum number of pods that can be run on this instance type.',
712
- example: 110
713
- },
714
- capacity_type: {
715
- type: 'string',
716
- description: 'Capacity type of the instance. E.g. `on-demand`, `spot`.',
717
- example: 'on-demand'
718
- },
719
- price: {
720
- type: 'number',
721
- format: 'float',
722
- description: 'Price of running the inctance per hour in USD as defined by the cloud service provider',
723
- example: 35.39655
724
- },
725
- available: {
726
- type: 'boolean',
727
- description: 'Whether this instance type is available.',
728
- example: true
729
- }
730
- },
731
- required: ['sku', 'provider', 'region', 'sub_region', 'csp_region', 'csp_zone', 'instance_type', 'architecture', 'os', 'vcpu', 'memory', 'local_storage', 'price'],
732
- additionalProperties: false
733
- };
734
703
  export const InviteSchema = {
735
704
  type: 'object',
736
705
  properties: {
@@ -1122,51 +1091,92 @@ export const InvoiceSchema = {
1122
1091
  },
1123
1092
  additionalProperties: false
1124
1093
  };
1125
- export const OrganizationContactInfoSchema = {
1094
+ export const MarketplaceListingSchema = {
1126
1095
  type: 'object',
1127
1096
  properties: {
1128
- address1: {
1097
+ id: {
1129
1098
  type: 'string',
1130
- nullable: true,
1131
- description: 'Street address, P.O. box, c/o',
1132
- example: '123 Main St.'
1099
+ maxLength: 63,
1100
+ minLength: 1,
1101
+ pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
1102
+ description: 'Id of the chart listing',
1103
+ example: 'portworx-enterprise-disaster-recovery-baremetal'
1133
1104
  },
1134
- address2: {
1105
+ name: {
1135
1106
  type: 'string',
1136
- nullable: true,
1137
- description: 'Apartment, suite, unit, building, floor, etc.',
1138
- example: 'Suite 100'
1107
+ description: 'Name of the chart listing',
1108
+ example: 'Portworx Enterprise + Disaster Recovery - Baremetal'
1139
1109
  },
1140
- postalCode: {
1110
+ developer: {
1141
1111
  type: 'string',
1142
- nullable: true,
1143
- description: 'Postal code as a string.',
1144
- example: '94105'
1112
+ description: 'Author of the chart listing',
1113
+ example: 'Portworx'
1145
1114
  },
1146
- city: {
1115
+ description: {
1147
1116
  type: 'string',
1148
- nullable: true,
1149
- description: 'City or town name.',
1150
- example: 'San Francisco'
1117
+ description: 'Short description of the chart listing',
1118
+ example: 'Run Kubernetes with unmatched scalability, availability, and self-service access to any storage'
1151
1119
  },
1152
- state: {
1120
+ logoUrl: {
1153
1121
  type: 'string',
1154
- nullable: true,
1155
- description: 'State, province, or region name.',
1156
- example: 'CA'
1122
+ description: 'Logo of the chart listing',
1123
+ example: 'https://portworx.com/wp-content/themes/portworx/assets/images/header/portworx-logo.png'
1157
1124
  },
1158
- country: {
1125
+ longDescription: {
1159
1126
  type: 'string',
1160
- nullable: true,
1161
- description: 'Country as a ISO 3166-1 alpha-2 country code.',
1162
- example: 'US'
1127
+ description: 'Long description of the chart listing',
1128
+ example: 'Portworx-Enterprise is the complete multi-cloud ready Kubernetes storage platform for running mission-critical apps in production....'
1163
1129
  },
1164
- phone: {
1165
- type: 'string',
1166
- nullable: true,
1167
- description: 'Phone number as a string.',
1168
- example: '+1 555 555 5555'
1130
+ categories: {
1131
+ type: 'array',
1132
+ items: {
1133
+ type: 'string',
1134
+ example: 'AI & Machine Learning'
1135
+ },
1136
+ description: 'Tags of the chart'
1137
+ },
1138
+ version_channels: {
1139
+ type: 'array',
1140
+ items: {
1141
+ type: 'string',
1142
+ 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-]+)*))?$',
1143
+ description: 'Version of the chart.',
1144
+ example: '2.x.x-cfke.x'
1145
+ }
1169
1146
  },
1147
+ value_schemas: {
1148
+ type: 'array',
1149
+ items: {
1150
+ type: 'object',
1151
+ properties: {
1152
+ version: {
1153
+ type: 'string',
1154
+ 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-]+)*))?$',
1155
+ description: 'Version of the chart.',
1156
+ example: '2.1.1-cfke.123'
1157
+ },
1158
+ schema: {
1159
+ type: 'string',
1160
+ description: 'Schema of the chart values. JSON Schema as string'
1161
+ },
1162
+ placeholder: {
1163
+ type: 'string',
1164
+ description: 'Schema of the chart values',
1165
+ example: `foo: 1
1166
+ bar: example`
1167
+ }
1168
+ },
1169
+ required: ['version', 'schema', 'placeholder'],
1170
+ additionalProperties: false
1171
+ }
1172
+ }
1173
+ },
1174
+ required: ['id', 'name', 'developer', 'description', 'logoUrl', 'longDescription', 'categories', 'version_channels', 'value_schemas'],
1175
+ additionalProperties: false
1176
+ };
1177
+ export const OrganizationCreateInputSchema = {
1178
+ type: 'object',
1179
+ properties: {
1170
1180
  email: {
1171
1181
  type: 'string',
1172
1182
  format: 'email',
@@ -1182,166 +1192,40 @@ export const OrganizationContactInfoSchema = {
1182
1192
  type: 'string',
1183
1193
  description: 'Last name of the billing contact person.',
1184
1194
  example: 'Doe'
1185
- }
1186
- },
1187
- required: ['email', 'first_name', 'last_name'],
1188
- additionalProperties: false
1189
- };
1190
- export const OrganizationCreateInputSchema = {
1191
- type: 'object',
1192
- properties: {
1193
- name: {
1195
+ },
1196
+ company_name: {
1194
1197
  type: 'string',
1195
1198
  maxLength: 120,
1196
- minLength: 5,
1199
+ minLength: 2,
1197
1200
  pattern: '^(?!\\s)(?!.*\\s$)(?=.*[a-zA-ZÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ0-9])[a-zA-ZÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ0-9 -.]{2,}$',
1198
1201
  description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
1199
1202
  example: 'ACME Corp.'
1200
1203
  },
1201
- contactInfo: {
1202
- type: 'object',
1203
- properties: {
1204
- address1: {
1205
- type: 'string',
1206
- description: 'Street address, P.O. box, c/o',
1207
- example: '123 Main St.'
1208
- },
1209
- address2: {
1210
- type: 'string',
1211
- description: 'Apartment, suite, unit, building, floor, etc.',
1212
- example: 'Suite 100'
1213
- },
1214
- postalCode: {
1215
- type: 'string',
1216
- description: 'Postal code as a string.',
1217
- example: '94105'
1218
- },
1219
- city: {
1220
- type: 'string',
1221
- description: 'City or town name.',
1222
- example: 'San Francisco'
1223
- },
1224
- state: {
1225
- type: 'string',
1226
- description: 'State, province, or region name.',
1227
- example: 'CA'
1228
- },
1229
- country: {
1230
- type: 'string',
1231
- description: 'Country as a ISO 3166-1 alpha-2 country code.',
1232
- example: 'US'
1233
- },
1234
- phone: {
1235
- type: 'string',
1236
- description: 'Phone number as a string.',
1237
- example: '+1 555 555 5555'
1238
- },
1239
- email: {
1240
- type: 'string',
1241
- format: 'email',
1242
- description: 'Email address used for billing as a string.',
1243
- example: 'email@example.com'
1244
- },
1245
- first_name: {
1246
- type: 'string',
1247
- description: 'First name of the billing contact person.',
1248
- example: 'John'
1249
- },
1250
- last_name: {
1251
- type: 'string',
1252
- description: 'Last name of the billing contact person.',
1253
- example: 'Doe'
1254
- }
1255
- },
1256
- required: ['email', 'first_name', 'last_name'],
1257
- additionalProperties: false,
1258
- description: 'Organization contact information and billing address.'
1259
- },
1260
1204
  password: {
1261
1205
  type: 'string',
1262
1206
  minLength: 8,
1263
1207
  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.'
1264
1208
  }
1265
1209
  },
1266
- required: ['name', 'contactInfo', 'password'],
1210
+ required: ['email', 'first_name', 'last_name', 'company_name', 'password'],
1267
1211
  additionalProperties: false
1268
1212
  };
1269
1213
  export const OrganizationSchema = {
1270
1214
  type: 'object',
1271
1215
  properties: {
1272
- name: {
1273
- type: 'string',
1274
- maxLength: 120,
1275
- minLength: 5,
1276
- 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,}$',
1277
- description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
1278
- example: 'ACME Corp.'
1279
- },
1280
- contactInfo: {
1281
- type: 'object',
1282
- properties: {
1283
- address1: {
1284
- type: 'string',
1285
- description: 'Street address, P.O. box, c/o',
1286
- example: '123 Main St.'
1287
- },
1288
- address2: {
1289
- type: 'string',
1290
- description: 'Apartment, suite, unit, building, floor, etc.',
1291
- example: 'Suite 100'
1292
- },
1293
- postalCode: {
1294
- type: 'string',
1295
- description: 'Postal code as a string.',
1296
- example: '94105'
1297
- },
1298
- city: {
1299
- type: 'string',
1300
- description: 'City or town name.',
1301
- example: 'San Francisco'
1302
- },
1303
- state: {
1304
- type: 'string',
1305
- description: 'State, province, or region name.',
1306
- example: 'CA'
1307
- },
1308
- country: {
1309
- type: 'string',
1310
- description: 'Country as a ISO 3166-1 alpha-2 country code.',
1311
- example: 'US'
1312
- },
1313
- phone: {
1314
- type: 'string',
1315
- description: 'Phone number as a string.',
1316
- example: '+1 555 555 5555'
1317
- },
1318
- email: {
1319
- type: 'string',
1320
- format: 'email',
1321
- description: 'Email address used for billing as a string.',
1322
- example: 'email@example.com'
1323
- },
1324
- first_name: {
1325
- type: 'string',
1326
- description: 'First name of the billing contact person.',
1327
- example: 'John'
1328
- },
1329
- last_name: {
1330
- type: 'string',
1331
- description: 'Last name of the billing contact person.',
1332
- example: 'Doe'
1333
- }
1334
- },
1335
- required: ['email', 'first_name', 'last_name'],
1336
- additionalProperties: false,
1337
- description: 'Organization contact information and billing address.'
1338
- },
1339
1216
  id: {
1340
1217
  type: 'string',
1341
1218
  format: 'uuid',
1342
1219
  description: 'Unique identifier of the organization. UUID v4 string in canonical form',
1343
1220
  example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
1344
1221
  },
1222
+ name: {
1223
+ type: 'string',
1224
+ maxLength: 120,
1225
+ minLength: 2,
1226
+ description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
1227
+ example: 'ACME Corp.'
1228
+ },
1345
1229
  date_created: {
1346
1230
  type: 'string',
1347
1231
  format: 'date-time',
@@ -1379,12 +1263,6 @@ export const OrganizationSchema = {
1379
1263
  description: 'Maximum number of fleets that can be created per cluster.',
1380
1264
  example: 999
1381
1265
  },
1382
- managed_fleets_cpu_max: {
1383
- type: 'integer',
1384
- minimum: 0,
1385
- description: 'Maximum number of CPU cores per managed fleet.',
1386
- example: 999
1387
- },
1388
1266
  cluster_tiers: {
1389
1267
  type: 'array',
1390
1268
  items: {
@@ -1426,100 +1304,17 @@ export const OrganizationSchema = {
1426
1304
  description: 'List of CFKE control plane versions available for the organization.'
1427
1305
  }
1428
1306
  },
1429
- required: ['basic_clusters_max', 'basic_clusters_available', 'pro_clusters_max', 'pro_clusters_available', 'fleets_max', 'managed_fleets_cpu_max', 'cluster_tiers', 'regions', 'versions'],
1307
+ required: ['basic_clusters_max', 'basic_clusters_available', 'pro_clusters_max', 'pro_clusters_available', 'fleets_max', 'cluster_tiers', 'regions', 'versions'],
1430
1308
  additionalProperties: false,
1431
1309
  description: 'For security reasons, platform quota is controlled by Cloudfleet and can be updated only by Cloudfleet administrators. Please open a support ticket if you need to change the platform quota.'
1432
1310
  },
1433
- pending_actions: {
1434
- type: 'array',
1435
- items: {
1436
- type: 'string',
1437
- example: 'signup-payment-method',
1438
- enum: ['signup-billing-address', 'signup-payment-method', 'signup-invite-team', 'signup-create-cluster']
1439
- },
1440
- description: 'List of pending actions that the user needs to complete. Used in Cloudfleet console to guide the user through the onboarding process.'
1441
- },
1442
1311
  status: {
1443
1312
  type: 'string',
1444
1313
  description: 'Status of the organization. Can be `active` or `closed`, or `suspended`.',
1445
1314
  enum: ['active', 'closed', 'suspended']
1446
1315
  }
1447
1316
  },
1448
- required: ['name', 'contactInfo', 'id', 'date_created', 'quota', 'pending_actions', 'status'],
1449
- additionalProperties: false
1450
- };
1451
- export const OrganizationUpdateInputSchema = {
1452
- type: 'object',
1453
- properties: {
1454
- name: {
1455
- type: 'string',
1456
- maxLength: 120,
1457
- minLength: 5,
1458
- pattern: '^(?!\\s)(?!.*\\s$)(?=.*[a-zA-ZÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ0-9])[a-zA-ZÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ0-9 -.]{2,}$',
1459
- description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
1460
- example: 'ACME Corp.'
1461
- },
1462
- contactInfo: {
1463
- type: 'object',
1464
- properties: {
1465
- address1: {
1466
- type: 'string',
1467
- description: 'Street address, P.O. box, c/o',
1468
- example: '123 Main St.'
1469
- },
1470
- address2: {
1471
- type: 'string',
1472
- description: 'Apartment, suite, unit, building, floor, etc.',
1473
- example: 'Suite 100'
1474
- },
1475
- postalCode: {
1476
- type: 'string',
1477
- description: 'Postal code as a string.',
1478
- example: '94105'
1479
- },
1480
- city: {
1481
- type: 'string',
1482
- description: 'City or town name.',
1483
- example: 'San Francisco'
1484
- },
1485
- state: {
1486
- type: 'string',
1487
- description: 'State, province, or region name.',
1488
- example: 'CA'
1489
- },
1490
- country: {
1491
- type: 'string',
1492
- description: 'Country as a ISO 3166-1 alpha-2 country code.',
1493
- example: 'US'
1494
- },
1495
- phone: {
1496
- type: 'string',
1497
- description: 'Phone number as a string.',
1498
- example: '+1 555 555 5555'
1499
- },
1500
- email: {
1501
- type: 'string',
1502
- format: 'email',
1503
- description: 'Email address used for billing as a string.',
1504
- example: 'email@example.com'
1505
- },
1506
- first_name: {
1507
- type: 'string',
1508
- description: 'First name of the billing contact person.',
1509
- example: 'John'
1510
- },
1511
- last_name: {
1512
- type: 'string',
1513
- description: 'Last name of the billing contact person.',
1514
- example: 'Doe'
1515
- }
1516
- },
1517
- required: ['email', 'first_name', 'last_name'],
1518
- additionalProperties: false,
1519
- description: 'Organization contact information and billing address.'
1520
- }
1521
- },
1522
- required: ['contactInfo'],
1317
+ required: ['id', 'date_created', 'quota', 'status'],
1523
1318
  additionalProperties: false
1524
1319
  };
1525
1320
  export const PaymentMethodSchema = {
@@ -1656,29 +1451,97 @@ export const TokenUpdateInputSchema = {
1656
1451
  export const UsageSchema = {
1657
1452
  type: 'object',
1658
1453
  properties: {
1659
- id: {
1454
+ hour: {
1660
1455
  type: 'string',
1661
- format: 'uuid',
1662
- description: 'Unique identifier of the Usage object, equal to subscription id of the task . UUID v4 string in canonical form',
1663
- example: '8897e84c-2ba1-42fa-9d35-964c80a4ff0f'
1456
+ description: 'Hour of the usage',
1457
+ example: '2019-01-01T00:00:00.000Z'
1664
1458
  },
1665
- task_id: {
1459
+ cluster_id: {
1666
1460
  type: 'string',
1667
1461
  format: 'uuid',
1668
- description: 'Unique identifier of the project. UUID v4 string in canonical form',
1669
- example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
1462
+ description: 'Unique identifier of the kubernetes cluster. UUID v4 string in canonical form',
1463
+ example: '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
1670
1464
  },
1671
- unit: {
1465
+ cluster_tier: {
1672
1466
  type: 'string',
1673
- description: 'Unit of measurement. E.g. GiB, seconds, etc',
1674
- example: 'second'
1467
+ description: 'Tier of the cluster.',
1468
+ example: 'pro',
1469
+ enum: ['basic', 'pro', '']
1675
1470
  },
1676
- amount: {
1677
- type: 'number',
1678
- format: 'float'
1471
+ product: {
1472
+ type: 'string',
1473
+ description: 'The product the usage is associated with',
1474
+ example: 'cfke_controlplane',
1475
+ enum: ['cfke_controlplane', 'cfke_connected_nodes', 'infra_compute', 'infra_storage', 'infra_loadbalancing', 'infra_traffic', 'cfcr_storage']
1476
+ },
1477
+ node_name: {
1478
+ type: 'string',
1479
+ description: 'Name of the Kubernetes node',
1480
+ example: 'flexible-moth-956037384'
1481
+ },
1482
+ sku: {
1483
+ type: 'string',
1484
+ description: 'SKU of the Kubernetes node',
1485
+ example: 'GCP-NORTHAMERICA-NORTHEAST1-A-G1-SMALL-SPOT'
1486
+ },
1487
+ cpu: {
1488
+ anyOf: [
1489
+ {
1490
+ type: 'number',
1491
+ format: 'float',
1492
+ description: 'CPU core count of the node',
1493
+ example: 4
1494
+ },
1495
+ {
1496
+ type: 'string',
1497
+ enum: ['']
1498
+ }
1499
+ ]
1500
+ },
1501
+ price: {
1502
+ anyOf: [
1503
+ {
1504
+ type: 'number',
1505
+ format: 'float',
1506
+ description: 'Price',
1507
+ example: 4
1508
+ },
1509
+ {
1510
+ type: 'string',
1511
+ enum: ['']
1512
+ }
1513
+ ]
1514
+ },
1515
+ value: {
1516
+ anyOf: [
1517
+ {
1518
+ type: 'number',
1519
+ format: 'float',
1520
+ description: 'Value',
1521
+ example: 4
1522
+ },
1523
+ {
1524
+ type: 'string',
1525
+ enum: ['']
1526
+ }
1527
+ ]
1528
+ },
1529
+ total: {
1530
+ anyOf: [
1531
+ {
1532
+ type: 'number',
1533
+ format: 'float',
1534
+ description: 'Total',
1535
+ example: 4
1536
+ },
1537
+ {
1538
+ type: 'string',
1539
+ enum: ['']
1540
+ }
1541
+ ]
1679
1542
  }
1680
1543
  },
1681
- required: ['id', 'task_id', 'unit', 'amount'],
1544
+ required: ['cluster_id', 'cluster_tier', 'product', 'node_name', 'sku', 'cpu', 'price', 'value', 'total'],
1682
1545
  additionalProperties: false
1683
1546
  };
1684
1547
  export const UserCreateInputSchema = {
@@ -1713,7 +1576,7 @@ export const UserCreateInputSchema = {
1713
1576
  password: {
1714
1577
  type: 'string',
1715
1578
  minLength: 8,
1716
- 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.'
1579
+ description: 'User password. Must be at least 8 characters long.'
1717
1580
  },
1718
1581
  status: {
1719
1582
  type: 'string',
@@ -1777,28 +1640,6 @@ export const UserSchema = {
1777
1640
  format: 'date-time',
1778
1641
  description: 'Creation date of the user. ISO 8601 date string in UTC timezone',
1779
1642
  example: '2023-11-02T16:08:14.338Z'
1780
- },
1781
- cluster_permissions: {
1782
- type: 'array',
1783
- items: {
1784
- type: 'object',
1785
- properties: {
1786
- cluster_id: {
1787
- type: 'string',
1788
- format: 'uuid',
1789
- description: 'Unique identifier of the cluster. UUID v4 string in canonical form',
1790
- example: '035ce46d-44d8-4e58-a8a2-b0192d1c27df'
1791
- },
1792
- permissions: {
1793
- type: 'string',
1794
- description: 'User permissions to access the cluster. Can be `readwrite` or `readonly`.',
1795
- example: 'readwrite',
1796
- enum: ['readwrite', 'readonly']
1797
- }
1798
- },
1799
- required: ['cluster_id', 'permissions'],
1800
- additionalProperties: false
1801
- }
1802
1643
  }
1803
1644
  },
1804
1645
  required: ['email', 'first_name', 'last_name', 'role', 'status', 'id', 'date_created'],