code: func (d *DNSProvider) Present(domain, token, keyAuth string) error {
  	fqdn, value := dns01.GetRecord(domain, keyAuth)
  
  	zone, err := d.getHostedZone(fqdn)
  	if err != nil {
  		return fmt.Errorf("pdns: %v", err)
  	}
  
  	name := fqdn
  
  	// pre-v1 API wants non-fqdn
  	if d.apiVersion == 0 {
  		name = dns01.UnFqdn(fqdn)
  	}
  
  	rec := Record{
  		Content:  "\"" + value + "\"",
  		Disabled: false,
  
  		// pre-v1 API
  		Type: "TXT",
  		Name: name,
  		TTL:  d.config.TTL,
  	}
  
  	// Look for existing records.
  	existingRrSet, err := d.findTxtRecord(fqdn)
  	if err != nil {
  		return fmt.Errorf("pdns: %v", err)
  	}
  
  	// merge the existing and new records
  	var records []Record
  	if existingRrSet != nil {
  		records = existingRrSet.Records
  	}
  	records = append(records, rec)
  
  	rrsets := rrSets{
  		RRSets: []rrSet{
  			{
  				Name:       name,
  				ChangeType: "REPLACE",
  				Type:       "TXT",
  				Kind:       "Master",
  				TTL:        d.config.TTL,
  				Records:    records,
  			},
  		},
  	}
  
  	body, err := json.Marshal(rrsets)
  	if err != nil {
  		return fmt.Errorf("pdns: %v", err)
  	}
  
  	_, err = d.sendRequest(http.MethodPatch, zone.URL, bytes.NewReader(body))
  	if err != nil {
  		return fmt.Errorf("pdns: %v", err)
  	}
  	return nil
  }
docs: // Present creates a TXT record to fulfill the dns-01 challenge