'List networks domains deployed across all data center locations domain.
for your organization.
The response includes the location of each network
:param      location: Only network domains in the location (optional)
:type       location: :class:`NodeLocation` or ``str``
:param      name: Only network domains of this name (optional)
:type       name: ``str``
:param      service_plan: Only network domains of this type (optional)
:type       service_plan: ``str``
:param      state: Only network domains in this state (optional)
:type       state: ``str``
:return: a list of `DimensionDataNetwork` objects
:rtype: ``list`` of :class:`DimensionDataNetwork`'

def ex_list_network_domains(self, location=None, name=None, service_plan=None, state=None):

    params = {}
    if (location is not None):
        params['datacenterId'] = self._location_to_location_id(location)
    if (name is not None):
        params['name'] = name
    if (service_plan is not None):
        params['type'] = service_plan
    if (state is not None):
        params['state'] = state
    response = self.connection.request_with_orgId_api_2('network/networkDomain', params=params).object
    return self._to_network_domains(response)
