使用 gcloud 删除 DNS 条目

Removing DNS entries with gcloud

用gcloud添加DNS记录就可以了

gcloud dns record-sets transaction start -z my-zone
gcloud dns record-sets transaction add -z my-zone --name "some_domain.com" --ttl 0 --type TXT "test"
gcloud dns record-sets transaction execute -z my-zone

但是当我尝试删除该条目时

gcloud dns record-sets transaction start -z my-zone
gcloud dns record-sets transaction remove -z my-zone --name "some_domain.com" --ttl 300 --type TXT "test"
gcloud dns record-sets transaction execute -z my-zone

我总是遇到这个错误

ERROR: (gcloud.dns.record-sets.transaction.remove) Invalid value for 'parameters.name': 'some_domain.com' (code: 400)

DNS zone file standard 要求完整的域名以尾随“.”结尾。特点。由于这是一个常见错误,其他 gcloud dns ... 命令会自动附加一个尾随“.”。如果用户忘记添加一个域名。但是,这个特定的命令似乎并没有这样做。这将很快得到解决。

同时,要解决此问题,您需要添加尾随“.”。在域名中。所以:

gcloud dns record-sets transaction remove -z my-zone --name "some_domain.com." --ttl 300 --type TXT "test"

或者,您可以使用 import/export,如下所示:

gcloud dns record-sets export -z my-zone RECORDS-FILE

编辑RECORDS-FILE 删除不需要的记录。那么:

gcloud dns record-sets import -z my-zone --delete-all-existing RECORDS-FILE

如果你想清除你创建的所有记录,保留 NSSOA 记录,你可以 /dev/null 作为导入文件:

gcloud dns record-sets import -z my-zone --delete-all-existing /dev/null