salt.modules.napalm_snmp module

NAPALM SNMP

Manages SNMP on network devices.

codeauthor:Mircea Ulinic <mircea@cloudflare.com>
maturity:new
depends:napalm
platform:unix

Dependencies

New in version 2016.11.0.

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

Returns the SNMP configuration

CLI Example:

salt '*' snmp.config
salt.modules.napalm_snmp.remove_config(*args, **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
  • contact -- Contact details
  • location -- Location
  • test -- Dry run? If set as True, will apply the config, discard and return the changes. Default: False

and will commit the changes on the device. :param 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 '*' snmp.remove_config community='abcd'
salt.modules.napalm_snmp.update_config(*args, **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
  • contact -- Contact details
  • location -- Location
  • test -- Dry run? If set as True, will apply the config, discard and return the changes. Default: False

and will commit the changes on the device. :param 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