#!/bin/bash
# Cria e anexa no helper os volumes vazios dos discos de DADOS. Rodar NO CLOUDADMIN01.
# uso: bash volumes-dados.sh <PREFIXO> <uuid-helper> <nome1:GiB> [<nome2:GiB> ...]
# ex:  bash volumes-dados.sh KAMELL 64114922-784d-407a-b6da-78cd43d7669f B:60 F:65
set -eu
P="${1:?prefixo}"; HELPER="${2:?uuid do helper}"; shift 2
ZONE=0a91b8da-efe9-4673-8ff0-db97ab212290
OFF=f1baa864-c5d1-416d-a38d-b232214bd3cd     # wci.default.disk (custom)
CS="$(dirname "$0")/cs"
for spec in "$@"; do
  N="${spec%%:*}"; S="${spec##*:}"
  echo "=== $P-$N-raw  ($S GiB)"
  ID=$(bash "$CS" createVolume name="$P-$N-raw" zoneid=$ZONE diskofferingid=$OFF size="$S" \
       | python3 -c 'import sys,json;print(json.load(sys.stdin)["createvolumeresponse"]["id"])')
  echo "   id=$ID"
  sleep 10
  bash "$CS" attachVolume id="$ID" virtualmachineid="$HELPER" >/dev/null
  echo "   anexado"
  sleep 20
done
echo "=== dispositivos no helper (confira a ordem antes do dd!)"
bash "$CS" listVolumes virtualmachineid="$HELPER" | python3 -c '
import sys,json
for v in sorted(json.load(sys.stdin)["listvolumesresponse"]["volume"], key=lambda x: x.get("deviceid",0)):
    print(f"  deviceid={v.get(\"deviceid\")} {v[\"name\"]:28s} {round(v[\"size\"]/2**30)}GiB {v[\"type\"]}")'
echo "ROOT=deviceid 0 = /dev/vda ; deviceid 1 = /dev/vdb ; 2 = /dev/vdc ..."
