From 60a1ec1ce95d5a7c355b55910aa7c4fe0cf05280 Mon Sep 17 00:00:00 2001 From: jay Date: Thu, 2 Jun 2022 02:03:07 +0800 Subject: [PATCH] dns_huaweicloud consider about IAM user --- dnsapi/dns_huaweicloud.sh | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/dnsapi/dns_huaweicloud.sh b/dnsapi/dns_huaweicloud.sh index ac3ede65..dc0498a0 100644 --- a/dnsapi/dns_huaweicloud.sh +++ b/dnsapi/dns_huaweicloud.sh @@ -3,6 +3,7 @@ # HUAWEICLOUD_Username # HUAWEICLOUD_Password # HUAWEICLOUD_ProjectID +# HUAWEICOLUD_Domain iam_api="https://iam.myhuaweicloud.com" dns_api="https://dns.ap-southeast-1.myhuaweicloud.com" # Should work @@ -22,6 +23,7 @@ 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_Domain="${HUAWEICLOUD_Domain:-$(_readaccountconf_mutable HUAWEICLOUD_Domain)}" # Check information if [ -z "${HUAWEICLOUD_Username}" ] || [ -z "${HUAWEICLOUD_Password}" ] || [ -z "${HUAWEICLOUD_ProjectID}" ]; then @@ -29,8 +31,13 @@ dns_huaweicloud_add() { return 1 fi + # Consider about IAM user + if [ -z "${HUAWEICLOUD_Domain}" ]; then + HUAWEICLOUD_Domain="${HUAWEICLOUD_Username}" + fi + unset token # Clear token - token="$(_get_token "${HUAWEICLOUD_Username}" "${HUAWEICLOUD_Password}" "${HUAWEICLOUD_ProjectID}")" + token="$(_get_token "${HUAWEICLOUD_Username}" "${HUAWEICLOUD_Password}" "${HUAWEICLOUD_ProjectID}" "${HUAWEICLOUD_Domain}")" if [ -z "${token}" ]; then # Check token _err "dns_api(dns_huaweicloud): Error getting token." return 1 @@ -57,6 +64,7 @@ dns_huaweicloud_add() { _saveaccountconf_mutable HUAWEICLOUD_Username "${HUAWEICLOUD_Username}" _saveaccountconf_mutable HUAWEICLOUD_Password "${HUAWEICLOUD_Password}" _saveaccountconf_mutable HUAWEICLOUD_ProjectID "${HUAWEICLOUD_ProjectID}" + _saveaccountconf_mutable HUAWEICOLUD_Domain "${HUAWEICOLUD_Domain}" return 0 } @@ -81,7 +89,7 @@ dns_huaweicloud_rm() { fi unset token # Clear token - token="$(_get_token "${HUAWEICLOUD_Username}" "${HUAWEICLOUD_Password}" "${HUAWEICLOUD_ProjectID}")" + token="$(_get_token "${HUAWEICLOUD_Username}" "${HUAWEICLOUD_Password}" "${HUAWEICLOUD_ProjectID} "${HUAWEICLOUD_Domain}")" if [ -z "${token}" ]; then # Check token _err "dns_api(dns_huaweicloud): Error getting token." return 1 @@ -254,6 +262,7 @@ _get_token() { _username=$1 _password=$2 _project=$3 + _domain=$4 _debug "Getting Token" body="{ @@ -267,7 +276,7 @@ _get_token() { \"name\": \"${_username}\", \"password\": \"${_password}\", \"domain\": { - \"name\": \"${_username}\" + \"name\": \"${_domain}\" } } }