'Returns a list of instance\'s target IDs of floating IP association.
:param instance_id: ID of target VM instance
:param target_list: (optional) a list returned by list_targets().
If specified, looking up is done against the specified list
to save extra API calls to a back-end. Otherwise target list
is retrieved from a back-end inside the method.'

@profiler.trace
def list_target_id_by_instance(self, instance_id, target_list=None):

    if (target_list is not None):
        return [target['id'] for target in target_list if (target['instance_id'] == instance_id)]
    else:
        ports = self._target_ports_by_instance(instance_id)
        return ['{0}_{1}'.format(p.id, p.fixed_ips[0]['ip_address']) for p in ports]
