fix aws for acme v2
							parent
							
								
									849a6c12be
								
							
						
					
					
						commit
						64f07d9bf3
					
				| 
						 | 
					@ -42,7 +42,26 @@ dns_aws_add() {
 | 
				
			||||||
  _debug _sub_domain "$_sub_domain"
 | 
					  _debug _sub_domain "$_sub_domain"
 | 
				
			||||||
  _debug _domain "$_domain"
 | 
					  _debug _domain "$_domain"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  _aws_tmpl_xml="<ChangeResourceRecordSetsRequest xmlns=\"https://route53.amazonaws.com/doc/2013-04-01/\"><ChangeBatch><Changes><Change><Action>CREATE</Action><ResourceRecordSet><Name>$fulldomain</Name><Type>TXT</Type><TTL>300</TTL><ResourceRecords><ResourceRecord><Value>\"$txtvalue\"</Value></ResourceRecord></ResourceRecords></ResourceRecordSet></Change></Changes></ChangeBatch></ChangeResourceRecordSetsRequest>"
 | 
					  _info "Geting existing records for $fulldomain"
 | 
				
			||||||
 | 
					  if ! aws_rest GET "2013-04-01$_domain_id/rrset" "name=$fulldomain&type=TXT"; then
 | 
				
			||||||
 | 
					    return 1
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if _contains "$response" "<Name>$fulldomain.</Name>"; then
 | 
				
			||||||
 | 
					    _resource_record="$(echo  "$response"  | _egrep_o "<ResourceRecords.*</ResourceRecords>" | sed "s/<ResourceRecords>//" | sed "s#</ResourceRecords>##")"
 | 
				
			||||||
 | 
					    _debug "_resource_record" "$_resource_record"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    _debug "single new add"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if [ "$_resource_record" ] && _contains "$response" "$txtvalue"; then
 | 
				
			||||||
 | 
					    _info "The txt record already exists, skip"
 | 
				
			||||||
 | 
					    return 0
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _debug "Adding records"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _aws_tmpl_xml="<ChangeResourceRecordSetsRequest xmlns=\"https://route53.amazonaws.com/doc/2013-04-01/\"><ChangeBatch><Changes><Change><Action>UPSERT</Action><ResourceRecordSet><Name>$fulldomain</Name><Type>TXT</Type><TTL>300</TTL><ResourceRecords>$_resource_record<ResourceRecord><Value>\"$txtvalue\"</Value></ResourceRecord></ResourceRecords></ResourceRecordSet></Change></Changes></ChangeBatch></ChangeResourceRecordSetsRequest>"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if aws_rest POST "2013-04-01$_domain_id/rrset/" "" "$_aws_tmpl_xml" && _contains "$response" "ChangeResourceRecordSetsResponse"; then
 | 
					  if aws_rest POST "2013-04-01$_domain_id/rrset/" "" "$_aws_tmpl_xml" && _contains "$response" "ChangeResourceRecordSetsResponse"; then
 | 
				
			||||||
    _info "txt record updated success."
 | 
					    _info "txt record updated success."
 | 
				
			||||||
| 
						 | 
					@ -68,7 +87,20 @@ dns_aws_rm() {
 | 
				
			||||||
  _debug _sub_domain "$_sub_domain"
 | 
					  _debug _sub_domain "$_sub_domain"
 | 
				
			||||||
  _debug _domain "$_domain"
 | 
					  _debug _domain "$_domain"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  _aws_tmpl_xml="<ChangeResourceRecordSetsRequest xmlns=\"https://route53.amazonaws.com/doc/2013-04-01/\"><ChangeBatch><Changes><Change><Action>DELETE</Action><ResourceRecordSet><ResourceRecords><ResourceRecord><Value>\"$txtvalue\"</Value></ResourceRecord></ResourceRecords><Name>$fulldomain.</Name><Type>TXT</Type><TTL>300</TTL></ResourceRecordSet></Change></Changes></ChangeBatch></ChangeResourceRecordSetsRequest>"
 | 
					  _info "Geting existing records for $fulldomain"
 | 
				
			||||||
 | 
					  if ! aws_rest GET "2013-04-01$_domain_id/rrset" "name=$fulldomain&type=TXT"; then
 | 
				
			||||||
 | 
					    return 1
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if _contains "$response" "<Name>$fulldomain.</Name>"; then
 | 
				
			||||||
 | 
					    _resource_record="$(echo  "$response"  | _egrep_o "<ResourceRecords.*</ResourceRecords>" | sed "s/<ResourceRecords>//" | sed "s#</ResourceRecords>##")"
 | 
				
			||||||
 | 
					    _debug "_resource_record" "$_resource_record"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    _debug "no records exists, skip"
 | 
				
			||||||
 | 
					    return 0
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _aws_tmpl_xml="<ChangeResourceRecordSetsRequest xmlns=\"https://route53.amazonaws.com/doc/2013-04-01/\"><ChangeBatch><Changes><Change><Action>DELETE</Action><ResourceRecordSet><ResourceRecords>$_resource_record</ResourceRecords><Name>$fulldomain.</Name><Type>TXT</Type><TTL>300</TTL></ResourceRecordSet></Change></Changes></ChangeBatch></ChangeResourceRecordSetsRequest>"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if aws_rest POST "2013-04-01$_domain_id/rrset/" "" "$_aws_tmpl_xml" && _contains "$response" "ChangeResourceRecordSetsResponse"; then
 | 
					  if aws_rest POST "2013-04-01$_domain_id/rrset/" "" "$_aws_tmpl_xml" && _contains "$response" "ChangeResourceRecordSetsResponse"; then
 | 
				
			||||||
    _info "txt record deleted success."
 | 
					    _info "txt record deleted success."
 | 
				
			||||||
| 
						 | 
					@ -87,7 +119,6 @@ _get_root() {
 | 
				
			||||||
  p=1
 | 
					  p=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if aws_rest GET "2013-04-01/hostedzone"; then
 | 
					  if aws_rest GET "2013-04-01/hostedzone"; then
 | 
				
			||||||
    _debug "response" "$response"
 | 
					 | 
				
			||||||
    while true; do
 | 
					    while true; do
 | 
				
			||||||
      h=$(printf "%s" "$domain" | cut -d . -f $i-100)
 | 
					      h=$(printf "%s" "$domain" | cut -d . -f $i-100)
 | 
				
			||||||
      _debug2 "Checking domain: $h"
 | 
					      _debug2 "Checking domain: $h"
 | 
				
			||||||
| 
						 | 
					@ -236,6 +267,7 @@ aws_rest() {
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  _ret="$?"
 | 
					  _ret="$?"
 | 
				
			||||||
 | 
					  _debug2 response "$response"
 | 
				
			||||||
  if [ "$_ret" = "0" ]; then
 | 
					  if [ "$_ret" = "0" ]; then
 | 
				
			||||||
    if _contains "$response" "<ErrorResponse"; then
 | 
					    if _contains "$response" "<ErrorResponse"; then
 | 
				
			||||||
      _err "Response error:$response"
 | 
					      _err "Response error:$response"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue