diff --git a/cdist/conf/type/__dog_vdi/manifest b/cdist/conf/type/__dog_vdi/manifest index cd022f28..ab533c4b 100644 --- a/cdist/conf/type/__dog_vdi/manifest +++ b/cdist/conf/type/__dog_vdi/manifest @@ -20,9 +20,17 @@ state_should="$(cat "$__object/parameter/state")" -if [ "$state_should" = "present" ]; then - if [ ! -f "$__object/parameter/size" ]; then - echo "Size is required when state is present" >&2 +case "$state_should" in + present) + if [ ! -f "$__object/parameter/size" ]; then + echo "Size is required when state is present" >&2 + exit 1 + fi + absent) + : + ;; + *) + echo "Unsupported state: $state_should" >&2 exit 1 - fi -fi + ;; +esac diff --git a/cdist/conf/type/__qemu_img/manifest b/cdist/conf/type/__qemu_img/manifest index 6d50037f..bb2c9366 100644 --- a/cdist/conf/type/__qemu_img/manifest +++ b/cdist/conf/type/__qemu_img/manifest @@ -3,11 +3,23 @@ # format="$(cat "$__object/parameter/format")" -state="$(cat "$__object/parameter/state")" +state_should="$(cat "$__object/parameter/state")" diskimage="/$__object_id" -# Absent is ensured by __file, present by gencode-remote -if [ "$state" = "absent" ]; then - __file "$diskimage" --state absent -fi +case "$state_should" in + present) + if [ ! -f "$__object/parameter/size" ]; then + echo "Size is required when state is present" >&2 + exit 1 + fi + ;; + absent) + # Absent is ensured by __file, present by gencode-remote + __file "$diskimage" --state absent + ;; + *) + echo "Unsupported state: $state_should" >&2 + exit 1 + ;; +esac diff --git a/cdist/conf/type/__qemu_img/parameter/required b/cdist/conf/type/__qemu_img/parameter/required deleted file mode 100644 index 2a613ba5..00000000 --- a/cdist/conf/type/__qemu_img/parameter/required +++ /dev/null @@ -1 +0,0 @@ -size