Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(ec2): instance type properties #29507

Draft
wants to merge 21 commits into
base: main
Choose a base branch
from

Conversation

nmussy
Copy link
Contributor

@nmussy nmussy commented Mar 15, 2024

Issue # (if applicable)

Closes #12022.

Reason for this change

Provide CDK users with both a list of valid class/type combinations, as well as the properties associated to those types.
Additionally, these properties could be used internally to give user warnings/errors if they are associated to limitations, such as Nitro support, cluster networking, etc.

Description of changes

  • Instantiate each available InstanceType.INSTANCE_CLASS_INSTANCE_SIZE, both with and without its class alias
  • Create a instance-properties.json file containing the complete output of the ec2:DescribeInstanceTypes API command
    • aws ec2 describe-instance-types | jq '.InstanceTypes | { InstanceTypes: map({key: .InstanceType, value: del(.InstanceType)}) | sort_by(.key) | from_entries } | .InstanceTypes' > packages/aws-cdk-lib/aws-ec2/data/instance-properties.json
  • Map this data to a public instanceType.instanceProperties, allowing CDK users to access them

Description of how you validated changes

I'm going to add tests to make sure the data is exposed correctly, but given this data is only meant to be informative, it shouldn't have an impact on deployments

Checklist


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

@aws-cdk-automation aws-cdk-automation requested a review from a team March 15, 2024 16:58
@github-actions github-actions bot added effort/medium Medium work item – several days of effort feature-request A feature should be added or improved. p2 distinguished-contributor [Pilot] contributed 50+ PRs to the CDK labels Mar 15, 2024
@nmussy
Copy link
Contributor Author

nmussy commented Mar 15, 2024

Looking for feedback here 👋

This currently just a proof of concept to discuss the design. Once we settle on it, I'll add the missing properties (CPU, Memory, etc.), as well as generate the complete JSON data and static instance type values.

Copy link
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pull request linter has failed. See the aws-cdk-automation comment below for failure reasons. If you believe this pull request should receive an exemption, please comment and provide a justification.

A comment requesting an exemption should contain the text Exemption Request. Additionally, if clarification is needed add Clarification Request to a comment.

@nmussy
Copy link
Contributor Author

nmussy commented Mar 15, 2024

Exemption Request: An integration test won't be needed, this is not changing the InstanceType behavior

@aws-cdk-automation aws-cdk-automation added the pr-linter/exemption-requested The contributor has requested an exemption to the PR Linter feedback. label Mar 15, 2024
@aws-cdk-automation
Copy link
Collaborator

This PR has been in the CHANGES REQUESTED state for 3 weeks, and looks abandoned. To keep this PR from being closed, please continue work on it. If not, it will automatically be closed in a week.

@vinayak-kukreja vinayak-kukreja added the pr-linter/do-not-close The PR linter will not close this PR while this label is present label Apr 8, 2024
@nmussy nmussy force-pushed the feat-ec2-instance-type-properties branch from 228f212 to 071d8da Compare April 12, 2024 13:07
@nmussy nmussy force-pushed the feat-ec2-instance-type-properties branch from 3caf4f8 to cf8588a Compare April 21, 2024 12:57
@moelasmar moelasmar added closing-soon This issue will automatically close in 4 days unless further comments are made. and removed closing-soon This issue will automatically close in 4 days unless further comments are made. labels Aug 29, 2024
Copy link

codecov bot commented Jan 5, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 66.96%. Comparing base (caf2415) to head (5045d23).

Additional details and impacted files
@@           Coverage Diff           @@
##             main   #29507   +/-   ##
=======================================
  Coverage   66.96%   66.96%           
=======================================
  Files         329      329           
  Lines       18667    18667           
  Branches     3260     3260           
=======================================
  Hits        12501    12501           
  Misses       5839     5839           
  Partials      327      327           
Flag Coverage Δ
suite.unit 66.96% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
packages/aws-cdk 80.71% <ø> (ø)
packages/aws-cdk-lib/core 82.09% <ø> (ø)

@aws-cdk-automation
Copy link
Collaborator

The pull request linter fails with the following errors:

❌ Features must contain a change to an integration test file and the resulting snapshot.

PRs must pass status checks before we can provide a meaningful review.

If you would like to request an exemption from the status checks or clarification on feedback, please leave a comment on this PR containing Exemption Request and/or Clarification Request.

✅ A exemption request has been requested. Please wait for a maintainer's review.

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv
  • Commit ID: 5045d23
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
distinguished-contributor [Pilot] contributed 50+ PRs to the CDK effort/medium Medium work item – several days of effort feature-request A feature should be added or improved. p2 pr-linter/do-not-close The PR linter will not close this PR while this label is present pr-linter/exemption-requested The contributor has requested an exemption to the PR Linter feedback.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

(aws-ec2): Expose instance properties on InstanceType
4 participants