'Clone the provided node.
:param name: Optional name for the cloned node.
:type name: ``str``
:param random_vnc_password: If True, a new random VNC password will be
generated for the cloned node. Otherwise
password from the cloned node will be
reused.
:type random_vnc_password: ``bool``
:return: Cloned node.
:rtype: :class:`libcloud.compute.base.Node`'

def ex_clone_node(self, node, name=None, random_vnc_password=None):

    data = {}
    data['name'] = name
    data['random_vnc_password'] = random_vnc_password
    path = ('/servers/%s/action/' % node.id)
    response = self._perform_action(path=path, action='clone', method='POST', data=data).object
    node = self._to_node(data=response)
    return node
