尝试删除NS和SOA时,Google Cloud DNS invalidZoneApex

时间:2016-04-18 19:43:52

标签: google-cloud-dns

使用DNS API我尝试删除NSSOA记录,但收到此消息:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "invalidZoneApex",
    "message": "The resource record set 'entity.change.deletions[0]' is invalid because a zone must contain exactly one resource record set of type 'SOA' at the apex."
   },
   {
    "domain": "global",
    "reason": "invalidZoneApex",
    "message": "The resource record set 'entity.change.deletions[1]' is invalid because a zone must contain exactly one resource record set of type 'NS' at the apex."
   }
  ],
  "code": 400,
  "message": "The resource record set 'entity.change.deletions[0]' is invalid because a zone must contain exactly one resource record set of type 'SOA' at the apex."
 }
}

通过谷歌网络控制台,我可以更新/修改记录,这有助于我添加自定义NSSOA,以便我可以使用自己的虚荣名。

除此之外,如果我想添加新的NSSOA,我会收到 alreadyexists 错误。

如何通过DNS API完全操纵区域?

1 个答案:

答案 0 :(得分:1)

您无法删除NS和SOA记录,因为它们是系统管理的并且是DNS规范所要求的 - 错误消息基本上就是这样。您无法添加新的一个,因为您只能以特定名称拥有一个特定类型的RRSet。

通常,您可以通过在同一事务中删除并重新添加来替换记录集。也就是说,在Changes.create次呼叫中拥有deletionsadditions。我不确定您是否可以随意为NS和SOA类型执行此操作,但如果它在云控制台中有效,则它将在API上工作,因为控制台只进行正常的API调用。