]> git.proxmox.com Git - pve-manager.git/blame - spice-example-sh
spice-example-sh: add parameter parser
[pve-manager.git] / spice-example-sh
CommitLineData
072188dc
DM
1#!/bin/bash
2
3# needs pve-manager >= 3.1-44
4
f72df730
DM
5usage() {
6 echo "Usage: $0 [-u <string>] [-p <string>] vmid [node [proxy]]"
7 echo
8 echo "-u username. Default root@pam"
9 echo "-p password. Default ''"
10 echo
11 echo "vmid: id for VM"
12 echo "node: Proxmox cluster node name"
13 echo "proxy: DNS or IP (use <node> as default)"
14 exit 1
15}
16
17PASSWORD=""
18USERNAME=""
19
20while getopts ":u:p:" o; do
21 case "${o}" in
22 u)
23 USERNAME=${OPTARG}
24 ;;
25 p)
26 PASSWORD=${OPTARG}
27 ;;
28 *)
29 usage
30 ;;
31 esac
32done
33
34shift $((OPTIND-1))
35
36if [ -z $PASSWORD ]; then
37 PASSWORD=""
38fi
39if [ -z $USERNAME ]; then
40 USERNAME=root@pam
41fi
42
43DEFAULTHOST=$(hostname -f)
44
072188dc 45# select VM
f72df730
DM
46[ -z $1 ] && usage
47VMID=$1
48
49#[ -z $2 ] && usage
50NODE=${2:-$DEFAULTHOST}
51
52if [ -z $3 ]; then
53 PROXY=$NODE
54else
55 PROXY=$3
56fi
072188dc 57
f72df730 58NODE=${NODE%%\.*}
072188dc
DM
59
60DATA=`curl -k -d "username=$USERNAME&password=$PASSWORD" https://$PROXY:8006/api2/json/access/ticket`
61
d7f52cf1
DM
62TICKET=${DATA//\"/}
63TICKET=${TICKET##*ticket:}
64TICKET=${TICKET%%,*}
072188dc 65
d7f52cf1
DM
66CSRF=${DATA//\"/}
67CSRF=${CSRF##*CSRFPreventionToken:}
68CSRF=${CSRF%%,*}
072188dc
DM
69
70curl -k -b "PVEAuthCookie=$TICKET" -H "CSRFPreventionToken: $CSRF" https://$PROXY:8006/api2/spiceconfig/nodes/$NODE/qemu/$VMID/spiceproxy -d "proxy=$PROXY" > spiceproxy
71
72remote-viewer spiceproxy