docs: def delete(table, chain=None, position=None, rule=None, family='ipv4'):
      '''
      Delete a rule from the specified table/chain, specifying either the rule
          in its entirety, or the rule's position in the chain.
  
      This function accepts a rule in a standard iptables command format,
          starting with the chain. Trying to force users to adapt to a new
          method of creating rules would be irritating at best, and we
          already have a parser that can handle it.
  
      CLI Examples:
  
      .. code-block:: bash
  
          salt '*' iptables.delete filter INPUT position=3
          salt '*' iptables.delete filter INPUT \\
              rule='-m state --state RELATED,ESTABLISHED -j ACCEPT'
  
          IPv6:
          salt '*' iptables.delete filter INPUT position=3 family=ipv6
          salt '*' iptables.delete filter INPUT \\
              rule='-m state --state RELATED,ESTABLISHED -j ACCEPT' \\
              family=ipv6
      '''
  
      if position and rule:
          return 'Error: Only specify a position or a rule, not both'
  
      if position:
          rule = position
  
      wait = '--wait' if _has_option('--wait', family) else ''
      cmd = '{0} {1} -t {2} -D {3} {4}'.format(
              _iptables_cmd(family), wait, table, chain, rule)
      out = __salt__['cmd.run'](cmd)
      return out