def _update_limits_from_api(self):
        """
        Call the service's API action to retrieve limit/quota information, and
        update AwsLimit objects in ``self.limits`` with this information.
        """
        self.connect_resource()
        summary = self.resource_conn.AccountSummary()
        for k, v in sorted(summary.summary_map.items()):
            if k in self.API_TO_LIMIT_NAME:
                # this is a usage for one of our limits
                lname = self.API_TO_LIMIT_NAME[k]
                # if len(self.limits[lname].get_current_usage()) < 1:
                self.limits[lname]._add_current_usage(v)
            elif k.endswith('Quota') and k[:-5] in self.API_TO_LIMIT_NAME:
                # quota for one of our limits
                lname = self.API_TO_LIMIT_NAME[k[:-5]]
                self.limits[lname]._set_api_limit(v)
            else:
                logger.debug("Ignoring IAM AccountSummary attribute: %s", k)