#!/bin/bash CURL="/usr/bin/curl" CREDS="$HOME/.ngcp-api" TOOLS="/usr/share/ngcp-panel-tools/ngcp-api.inc" usage () { cat << EOF Usage: $0 [OPTIONS] [content-type] sends a put request to NGCP REST API OPTIONS: -h this help -v verbose mode -f read the input info from a file instead of read stdin EOF exit 1 } if [ -z "$APIUSER" ] ; then if [ -f "$TOOLS" ] ; then source "$TOOLS" importcreds else APIUSER="administrator:administrator" fi fi INPUT="-T -" while getopts "f:hv" OPTION do case $OPTION in h) usage ;; f) INPUT="" FILE_INPUT="--data-binary @$OPTARG" if [ ! -f "$OPTARG" ]; then echo "No '$OPTARG' file found" usage fi ;; v) VERBOSE="--verbose" ;; ?) usage ;; esac done shift $(($OPTIND - 1)) URL="$1" if [ -z "$URL" ] ; then usage fi CTYPE=${2:-application/json} ${CURL} -i ${VERBOSE} -X PUT \ -H 'Connection: close' -H 'Prefer: return=representation' \ -H "Content-Type: $CTYPE" \ --user "$APIUSER" --insecure ${FILE_INPUT} "$URL" ${INPUT}