mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2024-09-20 14:56:20 +08:00
ns1: Implement EnsureDomainExists (#1157)
API support is there, let's use it. Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
This commit is contained in:
parent
1ec61c536b
commit
ce9005c7a8
|
@ -19,7 +19,7 @@ var docNotes = providers.DocumentationNotes{
|
||||||
providers.CanUseAlias: providers.Can(),
|
providers.CanUseAlias: providers.Can(),
|
||||||
providers.CanUseCAA: providers.Can(),
|
providers.CanUseCAA: providers.Can(),
|
||||||
providers.CanUsePTR: providers.Can(),
|
providers.CanUsePTR: providers.Can(),
|
||||||
providers.DocCreateDomains: providers.Cannot(),
|
providers.DocCreateDomains: providers.Can(),
|
||||||
providers.DocDualHost: providers.Can(),
|
providers.DocDualHost: providers.Can(),
|
||||||
providers.DocOfficiallySupported: providers.Cannot(),
|
providers.DocOfficiallySupported: providers.Cannot(),
|
||||||
}
|
}
|
||||||
|
@ -44,6 +44,20 @@ func newProvider(creds map[string]string, meta json.RawMessage) (providers.DNSSe
|
||||||
return &nsone{rest.NewClient(http.DefaultClient, rest.SetAPIKey(creds["api_token"]))}, nil
|
return &nsone{rest.NewClient(http.DefaultClient, rest.SetAPIKey(creds["api_token"]))}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (n *nsone) EnsureDomainExists(domain string) error {
|
||||||
|
// This enables the create-domains subcommand
|
||||||
|
|
||||||
|
zone := dns.NewZone(domain)
|
||||||
|
_, err := n.Zones.Create(zone)
|
||||||
|
|
||||||
|
if err == rest.ErrZoneExists {
|
||||||
|
// if domain exists already, just return nil, nothing to do here.
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
func (n *nsone) GetNameservers(domain string) ([]*models.Nameserver, error) {
|
func (n *nsone) GetNameservers(domain string) ([]*models.Nameserver, error) {
|
||||||
z, _, err := n.Zones.Get(domain)
|
z, _, err := n.Zones.Get(domain)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in a new issue