.. versionadded:: 2019.2.0

    Execute a list of arbitrary Netmiko methods, passing the authentication
    details from the existing NAPALM connection.

    methods
        List of dictionaries with the following keys:

        - ``name``: the name of the Netmiko function to invoke.
        - ``args``: list of arguments to send to the ``name`` method.
        - ``kwargs``: key-value arguments to send to the ``name`` method.


    CLI Example:

    .. code-block:: bash

        salt '*' napalm.netmiko_multi_call "{'name': 'send_command', 'args': ['show version']}" "{'name': 'send_command', 'args': ['show interfaces']}"

def netmiko_multi_call(*methods, **kwargs):
    '''
    .. versionadded:: 2019.2.0

    Execute a list of arbitrary Netmiko methods, passing the authentication
    details from the existing NAPALM connection.

    methods
        List of dictionaries with the following keys:

        - ``name``: the name of the Netmiko function to invoke.
        - ``args``: list of arguments to send to the ``name`` method.
        - ``kwargs``: key-value arguments to send to the ``name`` method.


    CLI Example:

    .. code-block:: bash

        salt '*' napalm.netmiko_multi_call "{'name': 'send_command', 'args': ['show version']}" "{'name': 'send_command', 'args': ['show interfaces']}"
    '''
    netmiko_kwargs = netmiko_args()
    kwargs.update(netmiko_kwargs)
    return __salt__['netmiko.multi_call'](*methods, **kwargs)