code: def search_rule(self, search):
          
          result = self.make_request(
              resource='search_rule',
              params={'filter': search})
          
          if result:
              results = []
              for data in result:
                  typeof = data.get('type')
                  if 'ethernet' in typeof:
                      klazz = lookup_class('ethernet_rule')
                  elif typeof in [
                      'ips_ipv4_access_rule', 'l2_interface_ipv4_access_rule']:
                      klazz = lookup_class('layer2_ipv4_access_rule')
                  else:
                      klazz = lookup_class(typeof)
                  results.append(klazz(**data))
              return results
          return []
docs: Search a rule for a rule tag or name value
          Result will be the meta data for rule (name, href, type)
  
          Searching for a rule in specific policy::
  
              f = FirewallPolicy(policy)
              search = f.search_rule(searchable)
  
          :param str search: search string
          :return: rule elements matching criteria
          :rtype: list(Element)