UNPKG

@aws-cdk/aws-ec2

Version:

The CDK Construct Library for AWS::EC2

973 lines 94 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.InstanceType = exports.InstanceSize = exports.InstanceArchitecture = exports.InstanceClass = void 0; const jsiiDeprecationWarnings = require("../.warnings.jsii.js"); const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); /** * What class and generation of instance to use * * We have both symbolic and concrete enums for every type. * * The first are for people that want to specify by purpose, * the second one are for people who already know exactly what * 'R4' means. */ var InstanceClass; (function (InstanceClass) { /** * Standard instances, 3rd generation */ InstanceClass["STANDARD3"] = "standard3"; /** * Standard instances, 3rd generation */ InstanceClass["M3"] = "m3"; /** * Standard instances, 4th generation */ InstanceClass["STANDARD4"] = "standard4"; /** * Standard instances, 4th generation */ InstanceClass["M4"] = "m4"; /** * Standard instances, 5th generation */ InstanceClass["STANDARD5"] = "standard5"; /** * Standard instances, 5th generation */ InstanceClass["M5"] = "m5"; /** * Standard instances with local NVME drive, 5th generation */ InstanceClass["STANDARD5_NVME_DRIVE"] = "standard5-nvme-drive"; /** * Standard instances with local NVME drive, 5th generation */ InstanceClass["M5D"] = "m5d"; /** * Standard instances based on AMD EPYC, 5th generation */ InstanceClass["STANDARD5_AMD"] = "standard5-amd"; /** * Standard instances based on AMD EPYC, 5th generation */ InstanceClass["M5A"] = "m5a"; /** * Standard instances based on AMD EPYC with local NVME drive, 5th generation */ InstanceClass["STANDARD5_AMD_NVME_DRIVE"] = "standard5-amd-nvme-drive"; /** * Standard instances based on AMD EPYC with local NVME drive, 5th generation */ InstanceClass["M5AD"] = "m5ad"; /** * Standard instances for high performance computing, 5th generation */ InstanceClass["STANDARD5_HIGH_PERFORMANCE"] = "standard5-high-performance"; /** * Standard instances for high performance computing, 5th generation */ InstanceClass["M5N"] = "m5n"; /** * Standard instances with local NVME drive for high performance computing, 5th generation */ InstanceClass["STANDARD5_NVME_DRIVE_HIGH_PERFORMANCE"] = "standard5-nvme-drive-high-performance"; /** * Standard instances with local NVME drive for high performance computing, 5th generation */ InstanceClass["M5DN"] = "m5dn"; /** * Standard instances with high memory and compute capacity based on Intel Xeon Scalable (Cascade Lake) processors, 5nd generation */ InstanceClass["STANDARD5_HIGH_COMPUTE"] = "standard5-high-compute"; /** * Standard instances with high memory and compute capacity based on Intel Xeon Scalable (Cascade Lake) processors, 5nd generation */ InstanceClass["M5ZN"] = "m5zn"; /** * Memory optimized instances, 3rd generation */ InstanceClass["MEMORY3"] = "memory3"; /** * Memory optimized instances, 3rd generation */ InstanceClass["R3"] = "r3"; /** * Memory optimized instances, 4th generation */ InstanceClass["MEMORY4"] = "memory4"; /** * Memory optimized instances, 4th generation */ InstanceClass["R4"] = "r4"; /** * Memory optimized instances, 5th generation */ InstanceClass["MEMORY5"] = "memory5"; /** * Memory optimized instances, 5th generation */ InstanceClass["R5"] = "r5"; /** * Memory optimized instances, 6th generation with Intel Xeon Scalable processors (3rd generation processors code named Ice Lake) */ InstanceClass["MEMORY6_INTEL"] = "memory6-intel"; /** * Memory optimized instances, 6th generation with Intel Xeon Scalable processors (3rd generation processors code named Ice Lake) */ InstanceClass["R6I"] = "r6i"; /** * Memory optimized instances for high performance computing, 5th generation */ InstanceClass["MEMORY5_HIGH_PERFORMANCE"] = "memory5-high-performance"; /** * Memory optimized instances for high performance computing, 5th generation */ InstanceClass["R5N"] = "r5n"; /** * Memory optimized instances with local NVME drive, 5th generation */ InstanceClass["MEMORY5_NVME_DRIVE"] = "memory5-nvme-drive"; /** * Memory optimized instances with local NVME drive, 5th generation */ InstanceClass["R5D"] = "r5d"; /** * Memory optimized instances with local NVME drive for high performance computing, 5th generation */ InstanceClass["MEMORY5_NVME_DRIVE_HIGH_PERFORMANCE"] = "memory5-nvme-drive-high-performance"; /** * Memory optimized instances with local NVME drive for high performance computing, 5th generation */ InstanceClass["R5DN"] = "r5dn"; /** * Memory optimized instances based on AMD EPYC, 5th generation */ InstanceClass["MEMORY5_AMD"] = "memory5-amd"; /** * Memory optimized instances based on AMD EPYC, 5th generation */ InstanceClass["R5A"] = "r5a"; /** * Memory optimized instances based on AMD EPYC with local NVME drive, 5th generation */ InstanceClass["MEMORY5_AMD_NVME_DRIVE"] = "memory5-amd-nvme-drive"; /** * High memory instances (6TB) based on Intel Xeon Platinum 8176M (Skylake) processors, 1st generation */ InstanceClass["HIGH_MEMORY_6TB_1"] = "high-memory-6tb-1"; /** * High memory instances (6TB) based on Intel Xeon Platinum 8176M (Skylake) processors, 1st generation */ InstanceClass["U_6TB1"] = "u-6tb1"; /** * High memory instances (9TB) based on Intel Xeon Platinum 8176M (Skylake) processors, 1st generation */ InstanceClass["HIGH_MEMORY_9TB_1"] = "high-memory-9tb-1"; /** * High memory instances (9TB) based on Intel Xeon Platinum 8176M (Skylake) processors, 1st generation */ InstanceClass["U_9TB1"] = "u-9tb1"; /** * High memory instances (12TB) based on Intel Xeon Platinum 8176M (Skylake) processors, 1st generation */ InstanceClass["HIGH_MEMORY_12TB_1"] = "high-memory-12tb-1"; /** * High memory instances (12TB) based on Intel Xeon Platinum 8176M (Skylake) processors, 1st generation */ InstanceClass["U_12TB1"] = "u-12tb1"; /** * High memory instances (18TB) based on Intel Xeon Scalable (Cascade Lake) processors, 1st generation */ InstanceClass["HIGH_MEMORY_18TB_1"] = "high-memory-18tb-1"; /** * High memory instances (18TB) based on Intel Xeon Scalable (Cascade Lake) processors, 1st generation */ InstanceClass["U_18TB1"] = "u-18tb1"; /** * High memory instances (24TB) based on Intel Xeon Scalable (Cascade Lake) processors, 1st generation */ InstanceClass["HIGH_MEMORY_24TB_1"] = "high-memory-24tb-1"; /** * High memory instances (24TB) based on Intel Xeon Scalable (Cascade Lake) processors, 1st generation */ InstanceClass["U_24TB1"] = "u-24tb1"; /** * Memory optimized instances based on AMD EPYC with local NVME drive, 5th generation */ InstanceClass["R5AD"] = "r5ad"; /** * Memory optimized instances that are also EBS-optimized, 5th generation */ InstanceClass["MEMORY5_EBS_OPTIMIZED"] = "memory5-ebs-optimized"; /** * Memory optimized instances that are also EBS-optimized, 5th generation */ InstanceClass["R5B"] = "r5b"; /** * Memory optimized instances, 6th generation with Graviton2 processors */ InstanceClass["MEMORY6_GRAVITON"] = "memory6-graviton"; /** * Memory optimized instances, 6th generation with Graviton2 processors */ InstanceClass["R6G"] = "r6g"; /** * Memory optimized instances, 6th generation with Graviton2 processors and local NVME drive */ InstanceClass["MEMORY6_GRAVITON2_NVME_DRIVE"] = "memory6-graviton2-nvme-drive"; /** * Memory optimized instances, 6th generation with Graviton2 processors and local NVME drive */ InstanceClass["R6GD"] = "r6gd"; /** * Compute optimized instances, 3rd generation */ InstanceClass["COMPUTE3"] = "compute3"; /** * Compute optimized instances, 3rd generation */ InstanceClass["C3"] = "c3"; /** * Compute optimized instances, 4th generation */ InstanceClass["COMPUTE4"] = "compute4"; /** * Compute optimized instances, 4th generation */ InstanceClass["C4"] = "c4"; /** * Compute optimized instances, 5th generation */ InstanceClass["COMPUTE5"] = "compute5"; /** * Compute optimized instances, 5th generation */ InstanceClass["C5"] = "c5"; /** * Compute optimized instances with local NVME drive, 5th generation */ InstanceClass["COMPUTE5_NVME_DRIVE"] = "compute5-nvme-drive"; /** * Compute optimized instances with local NVME drive, 5th generation */ InstanceClass["C5D"] = "c5d"; /** * Compute optimized instances based on AMD EPYC, 5th generation */ InstanceClass["COMPUTE5_AMD"] = "compute5-amd"; /** * Compute optimized instances based on AMD EPYC, 5th generation */ InstanceClass["C5A"] = "c5a"; /** * Compute optimized instances with local NVME drive based on AMD EPYC, 5th generation */ InstanceClass["COMPUTE5_AMD_NVME_DRIVE"] = "compute5-amd-nvme-drive"; /** * Compute optimized instances with local NVME drive based on AMD EPYC, 5th generation */ InstanceClass["C5AD"] = "c5ad"; /** * Compute optimized instances for high performance computing, 5th generation */ InstanceClass["COMPUTE5_HIGH_PERFORMANCE"] = "compute5-high-performance"; /** * Compute optimized instances for high performance computing, 5th generation */ InstanceClass["C5N"] = "c5n"; /** * Compute optimized instances, 6th generation */ InstanceClass["COMPUTE6_INTEL"] = "compute6-intel"; /** * Compute optimized instances, 6th generation */ InstanceClass["C6I"] = "c6i"; /** * Compute optimized instances based on AMD EPYC (codename Milan), 6th generation */ InstanceClass["COMPUTE6_AMD"] = "compute6-amd"; /** * Compute optimized instances based on AMD EPYC (codename Milan), 6th generation */ InstanceClass["C6A"] = "c6a"; /** * Compute optimized instances for high performance computing, 6th generation with Graviton2 processors */ InstanceClass["COMPUTE6_GRAVITON2"] = "compute6-graviton2"; /** * Compute optimized instances for high performance computing, 6th generation with Graviton2 processors */ InstanceClass["C6G"] = "c6g"; /** * Compute optimized instances for high performance computing, 6th generation with Graviton2 processors * and local NVME drive */ InstanceClass["COMPUTE6_GRAVITON2_NVME_DRIVE"] = "compute6-graviton2-nvme-drive"; /** * Compute optimized instances for high performance computing, 6th generation with Graviton2 processors * and local NVME drive */ InstanceClass["C6GD"] = "c6gd"; /** * Compute optimized instances for high performance computing, 6th generation with Graviton2 processors * and high network bandwidth capabilities */ InstanceClass["COMPUTE6_GRAVITON2_HIGH_NETWORK_BANDWITH"] = "compute6-graviton2-high-network-banwidth"; /** * Compute optimized instances for high performance computing, 6th generation with Graviton2 processors * and high network bandwidth capabilities */ InstanceClass["COMPUTE6_GRAVITON2_HIGH_NETWORK_BANDWIDTH"] = "compute6-graviton2-high-network-bandwidth"; /** * Compute optimized instances for high performance computing, 6th generation with Graviton2 processors * and high network bandwidth capabilities */ InstanceClass["C6GN"] = "c6gn"; /** * Storage-optimized instances, 2nd generation */ InstanceClass["STORAGE2"] = "storage2"; /** * Storage-optimized instances, 2nd generation */ InstanceClass["D2"] = "d2"; /** * Storage-optimized instances, 3rd generation */ InstanceClass["STORAGE3"] = "storage3"; /** * Storage-optimized instances, 3rd generation */ InstanceClass["D3"] = "d3"; /** * Storage-optimized instances, 3rd generation */ InstanceClass["STORAGE3_ENHANCED_NETWORK"] = "storage3-enhanced-network"; /** * Storage-optimized instances, 3rd generation */ InstanceClass["D3EN"] = "d3en"; /** * Storage/compute balanced instances, 1st generation */ InstanceClass["STORAGE_COMPUTE_1"] = "storage-compute-1"; /** * Storage/compute balanced instances, 1st generation */ InstanceClass["H1"] = "h1"; /** * I/O-optimized instances, 3rd generation */ InstanceClass["IO3"] = "io3"; /** * I/O-optimized instances, 3rd generation */ InstanceClass["I3"] = "i3"; /** * I/O-optimized instances with local NVME drive, 3rd generation */ InstanceClass["IO3_DENSE_NVME_DRIVE"] = "io3-dense-nvme-drive"; /** * I/O-optimized instances with local NVME drive, 3rd generation */ InstanceClass["I3EN"] = "i3en"; /** * I/O-optimized instances with local NVME drive powered by Intel Xeon Scalable processors (code named Ice Lake), 4th generation */ InstanceClass["IO4_INTEL"] = "io4_intel"; /** * I/O-optimized instances with local NVME drive powered by Intel Xeon Scalable processors (code named Ice Lake), 4th generation */ InstanceClass["I4I"] = "i4i"; /** * Storage optimized instances powered by Graviton2 processor, 4th generation */ InstanceClass["STORAGE4_GRAVITON_NETWORK_OPTIMIZED"] = "storage4-graviton-network-optimized"; /** * Storage optimized instances powered by Graviton2 processor, 4th generation */ InstanceClass["IM4GN"] = "im4gn"; /** * Storage optimized instances powered by Graviton2 processor, 4th generation */ InstanceClass["STORAGE4_GRAVITON_NETWORK_STORAGE_OPTIMIZED"] = "storage4-graviton-network-storage-optimized"; /** * Storage optimized instances powered by Graviton2 processor, 4th generation */ InstanceClass["IS4GEN"] = "is4gen"; /** * Burstable instances, 2nd generation */ InstanceClass["BURSTABLE2"] = "burstable2"; /** * Burstable instances, 2nd generation */ InstanceClass["T2"] = "t2"; /** * Burstable instances, 3rd generation */ InstanceClass["BURSTABLE3"] = "burstable3"; /** * Burstable instances, 3rd generation */ InstanceClass["T3"] = "t3"; /** * Burstable instances based on AMD EPYC, 3rd generation */ InstanceClass["BURSTABLE3_AMD"] = "burstable3-amd"; /** * Burstable instances based on AMD EPYC, 3rd generation */ InstanceClass["T3A"] = "t3a"; /** * Burstable instances, 4th generation with Graviton2 processors */ InstanceClass["BURSTABLE4_GRAVITON"] = "burstable4-graviton"; /** * Burstable instances, 4th generation with Graviton2 processors */ InstanceClass["T4G"] = "t4g"; /** * Memory-intensive instances, 1st generation */ InstanceClass["MEMORY_INTENSIVE_1"] = "memory-intensive-1"; /** * Memory-intensive instances, 1st generation */ InstanceClass["X1"] = "x1"; /** * Memory-intensive instances, extended, 1st generation */ InstanceClass["MEMORY_INTENSIVE_1_EXTENDED"] = "memory-intensive-1-extended"; /** * Memory-intensive instances, 1st generation */ InstanceClass["X1E"] = "x1e"; /** * Memory-intensive instances, 2nd generation with Graviton2 processors * * This instance type can be used only in RDS. It is not supported in EC2. */ InstanceClass["MEMORY_INTENSIVE_2_GRAVITON2"] = "memory-intensive-2-graviton2"; /** * Memory-intensive instances, 2nd generation with Graviton2 processors * * This instance type can be used only in RDS. It is not supported in EC2. */ InstanceClass["X2G"] = "x2g"; /** * Memory-intensive instances, 2nd generation with Graviton2 processors and local NVME drive */ InstanceClass["MEMORY_INTENSIVE_2_GRAVITON2_NVME_DRIVE"] = "memory-intensive-2-graviton2-nvme-drive"; /** * Memory-intensive instances, 2nd generation with Graviton2 processors and local NVME drive */ InstanceClass["X2GD"] = "x2gd"; /** * Memory-intensive instances with higher network bandwith, local NVME drive, and extended memory. Intel Xeon Scalable (Ice Lake) processors */ InstanceClass["MEMORY_INTENSIVE_2_XT_INTEL"] = "memory_intensive_2_xt_intel"; /** * Memory-intensive instances with higher network bandwith, local NVME drive, and extended memory. Intel Xeon Scalable (Ice Lake) processors */ InstanceClass["X2IEDN"] = "x2iedn"; /** * Memory-intensive instances with higher network bandwith and local NVME drive, Intel Xeon Scalable (Ice Lake) processors */ InstanceClass["MEMORY_INTENSIVE_2_INTEL"] = "memory_intensive_2_intel"; /** * Memory-intensive instances with higher network bandwith and local NVME drive, Intel Xeon Scalable (Ice Lake) processors */ InstanceClass["X2IDN"] = "x2idn"; /** * Memory-intensive instances with higher network bandwith and single-threaded performance, Intel Xeon Scalable (Cascade Lake) processors */ InstanceClass["MEMORY_INTENSIVE_2_XTZ_INTEL"] = "memory_intensive_2_xtz_intel"; /** * Memory-intensive instances with higher network bandwith and single-threaded performance, Intel Xeon Scalable (Cascade Lake) processors */ InstanceClass["X2IEZN"] = "x2iezn"; /** * Instances with customizable hardware acceleration, 1st generation */ InstanceClass["FPGA1"] = "fpga1"; /** * Instances with customizable hardware acceleration, 1st generation */ InstanceClass["F1"] = "f1"; /** * Graphics-optimized instances, 3rd generation */ InstanceClass["GRAPHICS3"] = "graphics3"; /** * Graphics-optimized instances, 3rd generation */ InstanceClass["G3"] = "g3"; /** * Graphics-optimized instances with NVME drive for high performance computing, 4th generation */ InstanceClass["GRAPHICS4_NVME_DRIVE_HIGH_PERFORMANCE"] = "graphics4-nvme-drive-high-performance"; /** * Graphics-optimized instances with NVME drive for high performance computing, 4th generation */ InstanceClass["G4DN"] = "g4dn"; /** * Graphics-optimized instances based on AMD EPYC And Radeon Pro GPU (NAVI) with local NVME drive, 4th generation */ InstanceClass["GRAPHICS4_AMD_NVME_DRIVE"] = "graphics4-amd-nvme-drive"; /** * Graphics-optimized instances based on AMD EPYC And Radeon Pro GPU (NAVI) with local NVME drive, 4th generation */ InstanceClass["G4AD"] = "g4ad"; /** * Graphics-optimized instances, 5th generation */ InstanceClass["GRAPHICS5"] = "graphics5"; /** * Graphics-optimized instances, 5th generation */ InstanceClass["G5"] = "g5"; /** * Graphics-optimized instances powered by AWS Graviton2 Processors and NVIDIA T4G Tensor Core GPUs, 5th generation */ InstanceClass["GRAPHICS5_GRAVITON2"] = "graphics5-graviton2"; /** * Graphics-optimized instances powered by AWS Graviton2 Processors and NVIDIA T4G Tensor Core GPUs, 5th generation */ InstanceClass["G5G"] = "g5g"; /** * Parallel-processing optimized instances, 2nd generation */ InstanceClass["PARALLEL2"] = "parallel2"; /** * Parallel-processing optimized instances, 2nd generation */ InstanceClass["P2"] = "p2"; /** * Parallel-processing optimized instances, 3nd generation */ InstanceClass["PARALLEL3"] = "parallel3"; /** * Parallel-processing optimized instances, 3rd generation */ InstanceClass["P3"] = "p3"; /** * Parallel-processing optimized instances, 4th generation */ InstanceClass["PARALLEL4"] = "parallel4"; /** * Parallel-processing optimized instances, 4th generation */ InstanceClass["P4D"] = "p4d"; /** * Arm processor based instances, 1st generation */ InstanceClass["ARM1"] = "arm1"; /** * Arm processor based instances, 1st generation */ InstanceClass["A1"] = "a1"; /** * Arm processor based instances, 2nd generation */ InstanceClass["STANDARD6_GRAVITON"] = "standard6-graviton"; /** * Arm processor based instances, 2nd generation */ InstanceClass["M6G"] = "m6g"; /** * Standard instances based on Intel (Ice Lake), 6th generation. */ InstanceClass["STANDARD6_INTEL"] = "standard6-intel"; /** * Standard instances based on Intel (Ice Lake), 6th generation. */ InstanceClass["M6I"] = "m6i"; /** * Standard instances based on 3rd Gen AMD EPYC processors, 6th generation. */ InstanceClass["STANDARD6_AMD"] = "standard6-amd"; /** * Standard instances based on 3rd Gen AMD EPYC processors, 6th generation. */ InstanceClass["M6A"] = "m6a"; /** * Standard instances, 6th generation with Graviton2 processors and local NVME drive */ InstanceClass["STANDARD6_GRAVITON2_NVME_DRIVE"] = "standard6-graviton2-nvme-drive"; /** * Standard instances, 6th generation with Graviton2 processors and local NVME drive */ InstanceClass["M6GD"] = "m6gd"; /** * High memory and compute capacity instances, 1st generation */ InstanceClass["HIGH_COMPUTE_MEMORY1"] = "high-compute-memory1"; /** * High memory and compute capacity instances, 1st generation */ InstanceClass["Z1D"] = "z1d"; /** * Inferentia Chips based instances for machine learning inference applications, 1st generation */ InstanceClass["INFERENCE1"] = "inference1"; /** * Inferentia Chips based instances for machine learning inference applications, 1st generation */ InstanceClass["INF1"] = "inf1"; /** * Macintosh instances built on Apple Mac mini computers, 1st generation with Intel procesors */ InstanceClass["MACINTOSH1_INTEL"] = "macintosh1-intel"; /** * Macintosh instances built on Apple Mac mini computers, 1st generation with Intel procesors */ InstanceClass["MAC1"] = "mac1"; /** * Multi-stream video transcoding instances for resolutions up to 4K UHD, 1st generation */ InstanceClass["VIDEO_TRANSCODING1"] = "video-transcoding1"; /** * Multi-stream video transcoding instances for resolutions up to 4K UHD, 1st generation */ InstanceClass["VT1"] = "vt1"; /** * High performance computing based on AMD EPYC, 6th generation */ InstanceClass["HIGH_PERFORMANCE_COMPUTING6_AMD"] = "high-performance-computing6-amd"; /** * High performance computing based on AMD EPYC, 6th generation */ InstanceClass["HPC6A"] = "hpc6a"; })(InstanceClass = exports.InstanceClass || (exports.InstanceClass = {})); /** * Identifies an instance's CPU architecture */ var InstanceArchitecture; (function (InstanceArchitecture) { /** * ARM64 architecture */ InstanceArchitecture["ARM_64"] = "arm64"; /** * x86-64 architecture */ InstanceArchitecture["X86_64"] = "x86_64"; })(InstanceArchitecture = exports.InstanceArchitecture || (exports.InstanceArchitecture = {})); /** * What size of instance to use */ var InstanceSize; (function (InstanceSize) { /** * Instance size NANO (nano) */ InstanceSize["NANO"] = "nano"; /** * Instance size MICRO (micro) */ InstanceSize["MICRO"] = "micro"; /** * Instance size SMALL (small) */ InstanceSize["SMALL"] = "small"; /** * Instance size MEDIUM (medium) */ InstanceSize["MEDIUM"] = "medium"; /** * Instance size LARGE (large) */ InstanceSize["LARGE"] = "large"; /** * Instance size XLARGE (xlarge) */ InstanceSize["XLARGE"] = "xlarge"; /** * Instance size XLARGE2 (2xlarge) */ InstanceSize["XLARGE2"] = "2xlarge"; /** * Instance size XLARGE3 (3xlarge) */ InstanceSize["XLARGE3"] = "3xlarge"; /** * Instance size XLARGE4 (4xlarge) */ InstanceSize["XLARGE4"] = "4xlarge"; /** * Instance size XLARGE6 (6xlarge) */ InstanceSize["XLARGE6"] = "6xlarge"; /** * Instance size XLARGE8 (8xlarge) */ InstanceSize["XLARGE8"] = "8xlarge"; /** * Instance size XLARGE9 (9xlarge) */ InstanceSize["XLARGE9"] = "9xlarge"; /** * Instance size XLARGE10 (10xlarge) */ InstanceSize["XLARGE10"] = "10xlarge"; /** * Instance size XLARGE12 (12xlarge) */ InstanceSize["XLARGE12"] = "12xlarge"; /** * Instance size XLARGE16 (16xlarge) */ InstanceSize["XLARGE16"] = "16xlarge"; /** * Instance size XLARGE18 (18xlarge) */ InstanceSize["XLARGE18"] = "18xlarge"; /** * Instance size XLARGE24 (24xlarge) */ InstanceSize["XLARGE24"] = "24xlarge"; /** * Instance size XLARGE32 (32xlarge) */ InstanceSize["XLARGE32"] = "32xlarge"; /** * Instance size XLARGE48 (48xlarge) */ InstanceSize["XLARGE48"] = "48xlarge"; /** * Instance size XLARGE56 (56xlarge) */ InstanceSize["XLARGE56"] = "56xlarge"; /** * Instance size XLARGE56 (112xlarge) */ InstanceSize["XLARGE112"] = "112xlarge"; /** * Instance size METAL (metal) */ InstanceSize["METAL"] = "metal"; })(InstanceSize = exports.InstanceSize || (exports.InstanceSize = {})); /** * Instance type for EC2 instances * * This class takes a literal string, good if you already * know the identifier of the type you want. */ class InstanceType { constructor(instanceTypeIdentifier) { this.instanceTypeIdentifier = instanceTypeIdentifier; } /** * Instance type for EC2 instances * * This class takes a combination of a class and size. * * Be aware that not all combinations of class and size are available, and not all * classes are available in all regions. */ static of(instanceClass, instanceSize) { try { jsiiDeprecationWarnings._aws_cdk_aws_ec2_InstanceClass(instanceClass); jsiiDeprecationWarnings._aws_cdk_aws_ec2_InstanceSize(instanceSize); } catch (error) { if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") { Error.captureStackTrace(error, this.of); } throw error; } // JSII does not allow enum types to have same value. So to support the enum, the enum with same value has to be mapped later. const instanceClassMap = { [InstanceClass.STANDARD3]: 'm3', [InstanceClass.M3]: 'm3', [InstanceClass.STANDARD4]: 'm4', [InstanceClass.M4]: 'm4', [InstanceClass.STANDARD5]: 'm5', [InstanceClass.M5]: 'm5', [InstanceClass.STANDARD5_NVME_DRIVE]: 'm5d', [InstanceClass.M5D]: 'm5d', [InstanceClass.STANDARD5_AMD]: 'm5a', [InstanceClass.M5A]: 'm5a', [InstanceClass.STANDARD5_AMD_NVME_DRIVE]: 'm5ad', [InstanceClass.M5AD]: 'm5ad', [InstanceClass.STANDARD5_HIGH_PERFORMANCE]: 'm5n', [InstanceClass.M5N]: 'm5n', [InstanceClass.STANDARD5_NVME_DRIVE_HIGH_PERFORMANCE]: 'm5dn', [InstanceClass.M5DN]: 'm5dn', [InstanceClass.STANDARD5_HIGH_COMPUTE]: 'm5zn', [InstanceClass.M5ZN]: 'm5zn', [InstanceClass.MEMORY3]: 'r3', [InstanceClass.R3]: 'r3', [InstanceClass.MEMORY4]: 'r4', [InstanceClass.R4]: 'r4', [InstanceClass.MEMORY5]: 'r5', [InstanceClass.R5]: 'r5', [InstanceClass.MEMORY6_INTEL]: 'r6i', [InstanceClass.R6I]: 'r6i', [InstanceClass.MEMORY5_HIGH_PERFORMANCE]: 'r5n', [InstanceClass.R5N]: 'r5n', [InstanceClass.MEMORY5_NVME_DRIVE]: 'r5d', [InstanceClass.R5D]: 'r5d', [InstanceClass.MEMORY5_NVME_DRIVE_HIGH_PERFORMANCE]: 'r5dn', [InstanceClass.R5DN]: 'r5dn', [InstanceClass.MEMORY5_AMD]: 'r5a', [InstanceClass.R5A]: 'r5a', [InstanceClass.MEMORY5_AMD_NVME_DRIVE]: 'r5ad', [InstanceClass.R5AD]: 'r5ad', [InstanceClass.HIGH_MEMORY_6TB_1]: 'u-6tb1', [InstanceClass.U_6TB1]: 'u-6tb1', [InstanceClass.HIGH_MEMORY_9TB_1]: 'u-9tb1', [InstanceClass.U_9TB1]: 'u-9tb1', [InstanceClass.HIGH_MEMORY_12TB_1]: 'u-12tb1', [InstanceClass.U_12TB1]: 'u-12tb1', [InstanceClass.HIGH_MEMORY_18TB_1]: 'u-18tb1', [InstanceClass.U_18TB1]: 'u-18tb1', [InstanceClass.HIGH_MEMORY_24TB_1]: 'u-24tb1', [InstanceClass.U_24TB1]: 'u-24tb1', [InstanceClass.MEMORY5_EBS_OPTIMIZED]: 'r5b', [InstanceClass.R5B]: 'r5b', [InstanceClass.MEMORY6_GRAVITON]: 'r6g', [InstanceClass.R6G]: 'r6g', [InstanceClass.MEMORY6_GRAVITON2_NVME_DRIVE]: 'r6gd', [InstanceClass.R6GD]: 'r6gd', [InstanceClass.COMPUTE3]: 'c3', [InstanceClass.C3]: 'c3', [InstanceClass.COMPUTE4]: 'c4', [InstanceClass.C4]: 'c4', [InstanceClass.COMPUTE5]: 'c5', [InstanceClass.C5]: 'c5', [InstanceClass.COMPUTE5_NVME_DRIVE]: 'c5d', [InstanceClass.C5D]: 'c5d', [InstanceClass.COMPUTE5_AMD]: 'c5a', [InstanceClass.C5A]: 'c5a', [InstanceClass.COMPUTE5_AMD_NVME_DRIVE]: 'c5ad', [InstanceClass.C5AD]: 'c5ad', [InstanceClass.COMPUTE5_HIGH_PERFORMANCE]: 'c5n', [InstanceClass.C5N]: 'c5n', [InstanceClass.COMPUTE6_INTEL]: 'c6i', [InstanceClass.C6I]: 'c6i', [InstanceClass.COMPUTE6_AMD]: 'c6a', [InstanceClass.C6A]: 'c6a', [InstanceClass.COMPUTE6_GRAVITON2]: 'c6g', [InstanceClass.C6G]: 'c6g', [InstanceClass.COMPUTE6_GRAVITON2_NVME_DRIVE]: 'c6gd', [InstanceClass.C6GD]: 'c6gd', [InstanceClass.COMPUTE6_GRAVITON2_HIGH_NETWORK_BANDWIDTH]: 'c6gdb', [InstanceClass.COMPUTE6_GRAVITON2_HIGH_NETWORK_BANDWITH]: 'c6gdb', [InstanceClass.C6GN]: 'c6gn', [InstanceClass.STORAGE2]: 'd2', [InstanceClass.D2]: 'd2', [InstanceClass.STORAGE3]: 'd3', [InstanceClass.D3]: 'd3', [InstanceClass.STORAGE3_ENHANCED_NETWORK]: 'd3en', [InstanceClass.D3EN]: 'd3en', [InstanceClass.STORAGE_COMPUTE_1]: 'h1', [InstanceClass.H1]: 'h1', [InstanceClass.IO3]: 'i3', [InstanceClass.I3]: 'i3', [InstanceClass.IO3_DENSE_NVME_DRIVE]: 'i3en', [InstanceClass.I3EN]: 'i3en', [InstanceClass.STORAGE4_GRAVITON_NETWORK_OPTIMIZED]: 'im4gn', [InstanceClass.IM4GN]: 'im4gn', [InstanceClass.STORAGE4_GRAVITON_NETWORK_STORAGE_OPTIMIZED]: 'is4gen', [InstanceClass.IS4GEN]: 'is4gen', [InstanceClass.BURSTABLE2]: 't2', [InstanceClass.T2]: 't2', [InstanceClass.BURSTABLE3]: 't3', [InstanceClass.T3]: 't3', [InstanceClass.BURSTABLE3_AMD]: 't3a', [InstanceClass.T3A]: 't3a', [InstanceClass.BURSTABLE4_GRAVITON]: 't4g', [InstanceClass.T4G]: 't4g', [InstanceClass.MEMORY_INTENSIVE_1]: 'x1', [InstanceClass.X1]: 'x1', [InstanceClass.MEMORY_INTENSIVE_1_EXTENDED]: 'x1e', [InstanceClass.X1E]: 'x1e', [InstanceClass.MEMORY_INTENSIVE_2_GRAVITON2]: 'x2g', [InstanceClass.X2G]: 'x2g', [InstanceClass.MEMORY_INTENSIVE_2_GRAVITON2_NVME_DRIVE]: 'x2gd', [InstanceClass.X2GD]: 'x2gd', [InstanceClass.FPGA1]: 'f1', [InstanceClass.F1]: 'f1', [InstanceClass.GRAPHICS3]: 'g3', [InstanceClass.G3]: 'g3', [InstanceClass.GRAPHICS4_NVME_DRIVE_HIGH_PERFORMANCE]: 'g4dn', [InstanceClass.G4DN]: 'g4dn', [InstanceClass.GRAPHICS4_AMD_NVME_DRIVE]: 'g4ad', [InstanceClass.G4AD]: 'g4ad', [InstanceClass.GRAPHICS5]: 'g5', [InstanceClass.G5]: 'g5', [InstanceClass.GRAPHICS5_GRAVITON2]: 'g5g', [InstanceClass.G5G]: 'g5g', [InstanceClass.PARALLEL2]: 'p2', [InstanceClass.P2]: 'p2', [InstanceClass.PARALLEL3]: 'p3', [InstanceClass.P3]: 'p3', [InstanceClass.PARALLEL4]: 'p4d', [InstanceClass.P4D]: 'p4d', [InstanceClass.ARM1]: 'a1', [InstanceClass.A1]: 'a1', [InstanceClass.STANDARD6_GRAVITON]: 'm6g', [InstanceClass.M6G]: 'm6g', [InstanceClass.STANDARD6_INTEL]: 'm6i', [InstanceClass.M6I]: 'm6i', [InstanceClass.STANDARD6_AMD]: 'm6a', [InstanceClass.M6A]: 'm6a', [InstanceClass.STANDARD6_GRAVITON2_NVME_DRIVE]: 'm6gd', [InstanceClass.M6GD]: 'm6gd', [InstanceClass.HIGH_COMPUTE_MEMORY1]: 'z1d', [InstanceClass.Z1D]: 'z1d', [InstanceClass.INFERENCE1]: 'inf1', [InstanceClass.INF1]: 'inf1', [InstanceClass.MACINTOSH1_INTEL]: 'mac1', [InstanceClass.MAC1]: 'mac1', [InstanceClass.VIDEO_TRANSCODING1]: 'vt1', [InstanceClass.VT1]: 'vt1', [InstanceClass.HIGH_PERFORMANCE_COMPUTING6_AMD]: 'hpc6a', [InstanceClass.HPC6A]: 'hpc6a', [InstanceClass.I4I]: 'i4i', [InstanceClass.IO4_INTEL]: 'i4i', [InstanceClass.X2IEDN]: 'x2iedn', [InstanceClass.MEMORY_INTENSIVE_2_XT_INTEL]: 'x2iedn', [InstanceClass.X2IDN]: 'x2idn', [InstanceClass.MEMORY_INTENSIVE_2_INTEL]: 'x2idn', [InstanceClass.X2IEZN]: 'x2iezn', [InstanceClass.MEMORY_INTENSIVE_2_XTZ_INTEL]: 'x2iezn', }; return new InstanceType(`${instanceClassMap[instanceClass] ?? instanceClass}.${instanceSize}`); } /** * Return the instance type as a dotted string */ toString() { return this.instanceTypeIdentifier; } /** * The instance's CPU architecture */ get architecture() { // capture the family, generation, capabilities, and size portions of the instance type id const instanceTypeComponents = this.instanceTypeIdentifier.match(/^([a-z]+)(\d{1,2})([a-z]*)\.([a-z0-9]+)$/); if (instanceTypeComponents == null) { throw new Error('Malformed instance type identifier'); } const family = instanceTypeComponents[1]; const capabilities = instanceTypeComponents[3]; // Instance family `a` are first-gen Graviton instances // Capability `g` indicates the instance is Graviton2 powered if (family === 'a' || capabilities.includes('g')) { return InstanceArchitecture.ARM_64; } return InstanceArchitecture.X86_64; } } exports.InstanceType = InstanceType; _a = JSII_RTTI_SYMBOL_1; InstanceType[_a] = { fqn: "@aws-cdk/aws-ec2.InstanceType", version: "1.204.0" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2UtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnN0YW5jZS10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7Ozs7Ozs7R0FRRztBQUNILElBQVksYUFpeEJYO0FBanhCRCxXQUFZLGFBQWE7SUFDdkI7O09BRUc7SUFDSCx3Q0FBdUIsQ0FBQTtJQUV2Qjs7T0FFRztJQUNILDBCQUFTLENBQUE7SUFFVDs7T0FFRztJQUNILHdDQUF1QixDQUFBO0lBRXZCOztPQUVHO0lBQ0gsMEJBQVMsQ0FBQTtJQUVUOztPQUVHO0lBQ0gsd0NBQXVCLENBQUE7SUFFdkI7O09BRUc7SUFDSCwwQkFBUyxDQUFBO0lBRVQ7O09BRUc7SUFDSCw4REFBNkMsQ0FBQTtJQUU3Qzs7T0FFRztJQUNILDRCQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILGdEQUErQixDQUFBO0lBRS9COztPQUVHO0lBQ0gsNEJBQVcsQ0FBQTtJQUVYOztPQUVHO0lBQ0gsc0VBQXFELENBQUE7SUFFckQ7O09BRUc7SUFDSCw4QkFBYSxDQUFBO0lBRWI7O09BRUc7SUFDSCwwRUFBeUQsQ0FBQTtJQUV6RDs7T0FFRztJQUNILDRCQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILGdHQUErRSxDQUFBO0lBRS9FOztPQUVHO0lBQ0gsOEJBQWEsQ0FBQTtJQUViOztPQUVHO0lBQ0gsa0VBQWlELENBQUE7SUFFakQ7O09BRUc7SUFDSCw4QkFBYSxDQUFBO0lBRWI7O09BRUc7SUFDSCxvQ0FBbUIsQ0FBQTtJQUVuQjs7T0FFRztJQUNILDBCQUFTLENBQUE7SUFFVDs7T0FFRztJQUNILG9DQUFtQixDQUFBO0lBRW5COztPQUVHO0lBQ0gsMEJBQVMsQ0FBQTtJQUVUOztPQUVHO0lBQ0gsb0NBQW1CLENBQUE7SUFFbkI7O09BRUc7SUFDSCwwQkFBUyxDQUFBO0lBRVQ7O09BRUc7SUFDSCxnREFBK0IsQ0FBQTtJQUUvQjs7T0FFRztJQUNILDRCQUFXLENBQUE7SUFF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