@@ -410,7 +410,7 @@ func (m *DNSManager) createRecord(ctx context.Context, dnsName, recordType, reco
410410 return zoneRecord {}, fmt .Errorf ("expected one record, got %d: %v" , len (results ), results )
411411 }
412412
413- return zoneRecord {zone , results [0 ]. RR () }, nil
413+ return zoneRecord {zone , results [0 ]}, nil
414414}
415415
416416// wait blocks until the TXT record created in Present() appears in
@@ -445,12 +445,13 @@ func (m *DNSManager) wait(ctx context.Context, zrec zoneRecord) error {
445445 checkAuthoritativeServers := len (m .Resolvers ) == 0
446446 resolvers := RecursiveNameservers (m .Resolvers )
447447
448+ rr := zrec .record .RR ()
448449 recType := dns .TypeTXT
449- if zrec . record . RR () .Type == "CNAME" {
450+ if rr .Type == "CNAME" {
450451 recType = dns .TypeCNAME
451452 }
452453
453- absName := libdns .AbsoluteName (zrec . record .Name , zrec .zone )
454+ absName := libdns .AbsoluteName (rr .Name , zrec .zone )
454455
455456 var err error
456457 start := time .Now ()
@@ -463,14 +464,14 @@ func (m *DNSManager) wait(ctx context.Context, zrec zoneRecord) error {
463464
464465 logger .Debug ("checking DNS propagation" ,
465466 zap .String ("fqdn" , absName ),
466- zap .String ("record_type" , zrec . record .Type ),
467- zap .String ("expected_data" , zrec . record .Data ),
467+ zap .String ("record_type" , rr .Type ),
468+ zap .String ("expected_data" , rr .Data ),
468469 zap .Strings ("resolvers" , resolvers ))
469470
470471 var ready bool
471- ready , err = checkDNSPropagation (ctx , logger , absName , recType , zrec . record .Data , checkAuthoritativeServers , resolvers )
472+ ready , err = checkDNSPropagation (ctx , logger , absName , recType , rr .Data , checkAuthoritativeServers , resolvers )
472473 if err != nil {
473- return fmt .Errorf ("checking DNS propagation of %q (relative=%s zone=%s resolvers=%v): %w" , absName , zrec . record .Name , zrec .zone , resolvers , err )
474+ return fmt .Errorf ("checking DNS propagation of %q (relative=%s zone=%s resolvers=%v): %w" , absName , rr .Name , zrec .zone , resolvers , err )
474475 }
475476 if ready {
476477 return nil
@@ -482,7 +483,7 @@ func (m *DNSManager) wait(ctx context.Context, zrec zoneRecord) error {
482483
483484type zoneRecord struct {
484485 zone string
485- record libdns.RR
486+ record libdns.Record
486487}
487488
488489// CleanUp deletes the DNS TXT record created in Present().
@@ -506,11 +507,12 @@ func (m *DNSManager) cleanUpRecord(_ context.Context, zrec zoneRecord) error {
506507 ctx , cancel := context .WithTimeout (context .Background (), timeout )
507508 defer cancel ()
508509
510+ rr := zrec .record .RR ()
509511 logger .Debug ("deleting DNS record" ,
510512 zap .String ("zone" , zrec .zone ),
511- zap .String ("record_name" , zrec . record .Name ),
512- zap .String ("record_type" , zrec . record .Type ),
513- zap .String ("record_data" , zrec . record .Data ))
513+ zap .String ("record_name" , rr .Name ),
514+ zap .String ("record_type" , rr .Type ),
515+ zap .String ("record_data" , rr .Data ))
514516
515517 _ , err := m .DNSProvider .DeleteRecords (ctx , zrec .zone , []libdns.Record {zrec .record })
516518 if err != nil {
@@ -552,7 +554,8 @@ func (s *DNSManager) getDNSPresentMemory(dnsName, recType, value string) (dnsPre
552554 var memory dnsPresentMemory
553555 var found bool
554556 for _ , mem := range s .records [dnsName ] {
555- if mem .zoneRec .record .Type == recType && mem .zoneRec .record .Data == value {
557+ rr := mem .zoneRec .record .RR ()
558+ if rr .Type == recType && rr .Data == value {
556559 memory = mem
557560 found = true
558561 break
@@ -570,7 +573,7 @@ func (s *DNSManager) deleteDNSPresentMemory(dnsName, keyAuth string) {
570573 defer s .recordsMu .Unlock ()
571574
572575 for i , mem := range s .records [dnsName ] {
573- if mem .zoneRec .record .Data == keyAuth {
576+ if mem .zoneRec .record .RR (). Data == keyAuth {
574577 s .records [dnsName ] = append (s .records [dnsName ][:i ], s .records [dnsName ][i + 1 :]... )
575578 return
576579 }
0 commit comments