#!/bin/bash
# Fecha o corte do KAMELL: template -> deploy -> discos de dados. Roda NO CLOUDADMIN01.
set -eu
CS="$(dirname "$0")/cs"
ZONE=0a91b8da-efe9-4673-8ff0-db97ab212290
NET=8f377482-7fcc-43b3-b2b3-ea3aef02c41b
BOOT=e809fef1-fb37-4b2b-b104-83eff9606886      # KAMELL-boot-v2 (com bcdboot)
DISCO_B=ac716836-8228-4cff-aae1-0ef64c3d5731   # KAMELL-B-raw (SQL Express)
DISCO_F=77cfdb37-7edc-4d2a-8bbd-bc1d7d7e4e75   # KAMELL-F-raw
OFF=8468fb15-5aea-4abf-8e47-01994ae29c04       # wci.g1.medium 4c/16G
OSTYPE=2bb22aee-19a0-11f1-8872-52540098a0e8    # Windows Server 2016

echo "=== 1) detach do boot-v2 do helper"
bash "$CS" detachVolume id=$BOOT >/dev/null; sleep 25

echo "=== 2) createTemplate"
T=$(bash "$CS" createTemplate name=IT228334-boot-v2 displaytext=IT228334-boot-v2 \
      ostypeid=$OSTYPE volumeid=$BOOT | python3 -c 'import sys,json;print(json.load(sys.stdin)["createtemplateresponse"]["id"])')
echo "   template=$T"
for i in $(seq 1 12); do
  R=$(bash "$CS" listTemplates templatefilter=self id=$T | python3 -c 'import sys,json;t=json.load(sys.stdin)["listtemplatesresponse"].get("template",[]);print(t[0]["isready"] if t else "x")')
  echo "   [$i] ready=$R"; [ "$R" = "True" ] && break; sleep 40
done

echo "=== 3) deploy em 192.168.121.5"
VM=$(bash "$CS" deployVirtualMachine zoneid=$ZONE templateid=$T serviceofferingid=$OFF networkids=$NET \
      name=IT228334-CORE-INSTANCE01-WCI displayname=IT228334-CORE-INSTANCE01-WCI ipaddress=192.168.121.5 \
      | python3 -c 'import sys,json;print(json.load(sys.stdin)["deployvirtualmachineresponse"]["id"])')
echo "   vm=$VM"
for i in $(seq 1 12); do
  S=$(bash "$CS" listVirtualMachines id=$VM | python3 -c 'import sys,json;v=json.load(sys.stdin)["listvirtualmachinesresponse"].get("virtualmachine",[]);print(v[0]["state"] if v else "?")')
  echo "   [$i] $S"; [ "$S" = "Running" ] && break; sleep 30
done

echo "=== 4) anexando B: e F:"
for v in $DISCO_B $DISCO_F; do bash "$CS" attachVolume id=$v virtualmachineid=$VM >/dev/null; echo "   anexado $v"; sleep 25; done

echo "=== 5) port-forwards"
bash "$(dirname "$0")/nat-IT228334.sh" "$VM"

echo
echo "VM_KAMELL=$VM"
echo "TEMPLATE=$T"
