code: func (d *DNSProvider) Present(domain, token, keyAuth string) error {
  	fqdn, value := dns01.GetRecord(domain, keyAuth)
  
  	// find authZone
  	authZone, err := dns01.FindZoneByFqdn(fqdn)
  	if err != nil {
  		return fmt.Errorf("glesys: findZoneByFqdn failure: %v", err)
  	}
  
  	// determine name of TXT record
  	if !strings.HasSuffix(
  		strings.ToLower(fqdn), strings.ToLower("."+authZone)) {
  		return fmt.Errorf("glesys: unexpected authZone %s for fqdn %s", authZone, fqdn)
  	}
  	name := fqdn[:len(fqdn)-len("."+authZone)]
  
  	// acquire lock and check there is not a challenge already in
  	// progress for this value of authZone
  	d.inProgressMu.Lock()
  	defer d.inProgressMu.Unlock()
  
  	// add TXT record into authZone
  	recordID, err := d.addTXTRecord(domain, dns01.UnFqdn(authZone), name, value, d.config.TTL)
  	if err != nil {
  		return err
  	}
  
  	// save data necessary for CleanUp
  	d.activeRecords[fqdn] = recordID
  	return nil
  }
docs: // Present creates a TXT record using the specified parameters.