'Return the InstanceGroup object from the JSON-response.
:param  instancegroup:  Dictionary describing InstanceGroup
:type   instancegroup: ``dict``
:return: InstanceGroup object.
:rtype: :class:`GCEInstanceGroup`'

def _to_instancegroup(self, instancegroup):

    extra = {}
    extra['description'] = instancegroup.get('description', None)
    extra['selfLink'] = instancegroup['selfLink']
    extra['namedPorts'] = instancegroup.get('namedPorts', [])
    extra['fingerprint'] = instancegroup.get('fingerprint', None)
    zone = self.ex_get_zone(instancegroup['zone'])
    network = instancegroup.get('network', None)
    if network:
        obj_name = self._get_components_from_path(network)['name']
        network = self.ex_get_network(obj_name)
    subnetwork = instancegroup.get('subnetwork', None)
    if subnetwork:
        parts = self._get_components_from_path(subnetwork)
        subnetwork = self.ex_get_subnetwork(parts['name'], parts['region'])
    return GCEInstanceGroup(id=instancegroup['id'], name=instancegroup['name'], zone=zone, network=network, subnetwork=subnetwork, named_ports=instancegroup.get('namedPorts', []), driver=self, extra=extra)
