code: func parseDNS(dns *structs.QueryDNSOptions) error {
  	if dns.TTL != "" {
  		ttl, err := time.ParseDuration(dns.TTL)
  		if err != nil {
  			return fmt.Errorf("Bad DNS TTL '%s': %v", dns.TTL, err)
  		}
  
  		if ttl < 0 {
  			return fmt.Errorf("DNS TTL '%d', must be >=0", ttl)
  		}
  	}
  
  	return nil
  }
docs: // parseDNS makes sure the entries of a query are valid for a create or
  // update operation. This also updates all the parsed fields of the query.