code: func (l HostFirewallRulesetList) EnabledByRule(rule types.HostFirewallRule, enabled bool) (HostFirewallRulesetList, error) {
  	var matched, skipped HostFirewallRulesetList
  	var matchedKind, skippedKind string
  
  	l = l.ByRule(rule)
  
  	if enabled {
  		matched = l.Enabled()
  		matchedKind = "enabled"
  
  		skipped = l.Disabled()
  		skippedKind = "disabled"
  	} else {
  		matched = l.Disabled()
  		matchedKind = "disabled"
  
  		skipped = l.Enabled()
  		skippedKind = "enabled"
  	}
  
  	if len(matched) == 0 {
  		msg := fmt.Sprintf("%d %s firewall rulesets match %s %s %s %d, %d %s rulesets match",
  			len(matched), matchedKind,
  			rule.Direction, rule.Protocol, rule.PortType, rule.Port,
  			len(skipped), skippedKind)
  
  		if len(skipped) != 0 {
  			msg += fmt.Sprintf(": %s", strings.Join(skipped.Keys(), ", "))
  		}
  
  		return nil, errors.New(msg)
  	}
  
  	return matched, nil
  }
docs: // EnabledByRule returns a HostFirewallRulesetList with Match(rule) applied and filtered via Enabled()
  // if enabled param is true, otherwise filtered via Disabled().
  // An error is returned if the resulting list is empty.