Update README.md
This commit is contained in:
parent
b688e3d965
commit
68de6308ca
17
README.md
17
README.md
|
@ -10,6 +10,8 @@
|
||||||
|
|
||||||
## 依赖
|
## 依赖
|
||||||
|
|
||||||
|
* bash
|
||||||
|
* coreutils
|
||||||
* curl
|
* curl
|
||||||
* openssl
|
* openssl
|
||||||
|
|
||||||
|
@ -23,21 +25,25 @@
|
||||||
2. 导入 `AliyunOpenApiSDK.sh`
|
2. 导入 `AliyunOpenApiSDK.sh`
|
||||||
3. 调用 `aliapi_rpc` 函数
|
3. 调用 `aliapi_rpc` 函数
|
||||||
|
|
||||||
函数签名:`aliapi_rpc(host, http_method, api_version, api_action, api_custom_key[], api_custom_value[]): JsonResult | ErrorCode`
|
函数签名:
|
||||||
|
```
|
||||||
|
aliapi_rpc(host, http_method, api_version, api_action, api_custom_key[], api_custom_value[]): JsonResult | ErrorCode
|
||||||
|
```
|
||||||
|
|
||||||
**示例:**
|
**示例:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# 导出 AliAccessKeyId 和 AliAccessKeySecret
|
# 导出 AliAccessKeyId 和 AliAccessKeySecret
|
||||||
export AliAccessKeyId="<AliAccessKeyId>"
|
export AliAccessKeyId="<AliAccessKeyId>"
|
||||||
export AliAccessKeySecret="<AliAccessKeySecret>"
|
export AliAccessKeySecret="<AliAccessKeySecret>"
|
||||||
# 导入 SDK
|
# 导入 SDK
|
||||||
. AliyunOpenApiSDK.sh
|
source AliyunOpenApiSDK.sh
|
||||||
|
|
||||||
# 自定义请求参数的键值数组顺序要一一对应,数组成员不能包含空格。
|
# 自定义请求参数的键值数组顺序要一一对应,数组成员不能包含空格。
|
||||||
# 自定义值支持自定义函数,如果你需要包含空格或者读取文件等操作,可以声明一个自定义函数,像下面这样。
|
# 自定义值支持自定义函数,如果你需要包含空格或者读取文件等操作,可以声明一个自定义函数,像下面这样。
|
||||||
# 如果自定义值数组成员以 () 结尾,SDK 在获取值的时候会判断自定义函数是否存在并执行,如果不存在则取原始值。
|
# 如果自定义值数组成员以 () 结尾,SDK 在获取值的时候会判断自定义函数是否存在并执行,如果不存在则使用原始值。
|
||||||
|
|
||||||
get_show_size() {
|
get_show_size() {
|
||||||
echo 50
|
echo 50
|
||||||
|
@ -51,18 +57,17 @@ api_custom_key=(
|
||||||
# 自定义请求参数的值
|
# 自定义请求参数的值
|
||||||
api_custom_value=(
|
api_custom_value=(
|
||||||
"1"
|
"1"
|
||||||
"get_show_size()" # 这个值会在解析的时候执行函数获取
|
"get_show_size()" # 解析参数时会执行函数 (所以最后提交的值是 50)
|
||||||
)
|
)
|
||||||
# 获取 SSL 证书列表:https://help.aliyun.com/document_detail/126511.html
|
# 获取 SSL 证书列表:https://help.aliyun.com/document_detail/126511.html
|
||||||
aliapi_rpc "cas.aliyuncs.com" "GET" "2018-07-13" "DescribeUserCertificateList" "${api_custom_key[*]}" "${api_custom_value[*]}"
|
aliapi_rpc "cas.aliyuncs.com" "GET" "2018-07-13" "DescribeUserCertificateList" "${api_custom_key[*]}" "${api_custom_value[*]}"
|
||||||
# $? (返回代码) 等于 0 (HTTP 状态码 == 200) 代表执行成功
|
# $? (返回代码) 等于 0 (HTTP 状态码 == 200) 代表执行成功
|
||||||
# 执行成功返回 JSON 数据,执行失败返回 HTTP 状态码或 curl 的错误代码。
|
# 执行成功返回 JSON 数据,执行失败返回 HTTP 状态码或 curl 的错误代码 ($?)。
|
||||||
if [[ $? -eq 0 ]]; then
|
if [[ $? -eq 0 ]]; then
|
||||||
# 执行成功
|
# 执行成功
|
||||||
else
|
else
|
||||||
# 执行失败
|
# 执行失败
|
||||||
fi
|
fi
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
更多示例请参考 `example` 下的文件
|
更多示例请参考 `example` 下的文件
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
export AliAccessKeyId="<AliAccessKeyId>"
|
export AliAccessKeyId="<AliAccessKeyId>"
|
||||||
export AliAccessKeySecret="<AliAccessKeySecret>"
|
export AliAccessKeySecret="<AliAccessKeySecret>"
|
||||||
# shellcheck disable=SC1091
|
# shellcheck disable=SC1091
|
||||||
. ../AliyunOpenApiSDK.sh
|
source ../AliyunOpenApiSDK.sh
|
||||||
|
|
||||||
# acme.sh 执行 renewHook 时导出的环境变量列表
|
# acme.sh 执行 renewHook 时导出的环境变量列表
|
||||||
ACME_ENV_LIST=(
|
ACME_ENV_LIST=(
|
||||||
|
@ -22,21 +22,22 @@ ACME_ENV_LIST=(
|
||||||
)
|
)
|
||||||
# 检查环境变量是否存在
|
# 检查环境变量是否存在
|
||||||
for value in "${ACME_ENV_LIST[@]}" ; do
|
for value in "${ACME_ENV_LIST[@]}" ; do
|
||||||
printenv "$value" > /dev/null || exit 1
|
declare -p "$value" &>/dev/null || exit 1
|
||||||
done
|
done
|
||||||
unset value
|
unset value
|
||||||
|
|
||||||
# 获取证书自定义函数
|
# 获取证书自定义函数
|
||||||
get_cert() {
|
get_cert() {
|
||||||
# 使用 sed 删除掉证书文件的空行
|
# 使用 sed 删除掉证书文件的空行
|
||||||
sed -e "/^$/d" "$(printenv CERT_FULLCHAIN_PATH)"
|
sed -e "/^$/d" "$CERT_FULLCHAIN_PATH"
|
||||||
}
|
}
|
||||||
# 获取密钥自定义函数
|
# 获取密钥自定义函数
|
||||||
get_key() {
|
get_key() {
|
||||||
cat "$(printenv CERT_KEY_PATH)"
|
cat "$CERT_KEY_PATH"
|
||||||
}
|
}
|
||||||
|
|
||||||
DOMAIN=$(printenv Le_Domain)
|
# shellcheck disable=SC2154
|
||||||
|
DOMAIN=$Le_Domain
|
||||||
# 证书名称
|
# 证书名称
|
||||||
CERT_NAME="${DOMAIN}-$(date +%s)"
|
CERT_NAME="${DOMAIN}-$(date +%s)"
|
||||||
# 需要更新证书的 CDN 域名列表
|
# 需要更新证书的 CDN 域名列表
|
||||||
|
@ -55,7 +56,7 @@ api_custom_value=(
|
||||||
# 获取证书列表
|
# 获取证书列表
|
||||||
result=$(aliapi_rpc "cas.aliyuncs.com" "GET" "2018-07-13" "DescribeUserCertificateList" "${api_custom_key[*]}" "${api_custom_value[*]}" || exit 101)
|
result=$(aliapi_rpc "cas.aliyuncs.com" "GET" "2018-07-13" "DescribeUserCertificateList" "${api_custom_key[*]}" "${api_custom_value[*]}" || exit 101)
|
||||||
# 使用 jq 处理返回的 JSON 数据并提取出匹配当前证书域名的证书列表的 ID,用于稍后的删除旧证书操作。
|
# 使用 jq 处理返回的 JSON 数据并提取出匹配当前证书域名的证书列表的 ID,用于稍后的删除旧证书操作。
|
||||||
cert_list=$(echo "$result" | jq -cr ".CertificateList|map(select(.common == \"${DOMAIN}\"))|map(.id)|.[]")
|
cert_list=$(jq -cr ".CertificateList|map(select(.common == \"${DOMAIN}\"))|map(.id)|.[]" <<< "$result")
|
||||||
|
|
||||||
api_custom_key=(
|
api_custom_key=(
|
||||||
"Cert"
|
"Cert"
|
||||||
|
|
Loading…
Reference in New Issue