code: func newRecord(ep *endpoint.Endpoint) *dns.ResourceRecordSet {
  	// TODO(linki): works around appending a trailing dot to TXT records. I think
  	// we should go back to storing DNS names with a trailing dot internally. This
  	// way we can use it has is here and trim it off if it exists when necessary.
  	targets := make([]string, len(ep.Targets))
  	copy(targets, []string(ep.Targets))
  	if ep.RecordType == endpoint.RecordTypeCNAME {
  		targets[0] = ensureTrailingDot(targets[0])
  	}
  
  	// no annotation results in a Ttl of 0, default to 300 for backwards-compatability
  	var ttl int64 = googleRecordTTL
  	if ep.RecordTTL.IsConfigured() {
  		ttl = int64(ep.RecordTTL)
  	}
  
  	return &dns.ResourceRecordSet{
  		Name:    ensureTrailingDot(ep.DNSName),
  		Rrdatas: targets,
  		Ttl:     ttl,
  		Type:    ep.RecordType,
  	}
  }
docs: // newRecord returns a RecordSet based on the given endpoint.