diff --git a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_apigateway.json b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_apigateway.json index 041529bfff..981f57da38 100644 --- a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_apigateway.json +++ b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_apigateway.json @@ -56,5 +56,13 @@ "API_KEY" ] } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::ApiGateway::Authorizer.AuthorizerResultTtlInSeconds", + "value": { + "NumberMax": 3600, + "NumberMin": 0 + } } ] diff --git a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_appstream.json b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_appstream.json new file mode 100644 index 0000000000..9f4b24e75d --- /dev/null +++ b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_appstream.json @@ -0,0 +1,26 @@ +[ + { + "op": "add", + "path": "/ValueTypes/AWS::AppStream::Fleet.DisconnectTimeoutInSeconds", + "value": { + "NumberMax": 360000, + "NumberMin": 60 + } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::AppStream::Fleet.IdleDisconnectTimeoutInSeconds", + "value": { + "NumberMax": 3600, + "NumberMin": 0 + } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::AppStream::Fleet.MaxUserDurationInSeconds", + "value": { + "NumberMax": 360000, + "NumberMin": 600 + } + } +] \ No newline at end of file diff --git a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_cloud9.json b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_cloud9.json new file mode 100644 index 0000000000..f5b321a7f8 --- /dev/null +++ b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_cloud9.json @@ -0,0 +1,10 @@ +[ + { + "op": "add", + "path": "/ValueTypes/AWS::Cloud9::EnvironmentEC2.AutomaticStopTimeMinutes", + "value": { + "NumberMax": 20160, + "NumberMin": 0 + } + } +] \ No newline at end of file diff --git a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_codebuild.json b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_codebuild.json index e610262119..26fa5f655a 100644 --- a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_codebuild.json +++ b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_codebuild.json @@ -76,5 +76,21 @@ "S3" ] } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::CodeBuild::Project.TimeoutInMinutes", + "value": { + "NumberMax": 480, + "NumberMin": 5 + } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::CodeBuild::Project.QueuedTimeoutInMinutes", + "value": { + "NumberMax": 480, + "NumberMin": 5 + } } ] diff --git a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_docdb.json b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_docdb.json new file mode 100644 index 0000000000..919c922337 --- /dev/null +++ b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_docdb.json @@ -0,0 +1,10 @@ +[ + { + "op": "add", + "path": "/ValueTypes/AWS::DocDB::DBCluster.BackupRetentionPeriod", + "value": { + "NumberMax": 35, + "NumberMin": 1 + } + } +] \ No newline at end of file diff --git a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_elasticache.json b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_elasticache.json new file mode 100644 index 0000000000..ead5e38c73 --- /dev/null +++ b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_elasticache.json @@ -0,0 +1,18 @@ +[ + { + "op": "add", + "path": "/ValueTypes/AWS::ElastiCache::ReplicationGroup.NumCacheClusters", + "value": { + "NumberMax": 6, + "NumberMin": 1 + } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::ElastiCache::ReplicationGroup.ReplicasPerNodeGroup", + "value": { + "NumberMax": 5, + "NumberMin": 0 + } + } +] \ No newline at end of file diff --git a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_elb.json b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_elb.json new file mode 100644 index 0000000000..096f294384 --- /dev/null +++ b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_elb.json @@ -0,0 +1,26 @@ +[ + { + "op": "add", + "path": "/ValueTypes/AWS::ElasticLoadBalancingV2::TargetGroup.HealthCheckIntervalSeconds", + "value": { + "NumberMax": 300, + "NumberMin": 5 + } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::ElasticLoadBalancingV2::TargetGroup.UnhealthyThresholdCount", + "value": { + "NumberMax": 10, + "NumberMin": 2 + } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::ElasticLoadBalancingV2::ListenerRule.Priority", + "value": { + "NumberMax": 50000, + "NumberMin": 1 + } + } +] \ No newline at end of file diff --git a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_fsx.json b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_fsx.json new file mode 100644 index 0000000000..06686b2a57 --- /dev/null +++ b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_fsx.json @@ -0,0 +1,10 @@ +[ + { + "op": "add", + "path": "/ValueTypes/AWS::FSx::FileSystem.StorageCapacity", + "value": { + "NumberMax": 65536, + "NumberMin": 300 + } + } +] \ No newline at end of file diff --git a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_glue.json b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_glue.json index eabe6b4555..ffc3cd3029 100644 --- a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_glue.json +++ b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_glue.json @@ -77,5 +77,21 @@ "SCHEDULED" ] } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::Glue::Job.NumberOfWorkers", + "value": { + "NumberMax": 299, + "NumberMin": 0 + } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::Glue::MLTransform.MaxCapacity", + "value": { + "NumberMax": 100, + "NumberMin": 1 + } } ] diff --git a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_iam.json b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_iam.json index eaa6b7c8cc..e17efbe51b 100644 --- a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_iam.json +++ b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_iam.json @@ -230,5 +230,13 @@ ] } } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::IAM::Role.MaxSessionDuration", + "value": { + "NumberMax": 43200, + "NumberMin": 3600 + } } ] diff --git a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_inspector.json b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_inspector.json new file mode 100644 index 0000000000..d8850e0da6 --- /dev/null +++ b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_inspector.json @@ -0,0 +1,10 @@ +[ + { + "op": "add", + "path": "/ValueTypes/AWS::Inspector::AssessmentTemplate.DurationInSeconds", + "value": { + "NumberMax": 86400, + "NumberMin": 180 + } + } +] \ No newline at end of file diff --git a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_kinesis.json b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_kinesis.json new file mode 100644 index 0000000000..4519342187 --- /dev/null +++ b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_kinesis.json @@ -0,0 +1,18 @@ +[ + { + "op": "add", + "path": "/ValueTypes/AWS::Kinesis::Stream.RetentionPeriodHours", + "value": { + "NumberMax": 168, + "NumberMin": 1 + } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::Kinesis::Stream.ShardCount", + "value": { + "NumberMax": 100000, + "NumberMin": 1 + } + } +] \ No newline at end of file diff --git a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_kms.json b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_kms.json new file mode 100644 index 0000000000..4dafd95131 --- /dev/null +++ b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_kms.json @@ -0,0 +1,10 @@ +[ + { + "op": "add", + "path": "/ValueTypes/AWS::KMS::Key.PendingWindowInDays", + "value": { + "NumberMax": 30, + "NumberMin": 7 + } + } +] \ No newline at end of file diff --git a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_lambda.json b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_lambda.json new file mode 100644 index 0000000000..3aade9bf23 --- /dev/null +++ b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_lambda.json @@ -0,0 +1,26 @@ +[ + { + "op": "add", + "path": "/ValueTypes/AWS::Lambda::Function.MemorySize", + "value": { + "NumberMax": 3008, + "NumberMin": 128 + } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::Lambda::Function.Timeout", + "value": { + "NumberMax": 900, + "NumberMin": 1 + } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::Lambda::EventSourceMapping.BatchSize", + "value": { + "NumberMax": 10000, + "NumberMin": 1 + } + } +] \ No newline at end of file diff --git a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_rds.json b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_rds.json new file mode 100644 index 0000000000..55714a1aca --- /dev/null +++ b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_rds.json @@ -0,0 +1,33 @@ +[ + { + "op": "add", + "path": "/ValueTypes/AWS::RDS::DBCluster.BackupRetentionPeriod", + "value": { + "NumberMax": 35, + "NumberMin": 1 + } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::RDS::DBInstance.BackupRetentionPeriod", + "value": { + "NumberMax": 35, + "NumberMin": 0 + } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::RDS::DBInstance.PromotionTier", + "value": { + "NumberMax": 15, + "NumberMin": 0 + } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::RDS::DBInstance.Iops", + "value": { + "NumberMin": 1000 + } + } +] \ No newline at end of file diff --git a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_redshift.json b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_redshift.json new file mode 100644 index 0000000000..e4a2b49f63 --- /dev/null +++ b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_redshift.json @@ -0,0 +1,10 @@ +[ + { + "op": "add", + "path": "/ValueTypes/AWS::Redshift::Cluster.NumberOfNodes", + "value": { + "NumberMax": 100, + "NumberMin": 1 + } + } +] \ No newline at end of file diff --git a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_sagemaker.json b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_sagemaker.json new file mode 100644 index 0000000000..ed180c420d --- /dev/null +++ b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_sagemaker.json @@ -0,0 +1,10 @@ +[ + { + "op": "add", + "path": "/ValueTypes/AWS::SageMaker::NotebookInstance.VolumeSizeInGB", + "value": { + "NumberMax": 16384, + "NumberMin": 5 + } + } +] \ No newline at end of file diff --git a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_sqs.json b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_sqs.json new file mode 100644 index 0000000000..c0e2f4b35e --- /dev/null +++ b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_sqs.json @@ -0,0 +1,50 @@ +[ + { + "op": "add", + "path": "/ValueTypes/AWS::SQS::Queue.DelaySeconds", + "value": { + "NumberMax": 900, + "NumberMin": 0 + } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::SQS::Queue.KmsDataKeyReusePeriodSeconds", + "value": { + "NumberMax": 86400, + "NumberMin": 60 + } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::SQS::Queue.MaximumMessageSize", + "value": { + "NumberMax": 262144, + "NumberMin": 1024 + } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::SQS::Queue.MessageRetentionPeriod", + "value": { + "NumberMax": 1209600, + "NumberMin": 60 + } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::SQS::Queue.ReceiveMessageWaitTimeSeconds", + "value": { + "NumberMax": 20, + "NumberMin": 1 + } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::SQS::Queue.VisibilityTimeout", + "value": { + "NumberMax": 43200, + "NumberMin": 0 + } + } +] \ No newline at end of file diff --git a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_ssm.json b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_ssm.json new file mode 100644 index 0000000000..ab35b8bbef --- /dev/null +++ b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_ssm.json @@ -0,0 +1,18 @@ +[ + { + "op": "add", + "path": "/ValueTypes/AWS::SSM::MaintenanceWindow.Cutoff", + "value": { + "NumberMax": 23, + "NumberMin": 0 + } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::SSM::MaintenanceWindow.Duration", + "value": { + "NumberMax": 24, + "NumberMin": 1 + } + } +] \ No newline at end of file