code: func (d *DNSProvider) Present(domain, token, keyAuth string) error {
  	fqdn, value := dns01.GetRecord(domain, keyAuth)
  
  	authZone, err := dns01.FindZoneByFqdn(fqdn)
  	if err != nil {
  		return fmt.Errorf("designate: couldn't get zone ID in Present: %v", err)
  	}
  
  	zoneID, err := d.getZoneID(authZone)
  	if err != nil {
  		return fmt.Errorf("designate: %v", err)
  	}
  
  	// use mutex to prevent race condition between creating the record and verifying it
  	d.dnsEntriesMu.Lock()
  	defer d.dnsEntriesMu.Unlock()
  
  	existingRecord, err := d.getRecord(zoneID, fqdn)
  	if err != nil {
  		return fmt.Errorf("designate: %v", err)
  	}
  
  	if existingRecord != nil {
  		if contains(existingRecord.Records, value) {
  			log.Printf("designate: the record already exists: %s", value)
  			return nil
  		}
  
  		return d.updateRecord(existingRecord, value)
  	}
  
  	err = d.createRecord(zoneID, fqdn, value)
  	if err != nil {
  		return fmt.Errorf("designate: %v", err)
  	}
  
  	return nil
  }
docs: // Present creates a TXT record to fulfill the dns-01 challenge