From 71873f508784afd1d2440045f1e4adad4b6bf4ef Mon Sep 17 00:00:00 2001 From: TechHome Date: Thu, 12 Mar 2020 09:51:09 +0100 Subject: [PATCH] Create shutdownvm.sh --- api/vm/shutdownvm.sh | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 api/vm/shutdownvm.sh diff --git a/api/vm/shutdownvm.sh b/api/vm/shutdownvm.sh new file mode 100644 index 0000000..68b7f4a --- /dev/null +++ b/api/vm/shutdownvm.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# Date 12.03.2020 +# Author TechHome + +PROX_USERNAME=root@pam +PROX_PASSWORD=mypassword +HOST=myproxmoxhost + +NODE=mynode +TARGET_VMID=myvmid + +decodeDataFromJson(){ + echo `echo $1 \ + | sed 's/{\"data\"\:{//g' \ + | sed 's/\\\\\//\//g' \ + | sed 's/[{}]//g' \ + | awk -v k="text" '{n=split($0,a,","); for (i=1; i<=n; i++) print a[i]}' \ + | sed 's/\"\:\"/\|/g' \ + | sed 's/[\,]/ /g' \ + | sed 's/\"// g' \ + | grep -w $2 \ + | awk -F "|" '{print $2}'` +} + +DATA=`curl -s -k -d "username=$PROX_USERNAME&password=$PROX_PASSWORD" $HOST/api2/json/access/ticket` +TICKET=$(decodeDataFromJson $DATA 'ticket') +CSRF=$(decodeDataFromJson $DATA 'CSRFPreventionToken') + +START_TASK_DATA=`curl -s -k -b "PVEAuthCookie=$TICKET" -H "CSRFPreventionToken: $CSRF" -X POST $HOST/api2/json/nodes/$NODE/qemu/$TARGET_VMID/status/shutdown` +START_TASK_RESULT=$(decodeDataFromJson $START_TASK_DATA 'data')a