Show filter parameters.

    modifier:
        Modifier to apply for filtering. Only a useful subset of what pfctl supports
        can be used with Salt.

        - rules
        - states
        - tables

    CLI example:

    .. code-block:: bash

        salt '*' pf.show rules

def show(modifier):
    '''
    Show filter parameters.

    modifier:
        Modifier to apply for filtering. Only a useful subset of what pfctl supports
        can be used with Salt.

        - rules
        - states
        - tables

    CLI example:

    .. code-block:: bash

        salt '*' pf.show rules
    '''
    # By definition showing the parameters makes no changes.
    ret = {'changes': False}

    capital_modifiers = ['Tables']
    all_modifiers = ['rules', 'states', 'tables']
    all_modifiers += capital_modifiers
    if modifier.title() in capital_modifiers:
        modifier = modifier.title()

    if modifier not in all_modifiers:
        raise SaltInvocationError('Unknown modifier: {0}'.format(modifier))

    cmd = 'pfctl -s {0}'.format(modifier)
    result = __salt__['cmd.run_all'](cmd,
                                     output_loglevel='trace',
                                     python_shell=False)

    if result['retcode'] == 0:
        ret['comment'] = result['stdout'].split('\n')
    else:
        raise CommandExecutionError(
            'Could not show {0}'.format(modifier),
            info={'errors': [result['stderr']], 'changes': False}
        )

    return ret