.. versionadded:: 2019.2.0

    Transform Cisco IOS style configuration to structured Python dictionary.
    Depending on the value of the ``with_tags`` argument, this function may
    provide different views, valuable in different situations.

    source: ``running``
        The configuration type to retrieve from the network device. Default:
        ``running``. Available options: ``running``, ``startup``, ``candidate``.

    with_tags: ``False``
        Whether this function should return a detailed view, with tags.

    CLI Example:

    .. code-block:: bash

        salt '*' napalm.config_tree

def config_tree(source='running', with_tags=False):
    '''
    .. versionadded:: 2019.2.0

    Transform Cisco IOS style configuration to structured Python dictionary.
    Depending on the value of the ``with_tags`` argument, this function may
    provide different views, valuable in different situations.

    source: ``running``
        The configuration type to retrieve from the network device. Default:
        ``running``. Available options: ``running``, ``startup``, ``candidate``.

    with_tags: ``False``
        Whether this function should return a detailed view, with tags.

    CLI Example:

    .. code-block:: bash

        salt '*' napalm.config_tree
    '''
    config_txt = __salt__['net.config'](source=source)['out'][source]
    return __salt__['iosconfig.tree'](config=config_txt)