github.com/teknogeek/dnscontrol@v0.2.8/providers/hexonet/domains.go (about) 1 package hexonet 2 3 //EnsureDomainExists returns an error 4 // * if access to dnszone is not allowed (not authorized) or 5 // * if it doesn't exist and creating it fails 6 func (n *HXClient) EnsureDomainExists(domain string) error { 7 r := n.client.Request(map[string]string{ 8 "COMMAND": "StatusDNSZone", 9 "DNSZONE": domain + ".", 10 }) 11 code := r.Code() 12 if code == 545 { 13 r = n.client.Request(map[string]string{ 14 "COMMAND": "CreateDNSZone", 15 "DNSZONE": domain + ".", 16 }) 17 if !r.IsSuccess() { 18 return n.GetHXApiError("Failed to create not existing zone for domain", domain, r) 19 } 20 } else if code == 531 { 21 return n.GetHXApiError("Not authorized to manage dnszone", domain, r) 22 } else if r.IsError() || r.IsError() { 23 return n.GetHXApiError("Error while checking status of dnszone", domain, r) 24 } 25 return nil 26 }