def parse_domain_data(self, domain_data):
        """
        To parse the domain data and updates the IPs with additional information.

        Args:
            domain_data (dict): A dictionary containing the domain data.

        Returns:
            list or None: If there are no IPs in the domain data.

        Raises:
            TeamCymruScoutException: If an error occurs during the parsing process.
        """
        __method_name = inspect.currentframe().f_code.co_name
        try:
            domain_ips = domain_data.get("ips")
            query = domain_data.get("query")
            start_date = domain_data.get("start_date")
            end_date = domain_data.get("end_date")
            if domain_ips:
                for ip in domain_ips:
                    ip.update({"query": query, "start_date": start_date, "end_date": end_date})
                    ip_tags = ip.get("tags", [])
                    if ip_tags:
                        tags_ids, tags_names = self.utility_obj.extract_ids_and_names_of_tags(ip_tags)
                        ip.update({"tags_id": tags_ids, "tags_name": tags_names})
            else:
                domain_ips = {
                    "query": query,
                    "start_date": start_date,
                    "end_date": end_date,
                }
            return domain_ips
        except Exception as err:
            applogger.error("{}(method={}) {}".format(self.logs_starts_with, __method_name, err))
            raise TeamCymruScoutException()

        To parse the domain data and updates the IPs with additional information.

        Args:
            domain_data (dict): A dictionary containing the domain data.

        Returns:
            list or None: If there are no IPs in the domain data.

        Raises:
            TeamCymruScoutException: If an error occurs during the parsing process.
        
Solutions/Team Cymru Scout/Data Connectors/TeamCymruScout/DomainDataCollector/domain_collector.py