'Creates a private network
:param name: Name of the private network
:rtype: ``str``
:param description: Description of the private network
:rtype: ``str``
:param datacenter_id: ID of the data center for the private network
:rtype: ``str``
:param network_address: Network address of the private network
:rtype: ``str``
:param subnet_mask: Subnet mask of the private network
:rtype: ``str``
:return: Newly created private network
:rtype: ``dict``'

def ex_create_private_network(self, name, description=None, datacenter_id=None, network_address=None, subnet_mask=None):

    body = {'name': name}
    if (description is not None):
        body['description'] = description
    if (datacenter_id is not None):
        body['datacenter_id'] = datacenter_id
    if (network_address is not None):
        body['network_address'] = network_address
    if (subnet_mask is not None):
        body['subnet_maks'] = subnet_mask
    response = self.connection.request(action='private_networks', data=body, method='POST')
    return response.object
