mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2024-05-11 05:55:12 +00:00
new provider module HEXONET (#373)
This commit is contained in:
committed by
Craig Peterson
parent
402fc449e2
commit
3e5d223675
26
providers/hexonet/domains.go
Normal file
26
providers/hexonet/domains.go
Normal file
@@ -0,0 +1,26 @@
|
||||
package hexonet
|
||||
|
||||
//EnsureDomainExists returns an error
|
||||
// * if access to dnszone is not allowed (not authorized) or
|
||||
// * if it doesn't exist and creating it fails
|
||||
func (n *HXClient) EnsureDomainExists(domain string) error {
|
||||
r := n.client.Request(map[string]string{
|
||||
"COMMAND": "StatusDNSZone",
|
||||
"DNSZONE": domain + ".",
|
||||
})
|
||||
code := r.Code()
|
||||
if code == 545 {
|
||||
r = n.client.Request(map[string]string{
|
||||
"COMMAND": "CreateDNSZone",
|
||||
"DNSZONE": domain + ".",
|
||||
})
|
||||
if !r.IsSuccess() {
|
||||
return n.GetHXApiError("Failed to create not existing zone for domain", domain, r)
|
||||
}
|
||||
} else if code == 531 {
|
||||
return n.GetHXApiError("Not authorized to manage dnszone", domain, r)
|
||||
} else if r.IsError() || r.IsError() {
|
||||
return n.GetHXApiError("Error while checking status of dnszone", domain, r)
|
||||
}
|
||||
return nil
|
||||
}
|
Reference in New Issue
Block a user