|
|
@ -4,10 +4,15 @@ dns_infoblox_add() { |
|
|
|
|
|
|
|
|
fulldomain=$1 |
|
|
fulldomain=$1 |
|
|
txtvalue=$2 |
|
|
txtvalue=$2 |
|
|
|
|
|
|
|
|
baseurlnObject="https://$Infoblox_Server/wapi/v2.2.2/record:txt?name=$fulldomain&text=$txtvalue" |
|
|
baseurlnObject="https://$Infoblox_Server/wapi/v2.2.2/record:txt?name=$fulldomain&text=$txtvalue" |
|
|
|
|
|
|
|
|
_info "Using Infoblox API" |
|
|
_info "Using Infoblox API" |
|
|
|
|
|
|
|
|
_debug fulldomain "$fulldomain" |
|
|
_debug fulldomain "$fulldomain" |
|
|
|
|
|
|
|
|
_debug txtvalue "$txtvalue" |
|
|
_debug txtvalue "$txtvalue" |
|
|
|
|
|
|
|
|
#_err "Not implemented!" |
|
|
#_err "Not implemented!" |
|
|
|
|
|
|
|
|
if [ -z "$Infoblox_Creds" ] || [ -z "$Infoblox_Server" ]; then |
|
|
if [ -z "$Infoblox_Creds" ] || [ -z "$Infoblox_Server" ]; then |
|
|
@ -24,7 +29,7 @@ dns_infoblox_add() { |
|
|
|
|
|
|
|
|
result=`curl -k -u $Infoblox_Creds -X POST $baseurlnObject` |
|
|
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" |
|
|
echo "Successfully created the txt record" |
|
|
return 0 |
|
|
return 0 |
|
|
else |
|
|
else |
|
|
@ -40,38 +45,42 @@ dns_infoblox_rm() { |
|
|
|
|
|
|
|
|
fulldomain=$1 |
|
|
fulldomain=$1 |
|
|
txtvalue=$2 |
|
|
txtvalue=$2 |
|
|
|
|
|
|
|
|
_info "Using Infoblox API" |
|
|
_info "Using Infoblox API" |
|
|
|
|
|
|
|
|
_debug fulldomain "$fulldomain" |
|
|
_debug fulldomain "$fulldomain" |
|
|
|
|
|
|
|
|
_debug txtvalue "$txtvalue" |
|
|
_debug txtvalue "$txtvalue" |
|
|
|
|
|
|
|
|
# Does the record exist? |
|
|
# Does the record exist? |
|
|
|
|
|
|
|
|
baseurlnObject="https://$Infoblox_Server/wapi/v2.2.2/record:txt?name=$fulldomain&text=$txtvalue&_return_type=xml-pretty" |
|
|
baseurlnObject="https://$Infoblox_Server/wapi/v2.2.2/record:txt?name=$fulldomain&text=$txtvalue&_return_type=xml-pretty" |
|
|
|
|
|
|
|
|
echo $baseurlnObject |
|
|
echo $baseurlnObject |
|
|
|
|
|
|
|
|
result=`curl -k -u $Infoblox_Creds -X GET $baseurlnObject` |
|
|
result=`curl -k -u $Infoblox_Creds -X GET $baseurlnObject` |
|
|
|
|
|
|
|
|
if [ $result =~ record:txt/.*:.*/default ]; then |
|
|
|
|
|
|
|
|
if echo $result | grep -Eq 'record:txt/.*:.*/default'; then |
|
|
# Extract object ref |
|
|
# Extract object ref |
|
|
objRef=`grep -Po 'record:txt/.*:.*/default' <<< $result` |
|
|
objRef=`grep -Po 'record:txt/.*:.*/default' <<< $result` |
|
|
objRmUrl="https://$Infoblox_Server/wapi/v2.2.2/$objRef" |
|
|
objRmUrl="https://$Infoblox_Server/wapi/v2.2.2/$objRef" |
|
|
rmResult=`curl -k -u $Infoblox_Creds -X DELETE $objRmUrl` |
|
|
rmResult=`curl -k -u $Infoblox_Creds -X DELETE $objRmUrl` |
|
|
# Check if rm succeeded |
|
|
# 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 |
|
|
|
|
|
|
|
|
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 |
|
|
else |
|
|
echo "Record to delete didn't match an existing record" |
|
|
echo "Record to delete didn't match an existing record" |
|
|
echo $result |
|
|
echo $result |
|
|
_err $result |
|
|
_err $result |
|
|
return 1 |
|
|
return 1 |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
#################### Private functions below ################################## |
|
|
#################### Private functions below ################################## |