if ! _rackspace_rest POST "$RACKSPACE_Tenant/domains/$_domain_id/records""{\"records\":[{\"name\":\"$fulldomain\",\"type\":\"TXT\",\"data\":\"$txtvalue\",\"ttl\":300}]}";then
if ! _rackspace_rest POST "$RACKSPACE_Tenant/domains/$_domain_id/records""{\"records\":[{\"name\":\"$fulldomain\",\"type\":\"TXT\",\"data\":\"$txtvalue\",\"ttl\":300}]}";then
return1
return1
fi
fi
_debug2 response "$response"
_debug2 response "$response"
if ! _contains "$response""$txtvalue" >/dev/null;then
if ! _contains "$response""$txtvalue" >/dev/null;then
_err "Could not add TXT record."
_err "Could not add TXT record."
return1
return1
fi
fi
return0
return0
}
}
#fulldomain txtvalue
#fulldomain txtvalue
@ -40,26 +36,21 @@ dns_rackspace_rm() {
_debug fulldomain="$fulldomain"
_debug fulldomain="$fulldomain"
txtvalue=$2
txtvalue=$2
_debug txtvalue="$txtvalue"
_debug txtvalue="$txtvalue"
_rackspace_check_auth ||return1
_rackspace_check_auth ||return1
_rackspace_check_rootzone ||return1
_rackspace_check_rootzone ||return1
_info "Checking for TXT record."
_info "Checking for TXT record."
if ! _get_recordid "$_domain_id""$fulldomain""$txtvalue";then
if ! _get_recordid "$_domain_id""$fulldomain""$txtvalue";then
_err "Could not get TXT record id."
_err "Could not get TXT record id."
return1
return1
fi
fi
if["$_dns_record_id"=""];then
if["$_dns_record_id"=""];then
_err "TXT record not found."
_err "TXT record not found."
return1
return1
fi
fi
_info "Removing TXT record."
_info "Removing TXT record."
if ! _delete_txt_record "$_domain_id""$_dns_record_id";then
if ! _delete_txt_record "$_domain_id""$_dns_record_id";then
_err "Could not remove TXT record $_dns_record_id."
_err "Could not remove TXT record $_dns_record_id."
fi
fi
return0
return0
}
}
@ -80,12 +71,10 @@ _get_root_zone() {
#not valid
#not valid
return1
return1
fi
fi
if ! _rackspace_rest GET "$RACKSPACE_Tenant/domains";then
if ! _rackspace_rest GET "$RACKSPACE_Tenant/domains";then
return1
return1
fi
fi
_debug2 response "$response"
_debug2 response "$response"
if _contains "$response""\"name\":\"$h\"" >/dev/null;then
if _contains "$response""\"name\":\"$h\"" >/dev/null;then
_domain_id=$(echo"$response"| sed -n "s/^.*\"name\":\"$h\",\"id\":\([^,]*\),.*/\1/p")
_domain_id=$(echo"$response"| sed -n "s/^.*\"name\":\"$h\",\"id\":\([^,]*\),.*/\1/p")
if[ -n "$_domain_id"];then
if[ -n "$_domain_id"];then
@ -104,17 +93,14 @@ _get_recordid() {
domainid="$1"
domainid="$1"
fulldomain="$2"
fulldomain="$2"
txtvalue="$3"
txtvalue="$3"
if ! _rackspace_rest GET "$RACKSPACE_Tenant/domains/$domainid/records?name=$fulldomain&type=TXT";then
if ! _rackspace_rest GET "$RACKSPACE_Tenant/domains/$domainid/records?name=$fulldomain&type=TXT";then
return1
return1
fi
fi
_debug response "$response"
_debug response "$response"
if ! _contains "$response""$txtvalue";then
if ! _contains "$response""$txtvalue";then
_dns_record_id=0
_dns_record_id=0
return0
return0
fi
fi
_dns_record_id=$(echo"$response"| tr '{'"\n"| grep "\"data\":\"$txtvalue\""| sed -n 's/^.*"id":"\([^"]*\)".*/\1/p')
_dns_record_id=$(echo"$response"| tr '{'"\n"| grep "\"data\":\"$txtvalue\""| sed -n 's/^.*"id":"\([^"]*\)".*/\1/p')
_debug _dns_record_id "$_dns_record_id"
_debug _dns_record_id "$_dns_record_id"
return0
return0
@ -122,16 +108,13 @@ _get_recordid() {
_delete_txt_record(){
_delete_txt_record(){
domainid="$1"
domainid="$1"
_dns_record_id="$2"
_dns_record_id="$2"
if ! _rackspace_rest DELETE "$RACKSPACE_Tenant/domains/$domainid/records?id=$_dns_record_id";then
if ! _rackspace_rest DELETE "$RACKSPACE_Tenant/domains/$domainid/records?id=$_dns_record_id";then