#!/bin/sh
set -eu

case "${LEMC_RECIPE_NAME:-}" in
  provision-gcp-vm)
    [ "${CONFIRM_CREATE:-}" = "CREATE" ] || {
      echo "CONFIRM_CREATE must equal CREATE" >&2
      exit 64
    }
    if ! printf '%s\n' "${SOURCE_CIDR:-}" | awk -F '[./]' '
      NF != 5 || $5 != "32" { exit 1 }
      {
        for (field = 1; field <= 4; field++) {
          if ($field !~ /^[0-9]+$/ || length($field) > 3 || $field + 0 > 255 || $field ~ /^0[0-9]/) {
            exit 1
          }
        }
      }
    '; then
      echo "SOURCE_CIDR must be one approved IPv4 address with a /32 prefix" >&2
      exit 64
    fi
    printf '%s\n' 'lemc.output;cloud create confirmation accepted'
    ;;
  destroy-gcp-vm)
    [ "${CONFIRM_DESTROY:-}" = "DESTROY" ] || {
      echo "CONFIRM_DESTROY must equal DESTROY" >&2
      exit 64
    }
    printf '%s\n' 'lemc.output;cloud destroy confirmation accepted'
    ;;
  *)
    echo "unsupported cloud tutorial recipe" >&2
    exit 64
    ;;
esac
