|
@@ -17,6 +17,8 @@ dns_lua_add() {
|
|
fulldomain=$1
|
|
fulldomain=$1
|
|
txtvalue=$2
|
|
txtvalue=$2
|
|
|
|
|
|
|
|
+ LUA_Key="${LUA_Key:-$(_readaccountconf_mutable LUA_Key)}"
|
|
|
|
+ LUA_Email="${LUA_Email:-$(_readaccountconf_mutable LUA_Email)}"
|
|
if [ -z "$LUA_Key" ] || [ -z "$LUA_Email" ]; then
|
|
if [ -z "$LUA_Key" ] || [ -z "$LUA_Email" ]; then
|
|
LUA_Key=""
|
|
LUA_Key=""
|
|
LUA_Email=""
|
|
LUA_Email=""
|
|
@@ -26,8 +28,8 @@ dns_lua_add() {
|
|
fi
|
|
fi
|
|
|
|
|
|
#save the api key and email to the account conf file.
|
|
#save the api key and email to the account conf file.
|
|
- _saveaccountconf LUA_Key "$LUA_Key"
|
|
|
|
- _saveaccountconf LUA_Email "$LUA_Email"
|
|
|
|
|
|
+ _saveaccountconf_mutable LUA_Key "$LUA_Key"
|
|
|
|
+ _saveaccountconf_mutable LUA_Email "$LUA_Email"
|
|
|
|
|
|
_debug "First detect the root zone"
|
|
_debug "First detect the root zone"
|
|
if ! _get_root "$fulldomain"; then
|
|
if ! _get_root "$fulldomain"; then
|
|
@@ -38,50 +40,26 @@ dns_lua_add() {
|
|
_debug _sub_domain "$_sub_domain"
|
|
_debug _sub_domain "$_sub_domain"
|
|
_debug _domain "$_domain"
|
|
_debug _domain "$_domain"
|
|
|
|
|
|
- _debug "Getting txt records"
|
|
|
|
- _LUA_rest GET "zones/${_domain_id}/records"
|
|
|
|
-
|
|
|
|
- if ! _contains "$response" "\"id\":"; then
|
|
|
|
- _err "Error"
|
|
|
|
- return 1
|
|
|
|
- fi
|
|
|
|
-
|
|
|
|
- count=$(printf "%s\n" "$response" | _egrep_o "\"name\":\"$fulldomain.\",\"type\":\"TXT\"" | wc -l | tr -d " ")
|
|
|
|
- _debug count "$count"
|
|
|
|
- if [ "$count" = "0" ]; then
|
|
|
|
- _info "Adding record"
|
|
|
|
- if _LUA_rest POST "zones/$_domain_id/records" "{\"type\":\"TXT\",\"name\":\"$fulldomain.\",\"content\":\"$txtvalue\",\"ttl\":120}"; then
|
|
|
|
- if _contains "$response" "$fulldomain"; then
|
|
|
|
- _info "Added"
|
|
|
|
- #todo: check if the record takes effect
|
|
|
|
- return 0
|
|
|
|
- else
|
|
|
|
- _err "Add txt record error."
|
|
|
|
- return 1
|
|
|
|
- fi
|
|
|
|
- fi
|
|
|
|
- _err "Add txt record error."
|
|
|
|
- else
|
|
|
|
- _info "Updating record"
|
|
|
|
- record_id=$(printf "%s\n" "$response" | _egrep_o "\"id\":[^,]*,\"name\":\"$fulldomain.\",\"type\":\"TXT\"" | _head_n 1 | cut -d: -f2 | cut -d, -f1)
|
|
|
|
- _debug "record_id" "$record_id"
|
|
|
|
-
|
|
|
|
- _LUA_rest PUT "zones/$_domain_id/records/$record_id" "{\"id\":$record_id,\"type\":\"TXT\",\"name\":\"$fulldomain.\",\"content\":\"$txtvalue\",\"zone_id\":$_domain_id,\"ttl\":120}"
|
|
|
|
- if [ "$?" = "0" ] && _contains "$response" "updated_at"; then
|
|
|
|
- _info "Updated!"
|
|
|
|
|
|
+ _info "Adding record"
|
|
|
|
+ if _LUA_rest POST "zones/$_domain_id/records" "{\"type\":\"TXT\",\"name\":\"$fulldomain.\",\"content\":\"$txtvalue\",\"ttl\":120}"; then
|
|
|
|
+ if _contains "$response" "$fulldomain"; then
|
|
|
|
+ _info "Added"
|
|
#todo: check if the record takes effect
|
|
#todo: check if the record takes effect
|
|
return 0
|
|
return 0
|
|
|
|
+ else
|
|
|
|
+ _err "Add txt record error."
|
|
|
|
+ return 1
|
|
fi
|
|
fi
|
|
- _err "Update error"
|
|
|
|
- return 1
|
|
|
|
fi
|
|
fi
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
#fulldomain
|
|
#fulldomain
|
|
dns_lua_rm() {
|
|
dns_lua_rm() {
|
|
fulldomain=$1
|
|
fulldomain=$1
|
|
txtvalue=$2
|
|
txtvalue=$2
|
|
|
|
+
|
|
|
|
+ LUA_Key="${LUA_Key:-$(_readaccountconf_mutable LUA_Key)}"
|
|
|
|
+ LUA_Email="${LUA_Email:-$(_readaccountconf_mutable LUA_Email)}"
|
|
_debug "First detect the root zone"
|
|
_debug "First detect the root zone"
|
|
if ! _get_root "$fulldomain"; then
|
|
if ! _get_root "$fulldomain"; then
|
|
_err "invalid domain"
|
|
_err "invalid domain"
|