#!/bin/bash

# make a new VM template from an existing VM image

usage() {
cat << EOF
usage: $0 options <vm label> <template dir>

OPTIONS:
  -d template description
  -n template name
  -u template uuid
EOF
}

templateUUID=
templateName=
templateDescription=

while getopts “d:n:u:” OPTION
do
     case $OPTION in
         d)
             templateDescription=$OPTARG
             ;;
         n)
             templateName=$OPTARG
             ;;
         u)
             templateUUID=$OPTARG
             ;;
         ?)
             usage
             exit
             ;;
     esac
done


shift $((OPTIND-1))
vmName=$1
templateDir=$2

if [[ -z $templateDir ]] || [[ -z $vmName ]] || [[ -z $templateUUID ]] || [[ -z $templateName ]] || [[ -z $templateDescription ]]
then
     usage
     exit 1
fi

cd $templateDir
cp  /var/xen/images/vm-$vmName.img $templateUUID.img

echo '<?xml version="1.0" encoding="UTF-8"?>' > $templateUUID.xml
echo "<virtualMachineImage name=\"$templateName\" uuid=\"$templateUUID\">" >> $templateUUID.xml
echo "<description>$templateDescription</description>" >> $templateUUID.xml
echo "<imageFile>$templateUUID.img</imageFile>" >> $templateUUID.xml
echo '</virtualMachineImage>' >> $templateUUID.xml


