# salt.modules.napalm_users

## NAPALM Users

Manages the configuration of the users on network devices.

codeauthor:

  Mircea Ulinic <ping@mirceaulinic.net>

maturity:

  new

depends:

  napalm

platform:

  unix

### Dependencies

- `NAPALM proxy minion`

See also

`Users management state`

New in version 2016.11.0.

salt.modules.napalm_users.config(**kwargs)

  Returns the configuration of the users on the device

  CLI Example:

      salt '*' users.config

  Output example:

      {
          'mircea': {
              'level': 15,
              'password': '$1$0P70xKPa$4jt5/10cBTckk6I/w/',
              'sshkeys': [
                  'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4pFn+shPwTb2yELO4L7NtQrKOJXNeCl1je                    l9STXVaGnRAnuc2PXl35vnWmcUq6YbUEcgUTRzzXfmelJKuVJTJIlMXii7h2xkbQp0YZIEs4P                    8ipwnRBAxFfk/ZcDsN3mjep4/yjN56ejk345jhk345jk345jk341p3A/9LIL7l6YewLBCwJj6                    D+fWSJ0/YW+7oH17Fk2HH+tw0L5PcWLHkwA4t60iXn16qDbIk/ze6jv2hDGdCdz7oYQeCE55C                    CHOHMJWYfN3jcL4s0qv8/u6Ka1FVkV7iMmro7ChThoV/5snI4Ljf2wKqgHH7TfNaCfpU0WvHA                    nTs8zhOrGScSrtb mircea@master-roshi'
              ]
          }
      }

salt.modules.napalm_users.delete_users(users, test=False, commit=True, **kwargs)

  Removes users from the configuration of network devices.

  Parameters:

    - users -- Dictionary formatted as the output of the function config()

    - test -- Dry run? If set as True, will apply the config, discard and return the changes. Default: False

    - commit -- Commit? (default: True) Sometimes it is not needed to commit the config immediately after loading the changes. E.g.: a state loads a couple of parts (add / remove / update) and would not be optimal to commit after each operation. Also, from the CLI when the user needs to apply the similar changes before committing, can specify commit=False and will not discard the config.

  Raises:

    MergeConfigException -- If there is an error on the configuration sent.

  Return a dictionary having the following keys:

    - result (bool): if the config was applied successfully. It is False only in case of failure. In case there are no changes to be applied and successfully performs all operations it is still True and so will be the already_configured flag (example below)

    - comment (str): a message for the user

    - already_configured (bool): flag to check if there were no changes applied

    - diff (str): returns the config changes applied

  CLI Example:

      salt '*' users.delete_users "{'mircea': {}}"

salt.modules.napalm_users.set_users(users, test=False, commit=True, **kwargs)

  Configures users on network devices.

  Parameters:

    - users -- Dictionary formatted as the output of the function config()

    - test -- Dry run? If set as True, will apply the config, discard and return the changes. Default: False

    - commit -- Commit? (default: True) Sometimes it is not needed to commit the config immediately after loading the changes. E.g.: a state loads a couple of parts (add / remove / update) and would not be optimal to commit after each operation. Also, from the CLI when the user needs to apply the similar changes before committing, can specify commit=False and will not discard the config.

  Raises:

    MergeConfigException -- If there is an error on the configuration sent.

  Return a dictionary having the following keys:

  - result (bool): if the config was applied successfully. It is False only in case of failure. In case there are no changes to be applied and successfully performs all operations it is still True and so will be the already_configured flag (example below)

  - comment (str): a message for the user

  - already_configured (bool): flag to check if there were no changes applied

  - diff (str): returns the config changes applied

  CLI Example:

      salt '*' users.set_users "{'mircea': {}}"