def _update_services(self, ta_results):
        """
        Given a dict of TrustedAdvisor check results from :py:meth:`~._poll`
        and a dict of Service objects passed in to :py:meth:`~.update_limits`,
        updated the TrustedAdvisor limits for all services.

        :param ta_results: results returned by :py:meth:`~._poll`
        :type ta_results: dict
        :param services: dict of service names to _AwsService objects
        :type services: dict
        """
        logger.debug("Updating TA limits on all services")
        for svc_name in sorted(ta_results.keys()):
            svc_results = ta_results[svc_name]
            if svc_name not in self.ta_services:
                logger.info("TrustedAdvisor returned check results for "
                            "unknown service '%s'", svc_name)
                continue
            svc_limits = self.ta_services[svc_name]
            for lim_name in sorted(svc_results):
                if lim_name not in svc_limits:
                    logger.info("TrustedAdvisor returned check results for "
                                "unknown limit '%s' (service %s)",
                                lim_name,
                                svc_name)
                    continue
                val = svc_results[lim_name]
                if val == 'Unlimited':
                    svc_limits[lim_name]._set_ta_unlimited()
                else:
                    svc_limits[lim_name]._set_ta_limit(val)
        logger.info("Done updating TA limits on all services")