# salt.modules.napalm_snmp

## NAPALM SNMP

Manages SNMP on network devices.

codeauthor:

  Mircea Ulinic <ping@mirceaulinic.net>

maturity:

  new

depends:

  napalm

platform:

  unix

### Dependencies

- `NAPALM proxy minion`

- `NET basic features`

See also

`SNMP configuration management state`

New in version 2016.11.0.

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

  Returns the SNMP configuration

  CLI Example:

      salt '*' snmp.config

salt.modules.napalm_snmp.remove_config(chassis_id=None, community=None, contact=None, location=None, test=False, commit=True, **kwargs)

  Removes a configuration element from the SNMP configuration.

  Parameters:

    - chassis_id -- (optional) Chassis ID

    - community -- (optional) A dictionary having the following optional keys:

  - acl (if any policy / ACL need to be set)

  - mode: rw or ro. Default: ro

  Parameters:

    - contact -- Contact details

    - location -- Location

    - 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.

  Returns:

    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 '*' snmp.remove_config community='abcd'

salt.modules.napalm_snmp.update_config(chassis_id=None, community=None, contact=None, location=None, test=False, commit=True, **kwargs)

  Updates the SNMP configuration.

  Parameters:

    - chassis_id -- (optional) Chassis ID

    - community -- (optional) A dictionary having the following optional keys:

  - acl (if any policy / ACL need to be set)

  - mode: rw or ro. Default: ro

  Parameters:

    - contact -- Contact details

    - location -- Location

    - 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 'edge01.lon01' snmp.update_config location="Greenwich, UK" test=True

  Output example (for the CLI example above):

      edge01.lon01:
          ----------
          already_configured:
              False
          comment:
              Configuration discarded.
          diff:
              [edit snmp]
              -  location "London, UK";
              +  location "Greenwich, UK";
          result:
              True