[vFW_CNF_CDS] Cleanup onboarding package content
[demo.git] / heat / vFW_CNF_CDS / templates / policy / policy.sh
1 #!/bin/bash
2
3 set -e
4
5 check(){
6     if ! which curl >/dev/null 2>&1; then
7         echo "Fatal error, curl command not available" >&2
8         return 1
9     fi
10
11     for arg; do
12         if ! test -f "$arg"; then
13             echo "Fatal error, REST payload - $arg - not found in current directory" >&2
14             return 1
15         fi
16     done
17 }
18
19 query_policy(){
20     local mode="$1"
21     local content="$2"
22     local url="$3"
23
24     declare -a flags=(-kf -H 'Content-Type: application/json'
25                       -H 'ClientAuth: cHl0aG9uOnRlc3Q=' -u testpdp:alpha123
26                       -H 'Environment: TEST')
27
28     check "$content"
29
30     curl -X "$mode" -d @"$content" "${flags[@]}" "${PDP_URL:-https://pdp:8081}/$url"
31 }
32
33 case "$1" in
34     -h|--help|help|?|"")
35         echo "Script usage:"
36         echo "$0 get|verify - query policy for CNF policy"
37         echo "$0 create - Create CNF naming policy and push it"
38         echo "$0 update - Update CNF naming policy and push it"
39         ;;
40     get|verify)
41         query_policy POST get.json pdp/api/getConfig
42         ;;
43     create|update)
44         query_policy PUT create.json "pdp/api/$1Policy"
45         query_policy PUT push.json "pdp/api/pushPolicy"
46         ;;
47     *)
48         echo "Wrong usage, check '$0 -h'" >&2
49         exit 1
50         ;;
51 esac