-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathnovacurl.sh
More file actions
executable file
·40 lines (31 loc) · 1.24 KB
/
novacurl.sh
File metadata and controls
executable file
·40 lines (31 loc) · 1.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/bash
export HOST="http://localhost:8774/v1.1/"
function nova_login {
output=$(curl -i -H "X-Auth-User: $1" -H "X-Auth-Key: $2" $HOST | sed -n '/Token/p')
token=`echo $output | awk -F": " '{print $2}'`
export TOKEN=$token
echo "TOKEN = $TOKEN"
export ENC="json"
}
function nova_accept {
export ENC="$1"
}
function list_images {
curl -H "X-Auth-Token: $TOKEN" -H"ACCEPT: application/$ENC" $HOST/images/detail | python -mjson.tool
}
function list_flavors {
curl -H "X-Auth-Token: $TOKEN" -H"ACCEPT: application/$ENC" $HOST/flavors/detail | python -mjson.tool
}
function list_servers {
curl -H "X-Auth-Token: $TOKEN" -H"ACCEPT: application/$ENC" $HOST/servers/detail | python -mjson.tool
}
function list_server {
curl -H "X-Auth-Token: $TOKEN" -H"ACCEPT: application/$ENC" $HOST/servers/$1 | python -mjson.tool
}
function create_server {
JSON_DATA='{"server":{"name":"'$1'","flavorRef":"'$HOST'flavors/'$2'", "imageRef":"'$HOST'images/'$3'"}}'
curl -H "X-Auth-Token: $TOKEN" -H"ACCEPT: application/$ENC" -H"Content-Type: application/json" -d"$JSON_DATA" $HOST/servers | python -mjson.tool
}
function delete_server {
curl -X DELETE -H "X-Auth-Token: $TOKEN" -H"ACCEPT: application/$ENC" $HOST/servers/$1
}