'Return the list of target instances.
:return:  A list of target instance objects
:rtype:   ``list`` of :class:`GCETargetInstance`'

def ex_list_targetinstances(self, zone=None):

    list_targetinstances = []
    zone = self._set_zone(zone)
    if (zone is None):
        request = '/aggregated/targetInstances'
    else:
        request = ('/zones/%s/targetInstances' % zone.name)
    response = self.connection.request(request, method='GET').object
    if ('items' in response):
        if (zone is None):
            for v in response['items'].values():
                zone_targetinstances = [self._to_targetinstance(t) for t in v.get('targetInstances', [])]
                list_targetinstances.extend(zone_targetinstances)
        else:
            list_targetinstances = [self._to_targetinstance(t) for t in response['items']]
    return list_targetinstances
