Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
Acme.Sh
Commits
64f07d9b
Commit
64f07d9b
authored
Feb 13, 2018
by
neilpang
Browse files
fix aws for acme v2
parent
849a6c12
Changes
1
Hide whitespace changes
Inline
Side-by-side
dnsapi/dns_aws.sh
View file @
64f07d9b
...
...
@@ -42,7 +42,26 @@ dns_aws_add() {
_debug _sub_domain
"
$_sub_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
_info
"txt record updated success."
...
...
@@ -68,7 +87,20 @@ dns_aws_rm() {
_debug _sub_domain
"
$_sub_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
_info
"txt record deleted success."
...
...
@@ -87,7 +119,6 @@ _get_root() {
p
=
1
if
aws_rest GET
"2013-04-01/hostedzone"
;
then
_debug
"response"
"
$response
"
while
true
;
do
h
=
$(
printf
"%s"
"
$domain
"
|
cut
-d
.
-f
$i
-100
)
_debug2
"Checking domain:
$h
"
...
...
@@ -236,6 +267,7 @@ aws_rest() {
fi
_ret
=
"
$?
"
_debug2 response
"
$response
"
if
[
"
$_ret
"
=
"0"
]
;
then
if
_contains
"
$response
"
"<ErrorResponse"
;
then
_err
"Response error:
$response
"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment