Skip to content

Commit 400ad91

Browse files
authored
feat(ec2): add additional instance type classes (#20972)
This PR adds the following EC2 instance type classes: - u-3tb1 - m6id - c6id - r6id - p3dn - dl1 - g3s Requested in issue #20924. Please add tags `pr-linter/exempt-readme` and `pr-linter/exempt-test`. I only added new enum values, therefore no readme changes and test cases should be required. ---- ### All Submissions: * [X] Have you followed the guidelines in our [Contributing guide?](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) ### Adding new Unconventional Dependencies: * [ ] This PR adds new unconventional dependencies following the process described [here](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md/#adding-new-unconventional-dependencies) ### New Features * [ ] Have you added the new feature to an [integration test](https://github.com/aws/aws-cdk/blob/main/INTEGRATION_TESTS.md)? * [ ] Did you use `yarn integ` to deploy the infrastructure and generate the snapshot (i.e. `yarn integ` without `--dry-run`)? *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
1 parent 43a0cec commit 400ad91

File tree

1 file changed

+84
-0
lines changed

1 file changed

+84
-0
lines changed

packages/@aws-cdk/aws-ec2/lib/instance-types.ts

+84
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,16 @@ export enum InstanceClass {
138138
*/
139139
R6I = 'r6i',
140140

141+
/**
142+
* Memory optimized instances with local NVME drive, 6th generation with Intel Xeon Scalable processors (3rd generation processors code named Ice Lake)
143+
*/
144+
MEMORY6_INTEL_NVME_DRIVE = 'memory6-intel-nvme-drive',
145+
146+
/**
147+
* Memory optimized instances with local NVME drive, 6th generation with Intel Xeon Scalable processors (3rd generation processors code named Ice Lake)
148+
*/
149+
R6ID = 'r6id',
150+
141151
/**
142152
* Memory optimized instances for high performance computing, 5th generation
143153
*/
@@ -183,6 +193,16 @@ export enum InstanceClass {
183193
*/
184194
MEMORY5_AMD_NVME_DRIVE = 'memory5-amd-nvme-drive',
185195

196+
/**
197+
* High memory instances (3TB) based on Intel Xeon Platinum 8176M (Skylake) processors, 1st generation
198+
*/
199+
HIGH_MEMORY_3TB_1 = 'high-memory-3tb-1',
200+
201+
/**
202+
* High memory instances (3TB) based on Intel Xeon Platinum 8176M (Skylake) processors, 1st generation
203+
*/
204+
U_3TB1 = 'u-3tb1',
205+
186206
/**
187207
* High memory instances (6TB) based on Intel Xeon Platinum 8176M (Skylake) processors, 1st generation
188208
*/
@@ -348,6 +368,16 @@ export enum InstanceClass {
348368
*/
349369
C6I = 'c6i',
350370

371+
/**
372+
* Compute optimized instances with local NVME drive, 6th generation
373+
*/
374+
COMPUTE6_INTEL_NVME_DRIVE = 'compute6-intel-nvme-drive',
375+
376+
/**
377+
* Compute optimized instances with local NVME drive, 6th generation
378+
*/
379+
C6ID = 'c6id',
380+
351381
/**
352382
* Compute optimized instances based on AMD EPYC (codename Milan), 6th generation
353383
*/
@@ -623,6 +653,16 @@ export enum InstanceClass {
623653
*/
624654
F1 = 'f1',
625655

656+
/**
657+
* Graphics-optimized instances, 3rd generation
658+
*/
659+
GRAPHICS3_SMALL = 'graphics3-small',
660+
661+
/**
662+
* Graphics-optimized instances, 3rd generation
663+
*/
664+
G3S = 'g3s',
665+
626666
/**
627667
* Graphics-optimized instances, 3rd generation
628668
*/
@@ -693,6 +733,16 @@ export enum InstanceClass {
693733
*/
694734
P3 = 'p3',
695735

736+
/**
737+
* Parallel-processing optimized instances with local NVME drive for high performance computing, 3nd generation
738+
*/
739+
PARALLEL3_NVME_DRIVE_HIGH_PERFORMANCE = 'parallel3-nvme-drive-high-performance',
740+
741+
/**
742+
* Parallel-processing optimized instances with local NVME drive for high performance computing, 3rd generation
743+
*/
744+
P3DN = 'p3dn',
745+
696746
/**
697747
* Parallel-processing optimized instances, 4th generation
698748
*/
@@ -733,6 +783,16 @@ export enum InstanceClass {
733783
*/
734784
M6I = 'm6i',
735785

786+
/**
787+
* Standard instances based on Intel (Ice Lake) with local NVME drive, 6th generation.
788+
*/
789+
STANDARD6_INTEL_NVME_DRIVE = 'standard6-intel-nvme-drive',
790+
791+
/**
792+
* Standard instances based on Intel (Ice Lake) with local NVME drive, 6th generation.
793+
*/
794+
M6ID = 'm6id',
795+
736796
/**
737797
* Standard instances based on 3rd Gen AMD EPYC processors, 6th generation.
738798
*/
@@ -802,6 +862,16 @@ export enum InstanceClass {
802862
* High performance computing based on AMD EPYC, 6th generation
803863
*/
804864
HPC6A = 'hpc6a',
865+
866+
/**
867+
* Deep learning instances powered by Gaudi accelerators from Habana Labs (an Intel company), 1st generation
868+
*/
869+
DEEP_LEARNING1 = 'deep-learning1',
870+
871+
/**
872+
* Deep learning instances powered by Gaudi accelerators from Habana Labs (an Intel company), 1st generation
873+
*/
874+
DL1 = 'dl1',
805875
}
806876

807877
/**
@@ -978,6 +1048,8 @@ export class InstanceType {
9781048
[InstanceClass.R5]: 'r5',
9791049
[InstanceClass.MEMORY6_INTEL]: 'r6i',
9801050
[InstanceClass.R6I]: 'r6i',
1051+
[InstanceClass.MEMORY6_INTEL_NVME_DRIVE]: 'r6id',
1052+
[InstanceClass.R6ID]: 'r6id',
9811053
[InstanceClass.MEMORY5_HIGH_PERFORMANCE]: 'r5n',
9821054
[InstanceClass.R5N]: 'r5n',
9831055
[InstanceClass.MEMORY5_NVME_DRIVE]: 'r5d',
@@ -988,6 +1060,8 @@ export class InstanceType {
9881060
[InstanceClass.R5A]: 'r5a',
9891061
[InstanceClass.MEMORY5_AMD_NVME_DRIVE]: 'r5ad',
9901062
[InstanceClass.R5AD]: 'r5ad',
1063+
[InstanceClass.HIGH_MEMORY_3TB_1]: 'u-3tb1',
1064+
[InstanceClass.U_3TB1]: 'u-3tb1',
9911065
[InstanceClass.HIGH_MEMORY_6TB_1]: 'u-6tb1',
9921066
[InstanceClass.U_6TB1]: 'u-6tb1',
9931067
[InstanceClass.HIGH_MEMORY_9TB_1]: 'u-9tb1',
@@ -1020,6 +1094,8 @@ export class InstanceType {
10201094
[InstanceClass.C5N]: 'c5n',
10211095
[InstanceClass.COMPUTE6_INTEL]: 'c6i',
10221096
[InstanceClass.C6I]: 'c6i',
1097+
[InstanceClass.COMPUTE6_INTEL_NVME_DRIVE]: 'c6id',
1098+
[InstanceClass.C6ID]: 'c6id',
10231099
[InstanceClass.COMPUTE6_AMD]: 'c6a',
10241100
[InstanceClass.C6A]: 'c6a',
10251101
[InstanceClass.COMPUTE6_GRAVITON2]: 'c6g',
@@ -1065,6 +1141,8 @@ export class InstanceType {
10651141
[InstanceClass.X2GD]: 'x2gd',
10661142
[InstanceClass.FPGA1]: 'f1',
10671143
[InstanceClass.F1]: 'f1',
1144+
[InstanceClass.GRAPHICS3_SMALL]: 'g3s',
1145+
[InstanceClass.G3S]: 'g3s',
10681146
[InstanceClass.GRAPHICS3]: 'g3',
10691147
[InstanceClass.G3]: 'g3',
10701148
[InstanceClass.GRAPHICS4_NVME_DRIVE_HIGH_PERFORMANCE]: 'g4dn',
@@ -1079,6 +1157,8 @@ export class InstanceType {
10791157
[InstanceClass.P2]: 'p2',
10801158
[InstanceClass.PARALLEL3]: 'p3',
10811159
[InstanceClass.P3]: 'p3',
1160+
[InstanceClass.PARALLEL3_NVME_DRIVE_HIGH_PERFORMANCE]: 'p3dn',
1161+
[InstanceClass.P3DN]: 'p3dn',
10821162
[InstanceClass.PARALLEL4]: 'p4d',
10831163
[InstanceClass.P4D]: 'p4d',
10841164
[InstanceClass.ARM1]: 'a1',
@@ -1087,6 +1167,8 @@ export class InstanceType {
10871167
[InstanceClass.M6G]: 'm6g',
10881168
[InstanceClass.STANDARD6_INTEL]: 'm6i',
10891169
[InstanceClass.M6I]: 'm6i',
1170+
[InstanceClass.STANDARD6_INTEL_NVME_DRIVE]: 'm6id',
1171+
[InstanceClass.M6ID]: 'm6id',
10901172
[InstanceClass.STANDARD6_AMD]: 'm6a',
10911173
[InstanceClass.M6A]: 'm6a',
10921174
[InstanceClass.STANDARD6_GRAVITON2_NVME_DRIVE]: 'm6gd',
@@ -1109,6 +1191,8 @@ export class InstanceType {
11091191
[InstanceClass.MEMORY_INTENSIVE_2_INTEL]: 'x2idn',
11101192
[InstanceClass.X2IEZN]: 'x2iezn',
11111193
[InstanceClass.MEMORY_INTENSIVE_2_XTZ_INTEL]: 'x2iezn',
1194+
[InstanceClass.DEEP_LEARNING1]: 'dl1',
1195+
[InstanceClass.DL1]: 'dl1',
11121196
};
11131197
return new InstanceType(`${instanceClassMap[instanceClass] ?? instanceClass}.${instanceSize}`);
11141198
}

0 commit comments

Comments
 (0)