mountpoint-s3-fs 0.9.3

Mountpoint S3 main library
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
//! DO NOT EDIT THIS FILE DIRECTLY
//! This file is auto-generated by `../../scripts/network_performance.sh`
//!
//! Generated from AWS EC2 API
//! Regions: us-east-1 us-east-2 us-west-2
//! Timestamp: 2025-04-17T08:33:09Z

/// Instance throughput for an EC2 instance type, if known.
pub fn get_instance_throughput(instance_type: &str) -> Option<f64> {
    match instance_type {
        "a1.2xlarge" => Some(10.00),
        "a1.4xlarge" => Some(10.00),
        "a1.large" => Some(10.00),
        "a1.medium" => Some(10.00),
        "a1.metal" => Some(10.00),
        "a1.xlarge" => Some(10.00),
        "c1.medium" => None,
        "c1.xlarge" => None,
        "c3.2xlarge" => None,
        "c3.4xlarge" => None,
        "c3.8xlarge" => Some(10.00),
        "c3.large" => None,
        "c3.xlarge" => None,
        "c4.2xlarge" => None,
        "c4.4xlarge" => None,
        "c4.8xlarge" => Some(10.00),
        "c4.large" => None,
        "c4.xlarge" => None,
        "c5.12xlarge" => Some(12.00),
        "c5.18xlarge" => Some(25.00),
        "c5.24xlarge" => Some(25.00),
        "c5.2xlarge" => Some(10.00),
        "c5.4xlarge" => Some(10.00),
        "c5.9xlarge" => Some(12.00),
        "c5.large" => Some(10.00),
        "c5.metal" => Some(25.00),
        "c5.xlarge" => Some(10.00),
        "c5a.12xlarge" => Some(12.00),
        "c5a.16xlarge" => Some(20.00),
        "c5a.24xlarge" => Some(20.00),
        "c5a.2xlarge" => Some(10.00),
        "c5a.4xlarge" => Some(10.00),
        "c5a.8xlarge" => Some(10.00),
        "c5a.large" => Some(10.00),
        "c5a.xlarge" => Some(10.00),
        "c5ad.12xlarge" => Some(12.00),
        "c5ad.16xlarge" => Some(20.00),
        "c5ad.24xlarge" => Some(20.00),
        "c5ad.2xlarge" => Some(10.00),
        "c5ad.4xlarge" => Some(10.00),
        "c5ad.8xlarge" => Some(10.00),
        "c5ad.large" => Some(10.00),
        "c5ad.xlarge" => Some(10.00),
        "c5d.12xlarge" => Some(12.00),
        "c5d.18xlarge" => Some(25.00),
        "c5d.24xlarge" => Some(25.00),
        "c5d.2xlarge" => Some(10.00),
        "c5d.4xlarge" => Some(10.00),
        "c5d.9xlarge" => Some(12.00),
        "c5d.large" => Some(10.00),
        "c5d.metal" => Some(25.00),
        "c5d.xlarge" => Some(10.00),
        "c5n.18xlarge" => Some(100.00),
        "c5n.2xlarge" => Some(25.00),
        "c5n.4xlarge" => Some(25.00),
        "c5n.9xlarge" => Some(50.00),
        "c5n.large" => Some(25.00),
        "c5n.metal" => Some(100.00),
        "c5n.xlarge" => Some(25.00),
        "c6a.12xlarge" => Some(18.75),
        "c6a.16xlarge" => Some(25.00),
        "c6a.24xlarge" => Some(37.50),
        "c6a.2xlarge" => Some(12.50),
        "c6a.32xlarge" => Some(50.00),
        "c6a.48xlarge" => Some(50.00),
        "c6a.4xlarge" => Some(12.50),
        "c6a.8xlarge" => Some(12.50),
        "c6a.large" => Some(12.50),
        "c6a.metal" => Some(50.00),
        "c6a.xlarge" => Some(12.50),
        "c6g.12xlarge" => Some(20.00),
        "c6g.16xlarge" => Some(25.00),
        "c6g.2xlarge" => Some(10.00),
        "c6g.4xlarge" => Some(10.00),
        "c6g.8xlarge" => Some(12.00),
        "c6g.large" => Some(10.00),
        "c6g.medium" => Some(10.00),
        "c6g.metal" => Some(25.00),
        "c6g.xlarge" => Some(10.00),
        "c6gd.12xlarge" => Some(20.00),
        "c6gd.16xlarge" => Some(25.00),
        "c6gd.2xlarge" => Some(10.00),
        "c6gd.4xlarge" => Some(10.00),
        "c6gd.8xlarge" => Some(12.00),
        "c6gd.large" => Some(10.00),
        "c6gd.medium" => Some(10.00),
        "c6gd.metal" => Some(25.00),
        "c6gd.xlarge" => Some(10.00),
        "c6gn.12xlarge" => Some(75.00),
        "c6gn.16xlarge" => Some(100.00),
        "c6gn.2xlarge" => Some(25.00),
        "c6gn.4xlarge" => Some(25.00),
        "c6gn.8xlarge" => Some(50.00),
        "c6gn.large" => Some(25.00),
        "c6gn.medium" => Some(16.00),
        "c6gn.xlarge" => Some(25.00),
        "c6i.12xlarge" => Some(18.75),
        "c6i.16xlarge" => Some(25.00),
        "c6i.24xlarge" => Some(37.50),
        "c6i.2xlarge" => Some(12.50),
        "c6i.32xlarge" => Some(50.00),
        "c6i.4xlarge" => Some(12.50),
        "c6i.8xlarge" => Some(12.50),
        "c6i.large" => Some(12.50),
        "c6i.metal" => Some(50.00),
        "c6i.xlarge" => Some(12.50),
        "c6id.12xlarge" => Some(18.75),
        "c6id.16xlarge" => Some(25.00),
        "c6id.24xlarge" => Some(37.50),
        "c6id.2xlarge" => Some(12.50),
        "c6id.32xlarge" => Some(50.00),
        "c6id.4xlarge" => Some(12.50),
        "c6id.8xlarge" => Some(12.50),
        "c6id.large" => Some(12.50),
        "c6id.metal" => Some(50.00),
        "c6id.xlarge" => Some(12.50),
        "c6in.12xlarge" => Some(75.00),
        "c6in.16xlarge" => Some(100.00),
        "c6in.24xlarge" => Some(150.00),
        "c6in.2xlarge" => Some(40.00),
        "c6in.32xlarge" => Some(200.00),
        "c6in.4xlarge" => Some(50.00),
        "c6in.8xlarge" => Some(50.00),
        "c6in.large" => Some(25.00),
        "c6in.metal" => Some(200.00),
        "c6in.xlarge" => Some(30.00),
        "c7a.12xlarge" => Some(18.75),
        "c7a.16xlarge" => Some(25.00),
        "c7a.24xlarge" => Some(37.50),
        "c7a.2xlarge" => Some(12.50),
        "c7a.32xlarge" => Some(50.00),
        "c7a.48xlarge" => Some(50.00),
        "c7a.4xlarge" => Some(12.50),
        "c7a.8xlarge" => Some(12.50),
        "c7a.large" => Some(12.50),
        "c7a.medium" => Some(12.50),
        "c7a.metal-48xl" => Some(50.00),
        "c7a.xlarge" => Some(12.50),
        "c7g.12xlarge" => Some(22.50),
        "c7g.16xlarge" => Some(30.00),
        "c7g.2xlarge" => Some(15.00),
        "c7g.4xlarge" => Some(15.00),
        "c7g.8xlarge" => Some(15.00),
        "c7g.large" => Some(12.50),
        "c7g.medium" => Some(12.50),
        "c7g.metal" => Some(30.00),
        "c7g.xlarge" => Some(12.50),
        "c7gd.12xlarge" => Some(22.50),
        "c7gd.16xlarge" => Some(30.00),
        "c7gd.2xlarge" => Some(15.00),
        "c7gd.4xlarge" => Some(15.00),
        "c7gd.8xlarge" => Some(15.00),
        "c7gd.large" => Some(12.50),
        "c7gd.medium" => Some(12.50),
        "c7gd.metal" => Some(30.00),
        "c7gd.xlarge" => Some(12.50),
        "c7gn.12xlarge" => Some(150.00),
        "c7gn.16xlarge" => Some(200.00),
        "c7gn.2xlarge" => Some(50.00),
        "c7gn.4xlarge" => Some(50.00),
        "c7gn.8xlarge" => Some(100.00),
        "c7gn.large" => Some(30.00),
        "c7gn.medium" => Some(25.00),
        "c7gn.metal" => Some(200.00),
        "c7gn.xlarge" => Some(40.00),
        "c7i-flex.12xlarge" => Some(18.75),
        "c7i-flex.16xlarge" => Some(25.00),
        "c7i-flex.2xlarge" => Some(12.50),
        "c7i-flex.4xlarge" => Some(12.50),
        "c7i-flex.8xlarge" => Some(12.50),
        "c7i-flex.large" => Some(12.50),
        "c7i-flex.xlarge" => Some(12.50),
        "c7i.12xlarge" => Some(18.75),
        "c7i.16xlarge" => Some(25.00),
        "c7i.24xlarge" => Some(37.50),
        "c7i.2xlarge" => Some(12.50),
        "c7i.48xlarge" => Some(50.00),
        "c7i.4xlarge" => Some(12.50),
        "c7i.8xlarge" => Some(12.50),
        "c7i.large" => Some(12.50),
        "c7i.metal-24xl" => Some(37.50),
        "c7i.metal-48xl" => Some(50.00),
        "c7i.xlarge" => Some(12.50),
        "c8g.12xlarge" => Some(22.50),
        "c8g.16xlarge" => Some(30.00),
        "c8g.24xlarge" => Some(40.00),
        "c8g.2xlarge" => Some(15.00),
        "c8g.48xlarge" => Some(50.00),
        "c8g.4xlarge" => Some(15.00),
        "c8g.8xlarge" => Some(15.00),
        "c8g.large" => Some(12.50),
        "c8g.medium" => Some(12.50),
        "c8g.metal-24xl" => Some(40.00),
        "c8g.metal-48xl" => Some(50.00),
        "c8g.xlarge" => Some(12.50),
        "d2.2xlarge" => None,
        "d2.4xlarge" => None,
        "d2.8xlarge" => Some(10.00),
        "d2.xlarge" => None,
        "d3.2xlarge" => Some(15.00),
        "d3.4xlarge" => Some(15.00),
        "d3.8xlarge" => Some(25.00),
        "d3.xlarge" => Some(15.00),
        "d3en.12xlarge" => Some(75.00),
        "d3en.2xlarge" => Some(25.00),
        "d3en.4xlarge" => Some(25.00),
        "d3en.6xlarge" => Some(40.00),
        "d3en.8xlarge" => Some(50.00),
        "d3en.xlarge" => Some(25.00),
        "dl1.24xlarge" => Some(400.00),
        "dl2q.24xlarge" => Some(100.00),
        "f1.16xlarge" => Some(25.00),
        "f1.2xlarge" => Some(10.00),
        "f1.4xlarge" => Some(10.00),
        "f2.12xlarge" => Some(25.00),
        "f2.48xlarge" => Some(100.00),
        "f2.6xlarge" => Some(12.50),
        "g4ad.16xlarge" => Some(25.00),
        "g4ad.2xlarge" => Some(10.00),
        "g4ad.4xlarge" => Some(10.00),
        "g4ad.8xlarge" => Some(15.00),
        "g4ad.xlarge" => Some(10.00),
        "g4dn.12xlarge" => Some(50.00),
        "g4dn.16xlarge" => Some(50.00),
        "g4dn.2xlarge" => Some(25.00),
        "g4dn.4xlarge" => Some(25.00),
        "g4dn.8xlarge" => Some(50.00),
        "g4dn.metal" => Some(100.00),
        "g4dn.xlarge" => Some(25.00),
        "g5.12xlarge" => Some(40.00),
        "g5.16xlarge" => Some(25.00),
        "g5.24xlarge" => Some(50.00),
        "g5.2xlarge" => Some(10.00),
        "g5.48xlarge" => Some(100.00),
        "g5.4xlarge" => Some(25.00),
        "g5.8xlarge" => Some(25.00),
        "g5.xlarge" => Some(10.00),
        "g5g.16xlarge" => Some(25.00),
        "g5g.2xlarge" => Some(10.00),
        "g5g.4xlarge" => Some(10.00),
        "g5g.8xlarge" => Some(12.00),
        "g5g.metal" => Some(25.00),
        "g5g.xlarge" => Some(10.00),
        "g6.12xlarge" => Some(40.00),
        "g6.16xlarge" => Some(25.00),
        "g6.24xlarge" => Some(50.00),
        "g6.2xlarge" => Some(10.00),
        "g6.48xlarge" => Some(100.00),
        "g6.4xlarge" => Some(25.00),
        "g6.8xlarge" => Some(25.00),
        "g6.xlarge" => Some(10.00),
        "g6e.12xlarge" => Some(100.00),
        "g6e.16xlarge" => Some(35.00),
        "g6e.24xlarge" => Some(200.00),
        "g6e.2xlarge" => Some(20.00),
        "g6e.48xlarge" => Some(400.00),
        "g6e.4xlarge" => Some(20.00),
        "g6e.8xlarge" => Some(25.00),
        "g6e.xlarge" => Some(20.00),
        "gr6.4xlarge" => Some(25.00),
        "gr6.8xlarge" => Some(25.00),
        "h1.16xlarge" => Some(25.00),
        "h1.2xlarge" => Some(10.00),
        "h1.4xlarge" => Some(10.00),
        "h1.8xlarge" => Some(10.00),
        "hpc6a.48xlarge" => Some(100.00),
        "hpc6id.32xlarge" => Some(200.00),
        "hpc7a.12xlarge" => Some(300.00),
        "hpc7a.24xlarge" => Some(300.00),
        "hpc7a.48xlarge" => Some(300.00),
        "hpc7a.96xlarge" => Some(300.00),
        "hpc7g.16xlarge" => Some(200.00),
        "hpc7g.4xlarge" => Some(200.00),
        "hpc7g.8xlarge" => Some(200.00),
        "i2.2xlarge" => None,
        "i2.4xlarge" => None,
        "i2.8xlarge" => Some(10.00),
        "i2.xlarge" => None,
        "i3.16xlarge" => Some(25.00),
        "i3.2xlarge" => Some(10.00),
        "i3.4xlarge" => Some(10.00),
        "i3.8xlarge" => Some(10.00),
        "i3.large" => Some(10.00),
        "i3.metal" => Some(25.00),
        "i3.xlarge" => Some(10.00),
        "i3en.12xlarge" => Some(50.00),
        "i3en.24xlarge" => Some(100.00),
        "i3en.2xlarge" => Some(25.00),
        "i3en.3xlarge" => Some(25.00),
        "i3en.6xlarge" => Some(25.00),
        "i3en.large" => Some(25.00),
        "i3en.metal" => Some(100.00),
        "i3en.xlarge" => Some(25.00),
        "i4g.16xlarge" => Some(37.50),
        "i4g.2xlarge" => Some(12.00),
        "i4g.4xlarge" => Some(25.00),
        "i4g.8xlarge" => Some(18.75),
        "i4g.large" => Some(10.00),
        "i4g.xlarge" => Some(10.00),
        "i4i.12xlarge" => Some(28.12),
        "i4i.16xlarge" => Some(37.50),
        "i4i.24xlarge" => Some(56.25),
        "i4i.2xlarge" => Some(12.00),
        "i4i.32xlarge" => Some(75.00),
        "i4i.4xlarge" => Some(25.00),
        "i4i.8xlarge" => Some(18.75),
        "i4i.large" => Some(10.00),
        "i4i.metal" => Some(75.00),
        "i4i.xlarge" => Some(10.00),
        "i7ie.12xlarge" => Some(50.00),
        "i7ie.18xlarge" => Some(75.00),
        "i7ie.24xlarge" => Some(100.00),
        "i7ie.2xlarge" => Some(25.00),
        "i7ie.3xlarge" => Some(25.00),
        "i7ie.48xlarge" => Some(100.00),
        "i7ie.6xlarge" => Some(25.00),
        "i7ie.large" => Some(25.00),
        "i7ie.metal-24xl" => Some(100.00),
        "i7ie.metal-48xl" => Some(100.00),
        "i7ie.xlarge" => Some(25.00),
        "i8g.12xlarge" => Some(28.12),
        "i8g.16xlarge" => Some(37.50),
        "i8g.24xlarge" => Some(56.25),
        "i8g.2xlarge" => Some(12.00),
        "i8g.48xlarge" => Some(100.00),
        "i8g.4xlarge" => Some(25.00),
        "i8g.8xlarge" => Some(25.00),
        "i8g.large" => Some(10.00),
        "i8g.metal-24xl" => Some(56.25),
        "i8g.xlarge" => Some(10.00),
        "im4gn.16xlarge" => Some(100.00),
        "im4gn.2xlarge" => Some(25.00),
        "im4gn.4xlarge" => Some(25.00),
        "im4gn.8xlarge" => Some(50.00),
        "im4gn.large" => Some(25.00),
        "im4gn.xlarge" => Some(25.00),
        "inf1.24xlarge" => Some(100.00),
        "inf1.2xlarge" => Some(25.00),
        "inf1.6xlarge" => Some(25.00),
        "inf1.xlarge" => Some(25.00),
        "inf2.24xlarge" => Some(50.00),
        "inf2.48xlarge" => Some(100.00),
        "inf2.8xlarge" => Some(25.00),
        "inf2.xlarge" => Some(15.00),
        "is4gen.2xlarge" => Some(25.00),
        "is4gen.4xlarge" => Some(25.00),
        "is4gen.8xlarge" => Some(50.00),
        "is4gen.large" => Some(25.00),
        "is4gen.medium" => Some(25.00),
        "is4gen.xlarge" => Some(25.00),
        "m1.large" => None,
        "m1.medium" => None,
        "m1.small" => None,
        "m1.xlarge" => None,
        "m2.2xlarge" => None,
        "m2.4xlarge" => None,
        "m2.xlarge" => None,
        "m3.2xlarge" => None,
        "m3.large" => None,
        "m3.medium" => None,
        "m3.xlarge" => None,
        "m4.10xlarge" => Some(10.00),
        "m4.16xlarge" => Some(25.00),
        "m4.2xlarge" => None,
        "m4.4xlarge" => None,
        "m4.large" => None,
        "m4.xlarge" => None,
        "m5.12xlarge" => Some(12.00),
        "m5.16xlarge" => Some(20.00),
        "m5.24xlarge" => Some(25.00),
        "m5.2xlarge" => Some(10.00),
        "m5.4xlarge" => Some(10.00),
        "m5.8xlarge" => Some(10.00),
        "m5.large" => Some(10.00),
        "m5.metal" => Some(25.00),
        "m5.xlarge" => Some(10.00),
        "m5a.12xlarge" => Some(10.00),
        "m5a.16xlarge" => Some(12.00),
        "m5a.24xlarge" => Some(20.00),
        "m5a.2xlarge" => Some(10.00),
        "m5a.4xlarge" => Some(10.00),
        "m5a.8xlarge" => Some(10.00),
        "m5a.large" => Some(10.00),
        "m5a.xlarge" => Some(10.00),
        "m5ad.12xlarge" => Some(10.00),
        "m5ad.16xlarge" => Some(12.00),
        "m5ad.24xlarge" => Some(20.00),
        "m5ad.2xlarge" => Some(10.00),
        "m5ad.4xlarge" => Some(10.00),
        "m5ad.8xlarge" => Some(10.00),
        "m5ad.large" => Some(10.00),
        "m5ad.xlarge" => Some(10.00),
        "m5d.12xlarge" => Some(12.00),
        "m5d.16xlarge" => Some(20.00),
        "m5d.24xlarge" => Some(25.00),
        "m5d.2xlarge" => Some(10.00),
        "m5d.4xlarge" => Some(10.00),
        "m5d.8xlarge" => Some(10.00),
        "m5d.large" => Some(10.00),
        "m5d.metal" => Some(25.00),
        "m5d.xlarge" => Some(10.00),
        "m5dn.12xlarge" => Some(50.00),
        "m5dn.16xlarge" => Some(75.00),
        "m5dn.24xlarge" => Some(100.00),
        "m5dn.2xlarge" => Some(25.00),
        "m5dn.4xlarge" => Some(25.00),
        "m5dn.8xlarge" => Some(25.00),
        "m5dn.large" => Some(25.00),
        "m5dn.metal" => Some(100.00),
        "m5dn.xlarge" => Some(25.00),
        "m5n.12xlarge" => Some(50.00),
        "m5n.16xlarge" => Some(75.00),
        "m5n.24xlarge" => Some(100.00),
        "m5n.2xlarge" => Some(25.00),
        "m5n.4xlarge" => Some(25.00),
        "m5n.8xlarge" => Some(25.00),
        "m5n.large" => Some(25.00),
        "m5n.metal" => Some(100.00),
        "m5n.xlarge" => Some(25.00),
        "m5zn.12xlarge" => Some(100.00),
        "m5zn.2xlarge" => Some(25.00),
        "m5zn.3xlarge" => Some(25.00),
        "m5zn.6xlarge" => Some(50.00),
        "m5zn.large" => Some(25.00),
        "m5zn.metal" => Some(100.00),
        "m5zn.xlarge" => Some(25.00),
        "m6a.12xlarge" => Some(18.75),
        "m6a.16xlarge" => Some(25.00),
        "m6a.24xlarge" => Some(37.50),
        "m6a.2xlarge" => Some(12.50),
        "m6a.32xlarge" => Some(50.00),
        "m6a.48xlarge" => Some(50.00),
        "m6a.4xlarge" => Some(12.50),
        "m6a.8xlarge" => Some(12.50),
        "m6a.large" => Some(12.50),
        "m6a.metal" => Some(50.00),
        "m6a.xlarge" => Some(12.50),
        "m6g.12xlarge" => Some(20.00),
        "m6g.16xlarge" => Some(25.00),
        "m6g.2xlarge" => Some(10.00),
        "m6g.4xlarge" => Some(10.00),
        "m6g.8xlarge" => Some(12.00),
        "m6g.large" => Some(10.00),
        "m6g.medium" => Some(10.00),
        "m6g.metal" => Some(25.00),
        "m6g.xlarge" => Some(10.00),
        "m6gd.12xlarge" => Some(20.00),
        "m6gd.16xlarge" => Some(25.00),
        "m6gd.2xlarge" => Some(10.00),
        "m6gd.4xlarge" => Some(10.00),
        "m6gd.8xlarge" => Some(12.00),
        "m6gd.large" => Some(10.00),
        "m6gd.medium" => Some(10.00),
        "m6gd.metal" => Some(25.00),
        "m6gd.xlarge" => Some(10.00),
        "m6i.12xlarge" => Some(18.75),
        "m6i.16xlarge" => Some(25.00),
        "m6i.24xlarge" => Some(37.50),
        "m6i.2xlarge" => Some(12.50),
        "m6i.32xlarge" => Some(50.00),
        "m6i.4xlarge" => Some(12.50),
        "m6i.8xlarge" => Some(12.50),
        "m6i.large" => Some(12.50),
        "m6i.metal" => Some(50.00),
        "m6i.xlarge" => Some(12.50),
        "m6id.12xlarge" => Some(18.75),
        "m6id.16xlarge" => Some(25.00),
        "m6id.24xlarge" => Some(37.50),
        "m6id.2xlarge" => Some(12.50),
        "m6id.32xlarge" => Some(50.00),
        "m6id.4xlarge" => Some(12.50),
        "m6id.8xlarge" => Some(12.50),
        "m6id.large" => Some(12.50),
        "m6id.metal" => Some(50.00),
        "m6id.xlarge" => Some(12.50),
        "m6idn.12xlarge" => Some(75.00),
        "m6idn.16xlarge" => Some(100.00),
        "m6idn.24xlarge" => Some(150.00),
        "m6idn.2xlarge" => Some(40.00),
        "m6idn.32xlarge" => Some(200.00),
        "m6idn.4xlarge" => Some(50.00),
        "m6idn.8xlarge" => Some(50.00),
        "m6idn.large" => Some(25.00),
        "m6idn.metal" => Some(200.00),
        "m6idn.xlarge" => Some(30.00),
        "m6in.12xlarge" => Some(75.00),
        "m6in.16xlarge" => Some(100.00),
        "m6in.24xlarge" => Some(150.00),
        "m6in.2xlarge" => Some(40.00),
        "m6in.32xlarge" => Some(200.00),
        "m6in.4xlarge" => Some(50.00),
        "m6in.8xlarge" => Some(50.00),
        "m6in.large" => Some(25.00),
        "m6in.metal" => Some(200.00),
        "m6in.xlarge" => Some(30.00),
        "m7a.12xlarge" => Some(18.75),
        "m7a.16xlarge" => Some(25.00),
        "m7a.24xlarge" => Some(37.50),
        "m7a.2xlarge" => Some(12.50),
        "m7a.32xlarge" => Some(50.00),
        "m7a.48xlarge" => Some(50.00),
        "m7a.4xlarge" => Some(12.50),
        "m7a.8xlarge" => Some(12.50),
        "m7a.large" => Some(12.50),
        "m7a.medium" => Some(12.50),
        "m7a.metal-48xl" => Some(50.00),
        "m7a.xlarge" => Some(12.50),
        "m7g.12xlarge" => Some(22.50),
        "m7g.16xlarge" => Some(30.00),
        "m7g.2xlarge" => Some(15.00),
        "m7g.4xlarge" => Some(15.00),
        "m7g.8xlarge" => Some(15.00),
        "m7g.large" => Some(12.50),
        "m7g.medium" => Some(12.50),
        "m7g.metal" => Some(30.00),
        "m7g.xlarge" => Some(12.50),
        "m7gd.12xlarge" => Some(22.50),
        "m7gd.16xlarge" => Some(30.00),
        "m7gd.2xlarge" => Some(15.00),
        "m7gd.4xlarge" => Some(15.00),
        "m7gd.8xlarge" => Some(15.00),
        "m7gd.large" => Some(12.50),
        "m7gd.medium" => Some(12.50),
        "m7gd.metal" => Some(30.00),
        "m7gd.xlarge" => Some(12.50),
        "m7i-flex.12xlarge" => Some(18.75),
        "m7i-flex.16xlarge" => Some(25.00),
        "m7i-flex.2xlarge" => Some(12.50),
        "m7i-flex.4xlarge" => Some(12.50),
        "m7i-flex.8xlarge" => Some(12.50),
        "m7i-flex.large" => Some(12.50),
        "m7i-flex.xlarge" => Some(12.50),
        "m7i.12xlarge" => Some(18.75),
        "m7i.16xlarge" => Some(25.00),
        "m7i.24xlarge" => Some(37.50),
        "m7i.2xlarge" => Some(12.50),
        "m7i.48xlarge" => Some(50.00),
        "m7i.4xlarge" => Some(12.50),
        "m7i.8xlarge" => Some(12.50),
        "m7i.large" => Some(12.50),
        "m7i.metal-24xl" => Some(37.50),
        "m7i.metal-48xl" => Some(50.00),
        "m7i.xlarge" => Some(12.50),
        "m8g.12xlarge" => Some(22.50),
        "m8g.16xlarge" => Some(30.00),
        "m8g.24xlarge" => Some(40.00),
        "m8g.2xlarge" => Some(15.00),
        "m8g.48xlarge" => Some(50.00),
        "m8g.4xlarge" => Some(15.00),
        "m8g.8xlarge" => Some(15.00),
        "m8g.large" => Some(12.50),
        "m8g.medium" => Some(12.50),
        "m8g.metal-24xl" => Some(40.00),
        "m8g.metal-48xl" => Some(50.00),
        "m8g.xlarge" => Some(12.50),
        "mac1.metal" => Some(25.00),
        "mac2-m1ultra.metal" => Some(10.00),
        "mac2-m2.metal" => Some(10.00),
        "mac2-m2pro.metal" => Some(10.00),
        "mac2.metal" => Some(10.00),
        "p3.16xlarge" => Some(25.00),
        "p3.2xlarge" => Some(10.00),
        "p3.8xlarge" => Some(10.00),
        "p3dn.24xlarge" => Some(100.00),
        "p4d.24xlarge" => Some(400.00),
        "p5.48xlarge" => Some(3200.00),
        "p5e.48xlarge" => Some(3200.00),
        "p5en.48xlarge" => Some(3200.00),
        "r3.2xlarge" => None,
        "r3.4xlarge" => None,
        "r3.8xlarge" => Some(10.00),
        "r3.large" => None,
        "r3.xlarge" => None,
        "r4.16xlarge" => Some(25.00),
        "r4.2xlarge" => Some(10.00),
        "r4.4xlarge" => Some(10.00),
        "r4.8xlarge" => Some(10.00),
        "r4.large" => Some(10.00),
        "r4.xlarge" => Some(10.00),
        "r5.12xlarge" => Some(12.00),
        "r5.16xlarge" => Some(20.00),
        "r5.24xlarge" => Some(25.00),
        "r5.2xlarge" => Some(10.00),
        "r5.4xlarge" => Some(10.00),
        "r5.8xlarge" => Some(10.00),
        "r5.large" => Some(10.00),
        "r5.metal" => Some(25.00),
        "r5.xlarge" => Some(10.00),
        "r5a.12xlarge" => Some(10.00),
        "r5a.16xlarge" => Some(12.00),
        "r5a.24xlarge" => Some(20.00),
        "r5a.2xlarge" => Some(10.00),
        "r5a.4xlarge" => Some(10.00),
        "r5a.8xlarge" => Some(10.00),
        "r5a.large" => Some(10.00),
        "r5a.xlarge" => Some(10.00),
        "r5ad.12xlarge" => Some(10.00),
        "r5ad.16xlarge" => Some(12.00),
        "r5ad.24xlarge" => Some(20.00),
        "r5ad.2xlarge" => Some(10.00),
        "r5ad.4xlarge" => Some(10.00),
        "r5ad.8xlarge" => Some(10.00),
        "r5ad.large" => Some(10.00),
        "r5ad.xlarge" => Some(10.00),
        "r5b.12xlarge" => Some(12.00),
        "r5b.16xlarge" => Some(20.00),
        "r5b.24xlarge" => Some(25.00),
        "r5b.2xlarge" => Some(10.00),
        "r5b.4xlarge" => Some(10.00),
        "r5b.8xlarge" => Some(10.00),
        "r5b.large" => Some(10.00),
        "r5b.metal" => Some(25.00),
        "r5b.xlarge" => Some(10.00),
        "r5d.12xlarge" => Some(12.00),
        "r5d.16xlarge" => Some(20.00),
        "r5d.24xlarge" => Some(25.00),
        "r5d.2xlarge" => Some(10.00),
        "r5d.4xlarge" => Some(10.00),
        "r5d.8xlarge" => Some(10.00),
        "r5d.large" => Some(10.00),
        "r5d.metal" => Some(25.00),
        "r5d.xlarge" => Some(10.00),
        "r5dn.12xlarge" => Some(50.00),
        "r5dn.16xlarge" => Some(75.00),
        "r5dn.24xlarge" => Some(100.00),
        "r5dn.2xlarge" => Some(25.00),
        "r5dn.4xlarge" => Some(25.00),
        "r5dn.8xlarge" => Some(25.00),
        "r5dn.large" => Some(25.00),
        "r5dn.metal" => Some(100.00),
        "r5dn.xlarge" => Some(25.00),
        "r5n.12xlarge" => Some(50.00),
        "r5n.16xlarge" => Some(75.00),
        "r5n.24xlarge" => Some(100.00),
        "r5n.2xlarge" => Some(25.00),
        "r5n.4xlarge" => Some(25.00),
        "r5n.8xlarge" => Some(25.00),
        "r5n.large" => Some(25.00),
        "r5n.metal" => Some(100.00),
        "r5n.xlarge" => Some(25.00),
        "r6a.12xlarge" => Some(18.75),
        "r6a.16xlarge" => Some(25.00),
        "r6a.24xlarge" => Some(37.50),
        "r6a.2xlarge" => Some(12.50),
        "r6a.32xlarge" => Some(50.00),
        "r6a.48xlarge" => Some(50.00),
        "r6a.4xlarge" => Some(12.50),
        "r6a.8xlarge" => Some(12.50),
        "r6a.large" => Some(12.50),
        "r6a.metal" => Some(50.00),
        "r6a.xlarge" => Some(12.50),
        "r6g.12xlarge" => Some(20.00),
        "r6g.16xlarge" => Some(25.00),
        "r6g.2xlarge" => Some(10.00),
        "r6g.4xlarge" => Some(10.00),
        "r6g.8xlarge" => Some(12.00),
        "r6g.large" => Some(10.00),
        "r6g.medium" => Some(10.00),
        "r6g.metal" => Some(25.00),
        "r6g.xlarge" => Some(10.00),
        "r6gd.12xlarge" => Some(20.00),
        "r6gd.16xlarge" => Some(25.00),
        "r6gd.2xlarge" => Some(10.00),
        "r6gd.4xlarge" => Some(10.00),
        "r6gd.8xlarge" => Some(12.00),
        "r6gd.large" => Some(10.00),
        "r6gd.medium" => Some(10.00),
        "r6gd.metal" => Some(25.00),
        "r6gd.xlarge" => Some(10.00),
        "r6i.12xlarge" => Some(18.75),
        "r6i.16xlarge" => Some(25.00),
        "r6i.24xlarge" => Some(37.50),
        "r6i.2xlarge" => Some(12.50),
        "r6i.32xlarge" => Some(50.00),
        "r6i.4xlarge" => Some(12.50),
        "r6i.8xlarge" => Some(12.50),
        "r6i.large" => Some(12.50),
        "r6i.metal" => Some(50.00),
        "r6i.xlarge" => Some(12.50),
        "r6id.12xlarge" => Some(18.75),
        "r6id.16xlarge" => Some(25.00),
        "r6id.24xlarge" => Some(37.50),
        "r6id.2xlarge" => Some(12.50),
        "r6id.32xlarge" => Some(50.00),
        "r6id.4xlarge" => Some(12.50),
        "r6id.8xlarge" => Some(12.50),
        "r6id.large" => Some(12.50),
        "r6id.metal" => Some(50.00),
        "r6id.xlarge" => Some(12.50),
        "r6idn.12xlarge" => Some(75.00),
        "r6idn.16xlarge" => Some(100.00),
        "r6idn.24xlarge" => Some(150.00),
        "r6idn.2xlarge" => Some(40.00),
        "r6idn.32xlarge" => Some(200.00),
        "r6idn.4xlarge" => Some(50.00),
        "r6idn.8xlarge" => Some(50.00),
        "r6idn.large" => Some(25.00),
        "r6idn.metal" => Some(200.00),
        "r6idn.xlarge" => Some(30.00),
        "r6in.12xlarge" => Some(75.00),
        "r6in.16xlarge" => Some(100.00),
        "r6in.24xlarge" => Some(150.00),
        "r6in.2xlarge" => Some(40.00),
        "r6in.32xlarge" => Some(200.00),
        "r6in.4xlarge" => Some(50.00),
        "r6in.8xlarge" => Some(50.00),
        "r6in.large" => Some(25.00),
        "r6in.metal" => Some(200.00),
        "r6in.xlarge" => Some(30.00),
        "r7a.12xlarge" => Some(18.75),
        "r7a.16xlarge" => Some(25.00),
        "r7a.24xlarge" => Some(37.50),
        "r7a.2xlarge" => Some(12.50),
        "r7a.32xlarge" => Some(50.00),
        "r7a.48xlarge" => Some(50.00),
        "r7a.4xlarge" => Some(12.50),
        "r7a.8xlarge" => Some(12.50),
        "r7a.large" => Some(12.50),
        "r7a.medium" => Some(12.50),
        "r7a.metal-48xl" => Some(50.00),
        "r7a.xlarge" => Some(12.50),
        "r7g.12xlarge" => Some(22.50),
        "r7g.16xlarge" => Some(30.00),
        "r7g.2xlarge" => Some(15.00),
        "r7g.4xlarge" => Some(15.00),
        "r7g.8xlarge" => Some(15.00),
        "r7g.large" => Some(12.50),
        "r7g.medium" => Some(12.50),
        "r7g.metal" => Some(30.00),
        "r7g.xlarge" => Some(12.50),
        "r7gd.12xlarge" => Some(22.50),
        "r7gd.16xlarge" => Some(30.00),
        "r7gd.2xlarge" => Some(15.00),
        "r7gd.4xlarge" => Some(15.00),
        "r7gd.8xlarge" => Some(15.00),
        "r7gd.large" => Some(12.50),
        "r7gd.medium" => Some(12.50),
        "r7gd.metal" => Some(30.00),
        "r7gd.xlarge" => Some(12.50),
        "r7i.12xlarge" => Some(18.75),
        "r7i.16xlarge" => Some(25.00),
        "r7i.24xlarge" => Some(37.50),
        "r7i.2xlarge" => Some(12.50),
        "r7i.48xlarge" => Some(50.00),
        "r7i.4xlarge" => Some(12.50),
        "r7i.8xlarge" => Some(12.50),
        "r7i.large" => Some(12.50),
        "r7i.metal-24xl" => Some(37.50),
        "r7i.metal-48xl" => Some(50.00),
        "r7i.xlarge" => Some(12.50),
        "r7iz.12xlarge" => Some(25.00),
        "r7iz.16xlarge" => Some(25.00),
        "r7iz.2xlarge" => Some(12.50),
        "r7iz.32xlarge" => Some(50.00),
        "r7iz.4xlarge" => Some(12.50),
        "r7iz.8xlarge" => Some(12.50),
        "r7iz.large" => Some(12.50),
        "r7iz.metal-16xl" => Some(25.00),
        "r7iz.metal-32xl" => Some(50.00),
        "r7iz.xlarge" => Some(12.50),
        "r8g.12xlarge" => Some(22.50),
        "r8g.16xlarge" => Some(30.00),
        "r8g.24xlarge" => Some(40.00),
        "r8g.2xlarge" => Some(15.00),
        "r8g.48xlarge" => Some(50.00),
        "r8g.4xlarge" => Some(15.00),
        "r8g.8xlarge" => Some(15.00),
        "r8g.large" => Some(12.50),
        "r8g.medium" => Some(12.50),
        "r8g.metal-24xl" => Some(40.00),
        "r8g.metal-48xl" => Some(50.00),
        "r8g.xlarge" => Some(12.50),
        "t1.micro" => None,
        "t2.2xlarge" => None,
        "t2.large" => None,
        "t2.medium" => None,
        "t2.micro" => None,
        "t2.nano" => None,
        "t2.small" => None,
        "t2.xlarge" => None,
        "t3.2xlarge" => Some(5.00),
        "t3.large" => Some(5.00),
        "t3.medium" => Some(5.00),
        "t3.micro" => Some(5.00),
        "t3.nano" => Some(5.00),
        "t3.small" => Some(5.00),
        "t3.xlarge" => Some(5.00),
        "t3a.2xlarge" => Some(5.00),
        "t3a.large" => Some(5.00),
        "t3a.medium" => Some(5.00),
        "t3a.micro" => Some(5.00),
        "t3a.nano" => Some(5.00),
        "t3a.small" => Some(5.00),
        "t3a.xlarge" => Some(5.00),
        "t4g.2xlarge" => Some(5.00),
        "t4g.large" => Some(5.00),
        "t4g.medium" => Some(5.00),
        "t4g.micro" => Some(5.00),
        "t4g.nano" => Some(5.00),
        "t4g.small" => Some(5.00),
        "t4g.xlarge" => Some(5.00),
        "trn1.2xlarge" => Some(12.50),
        "trn1.32xlarge" => Some(800.00),
        "trn1n.32xlarge" => Some(1600.00),
        "trn2.48xlarge" => Some(32000.00),
        "u-12tb1.112xlarge" => Some(100.00),
        "u-18tb1.112xlarge" => Some(100.00),
        "u-24tb1.112xlarge" => Some(100.00),
        "u-3tb1.56xlarge" => Some(50.00),
        "u-6tb1.112xlarge" => Some(100.00),
        "u-6tb1.56xlarge" => Some(100.00),
        "u-9tb1.112xlarge" => Some(100.00),
        "u7i-12tb.224xlarge" => Some(100.00),
        "u7i-6tb.112xlarge" => Some(100.00),
        "u7i-8tb.112xlarge" => Some(100.00),
        "u7in-16tb.224xlarge" => Some(200.00),
        "u7in-24tb.224xlarge" => Some(200.00),
        "u7in-32tb.224xlarge" => Some(200.00),
        "vt1.24xlarge" => Some(25.00),
        "vt1.3xlarge" => Some(3.12),
        "vt1.6xlarge" => Some(6.25),
        "x1.16xlarge" => Some(10.00),
        "x1.32xlarge" => Some(25.00),
        "x1e.16xlarge" => Some(10.00),
        "x1e.2xlarge" => Some(10.00),
        "x1e.32xlarge" => Some(25.00),
        "x1e.4xlarge" => Some(10.00),
        "x1e.8xlarge" => Some(10.00),
        "x1e.xlarge" => Some(10.00),
        "x2gd.12xlarge" => Some(20.00),
        "x2gd.16xlarge" => Some(25.00),
        "x2gd.2xlarge" => Some(10.00),
        "x2gd.4xlarge" => Some(10.00),
        "x2gd.8xlarge" => Some(12.00),
        "x2gd.large" => Some(10.00),
        "x2gd.medium" => Some(10.00),
        "x2gd.metal" => Some(25.00),
        "x2gd.xlarge" => Some(10.00),
        "x2idn.16xlarge" => Some(50.00),
        "x2idn.24xlarge" => Some(75.00),
        "x2idn.32xlarge" => Some(100.00),
        "x2idn.metal" => Some(100.00),
        "x2iedn.16xlarge" => Some(50.00),
        "x2iedn.24xlarge" => Some(75.00),
        "x2iedn.2xlarge" => Some(25.00),
        "x2iedn.32xlarge" => Some(100.00),
        "x2iedn.4xlarge" => Some(25.00),
        "x2iedn.8xlarge" => Some(25.00),
        "x2iedn.metal" => Some(100.00),
        "x2iedn.xlarge" => Some(25.00),
        "x2iezn.12xlarge" => Some(100.00),
        "x2iezn.2xlarge" => Some(25.00),
        "x2iezn.4xlarge" => Some(25.00),
        "x2iezn.6xlarge" => Some(50.00),
        "x2iezn.8xlarge" => Some(75.00),
        "x2iezn.metal" => Some(100.00),
        "x8g.12xlarge" => Some(22.50),
        "x8g.16xlarge" => Some(30.00),
        "x8g.24xlarge" => Some(40.00),
        "x8g.2xlarge" => Some(15.00),
        "x8g.48xlarge" => Some(50.00),
        "x8g.4xlarge" => Some(15.00),
        "x8g.8xlarge" => Some(15.00),
        "x8g.large" => Some(12.50),
        "x8g.medium" => Some(12.50),
        "x8g.metal-24xl" => Some(40.00),
        "x8g.metal-48xl" => Some(50.00),
        "x8g.xlarge" => Some(12.50),
        "z1d.12xlarge" => Some(25.00),
        "z1d.2xlarge" => Some(10.00),
        "z1d.3xlarge" => Some(10.00),
        "z1d.6xlarge" => Some(12.00),
        "z1d.large" => Some(10.00),
        "z1d.metal" => Some(25.00),
        "z1d.xlarge" => Some(10.00),
        _ => None,
    }
}