blob: 7ecf253780ebcdbd89226674249230fd1cc7c5fb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
#!/bin/bash
ARR_HOOKS="
aws
"
if [ $# -lt 2 ]; then
echo "Usage: $0 <head rec> <hook> <zone id>
Hooks:" >&2
for h in $ARR_HOOKS; do
echo -e "\t$h"
done
exit 2
fi
HEAD_REC="$1"
HOOK="$2"
ZONE_ID="$3"
aws_param () {
cat << EOF
{
"Changes": [
{
"Action": "DELETE",
"ResourceRecordSet": $1
}
]
}
EOF
}
hook_aws () {
local tmpfile=`mktemp --tmpdir txtrec-del.XXXXXXXXXX`
aws route53 list-resource-record-sets\
--hosted-zone-id "$ZONE_ID" > "$tmpfile"
local nb_rec=`jq ".ResourceRecordSets | length" "$tmpfile"`
local escaped_name=$(echo "$HEAD_REC" | sed -e s/\\./\\\\./g)
for (( i = 0; i < nb_rec; i += 1 )); do
local rec=$(jq ".ResourceRecordSets[$i]" "$tmpfile")
jq ".ResourceRecordSets[$i].Name" "$tmpfile" |
egrep -i "\"([0-9a-f]+\.)?$escaped_name\.?\""
if [ $? -eq 0 ]; then
aws route53 change-resource-record-sets\
--hosted-zone-id "$ZONE_ID"\
--change-batch "$(aws_param "$rec")"
fi
done
rm -f "$tmpfile"
}
"hook_$HOOK" "$HEAD_REC"
i=0
while true; do
"hook_$HOOK" $i."$HEAD_REC"
if [ $? -ne 0 ]; then
break
fi
let i=i+1
done
|