4 # THIS FILE CONTAINS PROPRIETARY INFORMATION OF
5 # AT&T AND IS NOT TO BE DISCLOSED OR USED EXCEPT IN
6 # ACCORDANCE WITH APPLICABLE AGREEMENTS.
8 # Copyright (c) 2013 AT&T Knowledge Ventures
9 # Unpublished and Not for Publication
12 # provcmd -- A script to interact with a provisioning server to manage the provisioning parameters.
13 # Set $VERBOSE to a non-empty string to see the curl commands as they are executed.
15 # $Id: provcmd,v 1.6 2014/03/31 13:23:33 eby Exp $
18 PATH=/opt/app/datartr/bin:/bin:/usr/bin:$PATH
20 export PATH PROVSRVR PROVCMD NOPROXY
22 if [ ! -x /usr/bin/curl ]
24 echo provcmd: curl is required for this tool.
28 while [ -z "$optloop" ]
49 echo "provcmd: you need to specify the server, either via the -s option"
50 echo " or by setting and exporting PROVSRVR"
56 if [ "$CMD" == 'delete' ]
62 [ -n "$VERBOSE" ] && echo curl -4 -k -X DELETE "https://$PROVSRVR/internal/api/$1$NOPROXY"
63 curl -4 -k -X DELETE "https://$PROVSRVR/internal/api/$1$NOPROXY"
67 elif [ "$CMD" == 'create' ]
71 # create (with POST), then set the value
72 [ -n "$VERBOSE" ] && echo curl -4 -k -X POST --data '' "https://$PROVSRVR/internal/api/$1$NOPROXY"
73 curl -4 -k -X POST --data '' "https://$PROVSRVR/internal/api/$1$NOPROXY"
74 $PROVCMD set "$1" "$2"
77 elif [ "$CMD" == 'get' ]
82 [ -n "$VERBOSE" ] && echo curl -4 -k "https://$PROVSRVR/internal/api/$1$NOPROXY"
83 curl -4 -k "https://$PROVSRVR/internal/api/$1$NOPROXY" 2>/dev/null | tr '|' '\012' | sort
86 elif [ "$CMD" == 'set' ]
93 for i; do [ -n "$v" ] && v="$v|"; v="$v$i"; done
96 NOPROXY=`echo $NOPROXY | tr '?' '&'`
97 [ -n "$VERBOSE" ] && echo curl -4 -k -X PUT "https://$PROVSRVR/internal/api/$p?val=$ue$NOPROXY"
98 curl -4 -k -X PUT "https://$PROVSRVR/internal/api/$p?val=$ue$NOPROXY"
101 elif [ "$CMD" == 'append' ]
107 tmp=`curl -4 -k "https://$PROVSRVR/internal/api/$p$NOPROXY" 2>/dev/null`
108 $PROVCMD set "$p" "$tmp" "$@"
111 elif [ "$CMD" == 'remove' ]
117 $PROVCMD get "$p" | grep -v "^$rm\$" > /tmp/pc$$
119 $PROVCMD set "$p" `cat /tmp/pc$$`
125 # Some error somewhere - display usage
127 usage: provcmd [ -s server ] delete name1 [ name2 ... ]
128 provcmd [ -s server ] get name
129 provcmd [ -s server ] create name value
130 provcmd [ -s server ] set name value1 [ value2 ... ]
131 provcmd [ -s server ] append name value1 [ value2 ... ]
132 provcmd [ -s server ] remove name value
134 delete - remove the parameters named name1, name2 ...
135 get - displays the parameters' value
136 create - creates a new parameter
137 set - sets the value of an existing parameter
138 append - appends the value to a list-based parameter
139 remove - removes a value from a list based parameter
141 server - the provisioning server FQDN (feeds-drtr.web.att.com for production)
143 Standard Parameters Names:
144 ------------------------------
146 DELIVERY_INIT_RETRY_INTERVAL
148 DELIVERY_MAX_RETRY_INTERVAL