Skip to content

Commit

Permalink
feat(ec2): add additional instance type classes (#20972)
Browse files Browse the repository at this point in the history
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*
  • Loading branch information
jumic authored Jul 6, 2022
1 parent 43a0cec commit 400ad91
Showing 1 changed file with 84 additions and 0 deletions.
84 changes: 84 additions & 0 deletions packages/@aws-cdk/aws-ec2/lib/instance-types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,16 @@ export enum InstanceClass {
*/
R6I = 'r6i',

/**
* Memory optimized instances with local NVME drive, 6th generation with Intel Xeon Scalable processors (3rd generation processors code named Ice Lake)
*/
MEMORY6_INTEL_NVME_DRIVE = 'memory6-intel-nvme-drive',

/**
* Memory optimized instances with local NVME drive, 6th generation with Intel Xeon Scalable processors (3rd generation processors code named Ice Lake)
*/
R6ID = 'r6id',

/**
* Memory optimized instances for high performance computing, 5th generation
*/
Expand Down Expand Up @@ -183,6 +193,16 @@ export enum InstanceClass {
*/
MEMORY5_AMD_NVME_DRIVE = 'memory5-amd-nvme-drive',

/**
* High memory instances (3TB) based on Intel Xeon Platinum 8176M (Skylake) processors, 1st generation
*/
HIGH_MEMORY_3TB_1 = 'high-memory-3tb-1',

/**
* High memory instances (3TB) based on Intel Xeon Platinum 8176M (Skylake) processors, 1st generation
*/
U_3TB1 = 'u-3tb1',

/**
* High memory instances (6TB) based on Intel Xeon Platinum 8176M (Skylake) processors, 1st generation
*/
Expand Down Expand Up @@ -348,6 +368,16 @@ export enum InstanceClass {
*/
C6I = 'c6i',

/**
* Compute optimized instances with local NVME drive, 6th generation
*/
COMPUTE6_INTEL_NVME_DRIVE = 'compute6-intel-nvme-drive',

/**
* Compute optimized instances with local NVME drive, 6th generation
*/
C6ID = 'c6id',

/**
* Compute optimized instances based on AMD EPYC (codename Milan), 6th generation
*/
Expand Down Expand Up @@ -623,6 +653,16 @@ export enum InstanceClass {
*/
F1 = 'f1',

/**
* Graphics-optimized instances, 3rd generation
*/
GRAPHICS3_SMALL = 'graphics3-small',

/**
* Graphics-optimized instances, 3rd generation
*/
G3S = 'g3s',

/**
* Graphics-optimized instances, 3rd generation
*/
Expand Down Expand Up @@ -693,6 +733,16 @@ export enum InstanceClass {
*/
P3 = 'p3',

/**
* Parallel-processing optimized instances with local NVME drive for high performance computing, 3nd generation
*/
PARALLEL3_NVME_DRIVE_HIGH_PERFORMANCE = 'parallel3-nvme-drive-high-performance',

/**
* Parallel-processing optimized instances with local NVME drive for high performance computing, 3rd generation
*/
P3DN = 'p3dn',

/**
* Parallel-processing optimized instances, 4th generation
*/
Expand Down Expand Up @@ -733,6 +783,16 @@ export enum InstanceClass {
*/
M6I = 'm6i',

/**
* Standard instances based on Intel (Ice Lake) with local NVME drive, 6th generation.
*/
STANDARD6_INTEL_NVME_DRIVE = 'standard6-intel-nvme-drive',

/**
* Standard instances based on Intel (Ice Lake) with local NVME drive, 6th generation.
*/
M6ID = 'm6id',

/**
* Standard instances based on 3rd Gen AMD EPYC processors, 6th generation.
*/
Expand Down Expand Up @@ -802,6 +862,16 @@ export enum InstanceClass {
* High performance computing based on AMD EPYC, 6th generation
*/
HPC6A = 'hpc6a',

/**
* Deep learning instances powered by Gaudi accelerators from Habana Labs (an Intel company), 1st generation
*/
DEEP_LEARNING1 = 'deep-learning1',

/**
* Deep learning instances powered by Gaudi accelerators from Habana Labs (an Intel company), 1st generation
*/
DL1 = 'dl1',
}

/**
Expand Down Expand Up @@ -978,6 +1048,8 @@ export class InstanceType {
[InstanceClass.R5]: 'r5',
[InstanceClass.MEMORY6_INTEL]: 'r6i',
[InstanceClass.R6I]: 'r6i',
[InstanceClass.MEMORY6_INTEL_NVME_DRIVE]: 'r6id',
[InstanceClass.R6ID]: 'r6id',
[InstanceClass.MEMORY5_HIGH_PERFORMANCE]: 'r5n',
[InstanceClass.R5N]: 'r5n',
[InstanceClass.MEMORY5_NVME_DRIVE]: 'r5d',
Expand All @@ -988,6 +1060,8 @@ export class InstanceType {
[InstanceClass.R5A]: 'r5a',
[InstanceClass.MEMORY5_AMD_NVME_DRIVE]: 'r5ad',
[InstanceClass.R5AD]: 'r5ad',
[InstanceClass.HIGH_MEMORY_3TB_1]: 'u-3tb1',
[InstanceClass.U_3TB1]: 'u-3tb1',
[InstanceClass.HIGH_MEMORY_6TB_1]: 'u-6tb1',
[InstanceClass.U_6TB1]: 'u-6tb1',
[InstanceClass.HIGH_MEMORY_9TB_1]: 'u-9tb1',
Expand Down Expand Up @@ -1020,6 +1094,8 @@ export class InstanceType {
[InstanceClass.C5N]: 'c5n',
[InstanceClass.COMPUTE6_INTEL]: 'c6i',
[InstanceClass.C6I]: 'c6i',
[InstanceClass.COMPUTE6_INTEL_NVME_DRIVE]: 'c6id',
[InstanceClass.C6ID]: 'c6id',
[InstanceClass.COMPUTE6_AMD]: 'c6a',
[InstanceClass.C6A]: 'c6a',
[InstanceClass.COMPUTE6_GRAVITON2]: 'c6g',
Expand Down Expand Up @@ -1065,6 +1141,8 @@ export class InstanceType {
[InstanceClass.X2GD]: 'x2gd',
[InstanceClass.FPGA1]: 'f1',
[InstanceClass.F1]: 'f1',
[InstanceClass.GRAPHICS3_SMALL]: 'g3s',
[InstanceClass.G3S]: 'g3s',
[InstanceClass.GRAPHICS3]: 'g3',
[InstanceClass.G3]: 'g3',
[InstanceClass.GRAPHICS4_NVME_DRIVE_HIGH_PERFORMANCE]: 'g4dn',
Expand All @@ -1079,6 +1157,8 @@ export class InstanceType {
[InstanceClass.P2]: 'p2',
[InstanceClass.PARALLEL3]: 'p3',
[InstanceClass.P3]: 'p3',
[InstanceClass.PARALLEL3_NVME_DRIVE_HIGH_PERFORMANCE]: 'p3dn',
[InstanceClass.P3DN]: 'p3dn',
[InstanceClass.PARALLEL4]: 'p4d',
[InstanceClass.P4D]: 'p4d',
[InstanceClass.ARM1]: 'a1',
Expand All @@ -1087,6 +1167,8 @@ export class InstanceType {
[InstanceClass.M6G]: 'm6g',
[InstanceClass.STANDARD6_INTEL]: 'm6i',
[InstanceClass.M6I]: 'm6i',
[InstanceClass.STANDARD6_INTEL_NVME_DRIVE]: 'm6id',
[InstanceClass.M6ID]: 'm6id',
[InstanceClass.STANDARD6_AMD]: 'm6a',
[InstanceClass.M6A]: 'm6a',
[InstanceClass.STANDARD6_GRAVITON2_NVME_DRIVE]: 'm6gd',
Expand All @@ -1109,6 +1191,8 @@ export class InstanceType {
[InstanceClass.MEMORY_INTENSIVE_2_INTEL]: 'x2idn',
[InstanceClass.X2IEZN]: 'x2iezn',
[InstanceClass.MEMORY_INTENSIVE_2_XTZ_INTEL]: 'x2iezn',
[InstanceClass.DEEP_LEARNING1]: 'dl1',
[InstanceClass.DL1]: 'dl1',
};
return new InstanceType(`${instanceClassMap[instanceClass] ?? instanceClass}.${instanceSize}`);
}
Expand Down

0 comments on commit 400ad91

Please sign in to comment.