mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2024-05-11 05:55:12 +00:00
all converted
This commit is contained in:
@ -106,6 +106,8 @@ func New(cfg map[string]string, metadata json.RawMessage) (providers.DNSServiceP
|
||||
client: dcli,
|
||||
nameServerSet: nss,
|
||||
project: cfg["project_id"],
|
||||
oldRRsMap: map[string]map[key]*gdns.ResourceRecordSet{},
|
||||
zoneNameMap: map[string]string{},
|
||||
}
|
||||
return g, g.loadZoneInfo()
|
||||
}
|
||||
@ -192,6 +194,10 @@ func (g *gcloudProvider) getZoneSets(domain string) (models.Records, map[key]*gd
|
||||
existingRecords = append(existingRecords, rt)
|
||||
}
|
||||
}
|
||||
|
||||
g.oldRRsMap[domain] = oldRRs
|
||||
g.zoneNameMap[domain] = zoneName
|
||||
|
||||
return existingRecords, oldRRs, zoneName, err
|
||||
}
|
||||
|
||||
@ -200,11 +206,12 @@ func (g *gcloudProvider) GetDomainCorrections(dc *models.DomainConfig) ([]*model
|
||||
return nil, fmt.Errorf("punycode error: %w", err)
|
||||
}
|
||||
existingRecords, oldRRs, zoneName, err := g.getZoneSets(dc.Name)
|
||||
_, _ = oldRRs, zoneName
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("getzonesets error: %w", err)
|
||||
}
|
||||
g.oldRRsMap[dc.Name] = oldRRs
|
||||
g.zoneNameMap[dc.Name] = zoneName
|
||||
//g.oldRRsMap[dc.Name] = oldRRs
|
||||
//g.zoneNameMap[dc.Name] = zoneName
|
||||
|
||||
// Normalize
|
||||
models.PostProcessRecords(existingRecords)
|
||||
|
@ -50,10 +50,17 @@ func (api *rwthProvider) GetDomainCorrections(dc *models.DomainConfig) ([]*model
|
||||
}
|
||||
// Normalize
|
||||
models.PostProcessRecords(existingRecords)
|
||||
|
||||
return api.GetZoneRecordsCorrections(dc, existingRecords)
|
||||
}
|
||||
|
||||
func (api *rwthProvider) GetZoneRecordsCorrections(dc *models.DomainConfig, existingRecords models.Records) ([]*models.Correction, error) {
|
||||
txtutil.SplitSingleLongTxt(dc.Records) // Autosplit long TXT records
|
||||
domain := dc.Name
|
||||
|
||||
var corrections []*models.Correction
|
||||
var create, del, modify diff.Changeset
|
||||
var err error
|
||||
if !diff2.EnableDiff2 {
|
||||
differ := diff.New(dc)
|
||||
_, create, del, modify, err = differ.IncrementalDiff(existingRecords)
|
||||
|
@ -70,13 +70,20 @@ func (s *softlayerProvider) GetZoneRecords(domain string) (models.Records, error
|
||||
func (s *softlayerProvider) GetDomainCorrections(dc *models.DomainConfig) ([]*models.Correction, error) {
|
||||
|
||||
domain, err := s.getDomain(&dc.Name)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
actual, err := s.getExistingRecords(domain)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return s.GetZoneRecordsCorrections(dc, actual)
|
||||
}
|
||||
|
||||
func (s *softlayerProvider) GetZoneRecordsCorrections(dc *models.DomainConfig, actual models.Records) ([]*models.Correction, error) {
|
||||
domain, err := s.getDomain(&dc.Name)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -119,6 +126,8 @@ func (s *softlayerProvider) GetDomainCorrections(dc *models.DomainConfig) ([]*mo
|
||||
}
|
||||
|
||||
func (s *softlayerProvider) getDomain(name *string) (*datatypes.Dns_Domain, error) {
|
||||
// FIXME(tlim) Memoize this
|
||||
|
||||
domains, err := services.GetAccountService(s.Session).
|
||||
Filter(filter.Path("domains.name").Eq(name).Build()).
|
||||
Mask("resourceRecords").
|
||||
|
@ -104,10 +104,15 @@ func (n *transipProvider) GetDomainCorrections(dc *models.DomainConfig) ([]*mode
|
||||
return nil, err
|
||||
}
|
||||
|
||||
removeOtherNS(dc)
|
||||
|
||||
models.PostProcessRecords(curRecords)
|
||||
|
||||
return n.GetZoneRecordsCorrections(dc, curRecords)
|
||||
}
|
||||
|
||||
func (n *transipProvider) GetZoneRecordsCorrections(dc *models.DomainConfig, curRecords models.Records) ([]*models.Correction, error) {
|
||||
|
||||
removeOtherNS(dc)
|
||||
|
||||
var corrections []*models.Correction
|
||||
if !diff2.EnableDiff2 || true { // Remove "|| true" when diff2 version arrives
|
||||
|
||||
|
@ -110,8 +110,20 @@ func (api *vultrProvider) GetZoneRecords(domain string) (models.Records, error)
|
||||
|
||||
// GetDomainCorrections gets the corrections for a DomainConfig.
|
||||
func (api *vultrProvider) GetDomainCorrections(dc *models.DomainConfig) ([]*models.Correction, error) {
|
||||
curRecords, err := api.GetZoneRecords(dc.Name)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
models.PostProcessRecords(curRecords)
|
||||
|
||||
dc.Punycode()
|
||||
|
||||
return api.GetZoneRecordsCorrections(dc, curRecords)
|
||||
}
|
||||
|
||||
func (api *vultrProvider) GetZoneRecordsCorrections(dc *models.DomainConfig, curRecords models.Records) ([]*models.Correction, error) {
|
||||
|
||||
for _, rec := range dc.Records {
|
||||
switch rec.Type { // #rtype_variations
|
||||
case "ALIAS", "MX", "NS", "CNAME", "PTR", "SRV", "URL", "URL301", "FRAME", "R53_ALIAS", "NS1_URLFWD", "AKAMAICDN", "CLOUDNS_WR":
|
||||
@ -126,13 +138,6 @@ func (api *vultrProvider) GetDomainCorrections(dc *models.DomainConfig) ([]*mode
|
||||
}
|
||||
}
|
||||
|
||||
curRecords, err := api.GetZoneRecords(dc.Name)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
models.PostProcessRecords(curRecords)
|
||||
|
||||
var corrections []*models.Correction
|
||||
if !diff2.EnableDiff2 {
|
||||
differ := diff.New(dc)
|
||||
|
Reference in New Issue
Block a user