def _get_valid_functions()

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}