def item_show(item, item_id=None, item_type=None, show='show', extra_args=None, cibfile=None):
    '''
    Show an item via pcs command
    (mainly for use with the pcs state module)

    item
        config, property, resource, constraint etc.
    item_id
        id of the item
    item_type
        item type
    show
        show command (probably None, default: show)
    extra_args
        additional options for the pcs command
    cibfile
        use cibfile instead of the live CIB
    '''
    cmd = ['pcs']

    if isinstance(cibfile, six.string_types):
        cmd += ['-f', cibfile]

    if isinstance(item, six.string_types):
        cmd += [item]
    elif isinstance(item, (list, tuple)):
        cmd += item

    # constraint command follows a different order
    if item in ['constraint']:
        cmd += [item_type]

    if isinstance(show, six.string_types):
        cmd += [show]
    elif isinstance(show, (list, tuple)):
        cmd += show

    if isinstance(item_id, six.string_types):
        cmd += [item_id]

    if isinstance(extra_args, (list, tuple)):
        cmd += extra_args

    # constraint command only shows id, when using '--full'-parameter
    if item in ['constraint']:
        if not isinstance(extra_args, (list, tuple)) or '--full' not in extra_args:
            cmd += ['--full']

    return __salt__['cmd.run_all'](cmd, output_loglevel='trace', python_shell=False)