Appearance
$ tccli configure
TencentCloud API secretId [*afcQ]:**************
TencentCloud API secretKey [*ArFd]:**************
region: ap-guangzhou
output[json]:bash
# 在命令行中直接指定secretId和secretKey的值,如查询cvm实例信息:
$ tccli cvm DescribeInstances --secretId AKIDAC1c0A6oIYbMzSjniT2Qi3GG6kFYfbYN --secretKey gFftLdiZVKvNgpmV1VmqgPzOcdR1QvV9
# 返回
{
"TotalCount": 0,
"InstanceSet": [],
"RequestId": "a2dd6f3e-62c9-4074-935d-ba5e2740613a"
}bash
#!/bin/bash
RECORD_FILE="/tmp/_acme-challenge.${CERTBOT_DOMAIN}_${CERTBOT_VALIDATION}"
if ! command -v tccli >/dev/null; then
echo "TCCLI is required: https://cloud.tencent.com/document/product/440" 1>&2
exit 1
fi
if [ "$1" = "clean" ]; then
# 删除 DNS TXT 记录
RECORD_ID=$(cat ${RECORD_FILE})
if [ -n "${RECORD_ID}" ]; then
tccli dnspod DeleteRecord --cli-unfold-argument \
--Domain ${CERTBOT_DOMAIN} \
--RecordId ${RECORD_ID} \
>/dev/null
fi
rm -f ${RECORD_FILE}
else
# 创建 DNS TXT 记录
RECORD_ID=$(
tccli dnspod CreateRecord --cli-unfold-argument \
--Domain ${CERTBOT_DOMAIN} \
--SubDomain _acme-challenge \
--RecordType TXT \
--RecordLine 默认 \
--Value ${CERTBOT_VALIDATION} \
--TTL 600 \
| grep "RecordId" | grep -Eo "[0-9]+"
)
echo ${RECORD_ID} > ${RECORD_FILE}
sleep 20 # 等待 DNS 记录传播
fi