#!/bin/bash
function print_usage_and_exit {
[ -z "$1" ] || echo "Error: $1"
echo "Usage: $0 [
| ]"
echo " - directory where the s3p csar files stores, policies related to them will be cleaned from PDP/PAP"
echo " - rulename to be cleaned"
exit 1
}
[ "$#" -ne 1 ] && print_usage_and_exit
rules=()
if [ -d $1 ]; then
files=(`find "$1" -maxdepth 1 -name "*.csar" -printf "%f\n"`)
for i in ${files[@]}; do
fn=`echo $i | cut -d '.' -f 1`
rules+=("oofCasablanca.Config_OOF_Optimization_${fn}.1.xml")
done
else
rules+=($1)
fi
for NAME in ${rules[@]}; do
BODY="{\"policyComponent\":\"PDP\",\"policyType\":\"Optimization\",\"pdpGroup\":\"default\",\"policyName\":\"${NAME}\"}"
rescode=`curl --silent --output /dev/null --write-out %{http_code} -k -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'ClientAuth: cHl0aG9uOnRlc3Q=' -H 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' -H 'Environment: TEST' -X DELETE -d $BODY https://pdp:8081/pdp/api/deletePolicy`
if [ "$rescode" == "200" ]; then
echo "delete $NAME in PDP success"
else
echo "delete $NAME in PDP FAIL with rescode $rescode"
fi
BODY="{\"policyName\":\"${NAME}\",\"policyComponent\":\"PAP\",\"policyType\":\"Optimization\",\"deleteCondition\":\"ALL\"}"
rescode=`curl --silent --output /dev/null --write-out %{http_code} -k -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'ClientAuth: cHl0aG9uOnRlc3Q=' -H 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' -H 'Environment: TEST' -X DELETE -d $BODY https://pdp:8081/pdp/api/deletePolicy`
if [ "$rescode" == "200" ]; then
echo "delete $NAME in PAP success"
else
echo "delete $NAME in PAP FAIL with rescode $rescode"
fi
done