'Delete a Subnetwork object based on name and region.
:param  name: The name, URL or object of the subnetwork
:type   name: ``str`` or :class:`GCESubnetwork`
:keyword region: The region object, name, or URL of the subnetwork
:type   region: ``str`` or :class:`GCERegion` or ``None``
:return:  True if successful
:rtype:   ``bool``'

def ex_destroy_subnetwork(self, name, region=None):

    region_name = None
    subnet_name = None
    if region:
        if isinstance(region, GCERegion):
            region_name = region.name
        elif region.startswith('https://'):
            region_name = region.split('/')[(-1)]
        else:
            region_name = region
    if isinstance(name, GCESubnetwork):
        subnet_name = name.name
        if (not region_name):
            region_name = name.region.name
    elif name.startswith('https://'):
        url_parts = self._get_components_from_path(name)
        subnet_name = url_parts['name']
        if (not region_name):
            region_name = url_parts['region']
    else:
        subnet_name = name
    if (not region_name):
        region = self._set_region(region)
        if (not region):
            raise ValueError('Could    not    determine    region    for    subnetwork.')
        else:
            region_name = region.name
    request = ('/regions/%s/subnetworks/%s' % (region_name, subnet_name))
    self.connection.async_request(request, method='DELETE').object
    return True
