in cfn-lint-serverless/cfn_lint_serverless/rules/lambda_.py [0:0]
def _get_valid_functions(self, log_groups):
"""
Return function names with valid LogGroups
"""
known_refs = []
known_names = []
# Scan log groups for resource names
for resource in log_groups.values():
log_group_name = Value(resource.get("Properties", {}).get("LogGroupName", None))
retention = resource.get("Properties", {}).get("RetentionInDays", None)
# No retention or log group name, break early
if log_group_name is None or retention is None:
continue
# Searching for references in log group name
if len(log_group_name.references) > 0:
known_refs.extend(log_group_name.references)
# Otherwise, check if this is a hardcoded name
elif log_group_name.id.find("/aws/lambda/") == 0:
known_names.append(log_group_name.id[12:])
return {"ref": known_refs, "name": known_names}