@cloudfleet/sdk 0.0.3

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.
@@ -0,0 +1,2093 @@
1
+ export type ClusterCreateInput = {
2
+ /**
3
+ * Name of the cluster.
4
+ */
5
+ name: string;
6
+ /**
7
+ * Cloudfleet control plane region. One of "staging", "northamerica-central-1". This field can not be updated after creation.
8
+ */
9
+ region?: 'staging' | 'northamerica-central-1';
10
+ /**
11
+ * Tier of the cluster.
12
+ */
13
+ tier: 'basic' | 'pro';
14
+ /**
15
+ * Version of the kubernetes cluster.
16
+ */
17
+ version_channel?: string;
18
+ };
19
+ export type ClusterJoinInformation = {
20
+ /**
21
+ * Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.
22
+ */
23
+ certificate_authority: string;
24
+ /**
25
+ * Internal URL of the Kubernetes cluster control plane. This is the endpoint that kubelet uses to connect to the cluster.
26
+ */
27
+ endpoint: string;
28
+ /**
29
+ * Authentication key for the cluster.
30
+ */
31
+ auth_key: string;
32
+ /**
33
+ * Bootstrap token for the cluster.
34
+ */
35
+ bootstrap_token: string;
36
+ /**
37
+ * Versions of the different components of the cluster.
38
+ */
39
+ versions: {
40
+ /**
41
+ * Kubernetes version of the cluster.
42
+ */
43
+ kubernetes: string;
44
+ /**
45
+ * Tailscale version of the cluster.
46
+ */
47
+ tailscale: string;
48
+ /**
49
+ * Containerd version of the cluster.
50
+ */
51
+ containerd: string;
52
+ };
53
+ };
54
+ export type Cluster = {
55
+ /**
56
+ * Name of the cluster.
57
+ */
58
+ name: string;
59
+ /**
60
+ * Cloudfleet control plane region. One of "staging", "northamerica-central-1". This field can not be updated after creation.
61
+ */
62
+ region?: 'staging' | 'northamerica-central-1';
63
+ /**
64
+ * Tier of the cluster.
65
+ */
66
+ tier: 'basic' | 'pro';
67
+ /**
68
+ * Version of the kubernetes cluster.
69
+ */
70
+ version_channel?: string;
71
+ /**
72
+ * Unique identifier of the kubernetes cluster. UUID v4 string in canonical form
73
+ */
74
+ id: string;
75
+ /**
76
+ * Status of the cluster. When creating a new cluster, set to `active`. When deleting a clusters, set to `deleted`.
77
+ */
78
+ status: 'active' | 'deleted' | 'creating' | 'deployed' | 'failed' | 'updating';
79
+ endpoint?: string | '';
80
+ /**
81
+ * Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.
82
+ */
83
+ certificate_ca?: string;
84
+ /**
85
+ * Current version of the cluster.
86
+ */
87
+ version_current?: string;
88
+ /**
89
+ * Creation date and time of the cluster.
90
+ */
91
+ created_at?: string;
92
+ /**
93
+ * Last update date and time of the cluster.
94
+ */
95
+ updated_at?: string;
96
+ /**
97
+ * Indicates if the cluster is ready to be used.
98
+ */
99
+ ready?: boolean;
100
+ };
101
+ export type ClusterUpdateInput = {
102
+ /**
103
+ * Name of the cluster.
104
+ */
105
+ name?: string;
106
+ /**
107
+ * Version of the kubernetes cluster.
108
+ */
109
+ version_channel?: string;
110
+ };
111
+ export type FleetCreateInput = {
112
+ /**
113
+ * Limits define a set of bounds for provisioning capacity.
114
+ */
115
+ limits?: {
116
+ /**
117
+ * CPU limit in cores.
118
+ */
119
+ cpu: number;
120
+ };
121
+ gcp?: {
122
+ enabled?: boolean;
123
+ /**
124
+ * Project GCP Project id to deploy instances into
125
+ */
126
+ project: string;
127
+ };
128
+ hetzner?: {
129
+ enabled?: boolean;
130
+ apiKey?: string;
131
+ } | {
132
+ apiKey?: string;
133
+ enabled?: boolean;
134
+ };
135
+ aws?: {
136
+ enabled?: boolean;
137
+ /**
138
+ * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
139
+ */
140
+ controllerRoleArn: string;
141
+ };
142
+ /**
143
+ * Unique identifier of the kubernetes fleet.
144
+ */
145
+ id: string;
146
+ /**
147
+ * Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.
148
+ */
149
+ type: 'managed' | 'connected';
150
+ };
151
+ export type Fleet = {
152
+ /**
153
+ * Limits define a set of bounds for provisioning capacity.
154
+ */
155
+ limits?: {
156
+ /**
157
+ * CPU limit in cores.
158
+ */
159
+ cpu: number;
160
+ };
161
+ gcp?: {
162
+ enabled?: boolean;
163
+ /**
164
+ * Project GCP Project id to deploy instances into
165
+ */
166
+ project: string;
167
+ };
168
+ hetzner?: {
169
+ enabled?: boolean;
170
+ apiKey?: string;
171
+ } | {
172
+ apiKey?: string;
173
+ enabled?: boolean;
174
+ };
175
+ aws?: {
176
+ enabled?: boolean;
177
+ /**
178
+ * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
179
+ */
180
+ controllerRoleArn: string;
181
+ };
182
+ /**
183
+ * Unique identifier of the kubernetes fleet.
184
+ */
185
+ id: string;
186
+ /**
187
+ * Specifies the fleet type: infrastructure managed by Cloudfleet or Connected Fleets.
188
+ */
189
+ type: 'managed' | 'connected';
190
+ };
191
+ export type FleetUpdateInput = {
192
+ /**
193
+ * Limits define a set of bounds for provisioning capacity.
194
+ */
195
+ limits?: {
196
+ /**
197
+ * CPU limit in cores.
198
+ */
199
+ cpu: number;
200
+ };
201
+ gcp?: {
202
+ enabled?: boolean;
203
+ /**
204
+ * Project GCP Project id to deploy instances into
205
+ */
206
+ project: string;
207
+ };
208
+ hetzner?: {
209
+ enabled?: boolean;
210
+ apiKey?: string;
211
+ } | {
212
+ apiKey?: string;
213
+ enabled?: boolean;
214
+ };
215
+ aws?: {
216
+ enabled?: boolean;
217
+ /**
218
+ * ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.
219
+ */
220
+ controllerRoleArn: string;
221
+ };
222
+ };
223
+ export type InfrastructureFilter = {
224
+ /**
225
+ * Version of the infrastructure filter definition. Currently only version 1 is supported.
226
+ */
227
+ version?: 1;
228
+ /**
229
+ * Limit selection of cloud providers to this list. For the full list of supported providers, see [Providers](https://cloudfleet.ai/docs/cloud-infrastructure/providers/)
230
+ */
231
+ provider?: Array<string>;
232
+ /**
233
+ * 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/)
234
+ */
235
+ region?: Array<string>;
236
+ /**
237
+ * 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/)
238
+ */
239
+ sub_region?: Array<string>;
240
+ /**
241
+ * Limits selection of cloud regions to this list of canonical provider regions
242
+ */
243
+ csp_region?: Array<string>;
244
+ /**
245
+ * Limits selection of instance types to this list. Instance / VM type as defined by the cloud service provider
246
+ */
247
+ instance_type?: Array<string>;
248
+ /**
249
+ * 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
250
+ */
251
+ accelerator_name?: Array<string>;
252
+ /**
253
+ * List of normalized accelerator manufacturer names. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer
254
+ */
255
+ accelerator_manufacturer?: Array<string>;
256
+ /**
257
+ * 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.
258
+ */
259
+ accelerator_count_min?: number;
260
+ /**
261
+ * 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.
262
+ */
263
+ accelerator_count_max?: number;
264
+ /**
265
+ * 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
266
+ */
267
+ accelerator_memory_min?: number;
268
+ /**
269
+ * 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
270
+ */
271
+ accelerator_memory_max?: number;
272
+ /**
273
+ * Minimum amount of RAM in gibibytes (GiB)
274
+ */
275
+ memory_min?: number;
276
+ /**
277
+ * Maximum amount of RAM in gibibytes (GiB)
278
+ */
279
+ memory_max?: number;
280
+ /**
281
+ * 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.
282
+ */
283
+ vcpu_min?: number;
284
+ /**
285
+ * 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.
286
+ */
287
+ vcpu_max?: number;
288
+ /**
289
+ * Minimum total storage in GiB (attached and local)
290
+ */
291
+ storage_total_min?: number;
292
+ /**
293
+ * Maximum total storage in GiB (attached and local)
294
+ */
295
+ storage_total_max?: number;
296
+ /**
297
+ * Minimum volume of directly attached, block-device local storage in gibibytes (GiB)
298
+ */
299
+ storage_local_min?: number;
300
+ /**
301
+ * Maximum volume of directly attached, block-device local storage in gibibytes (GiB)
302
+ */
303
+ storage_local_max?: number;
304
+ /**
305
+ * Minimum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.
306
+ */
307
+ price_min?: number;
308
+ /**
309
+ * Maximum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.
310
+ */
311
+ price_max?: number;
312
+ };
313
+ export type InfrastructureInstance = {
314
+ /**
315
+ * Cloudfleet instance SKU. Has a format of <provider>-<csp_region>-<instance_type>.
316
+ */
317
+ sku: string;
318
+ /**
319
+ * Normalized cloud service provider name. For the full list of supported providers, see [Providers](https://cloudfleet.ai/docs/cloud-infrastructure/providers/)
320
+ */
321
+ provider: string;
322
+ /**
323
+ * 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/)
324
+ */
325
+ region: string;
326
+ /**
327
+ * 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/)
328
+ */
329
+ sub_region: string;
330
+ /**
331
+ * Region as defined by the cloud service provider
332
+ */
333
+ csp_region: string;
334
+ /**
335
+ * Availability zone as defined by the cloud service provider
336
+ */
337
+ csp_zone: string;
338
+ /**
339
+ * Instance / VM type as defined by the cloud service provider
340
+ */
341
+ instance_type: string;
342
+ /**
343
+ * Instance CPU architecture
344
+ */
345
+ architecture: string;
346
+ /**
347
+ * Instance operating system
348
+ */
349
+ os: string;
350
+ /**
351
+ * 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.
352
+ */
353
+ vcpu: number;
354
+ /**
355
+ * Total amount of RAM in gibibytes (GiB)
356
+ */
357
+ memory: number;
358
+ /**
359
+ * Volume of directly attached, block-device local storage in gibibytes (GiB)
360
+ */
361
+ local_storage: number;
362
+ /**
363
+ * 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
364
+ */
365
+ accelerator_name?: string;
366
+ /**
367
+ * Normalized manufacturer name of accelerator. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer
368
+ */
369
+ accelerator_manufacturer?: string;
370
+ /**
371
+ * 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.
372
+ */
373
+ accelerator_count?: number;
374
+ /**
375
+ * 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
376
+ */
377
+ accelerator_memory?: number;
378
+ /**
379
+ * Maximum number of pods that can be run on this instance type.
380
+ */
381
+ pods_capacity?: number;
382
+ /**
383
+ * Capacity type of the instance. E.g. `on-demand`, `spot`.
384
+ */
385
+ capacity_type?: string;
386
+ /**
387
+ * Price of running the inctance per hour in USD as defined by the cloud service provider
388
+ */
389
+ price: number;
390
+ /**
391
+ * Whether this instance type is available.
392
+ */
393
+ available?: boolean;
394
+ };
395
+ export type Invite = {
396
+ /**
397
+ * Unique identifier of the invitation.
398
+ */
399
+ id?: string;
400
+ /**
401
+ * Unique identifier of the organization the project belongs to. UUID v4 string in canonical form
402
+ */
403
+ organization_id?: string;
404
+ /**
405
+ * Creationg date of the project. ISO 8601 date string in UTC timezone
406
+ */
407
+ date_created: string;
408
+ /**
409
+ * User email address.
410
+ */
411
+ email?: string;
412
+ /**
413
+ * Generated unique invite code.
414
+ */
415
+ code?: string;
416
+ };
417
+ export type Invoice = {
418
+ /**
419
+ * Unique identifier of the invoice. UUID v4 string in canonical form
420
+ */
421
+ id?: string;
422
+ /**
423
+ * Unique identifier of the organization. UUID v4 string in canonical form
424
+ */
425
+ organizationId?: string;
426
+ /**
427
+ * Status of the invoice
428
+ */
429
+ status?: 'DRAFT' | 'COMMITTED' | 'VOID';
430
+ /**
431
+ * Total amount of the invoice
432
+ */
433
+ amount?: number;
434
+ /**
435
+ * Currency of the invoice
436
+ */
437
+ currency?: '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';
438
+ /**
439
+ * Total amount of credit adjustments
440
+ */
441
+ creditAdj?: number;
442
+ /**
443
+ * Total amount of refund adjustments
444
+ */
445
+ refundAdj?: number;
446
+ /**
447
+ * Date of the invoice
448
+ */
449
+ invoiceDate?: string;
450
+ /**
451
+ * Target date of the invoice
452
+ */
453
+ targetDate?: string;
454
+ /**
455
+ * Number of the invoice
456
+ */
457
+ invoiceNumber?: string;
458
+ /**
459
+ * Balance of the invoice
460
+ */
461
+ balance?: number;
462
+ /**
463
+ * Bundle keys of the invoice
464
+ */
465
+ bundleKeys?: string;
466
+ /**
467
+ * Credits of the invoice
468
+ */
469
+ credits?: Array<{
470
+ /**
471
+ * Unique identifier of the invoice item. UUID v4 string in canonical form
472
+ */
473
+ id?: string;
474
+ /**
475
+ * Unique identifier of the linked invoice item. UUID v4 string in canonical form
476
+ */
477
+ linkedInvoiceItemId?: string;
478
+ /**
479
+ * Name of the product
480
+ */
481
+ productName?: string;
482
+ /**
483
+ * Name of the plan
484
+ */
485
+ planName?: string;
486
+ /**
487
+ * Name of the phase
488
+ */
489
+ phaseName?: string;
490
+ /**
491
+ * Name of the usage
492
+ */
493
+ usageName?: string;
494
+ /**
495
+ * Pretty name of the product
496
+ */
497
+ prettyProductName?: string;
498
+ /**
499
+ * Pretty name of the plan
500
+ */
501
+ prettyPlanName?: string;
502
+ /**
503
+ * Pretty name of the phase
504
+ */
505
+ prettyPhaseName?: string;
506
+ /**
507
+ * Pretty name of the usage
508
+ */
509
+ prettyUsageName?: string;
510
+ /**
511
+ * Type of the invoice item
512
+ */
513
+ itemType?: 'EXTERNAL_CHARGE' | 'FIXED' | 'RECURRING' | 'REPAIR_ADJ' | 'CBA_ADJ' | 'CREDIT_ADJ' | 'ITEM_ADJ' | 'USAGE' | 'TAX' | 'PARENT_SUMMARY';
514
+ /**
515
+ * Description of the invoice item
516
+ */
517
+ description?: string;
518
+ /**
519
+ * Start date of the invoice item
520
+ */
521
+ startDate?: string;
522
+ /**
523
+ * End date of the invoice item
524
+ */
525
+ endDate?: string;
526
+ /**
527
+ * Amount of the invoice item
528
+ */
529
+ amount?: number;
530
+ /**
531
+ * Rate of the invoice item
532
+ */
533
+ rate?: number;
534
+ /**
535
+ * Currency of the invoice item
536
+ */
537
+ currency?: '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';
538
+ /**
539
+ * Quantity of the invoice item
540
+ */
541
+ quantity?: number;
542
+ /**
543
+ * Details of the invoice item
544
+ */
545
+ itemDetails?: string;
546
+ /**
547
+ * Effective date of the catalog
548
+ */
549
+ catalogEffectiveDate?: string;
550
+ /**
551
+ * Child items of the invoice item
552
+ */
553
+ childItems?: Array<Array<unknown> | boolean | number | {
554
+ [key: string]: unknown;
555
+ } | string>;
556
+ }>;
557
+ /**
558
+ * Items of the invoice
559
+ */
560
+ items?: Array<{
561
+ /**
562
+ * Unique identifier of the invoice item. UUID v4 string in canonical form
563
+ */
564
+ id?: string;
565
+ /**
566
+ * Unique identifier of the linked invoice item. UUID v4 string in canonical form
567
+ */
568
+ linkedInvoiceItemId?: string;
569
+ /**
570
+ * Name of the product
571
+ */
572
+ productName?: string;
573
+ /**
574
+ * Name of the plan
575
+ */
576
+ planName?: string;
577
+ /**
578
+ * Name of the phase
579
+ */
580
+ phaseName?: string;
581
+ /**
582
+ * Name of the usage
583
+ */
584
+ usageName?: string;
585
+ /**
586
+ * Pretty name of the product
587
+ */
588
+ prettyProductName?: string;
589
+ /**
590
+ * Pretty name of the plan
591
+ */
592
+ prettyPlanName?: string;
593
+ /**
594
+ * Pretty name of the phase
595
+ */
596
+ prettyPhaseName?: string;
597
+ /**
598
+ * Pretty name of the usage
599
+ */
600
+ prettyUsageName?: string;
601
+ /**
602
+ * Type of the invoice item
603
+ */
604
+ itemType?: 'EXTERNAL_CHARGE' | 'FIXED' | 'RECURRING' | 'REPAIR_ADJ' | 'CBA_ADJ' | 'CREDIT_ADJ' | 'ITEM_ADJ' | 'USAGE' | 'TAX' | 'PARENT_SUMMARY';
605
+ /**
606
+ * Description of the invoice item
607
+ */
608
+ description?: string;
609
+ /**
610
+ * Start date of the invoice item
611
+ */
612
+ startDate?: string;
613
+ /**
614
+ * End date of the invoice item
615
+ */
616
+ endDate?: string;
617
+ /**
618
+ * Amount of the invoice item
619
+ */
620
+ amount?: number;
621
+ /**
622
+ * Rate of the invoice item
623
+ */
624
+ rate?: number;
625
+ /**
626
+ * Currency of the invoice item
627
+ */
628
+ currency?: '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';
629
+ /**
630
+ * Quantity of the invoice item
631
+ */
632
+ quantity?: number;
633
+ /**
634
+ * Details of the invoice item
635
+ */
636
+ itemDetails?: string;
637
+ /**
638
+ * Effective date of the catalog
639
+ */
640
+ catalogEffectiveDate?: string;
641
+ /**
642
+ * Child items of the invoice item
643
+ */
644
+ childItems?: Array<Array<unknown> | boolean | number | {
645
+ [key: string]: unknown;
646
+ } | string>;
647
+ }>;
648
+ };
649
+ export type OrganizationContactInfo = {
650
+ /**
651
+ * Street address, P.O. box, c/o
652
+ */
653
+ address1?: string;
654
+ /**
655
+ * Apartment, suite, unit, building, floor, etc.
656
+ */
657
+ address2?: string;
658
+ /**
659
+ * Postal code as a string.
660
+ */
661
+ postalCode?: string;
662
+ /**
663
+ * City or town name.
664
+ */
665
+ city?: string;
666
+ /**
667
+ * State, province, or region name.
668
+ */
669
+ state?: string;
670
+ /**
671
+ * Country as a ISO 3166-1 alpha-2 country code.
672
+ */
673
+ country?: string;
674
+ /**
675
+ * Phone number as a string.
676
+ */
677
+ phone?: string;
678
+ /**
679
+ * Email address used for billing as a string.
680
+ */
681
+ email: string;
682
+ /**
683
+ * First name of the billing contact person.
684
+ */
685
+ first_name: string;
686
+ /**
687
+ * Last name of the billing contact person.
688
+ */
689
+ last_name: string;
690
+ };
691
+ export type Organization = {
692
+ /**
693
+ * Unique identifier of the organization. UUID v4 string in canonical form
694
+ */
695
+ id?: string;
696
+ /**
697
+ * Creationg date of the organization. ISO 8601 date string in UTC timezone
698
+ */
699
+ date_created: string;
700
+ /**
701
+ * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.
702
+ */
703
+ name?: string;
704
+ /**
705
+ * Organization contact information and billing address.
706
+ */
707
+ contactInfo: {
708
+ /**
709
+ * Street address, P.O. box, c/o
710
+ */
711
+ address1?: string;
712
+ /**
713
+ * Apartment, suite, unit, building, floor, etc.
714
+ */
715
+ address2?: string;
716
+ /**
717
+ * Postal code as a string.
718
+ */
719
+ postalCode?: string;
720
+ /**
721
+ * City or town name.
722
+ */
723
+ city?: string;
724
+ /**
725
+ * State, province, or region name.
726
+ */
727
+ state?: string;
728
+ /**
729
+ * Country as a ISO 3166-1 alpha-2 country code.
730
+ */
731
+ country?: string;
732
+ /**
733
+ * Phone number as a string.
734
+ */
735
+ phone?: string;
736
+ /**
737
+ * Email address used for billing as a string.
738
+ */
739
+ email: string;
740
+ /**
741
+ * First name of the billing contact person.
742
+ */
743
+ first_name: string;
744
+ /**
745
+ * Last name of the billing contact person.
746
+ */
747
+ last_name: string;
748
+ };
749
+ /**
750
+ * 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.
751
+ */
752
+ quota: {
753
+ /**
754
+ * Maximum number of Basic clusters that can be created.
755
+ */
756
+ basic_clusters_max: number;
757
+ /**
758
+ * Available number of Basic clusters that can be created.
759
+ */
760
+ basic_clusters_available: number;
761
+ /**
762
+ * Maximum number of Pro clusters that can be created.
763
+ */
764
+ pro_clusters_max: number;
765
+ /**
766
+ * Available number of Pro clusters that can be created.
767
+ */
768
+ pro_clusters_available: number;
769
+ /**
770
+ * Maximum number of fleets that can be created per cluster.
771
+ */
772
+ fleets_max: number;
773
+ /**
774
+ * Maximum number of CPU cores per managed fleet.
775
+ */
776
+ managed_fleets_cpu_max: number;
777
+ /**
778
+ * List of Cloudfleet cluster tiers available for the organization.
779
+ */
780
+ cluster_tiers: Array<string>;
781
+ /**
782
+ * List of Cloudfleet control plane regions available for the organization.
783
+ */
784
+ regions: Array<string>;
785
+ /**
786
+ * List of CFKE control plane versions available for the organization.
787
+ */
788
+ versions: Array<{
789
+ /**
790
+ * Id of the control plane version. Used in API calls.
791
+ */
792
+ id: string;
793
+ /**
794
+ * Label of the control plane version. Used in frontent UI.
795
+ */
796
+ label: string;
797
+ }>;
798
+ };
799
+ /**
800
+ * List of pending actions that the user needs to complete. Used in Cloudfleet console to guide the user through the onboarding process.
801
+ */
802
+ pending_actions?: Array<'signup-billing-address' | 'signup-payment-method' | 'signup-invite-team' | 'signup-create-cluster'>;
803
+ /**
804
+ * Status of the organization. Can be `active` or `closed`, or `suspended`.
805
+ */
806
+ status?: 'active' | 'closed' | 'suspended';
807
+ };
808
+ export type PaymentMethod = {
809
+ /**
810
+ * Unique identifier of the organization. UUID v4 string in canonical form.
811
+ */
812
+ id: string;
813
+ /**
814
+ * Whether organization payment method was set up and ready to use for payments.
815
+ */
816
+ setup: boolean;
817
+ /**
818
+ * Payment method type type. Only `card` payments supported at the moment.
819
+ */
820
+ type: 'card';
821
+ /**
822
+ * Last 4 digits of the payment card number.
823
+ */
824
+ last4: string;
825
+ /**
826
+ * Two-digit number representing the card's expiration month.
827
+ */
828
+ exp_month: number;
829
+ /**
830
+ * Four-digit number representing the card's expiration year.
831
+ */
832
+ exp_year: number;
833
+ /**
834
+ * Payment card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.
835
+ */
836
+ brand: 'amex' | 'diners' | 'discover' | 'eftpos_au' | 'jcb' | 'mastercard' | 'unionpay' | 'visa' | 'unknown';
837
+ };
838
+ export type Token = {
839
+ /**
840
+ * Generated unique identifier of the access token.
841
+ */
842
+ id?: string;
843
+ /**
844
+ * Access token secret. Unmasked only during creation.
845
+ */
846
+ secret?: string;
847
+ /**
848
+ * Human readable access token name.
849
+ */
850
+ name?: string;
851
+ /**
852
+ * Creationg date of the access token. ISO 8601 date string in UTC timezone
853
+ */
854
+ date_created: string;
855
+ /**
856
+ * Role assumed by the token.
857
+ */
858
+ role?: 'Administrator' | 'User';
859
+ };
860
+ export type Usage = {
861
+ /**
862
+ * Unique identifier of the Usage object, equal to subscription id of the task . UUID v4 string in canonical form
863
+ */
864
+ id: string;
865
+ /**
866
+ * Unique identifier of the project. UUID v4 string in canonical form
867
+ */
868
+ task_id: string;
869
+ /**
870
+ * Unit of measurement. E.g. GiB, seconds, etc
871
+ */
872
+ unit: string;
873
+ amount: number;
874
+ };
875
+ export type User = {
876
+ /**
877
+ * Unique identifier of the user. UUID v4 string in canonical form
878
+ */
879
+ id?: string;
880
+ /**
881
+ * Creationg date of the user. ISO 8601 date string in UTC timezone
882
+ */
883
+ date_created: string;
884
+ /**
885
+ * User email address.
886
+ */
887
+ email?: string;
888
+ /**
889
+ * User first name.
890
+ */
891
+ first_name?: string;
892
+ /**
893
+ * User last name.
894
+ */
895
+ last_name?: string;
896
+ /**
897
+ * User role. Can be 'Administrator', 'User'.
898
+ */
899
+ role?: 'Administrator' | 'User';
900
+ cluster_permissions?: Array<{
901
+ /**
902
+ * Unique identifier of the cluster. UUID v4 string in canonical form
903
+ */
904
+ cluster_id: string;
905
+ /**
906
+ * User permissions to access the cluster. Can be `readwrite` or `readonly`.
907
+ */
908
+ permissions: 'readwrite' | 'readonly';
909
+ }>;
910
+ /**
911
+ * Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.
912
+ */
913
+ status?: 'active' | 'inactive';
914
+ };
915
+ /**
916
+ * Sort results by field. Specified as an array with field name as the first element, and order as the second. For example, to sort by name in ascending order, use ['name', 'asc'].
917
+ */
918
+ export type SortParameter = [
919
+ string,
920
+ string
921
+ ];
922
+ /**
923
+ * Pagination of return results. Specified as an array with the number of entries to skip as the first element, and number of entries to return as the second. For example, to skip 30 entries and return 10, use [30, 10].
924
+ */
925
+ export type RangeParameter = [
926
+ number,
927
+ number
928
+ ];
929
+ export type GetUsageData = {
930
+ body?: never;
931
+ path?: never;
932
+ query: {
933
+ /**
934
+ * Start date for the usage. Date of oldest data point to retrieve.
935
+ */
936
+ start_date: string;
937
+ /**
938
+ * End date for the usage. Date of newest data point to retrieve.
939
+ */
940
+ end_date: string;
941
+ };
942
+ url: '/billing/usage';
943
+ };
944
+ export type GetUsageErrors = {
945
+ /**
946
+ * Not authenticated
947
+ */
948
+ 401: unknown;
949
+ };
950
+ export type GetUsageResponses = {
951
+ /**
952
+ * An array of usage records.
953
+ */
954
+ 200: Array<Usage>;
955
+ };
956
+ export type GetUsageResponse = GetUsageResponses[keyof GetUsageResponses];
957
+ export type GetBalanceData = {
958
+ body?: never;
959
+ path?: never;
960
+ query?: never;
961
+ url: '/billing/balance';
962
+ };
963
+ export type GetBalanceResponses = {
964
+ /**
965
+ * Current balance of the organization in USD as a floating-point number.
966
+ */
967
+ 200: number;
968
+ };
969
+ export type GetBalanceResponse = GetBalanceResponses[keyof GetBalanceResponses];
970
+ export type GetPaymentMethodData = {
971
+ body?: never;
972
+ path?: never;
973
+ query?: never;
974
+ url: '/billing/payment-method';
975
+ };
976
+ export type GetPaymentMethodErrors = {
977
+ /**
978
+ * Returns 404 Not Found if the organization does not have a payment method set up.
979
+ */
980
+ 404: unknown;
981
+ };
982
+ export type GetPaymentMethodResponses = {
983
+ /**
984
+ * Redacted payment card information.
985
+ */
986
+ 200: PaymentMethod;
987
+ };
988
+ export type GetPaymentMethodResponse = GetPaymentMethodResponses[keyof GetPaymentMethodResponses];
989
+ export type GetPaymentMethodSecretData = {
990
+ body?: never;
991
+ path?: never;
992
+ query?: never;
993
+ url: '/billing/payment-method';
994
+ };
995
+ export type GetPaymentMethodSecretResponses = {
996
+ /**
997
+ * The client secret. Used for client-side retrieval using a publishable key. The client secret can be used to complete a payment from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret.
998
+ *
999
+ */
1000
+ 200: {
1001
+ /**
1002
+ * The client secret.
1003
+ */
1004
+ id?: string;
1005
+ };
1006
+ };
1007
+ export type GetPaymentMethodSecretResponse = GetPaymentMethodSecretResponses[keyof GetPaymentMethodSecretResponses];
1008
+ export type ListInvoicesData = {
1009
+ body?: never;
1010
+ path?: never;
1011
+ query: {
1012
+ /**
1013
+ * Start date for the usage. Date of oldest data point to retrieve.
1014
+ */
1015
+ start_date: string;
1016
+ /**
1017
+ * End date for the usage. Date of newest data point to retrieve.
1018
+ */
1019
+ end_date: string;
1020
+ };
1021
+ url: '/billing/invoices';
1022
+ };
1023
+ export type ListInvoicesErrors = {
1024
+ /**
1025
+ * Not authenticated
1026
+ */
1027
+ 401: unknown;
1028
+ };
1029
+ export type ListInvoicesResponses = {
1030
+ /**
1031
+ * An array of usage records.
1032
+ */
1033
+ 200: Array<Invoice>;
1034
+ };
1035
+ export type ListInvoicesResponse = ListInvoicesResponses[keyof ListInvoicesResponses];
1036
+ export type GetInvoiceData = {
1037
+ body?: never;
1038
+ path: {
1039
+ /**
1040
+ * Unique invoice identifier. UUID v4 string in canonical form
1041
+ */
1042
+ id: string;
1043
+ };
1044
+ query?: never;
1045
+ url: '/billing/invoices/{id}';
1046
+ };
1047
+ export type GetInvoiceResponses = {
1048
+ /**
1049
+ * Returns a single Invoice HTML representation under `html` property.
1050
+ */
1051
+ 200: {
1052
+ html?: string;
1053
+ };
1054
+ };
1055
+ export type GetInvoiceResponse = GetInvoiceResponses[keyof GetInvoiceResponses];
1056
+ export type ListFleetsData = {
1057
+ body?: never;
1058
+ path: {
1059
+ /**
1060
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1061
+ */
1062
+ cluster_id: string;
1063
+ };
1064
+ query?: never;
1065
+ url: '/clusters/{cluster_id}/fleets';
1066
+ };
1067
+ export type ListFleetsErrors = {
1068
+ /**
1069
+ * Not authenticated
1070
+ */
1071
+ 401: unknown;
1072
+ };
1073
+ export type ListFleetsResponses = {
1074
+ /**
1075
+ * An array of fleets
1076
+ */
1077
+ 200: Array<Fleet>;
1078
+ };
1079
+ export type ListFleetsResponse = ListFleetsResponses[keyof ListFleetsResponses];
1080
+ export type CreateFleetData = {
1081
+ body: FleetCreateInput;
1082
+ path: {
1083
+ /**
1084
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1085
+ */
1086
+ cluster_id: string;
1087
+ };
1088
+ query?: never;
1089
+ url: '/clusters/{cluster_id}/fleets';
1090
+ };
1091
+ export type CreateFleetErrors = {
1092
+ /**
1093
+ * Cluster quota exceeded. Maximum number of fleets per cluster allowed in this organization is reached.
1094
+ */
1095
+ 402: string;
1096
+ };
1097
+ export type CreateFleetError = CreateFleetErrors[keyof CreateFleetErrors];
1098
+ export type CreateFleetResponses = {
1099
+ /**
1100
+ * Successfully created. Returns created fleet details.
1101
+ */
1102
+ 200: string;
1103
+ };
1104
+ export type CreateFleetResponse = CreateFleetResponses[keyof CreateFleetResponses];
1105
+ export type DeleteFleetData = {
1106
+ body?: never;
1107
+ path: {
1108
+ /**
1109
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1110
+ */
1111
+ cluster_id: string;
1112
+ /**
1113
+ * Unique identifier of the fleet. UUID v4 string in canonical form
1114
+ */
1115
+ fleet_name: string;
1116
+ };
1117
+ query?: never;
1118
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}';
1119
+ };
1120
+ export type DeleteFleetResponses = {
1121
+ /**
1122
+ * Successfully deleted.
1123
+ */
1124
+ 200: string;
1125
+ };
1126
+ export type DeleteFleetResponse = DeleteFleetResponses[keyof DeleteFleetResponses];
1127
+ export type GetFleetData = {
1128
+ body?: never;
1129
+ path: {
1130
+ /**
1131
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1132
+ */
1133
+ cluster_id: string;
1134
+ /**
1135
+ * Unique identifier of the fleet. UUID v4 string in canonical form
1136
+ */
1137
+ fleet_name: string;
1138
+ };
1139
+ query?: never;
1140
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}';
1141
+ };
1142
+ export type GetFleetResponses = {
1143
+ /**
1144
+ * Returns a single object containing fleet details.
1145
+ */
1146
+ 200: Fleet;
1147
+ };
1148
+ export type GetFleetResponse = GetFleetResponses[keyof GetFleetResponses];
1149
+ export type UpdateFleetData = {
1150
+ body: FleetUpdateInput;
1151
+ path: {
1152
+ /**
1153
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1154
+ */
1155
+ cluster_id: string;
1156
+ /**
1157
+ * Unique identifier of the fleet. UUID v4 string in canonical form
1158
+ */
1159
+ fleet_name: string;
1160
+ };
1161
+ query?: never;
1162
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}';
1163
+ };
1164
+ export type UpdateFleetErrors = {
1165
+ /**
1166
+ * Organization must have a valid payment method configured to access this endpoint.
1167
+ */
1168
+ 402: string;
1169
+ };
1170
+ export type UpdateFleetError = UpdateFleetErrors[keyof UpdateFleetErrors];
1171
+ export type UpdateFleetResponses = {
1172
+ /**
1173
+ * Successfully updated.
1174
+ */
1175
+ 200: string;
1176
+ };
1177
+ export type UpdateFleetResponse = UpdateFleetResponses[keyof UpdateFleetResponses];
1178
+ export type QueryClusterData = {
1179
+ body?: never;
1180
+ path: {
1181
+ /**
1182
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1183
+ */
1184
+ cluster_id: string;
1185
+ };
1186
+ query?: never;
1187
+ url: '/clusters/{cluster_id}/query';
1188
+ };
1189
+ export type QueryClusterErrors = {
1190
+ /**
1191
+ * Not authenticated
1192
+ */
1193
+ 401: unknown;
1194
+ };
1195
+ export type QueryClusterResponses = {
1196
+ /**
1197
+ * Kubernetes API response
1198
+ */
1199
+ 200: unknown;
1200
+ };
1201
+ export type ListClustersData = {
1202
+ body?: never;
1203
+ path?: never;
1204
+ query?: {
1205
+ /**
1206
+ * Sort results by field. Specified as an array with field name as the first element, and order as the second. For example, to sort by name in ascending order, use ['name', 'asc'].
1207
+ */
1208
+ sort?: [
1209
+ string
1210
+ ];
1211
+ /**
1212
+ * Pagination of return results. Specified as an array with the number of entries to skip as the first element, and number of entries to return as the second. For example, to skip 30 entries and return 10, use [30, 10].
1213
+ */
1214
+ range?: [
1215
+ number
1216
+ ];
1217
+ filter?: {
1218
+ /**
1219
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1220
+ */
1221
+ id?: string;
1222
+ /**
1223
+ * Human readable name of the cluster.
1224
+ */
1225
+ name?: string;
1226
+ /**
1227
+ * Status of the cluster. Can be `active` or `disabled`.
1228
+ */
1229
+ status?: string;
1230
+ };
1231
+ };
1232
+ url: '/clusters';
1233
+ };
1234
+ export type ListClustersErrors = {
1235
+ /**
1236
+ * Not authenticated
1237
+ */
1238
+ 401: unknown;
1239
+ };
1240
+ export type ListClustersResponses = {
1241
+ /**
1242
+ * An array of clusters
1243
+ */
1244
+ 200: Array<Cluster>;
1245
+ };
1246
+ export type ListClustersResponse = ListClustersResponses[keyof ListClustersResponses];
1247
+ export type CreateClusterData = {
1248
+ body: ClusterCreateInput;
1249
+ path?: never;
1250
+ query?: never;
1251
+ url: '/clusters';
1252
+ };
1253
+ export type CreateClusterErrors = {
1254
+ /**
1255
+ * Cluster quota exceeded. Maximum number of clusters allowed in this organization is reached.
1256
+ */
1257
+ 402: string;
1258
+ };
1259
+ export type CreateClusterError = CreateClusterErrors[keyof CreateClusterErrors];
1260
+ export type CreateClusterResponses = {
1261
+ /**
1262
+ * Successfully created.
1263
+ */
1264
+ 200: string;
1265
+ };
1266
+ export type CreateClusterResponse = CreateClusterResponses[keyof CreateClusterResponses];
1267
+ export type DeleteClusterData = {
1268
+ body?: never;
1269
+ path: {
1270
+ /**
1271
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1272
+ */
1273
+ cluster_id: string;
1274
+ };
1275
+ query?: never;
1276
+ url: '/clusters/{cluster_id}';
1277
+ };
1278
+ export type DeleteClusterResponses = {
1279
+ /**
1280
+ * Successfully deleted.
1281
+ */
1282
+ 200: string;
1283
+ };
1284
+ export type DeleteClusterResponse = DeleteClusterResponses[keyof DeleteClusterResponses];
1285
+ export type GetClusterData = {
1286
+ body?: never;
1287
+ path: {
1288
+ /**
1289
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1290
+ */
1291
+ cluster_id: string;
1292
+ };
1293
+ query?: never;
1294
+ url: '/clusters/{cluster_id}';
1295
+ };
1296
+ export type GetClusterResponses = {
1297
+ /**
1298
+ * Returns a single object containing cluster details.
1299
+ */
1300
+ 200: Cluster;
1301
+ };
1302
+ export type GetClusterResponse = GetClusterResponses[keyof GetClusterResponses];
1303
+ export type UpdateClusterData = {
1304
+ body: ClusterUpdateInput;
1305
+ path: {
1306
+ /**
1307
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1308
+ */
1309
+ cluster_id: string;
1310
+ };
1311
+ query?: never;
1312
+ url: '/clusters/{cluster_id}';
1313
+ };
1314
+ export type UpdateClusterResponses = {
1315
+ /**
1316
+ * Successfully updated. Returns updated cluster details.
1317
+ */
1318
+ 200: Cluster;
1319
+ };
1320
+ export type UpdateClusterResponse = UpdateClusterResponses[keyof UpdateClusterResponses];
1321
+ export type GetJoinInformationData = {
1322
+ body?: never;
1323
+ path: {
1324
+ /**
1325
+ * Unique identifier of the cluster. UUID v4 string in canonical form
1326
+ */
1327
+ cluster_id: string;
1328
+ };
1329
+ query?: never;
1330
+ url: '/clusters/{cluster_id}/join_information';
1331
+ };
1332
+ export type GetJoinInformationErrors = {
1333
+ /**
1334
+ * Not authenticated
1335
+ */
1336
+ 401: unknown;
1337
+ };
1338
+ export type GetJoinInformationResponses = {
1339
+ /**
1340
+ * An object of cluster join information
1341
+ */
1342
+ 200: Cluster;
1343
+ };
1344
+ export type GetJoinInformationResponse = GetJoinInformationResponses[keyof GetJoinInformationResponses];
1345
+ export type GetInfrastructureData = {
1346
+ body?: never;
1347
+ path?: never;
1348
+ query?: {
1349
+ /**
1350
+ * Version of the task definition. Currently only version 1 is supported.
1351
+ */
1352
+ version?: 1;
1353
+ /**
1354
+ * Limit selection of cloud providers to this list. For the full list of supported providers, see [Providers](https://cloudfleet.ai/docs/cloud-infrastructure/providers/)
1355
+ */
1356
+ provider?: Array<string>;
1357
+ /**
1358
+ * 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/)
1359
+ */
1360
+ region?: Array<string>;
1361
+ /**
1362
+ * 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/)
1363
+ */
1364
+ sub_region?: Array<string>;
1365
+ /**
1366
+ * Limits selection of cloud regions to this list of canonical provider regions
1367
+ */
1368
+ csp_region?: Array<string>;
1369
+ /**
1370
+ * Limits selection of instance types to this list. Instance / VM type as defined by the cloud service provider
1371
+ */
1372
+ instance_type?: Array<string>;
1373
+ /**
1374
+ * 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
1375
+ */
1376
+ accelerator_name?: Array<string>;
1377
+ /**
1378
+ * List of normalized accelerator manufacturer names. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer
1379
+ */
1380
+ accelerator_manufacturer?: Array<string>;
1381
+ /**
1382
+ * 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.
1383
+ */
1384
+ accelerator_count_min?: number;
1385
+ /**
1386
+ * 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.
1387
+ */
1388
+ accelerator_count_max?: number;
1389
+ /**
1390
+ * 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
1391
+ */
1392
+ accelerator_memory_min?: number;
1393
+ /**
1394
+ * 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
1395
+ */
1396
+ accelerator_memory_max?: number;
1397
+ /**
1398
+ * Minimum amount of RAM in gibibytes (GiB)
1399
+ */
1400
+ memory_min?: number;
1401
+ /**
1402
+ * Maximum amount of RAM in gibibytes (GiB)
1403
+ */
1404
+ memory_max?: number;
1405
+ /**
1406
+ * 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.
1407
+ */
1408
+ vcpu_min?: number;
1409
+ /**
1410
+ * 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.
1411
+ */
1412
+ vcpu_max?: number;
1413
+ /**
1414
+ * Minimum total storage in GiB (attached and local)
1415
+ */
1416
+ storage_total_min?: number;
1417
+ /**
1418
+ * Maximum total storage in GiB (attached and local)
1419
+ */
1420
+ storage_total_max?: number;
1421
+ /**
1422
+ * Minimum volume of directly attached, block-device local storage in gibibytes (GiB)
1423
+ */
1424
+ storage_local_min?: number;
1425
+ /**
1426
+ * Maximum volume of directly attached, block-device local storage in gibibytes (GiB)
1427
+ */
1428
+ storage_local_max?: number;
1429
+ /**
1430
+ * Minimum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.
1431
+ */
1432
+ price_min?: number;
1433
+ /**
1434
+ * Maximum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.
1435
+ */
1436
+ price_max?: number;
1437
+ };
1438
+ url: '/infrastructure';
1439
+ };
1440
+ export type GetInfrastructureErrors = {
1441
+ /**
1442
+ * Returns a validation error if any of the search parameters in the request are invalid
1443
+ */
1444
+ 400: Blob | File;
1445
+ };
1446
+ export type GetInfrastructureError = GetInfrastructureErrors[keyof GetInfrastructureErrors];
1447
+ export type GetInfrastructureResponses = {
1448
+ /**
1449
+ * An array of instances returned by the search
1450
+ */
1451
+ 200: Array<InfrastructureInstance>;
1452
+ };
1453
+ export type GetInfrastructureResponse = GetInfrastructureResponses[keyof GetInfrastructureResponses];
1454
+ export type GetFacetsData = {
1455
+ body?: never;
1456
+ path?: never;
1457
+ query?: never;
1458
+ url: '/infrastructure/facets';
1459
+ };
1460
+ export type GetFacetsResponses = {
1461
+ /**
1462
+ * Calculates search facets of the infrastructure catalog
1463
+ */
1464
+ 200: Array<{
1465
+ /**
1466
+ * Limit selection of cloud providers to this list. For the full list of supported providers, see [Providers](https://cloudfleet.ai/docs/cloud-infrastructure/providers/)
1467
+ */
1468
+ provider?: Array<string>;
1469
+ /**
1470
+ * 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/)
1471
+ */
1472
+ region?: Array<string>;
1473
+ /**
1474
+ * Limits selection of cloud sub-regions to this list of Cloudfleet sub-regions. For the full list of normalized regions and their mapping to CSP regions, see [Regions](https://cloudfleet.ai/docs/cloud-infrastructure/node-regions/)
1475
+ */
1476
+ sub_region?: Array<string>;
1477
+ /**
1478
+ * Limits selection of cloud regions to this list of canonical provider regions
1479
+ */
1480
+ csp_region?: Array<string>;
1481
+ /**
1482
+ * 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.
1483
+ */
1484
+ vcpu_min?: number;
1485
+ /**
1486
+ * 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.
1487
+ */
1488
+ vcpu_max?: number;
1489
+ /**
1490
+ * Minimum amount of RAM in gibibytes (GiB)
1491
+ */
1492
+ memory_min?: number;
1493
+ /**
1494
+ * Maximum amount of RAM in gibibytes (GiB)
1495
+ */
1496
+ memory_max?: number;
1497
+ /**
1498
+ * Minimum volume of directly attached, block-device local storage in gibibytes (GiB)
1499
+ */
1500
+ storage_local_min?: number;
1501
+ /**
1502
+ * Maximum volume of directly attached, block-device local storage in gibibytes (GiB)
1503
+ */
1504
+ storage_local_max?: number;
1505
+ /**
1506
+ * 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
1507
+ */
1508
+ accelerator_name?: Array<string>;
1509
+ /**
1510
+ * List of normalized accelerator manufacturer names. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer
1511
+ */
1512
+ accelerator_manufacturer?: Array<string>;
1513
+ /**
1514
+ * 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.
1515
+ */
1516
+ accelerator_count_min?: number;
1517
+ /**
1518
+ * 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.
1519
+ */
1520
+ accelerator_count_max?: number;
1521
+ /**
1522
+ * 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
1523
+ */
1524
+ accelerator_memory_min?: number;
1525
+ /**
1526
+ * 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
1527
+ */
1528
+ accelerator_memory_max?: number;
1529
+ /**
1530
+ * Minimum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.
1531
+ */
1532
+ price_min?: number;
1533
+ /**
1534
+ * Maximum price of running the inctance per hour in USD as defined by the cloud service provider. The cheapest instance will be selected.
1535
+ */
1536
+ price_max?: number;
1537
+ /**
1538
+ * Structured array of regions and sub-regions
1539
+ */
1540
+ regions_struct?: Array<{
1541
+ /**
1542
+ * 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/)
1543
+ */
1544
+ region?: string;
1545
+ sub_region?: Array<string>;
1546
+ }>;
1547
+ /**
1548
+ * Structured array of regions and sub-regions
1549
+ */
1550
+ accelerators_struct?: Array<{
1551
+ /**
1552
+ * List of normalized accelerator manufacturer names. For example, all Nvidia GPUs will have 'NVIDIA' as accelerator manufacturer
1553
+ */
1554
+ accelerator_manufacturer?: string;
1555
+ accelerator_name?: Array<string>;
1556
+ }>;
1557
+ /**
1558
+ * Total number of instances in the catalog
1559
+ */
1560
+ count_total?: number;
1561
+ /**
1562
+ * Total number of instances in the catalog with at least 1 accelerator
1563
+ */
1564
+ count_accelerators?: number;
1565
+ /**
1566
+ * Total number of unique instances types in the catalog
1567
+ */
1568
+ count_instance_types?: number;
1569
+ /**
1570
+ * Total number of unique instances types in the catalog with at least 1 accelerator
1571
+ */
1572
+ count_accelerators_instance_types?: number;
1573
+ }>;
1574
+ };
1575
+ export type GetFacetsResponse = GetFacetsResponses[keyof GetFacetsResponses];
1576
+ export type GetRegionsData = {
1577
+ body?: never;
1578
+ path?: never;
1579
+ query?: never;
1580
+ url: '/infrastructure/regions';
1581
+ };
1582
+ export type GetRegionsResponses = {
1583
+ /**
1584
+ * Available Cloudfleet regions and Kubernetes versions.
1585
+ */
1586
+ 200: {
1587
+ [key: string]: unknown;
1588
+ };
1589
+ };
1590
+ export type GetRegionsResponse = GetRegionsResponses[keyof GetRegionsResponses];
1591
+ export type ListInvitesData = {
1592
+ body?: never;
1593
+ path?: never;
1594
+ query?: never;
1595
+ url: '/invites';
1596
+ };
1597
+ export type ListInvitesErrors = {
1598
+ /**
1599
+ * Not authenticated
1600
+ */
1601
+ 401: unknown;
1602
+ };
1603
+ export type ListInvitesResponses = {
1604
+ /**
1605
+ * An array of invites
1606
+ */
1607
+ 200: Array<Invite>;
1608
+ };
1609
+ export type ListInvitesResponse = ListInvitesResponses[keyof ListInvitesResponses];
1610
+ export type CreateInvitesData = {
1611
+ body: {
1612
+ /**
1613
+ * User email address
1614
+ */
1615
+ email?: string;
1616
+ };
1617
+ path?: never;
1618
+ query?: never;
1619
+ url: '/invites';
1620
+ };
1621
+ export type CreateInvitesResponses = {
1622
+ /**
1623
+ * Successfully created. Returns created invite details.
1624
+ */
1625
+ 200: Invite;
1626
+ };
1627
+ export type CreateInvitesResponse = CreateInvitesResponses[keyof CreateInvitesResponses];
1628
+ export type GetInviteData = {
1629
+ body?: never;
1630
+ path: {
1631
+ /**
1632
+ * Invitation code
1633
+ */
1634
+ code: string;
1635
+ };
1636
+ query?: never;
1637
+ url: '/invites/{code}';
1638
+ };
1639
+ export type GetInviteResponses = {
1640
+ /**
1641
+ * Returns a single object containing invite details.
1642
+ */
1643
+ 200: Invite;
1644
+ };
1645
+ export type GetInviteResponse = GetInviteResponses[keyof GetInviteResponses];
1646
+ export type DeleteInviteData = {
1647
+ body?: never;
1648
+ path: {
1649
+ /**
1650
+ * User email address
1651
+ */
1652
+ email: string;
1653
+ };
1654
+ query?: never;
1655
+ url: '/invites/{email}';
1656
+ };
1657
+ export type DeleteInviteResponses = {
1658
+ /**
1659
+ * Successfully deleted.
1660
+ */
1661
+ 200: unknown;
1662
+ };
1663
+ export type GetOrganizationData = {
1664
+ body?: never;
1665
+ path?: never;
1666
+ query?: never;
1667
+ url: '/organization';
1668
+ };
1669
+ export type GetOrganizationResponses = {
1670
+ /**
1671
+ * Returns a single object containing organization details.
1672
+ */
1673
+ 200: Organization;
1674
+ };
1675
+ export type GetOrganizationResponse = GetOrganizationResponses[keyof GetOrganizationResponses];
1676
+ export type CreateOrganizationData = {
1677
+ body: {
1678
+ /**
1679
+ * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts. The name must be 5 to 30 characters long and can contain only letters, numbers, punctuation and spaces.
1680
+ */
1681
+ name?: string;
1682
+ /**
1683
+ * 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.
1684
+ */
1685
+ password?: string;
1686
+ /**
1687
+ * Organization contact information and billing address.
1688
+ */
1689
+ contactInfo?: OrganizationContactInfo;
1690
+ };
1691
+ path?: never;
1692
+ query?: never;
1693
+ url: '/organization';
1694
+ };
1695
+ export type CreateOrganizationResponses = {
1696
+ /**
1697
+ * Successfully created a new organization. Returns organization details.
1698
+ */
1699
+ 200: Organization;
1700
+ };
1701
+ export type CreateOrganizationResponse = CreateOrganizationResponses[keyof CreateOrganizationResponses];
1702
+ export type UpdateOrganizationData = {
1703
+ body: {
1704
+ /**
1705
+ * Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts. The name must be 5 to 30 characters long and can contain only letters, numbers, punctuation and spaces.
1706
+ */
1707
+ name?: string;
1708
+ /**
1709
+ * Status of the organization. Can be `active` or `closed`, or `suspended`.
1710
+ */
1711
+ status?: string;
1712
+ /**
1713
+ * Organization contact information and billing address.
1714
+ */
1715
+ contactInfo?: OrganizationContactInfo;
1716
+ };
1717
+ path?: never;
1718
+ query?: never;
1719
+ url: '/organization';
1720
+ };
1721
+ export type UpdateOrganizationResponses = {
1722
+ /**
1723
+ * Successfully updated. Returns updated organization details.
1724
+ */
1725
+ 200: Organization;
1726
+ };
1727
+ export type UpdateOrganizationResponse = UpdateOrganizationResponses[keyof UpdateOrganizationResponses];
1728
+ export type ListTokensData = {
1729
+ body?: never;
1730
+ path?: never;
1731
+ query?: never;
1732
+ url: '/tokens';
1733
+ };
1734
+ export type ListTokensErrors = {
1735
+ /**
1736
+ * Not authenticated
1737
+ */
1738
+ 401: unknown;
1739
+ };
1740
+ export type ListTokensResponses = {
1741
+ /**
1742
+ * Returns a list of access token details with masked secrets.
1743
+ */
1744
+ 200: Array<Token>;
1745
+ };
1746
+ export type ListTokensResponse = ListTokensResponses[keyof ListTokensResponses];
1747
+ export type CreateTokenData = {
1748
+ body: {
1749
+ /**
1750
+ * Human readable access token name.
1751
+ */
1752
+ name?: string;
1753
+ /**
1754
+ * Role assumed by the token.
1755
+ */
1756
+ role?: 'Administrator' | 'User';
1757
+ };
1758
+ path?: never;
1759
+ query?: never;
1760
+ url: '/tokens';
1761
+ };
1762
+ export type CreateTokenErrors = {
1763
+ /**
1764
+ * Not authenticated
1765
+ */
1766
+ 401: unknown;
1767
+ };
1768
+ export type CreateTokenResponses = {
1769
+ /**
1770
+ * Successfully created. Returns created token details with unmasked/raw secret.
1771
+ */
1772
+ 200: Token;
1773
+ };
1774
+ export type CreateTokenResponse = CreateTokenResponses[keyof CreateTokenResponses];
1775
+ export type DeleteTokenData = {
1776
+ body?: never;
1777
+ path: {
1778
+ /**
1779
+ * Generated unique identifier of the access token.
1780
+ */
1781
+ token_id: string;
1782
+ };
1783
+ query?: never;
1784
+ url: '/tokens/{token_id}';
1785
+ };
1786
+ export type DeleteTokenResponses = {
1787
+ /**
1788
+ * Successfully deleted.
1789
+ */
1790
+ 200: unknown;
1791
+ };
1792
+ export type GetTokenData = {
1793
+ body?: never;
1794
+ path: {
1795
+ /**
1796
+ * Generated unique identifier of the access token.
1797
+ */
1798
+ token_id: string;
1799
+ };
1800
+ query?: never;
1801
+ url: '/tokens/{token_id}';
1802
+ };
1803
+ export type GetTokenErrors = {
1804
+ /**
1805
+ * Not authenticated
1806
+ */
1807
+ 401: unknown;
1808
+ };
1809
+ export type GetTokenResponses = {
1810
+ /**
1811
+ * Returns access token details with masked secret.
1812
+ */
1813
+ 200: Token;
1814
+ };
1815
+ export type GetTokenResponse = GetTokenResponses[keyof GetTokenResponses];
1816
+ export type UpdateTokenData = {
1817
+ body: {
1818
+ /**
1819
+ * Human readable access token name.
1820
+ */
1821
+ name?: string;
1822
+ /**
1823
+ * Role assumed by the token.
1824
+ */
1825
+ role?: 'Administrator' | 'User';
1826
+ };
1827
+ path: {
1828
+ /**
1829
+ * Generated unique identifier of the access token.
1830
+ */
1831
+ token_id: string;
1832
+ };
1833
+ query?: never;
1834
+ url: '/tokens/{token_id}';
1835
+ };
1836
+ export type UpdateTokenErrors = {
1837
+ /**
1838
+ * Not authenticated
1839
+ */
1840
+ 401: unknown;
1841
+ };
1842
+ export type UpdateTokenResponses = {
1843
+ /**
1844
+ * Successfully updated. Returns updated token details with masked secret.
1845
+ */
1846
+ 200: Token;
1847
+ };
1848
+ export type UpdateTokenResponse = UpdateTokenResponses[keyof UpdateTokenResponses];
1849
+ export type RegenerateTokenData = {
1850
+ body?: never;
1851
+ path: {
1852
+ /**
1853
+ * Generated unique identifier of the access token.
1854
+ */
1855
+ token_id: string;
1856
+ };
1857
+ query?: never;
1858
+ url: '/tokens/{token_id}/secret';
1859
+ };
1860
+ export type RegenerateTokenErrors = {
1861
+ /**
1862
+ * Not authenticated
1863
+ */
1864
+ 401: unknown;
1865
+ };
1866
+ export type RegenerateTokenResponses = {
1867
+ /**
1868
+ * Successfully updated. Returns updated token details with unmasked / raw secret.
1869
+ */
1870
+ 200: Token;
1871
+ };
1872
+ export type RegenerateTokenResponse = RegenerateTokenResponses[keyof RegenerateTokenResponses];
1873
+ export type ListUserOrganizationsData = {
1874
+ body?: never;
1875
+ path: {
1876
+ /**
1877
+ * User email address.
1878
+ */
1879
+ email: string;
1880
+ };
1881
+ query?: never;
1882
+ url: '/users/organizations/{email}';
1883
+ };
1884
+ export type ListUserOrganizationsResponses = {
1885
+ /**
1886
+ * An array of organizations the user belongs to.
1887
+ */
1888
+ 200: Array<{
1889
+ /**
1890
+ * Unique identifier of the organization. UUID v4 string in canonical form
1891
+ */
1892
+ realm?: string;
1893
+ /**
1894
+ * Human-readable name of the organization
1895
+ */
1896
+ displayName?: string;
1897
+ }>;
1898
+ };
1899
+ export type ListUserOrganizationsResponse = ListUserOrganizationsResponses[keyof ListUserOrganizationsResponses];
1900
+ export type ListUsersData = {
1901
+ body?: never;
1902
+ path?: never;
1903
+ query?: never;
1904
+ url: '/users';
1905
+ };
1906
+ export type ListUsersErrors = {
1907
+ /**
1908
+ * Not authenticated
1909
+ */
1910
+ 401: unknown;
1911
+ };
1912
+ export type ListUsersResponses = {
1913
+ /**
1914
+ * An array of users
1915
+ */
1916
+ 200: Array<User>;
1917
+ };
1918
+ export type ListUsersResponse = ListUsersResponses[keyof ListUsersResponses];
1919
+ export type CreateUserData = {
1920
+ body: {
1921
+ /**
1922
+ * Generated unique invite code.
1923
+ */
1924
+ code?: string;
1925
+ /**
1926
+ * 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.
1927
+ */
1928
+ password?: string;
1929
+ /**
1930
+ * User email address
1931
+ */
1932
+ email?: string;
1933
+ /**
1934
+ * User first name
1935
+ */
1936
+ first_name?: string;
1937
+ /**
1938
+ * User last name
1939
+ */
1940
+ last_name?: string;
1941
+ };
1942
+ path?: never;
1943
+ query?: never;
1944
+ url: '/users';
1945
+ };
1946
+ export type CreateUserResponses = {
1947
+ /**
1948
+ * Successfully created. Returns created user details.
1949
+ */
1950
+ 200: User;
1951
+ };
1952
+ export type CreateUserResponse = CreateUserResponses[keyof CreateUserResponses];
1953
+ export type DeleteUserData = {
1954
+ body?: never;
1955
+ path: {
1956
+ /**
1957
+ * Unique user identifier. UUID v4 string in canonical form
1958
+ */
1959
+ user_id: string;
1960
+ };
1961
+ query?: never;
1962
+ url: '/users/{user_id}';
1963
+ };
1964
+ export type DeleteUserErrors = {
1965
+ /**
1966
+ * Deleting own user is not allowed. Delete your organization instead.
1967
+ */
1968
+ 400: unknown;
1969
+ /**
1970
+ * Not authenticated
1971
+ */
1972
+ 401: unknown;
1973
+ };
1974
+ export type DeleteUserResponses = {
1975
+ /**
1976
+ * User profile information
1977
+ */
1978
+ 200: User;
1979
+ };
1980
+ export type DeleteUserResponse = DeleteUserResponses[keyof DeleteUserResponses];
1981
+ export type GetUserData = {
1982
+ body?: never;
1983
+ path: {
1984
+ /**
1985
+ * Unique user identifier. UUID v4 string in canonical form
1986
+ */
1987
+ user_id: string;
1988
+ };
1989
+ query?: never;
1990
+ url: '/users/{user_id}';
1991
+ };
1992
+ export type GetUserErrors = {
1993
+ /**
1994
+ * Not authenticated
1995
+ */
1996
+ 401: unknown;
1997
+ };
1998
+ export type GetUserResponses = {
1999
+ /**
2000
+ * User profile information
2001
+ */
2002
+ 200: User;
2003
+ };
2004
+ export type GetUserResponse = GetUserResponses[keyof GetUserResponses];
2005
+ export type UpdateUserData = {
2006
+ body: {
2007
+ /**
2008
+ * User email address
2009
+ */
2010
+ email?: string;
2011
+ /**
2012
+ * User first name
2013
+ */
2014
+ first_name?: string;
2015
+ /**
2016
+ * User last name
2017
+ */
2018
+ last_name?: string;
2019
+ /**
2020
+ * User role
2021
+ */
2022
+ role?: 'Administrator' | 'User';
2023
+ /**
2024
+ * Set user status. Inactive users cannot log in and manage organization resources.
2025
+ */
2026
+ status?: 'active' | 'inactive';
2027
+ };
2028
+ path: {
2029
+ /**
2030
+ * Unique user identifier. UUID v4 string in canonical form
2031
+ */
2032
+ user_id: string;
2033
+ };
2034
+ query?: never;
2035
+ url: '/users/{user_id}';
2036
+ };
2037
+ export type UpdateUserResponses = {
2038
+ /**
2039
+ * Successfully created. Returns created user details.
2040
+ */
2041
+ 200: User;
2042
+ };
2043
+ export type UpdateUserResponse = UpdateUserResponses[keyof UpdateUserResponses];
2044
+ export type DeleteClusterPermissionsData = {
2045
+ body?: never;
2046
+ path: {
2047
+ /**
2048
+ * Unique user identifier. UUID v4 string in canonical form
2049
+ */
2050
+ user_id: string;
2051
+ /**
2052
+ * Unique cluster identifier. UUID v4 string in canonical form
2053
+ */
2054
+ cluster_id: string;
2055
+ };
2056
+ query?: never;
2057
+ url: '/users/{user_id}/clusters/{cluster_id}';
2058
+ };
2059
+ export type DeleteClusterPermissionsResponses = {
2060
+ /**
2061
+ * Successfully removed user from the cluster. Returns updated user details.
2062
+ */
2063
+ 200: User;
2064
+ };
2065
+ export type DeleteClusterPermissionsResponse = DeleteClusterPermissionsResponses[keyof DeleteClusterPermissionsResponses];
2066
+ export type SetClusterPermissionsData = {
2067
+ body: {
2068
+ /**
2069
+ * Level of permissions for the user to access the cluster
2070
+ */
2071
+ permissions?: 'readwrite' | 'readonly';
2072
+ };
2073
+ path: {
2074
+ /**
2075
+ * Unique user identifier. UUID v4 string in canonical form
2076
+ */
2077
+ user_id: string;
2078
+ /**
2079
+ * Unique cluster identifier. UUID v4 string in canonical form
2080
+ */
2081
+ cluster_id: string;
2082
+ };
2083
+ query?: never;
2084
+ url: '/users/{user_id}/clusters/{cluster_id}';
2085
+ };
2086
+ export type SetClusterPermissionsResponses = {
2087
+ /**
2088
+ * Successfully created. Returns created user details.
2089
+ */
2090
+ 200: User;
2091
+ };
2092
+ export type SetClusterPermissionsResponse = SetClusterPermissionsResponses[keyof SetClusterPermissionsResponses];
2093
+ //# sourceMappingURL=types.gen.d.ts.map