1
0
mirror of https://github.com/StackExchange/dnscontrol.git synced 2024-05-11 05:55:12 +00:00

all converted

This commit is contained in:
Tom Limoncelli
2023-03-09 08:18:37 -08:00
parent 18e2814a5a
commit 7339402d25
5 changed files with 45 additions and 12 deletions

View File

@ -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)

View File

@ -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)

View File

@ -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").

View File

@ -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

View File

@ -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)