UNPKG

@cloud-carbon-footprint/aws

Version:

The core logic to get cloud usage data and estimate energy and carbon emissions from Amazon Web Services.

2,066 lines (2,058 loc) 127 kB
/* * © 2021 Thoughtworks, Inc. */ import { COMPUTE_PROCESSOR_TYPES, cascadeLakeSkylake, broadwellHaswell, } from '@cloud-carbon-footprint/core' export const RDS_INSTANCE_TYPES: { [instanceType: string]: number } = { 'db.m5.24xlarge': 96, 'db.m5.16xlarge': 64, 'db.m5.12xlarge': 48, 'db.m5.8xlarge': 32, 'db.m5.4xlarge': 16, 'db.m5.2xlarge': 8, 'db.m5.xlarge': 4, 'db.m5.large': 2, 'db.m4.16xlarge': 64, 'db.m4.10xlarge': 40, 'db.m4.4xlarge': 16, 'db.m4.2xlarge': 8, 'db.m4.xlarge': 4, 'db.m4.large': 2, 'db.m3.2xlarge': 8, 'db.m3.xlarge': 4, 'db.m3.large': 2, 'db.m3.medium': 1, 'db.m1.xlarge': 4, 'db.m1.large': 2, 'db.m1.medium': 1, 'db.m1.small': 1, 'db.z1d.12xlarge': 48, 'db.z1d.6xlarge': 24, 'db.z1d.3xlarge': 12, 'db.z1d.2xlarge': 8, 'db.z1d.xlarge': 4, 'db.z1d.large': 2, 'db.x1e.32xlarge': 128, 'db.x1e.16xlarge': 64, 'db.x1e.8xlarge': 32, 'db.x1e.4xlarge': 16, 'db.x1e.2xlarge': 8, 'db.x1e.xlarge': 4, 'db.x1.32xlarge': 128, 'db.x1.16xlarge': 64, 'db.r5.24xlarge': 96, 'db.r5.16xlarge': 64, 'db.r5.12xlarge': 48, 'db.r5.8xlarge': 32, 'db.r5.4xlarge': 16, 'db.r5.2xlarge': 8, 'db.r5.xlarge': 4, 'db.r5.large': 2, 'db.r4.16xlarge': 64, 'db.r4.8xlarge': 32, 'db.r4.4xlarge': 16, 'db.r4.2xlarge': 8, 'db.r4.xlarge': 4, 'db.r4.large': 2, 'db.r3.8xlarge': 32, 'db.r3.4xlarge': 16, 'db.r3.2xlarge': 8, 'db.r3.xlarge': 4, 'db.r3.large': 2, 'db.m2.4xlarge': 8, 'db.m2.2xlarge': 4, 'db.m2.xlarge': 2, 'db.t3.2xlarge': 8, 'db.t3.xlarge': 4, 'db.t3.large': 2, 'db.t3.medium': 2, 'db.t3.small': 2, 'db.t3.micro': 2, 'db.t2.2xlarge': 8, 'db.t2.xlarge': 4, 'db.t2.large': 2, 'db.t2.medium': 2, 'db.t2.small': 1, 'db.t2.micro': 1, 'db.m6g.large': 2, 'db.m6g.xlarge': 4, 'db.m6g.2xlarge': 8, 'db.m6g.4xlarge': 16, 'db.m6g.8xlarge': 32, 'db.m6g.12xlarge': 48, 'db.m6g.16xlarge': 64, 'db.r6g.large': 2, 'db.r6g.xlarge': 4, 'db.r6g.2xlarge': 8, 'db.r6g.4xlarge': 16, 'db.r6g.12xlarge': 48, 'db.r6g.16xlarge': 64, 'db.c6gd.12xlarge': 48, 'db.c6gd.16xlarge': 64, 'db.c6gd.2xlarge': 8, 'db.c6gd.4xlarge': 16, 'db.c6gd.8xlarge': 32, 'db.c6gd.large': 2, 'db.c6gd.medium': 1, 'db.c6gd.xlarge': 4, 'db.m5d.12xlarge': 48, 'db.m5d.16xlarge': 64, 'db.m5d.24xlarge': 96, 'db.m5d.2xlarge': 8, 'db.m5d.4xlarge': 16, 'db.m5d.8xlarge': 32, 'db.m5d.large': 2, 'db.m5d.xlarge': 4, 'db.m6gd.12xlarge': 48, 'db.m6gd.16xlarge': 64, 'db.m6gd.2xlarge': 8, 'db.m6gd.4xlarge': 16, 'db.m6gd.8xlarge': 32, 'db.m6gd.large': 2, 'db.m6gd.xlarge': 4, 'db.m6i.12xlarge': 48, 'db.m6i.16xlarge': 64, 'db.m6i.24xlarge': 96, 'db.m6i.2xlarge': 8, 'db.m6i.32xlarge': 128, 'db.m6i.4xlarge': 16, 'db.m6i.8xlarge': 32, 'db.m6i.large': 2, 'db.m6i.metal': 128, 'db.m6i.xlarge': 4, 'db.m6id.12xlarge': 48, 'db.m6id.16xlarge': 64, 'db.m6id.24xlarge': 96, 'db.m6id.2xlarge': 8, 'db.m6id.32xlarge': 128, 'db.m6id.4xlarge': 16, 'db.m6id.8xlarge': 32, 'db.m6id.large': 2, 'db.m6id.metal': 128, 'db.m6id.xlarge': 4, 'db.m6idn.12xlarge': 48, 'db.m6idn.16xlarge': 64, 'db.m6idn.24xlarge': 96, 'db.m6idn.2xlarge': 8, 'db.m6idn.32xlarge': 128, 'db.m6idn.4xlarge': 16, 'db.m6idn.8xlarge': 32, 'db.m6idn.large': 2, 'db.m6idn.xlarge': 4, 'db.m6in.12xlarge': 48, 'db.m6in.16xlarge': 64, 'db.m6in.24xlarge': 96, 'db.m6in.2xlarge': 8, 'db.m6in.32xlarge': 128, 'db.m6in.4xlarge': 16, 'db.m6in.8xlarge': 32, 'db.m6in.large': 2, 'db.m6in.metal': 128, 'db.m6in.xlarge': 4, 'db.m7g.12xlarge': 48, 'db.m7g.16xlarge': 64, 'db.m7g.2xlarge': 8, 'db.m7g.4xlarge': 16, 'db.m7g.8xlarge': 32, 'db.m7g.large': 2, 'db.m7g.xlarge': 4, 'db.m7i.12xlarge': 48, 'db.m7i.16xlarge': 64, 'db.m7i.24xlarge': 96, 'db.m7i.2xlarge': 8, 'db.m7i.48xlarge': 192, 'db.m7i.4xlarge': 16, 'db.m7i.8xlarge': 32, 'db.m7i.large': 2, 'db.m7i.metal-24xl': 96, 'db.m7i.metal-48xl': 192, 'db.m7i.xlarge': 4, 'db.m8g.12xlarge': 48, 'db.m8g.16xlarge': 64, 'db.m8g.24xlarge': 96, 'db.m8g.2xlarge': 8, 'db.m8g.48xlarge': 192, 'db.m8g.4xlarge': 16, 'db.m8g.8xlarge': 32, 'db.m8g.large': 2, 'db.m8g.xlarge': 4, 'db.m8gd.12xlarge': 48, 'db.m8gd.16xlarge': 64, 'db.m8gd.24xlarge': 96, 'db.m8gd.2xlarge': 8, 'db.m8gd.48xlarge': 192, 'db.m8gd.4xlarge': 16, 'db.m8gd.8xlarge': 32, 'db.m8gd.large': 2, 'db.m8gd.xlarge': 4, 'db.r5b.12xlarge': 48, 'db.r5b.16xlarge': 64, 'db.r5b.24xlarge': 96, 'db.r5b.2xlarge': 8, 'db.r5b.4xlarge': 16, 'db.r5b.8xlarge': 32, 'db.r5b.large': 2, 'db.r5b.xlarge': 4, 'db.r5d.12xlarge': 48, 'db.r5d.16xlarge': 64, 'db.r5d.24xlarge': 96, 'db.r5d.2xlarge': 8, 'db.r5d.4xlarge': 16, 'db.r5d.8xlarge': 32, 'db.r5d.large': 2, 'db.r5d.xlarge': 4, 'db.r6g.8xlarge': 32, 'db.r6gd.12xlarge': 48, 'db.r6gd.16xlarge': 64, 'db.r6gd.2xlarge': 8, 'db.r6gd.4xlarge': 16, 'db.r6gd.8xlarge': 32, 'db.r6gd.large': 2, 'db.r6gd.xlarge': 4, 'db.r6i.12xlarge': 48, 'db.r6i.16xlarge': 64, 'db.r6i.24xlarge': 96, 'db.r6i.2xlarge': 8, 'db.r6i.32xlarge': 128, 'db.r6i.4xlarge': 16, 'db.r6i.8xlarge': 32, 'db.r6i.large': 2, 'db.r6i.metal': 128, 'db.r6i.xlarge': 4, 'db.r6id.12xlarge': 48, 'db.r6id.16xlarge': 64, 'db.r6id.24xlarge': 96, 'db.r6id.2xlarge': 8, 'db.r6id.32xlarge': 128, 'db.r6id.4xlarge': 16, 'db.r6id.8xlarge': 32, 'db.r6id.large': 2, 'db.r6id.metal': 128, 'db.r6id.xlarge': 4, 'db.r6idn.12xlarge': 48, 'db.r6idn.16xlarge': 64, 'db.r6idn.24xlarge': 96, 'db.r6idn.2xlarge': 8, 'db.r6idn.32xlarge': 128, 'db.r6idn.4xlarge': 16, 'db.r6idn.8xlarge': 32, 'db.r6idn.large': 2, 'db.r6idn.xlarge': 4, 'db.r6in.12xlarge': 48, 'db.r6in.16xlarge': 64, 'db.r6in.24xlarge': 96, 'db.r6in.2xlarge': 8, 'db.r6in.32xlarge': 128, 'db.r6in.4xlarge': 16, 'db.r6in.8xlarge': 32, 'db.r6in.large': 2, 'db.r6in.metal': 128, 'db.r6in.xlarge': 4, 'db.r7g.12xlarge': 48, 'db.r7g.16xlarge': 64, 'db.r7g.2xlarge': 8, 'db.r7g.4xlarge': 16, 'db.r7g.8xlarge': 32, 'db.r7g.large': 2, 'db.r7g.xlarge': 4, 'db.r7i.12xlarge': 48, 'db.r7i.16xlarge': 64, 'db.r7i.24xlarge': 96, 'db.r7i.2xlarge': 8, 'db.r7i.48xlarge': 192, 'db.r7i.4xlarge': 16, 'db.r7i.8xlarge': 32, 'db.r7i.large': 2, 'db.r7i.metal-24xl': 96, 'db.r7i.metal-48xl': 192, 'db.r7i.xlarge': 4, 'db.r8g.12xlarge': 48, 'db.r8g.16xlarge': 64, 'db.r8g.24xlarge': 96, 'db.r8g.2xlarge': 8, 'db.r8g.48xlarge': 192, 'db.r8g.4xlarge': 16, 'db.r8g.8xlarge': 32, 'db.r8g.large': 2, 'db.r8g.xlarge': 4, 'db.r8gd.12xlarge': 48, 'db.r8gd.16xlarge': 64, 'db.r8gd.24xlarge': 96, 'db.r8gd.2xlarge': 8, 'db.r8gd.48xlarge': 192, 'db.r8gd.4xlarge': 16, 'db.r8gd.8xlarge': 32, 'db.r8gd.large': 2, 'db.r8gd.xlarge': 4, 'db.t4g.2xlarge': 8, 'db.t4g.large': 2, 'db.t4g.medium': 2, 'db.t4g.micro': 2, 'db.t4g.small': 2, 'db.t4g.xlarge': 4, 'db.x2g.12xlarge': 48, 'db.x2g.16xlarge': 64, 'db.x2g.2xlarge': 8, 'db.x2g.4xlarge': 16, 'db.x2g.8xlarge': 32, 'db.x2g.large': 2, 'db.x2g.xlarge': 4, 'db.x2idn.16xlarge': 64, 'db.x2idn.24xlarge': 96, 'db.x2idn.32xlarge': 128, 'db.x2idn.metal': 128, 'db.x2iedn.16xlarge': 64, 'db.x2iedn.24xlarge': 96, 'db.x2iedn.2xlarge': 8, 'db.x2iedn.32xlarge': 128, 'db.x2iedn.4xlarge': 16, 'db.x2iedn.8xlarge': 32, 'db.x2iedn.metal': 128, 'db.x2iedn.xlarge': 4, 'db.x2iezn.12xlarge': 48, 'db.x2iezn.2xlarge': 8, 'db.x2iezn.4xlarge': 16, 'db.x2iezn.6xlarge': 24, 'db.x2iezn.8xlarge': 32, 'db.x2iezn.metal': 48, } export const CACHE_NODE_TYPES: { [nodeType: string]: number } = { 'cache.t2.micro': 1, 'cache.t2.small': 1, 'cache.t2.medium': 2, 'cache.t3.micro': 2, 'cache.t3.small': 2, 'cache.t3.medium': 2, 'cache.m4.large': 2, 'cache.m4.xlarge': 4, 'cache.m4.2xlarge': 8, 'cache.m4.4xlarge': 16, 'cache.m4.10xlarge': 40, 'cache.m5.large': 2, 'cache.m5.xlarge': 4, 'cache.m5.2xlarge': 8, 'cache.m5.4xlarge': 16, 'cache.m5.12xlarge': 48, 'cache.m5.24xlarge': 96, 'cache.r4.large': 2, 'cache.r4.xlarge': 4, 'cache.r4.2xlarge': 8, 'cache.r4.4xlarge': 16, 'cache.r4.8xlarge': 32, 'cache.r4.16xlarge': 64, 'cache.r5.large': 2, 'cache.r5.xlarge': 4, 'cache.r5.2xlarge': 8, 'cache.r5.4xlarge': 16, 'cache.r5.12xlarge': 48, 'cache.r5.24xlarge': 96, 'cache.m3.medium': 1, 'cache.m6g.large': 2, 'cache.m6g.xlarge': 4, 'cache.m6g.2xlarge': 8, 'cache.m6g.4xlarge': 16, 'cache.m6g.8xlarge': 32, 'cache.m6g.12xlarge': 48, 'cache.m6g.16xlarge': 64, 'cache.r3.2xlarge': 8, 'cache.r6g.large': 2, 'cache.r6g.xlarge': 4, 'cache.r6g.2xlarge': 8, 'cache.r6g.4xlarge': 16, 'cache.r6g.8xlarge': 32, 'cache.r6g.12xlarge': 48, 'cache.r6g.16xlarge': 64, 'cache.c7gn.12xlarge': 48, 'cache.c7gn.16xlarge': 64, 'cache.c7gn.2xlarge': 8, 'cache.c7gn.4xlarge': 16, 'cache.c7gn.8xlarge': 32, 'cache.c7gn.large': 2, 'cache.c7gn.xlarge': 4, 'cache.m7g.12xlarge': 48, 'cache.m7g.16xlarge': 64, 'cache.m7g.2xlarge': 8, 'cache.m7g.4xlarge': 16, 'cache.m7g.8xlarge': 32, 'cache.m7g.large': 2, 'cache.m7g.xlarge': 4, 'cache.r6gd.12xlarge': 48, 'cache.r6gd.16xlarge': 64, 'cache.r6gd.2xlarge': 8, 'cache.r6gd.4xlarge': 16, 'cache.r6gd.8xlarge': 32, 'cache.r6gd.xlarge': 4, 'cache.r7g.12xlarge': 48, 'cache.r7g.16xlarge': 64, 'cache.r7g.2xlarge': 8, 'cache.r7g.4xlarge': 16, 'cache.r7g.8xlarge': 32, 'cache.r7g.large': 2, 'cache.r7g.xlarge': 4, 'cache.t4g.medium': 2, 'cache.t4g.micro': 2, 'cache.t4g.small': 2, } export const MSK_INSTANCE_TYPES: { [instanceType: string]: number } = { 'Kafka.t3.small': 2, 'Kafka.m5.large': 2, 'Kafka.m5.xlarge': 4, 'Kafka.m5.2xlarge': 8, 'Kafka.m5.4xlarge': 16, 'Kafka.m5.8xlarge': 32, 'Kafka.m5.12xlarge': 48, 'Kafka.m5.16xlarge': 64, 'Kafka.m5.24xlarge': 96, 'Kafka.m7g.12xlarge': 48, 'Kafka.m7g.16xlarge': 64, 'Kafka.m7g.2xlarge': 8, 'Kafka.m7g.4xlarge': 16, 'Kafka.m7g.8xlarge': 32, 'Kafka.m7g.large': 2, 'Kafka.m7g.xlarge': 4, 'express.m7g.12xlarge': 48, 'express.m7g.16xlarge': 64, 'express.m7g.2xlarge': 8, 'express.m7g.4xlarge': 16, 'express.m7g.8xlarge': 32, 'express.m7g.large': 2, 'express.m7g.xlarge': 4, } export const REDSHIFT_INSTANCE_TYPES: { [instanceFamily: string]: { [instanceSize: string]: number[] } // [vcpus, memory] } = { dc2: { large: [2, 15], '8xlarge': [32, 244], }, ra3: { large: [2, 16], xlplus: [4, 32], '4xlarge': [12, 96], '16xlarge': [48, 384], }, dc1: { large: [2, 15], '8xlarge': [32, 244], }, ds2: { xlarge: [4, 31], '8xlarge': [36, 244], }, } export const EC2_INSTANCE_TYPES: { [instanceFamily: string]: { [instanceSize: string]: number[] } // [vcpus, memory, scope3 emissions ] } = { a1: { medium: [1, 2, 0.45], large: [2, 4, 0.45], xlarge: [4, 8, 0.45], '2xlarge': [8, 16, 0.45], '4xlarge': [16, 32, 0.45], metal: [16, 32, 0.45], }, c1: { medium: [2, 1.7, 0.68], xlarge: [8, 7, 0.68], }, c3: { large: [2, 3.75, 0.7], xlarge: [4, 7.5, 0.7], '2xlarge': [8, 15, 0.7], '4xlarge': [16, 30, 0.7], '8xlarge': [32, 60, 0.7], }, c4: { large: [2, 3.75, 0.67], xlarge: [4, 7.5, 0.67], '2xlarge': [8, 15, 0.67], '4xlarge': [16, 30, 0.67], '8xlarge': [36, 60, 0.67], }, c5: { large: [2, 4, 0.81], xlarge: [4, 8, 0.81], '2xlarge': [8, 16, 0.81], '4xlarge': [16, 32, 0.81], '9xlarge': [36, 72, 0.81], '12xlarge': [48, 96, 0.82], '18xlarge': [72, 144, 0.82], '24xlarge': [96, 192, 0.82], metal: [96, 192, 0.82], }, c5a: { large: [2, 4, 0.81], xlarge: [4, 8, 0.81], '2xlarge': [8, 16, 0.81], '4xlarge': [16, 32, 0.81], '8xlarge': [32, 64, 0.81], '12xlarge': [48, 96, 0.81], '16xlarge': [64, 128, 0.81], '24xlarge': [96, 192, 0.81], }, c5ad: { large: [2, 4, 1], xlarge: [4, 8, 1], '2xlarge': [8, 16, 1], '4xlarge': [16, 32, 1], '8xlarge': [32, 64, 1], '12xlarge': [48, 96, 1], '16xlarge': [64, 128, 1], '24xlarge': [96, 192, 1], }, c5d: { large: [2, 4, 0.89], xlarge: [4, 8, 0.89], '2xlarge': [8, 16, 0.89], '4xlarge': [16, 32, 0.89], '9xlarge': [36, 72, 0.89], '12xlarge': [48, 96, 1], '18xlarge': [72, 144, 1], '24xlarge': [96, 192, 1], metal: [96, 192, 1], }, c5n: { large: [2, 5, 0.81], xlarge: [4, 10, 0.81], '2xlarge': [8, 21, 0.81], '4xlarge': [16, 42, 0.81], '9xlarge': [36, 96, 0.81], '18xlarge': [72, 192, 0.81], metal: [72, 192, 0.81], }, c6g: { medium: [1, 2, 0.65], large: [2, 4, 0.65], xlarge: [4, 8, 0.65], '2xlarge': [8, 16, 0.65], '4xlarge': [16, 32, 0.65], '8xlarge': [32, 64, 0.65], '12xlarge': [48, 96, 0.65], '16xlarge': [64, 128, 0.65], metal: [64, 128, 0.65], }, c6gd: { medium: [1, 2, 0.8], large: [2, 4, 0.8], xlarge: [4, 8, 0.8], '2xlarge': [8, 16, 0.8], '4xlarge': [16, 32, 0.8], '8xlarge': [32, 64, 0.8], '12xlarge': [48, 96, 0.8], '16xlarge': [64, 128, 0.8], metal: [64, 128, 0.8], }, c6gn: { medium: [1, 2, 0.65], large: [2, 4, 0.65], xlarge: [4, 8, 0.65], '2xlarge': [8, 16, 0.65], '4xlarge': [16, 32, 0.65], '8xlarge': [32, 64, 0.65], '12xlarge': [48, 96, 0.65], '16xlarge': [64, 128, 0.65], }, c6i: { large: [2, 4, 0.9], xlarge: [4, 8, 0.9], '2xlarge': [8, 16, 0.9], '4xlarge': [16, 32, 0.9], '8xlarge': [32, 64, 0.9], '12xlarge': [48, 96, 0.9], '16xlarge': [64, 128, 0.9], '24xlarge': [96, 192, 0.9], '32xlarge': [128, 256, 0.9], metal: [128, 256, 0.9], }, c6a: { large: [2, 4, 1.2], xlarge: [4, 8, 1.2], '2xlarge': [8, 16, 1.2], '4xlarge': [16, 32, 1.2], '8xlarge': [32, 64, 1.2], '12xlarge': [48, 96, 1.2], '16xlarge': [64, 128, 1.2], '24xlarge': [96, 192, 1.2], '32xlarge': [128, 256, 1.2], '48xlarge': [192, 384, 1.2], metal: [192, 384, 1.2], }, hpc6a: { '48xlarge': [96, 384, 0], }, i2: { xlarge: [4, 30.5, 1.5], '2xlarge': [8, 61, 1.5], '4xlarge': [16, 122, 1.5], '8xlarge': [32, 244, 1.5], }, m1: { small: [1, 1.7, 1], medium: [1, 3.7, 1], large: [2, 7.5, 1], xlarge: [4, 15, 1], }, m2: { xlarge: [2, 17.1, 1.2], '2xlarge': [4, 34.2, 1.2], '4xlarge': [8, 68.4, 1.2], }, m3: { medium: [1, 3.75, 1], large: [2, 7.5, 1], xlarge: [4, 15, 1], '2xlarge': [8, 30, 1], }, m4: { large: [2, 8, 0.9], xlarge: [4, 16, 0.9], '2xlarge': [8, 32, 0.9], '4xlarge': [16, 64, 0.9], '10xlarge': [40, 160, 0.9], '16xlarge': [64, 256, 0.9], }, mac1: { metal: [12, 32, 0.44], }, m5: { large: [2, 8, 1.2], xlarge: [4, 16, 1.2], '2xlarge': [8, 32, 1.2], '4xlarge': [16, 64, 1.2], '8xlarge': [32, 128, 1.2], '12xlarge': [48, 192, 1.2], '16xlarge': [64, 256, 1.2], '24xlarge': [96, 384, 1.2], metal: [96, 384, 1.2], }, m5a: { large: [2, 8, 1.2], xlarge: [4, 16, 1.2], '2xlarge': [8, 32, 1.2], '4xlarge': [16, 64, 1.2], '8xlarge': [32, 128, 1.2], '12xlarge': [48, 192, 1.2], '16xlarge': [64, 256, 1.2], '24xlarge': [96, 384, 1.2], }, m5ad: { large: [2, 8, 1.3], xlarge: [4, 16, 1.3], '2xlarge': [8, 32, 1.3], '4xlarge': [16, 64, 1.3], '8xlarge': [32, 128, 1.3], '12xlarge': [48, 192, 1.3], '16xlarge': [64, 256, 1.3], '24xlarge': [96, 384, 1.3], }, m5d: { large: [2, 8, 1.3], xlarge: [4, 16, 1.3], '2xlarge': [8, 32, 1.3], '4xlarge': [16, 64, 1.3], '8xlarge': [32, 128, 1.3], '12xlarge': [48, 192, 1.3], '16xlarge': [64, 256, 1.3], '24xlarge': [96, 384, 1.3], metal: [96, 384, 1.3], }, m5dn: { large: [2, 8, 1.3], xlarge: [4, 16, 1.3], '2xlarge': [8, 32, 1.3], '4xlarge': [16, 64, 1.3], '8xlarge': [32, 128, 1.3], '12xlarge': [48, 192, 1.3], '16xlarge': [64, 256, 1.3], '24xlarge': [96, 384, 1.3], metal: [96, 384, 1.3], }, m5n: { large: [2, 8, 1.2], xlarge: [4, 16, 1.2], '2xlarge': [8, 32, 1.2], '4xlarge': [16, 64, 1.2], '8xlarge': [32, 128, 1.2], '12xlarge': [48, 192, 1.2], '16xlarge': [64, 256, 1.2], '24xlarge': [96, 384, 1.2], metal: [96, 384, 1.2], }, m5zn: { large: [2, 8, 0.8], xlarge: [4, 16, 0.8], '2xlarge': [8, 32, 0.8], '3xlarge': [12, 48, 0.8], '6xlarge': [24, 96, 0.8], '12xlarge': [48, 192, 0.8], metal: [48, 192, 0.8], }, m6g: { medium: [1, 4, 0.88], large: [2, 8, 0.88], xlarge: [4, 16, 0.88], '2xlarge': [8, 32, 0.88], '4xlarge': [16, 64, 0.88], '8xlarge': [32, 128, 0.88], '12xlarge': [48, 192, 0.88], '16xlarge': [64, 256, 0.88], metal: [64, 256, 0.88], }, m6gd: { medium: [1, 4, 1], large: [2, 8, 1], xlarge: [4, 16, 1], '2xlarge': [8, 32, 1], '4xlarge': [16, 64, 1], '8xlarge': [32, 128, 1], '12xlarge': [48, 192, 1], '16xlarge': [64, 256, 1], metal: [64, 256, 1], }, m6i: { large: [2, 8, 1.4], xlarge: [4, 16, 1.4], '2xlarge': [8, 32, 1.4], '4xlarge': [16, 64, 1.4], '8xlarge': [32, 128, 1.4], '12xlarge': [48, 192, 1.4], '16xlarge': [64, 256, 1.4], '24xlarge': [96, 384, 1.4], '32xlarge': [128, 512, 1.4], metal: [128, 512, 1.4], }, m6a: { large: [2, 8, 1.9], xlarge: [4, 16, 1.9], '2xlarge': [8, 32, 1.9], '4xlarge': [16, 64, 1.9], '8xlarge': [32, 128, 1.9], '12xlarge': [48, 192, 1.9], '16xlarge': [64, 256, 1.9], '24xlarge': [96, 384, 1.9], '32xlarge': [128, 512, 1.9], '48xlarge': [192, 768, 1.9], metal: [192, 768, 1.9], }, p2: { xlarge: [4, 61, 4.4930204], '8xlarge': [32, 488, 4.4930204], '16xlarge': [64, 732, 4.4930204], }, p3: { '2xlarge': [8, 61, 3.5429488], '8xlarge': [32, 244, 3.5429488], '16xlarge': [64, 488, 3.5429488], }, p3dn: { '24xlarge': [96, 768, 3.5429488], }, p4d: { '24xlarge': [96, 1152, 3], }, r3: { large: [2, 15, 1.19], xlarge: [4, 30.5, 1.19], '2xlarge': [8, 61, 1.19], '4xlarge': [16, 122, 1.19], '8xlarge': [32, 244, 1.19], }, r4: { large: [2, 15.25, 1.6], xlarge: [4, 30.5, 1.6], '2xlarge': [8, 61, 1.6], '4xlarge': [16, 122, 1.6], '8xlarge': [32, 244, 1.6], '16xlarge': [64, 488, 1.6], }, r5: { large: [2, 16, 1.9], xlarge: [4, 32, 1.9], '2xlarge': [8, 64, 1.9], '4xlarge': [16, 128, 1.9], '8xlarge': [32, 256, 1.9], '12xlarge': [48, 384, 1.9], '16xlarge': [64, 512, 1.9], '24xlarge': [96, 768, 1.9], metal: [96, 768, 1.9], }, r5a: { large: [2, 16, 1.9], xlarge: [4, 32, 1.9], '2xlarge': [8, 64, 1.9], '4xlarge': [16, 128, 1.9], '8xlarge': [32, 256, 1.9], '12xlarge': [48, 384, 1.9], '16xlarge': [64, 512, 1.9], '24xlarge': [96, 768, 1.9], }, r5ad: { large: [2, 16, 2.1], xlarge: [4, 32, 2.1], '2xlarge': [8, 64, 2.1], '4xlarge': [16, 128, 2.1], '8xlarge': [32, 256, 2.1], '12xlarge': [48, 384, 2.1], '16xlarge': [64, 512, 2.1], '24xlarge': [96, 768, 2.1], }, r5b: { large: [2, 16, 1.9], xlarge: [4, 32, 1.9], '2xlarge': [8, 64, 1.9], '4xlarge': [16, 128, 1.9], '8xlarge': [32, 256, 1.9], '12xlarge': [48, 384, 1.9], '16xlarge': [64, 512, 1.9], '24xlarge': [96, 768, 1.9], metal: [96, 768, 1.9], }, r5d: { large: [2, 16, 2.1], xlarge: [4, 32, 2.1], '2xlarge': [8, 64, 2.1], '4xlarge': [16, 128, 2.1], '8xlarge': [32, 256, 2.1], '12xlarge': [48, 384, 2.1], '16xlarge': [64, 512, 2.1], '24xlarge': [96, 768, 2.1], metal: [96, 768, 2.1], }, r5dn: { large: [2, 16, 2.1], xlarge: [4, 32, 2.1], '2xlarge': [8, 64, 2.1], '4xlarge': [16, 128, 2.1], '8xlarge': [32, 256, 2.1], '12xlarge': [48, 384, 2.1], '16xlarge': [64, 512, 2.1], '24xlarge': [96, 768, 2.1], metal: [96, 768, 2.1], }, r5n: { large: [2, 16, 1.9], xlarge: [4, 32, 1.9], '2xlarge': [8, 64, 1.9], '4xlarge': [16, 128, 1.9], '8xlarge': [32, 256, 1.9], '12xlarge': [48, 384, 1.9], '16xlarge': [64, 512, 1.9], '24xlarge': [96, 768, 1.9], metal: [96, 768, 1.9], }, r6g: { medium: [1, 8, 1.4], large: [2, 16, 1.4], xlarge: [4, 32, 1.4], '2xlarge': [8, 64, 1.4], '4xlarge': [16, 128, 1.4], '8xlarge': [32, 256, 1.4], '12xlarge': [48, 384, 1.4], '16xlarge': [64, 512, 1.4], metal: [64, 512, 1.4], }, r6gd: { medium: [1, 8, 1.5], large: [2, 16, 1.5], xlarge: [4, 32, 1.5], '2xlarge': [8, 64, 1.5], '4xlarge': [16, 128, 1.5], '8xlarge': [32, 256, 1.5], '12xlarge': [48, 384, 1.5], '16xlarge': [64, 512, 1.5], metal: [64, 512, 1.5], }, r6i: { large: [2, 16, 2.4], xlarge: [4, 32, 2.4], '2xlarge': [8, 64, 2.4], '4xlarge': [16, 128, 2.4], '8xlarge': [32, 256, 2.4], '12xlarge': [48, 384, 2.4], '16xlarge': [64, 512, 2.4], '24xlarge': [96, 768, 2.4], '32xlarge': [128, 1024, 2.4], metal: [128, 1024, 2.4], }, t1: { micro: [1, 0.61, 0.75], }, t2: { nano: [1, 0, 1.1], micro: [1, 1, 1.1], small: [1, 2, 1.1], medium: [2, 4, 1.1], large: [2, 8, 1.1], xlarge: [4, 16, 1.1], '2xlarge': [8, 32, 1.1], }, t3: { nano: [2, 0, 1.2], micro: [2, 1, 1.2], small: [2, 2, 1.2], medium: [2, 4, 1.2], large: [2, 8, 1.2], xlarge: [4, 16, 1.2], '2xlarge': [8, 32, 1.2], }, t3a: { nano: [2, 0, 1.2], micro: [2, 1, 1.2], small: [2, 2, 1.2], medium: [2, 4, 1.2], large: [2, 8, 1.2], xlarge: [4, 16, 1.2], '2xlarge': [8, 32, 1.2], }, t4g: { nano: [2, 0, 0.88], micro: [2, 1, 0.88], small: [2, 2, 0.88], medium: [2, 4, 0.88], large: [2, 8, 0.88], xlarge: [4, 16, 0.88], '2xlarge': [8, 32, 0.88], }, x1: { '16xlarge': [64, 976, 4.4], '32xlarge': [128, 1952, 4.4], }, x1e: { xlarge: [4, 122, 8], '2xlarge': [8, 244, 8], '4xlarge': [16, 488, 8], '8xlarge': [32, 976, 8], '16xlarge': [64, 1952, 8], '32xlarge': [128, 3904, 8], }, x2gd: { medium: [1, 16, 2.4], large: [2, 32, 2.4], xlarge: [4, 64, 2.4], '2xlarge': [8, 128, 2.4], '4xlarge': [16, 256, 2.4], '8xlarge': [32, 512, 2.4], '12xlarge': [48, 768, 2.4], '16xlarge': [64, 1024, 2.4], metal: [64, 1024, 2.4], }, x2idn: { '16xlarge': [64, 1024, 4.5], '24xlarge': [96, 1536, 4.5], '32xlarge': [128, 2048, 4.5], metal: [128, 2048, 4.5], }, x2iedn: { xlarge: [4, 128, 8], '2xlarge': [8, 256, 8], '4xlarge': [16, 512, 8], '8xlarge': [32, 1024, 8], '16xlarge': [64, 2048, 8], '24xlarge': [96, 3072, 8], '32xlarge': [128, 4096, 8], metal: [128, 4096, 8], }, x2iezn: { '2xlarge': [8, 256, 3.4], '4xlarge': [16, 512, 3.4], '6xlarge': [24, 768, 3.4], '8xlarge': [32, 1024, 3.4], '12xlarge': [48, 1536, 3.4], metal: [48, 1536, 3.4], }, z1d: { large: [2, 16, 1.2], xlarge: [4, 32, 1.2], '2xlarge': [8, 64, 1.2], '3xlarge': [12, 96, 1.2], '6xlarge': [24, 192, 1.2], '12xlarge': [48, 384, 1.2], metal: [48, 384, 1.2], }, d2: { xlarge: [4, 30, 1.9], '2xlarge': [8, 61, 1.9], '4xlarge': [16, 122, 1.9], '8xlarge': [36, 244, 1.9], }, d3: { xlarge: [4, 32, 1.66], '2xlarge': [8, 64, 1.66], '4xlarge': [16, 128, 1.66], '8xlarge': [32, 256, 1.66], }, d3en: { xlarge: [4, 16, 1.54], '2xlarge': [8, 32, 1.54], '4xlarge': [16, 64, 1.54], '6xlarge': [24, 96, 1.54], '8xlarge': [32, 128, 1.54], '12xlarge': [48, 192, 1.54], }, dl1: { '24xlarge': [96, 768, 2.1], }, f1: { '2xlarge': [8, 122, 2.5], '4xlarge': [16, 244, 2.5], '16xlarge': [64, 976, 2.5], }, g2: { '2xlarge': [8, 15, 1.9610236], '8xlarge': [32, 60, 1.9610236], }, g3: { '4xlarge': [16, 122, 2.3546168], '8xlarge': [32, 244, 2.3546168], '16xlarge': [64, 488, 2.3546168], }, g3s: { xlarge: [4, 30, 2.3546168], }, g4ad: { xlarge: [4, 16, 1.2], '2xlarge': [8, 32, 1.2], '4xlarge': [16, 64, 1.2], '8xlarge': [32, 128, 1.2], '16xlarge': [64, 256, 1.2], }, g4dn: { xlarge: [4, 16, 1.2], '2xlarge': [8, 32, 1.2], '4xlarge': [16, 64, 1.2], '8xlarge': [32, 128, 1.2], '12xlarge': [48, 192, 1.2], '16xlarge': [64, 256, 1.2], metal: [96, 384, 1.2], }, g5: { xlarge: [4, 16, 2.2], '2xlarge': [8, 32, 2.2], '4xlarge': [16, 64, 2.2], '8xlarge': [32, 128, 2.2], '12xlarge': [48, 192, 2.2], '16xlarge': [64, 256, 2.2], '24xlarge': [96, 384, 2.2], '48xlarge': [192, 768, 2.2], }, g5g: { xlarge: [4, 8, 0.63], '2xlarge': [8, 16, 0.63], '4xlarge': [16, 32, 0.63], '8xlarge': [32, 64, 0.63], '16xlarge': [64, 128, 0.63], metal: [64, 128, 0.63], }, h1: { '2xlarge': [8, 32, 1.15], '4xlarge': [16, 64, 1.15], '8xlarge': [32, 128, 1.15], '16xlarge': [64, 256, 1.15], }, i3: { large: [2, 15, 2.1], xlarge: [4, 30, 2.1], '2xlarge': [8, 61, 2.1], '4xlarge': [16, 122, 2.1], '8xlarge': [32, 244, 2.1], '16xlarge': [64, 488, 2.1], metal: [72, 512, 2.1], }, i3en: { large: [2, 16, 4.3], xlarge: [4, 32, 4.3], '2xlarge': [8, 64, 4.3], '3xlarge': [12, 96, 4.3], '6xlarge': [24, 192, 4.3], '12xlarge': [48, 384, 4.3], '24xlarge': [96, 768, 4.3], metal: [96, 768, 4.3], }, inf1: { xlarge: [4, 8, 0.79], '2xlarge': [8, 16, 0.79], '6xlarge': [24, 48, 0.79], '24xlarge': [96, 192, 0.79], }, im4gn: { large: [2, 8, 2.1], xlarge: [4, 16, 2.1], '2xlarge': [8, 32, 2.1], '4xlarge': [16, 64, 2.1], '8xlarge': [32, 128, 2.1], '16xlarge': [64, 256, 2.1], }, is4gen: { medium: [1, 6, 3.6], large: [2, 12, 3.6], xlarge: [4, 24, 3.6], '2xlarge': [8, 48, 3.6], '4xlarge': [16, 96, 3.6], '8xlarge': [32, 192, 3.6], }, i4i: { large: [2, 16, 3.6], xlarge: [4, 32, 3.6], '2xlarge': [8, 64, 3.6], '4xlarge': [16, 128, 3.6], '8xlarge': [32, 256, 3.6], '12xlarge': [48, 384, 3.6], '16xlarge': [64, 512, 3.6], '24xlarge': [96, 768, 3.6], '32xlarge': [128, 1024, 3.6], metal: [128, 1024, 3.6], }, vt1: { '3xlarge': [12, 24, 0.79], '6xlarge': [24, 48, 0.79], '24xlarge': [96, 192, 0.79], }, m6id: { large: [2, 8, 1.7], xlarge: [4, 16, 1.7], '2xlarge': [8, 32, 1.7], '4xlarge': [16, 64, 1.7], '8xlarge': [32, 128, 1.7], '12xlarge': [48, 192, 1.7], '16xlarge': [64, 256, 1.7], '24xlarge': [96, 384, 1.7], '32xlarge': [128, 512, 1.7], metal: [128, 512, 1.7], }, m6idn: { large: [2, 8, 1.7], xlarge: [4, 16, 1.7], '2xlarge': [8, 32, 1.7], '4xlarge': [16, 64, 1.7], '8xlarge': [32, 128, 1.7], '12xlarge': [48, 192, 1.7], '16xlarge': [64, 256, 1.7], '24xlarge': [96, 384, 1.7], '32xlarge': [128, 512, 1.7], metal: [128, 512, 1.7], }, m6in: { large: [2, 8, 1.4], xlarge: [4, 16, 1.4], '2xlarge': [8, 32, 1.4], '4xlarge': [16, 64, 1.4], '8xlarge': [32, 128, 1.4], '12xlarge': [48, 192, 1.4], '16xlarge': [64, 256, 1.4], '24xlarge': [96, 384, 1.4], '32xlarge': [128, 512, 1.4], metal: [128, 512, 1.4], }, m7a: { medium: [1, 4, 1.9], large: [2, 8, 1.9], xlarge: [4, 16, 1.9], '2xlarge': [8, 32, 1.9], '4xlarge': [16, 64, 1.9], '8xlarge': [32, 128, 1.9], '12xlarge': [48, 192, 1.9], '16xlarge': [64, 256, 1.9], '24xlarge': [96, 384, 1.9], '32xlarge': [128, 512, 1.9], '48xlarge': [192, 768, 1.9], 'metal-48xl': [192, 768, 1.9], }, m7g: { medium: [1, 4, 0.88], large: [2, 8, 0.88], xlarge: [4, 16, 0.88], '2xlarge': [8, 32, 0.88], '4xlarge': [16, 64, 0.88], '8xlarge': [32, 128, 0.88], '12xlarge': [48, 192, 0.88], '16xlarge': [64, 256, 0.88], metal: [64, 256, 0.88], }, m7gd: { medium: [1, 4, 0.86], large: [2, 8, 0.86], xlarge: [4, 16, 0.86], '2xlarge': [8, 32, 0.86], '4xlarge': [16, 64, 0.86], '8xlarge': [32, 128, 0.86], '12xlarge': [48, 192, 0.86], '16xlarge': [64, 256, 0.86], metal: [64, 256, 0.86], }, m7i: { large: [2, 8, 1.9], xlarge: [4, 16, 1.9], '2xlarge': [8, 32, 1.9], '4xlarge': [16, 64, 1.9], '8xlarge': [32, 128, 1.9], '12xlarge': [48, 192, 1.9], '16xlarge': [64, 256, 1.9], '24xlarge': [96, 384, 1.9], 'metal-24xl': [96, 384, 1.9], '48xlarge': [192, 768, 1.9], 'metal-48xl': [192, 768, 1.9], }, 'm7i-flex': { large: [2, 8, 1.9], xlarge: [4, 16, 1.9], '2xlarge': [8, 32, 1.9], '4xlarge': [16, 64, 1.9], '8xlarge': [32, 128, 1.9], '12xlarge': [48, 192, 1.9], '16xlarge': [64, 256, 1.9], }, m8a: { medium: [1, 4, 0], large: [2, 8, 0], xlarge: [4, 16, 0], '2xlarge': [8, 32, 0], '4xlarge': [16, 64, 0], '8xlarge': [32, 128, 0], '12xlarge': [48, 192, 0], '16xlarge': [64, 256, 0], '24xlarge': [96, 384, 0], 'metal-24xl': [96, 384, 0], '48xlarge': [192, 768, 0], 'metal-48xl': [192, 768, 0], }, m8azn: { medium: [1, 4, 0], large: [2, 8, 0], xlarge: [4, 16, 0], '3xlarge': [12, 48, 0], '6xlarge': [24, 96, 0], '12xlarge': [48, 192, 0], 'metal-12xl': [48, 192, 0], '24xlarge': [96, 384, 0], 'metal-24xl': [96, 384, 0], }, m8g: { medium: [1, 4, 1.1], large: [2, 8, 1.1], xlarge: [4, 16, 1.1], '2xlarge': [8, 32, 1.1], '4xlarge': [16, 64, 1.1], '8xlarge': [32, 128, 1.1], '12xlarge': [48, 192, 1.1], '16xlarge': [64, 256, 1.1], '24xlarge': [96, 384, 1.1], 'metal-24xl': [96, 384, 1.1], '48xlarge': [192, 768, 1.1], 'metal-48xl': [192, 768, 1.1], }, m8gb: { medium: [1, 4, 0], large: [2, 8, 0], xlarge: [4, 16, 0], '2xlarge': [8, 32, 0], '4xlarge': [16, 64, 0], '8xlarge': [32, 128, 0], '12xlarge': [48, 192, 0], '16xlarge': [64, 256, 0], '24xlarge': [96, 384, 0], 'metal-24xl': [96, 384, 0], '48xlarge': [192, 768, 0], 'metal-48xl': [192, 768, 0], }, m8gd: { medium: [1, 4, 0], large: [2, 8, 0], xlarge: [4, 16, 0], '2xlarge': [8, 32, 0], '4xlarge': [16, 64, 0], '8xlarge': [32, 128, 0], '12xlarge': [48, 192, 0], '16xlarge': [64, 256, 0], '24xlarge': [96, 384, 0], 'metal-24xl': [96, 384, 0], '48xlarge': [192, 768, 0], 'metal-48xl': [192, 768, 0], }, m8gn: { medium: [1, 4, 0], large: [2, 8, 0], xlarge: [4, 16, 0], '2xlarge': [8, 32, 0], '4xlarge': [16, 64, 0], '8xlarge': [32, 128, 0], '12xlarge': [48, 192, 0], '16xlarge': [64, 256, 0], '24xlarge': [96, 384, 0], 'metal-24xl': [96, 384, 0], '48xlarge': [192, 768, 0], 'metal-48xl': [192, 768, 0], }, m8i: { large: [2, 8, 0], xlarge: [4, 16, 0], '2xlarge': [8, 32, 0], '4xlarge': [16, 64, 0], '8xlarge': [32, 128, 0], '12xlarge': [48, 192, 0], '16xlarge': [64, 256, 0], '24xlarge': [96, 384, 0], '32xlarge': [128, 512, 0], '48xlarge': [192, 768, 0], 'metal-48xl': [192, 768, 0], '96xlarge': [384, 1536, 0], 'metal-96xl': [384, 1536, 0], }, m8id: { large: [2, 8, 0], xlarge: [4, 16, 0], '2xlarge': [8, 32, 0], '4xlarge': [16, 64, 0], '8xlarge': [32, 128, 0], '12xlarge': [48, 192, 0], '16xlarge': [64, 256, 0], '24xlarge': [96, 384, 0], '32xlarge': [128, 512, 0], '48xlarge': [192, 768, 0], 'metal-48xl': [192, 768, 0], '96xlarge': [384, 1536, 0], 'metal-96xl': [384, 1536, 0], }, 'm8i-flex': { large: [2, 8, 0], xlarge: [4, 16, 0], '2xlarge': [8, 32, 0], '4xlarge': [16, 64, 0], '8xlarge': [32, 128, 0], '12xlarge': [48, 192, 0], '16xlarge': [64, 256, 0], }, mac2: { metal: [8, 16, 0.41], }, 'mac2-m1ultra': { metal: [20, 128, 0], }, 'mac2-m2': { metal: [8, 24, 0], }, 'mac2-m2pro': { metal: [12, 32, 0], }, 'mac-m4': { metal: [10, 24, 0], }, 'mac-m4pro': { metal: [14, 48, 0], }, c6id: { large: [2, 4, 1.2], xlarge: [4, 8, 1.2], '2xlarge': [8, 16, 1.2], '4xlarge': [16, 32, 1.2], '8xlarge': [32, 64, 1.2], '12xlarge': [48, 96, 1.2], '16xlarge': [64, 128, 1.2], '24xlarge': [96, 192, 1.2], '32xlarge': [128, 256, 1.2], metal: [128, 256, 1.2], }, c6in: { large: [2, 4, 0.9], xlarge: [4, 8, 0.9], '2xlarge': [8, 16, 0.9], '4xlarge': [16, 32, 0.9], '8xlarge': [32, 64, 0.9], '12xlarge': [48, 96, 0.9], '16xlarge': [64, 128, 0.9], '24xlarge': [96, 192, 0.9], '32xlarge': [128, 256, 0.9], metal: [128, 256, 0.9], }, c7a: { medium: [1, 2, 1.2], large: [2, 4, 1.2], xlarge: [4, 8, 1.2], '2xlarge': [8, 16, 1.2], '4xlarge': [16, 32, 1.2], '8xlarge': [32, 64, 1.2], '12xlarge': [48, 96, 1.2], '16xlarge': [64, 128, 1.2], '24xlarge': [96, 192, 1.2], '32xlarge': [128, 256, 1.2], '48xlarge': [192, 384, 1.2], 'metal-48xl': [192, 384, 1.2], }, c7g: { medium: [1, 2, 0.63], large: [2, 4, 0.63], xlarge: [4, 8, 0.63], '2xlarge': [8, 16, 0.63], '4xlarge': [16, 32, 0.63], '8xlarge': [32, 64, 0.63], '12xlarge': [48, 96, 0.63], '16xlarge': [64, 128, 0.63], metal: [64, 128, 0.63], }, c7gd: { medium: [1, 2, 0.8], large: [2, 4, 0.8], xlarge: [4, 8, 0.8], '2xlarge': [8, 16, 0.8], '4xlarge': [16, 32, 0.8], '8xlarge': [32, 64, 0.8], '12xlarge': [48, 96, 0.8], '16xlarge': [64, 128, 0.8], metal: [64, 128, 0.8], }, c7gn: { medium: [1, 2, 0.63], large: [2, 4, 0.63], xlarge: [4, 8, 0.63], '2xlarge': [8, 16, 0.63], '4xlarge': [16, 32, 0.63], '8xlarge': [32, 64, 0.63], '12xlarge': [48, 96, 0.63], '16xlarge': [64, 128, 0.63], metal: [64, 128, 0.63], }, c7i: { large: [2, 4, 1.4], xlarge: [4, 8, 1.4], '2xlarge': [8, 16, 1.4], '4xlarge': [16, 32, 1.4], '8xlarge': [32, 64, 1.4], '12xlarge': [48, 96, 1.4], '16xlarge': [64, 128, 1.4], '24xlarge': [96, 192, 1.4], 'metal-24xl': [96, 192, 1.4], '48xlarge': [192, 384, 1.4], 'metal-48xl': [192, 384, 1.4], }, 'c7i-flex': { large: [2, 4, 0], xlarge: [4, 8, 0], '2xlarge': [8, 16, 0], '4xlarge': [16, 32, 0], '8xlarge': [32, 64, 0], '12xlarge': [48, 96, 0], '16xlarge': [64, 128, 0], }, c8a: { medium: [1, 2, 0], large: [2, 4, 0], xlarge: [4, 8, 0], '2xlarge': [8, 16, 0], '4xlarge': [16, 32, 0], '8xlarge': [32, 64, 0], '12xlarge': [48, 96, 0], '16xlarge': [64, 128, 0], '24xlarge': [96, 192, 0], 'metal-24xl': [96, 192, 0], '48xlarge': [192, 384, 0], 'metal-48xl': [192, 384, 0], }, c8g: { medium: [1, 2, 0.79], large: [2, 4, 0.79], xlarge: [4, 8, 0.79], '2xlarge': [8, 16, 0.79], '4xlarge': [16, 32, 0.79], '8xlarge': [32, 64, 0.79], '12xlarge': [48, 96, 0.79], '16xlarge': [64, 128, 0.79], '24xlarge': [96, 192, 0.79], 'metal-24xl': [96, 192, 0.79], '48xlarge': [192, 384, 0.79], 'metal-48xl': [192, 384, 0.79], }, c8gb: { medium: [1, 2, 0], large: [2, 4, 0], xlarge: [4, 8, 0], '2xlarge': [8, 16, 0], '4xlarge': [16, 32, 0], '8xlarge': [32, 64, 0], '12xlarge': [48, 96, 0], '16xlarge': [64, 128, 0], '24xlarge': [96, 192, 0], 'metal-24xl': [96, 192, 0], '48xlarge': [192, 384, 0], 'metal-48xl': [192, 384, 0], }, c8gd: { medium: [1, 2, 0], large: [2, 4, 0], xlarge: [4, 8, 0], '2xlarge': [8, 16, 0], '4xlarge': [16, 32, 0], '8xlarge': [32, 64, 0], '12xlarge': [48, 96, 0], '16xlarge': [64, 128, 0], '24xlarge': [96, 192, 0], 'metal-24xl': [96, 192, 0], '48xlarge': [192, 384, 0], 'metal-48xl': [192, 384, 0], }, c8gn: { medium: [1, 2, 0], large: [2, 4, 0], xlarge: [4, 8, 0], '2xlarge': [8, 16, 0], '4xlarge': [16, 32, 0], '8xlarge': [32, 64, 0], '12xlarge': [48, 96, 0], '16xlarge': [64, 128, 0], '24xlarge': [96, 192, 0], 'metal-24xl': [96, 192, 0], '48xlarge': [192, 384, 0], 'metal-48xl': [192, 384, 0], }, c8i: { large: [2, 4, 0], xlarge: [4, 8, 0], '2xlarge': [8, 16, 0], '4xlarge': [16, 32, 0], '8xlarge': [32, 64, 0], '12xlarge': [48, 96, 0], '16xlarge': [64, 128, 0], '24xlarge': [96, 192, 0], '32xlarge': [128, 256, 0], '48xlarge': [192, 384, 0], 'metal-48xl': [192, 384, 0], '96xlarge': [384, 768, 0], 'metal-96xl': [384, 768, 0], }, c8id: { large: [2, 4, 0], xlarge: [4, 8, 0], '2xlarge': [8, 16, 0], '4xlarge': [16, 32, 0], '8xlarge': [32, 64, 0], '12xlarge': [48, 96, 0], '16xlarge': [64, 128, 0], '24xlarge': [96, 192, 0], '32xlarge': [128, 256, 0], '48xlarge': [192, 384, 0], 'metal-48xl': [192, 384, 0], '96xlarge': [384, 768, 0], 'metal-96xl': [384, 768, 0], }, 'c8i-flex': { large: [2, 4, 0], xlarge: [4, 8, 0], '2xlarge': [8, 16, 0], '4xlarge': [16, 32, 0], '8xlarge': [32, 64, 0], '12xlarge': [48, 96, 0], '16xlarge': [64, 128, 0], }, r6a: { large: [2, 16, 3.4], xlarge: [4, 32, 3.4], '2xlarge': [8, 64, 3.4], '4xlarge': [16, 128, 3.4], '8xlarge': [32, 256, 3.4], '12xlarge': [48, 384, 3.4], '16xlarge': [64, 512, 3.4], '24xlarge': [96, 768, 3.4], '32xlarge': [128, 1024, 3.4], '48xlarge': [192, 1536, 3.4], metal: [192, 1536, 3.4], }, r6id: { large: [2, 16, 2.7], xlarge: [4, 32, 2.7], '2xlarge': [8, 64, 2.7], '4xlarge': [16, 128, 2.7], '8xlarge': [32, 256, 2.7], '12xlarge': [48, 384, 2.7], '16xlarge': [64, 512, 2.7], '24xlarge': [96, 768, 2.7], '32xlarge': [128, 1024, 2.7], metal: [128, 1024, 2.7], }, r6idn: { large: [2, 16, 2.7], xlarge: [4, 32, 2.7], '2xlarge': [8, 64, 2.7], '4xlarge': [16, 128, 2.7], '8xlarge': [32, 256, 2.7], '12xlarge': [48, 384, 2.7], '16xlarge': [64, 512, 2.7], '24xlarge': [96, 768, 2.7], '32xlarge': [128, 1024, 2.7], metal: [128, 1024, 2.7], }, r6in: { large: [2, 16, 2.4], xlarge: [4, 32, 2.4], '2xlarge': [8, 64, 2.4], '4xlarge': [16, 128, 2.4], '8xlarge': [32, 256, 2.4], '12xlarge': [48, 384, 2.4], '16xlarge': [64, 512, 2.4], '24xlarge': [96, 768, 2.4], '32xlarge': [128, 1024, 2.4], metal: [128, 1024, 2.4], }, r7a: { medium: [1, 8, 3.4], large: [2, 16, 3.4], xlarge: [4, 32, 3.4], '2xlarge': [8, 64, 3.4], '4xlarge': [16, 128, 3.4], '8xlarge': [32, 256, 3.4], '12xlarge': [48, 384, 3.4], '16xlarge': [64, 512, 3.4], '24xlarge': [96, 768, 3.4], '32xlarge': [128, 1024, 3.4], '48xlarge': [192, 1536, 3.4], 'metal-48xl': [192, 1536, 3.4], }, r7g: { medium: [1, 8, 1.4], large: [2, 16, 1.4], xlarge: [4, 32, 1.4], '2xlarge': [8, 64, 1.4], '4xlarge': [16, 128, 1.4], '8xlarge': [32, 256, 1.4], '12xlarge': [48, 384, 1.4], '16xlarge': [64, 512, 1.4], metal: [64, 512, 1.4], }, r7gd: { medium: [1, 8, 1.5], large: [2, 16, 1.5], xlarge: [4, 32, 1.5], '2xlarge': [8, 64, 1.5], '4xlarge': [16, 128, 1.5], '8xlarge': [32, 256, 1.5], '12xlarge': [48, 384, 1.5], '16xlarge': [64, 512, 1.5], metal: [64, 512, 1.5], }, r7i: { large: [2, 16, 0], xlarge: [4, 32, 0], '2xlarge': [8, 64, 0], '4xlarge': [16, 128, 0], '8xlarge': [32, 256, 0], '12xlarge': [48, 384, 0], '16xlarge': [64, 512, 0], '24xlarge': [96, 768, 0], 'metal-24xl': [96, 768, 0], '48xlarge': [192, 1536, 0], 'metal-48xl': [192, 1536, 0], }, r7iz: { large: [2, 16, 2.4], xlarge: [4, 32, 2.4], '2xlarge': [8, 64, 2.4], '4xlarge': [16, 128, 2.4], '8xlarge': [32, 256, 2.4], '12xlarge': [48, 384, 2.4], '16xlarge': [64, 512, 2.4], 'metal-16xl': [64, 512, 2.4], '32xlarge': [128, 1024, 2.4], 'metal-32xl': [128, 1024, 2.4], }, r8a: { medium: [1, 8, 0], large: [2, 16, 0], xlarge: [4, 32, 0], '2xlarge': [8, 64, 0], '4xlarge': [16, 128, 0], '8xlarge': [32, 256, 0], '12xlarge': [48, 384, 0], '16xlarge': [64, 512, 0], '24xlarge': [96, 768, 0], 'metal-24xl': [96, 768, 0], '48xlarge': [192, 1536, 0], 'metal-48xl': [192, 1536, 0], }, r8g: { medium: [1, 8, 1.8], large: [2, 16, 1.8], xlarge: [4, 32, 1.8], '2xlarge': [8, 64, 1.8], '4xlarge': [16, 128, 1.8], '8xlarge': [32, 256, 1.8], '12xlarge': [48, 384, 1.8], '16xlarge': [64, 512, 1.8], '24xlarge': [96, 768, 1.8], 'metal-24xl': [96, 768, 1.8], '48xlarge': [192, 1536, 1.8], 'metal-48xl': [192, 1536, 1.8], }, r8gb: { medium: [1, 8, 0], large: [2, 16, 0], xlarge: [4, 32, 0], '2xlarge': [8, 64, 0], '4xlarge': [16, 128, 0], '8xlarge': [32, 256, 0], '12xlarge': [48, 384, 0], '16xlarge': [64, 512, 0], '24xlarge': [96, 768, 0], 'metal-24xl': [96, 768, 0], '48xlarge': [192, 1536, 0], 'metal-48xl': [192, 1536, 0], }, r8gd: { medium: [1, 8, 0], large: [2, 16, 0], xlarge: [4, 32, 0], '2xlarge': [8, 64, 0], '4xlarge': [16, 128, 0], '8xlarge': [32, 256, 0], '12xlarge': [48, 384, 0], '16xlarge': [64, 512, 0], '24xlarge': [96, 768, 0], 'metal-24xl': [96, 768, 0], '48xlarge': [192, 1536, 0], 'metal-48xl': [192, 1536, 0], }, r8gn: { medium: [1, 8, 0], large: [2, 16, 0], xlarge: [4, 32, 0], '2xlarge': [8, 64, 0], '4xlarge': [16, 128, 0], '8xlarge': [32, 256, 0], '12xlarge': [48, 384, 0], '16xlarge': [64, 512, 0], '24xlarge': [96, 768, 0], 'metal-24xl': [96, 768, 0], '48xlarge': [192, 1536, 0], 'metal-48xl': [192, 1536, 0], }, r8i: { large: [2, 16, 0], xlarge: [4, 32, 0], '2xlarge': [8, 64, 0], '4xlarge': [16, 128, 0], '8xlarge': [32, 256, 0], '12xlarge': [48, 384, 0], '16xlarge': [64, 512, 0], '24xlarge': [96, 768, 0], '32xlarge': [128, 1024, 0], '48xlarge': [192, 1536, 0], 'metal-48xl': [192, 1536, 0], '96xlarge': [384, 3072, 0], 'metal-96xl': [384, 3072, 0], }, r8id: { large: [2, 16, 0], xlarge: [4, 32, 0], '2xlarge': [8, 64, 0], '4xlarge': [16, 128, 0], '8xlarge': [32, 256, 0], '12xlarge': [48, 384, 0], '16xlarge': [64, 512, 0], '24xlarge': [96, 768, 0], '32xlarge': [128, 1024, 0], '48xlarge': [192, 1536, 0], 'metal-48xl': [192, 1536, 0], '96xlarge': [384, 3072, 0], 'metal-96xl': [384, 3072, 0], }, 'r8i-flex': { large: [2, 16, 0], xlarge: [4, 32, 0], '2xlarge': [8, 64, 0], '4xlarge': [16, 128, 0], '8xlarge': [32, 256, 0], '12xlarge': [48, 384, 0], '16xlarge': [64, 512, 0], }, x8g: { medium: [1, 16, 3.2], large: [2, 32, 3.2], xlarge: [4, 64, 3.2], '2xlarge': [8, 128, 3.2], '4xlarge': [16, 256, 3.2], '8xlarge': [32, 512, 3.2], '12xlarge': [48, 768, 3.2], '16xlarge': [64, 1024, 3.2], '24xlarge': [96, 1536, 3.2], 'metal-24xl': [96, 1536, 3.2], '48xlarge': [192, 3072, 3.2], 'metal-48xl': [192, 3072, 3.2], }, x8aedz: { large: [2, 64, 0], xlarge: [4, 128, 0], '3xlarge': [12, 384, 0], '6xlarge': [24, 768, 0], '12xlarge': [48, 1536, 0], 'metal-12xl': [48, 1536, 0], '24xlarge': [96, 3072, 0], 'metal-24xl': [96, 3072, 0], }, x8i: { large: [2, 32, 0], xlarge: [4, 64, 0], '2xlarge': [8, 128, 0], '4xlarge': [16, 256, 0], '8xlarge': [32, 512, 0], '12xlarge': [48, 768, 0], '16xlarge': [64, 1024, 0], '24xlarge': [96, 1536, 0], '32xlarge': [128, 2048, 0], '48xlarge': [192, 3072, 0], 'metal-48xl': [192, 3072, 0], '64xlarge': [256, 4096, 0], '96xlarge': [384, 6144, 0], 'metal-96xl': [384, 6144, 0], }, i4g: { large: [2, 16, 2], xlarge: [4, 32, 2], '2xlarge': [8, 64, 2], '4xlarge': [16, 128, 2], '8xlarge': [32, 256, 2], '16xlarge': [64, 512, 2], }, i7i: { large: [2, 16, 0], xlarge: [4, 32, 0], '2xlarge': [8, 64, 0], '4xlarge': [16, 128, 0], '8xlarge': [32, 256, 0], '12xlarge': [48, 384, 0], '16xlarge': [64, 512, 0], '24xlarge': [96, 768, 0], 'metal-24xl': [96, 768, 0], '48xlarge': [192, 1536, 0], 'metal-48xl': [192, 1536, 0], }, i7ie: { large: [2, 16, 0], xlarge: [4, 32, 0], '2xlarge': [8, 64, 0], '3xlarge': [12, 96, 0], '6xlarge': [24, 192, 0], '12xlarge': [48, 384, 0], '18xlarge': [72, 576, 0], '24xlarge': [96, 768, 0], 'metal-24xl': [96, 768, 0], '48xlarge': [192, 1536, 0], 'metal-48xl': [192, 1536, 0], }, i8g: { large: [2, 16, 2.7], xlarge: [4, 32, 2.7], '2xlarge': [8, 64, 2.7], '4xlarge': [16, 128, 2.7], '8xlarge': [32, 256, 2.7], '12xlarge': [48, 384, 2.7], '16xlarge': [64, 512, 2.7], '24xlarge': [96, 768, 2.7], 'metal-24xl': [96, 768, 2.7], '48xlarge': [192, 1536, 2.7], 'metal-48xl': [192, 1536, 2.7], }, i8ge: { large: [2, 16, 0], xlarge: [4, 32, 0], '2xlarge': [8, 64, 0], '3xlarge': [12, 96, 0], '6xlarge': [24, 192, 0], '12xlarge': [48, 384, 0], '18xlarge': [72, 576, 0], '24xlarge': [96, 768, 0], 'metal-24xl': [96, 768, 0], '48xlarge': [192, 1536, 0], 'metal-48xl': [192, 1536, 0], }, dl2q: { '24xlarge': [96, 768, 0], }, f2: { '6xlarge': [24, 256, 0], '12xlarge': [48, 512, 0], '48xlarge': [192, 2048, 0], }, g6: { xlarge: [4, 16, 2.3], '2xlarge': [8, 32, 2.3], '4xlarge': [16, 64, 2.3], '8xlarge': [32, 128, 2.3], '12xlarge': [48, 192, 2.3], '16xlarge': [64, 256, 2.3], '24xlarge': [96, 384, 2.3], '48xlarge': [192, 768, 2.3], }, g6e: { xlarge: [4, 32, 3.5], '2xlarge': [8, 64, 3.5], '4xlarge': [16, 128, 3.5], '8xlarge': [32, 256, 3.5], '12xlarge': [48, 384, 3.5], '16xlarge': [64, 512, 3.5], '24xlarge': [96, 768, 3.5], '48xlarge': [192, 1536, 3.5], }, g6f: { large: [2, 8, 0], xlarge: [4, 16, 0], '2xlarge': [8, 32, 0], '4xlarge': [16, 64, 0], }, gr6: { '4xlarge': [16, 128, 0.9], '8xlarge': [32, 256, 0.9], }, gr6f: { '4xlarge': [16, 128, 0], }, g7e: { '2xlarge': [8, 64, 0], '4xlarge': [16, 128, 0], '8xlarge': [32, 256, 0], '12xlarge': [48, 512, 0], '24xlarge': [96, 1024, 0], '48xlarge': [192, 2048, 0], }, inf2: { xlarge: [4, 16, 1.9], '8xlarge': [32, 128, 1.9], '24xlarge': [96, 384, 1.9], '48xlarge': [192, 768, 1.9], }, p4de: { '24xlarge': [96, 1152, 3], }, p5: { '4xlarge': [16, 256, 5.7], '48xlarge': [192, 2048, 5.7], }, p5e: { '48xlarge': [192, 2048, 0], }, p5en: { '48xlarge': [192, 2048, 0], }, 'p6-b200': { '48xlarge': [192, 2048, 0], }, 'p6-b300': { '48xlarge': [192, 4096, 0], }, 'p6e-gb200': { '36xlarge': [144, 960, 0], }, trn1: { '2xlarge': [8, 32, 1.7], '32xlarge': [128, 512, 1.7], }, trn1n: { '32xlarge': [128, 512, 1.7], }, trn2: { '3xlarge': [12, 128, 0], '48xlarge': [192, 2048, 0], }, trn2u: { '48xlarge': [192, 2048, 0], }, hpc6id: { '32xlarge': [64, 1024, 0], }, hpc7a: { '12xlarge': [24, 768, 0], '24xlarge': [48, 768, 0], '48xlarge': [96, 768, 0], '96xlarge': [192, 768, 0], }, hpc7g: { '4xlarge': [16, 128, 0.63], '8xlarge': [32, 128, 0.63], '16xlarge': [64, 128, 0.63], }, hpc8a: { '96xlarge': [192, 768, 0], }, } export const INSTANCE_FAMILY_TO_INSTANCE_TYPE_MAPPING: { [instanceFamily: string]: { [instanceSize: string]: number[] } // [vcpus, memory, scope3 emissions ] } = { 'u-3tb1': { '56xlarge': [224, 3072, 45], }, 'u-6tb1': { '56xlarge': [224, 6144, 45], '112xlarge': [448, 6144, 45], metal: [448, 6144, 45], }, 'u-9tb1': { '112xlarge': [448, 9216, 45], metal: [448, 9216, 45], }, 'u-12tb1': { '112xlarge': [448, 12288, 45], metal: [448, 12288, 45], }, 'u-18tb1': { '112xlarge': [448, 18432, 45], metal: [448, 18432, 45], }, 'u-24tb1': { '112xlarge': [448, 24576, 45], metal: [448, 24576, 45], }, 'u7i-6tb': { '112xlarge': [448, 6144, 0], }, 'u7i-8tb': { '112xlarge': [448, 8192, 0], }, 'u7i-12tb': { '224xlarge': [896, 12288, 0], }, 'u7in-16tb': { '224xlarge': [896, 16384, 0], }, 'u7in-24tb': { '224xlarge': [896, 24576, 0], }, 'u7in-32tb': { '224xlarge': [896, 32768, 0], }, 'u7inh-32tb': { '480xlarge': [1920, 32768, 0], }, } export const BURSTABLE_INSTANCE_BASELINE_UTILIZATION: { [instanceType: string]: number } = { 't2.nano': 5, 't2.micro': 10, 't2.small': 20, 't2.medium': 20, 't2.large': 30, 't2.xlarge': 22.5, 't2.2xlarge': 17, 't3.nano': 5, 't3.micro': 10, 't3.small': 20, 't3.medium': 20, 't3.large': 30, 't3.xlarge': 40, 't3.2xlarge': 40, 't3a.nano': 5, 't3a.micro': 10, 't3a.small': 20, 't3a.medium': 20, 't3a.large': 30, 't3a.xlarge': 40, 't3a.2xlarge': 40, 't4g.nano': 5, 't4g.micro': 10, 't4g.small': 20, 't4g.medium': 20, 't4g.large': 30, 't4g.xlarge': 40, 't4g.2xlarge': 40, } export const INSTANCE_TYPE_COMPUTE_PROCESSOR_MAPPING: { [instanceType: string]: string[] } =