in cfn-lint-serverless/cfn_lint_serverless/rules/lambda_.py [0:0]
def match(self, cfn):
"""
Match against Lambda functions without a LogGroup with a Retention property
"""
matches = []
functions = cfn.get_resources(["AWS::Lambda::Function"])
log_groups = cfn.get_resources(["AWS::Logs::LogGroup"])
known = self._get_valid_functions(log_groups)
# Scan functions against log groups
for function_ref, function in functions.items():
log_group_found = False
if function_ref in known["ref"]:
log_group_found = True
function_name = function.get("Properties", {}).get("FunctionName", None)
if function_name is not None and function_name in known["name"]:
log_group_found = True
if not log_group_found:
matches.append(RuleMatch(["Resources", function_ref], self._message.format(function_ref)))
return matches