When you use XDCR, you establish source and destination cluster. A source cluster is the cluster from which you want to copy data; a destination cluster is the cluster where you want the replica data to be stored. To create a reference to a destination cluster:
shell> curl -v -u Administrator:password1 10.4.2.4:8091/pools/default/remoteClusters \ -d uuid=9eee38236f3bf28406920213d93981a3 \ -d name=remote1 -d hostname=10.4.2.6:8091 -d username=Administrator -d password=password2
You provide credentials for the source cluster and information, including credentials and UUID for destination cluster. This will generate a request similar to the following sample:
POST /pools/default/remoteClusters HTTP/1.1 Authorization: Basic QWRtaW5pc3RyYXRvcjpwYXNzd29yZA== User-Agent: curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5 Host: 10.4.2.4:8091 Accept: */* Content-Length: 114 Content-Type: application/x-www-form-urlencoded
If successful, Couchbase Server will respond with a JSON response similar to the following:
{"name":"remote1","uri":"/pools/default/remoteClusters/remote1", "validateURI":"/pools/default/remoteClusters/remote1?just_validate=1", "hostname":"10.4.2.6:8091", "username":"Administrator", "uuid":"9eee38236f3bf28406920213d93981a3", "deleted":false}
The following describes the response elements:
(String) name: Name of the destination cluster referenced for XDCR.
(String) validateURI: URI to validate details of cluster reference.
(String) hostname: Hostname/IP (and :port) of the remote cluster.
(String) username: Username for the destination cluster administrator.
(String) uuid: UUID of the remote cluster reference.
(Boolean) deleted: Indicates whether the reference to the destination cluster has been deleted or not.
For more information about XDCR and creating references to destination clusters via the Couchbase Web Console, see Section 5.8.5, “Configuring Replication”.