.. Warning: this file is automatically generated. Edits will be lost .. list-table:: Functions defined in :mod:`MNReplication` :widths: 3 3 10 10 30 :header-rows: 1 * - Tier - Version - REST - Function - Parameters * - Tier 4 - 1.0 - ``POST /replicate`` - :func:`replicate` - (:class:`session`, :class:`sysmeta`, :class:`sourceNode`) ``->`` boolean .. function:: replicate(session,sysmeta,sourceNode) -> boolean Called by a Coordinating Node to request that the Member Node create a copy of the specified object by retrieving it from another Member Nodeode and storing it locally so that it can be made accessible to the DataONE system. A successful operation is indicated by a HTTP status of 200 on the response. Failure of the operation MUST be indicated by returning an appropriate exception. Access control for this method MUST be configured to allow calling by Coordinating Nodes. :Version: 1.0 :Use Cases: :doc:`UC09 ` :REST URL: ``POST /replicate`` :param session: Session information that contains the identity of the calling user as retrieved from the X.509 certificate which must be traceable to the CILogon service. The subject of the session defaults to the :term:`public user` if the certificate was not provided with the request. Transmitted as part of the SSL handshake process. :type session: :class:`Types.Session` :param sysmeta: Copy of the CN held system metadata for the object. Transmitted as an UTF-8 encoded XML structure for the respective type as defined in the DataONE types schema, as a *File part* of the MIME multipart/mixed message. :type sysmeta: :class:`Types.SystemMetadata` :param sourceNode: A reference to node from which the content should be retrieved. The reference should be resolved by checking the CN node registry. Transmitted as a UTF-8 String as a *Param part* of the MIME multipart/mixed message. :type sourceNode: :class:`Types.NodeReference` :returns: True if everything works OK, otherwise an error is returned. :rtype: boolean :raises Exceptions.NotImplemented: ``(errorCode=501, detailCode=2150)`` :raises Exceptions.ServiceFailure: ``(errorCode=500, detailCode=2151)`` :raises Exceptions.NotAuthorized: ``(errorCode=401, detailCode=2152)`` :raises Exceptions.InvalidRequest: ``(errorCode=400, detailCode=2153)`` :raises Exceptions.InsufficientResources: ``(errorCode=413, detailCode=2154)`` :raises Exceptions.UnsupportedType: ``(errorCode=400, detailCode=2155)`` :raises Exceptions.InvalidToken: ``(errorCode=401, detailCode=2156)`` .. include:: /apis/examples/replicate.txt