code: def check_thresholds(self, service=None, use_ta=True):
          
          res = {}
          to_get = self.services
          if service is not None:
              to_get = dict((each, self.services[each]) for each in service)
          if use_ta:
              self.ta.update_limits()
          for sname, cls in to_get.items():
              if hasattr(cls, '_update_limits_from_api'):
                  cls._update_limits_from_api()
              tmp = cls.check_thresholds()
              if len(tmp) > 0:
                  res[sname] = tmp
          return res
docs: Check all limits and current usage against their specified thresholds;
          return all :py:class:`~.AwsLimit` instances that have crossed
          one or more of their thresholds.
  
          If ``service`` is specified, the returned dict has one element,
          the service name, whose value is a nested dict as described below;
          otherwise it includes all known services.
  
          The returned :py:class:`~.AwsLimit` objects can be interrogated
          for their limits (:py:meth:`~.AwsLimit.get_limit`) as well as
          the details of usage that crossed the thresholds
          (:py:meth:`~.AwsLimit.get_warnings` and
          :py:meth:`~.AwsLimit.get_criticals`).
  
          See :py:meth:`.AwsLimit.check_thresholds`.
  
          :param service: the name(s) of one or more service(s) to return
            results for
          :type service: list
          :param use_ta: check Trusted Advisor for information on limits
          :type use_ta: bool
          :returns: dict of service name (string) to nested dict
            of limit name (string) to limit (:py:class:`~.AwsLimit`)
          :rtype: dict