'Return a Firewall object from the JSON-response dictionary.
:param  firewall: The dictionary describing the firewall.
:type   firewall: ``dict``
:return: Firewall object
:rtype: :class:`GCEFirewall`'

def _to_firewall(self, firewall):

    extra = {}
    extra['selfLink'] = firewall.get('selfLink')
    extra['creationTimestamp'] = firewall.get('creationTimestamp')
    extra['description'] = firewall.get('description')
    extra['network_name'] = self._get_components_from_path(firewall['network'])['name']
    network = self.ex_get_network(extra['network_name'])
    source_ranges = firewall.get('sourceRanges')
    source_tags = firewall.get('sourceTags')
    target_tags = firewall.get('targetTags')
    return GCEFirewall(id=firewall['id'], name=firewall['name'], allowed=firewall.get('allowed'), network=network, source_ranges=source_ranges, source_tags=source_tags, target_tags=target_tags, driver=self, extra=extra)
