#!/bin/sh -e # # 2012 Jake Guffey (jake.guffey at eprotex.com) # # This file is part of cdist. # # cdist 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, either version 3 of the License, or # (at your option) any later version. # # cdist 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 cdist. If not, see . # # # The __jail type creates, configures, and deletes FreeBSD jails for use as # virtual machines. # # Debug #exec >&2 #set -x # Can only be used on FreeBSD os="$(cat "$__global/explorer/os")" if [ ! "$os" = "freebsd" ]; then echo "__jail can only be used on FreeBSD targets!" >&2 exit 1 fi jaildir="$(cat "$__object/parameter/jaildir")" __directory "${jaildir}" --parents set -- "$@" "$__object_id" "--state" "$state" cd "$__object/parameter" for property in *; do set -- "$@" "--$property" "$(cat "$property")" done ver="$(cat "$__global/explorer/os_version")" if [ -n "$(echo "$ver" | grep '^10\.' )" ]; then # Version is 10.x __jail_freebsd10 "$@" else __jail_freebsd9 "$@" fi # Debug #set +x