code: func (p *LinodeProvider) Records() ([]*endpoint.Endpoint, error) {
  	zones, err := p.Zones()
  	if err != nil {
  		return nil, err
  	}
  
  	var endpoints []*endpoint.Endpoint
  
  	for _, zone := range zones {
  		records, err := p.fetchRecords(zone.ID)
  		if err != nil {
  			return nil, err
  		}
  
  		for _, r := range records {
  			if supportedRecordType(string(r.Type)) {
  				name := fmt.Sprintf("%s.%s", r.Name, zone.Domain)
  
  				// root name is identified by the empty string and should be
  				// translated to zone name for the endpoint entry.
  				if r.Name == "" {
  					name = zone.Domain
  				}
  
  				endpoints = append(endpoints, endpoint.NewEndpointWithTTL(name, string(r.Type), endpoint.TTL(r.TTLSec), r.Target))
  			}
  		}
  	}
  
  	return endpoints, nil
  }
docs: // Records returns the list of records in a given zone.