Skip to content

Commit

Permalink
Update CloudFormation schemas to 2024-05-10 (#3211)
Browse files Browse the repository at this point in the history
Co-authored-by: kddejong <[email protected]>
  • Loading branch information
github-actions[bot] and kddejong authored May 10, 2024
1 parent 5e09fcd commit 0c28522
Show file tree
Hide file tree
Showing 371 changed files with 85,530 additions and 96,210 deletions.
11 changes: 7 additions & 4 deletions docs/rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ To include these rules, use the `-e/include-experimental` argument when running
## Rules
(_This documentation is generated by running `cfn-lint --update-documentation`, do not alter this manually_)

The following **193** rules are applied by this linter:
The following **196** rules are applied by this linter:

| Rule ID | Title | Description | Config<br />(Name:Type:Default) | Source | Tags |
| -------- | ----- | ----------- | ---------- | ------ | ---- |
Expand Down Expand Up @@ -85,8 +85,6 @@ The following **193** rules are applied by this linter:
| [E2010<a name="E2010"></a>](../src/cfnlint/rules/parameters/MaxProperties.py) | Parameter limit not exceeded | Check the number of Parameters in the template is less than the upper limit | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) | `parameters`,`limits` |
| [E2012<a name="E2012"></a>](../src/cfnlint/rules/parameters/MaxLength.py) | Parameter value limit not exceeded | Check if the size of Parameter values in the template is less than the upper limit | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) | `parameters`,`limits` |
| [E2015<a name="E2015"></a>](../src/cfnlint/rules/parameters/Default.py) | Default value is within parameter constraints | Making sure the parameters have a default value inside AllowedValues, MinValue, MaxValue, AllowedPattern | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html) | `parameters` |
| [E2503<a name="E2503"></a>](../src/cfnlint/rules/resources/elb/Elb.py) | Resource ELB Properties | See if Elb Resource Properties are set correctly HTTPS has certificate HTTP has no certificate | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html) | `properties`,`elb` |
| [E2504<a name="E2504"></a>](../src/cfnlint/rules/resources/ectwo/Ebs.py) | Check Ec2 Ebs Properties | See if Ec2 Ebs Properties are valid | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html) | `properties`,`ec2`,`ebs` |
| [E2529<a name="E2529"></a>](../src/cfnlint/rules/resources/lmbd/EventsLogGroupName.py) | Check for SubscriptionFilters have beyond 2 attachments to a CloudWatch Log Group | The current limit for a CloudWatch Log Group is they can have 2 subscription filters. We will look for duplicate LogGroupNames inside Subscription Filters and make sure they are within 2. This doesn't account for any other subscription filters getting set. | | [Source](https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#user-content-cloudwatchlogs) | `resources`,`lambda` |
| [E2530<a name="E2530"></a>](../src/cfnlint/rules/resources/lmbd/SnapStartSupported.py) | SnapStart supports the configured runtime | To properly leverage SnapStart, you must have a runtime of Java11 or greater | | [Source](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html) | `resources`,`lambda` |
| [E2531<a name="E2531"></a>](../src/cfnlint/rules/resources/lmbd/DeprecatedRuntimeEnd.py) | Check if EOL Lambda Function Runtimes are used | Check if an EOL Lambda Runtime is specified and give an error if used. | | [Source](https://docs.aws.amazon.com/lambda/latest/dg/runtime-support-policy.html) | `resources`,`lambda`,`runtime` |
Expand Down Expand Up @@ -120,10 +118,11 @@ The following **193** rules are applied by this linter:
| [E3026<a name="E3026"></a>](../src/cfnlint/rules/resources/elasticache/CacheClusterFailover.py) | Check Elastic Cache Redis Cluster settings | Evaluate Redis Cluster groups to make sure automatic failover is enabled when cluster mode is enabled | | [Source](https://github.com/awslabs/cfn-python-lint) | `resources`,`elasticcache` |
| [E3027<a name="E3027"></a>](../src/cfnlint/rules/resources/events/RuleScheduleExpression.py) | Validate AWS Event ScheduleExpression format | Validate the formation of the AWS::Event ScheduleExpression | | [Source](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html) | `resources`,`events` |
| [E3028<a name="E3028"></a>](../src/cfnlint/rules/resources/Metadata.py) | Basic CloudFormation Resource Check | Making sure the basic CloudFormation resources are properly configured | | [Source](https://github.com/aws-cloudformation/cfn-python-lint) | `resources` |
| [E3029<a name="E3029"></a>](../src/cfnlint/rules/resources/route53/RecordSetAlias.py) | Validate Route53 record set aliases | When using alias records you can't specify TTL or certain types are allowed | | [Source](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) | `resources`,`route53`,`record_set` |
| [E3030<a name="E3030"></a>](../src/cfnlint/rules/resources/properties/Enum.py) | Check if properties have a valid value | Check if properties have a valid value in case of an enumator | | [Source](https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#enum) | `resources`,`property`,`allowed value` |
| [E3031<a name="E3031"></a>](../src/cfnlint/rules/resources/properties/Pattern.py) | Check if property values adhere to a specific pattern | Check if properties have a valid value in case of a pattern (Regular Expression) | exceptions:list:[] | [Source](https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#pattern) | `resources`,`property`,`allowed pattern`,`regex` |
| [E3032<a name="E3032"></a>](../src/cfnlint/rules/resources/properties/ArrayLength.py) | Check if a array has between min and max number of values specified | Check array for the number of items in the list to validate they are between the minimum and maximum | | [Source](https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#arraylength) | `resources`,`property`,`array`,`length` |
| [E3033<a name="E3033"></a>](../src/cfnlint/rules/resources/properties/StringLength.py) | Check if a string has between min and max number of values specified | Check strings for its length between the minimum and maximum | | [Source](https://github.com/aws-cloudformation/cfn-lint/blob/v1/docs/cfn-schema-specification.md#length) | `resources`,`property`,`string`,`size` |
| [E3033<a name="E3033"></a>](../src/cfnlint/rules/resources/properties/StringLength.py) | Check if a string has between min and max number of values specified | Check strings for its length between the minimum and maximum | | [Source](https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#length) | `resources`,`property`,`string`,`size` |
| [E3034<a name="E3034"></a>](../src/cfnlint/rules/resources/properties/NumberRange.py) | Check if a number is between min and max | Check numbers (integers and floats) for its value being between the minimum and maximum | | [Source](https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#number-range) | `resources`,`property`,`number`,`size` |
| [E3035<a name="E3035"></a>](../src/cfnlint/rules/resources/DeletionPolicy.py) | Check DeletionPolicy values for Resources | Check that the DeletionPolicy values are valid | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html) | `resources`,`deletionpolicy` |
| [E3036<a name="E3036"></a>](../src/cfnlint/rules/resources/UpdateReplacePolicy.py) | Check UpdateReplacePolicy values for Resources | Check that the UpdateReplacePolicy values are valid | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html) | `resources`,`updatereplacepolicy` |
Expand Down Expand Up @@ -161,10 +160,14 @@ The following **193** rules are applied by this linter:
| [E3661<a name="E3661"></a>](../src/cfnlint/rules/resources/route53/HealthCheckHealthCheckConfigTypeInclusive.py) | Validate Route53 health check has AlarmIdentifier when using CloudWatch | When 'Type' is 'CLOUDWATCH_METRIC' you must specify 'AlarmIdentifier' | | [Source]() | `resources` |
| [E3667<a name="E3667"></a>](../src/cfnlint/rules/resources/redshift/ClusterNodeTypeEnum.py) | Validate RedShift cluster node type | Validates the instance types based on region and data gathered from the pricing APIs | | [Source]() | `resources` |
| [E3670<a name="E3670"></a>](../src/cfnlint/rules/resources/amazonmq/BrokerInstanceTypeEnum.py) | Validate the instance types for an AmazonMQ Broker | Validates the instance types based on region and data gathered from the pricing APIs | | [Source]() | `resources` |
| [E3671<a name="E3671"></a>](../src/cfnlint/rules/resources/ectwo/Ebs.py) | Validate block device mapping configuration | Certain volume types require Iops to be specified | | [Source]() | `resources`,`ec2` |
| [E3672<a name="E3672"></a>](../src/cfnlint/rules/resources/dax/ClusterNodeTypeEnum.py) | Validate the cluster node type for a DAX Cluster | Validates the instance types based on region and data gathered from the pricing APIs | | [Source]() | `resources` |
| [E3675<a name="E3675"></a>](../src/cfnlint/rules/resources/emr/ClusterInstanceTypeConfigInstanceTypeEnum.py) | Validate EMR cluster instance type | Validates the instance types based on region and data gathered from the pricing APIs | | [Source]() | `resources` |
| [E3676<a name="E3676"></a>](../src/cfnlint/rules/resources/elasticloadbalancingv2/ListenerCertificate.py) | Validate protocols that require certificates have a certificate specified | Validates the instance types based on region and data gathered from the pricing APIs | | [Source]() | `resources` |
| [E3677<a name="E3677"></a>](../src/cfnlint/rules/resources/lmbd/FunctionZipfileRuntimeEnum.py) | Validate Lambda using ZipFile requires an allowable runtime | Using the ZipFile attribute requires a javascript or python runtime to be specified | | [Source]() | `resources` |
| [E3678<a name="E3678"></a>](../src/cfnlint/rules/resources/lmbd/FunctionZipfileRuntimeExists.py) | Using the ZipFile attribute requires a runtime to be specified | Using the ZipFile attribute requires a runtime to be specified | | [Source]() | `resources` |
| [E3679<a name="E3679"></a>](../src/cfnlint/rules/resources/elb/Certificate.py) | Validate protocols that require certificates have a certificate specified | Validates the instance types based on region and data gathered from the pricing APIs | | [Source]() | `resources` |
| [E3680<a name="E3680"></a>](../src/cfnlint/rules/resources/elasticloadbalancingv2/LoadBalancerApplicationSubnets.py) | Application load balancers require at least 2 subnets | | | [Source]() | `resources` |
| [E3682<a name="E3682"></a>](../src/cfnlint/rules/resources/rds/DbInstanceAuroraExclusive.py) | Validate when using Aurora certain properies aren't required | When creating an aurora DBInstance don't specify 'AllocatedStorage', 'BackupRetentionPeriod', 'CopyTagsToSnapshot', 'DeletionProtection', 'EnableIAMDatabaseAuthentication', 'MasterUserPassword', or 'StorageEncrypted' | | [Source]() | `resources` |
| [E3686<a name="E3686"></a>](../src/cfnlint/rules/resources/rds/DbClusterServerlessExclusive.py) | Validate when using a serverless RDS DB certain properties aren't needed | When creating a serverless 'EngineMode' don't specify 'ScalingConfiguration' | | [Source]() | `resources` |
| [E3687<a name="E3687"></a>](../src/cfnlint/rules/resources/ectwo/SecurityGroupProtocolsAndPortsInclusive.py) | Validate to and from ports based on the protocol | When using icmp, icmpv6, tcp, or udp you have to specify the to and from port ranges | | [Source]() | `resources` |
Expand Down
29 changes: 26 additions & 3 deletions src/cfnlint/data/AdditionalSpecs/Policies.json
Original file line number Diff line number Diff line change
Expand Up @@ -1395,12 +1395,20 @@
"DescribeBudgetActionsForAccount",
"DescribeBudgetActionsForBudget",
"ExecuteBudgetAction",
"ListTagsForResource",
"ModifyBudget",
"TagResource",
"UntagResource",
"UpdateBudgetAction",
"ViewBudget"
],
"HasResource": true,
"StringPrefix": "budgets"
"StringPrefix": "budgets",
"conditionKeys": [
"aws:RequestTag/${TagKey}",
"aws:ResourceTag/${TagKey}",
"aws:TagKeys"
]
},
"AWS BugBust": {
"ARNFormat": "arn:aws:bugbust:${Region}:${Account}:${ResourceType}/${ResourceName}",
Expand Down Expand Up @@ -7447,6 +7455,7 @@
"ListApplications",
"ListBatchJobDefinitions",
"ListBatchJobExecutions",
"ListBatchJobRestartPoints",
"ListDataSetImportHistory",
"ListDataSets",
"ListDeployments",
Expand Down Expand Up @@ -8689,6 +8698,7 @@
"ImportResourcesToDraftAppVersion",
"ListAlarmRecommendations",
"ListAppAssessmentComplianceDrifts",
"ListAppAssessmentResourceDrifts",
"ListAppAssessments",
"ListAppComponentCompliances",
"ListAppComponentRecommendations",
Expand Down Expand Up @@ -10200,12 +10210,15 @@
"ListApplications",
"ListComponents",
"ListDatabases",
"ListOperationEvents",
"ListOperations",
"ListTagsForResource",
"PutResourcePermission",
"RegisterApplication",
"RestoreDatabase",
"StartApplication",
"StartApplicationRefresh",
"StopApplication",
"TagResource",
"UntagResource",
"UpdateApplicationSettings",
Expand Down Expand Up @@ -10345,6 +10358,7 @@
"ListUsers",
"ListWorkflows",
"SendWorkflowStepState",
"StartDirectoryListing",
"StartFileTransfer",
"StartServer",
"StopServer",
Expand Down Expand Up @@ -10373,6 +10387,7 @@
"ARNFormat": "arn:aws:trustedadvisor:${Region}:${Account}:checks/${Category}/${CheckId}",
"ARNRegex": "^arn:aws:trustedadvisor:.*",
"Actions": [
"BatchUpdateRecommendationResourceExclusion",
"CreateEngagement",
"CreateEngagementAttachment",
"CreateEngagementCommunication",
Expand Down Expand Up @@ -13047,6 +13062,7 @@
"ARNRegex": "^arn:aws:connect:.+:.+:instance/.+",
"Actions": [
"ActivateEvaluationForm",
"AdminGetEmergencyAccessToken",
"AssociateApprovedOrigin",
"AssociateBot",
"AssociateCustomerProfilesDomain",
Expand Down Expand Up @@ -13156,7 +13172,6 @@
"GetCurrentMetricData",
"GetCurrentUserData",
"GetFederationToken",
"GetFederationTokens",
"GetFlowAssociation",
"GetMetricData",
"GetMetricDataV2",
Expand Down Expand Up @@ -17964,7 +17979,9 @@
"conditionKeys": [
"aws:RequestTag/${TagKey}",
"aws:ResourceTag/${TagKey}",
"aws:TagKeys"
"aws:TagKeys",
"memorydb:TLSEnabled",
"memorydb:UserAuthenticationMode"
]
},
"Amazon Message Delivery Service": {
Expand Down Expand Up @@ -18436,6 +18453,7 @@
"CreateBatchInferenceJob",
"CreateBatchSegmentJob",
"CreateCampaign",
"CreateDataDeletionJob",
"CreateDataInsightsJob",
"CreateDataset",
"CreateDatasetExportJob",
Expand All @@ -18461,6 +18479,7 @@
"DescribeBatchInferenceJob",
"DescribeBatchSegmentJob",
"DescribeCampaign",
"DescribeDataDeletionJob",
"DescribeDataInsightsJob",
"DescribeDataset",
"DescribeDatasetExportJob",
Expand All @@ -18483,6 +18502,7 @@
"ListBatchInferenceJobs",
"ListBatchSegmentJobs",
"ListCampaigns",
"ListDataDeletionJobs",
"ListDataInsightsJobs",
"ListDatasetExportJobs",
"ListDatasetGroups",
Expand Down Expand Up @@ -18842,6 +18862,8 @@
},
"Amazon Q": {
"Actions": [
"CreateAssignment",
"DeleteAssignment",
"GetConversation",
"GetIdentityMetadata",
"GetTroubleshootingResults",
Expand Down Expand Up @@ -21831,6 +21853,7 @@
"ARNFormat": "arn:aws:vpc-lattice:${Region}:${Account}:${ResourceType}/${RelativeId}",
"ARNRegex": "^arn:aws:vpc-lattice:.+",
"Actions": [
"Connect",
"Invoke"
],
"HasResource": true,
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"etag": "\"e87d885506dbe74990369fcec2a7f4be\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"}
{"etag": "\"773cbdf807d37893469315aace9a66c1\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"etag": "\"798a8fe6282866309c4c3dcdaf477656\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"}
{"etag": "\"57ec8cbd2f00ad6a0338e216ac3fc6e8\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"etag": "\"025494d5fc7a10bc1bff99910f584467\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"}
{"etag": "\"4660b545887b80f4d597345559519727\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"etag": "\"ee7dfa30db494bbcd897e1eeae0851fa\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"}
{"etag": "\"83f1e95517c27db4bf4a013369fb4053\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"etag": "\"c761b2bec0170ef14aa27e74730cab54\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"}
{"etag": "\"0c845cb600ab16c02d080b54668bc2d4\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"etag": "\"c1267c22eae6ec89391882f62774a018\"", "url": "https://schema.cloudformation.me-central-1.amazonaws.com/CloudformationSchema.zip"}
{"etag": "\"9556cc75cee50dc1d84244e0010683c4\"", "url": "https://schema.cloudformation.me-central-1.amazonaws.com/CloudformationSchema.zip"}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"etag": "\"9267ef129ac9f87b865a004fd344820c\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"}
{"etag": "\"98f3d89373146dd9ac34d15eb62e5e43\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"etag": "\"79a724426fb77d51ff5ebbfcd32c7dee\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"}
{"etag": "\"00d26534ebdeaf0f38b4d1a89dcbacfd\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"etag": "\"b864e6b9e10c7eebaf38e76e385b69ab\"", "url": "https://schema.cloudformation.af-south-1.amazonaws.com/CloudformationSchema.zip"}
{"etag": "\"0115db582a9d4c42b161c6e6dd55699c\"", "url": "https://schema.cloudformation.af-south-1.amazonaws.com/CloudformationSchema.zip"}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"etag": "\"0119a4f8604cb9fc3b3fdb07fef4d0f0\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"}
{"etag": "\"8f5e4d26dda180e6e589bf65a7c723de\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"etag": "\"c826faa4cabf2f744249fc65db8ef0ae\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"}
{"etag": "\"09abecee4a7a3259a358d0ad5985c5a0\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"etag": "\"4f09259265f7e4f33b6058ed6a8c60ec\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"}
{"etag": "\"fd36f61543a4b67502ba7ace5635959e\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"etag": "\"079288f0e6b78a0bcfad624f5ff4b427\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"}
{"etag": "\"b405849022af1808968c3ecd08c86807\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"etag": "\"d91bd2ee1af58d7e337090bedc2d14c9\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"}
{"etag": "\"9d57ddfc7e1f7121ef86b32192680d3f\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"etag": "\"d0a3d6093b022434e82c3ad61ab19523\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"}
{"etag": "\"ec2572ee9a8bc2cadf371336e1cfe978\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"etag": "\"631158f1cbe24fe345566f76d779cbf6\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"}
{"etag": "\"67cf65ff3b1ec2b4b94cd60e50db6c00\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"}
Loading

0 comments on commit 0c28522

Please sign in to comment.