diff --git a/dns_infoblox.sh b/dns_infoblox.sh index d3490017..c16367b8 100644 --- a/dns_infoblox.sh +++ b/dns_infoblox.sh @@ -4,10 +4,15 @@ dns_infoblox_add() { fulldomain=$1 txtvalue=$2 + baseurlnObject="https://$Infoblox_Server/wapi/v2.2.2/record:txt?name=$fulldomain&text=$txtvalue" + _info "Using Infoblox API" + _debug fulldomain "$fulldomain" + _debug txtvalue "$txtvalue" + #_err "Not implemented!" if [ -z "$Infoblox_Creds" ] || [ -z "$Infoblox_Server" ]; then @@ -24,54 +29,58 @@ dns_infoblox_add() { result=`curl -k -u $Infoblox_Creds -X POST $baseurlnObject` -if [ $result =~ record:txt/.*:.*/default ]; then +if echo "$result" | grep -Eq 'record:txt/.*:.*/default'; then echo "Successfully created the txt record" return 0 -else +else echo "Error encountered during record addition" echo $result _err $result return 1 -fi - -} - -dns_infoblox_rm() { - - fulldomain=$1 - txtvalue=$2 - _info "Using Infoblox API" - _debug fulldomain "$fulldomain" - _debug txtvalue "$txtvalue" - - # Does the record exist? -baseurlnObject="https://$Infoblox_Server/wapi/v2.2.2/record:txt?name=$fulldomain&text=$txtvalue&_return_type=xml-pretty" -echo $baseurlnObject - -result=`curl -k -u $Infoblox_Creds -X GET $baseurlnObject` - -if [ $result =~ record:txt/.*:.*/default ]; then - # Extract object ref - objRef=`grep -Po 'record:txt/.*:.*/default' <<< $result` - objRmUrl="https://$Infoblox_Server/wapi/v2.2.2/$objRef" - rmResult=`curl -k -u $Infoblox_Creds -X DELETE $objRmUrl` - # Check if rm succeeded - if [ $rmResult =~ record:txt/.*:.*/default ]; then - echo "Successfully deleted $objRef" - return 0 - else - echo "Error occurred during txt record delete" - echo $rmResult - _err $rmResult - return 1 - fi -else - echo "Record to delete didn't match an existing record" - echo $result - _err $result - return 1 fi } +dns_infoblox_rm() { + + fulldomain=$1 + txtvalue=$2 + + _info "Using Infoblox API" + + _debug fulldomain "$fulldomain" + + _debug txtvalue "$txtvalue" + + # Does the record exist? + +baseurlnObject="https://$Infoblox_Server/wapi/v2.2.2/record:txt?name=$fulldomain&text=$txtvalue&_return_type=xml-pretty" + +echo $baseurlnObject + +result=`curl -k -u $Infoblox_Creds -X GET $baseurlnObject` + +if echo $result | grep -Eq 'record:txt/.*:.*/default'; then + # Extract object ref + objRef=`grep -Po 'record:txt/.*:.*/default' <<< $result` + objRmUrl="https://$Infoblox_Server/wapi/v2.2.2/$objRef" + rmResult=`curl -k -u $Infoblox_Creds -X DELETE $objRmUrl` + # Check if rm succeeded + if echo "$rmResult" | grep -Eq 'record:txt/.*:.*/default'; then + echo "Successfully deleted $objRef" + return 0 + else + echo "Error occurred during txt record delete" + echo $rmResult + _err $rmResult + return 1 + fi +else + echo "Record to delete didn't match an existing record" + echo $result + _err $result + return 1 +fi +} + #################### Private functions below ##################################