Loads and commits the configuration provided.

    .. code-block:: yaml

            Install the mentioned config:
              junos:
                - install_config
                - path: salt//configs/interface.set
                - timeout: 100
                - diffs_file: 'var/log/diff'


    .. code-block:: yaml

            Install the mentioned config:
              junos:
                - install_config
                - template_path: salt//configs/interface.set
                - timeout: 100
                - template_vars:
                    interface_name: lo0
                    description: Creating interface via SaltStack.


    name
        Path where the configuration/template file is present. If the file has
        a ``*.conf`` extension, the content is treated as text format. If the
        file has a ``*.xml`` extension, the content is treated as XML format. If
        the file has a ``*.set`` extension, the content is treated as Junos OS
        ``set`` commands

    template_vars
      The dictionary of data for the jinja variables present in the jinja
      template

    timeout : 30
      Set NETCONF RPC timeout. Can be used for commands which take a while to
      execute.

    overwrite : False
      Set to ``True`` if you want this file is to completely replace the
       configuration file.

    replace : False
      Specify whether the configuration file uses "replace:" statements.  Only
      those statements under the 'replace' tag will be changed.

    comment
      Provide a comment to the commit. (default = None)

    confirm
      Provide time in minutes for commit confirmation. If this option is
      specified, the commit will be rolled back in the given time unless the
      commit is confirmed.

    diffs_file
      Path to the file where the diff (difference in old configuration and the
      committed configuration) will be stored.

      .. note::
          The file will be stored on the proxy minion. To push the files to the
          master use :py:func:`cp.push <salt.modules.cp.push>`.

def install_config(name, **kwargs):
    '''
    Loads and commits the configuration provided.

    .. code-block:: yaml

            Install the mentioned config:
              junos:
                - install_config
                - path: salt//configs/interface.set
                - timeout: 100
                - diffs_file: 'var/log/diff'


    .. code-block:: yaml

            Install the mentioned config:
              junos:
                - install_config
                - template_path: salt//configs/interface.set
                - timeout: 100
                - template_vars:
                    interface_name: lo0
                    description: Creating interface via SaltStack.


    name
        Path where the configuration/template file is present. If the file has
        a ``*.conf`` extension, the content is treated as text format. If the
        file has a ``*.xml`` extension, the content is treated as XML format. If
        the file has a ``*.set`` extension, the content is treated as Junos OS
        ``set`` commands

    template_vars
      The dictionary of data for the jinja variables present in the jinja
      template

    timeout : 30
      Set NETCONF RPC timeout. Can be used for commands which take a while to
      execute.

    overwrite : False
      Set to ``True`` if you want this file is to completely replace the
       configuration file.

    replace : False
      Specify whether the configuration file uses "replace:" statements.  Only
      those statements under the 'replace' tag will be changed.

    comment
      Provide a comment to the commit. (default = None)

    confirm
      Provide time in minutes for commit confirmation. If this option is
      specified, the commit will be rolled back in the given time unless the
      commit is confirmed.

    diffs_file
      Path to the file where the diff (difference in old configuration and the
      committed configuration) will be stored.

      .. note::
          The file will be stored on the proxy minion. To push the files to the
          master use :py:func:`cp.push <salt.modules.cp.push>`.

    '''
    ret = {'name': name, 'changes': {}, 'result': True, 'comment': ''}
    ret['changes'] = __salt__['junos.install_config'](name, **kwargs)
    return ret