.. versionadded:: 2019.2.0

    Installs the given image on the device.

    path
        The image file source. This argument supports the following URIs:

        - Absolute path on the Minion.
        - ``salt://`` to fetch from the Salt fileserver.
        - ``http://`` and ``https://``
        - ``ftp://``
        - ``swift:/``
        - ``s3://``

    dev_timeout: ``30``
        The NETCONF RPC timeout (in seconds)

    reboot: ``False``
        Whether to reboot the device after the installation is complete.

    no_copy: ``False``
        If ``True`` the software package will not be copied to the remote
        device.

    CLI Example:

    .. code-block:: bash

        salt '*' napalm.junos_install_os salt://images/junos_16_1.tgz reboot=True

def junos_install_os(path=None, **kwargs):
    '''
    .. versionadded:: 2019.2.0

    Installs the given image on the device.

    path
        The image file source. This argument supports the following URIs:

        - Absolute path on the Minion.
        - ``salt://`` to fetch from the Salt fileserver.
        - ``http://`` and ``https://``
        - ``ftp://``
        - ``swift:/``
        - ``s3://``

    dev_timeout: ``30``
        The NETCONF RPC timeout (in seconds)

    reboot: ``False``
        Whether to reboot the device after the installation is complete.

    no_copy: ``False``
        If ``True`` the software package will not be copied to the remote
        device.

    CLI Example:

    .. code-block:: bash

        salt '*' napalm.junos_install_os salt://images/junos_16_1.tgz reboot=True
    '''
    prep = _junos_prep_fun(napalm_device)  # pylint: disable=undefined-variable
    if not prep['result']:
        return prep
    return __salt__['junos.install_os'](path=path, **kwargs)