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,
|
client: dcli,
|
||||||
nameServerSet: nss,
|
nameServerSet: nss,
|
||||||
project: cfg["project_id"],
|
project: cfg["project_id"],
|
||||||
|
oldRRsMap: map[string]map[key]*gdns.ResourceRecordSet{},
|
||||||
|
zoneNameMap: map[string]string{},
|
||||||
}
|
}
|
||||||
return g, g.loadZoneInfo()
|
return g, g.loadZoneInfo()
|
||||||
}
|
}
|
||||||
@ -192,6 +194,10 @@ func (g *gcloudProvider) getZoneSets(domain string) (models.Records, map[key]*gd
|
|||||||
existingRecords = append(existingRecords, rt)
|
existingRecords = append(existingRecords, rt)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
g.oldRRsMap[domain] = oldRRs
|
||||||
|
g.zoneNameMap[domain] = zoneName
|
||||||
|
|
||||||
return existingRecords, oldRRs, zoneName, err
|
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)
|
return nil, fmt.Errorf("punycode error: %w", err)
|
||||||
}
|
}
|
||||||
existingRecords, oldRRs, zoneName, err := g.getZoneSets(dc.Name)
|
existingRecords, oldRRs, zoneName, err := g.getZoneSets(dc.Name)
|
||||||
|
_, _ = oldRRs, zoneName
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("getzonesets error: %w", err)
|
return nil, fmt.Errorf("getzonesets error: %w", err)
|
||||||
}
|
}
|
||||||
g.oldRRsMap[dc.Name] = oldRRs
|
//g.oldRRsMap[dc.Name] = oldRRs
|
||||||
g.zoneNameMap[dc.Name] = zoneName
|
//g.zoneNameMap[dc.Name] = zoneName
|
||||||
|
|
||||||
// Normalize
|
// Normalize
|
||||||
models.PostProcessRecords(existingRecords)
|
models.PostProcessRecords(existingRecords)
|
||||||
|
@ -50,10 +50,17 @@ func (api *rwthProvider) GetDomainCorrections(dc *models.DomainConfig) ([]*model
|
|||||||
}
|
}
|
||||||
// Normalize
|
// Normalize
|
||||||
models.PostProcessRecords(existingRecords)
|
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
|
txtutil.SplitSingleLongTxt(dc.Records) // Autosplit long TXT records
|
||||||
|
domain := dc.Name
|
||||||
|
|
||||||
var corrections []*models.Correction
|
var corrections []*models.Correction
|
||||||
var create, del, modify diff.Changeset
|
var create, del, modify diff.Changeset
|
||||||
|
var err error
|
||||||
if !diff2.EnableDiff2 {
|
if !diff2.EnableDiff2 {
|
||||||
differ := diff.New(dc)
|
differ := diff.New(dc)
|
||||||
_, create, del, modify, err = differ.IncrementalDiff(existingRecords)
|
_, 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) {
|
func (s *softlayerProvider) GetDomainCorrections(dc *models.DomainConfig) ([]*models.Correction, error) {
|
||||||
|
|
||||||
domain, err := s.getDomain(&dc.Name)
|
domain, err := s.getDomain(&dc.Name)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
actual, err := s.getExistingRecords(domain)
|
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 {
|
if err != nil {
|
||||||
return nil, err
|
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) {
|
func (s *softlayerProvider) getDomain(name *string) (*datatypes.Dns_Domain, error) {
|
||||||
|
// FIXME(tlim) Memoize this
|
||||||
|
|
||||||
domains, err := services.GetAccountService(s.Session).
|
domains, err := services.GetAccountService(s.Session).
|
||||||
Filter(filter.Path("domains.name").Eq(name).Build()).
|
Filter(filter.Path("domains.name").Eq(name).Build()).
|
||||||
Mask("resourceRecords").
|
Mask("resourceRecords").
|
||||||
|
@ -104,10 +104,15 @@ func (n *transipProvider) GetDomainCorrections(dc *models.DomainConfig) ([]*mode
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
removeOtherNS(dc)
|
|
||||||
|
|
||||||
models.PostProcessRecords(curRecords)
|
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
|
var corrections []*models.Correction
|
||||||
if !diff2.EnableDiff2 || true { // Remove "|| true" when diff2 version arrives
|
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.
|
// GetDomainCorrections gets the corrections for a DomainConfig.
|
||||||
func (api *vultrProvider) GetDomainCorrections(dc *models.DomainConfig) ([]*models.Correction, error) {
|
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()
|
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 {
|
for _, rec := range dc.Records {
|
||||||
switch rec.Type { // #rtype_variations
|
switch rec.Type { // #rtype_variations
|
||||||
case "ALIAS", "MX", "NS", "CNAME", "PTR", "SRV", "URL", "URL301", "FRAME", "R53_ALIAS", "NS1_URLFWD", "AKAMAICDN", "CLOUDNS_WR":
|
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
|
var corrections []*models.Correction
|
||||||
if !diff2.EnableDiff2 {
|
if !diff2.EnableDiff2 {
|
||||||
differ := diff.New(dc)
|
differ := diff.New(dc)
|
||||||
|
Reference in New Issue
Block a user