@aws-cdk/aws-ec2
Version:
The CDK Construct Library for AWS::EC2
973 lines • 94 kB
JavaScript
"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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2UtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnN0YW5jZS10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7Ozs7Ozs7R0FRRztBQUNILElBQVksYUFpeEJYO0FBanhCRCxXQUFZLGFBQWE7SUFDdkI7O09BRUc7SUFDSCx3Q0FBdUIsQ0FBQTtJQUV2Qjs7T0FFRztJQUNILDBCQUFTLENBQUE7SUFFVDs7T0FFRztJQUNILHdDQUF1QixDQUFBO0lBRXZCOztPQUVHO0lBQ0gsMEJBQVMsQ0FBQTtJQUVUOztPQUVHO0lBQ0gsd0NBQXVCLENBQUE7SUFFdkI7O09BRUc7SUFDSCwwQkFBUyxDQUFBO0lBRVQ7O09BRUc7SUFDSCw4REFBNkMsQ0FBQTtJQUU3Qzs7T0FFRztJQUNILDRCQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILGdEQUErQixDQUFBO0lBRS9COztPQUVHO0lBQ0gsNEJBQVcsQ0FBQTtJQUVYOztPQUVHO0lBQ0gsc0VBQXFELENBQUE7SUFFckQ7O09BRUc7SUFDSCw4QkFBYSxDQUFBO0lBRWI7O09BRUc7SUFDSCwwRUFBeUQsQ0FBQTtJQUV6RDs7T0FFRztJQUNILDRCQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILGdHQUErRSxDQUFBO0lBRS9FOztPQUVHO0lBQ0gsOEJBQWEsQ0FBQTtJQUViOztPQUVHO0lBQ0gsa0VBQWlELENBQUE7SUFFakQ7O09BRUc7SUFDSCw4QkFBYSxDQUFBO0lBRWI7O09BRUc7SUFDSCxvQ0FBbUIsQ0FBQTtJQUVuQjs7T0FFRztJQUNILDBCQUFTLENBQUE7SUFFVDs7T0FFRztJQUNILG9DQUFtQixDQUFBO0lBRW5COztPQUVHO0lBQ0gsMEJBQVMsQ0FBQTtJQUVUOztPQUVHO0lBQ0gsb0NBQW1CLENBQUE7SUFFbkI7O09BRUc7SUFDSCwwQkFBUyxDQUFBO0lBRVQ7O09BRUc7SUFDSCxnREFBK0IsQ0FBQTtJQUUvQjs7T0FFRztJQUNILDRCQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILHNFQUFxRCxDQUFBO0lBRXJEOztPQUVHO0lBQ0gsNEJBQVcsQ0FBQTtJQUVYOztPQUVHO0lBQ0gsMERBQXlDLENBQUE7SUFFekM7O09BRUc7SUFDSCw0QkFBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCw0RkFBMkUsQ0FBQTtJQUUzRTs7T0FFRztJQUNILDhCQUFhLENBQUE7SUFFYjs7T0FFRztJQUNILDRDQUEyQixDQUFBO0lBRTNCOztPQUVHO0lBQ0gsNEJBQVcsQ0FBQTtJQUVYOztPQUVHO0lBQ0gsa0VBQWlELENBQUE7SUFFakQ7O09BRUc7SUFDSCx3REFBdUMsQ0FBQTtJQUV2Qzs7T0FFRztJQUNILGtDQUFpQixDQUFBO0lBRWpCOztPQUVHO0lBQ0gsd0RBQXVDLENBQUE7SUFFdkM7O09BRUc7SUFDSCxrQ0FBaUIsQ0FBQTtJQUVqQjs7T0FFRztJQUNILDBEQUF5QyxDQUFBO0lBRXpDOztPQUVHO0lBQ0gsb0NBQW1CLENBQUE7SUFFbkI7O09BRUc7SUFDSCwwREFBeUMsQ0FBQTtJQUV6Qzs7T0FFRztJQUNILG9DQUFtQixDQUFBO0lBRW5COztPQUVHO0lBQ0gsMERBQXlDLENBQUE7SUFFekM7O09BRUc7SUFDSCxvQ0FBbUIsQ0FBQTtJQUVuQjs7T0FFRztJQUNILDhCQUFhLENBQUE7SUFFYjs7T0FFRztJQUNILGdFQUErQyxDQUFBO0lBRS9DOztPQUVHO0lBQ0gsNEJBQVcsQ0FBQTtJQUVYOztPQUVHO0lBQ0gsc0RBQXFDLENBQUE7SUFFckM7O09BRUc7SUFDSCw0QkFBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCw4RUFBNkQsQ0FBQTtJQUU3RDs7T0FFRztJQUNILDhCQUFhLENBQUE7SUFFYjs7T0FFRztJQUNILHNDQUFxQixDQUFBO0lBRXJCOztPQUVHO0lBQ0gsMEJBQVMsQ0FBQTtJQUVUOztPQUVHO0lBQ0gsc0NBQXFCLENBQUE7SUFFckI7O09BRUc7SUFDSCwwQkFBUyxDQUFBO0lBRVQ7O09BRUc7SUFDSCxzQ0FBcUIsQ0FBQTtJQUVyQjs7T0FFRztJQUNILDBCQUFTLENBQUE7SUFFVDs7T0FFRztJQUNILDREQUEyQyxDQUFBO0lBRTNDOztPQUVHO0lBQ0gsNEJBQVcsQ0FBQTtJQUVYOztPQUVHO0lBQ0gsOENBQTZCLENBQUE7SUFFN0I7O09BRUc7SUFDSCw0QkFBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCxvRUFBbUQsQ0FBQTtJQUVuRDs7T0FFRztJQUNILDhCQUFhLENBQUE7SUFFYjs7T0FFRztJQUNILHdFQUF1RCxDQUFBO0lBRXZEOztPQUVHO0lBQ0gsNEJBQVcsQ0FBQTtJQUVYOztPQUVHO0lBQ0gsa0RBQWlDLENBQUE7SUFFakM7O01BRUU7SUFDRiw0QkFBVyxDQUFBO0lBRVg7O01BRUU7SUFDRiw4Q0FBNkIsQ0FBQTtJQUU3Qjs7TUFFRTtJQUNGLDRCQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILDBEQUF5QyxDQUFBO0lBRXpDOztPQUVHO0lBQ0gsNEJBQVcsQ0FBQTtJQUVYOzs7T0FHRztJQUNILGdGQUErRCxDQUFBO0lBRS9EOzs7T0FHRztJQUNILDhCQUFhLENBQUE7SUFFYjs7O09BR0c7SUFDSCxzR0FBcUYsQ0FBQTtJQUdyRjs7O09BR0c7SUFDSCx3R0FBdUYsQ0FBQTtJQUV2Rjs7O09BR0c7SUFDSCw4QkFBYSxDQUFBO0lBRWI7O09BRUc7SUFDSCxzQ0FBcUIsQ0FBQTtJQUVyQjs7T0FFRztJQUNILDBCQUFTLENBQUE7SUFFVDs7T0FFRztJQUNILHNDQUFxQixDQUFBO0lBRXJCOztPQUVHO0lBQ0gsMEJBQVMsQ0FBQTtJQUVUOztNQUVFO0lBQ0Ysd0VBQXVELENBQUE7SUFFdkQ7O01BRUU7SUFDRiw4QkFBYSxDQUFBO0lBRWI7O09BRUc7SUFDSCx3REFBdUMsQ0FBQTtJQUV2Qzs7T0FFRztJQUNILDBCQUFTLENBQUE7SUFFVDs7T0FFRztJQUNILDRCQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILDBCQUFTLENBQUE7SUFFVDs7T0FFRztJQUNILDhEQUE2QyxDQUFBO0lBRTdDOztPQUVHO0lBQ0gsOEJBQWEsQ0FBQTtJQUViOztPQUVHO0lBQ0gsd0NBQXVCLENBQUE7SUFFdkI7O09BRUc7SUFDSCw0QkFBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCw0RkFBMkUsQ0FBQTtJQUUzRTs7T0FFRztJQUNILGdDQUFlLENBQUE7SUFFZjs7T0FFRztJQUNILDRHQUEyRixDQUFBO0lBRTNGOztPQUVHO0lBQ0gsa0NBQWlCLENBQUE7SUFFakI7O09BRUc7SUFDSCwwQ0FBeUIsQ0FBQTtJQUV6Qjs7T0FFRztJQUNILDBCQUFTLENBQUE7SUFFVDs7T0FFRztJQUNILDBDQUF5QixDQUFBO0lBRXpCOztPQUVHO0lBQ0gsMEJBQVMsQ0FBQTtJQUVUOztPQUVHO0lBQ0gsa0RBQWlDLENBQUE7SUFFakM7O09BRUc7SUFDSCw0QkFBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCw0REFBMkMsQ0FBQTtJQUUzQzs7T0FFRztJQUNILDRCQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILDBEQUF5QyxDQUFBO0lBRXpDOztPQUVHO0lBQ0gsMEJBQVMsQ0FBQTtJQUVUOztPQUVHO0lBQ0gsNEVBQTJELENBQUE7SUFFM0Q7O09BRUc7SUFDSCw0QkFBVyxDQUFBO0lBRVg7Ozs7T0FJRztJQUNILDhFQUE2RCxDQUFBO0lBRTdEOzs7O09BSUc7SUFDSCw0QkFBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCxvR0FBbUYsQ0FBQTtJQUVuRjs7T0FFRztJQUNILDhCQUFhLENBQUE7SUFFYjs7T0FFRztJQUNILDRFQUEyRCxDQUFBO0lBRTNEOztPQUVHO0lBQ0gsa0NBQWlCLENBQUE7SUFFakI7O09BRUc7SUFDSCxzRUFBcUQsQ0FBQTtJQUVyRDs7T0FFRztJQUNILGdDQUFlLENBQUE7SUFFZjs7T0FFRztJQUNILDhFQUE2RCxDQUFBO0lBRTdEOztPQUVHO0lBQ0gsa0NBQWlCLENBQUE7SUFFakI7O09BRUc7SUFDSCxnQ0FBZSxDQUFBO0lBRWY7O09BRUc7SUFDSCwwQkFBUyxDQUFBO0lBRVQ7O09BRUc7SUFDSCx3Q0FBdUIsQ0FBQTtJQUV2Qjs7T0FFRztJQUNILDBCQUFTLENBQUE7SUFFVDs7T0FFRztJQUNILGdHQUErRSxDQUFBO0lBRS9FOztPQUVHO0lBQ0gsOEJBQWEsQ0FBQTtJQUViOztPQUVHO0lBQ0gsc0VBQXFELENBQUE7SUFFckQ7O09BRUc7SUFDSCw4QkFBYSxDQUFBO0lBRWI7O09BRUc7SUFDSCx3Q0FBdUIsQ0FBQTtJQUV2Qjs7T0FFRztJQUNILDBCQUFTLENBQUE7SUFFVDs7T0FFRztJQUNILDREQUEyQyxDQUFBO0lBRTNDOztNQUVFO0lBQ0YsNEJBQVcsQ0FBQTtJQUVYOztPQUVHO0lBQ0gsd0NBQXVCLENBQUE7SUFFdkI7O09BRUc7SUFDSCwwQkFBUyxDQUFBO0lBRVQ7O09BRUc7SUFDSCx3Q0FBdUIsQ0FBQTtJQUV2Qjs7T0FFRztJQUNILDBCQUFTLENBQUE7SUFFVDs7T0FFRztJQUNILHdDQUF1QixDQUFBO0lBRXZCOztPQUVHO0lBQ0gsNEJBQVcsQ0FBQTtJQUVYOztPQUVHO0lBQ0gsOEJBQWEsQ0FBQTtJQUViOztPQUVHO0lBQ0gsMEJBQVMsQ0FBQTtJQUVUOztPQUVHO0lBQ0gsMERBQXlDLENBQUE7SUFFekM7O09BRUc7SUFDSCw0QkFBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCxvREFBbUMsQ0FBQTtJQUVuQzs7T0FFRztJQUNILDRCQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILGdEQUErQixDQUFBO0lBRS9COztNQUVFO0lBQ0YsNEJBQVcsQ0FBQTtJQUVYOztPQUVHO0lBQ0gsa0ZBQWlFLENBQUE7SUFFakU7O09BRUc7SUFDSCw4QkFBYSxDQUFBO0lBRWI7O09BRUc7SUFDSCw4REFBNkMsQ0FBQTtJQUU3Qzs7T0FFRztJQUNILDRCQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILDBDQUF5QixDQUFBO0lBRXpCOztPQUVHO0lBQ0gsOEJBQWEsQ0FBQTtJQUViOztPQUVHO0lBQ0gsc0RBQXFDLENBQUE7SUFFckM7O09BRUc7SUFDSCw4QkFBYSxDQUFBO0lBRWI7O09BRUc7SUFDSCwwREFBeUMsQ0FBQTtJQUV6Qzs7T0FFRztJQUNILDRCQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILG9GQUFtRSxDQUFBO0lBRW5FOztPQUVHO0lBQ0gsZ0NBQWUsQ0FBQTtBQUNqQixDQUFDLEVBanhCVyxhQUFhLEdBQWIscUJBQWEsS0FBYixxQkFBYSxRQWl4QnhCO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLG9CQVVYO0FBVkQsV0FBWSxvQkFBb0I7SUFDOUI7O09BRUc7SUFDSCx3Q0FBZ0IsQ0FBQTtJQUVoQjs7T0FFRztJQUNILHlDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFWVyxvQkFBb0IsR0FBcEIsNEJBQW9CLEtBQXBCLDRCQUFvQixRQVUvQjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxZQThHWDtBQTlHRCxXQUFZLFlBQVk7SUFDdEI7O09BRUc7SUFDSCw2QkFBYSxDQUFBO0lBRWI7O09BRUc7SUFDSCwrQkFBZSxDQUFBO0lBRWY7O09BRUc7SUFDSCwrQkFBZSxDQUFBO0lBRWY7O09BRUc7SUFDSCxpQ0FBaUIsQ0FBQTtJQUVqQjs7T0FFRztJQUNILCtCQUFlLENBQUE7SUFFZjs7T0FFRztJQUNILGlDQUFpQixDQUFBO0lBRWpCOztPQUVHO0lBQ0gsbUNBQW1CLENBQUE7SUFFbkI7O09BRUc7SUFDSCxtQ0FBbUIsQ0FBQTtJQUVuQjs7T0FFRztJQUNILG1DQUFtQixDQUFBO0lBRW5COztPQUVHO0lBQ0gsbUNBQW1CLENBQUE7SUFFbkI7O09BRUc7SUFDSCxtQ0FBbUIsQ0FBQTtJQUVuQjs7T0FFRztJQUNILG1DQUFtQixDQUFBO0lBRW5COztPQUVHO0lBQ0gscUNBQXFCLENBQUE7SUFFckI7O09BRUc7SUFDSCxxQ0FBcUIsQ0FBQTtJQUVyQjs7T0FFRztJQUNILHFDQUFxQixDQUFBO0lBRXJCOztPQUVHO0lBQ0gscUNBQXFCLENBQUE7SUFFckI7O09BRUc7SUFDSCxxQ0FBcUIsQ0FBQTtJQUVyQjs7T0FFRztJQUNILHFDQUFxQixDQUFBO0lBRXJCOztPQUVHO0lBQ0gscUNBQXFCLENBQUE7SUFFckI7O09BRUc7SUFDSCxxQ0FBcUIsQ0FBQTtJQUVyQjs7T0FFRztJQUNILHVDQUF1QixDQUFBO0lBRXZCOztPQUVHO0lBQ0gsK0JBQWUsQ0FBQTtBQUNqQixDQUFDLEVBOUdXLFlBQVksR0FBWixvQkFBWSxLQUFaLG9CQUFZLFFBOEd2QjtBQUVEOzs7OztHQUtHO0FBQ0gsTUFBYSxZQUFZO0lBMkt2QixZQUE2QixzQkFBOEI7UUFBOUIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUFRO0tBQzFEO0lBM0tEOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMsRUFBRSxDQUFDLGFBQTRCLEVBQUUsWUFBMEI7Ozs7Ozs7Ozs7O1FBQ3ZFLDhIQUE4SDtRQUM5SCxNQUFNLGdCQUFnQixHQUFrQztZQUN0RCxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJO1lBQy9CLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUk7WUFDeEIsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSTtZQUMvQixDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJO1lBQ3hCLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUk7WUFDL0IsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSTtZQUN4QixDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLEtBQUs7WUFDM0MsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSztZQUMxQixDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsRUFBRSxLQUFLO1lBQ3BDLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUs7WUFDMUIsQ0FBQyxhQUFhLENBQUMsd0JBQXdCLENBQUMsRUFBRSxNQUFNO1lBQ2hELENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU07WUFDNUIsQ0FBQyxhQUFhLENBQUMsMEJBQTBCLENBQUMsRUFBRSxLQUFLO1lBQ2pELENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUs7WUFDMUIsQ0FBQyxhQUFhLENBQUMscUNBQXFDLENBQUMsRUFBRSxNQUFNO1lBQzdELENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU07WUFDNUIsQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsRUFBRSxNQUFNO1lBQzlDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU07WUFDNUIsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSTtZQUM3QixDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJO1lBQ3hCLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUk7WUFDN0IsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSTtZQUN4QixDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJO1lBQzdCLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUk7WUFDeEIsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSztZQUNwQyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLO1lBQzFCLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsS0FBSztZQUMvQyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLO1lBQzFCLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsS0FBSztZQUN6QyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLO1lBQzFCLENBQUMsYUFBYSxDQUFDLG1DQUFtQyxDQUFDLEVBQUUsTUFBTTtZQUMzRCxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNO1lBQzVCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUs7WUFDbEMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSztZQUMxQixDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLE1BQU07WUFDOUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTTtZQUM1QixDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVE7WUFDM0MsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUTtZQUNoQyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVE7WUFDM0MsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUTtZQUNoQyxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLFNBQVM7WUFDN0MsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUztZQUNsQyxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLFNBQVM7WUFDN0MsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUztZQUNsQyxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLFNBQVM7WUFDN0MsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUztZQUNsQyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLEtBQUs7WUFDNUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSztZQUMxQixDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLEtBQUs7WUFDdkMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSztZQUMxQixDQUFDLGFBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLE1BQU07WUFDcEQsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTTtZQUM1QixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJO1lBQzlCLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUk7WUFDeEIsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSTtZQUM5QixDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJO1lBQ3hCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUk7WUFDOUIsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSTtZQUN4QixDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLEtBQUs7WUFDMUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSztZQUMxQixDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsRUFBRSxLQUFLO1lBQ25DLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUs7WUFDMUIsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsRUFBRSxNQUFNO1lBQy9DLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU07WUFDNUIsQ0FBQyxhQUFhLENBQUMseUJBQXlCLENBQUMsRUFBRSxLQUFLO1lBQ2hELENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUs7WUFDMUIsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSztZQUNyQyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLO1lBQzFCLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxFQUFFLEtBQUs7WUFDbkMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSztZQUMxQixDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEtBQUs7WUFDekMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSztZQUMxQixDQUFDLGFBQWEsQ0FBQyw2QkFBNkIsQ0FBQyxFQUFFLE1BQU07WUFDckQsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTTtZQUM1QixDQUFDLGFBQWEsQ0FBQyx5Q0FBeUMsQ0FBQyxFQUFFLE9BQU87WUFDbEUsQ0FBQyxhQUFhLENBQUMsd0NBQXdDLENBQUMsRUFBRSxPQUFPO1lBQ2pFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU07WUFDNUIsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSTtZQUM5QixDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJO1lBQ3hCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUk7WUFDOUIsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSTtZQUN4QixDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLE1BQU07WUFDakQsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTTtZQUM1QixDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUk7WUFDdkMsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSTtZQUN4QixDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJO1lBQ3pCLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUk7WUFDeEIsQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsRUFBRSxNQUFNO1lBQzVDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU07WUFDNUIsQ0FBQyxhQUFhLENBQUMsbUNBQW1DLENBQUMsRUFBRSxPQUFPO1lBQzVELENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU87WUFDOUIsQ0FBQyxhQUFhLENBQUMsMkNBQTJDLENBQUMsRUFBRSxRQUFRO1lBQ3JFLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVE7WUFDaEMsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSTtZQUNoQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJO1lBQ3hCLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUk7WUFDaEMsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSTtZQUN4QixDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsRUFBRSxLQUFLO1lBQ3JDLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUs7WUFDMUIsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsRUFBRSxLQUFLO1lBQzFDLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUs7WUFDMUIsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsRUFBRSxJQUFJO1lBQ3hDLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUk7WUFDeEIsQ0FBQyxhQUFhLENBQUMsMkJBQTJCLENBQUMsRUFBRSxLQUFLO1lBQ2xELENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUs7WUFDMUIsQ0FBQyxhQUFhLENBQUMsNEJBQTRCLENBQUMsRUFBRSxLQUFLO1lBQ25ELENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUs7WUFDMUIsQ0FBQyxhQUFhLENBQUMsdUNBQXVDLENBQUMsRUFBRSxNQUFNO1lBQy9ELENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU07WUFDNUIsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSTtZQUMzQixDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJO1lBQ3hCLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUk7WUFDL0IsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSTtZQUN4QixDQUFDLGFBQWEsQ0FBQyxxQ0FBcUMsQ0FBQyxFQUFFLE1BQU07WUFDN0QsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTTtZQUM1QixDQUFDLGFBQWEsQ0F