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("googlecloud: %v", err)
  	}
  
  	// Look for existing records.
  	existingRrSet, err := d.findTxtRecords(zone, fqdn)
  	if err != nil {
  		return fmt.Errorf("googlecloud: %v", err)
  	}
  
  	for _, rrSet := range existingRrSet {
  		var rrd []string
  		for _, rr := range rrSet.Rrdatas {
  			data := mustUnquote(rr)
  			rrd = append(rrd, data)
  
  			if data == value {
  				log.Printf("skip: the record already exists: %s", value)
  				return nil
  			}
  		}
  		rrSet.Rrdatas = rrd
  	}
  
  	// Attempt to delete the existing records before adding the new one.
  	if len(existingRrSet) > 0 {
  		if err = d.applyChanges(zone, &dns.Change{Deletions: existingRrSet}); err != nil {
  			return fmt.Errorf("googlecloud: %v", err)
  		}
  	}
  
  	rec := &dns.ResourceRecordSet{
  		Name:    fqdn,
  		Rrdatas: []string{value},
  		Ttl:     int64(d.config.TTL),
  		Type:    "TXT",
  	}
  
  	// Append existing TXT record data to the new TXT record data
  	for _, rrSet := range existingRrSet {
  		for _, rr := range rrSet.Rrdatas {
  			if rr != value {
  				rec.Rrdatas = append(rec.Rrdatas, rr)
  			}
  		}
  	}
  
  	change := &dns.Change{
  		Additions: []*dns.ResourceRecordSet{rec},
  	}
  
  	if err = d.applyChanges(zone, change); err != nil {
  		return fmt.Errorf("googlecloud: %v", err)
  	}
  
  	return nil
  }
docs: // Present creates a TXT record to fulfill the dns-01 challenge.