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
9985c438
Unverified
Commit
9985c438
authored
Jul 12, 2022
by
neil
Committed by
GitHub
Jul 12, 2022
Browse files
Merge pull request #4165 from weidonggg/dev
Fix dns_huaweicloud provider
parents
afc0097b
a46e51e8
Changes
1
Hide whitespace changes
Inline
Side-by-side
dnsapi/dns_huaweicloud.sh
View file @
9985c438
...
...
@@ -2,7 +2,7 @@
# HUAWEICLOUD_Username
# HUAWEICLOUD_Password
# HUAWEICLOUD_
ProjectID
# HUAWEICLOUD_
DomainName
iam_api
=
"https://iam.myhuaweicloud.com"
dns_api
=
"https://dns.ap-southeast-1.myhuaweicloud.com"
# Should work
...
...
@@ -14,6 +14,8 @@ dns_api="https://dns.ap-southeast-1.myhuaweicloud.com" # Should work
#
# Ref: https://support.huaweicloud.com/intl/zh-cn/api-dns/zh-cn_topic_0132421999.html
#
# About "DomainName" parameters see: https://support.huaweicloud.com/api-iam/iam_01_0006.html
#
dns_huaweicloud_add
()
{
fulldomain
=
$1
...
...
@@ -21,16 +23,16 @@ dns_huaweicloud_add() {
HUAWEICLOUD_Username
=
"
${
HUAWEICLOUD_Username
:-
$(
_readaccountconf_mutable HUAWEICLOUD_Username
)
}
"
HUAWEICLOUD_Password
=
"
${
HUAWEICLOUD_Password
:-
$(
_readaccountconf_mutable HUAWEICLOUD_Password
)
}
"
HUAWEICLOUD_
ProjectID
=
"
${
HUAWEICLOUD_
ProjectID
:-
$(
_readaccountconf_mutable HUAWEICLOUD_
ProjectID
)
}
"
HUAWEICLOUD_
DomainName
=
"
${
HUAWEICLOUD_
DomainName
:-
$(
_readaccountconf_mutable HUAWEICLOUD_
Username
)
}
"
# Check information
if
[
-z
"
${
HUAWEICLOUD_Username
}
"
]
||
[
-z
"
${
HUAWEICLOUD_Password
}
"
]
||
[
-z
"
${
HUAWEICLOUD_
ProjectID
}
"
]
;
then
if
[
-z
"
${
HUAWEICLOUD_Username
}
"
]
||
[
-z
"
${
HUAWEICLOUD_Password
}
"
]
||
[
-z
"
${
HUAWEICLOUD_
DomainName
}
"
]
;
then
_err
"Not enough information provided to dns_huaweicloud!"
return
1
fi
unset
token
# Clear token
token
=
"
$(
_get_token
"
${
HUAWEICLOUD_Username
}
"
"
${
HUAWEICLOUD_Password
}
"
"
${
HUAWEICLOUD_
ProjectID
}
"
)
"
token
=
"
$(
_get_token
"
${
HUAWEICLOUD_Username
}
"
"
${
HUAWEICLOUD_Password
}
"
"
${
HUAWEICLOUD_
DomainName
}
"
)
"
if
[
-z
"
${
token
}
"
]
;
then
# Check token
_err
"dns_api(dns_huaweicloud): Error getting token."
return
1
...
...
@@ -56,7 +58,7 @@ dns_huaweicloud_add() {
# Do saving work if all succeeded
_saveaccountconf_mutable HUAWEICLOUD_Username
"
${
HUAWEICLOUD_Username
}
"
_saveaccountconf_mutable HUAWEICLOUD_Password
"
${
HUAWEICLOUD_Password
}
"
_saveaccountconf_mutable HUAWEICLOUD_
ProjectID
"
${
HUAWEICLOUD_
ProjectID
}
"
_saveaccountconf_mutable HUAWEICLOUD_
DomainName
"
${
HUAWEICLOUD_
DomainName
}
"
return
0
}
...
...
@@ -72,16 +74,16 @@ dns_huaweicloud_rm() {
HUAWEICLOUD_Username
=
"
${
HUAWEICLOUD_Username
:-
$(
_readaccountconf_mutable HUAWEICLOUD_Username
)
}
"
HUAWEICLOUD_Password
=
"
${
HUAWEICLOUD_Password
:-
$(
_readaccountconf_mutable HUAWEICLOUD_Password
)
}
"
HUAWEICLOUD_
ProjectID
=
"
${
HUAWEICLOUD_
ProjectID
:-
$(
_readaccountconf_mutable HUAWEICLOUD_
ProjectID
)
}
"
HUAWEICLOUD_
DomainName
=
"
${
HUAWEICLOUD_
DomainName
:-
$(
_readaccountconf_mutable HUAWEICLOUD_
Username
)
}
"
# Check information
if
[
-z
"
${
HUAWEICLOUD_Username
}
"
]
||
[
-z
"
${
HUAWEICLOUD_Password
}
"
]
||
[
-z
"
${
HUAWEICLOUD_
ProjectID
}
"
]
;
then
if
[
-z
"
${
HUAWEICLOUD_Username
}
"
]
||
[
-z
"
${
HUAWEICLOUD_Password
}
"
]
||
[
-z
"
${
HUAWEICLOUD_
DomainName
}
"
]
;
then
_err
"Not enough information provided to dns_huaweicloud!"
return
1
fi
unset
token
# Clear token
token
=
"
$(
_get_token
"
${
HUAWEICLOUD_Username
}
"
"
${
HUAWEICLOUD_Password
}
"
"
${
HUAWEICLOUD_
ProjectID
}
"
)
"
token
=
"
$(
_get_token
"
${
HUAWEICLOUD_Username
}
"
"
${
HUAWEICLOUD_Password
}
"
"
${
HUAWEICLOUD_
DomainName
}
"
)
"
if
[
-z
"
${
token
}
"
]
;
then
# Check token
_err
"dns_api(dns_huaweicloud): Error getting token."
return
1
...
...
@@ -253,7 +255,7 @@ _rm_record() {
_get_token
()
{
_username
=
$1
_password
=
$2
_
project
=
$3
_
domain_name
=
$3
_debug
"Getting Token"
body
=
"{
...
...
@@ -267,14 +269,14 @@ _get_token() {
\"
name
\"
:
\"
${
_username
}
\"
,
\"
password
\"
:
\"
${
_password
}
\"
,
\"
domain
\"
: {
\"
name
\"
:
\"
${
_
user
name
}
\"
\"
name
\"
:
\"
${
_
domain_
name
}
\"
}
}
}
},
\"
scope
\"
: {
\"
project
\"
: {
\"
id
\"
:
\"
${
_project
}
\"
\"
name
\"
:
\"
ap-southeast-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