code: func (sg SecurityGroup) RuleByID(ruleID UUID) (*IngressRule, *EgressRule) {
  	for i, in := range sg.IngressRule {
  		if in.RuleID.Equal(ruleID) {
  			return &sg.IngressRule[i], nil
  		}
  	}
  
  	for i, out := range sg.EgressRule {
  		if out.RuleID.Equal(ruleID) {
  			return nil, &sg.EgressRule[i]
  		}
  	}
  
  	return nil, nil
  }
docs: // RuleByID returns IngressRule or EgressRule by a rule ID