diff --git a/dnsapi/dns_aws.sh b/dnsapi/dns_aws.sh
index d5d52de0..21e86686 100755
--- a/dnsapi/dns_aws.sh
+++ b/dnsapi/dns_aws.sh
@@ -88,6 +88,19 @@ _get_root() {
while true; do
h=$(printf "%s" "$domain" | cut -d . -f $i-100)
if [ -z "$h" ]; then
+ if _contains "$response" "true" && _contains "$response" ""; then
+ _debug "IsTruncated"
+ _nextMarker="$(echo "$response" | _egrep_o ".*" | cut -d '>' -f 2 | cut -d '<' -f 1)"
+ _debug "NextMarker" "$_nextMarker"
+ if aws_rest GET "2013-04-01/hostedzone" "marker=$_nextMarker"; then
+ _debug "Truncated request OK"
+ i=2
+ p=1
+ continue
+ else
+ _err "Truncated request error."
+ fi
+ fi
#not valid
return 1
fi
@@ -208,6 +221,9 @@ aws_rest() {
_debug _H2 "$_H2"
url="$AWS_URL/$ep"
+ if [ "$qsr" ]; then
+ url="$AWS_URL/$ep?$qsr"
+ fi
if [ "$mtd" = "GET" ]; then
response="$(_get "$url")"