diff --git a/scripts/update_specs_from_pricing.py b/scripts/update_specs_from_pricing.py index b1fd27d0d6..5c8a086a9f 100755 --- a/scripts/update_specs_from_pricing.py +++ b/scripts/update_specs_from_pricing.py @@ -51,7 +51,7 @@ 'US West (N. California)': 'us-west-1', } -session = boto3.session.Session(profile_name='development') +session = boto3.session.Session() client = session.client('pricing', region_name='us-east-1') def configure_logging(): diff --git a/src/cfnlint/data/CloudSpecs/ap-northeast-1.json b/src/cfnlint/data/CloudSpecs/ap-northeast-1.json index 4ea60199e8..1fcfd79134 100644 --- a/src/cfnlint/data/CloudSpecs/ap-northeast-1.json +++ b/src/cfnlint/data/CloudSpecs/ap-northeast-1.json @@ -21524,7 +21524,10 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-nodetype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Immutable" + "UpdateType": "Immutable", + "Value": { + "ValueType": "DAXInstanceType" + } }, "NotificationTopicARN": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-notificationtopicarn", @@ -33494,6 +33497,28 @@ "ZW" ] }, + "DAXInstanceType": { + "AllowedValues": [ + "dax.r3.2xlarge", + "dax.r3.4xlarge", + "dax.r3.8xlarge", + "dax.r3.large", + "dax.r3.xlarge", + "dax.r4.16xlarge", + "dax.r4.2xlarge", + "dax.r4.4xlarge", + "dax.r4.8xlarge", + "dax.r4.large", + "dax.r4.xlarge", + "dax.t2.medium", + "dax.t2.small" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "DmsEndpointEngineName": { "AllowedValues": [ "aurora-postgresql", @@ -34015,6 +34040,23 @@ "TXT" ] }, + "RedshiftInstanceType": { + "AllowedValues": [ + "dc1.8xlarge", + "dc1.large", + "dc2.8xlarge", + "dc2.large", + "ds1.8xlarge", + "ds1.xlarge", + "ds2.8xlarge", + "ds2.xlarge" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "Region": { "AllowedValues": [ "ap-northeast-1", diff --git a/src/cfnlint/data/CloudSpecs/ap-northeast-2.json b/src/cfnlint/data/CloudSpecs/ap-northeast-2.json index aca0ed299e..3eba76983e 100644 --- a/src/cfnlint/data/CloudSpecs/ap-northeast-2.json +++ b/src/cfnlint/data/CloudSpecs/ap-northeast-2.json @@ -31312,6 +31312,13 @@ "ZW" ] }, + "DAXInstanceType": { + "Ref": { + "Parameters": [ + "String" + ] + } + }, "DmsEndpointEngineName": { "AllowedValues": [ "aurora-postgresql", @@ -31793,6 +31800,21 @@ "TXT" ] }, + "RedshiftInstanceType": { + "AllowedValues": [ + "dc1.8xlarge", + "dc1.large", + "dc2.8xlarge", + "dc2.large", + "ds2.8xlarge", + "ds2.xlarge" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "Region": { "AllowedValues": [ "ap-northeast-1", diff --git a/src/cfnlint/data/CloudSpecs/ap-northeast-3.json b/src/cfnlint/data/CloudSpecs/ap-northeast-3.json index 3653046a13..18765873fa 100644 --- a/src/cfnlint/data/CloudSpecs/ap-northeast-3.json +++ b/src/cfnlint/data/CloudSpecs/ap-northeast-3.json @@ -21829,6 +21829,13 @@ "ZW" ] }, + "DAXInstanceType": { + "Ref": { + "Parameters": [ + "String" + ] + } + }, "DmsEndpointEngineName": { "AllowedValues": [ "aurora-postgresql", @@ -22220,6 +22227,19 @@ "TXT" ] }, + "RedshiftInstanceType": { + "AllowedValues": [ + "dc2.8xlarge", + "dc2.large", + "ds2.8xlarge", + "ds2.xlarge" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "Region": { "AllowedValues": [ "ap-northeast-1", diff --git a/src/cfnlint/data/CloudSpecs/ap-south-1.json b/src/cfnlint/data/CloudSpecs/ap-south-1.json index 5f348e8735..f83437be76 100644 --- a/src/cfnlint/data/CloudSpecs/ap-south-1.json +++ b/src/cfnlint/data/CloudSpecs/ap-south-1.json @@ -29633,6 +29633,28 @@ "ZW" ] }, + "DAXInstanceType": { + "AllowedValues": [ + "dax.r3.2xlarge", + "dax.r3.4xlarge", + "dax.r3.8xlarge", + "dax.r3.large", + "dax.r3.xlarge", + "dax.r4.16xlarge", + "dax.r4.2xlarge", + "dax.r4.4xlarge", + "dax.r4.8xlarge", + "dax.r4.large", + "dax.r4.xlarge", + "dax.t2.medium", + "dax.t2.small" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "DmsEndpointEngineName": { "AllowedValues": [ "aurora-postgresql", @@ -30034,6 +30056,11 @@ "db.r4.8xlarge", "db.r4.large", "db.r4.xlarge", + "db.r5.12xlarge", + "db.r5.2xlarge", + "db.r5.4xlarge", + "db.r5.large", + "db.r5.xlarge", "db.t2.2xlarge", "db.t2.large", "db.t2.medium", @@ -30088,6 +30115,21 @@ "TXT" ] }, + "RedshiftInstanceType": { + "AllowedValues": [ + "dc1.8xlarge", + "dc1.large", + "dc2.8xlarge", + "dc2.large", + "ds2.8xlarge", + "ds2.xlarge" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "Region": { "AllowedValues": [ "ap-northeast-1", diff --git a/src/cfnlint/data/CloudSpecs/ap-southeast-1.json b/src/cfnlint/data/CloudSpecs/ap-southeast-1.json index e7a0b1e233..455ab3f527 100644 --- a/src/cfnlint/data/CloudSpecs/ap-southeast-1.json +++ b/src/cfnlint/data/CloudSpecs/ap-southeast-1.json @@ -30938,6 +30938,28 @@ "ZW" ] }, + "DAXInstanceType": { + "AllowedValues": [ + "dax.r3.2xlarge", + "dax.r3.4xlarge", + "dax.r3.8xlarge", + "dax.r3.large", + "dax.r3.xlarge", + "dax.r4.16xlarge", + "dax.r4.2xlarge", + "dax.r4.4xlarge", + "dax.r4.8xlarge", + "dax.r4.large", + "dax.r4.xlarge", + "dax.t2.medium", + "dax.t2.small" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "DmsEndpointEngineName": { "AllowedValues": [ "aurora-postgresql", @@ -31457,6 +31479,23 @@ "TXT" ] }, + "RedshiftInstanceType": { + "AllowedValues": [ + "dc1.8xlarge", + "dc1.large", + "dc2.8xlarge", + "dc2.large", + "ds1.8xlarge", + "ds1.xlarge", + "ds2.8xlarge", + "ds2.xlarge" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "Region": { "AllowedValues": [ "ap-northeast-1", diff --git a/src/cfnlint/data/CloudSpecs/ap-southeast-2.json b/src/cfnlint/data/CloudSpecs/ap-southeast-2.json index 737c3967c7..dfb29dd7a5 100644 --- a/src/cfnlint/data/CloudSpecs/ap-southeast-2.json +++ b/src/cfnlint/data/CloudSpecs/ap-southeast-2.json @@ -31847,6 +31847,28 @@ "ZW" ] }, + "DAXInstanceType": { + "AllowedValues": [ + "dax.r3.2xlarge", + "dax.r3.4xlarge", + "dax.r3.8xlarge", + "dax.r3.large", + "dax.r3.xlarge", + "dax.r4.16xlarge", + "dax.r4.2xlarge", + "dax.r4.4xlarge", + "dax.r4.8xlarge", + "dax.r4.large", + "dax.r4.xlarge", + "dax.t2.medium", + "dax.t2.small" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "DmsEndpointEngineName": { "AllowedValues": [ "aurora-postgresql", @@ -32361,6 +32383,23 @@ "TXT" ] }, + "RedshiftInstanceType": { + "AllowedValues": [ + "dc1.8xlarge", + "dc1.large", + "dc2.8xlarge", + "dc2.large", + "ds1.8xlarge", + "ds1.xlarge", + "ds2.8xlarge", + "ds2.xlarge" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "Region": { "AllowedValues": [ "ap-northeast-1", diff --git a/src/cfnlint/data/CloudSpecs/ca-central-1.json b/src/cfnlint/data/CloudSpecs/ca-central-1.json index 8316936b4c..65b9a461f2 100644 --- a/src/cfnlint/data/CloudSpecs/ca-central-1.json +++ b/src/cfnlint/data/CloudSpecs/ca-central-1.json @@ -27993,6 +27993,13 @@ "ZW" ] }, + "DAXInstanceType": { + "Ref": { + "Parameters": [ + "String" + ] + } + }, "DmsEndpointEngineName": { "AllowedValues": [ "aurora-postgresql", @@ -28446,6 +28453,21 @@ "TXT" ] }, + "RedshiftInstanceType": { + "AllowedValues": [ + "dc1.8xlarge", + "dc1.large", + "dc2.8xlarge", + "dc2.large", + "ds2.8xlarge", + "ds2.xlarge" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "Region": { "AllowedValues": [ "ap-northeast-1", diff --git a/src/cfnlint/data/CloudSpecs/eu-central-1.json b/src/cfnlint/data/CloudSpecs/eu-central-1.json index adec4d05bf..ae8d8db7d8 100644 --- a/src/cfnlint/data/CloudSpecs/eu-central-1.json +++ b/src/cfnlint/data/CloudSpecs/eu-central-1.json @@ -32652,6 +32652,23 @@ "ZW" ] }, + "DAXInstanceType": { + "AllowedValues": [ + "dax.r4.16xlarge", + "dax.r4.2xlarge", + "dax.r4.4xlarge", + "dax.r4.8xlarge", + "dax.r4.large", + "dax.r4.xlarge", + "dax.t2.medium", + "dax.t2.small" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "DmsEndpointEngineName": { "AllowedValues": [ "aurora-postgresql", @@ -33141,6 +33158,23 @@ "TXT" ] }, + "RedshiftInstanceType": { + "AllowedValues": [ + "dc1.8xlarge", + "dc1.large", + "dc2.8xlarge", + "dc2.large", + "ds1.8xlarge", + "ds1.xlarge", + "ds2.8xlarge", + "ds2.xlarge" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "Region": { "AllowedValues": [ "ap-northeast-1", diff --git a/src/cfnlint/data/CloudSpecs/eu-north-1.json b/src/cfnlint/data/CloudSpecs/eu-north-1.json index 5cffc9e56c..9d972733c2 100644 --- a/src/cfnlint/data/CloudSpecs/eu-north-1.json +++ b/src/cfnlint/data/CloudSpecs/eu-north-1.json @@ -23230,6 +23230,13 @@ "ZW" ] }, + "DAXInstanceType": { + "Ref": { + "Parameters": [ + "String" + ] + } + }, "DmsEndpointEngineName": { "AllowedValues": [ "aurora-postgresql", @@ -23628,6 +23635,23 @@ "TXT" ] }, + "RedshiftInstanceType": { + "AllowedValues": [ + "dc1.8xlarge", + "dc1.large", + "dc2.8xlarge", + "dc2.large", + "ds1.8xlarge", + "ds1.xlarge", + "ds2.8xlarge", + "ds2.xlarge" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "Region": { "AllowedValues": [ "ap-northeast-1", diff --git a/src/cfnlint/data/CloudSpecs/eu-west-1.json b/src/cfnlint/data/CloudSpecs/eu-west-1.json index 94ce1a208e..a174613b90 100644 --- a/src/cfnlint/data/CloudSpecs/eu-west-1.json +++ b/src/cfnlint/data/CloudSpecs/eu-west-1.json @@ -24060,7 +24060,10 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-nodetype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Immutable" + "UpdateType": "Immutable", + "Value": { + "ValueType": "DAXInstanceType" + } }, "NotificationTopicARN": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-notificationtopicarn", @@ -37095,6 +37098,28 @@ "ZW" ] }, + "DAXInstanceType": { + "AllowedValues": [ + "dax.r3.2xlarge", + "dax.r3.4xlarge", + "dax.r3.8xlarge", + "dax.r3.large", + "dax.r3.xlarge", + "dax.r4.16xlarge", + "dax.r4.2xlarge", + "dax.r4.4xlarge", + "dax.r4.8xlarge", + "dax.r4.large", + "dax.r4.xlarge", + "dax.t2.medium", + "dax.t2.small" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "DmsEndpointEngineName": { "AllowedValues": [ "aurora-postgresql", @@ -37647,6 +37672,23 @@ "TXT" ] }, + "RedshiftInstanceType": { + "AllowedValues": [ + "dc1.8xlarge", + "dc1.large", + "dc2.8xlarge", + "dc2.large", + "ds1.8xlarge", + "ds1.xlarge", + "ds2.8xlarge", + "ds2.xlarge" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "Region": { "AllowedValues": [ "ap-northeast-1", diff --git a/src/cfnlint/data/CloudSpecs/eu-west-2.json b/src/cfnlint/data/CloudSpecs/eu-west-2.json index a40b41423e..cc2f871dd8 100644 --- a/src/cfnlint/data/CloudSpecs/eu-west-2.json +++ b/src/cfnlint/data/CloudSpecs/eu-west-2.json @@ -29321,6 +29321,13 @@ "ZW" ] }, + "DAXInstanceType": { + "Ref": { + "Parameters": [ + "String" + ] + } + }, "DmsEndpointEngineName": { "AllowedValues": [ "aurora-postgresql", @@ -29772,6 +29779,21 @@ "TXT" ] }, + "RedshiftInstanceType": { + "AllowedValues": [ + "dc1.8xlarge", + "dc1.large", + "dc2.8xlarge", + "dc2.large", + "ds2.8xlarge", + "ds2.xlarge" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "Region": { "AllowedValues": [ "ap-northeast-1", diff --git a/src/cfnlint/data/CloudSpecs/eu-west-3.json b/src/cfnlint/data/CloudSpecs/eu-west-3.json index 4ea956a27a..63224402cb 100644 --- a/src/cfnlint/data/CloudSpecs/eu-west-3.json +++ b/src/cfnlint/data/CloudSpecs/eu-west-3.json @@ -26176,6 +26176,13 @@ "ZW" ] }, + "DAXInstanceType": { + "Ref": { + "Parameters": [ + "String" + ] + } + }, "DmsEndpointEngineName": { "AllowedValues": [ "aurora-postgresql", @@ -26614,6 +26621,19 @@ "TXT" ] }, + "RedshiftInstanceType": { + "AllowedValues": [ + "dc2.8xlarge", + "dc2.large", + "ds2.8xlarge", + "ds2.xlarge" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "Region": { "AllowedValues": [ "ap-northeast-1", diff --git a/src/cfnlint/data/CloudSpecs/sa-east-1.json b/src/cfnlint/data/CloudSpecs/sa-east-1.json index 822c5e85e1..7eb5eac0c4 100644 --- a/src/cfnlint/data/CloudSpecs/sa-east-1.json +++ b/src/cfnlint/data/CloudSpecs/sa-east-1.json @@ -27161,6 +27161,28 @@ "ZW" ] }, + "DAXInstanceType": { + "AllowedValues": [ + "dax.r3.2xlarge", + "dax.r3.4xlarge", + "dax.r3.8xlarge", + "dax.r3.large", + "dax.r3.xlarge", + "dax.r4.16xlarge", + "dax.r4.2xlarge", + "dax.r4.4xlarge", + "dax.r4.8xlarge", + "dax.r4.large", + "dax.r4.xlarge", + "dax.t2.medium", + "dax.t2.small" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "DmsEndpointEngineName": { "AllowedValues": [ "aurora-postgresql", @@ -27617,6 +27639,21 @@ "TXT" ] }, + "RedshiftInstanceType": { + "AllowedValues": [ + "dc1.8xlarge", + "dc1.large", + "dc2.8xlarge", + "dc2.large", + "ds2.8xlarge", + "ds2.xlarge" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "Region": { "AllowedValues": [ "ap-northeast-1", diff --git a/src/cfnlint/data/CloudSpecs/us-east-1.json b/src/cfnlint/data/CloudSpecs/us-east-1.json index 4fb158b6b3..68741bcec0 100644 --- a/src/cfnlint/data/CloudSpecs/us-east-1.json +++ b/src/cfnlint/data/CloudSpecs/us-east-1.json @@ -24061,7 +24061,10 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-nodetype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Immutable" + "UpdateType": "Immutable", + "Value": { + "ValueType": "DAXInstanceType" + } }, "NotificationTopicARN": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-notificationtopicarn", @@ -37173,6 +37176,28 @@ "ZW" ] }, + "DAXInstanceType": { + "AllowedValues": [ + "dax.r3.2xlarge", + "dax.r3.4xlarge", + "dax.r3.8xlarge", + "dax.r3.large", + "dax.r3.xlarge", + "dax.r4.16xlarge", + "dax.r4.2xlarge", + "dax.r4.4xlarge", + "dax.r4.8xlarge", + "dax.r4.large", + "dax.r4.xlarge", + "dax.t2.medium", + "dax.t2.small" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "DmsEndpointEngineName": { "AllowedValues": [ "aurora-postgresql", @@ -37727,6 +37752,23 @@ "TXT" ] }, + "RedshiftInstanceType": { + "AllowedValues": [ + "dc1.8xlarge", + "dc1.large", + "dc2.8xlarge", + "dc2.large", + "ds1.8xlarge", + "ds1.xlarge", + "ds2.8xlarge", + "ds2.xlarge" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "Region": { "AllowedValues": [ "ap-northeast-1", diff --git a/src/cfnlint/data/CloudSpecs/us-east-2.json b/src/cfnlint/data/CloudSpecs/us-east-2.json index b2465cc904..a905f342a1 100644 --- a/src/cfnlint/data/CloudSpecs/us-east-2.json +++ b/src/cfnlint/data/CloudSpecs/us-east-2.json @@ -34732,6 +34732,23 @@ "ZW" ] }, + "DAXInstanceType": { + "AllowedValues": [ + "dax.r4.16xlarge", + "dax.r4.2xlarge", + "dax.r4.4xlarge", + "dax.r4.8xlarge", + "dax.r4.large", + "dax.r4.xlarge", + "dax.t2.medium", + "dax.t2.small" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "DmsEndpointEngineName": { "AllowedValues": [ "aurora-postgresql", @@ -35227,6 +35244,21 @@ "TXT" ] }, + "RedshiftInstanceType": { + "AllowedValues": [ + "dc1.8xlarge", + "dc1.large", + "dc2.8xlarge", + "dc2.large", + "ds2.8xlarge", + "ds2.xlarge" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "Region": { "AllowedValues": [ "ap-northeast-1", diff --git a/src/cfnlint/data/CloudSpecs/us-gov-east-1.json b/src/cfnlint/data/CloudSpecs/us-gov-east-1.json index 99659d27cb..c83e68d89e 100644 --- a/src/cfnlint/data/CloudSpecs/us-gov-east-1.json +++ b/src/cfnlint/data/CloudSpecs/us-gov-east-1.json @@ -22174,6 +22174,13 @@ "ZW" ] }, + "DAXInstanceType": { + "Ref": { + "Parameters": [ + "String" + ] + } + }, "DmsEndpointEngineName": { "AllowedValues": [ "aurora-postgresql", @@ -22548,6 +22555,19 @@ "TXT" ] }, + "RedshiftInstanceType": { + "AllowedValues": [ + "dc2.8xlarge", + "dc2.large", + "ds2.8xlarge", + "ds2.xlarge" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "Region": { "AllowedValues": [ "ap-northeast-1", diff --git a/src/cfnlint/data/CloudSpecs/us-gov-west-1.json b/src/cfnlint/data/CloudSpecs/us-gov-west-1.json index 018964970d..181fb4f73a 100644 --- a/src/cfnlint/data/CloudSpecs/us-gov-west-1.json +++ b/src/cfnlint/data/CloudSpecs/us-gov-west-1.json @@ -22418,6 +22418,13 @@ "ZW" ] }, + "DAXInstanceType": { + "Ref": { + "Parameters": [ + "String" + ] + } + }, "DmsEndpointEngineName": { "AllowedValues": [ "aurora-postgresql", @@ -22925,6 +22932,23 @@ "TXT" ] }, + "RedshiftInstanceType": { + "AllowedValues": [ + "dc1.8xlarge", + "dc1.large", + "dc2.8xlarge", + "dc2.large", + "ds1.8xlarge", + "ds1.xlarge", + "ds2.8xlarge", + "ds2.xlarge" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "Region": { "AllowedValues": [ "ap-northeast-1", diff --git a/src/cfnlint/data/CloudSpecs/us-west-1.json b/src/cfnlint/data/CloudSpecs/us-west-1.json index 3f8aea04b6..1f2d49d365 100644 --- a/src/cfnlint/data/CloudSpecs/us-west-1.json +++ b/src/cfnlint/data/CloudSpecs/us-west-1.json @@ -17865,7 +17865,10 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-nodetype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Immutable" + "UpdateType": "Immutable", + "Value": { + "ValueType": "DAXInstanceType" + } }, "NotificationTopicARN": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-notificationtopicarn", @@ -28778,6 +28781,28 @@ "ZW" ] }, + "DAXInstanceType": { + "AllowedValues": [ + "dax.r3.2xlarge", + "dax.r3.4xlarge", + "dax.r3.8xlarge", + "dax.r3.large", + "dax.r3.xlarge", + "dax.r4.16xlarge", + "dax.r4.2xlarge", + "dax.r4.4xlarge", + "dax.r4.8xlarge", + "dax.r4.large", + "dax.r4.xlarge", + "dax.t2.medium", + "dax.t2.small" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "DmsEndpointEngineName": { "AllowedValues": [ "aurora-postgresql", @@ -29277,6 +29302,21 @@ "TXT" ] }, + "RedshiftInstanceType": { + "AllowedValues": [ + "dc1.8xlarge", + "dc1.large", + "dc2.8xlarge", + "dc2.large", + "ds2.8xlarge", + "ds2.xlarge" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "Region": { "AllowedValues": [ "ap-northeast-1", diff --git a/src/cfnlint/data/CloudSpecs/us-west-2.json b/src/cfnlint/data/CloudSpecs/us-west-2.json index 71be7dfd13..7aa54788d3 100644 --- a/src/cfnlint/data/CloudSpecs/us-west-2.json +++ b/src/cfnlint/data/CloudSpecs/us-west-2.json @@ -24079,7 +24079,10 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-nodetype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Immutable" + "UpdateType": "Immutable", + "Value": { + "ValueType": "DAXInstanceType" + } }, "NotificationTopicARN": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-notificationtopicarn", @@ -37154,6 +37157,28 @@ "ZW" ] }, + "DAXInstanceType": { + "AllowedValues": [ + "dax.r3.2xlarge", + "dax.r3.4xlarge", + "dax.r3.8xlarge", + "dax.r3.large", + "dax.r3.xlarge", + "dax.r4.16xlarge", + "dax.r4.2xlarge", + "dax.r4.4xlarge", + "dax.r4.8xlarge", + "dax.r4.large", + "dax.r4.xlarge", + "dax.t2.medium", + "dax.t2.small" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "DmsEndpointEngineName": { "AllowedValues": [ "aurora-postgresql", @@ -37708,6 +37733,23 @@ "TXT" ] }, + "RedshiftInstanceType": { + "AllowedValues": [ + "dc1.8xlarge", + "dc1.large", + "dc2.8xlarge", + "dc2.large", + "ds1.8xlarge", + "ds1.xlarge", + "ds2.8xlarge", + "ds2.xlarge" + ], + "Ref": { + "Parameters": [ + "String" + ] + } + }, "Region": { "AllowedValues": [ "ap-northeast-1", diff --git a/src/cfnlint/data/ExtendedSpecs/all/03_value_types.json b/src/cfnlint/data/ExtendedSpecs/all/03_value_types.json index 465aa0ed80..5c1bff507c 100644 --- a/src/cfnlint/data/ExtendedSpecs/all/03_value_types.json +++ b/src/cfnlint/data/ExtendedSpecs/all/03_value_types.json @@ -902,6 +902,13 @@ "ZW" ] }, + "DAXInstanceType": { + "Ref": { + "Parameters": [ + "String" + ] + } + }, "DmsEndpointEngineName": { "AllowedValues": [ "aurora-postgresql", @@ -1233,6 +1240,13 @@ "TXT" ] }, + "RedshiftInstanceType": { + "Ref": { + "Parameters": [ + "String" + ] + } + }, "Region": { "AllowedValues": [ "ap-northeast-1", diff --git a/src/cfnlint/data/ExtendedSpecs/all/04_property_values.json b/src/cfnlint/data/ExtendedSpecs/all/04_property_values.json index 44434d5ed8..64f110e5a6 100644 --- a/src/cfnlint/data/ExtendedSpecs/all/04_property_values.json +++ b/src/cfnlint/data/ExtendedSpecs/all/04_property_values.json @@ -1436,6 +1436,13 @@ "ValueType": "CodePipelineWehbookAuthentication" } }, + { + "op": "add", + "path": "/ResourceTypes/AWS::DAX::Cluster/Properties/NodeType/Value", + "value": { + "ValueType": "DAXInstanceType" + } + }, { "op": "add", "path": "/ResourceTypes/AWS::EC2::EgressOnlyInternetGateway/Properties/VpcId/Value", diff --git a/test/fixtures/templates/bad/resources/properties/allowed_values.yaml b/test/fixtures/templates/bad/resources/properties/allowed_values.yaml index 32366238a3..1ae84e1a31 100644 --- a/test/fixtures/templates/bad/resources/properties/allowed_values.yaml +++ b/test/fixtures/templates/bad/resources/properties/allowed_values.yaml @@ -436,6 +436,12 @@ Resources: ConfigSnapshotDeliveryProperties: DeliveryFrequency: "Minute" # Invalid AllowedValue S3BucketName: !Ref "S3Bucket" + DAXCluster: + Type: "AWS::DAX::Cluster" + Properties: + IAMRoleARN: "iam" + NodeType: "t2.small" # Invalid AllowedValue + ReplicationFactor: 1 DmsEndpoint: Type: "AWS::DMS::Endpoint" Properties: diff --git a/test/fixtures/templates/good/resources/properties/allowed_values.yaml b/test/fixtures/templates/good/resources/properties/allowed_values.yaml index ed0b8e189e..36806dbdc0 100644 --- a/test/fixtures/templates/good/resources/properties/allowed_values.yaml +++ b/test/fixtures/templates/good/resources/properties/allowed_values.yaml @@ -444,6 +444,12 @@ Resources: ConfigSnapshotDeliveryProperties: DeliveryFrequency: "Six_Hours" # Valid AllowedValue S3BucketName: !Ref "S3Bucket" + DAXCluster: + Type: "AWS::DAX::Cluster" + Properties: + IAMRoleARN: "iam" + NodeType: "dax.t2.small" # Valid AllowedValue + ReplicationFactor: 1 DmsEndpoint: Type: "AWS::DMS::Endpoint" Properties: diff --git a/test/rules/resources/properties/test_allowed_value.py b/test/rules/resources/properties/test_allowed_value.py index 7110153ada..c42ef445dc 100644 --- a/test/rules/resources/properties/test_allowed_value.py +++ b/test/rules/resources/properties/test_allowed_value.py @@ -34,4 +34,4 @@ def test_file_positive(self): def test_file_negative(self): """Test failure""" - self.helper_file_negative('test/fixtures/templates/bad/resources/properties/allowed_values.yaml', 136) + self.helper_file_negative('test/fixtures/templates/bad/resources/properties/allowed_values.yaml', 137)