--- /dev/null
+#!/bin/bash
+# copyright (C) 2014 FUJITSU LIMITED All Rights Reserved
+
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; version 2
+# of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# check distro
+DISTRO=`/usr/lib64/lxcf/lxcf-distro`
+
+# check root
+if [ ${EUID:-${UID}} != 0 ]; then
+ echo "error: Because you are not root, you cannot execute this command. "
+ exit 1
+fi
+
+# check options
+FLG_F=0
+FLG_P=0 ; PASSWORD=""
+FLG_N=0 ; NEWNAME=""
+FLG_S=0 ; SILENT=""
+
+
+while getopts fp:n:s OPT ; do
+ case $OPT in
+ f) FLG_F=1 ;;
+ p) FLG_P=1 ; PSASSWORD=$OPTARG ;;
+ n) FLG_N=1 ; NEWNAME=$OPTARG ;;
+ s) FLG_S=1 ; SILENT="-s" ;;
+ esac
+done
+shift $((OPTIND - 1))
+
+# check args
+if [ $# -ne 2 ]; then
+ echo "usage lxcf pull [ -f ] [ -p PASSWORD ] [ -n NEW_SNAP_NAME ] SERVER_NAME:PORT SNAPSHOT_NAME"
+ exit 1
+fi
+
+lsdir() {
+ ls -f --ind=none $1 | sed '/^\.\{1,2\}$/d'
+}
+
+
+# When uuid is specified, the container name is returned.
+uuid2name() {
+ NAME=$1
+ if [ -d /opt/lxcf/${NAME} ]; then
+ echo -n $NAME
+ return
+ fi
+ for i in `lsdir /etc/lxcf/rsc`
+ do
+ if [ x$NAME == x`cat /etc/lxcf/rsc/${i}/uuid` ]; then
+ echo -n $i
+ return
+ fi
+ done
+ echo -n $NAME
+}
+
+# start containers of args
+
+SERVERNAME=$1
+SNAPNAME=$2
+
+if [ $FLG_N -eq 0 ]; then
+ NEWNAME=$SERVERNAME
+fi
+
+if [ -f /opt/lxcf_rep/$NEWNAME ]; then
+ echo "error:" $SNEWNAME "already exists. "
+ exit -1
+fi
+
+if [ $FLG_F -eq 0 -a -f /opt/lxcf_rep/$SNAPNAME ]; then
+ echo "error:" $SNAPNAME "already exists. "
+ exit -1
+fi
+
+pushd /opt/lxcf_rep >& /dev/null
+
+curl -# $SILENT -F "password=\'${PASSWORD}\'" -o $NEWNAME http://${SERVERNAME}/lxcfv1/pull_data/${SNAPNAME}
+
+echo
+curl -s http://${SERVERNAME}/lxcfv1/pull_data/${SNAPNAME} | \
+ awk 'BEGIN{f=1}{if ($0~/pre/){f=f*(-1)}else if (f == -1) print}'
+
+popd >& /dev/null
+
+exit 0
+