forked from aws-cloudformation/cfn-lint
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ApproachingLimitDescription.py
35 lines (31 loc) · 1.2 KB
/
ApproachingLimitDescription.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
"""
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: MIT-0
"""
from cfnlint.helpers import LIMITS
from cfnlint.rules import CloudFormationLintRule, RuleMatch
class LimitDescription(CloudFormationLintRule):
"""Check Template Description Size"""
id = "I1003"
shortdesc = "Template description limit"
description = (
"Check if the size of the template description is approaching the upper limit"
)
source_url = "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html"
tags = ["description", "limits"]
def match(self, cfn):
matches = []
description = cfn.template.get("Description", "")
if (
LIMITS["threshold"] * LIMITS["template"]["description"]
< len(description)
<= LIMITS["template"]["description"]
):
message = "The template description ({0} bytes) is approaching the limit ({1} bytes)"
matches.append(
RuleMatch(
["Description"],
message.format(len(description), LIMITS["template"]["description"]),
)
)
return matches