code: func (c *Client) UpdateWAFRuleStatus(i *UpdateWAFRuleStatusInput) (WAFRuleStatus, error) {
  	if err := i.validate(); err != nil {
  		return WAFRuleStatus{}, err
  	}
  
  	path := fmt.Sprintf("/service/%s/wafs/%s/rules/%d/rule_status", i.Service, i.WAF, i.RuleID)
  
  	var buf bytes.Buffer
  	err := jsonapi.MarshalPayload(&buf, i)
  	if err != nil {
  		return WAFRuleStatus{}, err
  	}
  
  	options := &RequestOptions{
  		Body: &buf,
  		Headers: map[string]string{
  			"Content-Type": jsonapi.MediaType,
  			"Accept":       jsonapi.MediaType,
  		},
  	}
  
  	resp, err := c.Patch(path, options)
  	if err != nil {
  		return WAFRuleStatus{}, err
  	}
  
  	var status WAFRuleStatus
  	err = jsonapi.UnmarshalPayload(resp.Body, &status)
  	return status, err
  }
docs: // UpdateWAFRuleStatus changes the status of a single rule associated with a WAF.