An issue that was previously fixed has cropped back up. Below is a copy/paste from the last ticket on this matter but the symptoms exhibited are the exact same and on our previous version 0.80.1 it was working fine. The more conditions are in this particular template the longer the amount of time it takes to execute as well. It seems exponential as the first condition is instantaneous and subsequent ones are longer and longer.
A template that used to lint in 1.5 seconds now doesn't complete or completes in around 30 minutes.
This is an issue that was previously fixed in #2874
Expected behavior
To complete linting in a reasonable time frame for supported configurations and properly lint the values inside the conditions. In this case I would prefer under 1 minute of execution but in versions of cfn-lint before 0.76.0 it completes in about 1.5 seconds and properly lints the values inside of the conditions.
Reproduction template
CORP::EC2::EC2::MODULE
AWSTemplateFormatVersion: 2010-09-09
Parameters:
name:
Description: The name tag for the EC2 instance.
Type: String
Default: ""
imageId:
Description: Base AMI for the EC2 instance.
Type: AWS::EC2::Image::Id
Default: ""
instanceType:
Description: EC2 instance type.
Type: String
Default: r5.large
subnetId:
Description: The ID of the subnet to launch the instance into.
Type: String
Default: ""
osVolumeSize:
Description: Size of the volume that has the OS.
Type: Number
Default: 120
securityGroupIds:
Description: The IDs of the security groups.
Type: List
Default: ""
instanceKeyName:
Type: String
Description: Key pair name
Default: kpnamegoeshere
ebsOptimized:
Type: String
Description: Indicates whether the instance is optimized for Amazon EBS I/O.
Default: false
numberOfAdditionalVolumes:
Description: Additional volumes in addition to OS volume. Max is 25.
Type: Number
MaxValue: 25
Default: 0
volume2Size:
Description: Size of volume 2
Type: Number
Default: 40
volume3Size:
Description: Size of volume 3
Type: Number
Default: 40
volume4Size:
Description: Size of volume 4
Type: Number
Default: 40
volume5Size:
Description: Size of volume 5
Type: Number
Default: 40
volume6Size:
Description: Size of volume 6
Type: Number
Default: 40
volume7Size:
Description: Size of volume 7
Type: Number
Default: 40
volume8Size:
Description: Size of volume 8
Type: Number
Default: 40
volume9Size:
Description: Size of volume 9
Type: Number
Default: 40
volume10Size:
Description: Size of volume 10
Type: Number
Default: 40
volume11Size:
Description: Size of volume 11
Type: Number
Default: 40
volume12Size:
Description: Size of volume 12
Type: Number
Default: 40
volume13Size:
Description: Size of volume 13
Type: Number
Default: 40
volume14Size:
Description: Size of volume 14
Type: Number
Default: 40
volume15Size:
Description: Size of volume 15
Type: Number
Default: 40
volume16Size:
Description: Size of volume 16
Type: Number
Default: 40
volume17Size:
Description: Size of volume 17
Type: Number
Default: 40
volume18Size:
Description: Size of volume 18
Type: Number
Default: 40
volume19Size:
Description: Size of volume 19
Type: Number
Default: 40
volume20Size:
Description: Size of volume 20
Type: Number
Default: 40
volume21Size:
Description: Size of volume 21
Type: Number
Default: 40
volume22Size:
Description: Size of volume 22
Type: Number
Default: 40
volume23Size:
Description: Size of volume 23
Type: Number
Default: 40
volume24Size:
Description: Size of volume 24
Type: Number
Default: 40
volume25Size:
Description: Size of volume 25
Type: Number
Default: 40
volume26Size:
Description: Size of volume 26
Type: Number
Default: 40
Conditions:
hasVolume26: !Equals
CloudFormation Lint Version
1.3.0
What operating system are you using?
Windows/AWS Serverless
Describe the bug
An issue that was previously fixed has cropped back up. Below is a copy/paste from the last ticket on this matter but the symptoms exhibited are the exact same and on our previous version 0.80.1 it was working fine. The more conditions are in this particular template the longer the amount of time it takes to execute as well. It seems exponential as the first condition is instantaneous and subsequent ones are longer and longer.
A template that used to lint in 1.5 seconds now doesn't complete or completes in around 30 minutes.
This is an issue that was previously fixed in #2874
Expected behavior
To complete linting in a reasonable time frame for supported configurations and properly lint the values inside the conditions. In this case I would prefer under 1 minute of execution but in versions of cfn-lint before 0.76.0 it completes in about 1.5 seconds and properly lints the values inside of the conditions.
Reproduction template
CORP::EC2::EC2::MODULE
AWSTemplateFormatVersion: 2010-09-09 Parameters: name: Description: The name tag for the EC2 instance. Type: String Default: "" imageId: Description: Base AMI for the EC2 instance. Type: AWS::EC2::Image::Id Default: "" instanceType: Description: EC2 instance type. Type: String Default: r5.large subnetId: Description: The ID of the subnet to launch the instance into. Type: String Default: "" osVolumeSize: Description: Size of the volume that has the OS. Type: Number Default: 120 securityGroupIds: Description: The IDs of the security groups. Type: List
Default: ""
instanceKeyName:
Type: String
Description: Key pair name
Default: kpnamegoeshere
ebsOptimized:
Type: String
Description: Indicates whether the instance is optimized for Amazon EBS I/O.
Default: false
numberOfAdditionalVolumes:
Description: Additional volumes in addition to OS volume. Max is 25.
Type: Number
MaxValue: 25
Default: 0
volume2Size:
Description: Size of volume 2
Type: Number
Default: 40
volume3Size:
Description: Size of volume 3
Type: Number
Default: 40
volume4Size:
Description: Size of volume 4
Type: Number
Default: 40
volume5Size:
Description: Size of volume 5
Type: Number
Default: 40
volume6Size:
Description: Size of volume 6
Type: Number
Default: 40
volume7Size:
Description: Size of volume 7
Type: Number
Default: 40
volume8Size:
Description: Size of volume 8
Type: Number
Default: 40
volume9Size:
Description: Size of volume 9
Type: Number
Default: 40
volume10Size:
Description: Size of volume 10
Type: Number
Default: 40
volume11Size:
Description: Size of volume 11
Type: Number
Default: 40
volume12Size:
Description: Size of volume 12
Type: Number
Default: 40
volume13Size:
Description: Size of volume 13
Type: Number
Default: 40
volume14Size:
Description: Size of volume 14
Type: Number
Default: 40
volume15Size:
Description: Size of volume 15
Type: Number
Default: 40
volume16Size:
Description: Size of volume 16
Type: Number
Default: 40
volume17Size:
Description: Size of volume 17
Type: Number
Default: 40
volume18Size:
Description: Size of volume 18
Type: Number
Default: 40
volume19Size:
Description: Size of volume 19
Type: Number
Default: 40
volume20Size:
Description: Size of volume 20
Type: Number
Default: 40
volume21Size:
Description: Size of volume 21
Type: Number
Default: 40
volume22Size:
Description: Size of volume 22
Type: Number
Default: 40
volume23Size:
Description: Size of volume 23
Type: Number
Default: 40
volume24Size:
Description: Size of volume 24
Type: Number
Default: 40
volume25Size:
Description: Size of volume 25
Type: Number
Default: 40
volume26Size:
Description: Size of volume 26
Type: Number
Default: 40
Conditions:
hasVolume26: !Equals