aws-cloudformation / cfn-lint

CloudFormation Linter
MIT No Attribution
2.45k stars 592 forks source link

E3030 You must specify a valid value for CacheNodeType #2892

Closed One-djey closed 9 months ago

One-djey commented 1 year ago

CloudFormation Lint Version

latest

What operating system are you using?

Docker 'ghcr.io/github/super-linter:slim-latest'

Describe the bug

I got the following error:

E3030 You must specify a valid value for CacheNodeType (cache.m7g.xlarge). Valid values are ["cache.c1.xlarge", "cache.m1.large", "cache.m1.medium", "cache.m1.small", "cache.m1.xlarge", "cache.m2.2xlarge", "cache.m2.4xlarge", "cache.m2.xlarge", "cache.m3.2xlarge", "cache.m3.large", "cache.m3.medium", "cache.m3.xlarge", "cache.m4.10xlarge", "cache.m4.2xlarge", "cache.m4.4xlarge", "cache.m4.large", "cache.m4.xlarge", "cache.m5.12xlarge", "cache.m5.24xlarge", "cache.m5.2xlarge", "cache.m5.4xlarge", "cache.m5.large", "cache.m5.xlarge", "cache.m6g.12xlarge", "cache.m6g.16xlarge", "cache.m6g.2xlarge", "cache.m6g.4xlarge", "cache.m6g.8xlarge", "cache.m6g.large", "cache.m6g.xlarge", "cache.r3.2xlarge", "cache.r3.4xlarge", "cache.r3.8xlarge", "cache.r3.large", "cache.r3.xlarge", "cache.r4.16xlarge", "cache.r4.2xlarge", "cache.r4.4xlarge", "cache.r4.8xlarge", "cache.r4.large", "cache.r4.xlarge", "cache.r5.12xlarge", "cache.r5.24xlarge", "cache.r5.2xlarge", "cache.r5.4xlarge", "cache.r5.large", "cache.r5.xlarge", "cache.r6g.12xlarge", "cache.r6g.16xlarge", "cache.r6g.2xlarge", "cache.r6g.4xlarge", "cache.r6g.8xlarge", "cache.r6g.large", "cache.r6g.xlarge", "cache.r6gd.12xlarge", "cache.r6gd.16xlarge", "cache.r6gd.2xlarge", "cache.r6gd.4xlarge", "cache.r6gd.8xlarge", "cache.r6gd.xlarge", "cache.t1.micro", "cache.t2.medium", "cache.t2.micro", "cache.t2.small", "cache.t3.medium", "cache.t3.micro", "cache.t3.small", "cache.t4g.medium", "cache.t4g.micro", "cache.t4g.small"]

However, according to AWS documentation, the latest version are M7G node types: https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html

Expected behavior

I would expect not to have this issue because the linter is not up-to-date with the documentation. It runs without bug on AWS.

Reproduction template

  ElasticacheCluster:
    Type: AWS::ElastiCache::CacheCluster
    Properties:
      Engine: redis
      CacheNodeType: cache.m7g.xlarge
kddejong commented 1 year ago

What region are you validating against? We get this data from pricing APIs and this is particular to the region.

Erkin-M commented 1 year ago

Same issue for us. Any updates on this? region us-east-1

kddejong commented 1 year ago

I still can't replicate this. Any chance you have AWS_DEFAULT_REGION or AWS_REGION setup where you are running this?

(cfn-python-lint-wusv) ➜  cfn-lint local/issue/2892.yaml                    
(cfn-python-lint-wusv) ➜  cfn-lint local/issue/2892.yaml --region us-east-1
(cfn-python-lint-wusv) ➜  cfn-lint local/issue/2892.yaml --region eu-south-1
E3030 You must specify a valid value for CacheNodeType (cache.m7g.xlarge). Valid values are ["cache.m5.12xlarge", "cache.m5.24xlarge", "cache.m5.2xlarge", "cache.m5.4xlarge", "cache.m5.large", "cache.m5.xlarge", "cache.m6g.12xlarge", "cache.m6g.16xlarge", "cache.m6g.2xlarge", "cache.m6g.4xlarge", "cache.m6g.8xlarge", "cache.m6g.large", "cache.m6g.xlarge", "cache.r5.12xlarge", "cache.r5.24xlarge", "cache.r5.2xlarge", "cache.r5.4xlarge", "cache.r5.large", "cache.r5.xlarge", "cache.r6g.12xlarge", "cache.r6g.16xlarge", "cache.r6g.2xlarge", "cache.r6g.4xlarge", "cache.r6g.8xlarge", "cache.r6g.large", "cache.r6g.xlarge", "cache.t3.medium", "cache.t3.micro", "cache.t3.small", "cache.t4g.medium", "cache.t4g.micro", "cache.t4g.small"]
local/issue/2892.yaml:7:13
(cfn-python-lint-wusv) ➜  cfn-lint --version
cfn-lint 0.80.4
One-djey commented 9 months ago

I'm no longer in the company where I had this issue. However, I remember it was running on eu-west-1.

Abhinab-AY commented 9 months ago

I am also facing this issue.

E3030 You must specify a valid value for CacheNodeType (cache.r7g.xlarge). Valid values are ["cache.c1.xlarge", "cache.m1.large", "cache.m1.medium", "cache.m1.small", "cache.m1.xlarge", "cache.m2.2xlarge", "cache.m2.4xlarge", "cache.m2.xlarge", "cache.m3.2xlarge", "cache.m3.large", "cache.m3.medium", "cache.m3.xlarge", "cache.m4.10xlarge", "cache.m4.2xlarge", "cache.m4.4xlarge", "cache.m4.large", "cache.m4.xlarge", "cache.m5.12xlarge", "cache.m5.24xlarge", "cache.m5.2xlarge", "cache.m5.4xlarge", "cache.m5.large", "cache.m5.xlarge", "cache.m6g.12xlarge", "cache.m6g.16xlarge", "cache.m6g.2xlarge", "cache.m6g.4xlarge", "cache.m6g.8xlarge", "cache.m6g.large", "cache.m6g.xlarge", "cache.r3.2xlarge", "cache.r3.4xlarge", "cache.r3.8xlarge", "cache.r3.large", "cache.r3.xlarge", "cache.r4.16xlarge", "cache.r4.2xlarge", "cache.r4.4xlarge", "cache.r4.8xlarge", "cache.r4.large", "cache.r4.xlarge", "cache.r5.12xlarge", "cache.r5.24xlarge", "cache.r5.2xlarge", "cache.r5.4xlarge", "cache.r5.large", "cache.r5.xlarge", "cache.r6g.12xlarge", "cache.r6g.16xlarge", "cache.r6g.2xlarge", "cache.r6g.4xlarge", "cache.r6g.8xlarge", "cache.r6g.large", "cache.r6g.xlarge", "cache.r6gd.12xlarge", "cache.r6gd.16xlarge", "cache.r6gd.2xlarge", "cache.r6gd.4xlarge", "cache.r6gd.8xlarge", "cache.r6gd.xlarge", "cache.t1.micro", "cache.t2.medium", "cache.t2.micro", "cache.t2.small", "cache.t3.medium", "cache.t3.micro", "cache.t3.small", "cache.t4g.medium", "cache.t4g.micro", "cache.t4g.small"]

Similar error for rds E3030 You must specify a valid value for DBInstanceClass (db.r7g.xlarge). Valid values are ["db.m1.large", "db.m1.medium", "db.m1.small", "db.m1.xlarge" .....

I suspect cfn-lint doesn't support latest 7th Generation instances. Note: Region- EU-West-1

kddejong commented 9 months ago

@Abhinab-AY please make sure you are on the latest version. cache.r7g.xlarge is an option for CacheNodeType in eu-west-1. Also db.r7g.xlarge is available for AWS::RDS::DBInstance classes.

Also eu-west-1 now has cache.m7g.xlarge