code: func (c *Client) ListWAFs(i *ListWAFsInput) ([]*WAF, error) {
  	if i.Service == "" {
  		return nil, ErrMissingService
  	}
  
  	if i.Version == 0 {
  		return nil, ErrMissingVersion
  	}
  
  	path := fmt.Sprintf("/service/%s/version/%d/wafs", i.Service, i.Version)
  	resp, err := c.Get(path, nil)
  	if err != nil {
  		return nil, err
  	}
  
  	data, err := jsonapi.UnmarshalManyPayload(resp.Body, wafType)
  	if err != nil {
  		return nil, err
  	}
  
  	wafs := make([]*WAF, len(data))
  	for i := range data {
  		typed, ok := data[i].(*WAF)
  		if !ok {
  			return nil, fmt.Errorf("got back a non-WAF response")
  		}
  		wafs[i] = typed
  	}
  	return wafs, nil
  }
docs: // ListWAFs returns the list of wafs for the configuration version.