code: func (d *DNSProvider) Present(domain, token, keyAuth string) error {
  	fqdn, value := dns01.GetRecord(domain, keyAuth)
  
  	hostedZoneID, err := d.getHostedZoneID(fqdn)
  	if err != nil {
  		return fmt.Errorf("route53: failed to determine hosted zone ID: %v", err)
  	}
  
  	records, err := d.getExistingRecordSets(hostedZoneID, fqdn)
  	if err != nil {
  		return fmt.Errorf("route53: %v", err)
  	}
  
  	realValue := `"` + value + `"`
  
  	var found bool
  	for _, record := range records {
  		if aws.StringValue(record.Value) == realValue {
  			found = true
  		}
  	}
  
  	if !found {
  		records = append(records, &route53.ResourceRecord{Value: aws.String(realValue)})
  	}
  
  	recordSet := &route53.ResourceRecordSet{
  		Name:            aws.String(fqdn),
  		Type:            aws.String("TXT"),
  		TTL:             aws.Int64(int64(d.config.TTL)),
  		ResourceRecords: records,
  	}
  
  	err = d.changeRecord(route53.ChangeActionUpsert, hostedZoneID, recordSet)
  	if err != nil {
  		return fmt.Errorf("route53: %v", err)
  	}
  	return nil
  }
docs: // Present creates a TXT record using the specified parameters