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
16775800
Commit
16775800
authored
May 25, 2018
by
Janos Lenart
Browse files
Fixed shfmt (dns_gcloud)
parent
0a3ac1f5
Changes
1
Hide whitespace changes
Inline
Side-by-side
dnsapi/dns_gcloud.sh
View file @
16775800
...
...
@@ -18,7 +18,7 @@ dns_gcloud_add() {
_dns_gcloud_start_tr
||
return
$?
_dns_gcloud_get_rrdatas
||
return
$?
echo
"
$rrdatas
"
| _dns_gcloud_remove_rrs
||
return
$?
echo
-e
"
$rrdatas
\n
\"
$txtvalue
\"
"
|
grep
-v
'^$'
| _dns_gcloud_add_rrs
||
return
$?
printf
"%s
\n
%s
\n
"
"
$rrdatas
"
"
\"
$txtvalue
\"
"
|
grep
-v
'^$'
| _dns_gcloud_add_rrs
||
return
$?
_dns_gcloud_execute_tr
||
return
$?
_info
"
$fulldomain
record added"
...
...
@@ -39,7 +39,7 @@ dns_gcloud_rm() {
_dns_gcloud_start_tr
||
return
$?
_dns_gcloud_get_rrdatas
||
return
$?
echo
"
$rrdatas
"
| _dns_gcloud_remove_rrs
||
return
$?
echo
"
$rrdatas
"
|
f
grep
-v
"
\"
$txtvalue
\"
"
| _dns_gcloud_add_rrs
||
return
$?
echo
"
$rrdatas
"
|
grep
-F
-v
"
\"
$txtvalue
\"
"
| _dns_gcloud_add_rrs
||
return
$?
_dns_gcloud_execute_tr
||
return
$?
_info
"
$fulldomain
record added"
...
...
@@ -48,7 +48,7 @@ dns_gcloud_rm() {
#################### Private functions below ##################################
_dns_gcloud_start_tr
()
{
if
!
trd
=
`
mktemp
-d
`
;
then
if
!
trd
=
$(
mktemp
-d
)
;
then
_err
"_dns_gcloud_start_tr: failed to create temporary directory"
return
1
fi
...
...
@@ -56,8 +56,8 @@ _dns_gcloud_start_tr() {
_debug
tr
"
$tr
"
if
!
gcloud dns record-sets transaction start
\
--transaction-file
=
"
$tr
"
\
--zone
=
"
$managedZone
"
;
then
--transaction-file
=
"
$tr
"
\
--zone
=
"
$managedZone
"
;
then
rm
-r
"
$trd
"
_err
"_dns_gcloud_start_tr: failed to execute transaction"
return
1
...
...
@@ -66,22 +66,22 @@ _dns_gcloud_start_tr() {
_dns_gcloud_execute_tr
()
{
if
!
gcloud dns record-sets transaction execute
\
--transaction-file
=
"
$tr
"
\
--zone
=
"
$managedZone
"
;
then
_debug
tr
"
`
cat
\
"
$tr
\"
`
"
--transaction-file
=
"
$tr
"
\
--zone
=
"
$managedZone
"
;
then
_debug
tr
"
$(
cat
"
$tr
"
)
"
rm
-r
"
$trd
"
_err
"_dns_gcloud_execute_tr: failed to execute transaction"
return
1
fi
rm
-r
"
$trd
"
for
i
in
`
seq
1 120
`
;
do
for
i
in
$(
seq
1 120
)
;
do
if
gcloud dns record-sets changes list
\
--zone
=
lenart
\
--filter
=
'status != done'
\
|
grep
-q
'.*'
;
then
_info
"_dns_gcloud_execute_tr: waiting for transaction to be comitted ..."
sleep
5
--zone
=
lenart
\
--filter
=
'status != done'
\
|
grep
-q
'
^
.*'
;
then
_info
"_dns_gcloud_execute_tr: waiting for transaction to be comitted
(
$i
/120)
..."
sleep
5
else
return
0
fi
...
...
@@ -94,12 +94,12 @@ _dns_gcloud_execute_tr() {
_dns_gcloud_remove_rrs
()
{
if
!
xargs
--no-run-if-empty
gcloud dns record-sets transaction remove
\
--name
=
"
$fulldomain
."
\
--ttl
=
"
$ttl
"
\
--type
=
TXT
\
--zone
=
"
$managedZone
"
\
--transaction-file
=
"
$tr
"
;
then
_debug
tr
"
`
cat
\
"
$tr
\"
`
"
--name
=
"
$fulldomain
."
\
--ttl
=
"
$ttl
"
\
--type
=
TXT
\
--zone
=
"
$managedZone
"
\
--transaction-file
=
"
$tr
"
;
then
_debug
tr
"
$(
cat
"
$tr
"
)
"
rm
-r
"
$trd
"
_err
"_dns_gcloud_remove_rrs: failed to remove RRs"
return
1
...
...
@@ -109,12 +109,12 @@ _dns_gcloud_remove_rrs() {
_dns_gcloud_add_rrs
()
{
ttl
=
60
if
!
xargs
--no-run-if-empty
gcloud dns record-sets transaction add
\
--name
=
"
$fulldomain
."
\
--ttl
=
"
$ttl
"
\
--type
=
TXT
\
--zone
=
"
$managedZone
"
\
--transaction-file
=
"
$tr
"
;
then
_debug
tr
"
`
cat
\
"
$tr
\"
`
"
--name
=
"
$fulldomain
."
\
--ttl
=
"
$ttl
"
\
--type
=
TXT
\
--zone
=
"
$managedZone
"
\
--transaction-file
=
"
$tr
"
;
then
_debug
tr
"
$(
cat
"
$tr
"
)
"
rm
-r
"
$trd
"
_err
"_dns_gcloud_add_rrs: failed to add RRs"
return
1
...
...
@@ -129,19 +129,19 @@ _dns_gcloud_find_zone() {
filter
=
"dnsName=( "
while
[
"
$part
"
!=
""
]
;
do
filter
=
"
$filter$part
. "
part
=
"
`
echo
\
"
$part
\
"
|
sed
's/[^.]*\.*//'
`
"
part
=
"
$(
echo
"
$part
"
|
sed
's/[^.]*\.*//'
)
"
done
filter
=
"
$filter
)"
_debug filter
"
$filter
"
# List domains and find the longest match (in case of some levels of delegation)
if
!
match
=
$(
gcloud dns managed-zones list
\
--format
=
"value(name, dnsName)"
\
--filter
=
"
$filter
"
\
|
while
read
dnsName name
;
do
echo
-e
"
${#
dnsName
}
\t
$dnsName
\t
$name
"
done
\
|
sort
-n
-r
|
head
-n1
|
cut
-f2
,3 |
grep
'.*'
)
;
then
--format
=
"value(name, dnsName)"
\
--filter
=
"
$filter
"
\
|
while
read
-r
dnsName name
;
do
printf
"%s
\t
%s
\t
%s
\n
"
"
${#
dnsName
}
"
"
$dnsName
"
"
$name
"
done
\
|
sort
-n
-r
|
head
-n1
|
cut
-f2
,3 |
grep
'
^
.*'
)
;
then
_err
"_dns_gcloud_find_zone: Can't find a matching managed zone! Perhaps wrong project or gcloud credentials?"
return
1
fi
...
...
@@ -154,10 +154,10 @@ _dns_gcloud_find_zone() {
_dns_gcloud_get_rrdatas
()
{
if
!
rrdatas
=
$(
gcloud dns record-sets list
\
--zone
=
"
$managedZone
"
\
--name
=
"
$fulldomain
."
\
--type
=
TXT
\
--format
=
"value(ttl,rrdatas)"
)
;
then
--zone
=
"
$managedZone
"
\
--name
=
"
$fulldomain
."
\
--type
=
TXT
\
--format
=
"value(ttl,rrdatas)"
)
;
then
_err
"_dns_gcloud_get_rrdatas: Failed to list record-sets"
rm
-r
"
$trd
"
return
1
...
...
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