in cfn-lint-serverless/cfn_lint_serverless/rules/lambda_.py [0:0]
def match(self, cfn):
"""
Match against Lambda functions without an explicity Timeout
"""
matches = []
permissions = cfn.get_resources(["AWS::Lambda::Permission"])
event_invoke_configs = cfn.get_resources(["AWS::Lambda::EventInvokeConfig"])
async_functions = self._get_async_functions(permissions)
found = []
for value in event_invoke_configs.values():
function_name = value.get("Properties", {}).get("FunctionName", "")
on_failure_destination = (
value.get("Properties", {}).get("DestinationConfig", {}).get("OnFailure", {}).get("Destination", None)
)
if function_name in async_functions.values() and on_failure_destination is not None:
found.append(function_name)
for key, value in async_functions.items():
if value not in found:
matches.append(RuleMatch(["Resources", key], self._message.format(key)))
return matches