Get detailed information about a snapshot.

    :param str name: The name of the snapshot given during snapshot creation.
    :param str config_path: The path to the configuration file for the aptly instance.
    :param bool with_packages: Return a list of packages in the snapshot.

    :return: A dictionary containing information about the snapshot.
    :rtype: dict

    CLI Example:

    .. code-block:: bash

        salt '*' aptly.get_snapshot name="test-repo"

def get_snapshot(name, config_path=_DEFAULT_CONFIG_PATH, with_packages=False):
    '''
    Get detailed information about a snapshot.

    :param str name: The name of the snapshot given during snapshot creation.
    :param str config_path: The path to the configuration file for the aptly instance.
    :param bool with_packages: Return a list of packages in the snapshot.

    :return: A dictionary containing information about the snapshot.
    :rtype: dict

    CLI Example:

    .. code-block:: bash

        salt '*' aptly.get_snapshot name="test-repo"
    '''
    _validate_config(config_path)

    sources = list()

    cmd = ['snapshot', 'show', '-config={}'.format(config_path),
           '-with-packages={}'.format(str(with_packages).lower()),
           name]

    cmd_ret = _cmd_run(cmd)

    ret = _parse_show_output(cmd_ret=cmd_ret)

    if ret:
        log.debug('Found shapshot: %s', name)
    else:
        log.debug('Unable to find snapshot: %s', name)

    return ret