# snmp_user_based_sm_mib

### MODULE

snmp_user_based_sm_mib

### MODULE SUMMARY

Instrumentation Functions for SNMP-USER-BASED-SM-MIB

### DESCRIPTION

The module `snmp_user_based_sm_mib` implements the instrumentation functions for the SNMP-USER-BASED-SM-MIB, and functions for configuring the database.

The configuration files are described in the SNMP User's Manual.

### EXPORTS

`configure(ConfDir) -> void()`

Types:

`ConfDir = string()`

This function is called from the supervisor at system start-up.

Inserts all data in the configuration files into the database and destroys all old rows with StorageType `volatile`. The rows created from the configuration file will have StorageType `nonVolatile`.

All `snmp` counters are set to zero.

If an error is found in the configuration file, it is reported using the function `config_err/2` of the error report module, and the function fails with the reason `configuration_error`.

`ConfDir` is a string which points to the directory where the configuration files are found.

The configuration file read is: `usm.conf`.

`reconfigure(ConfDir) -> void()`

Types:

`ConfDir = string()`

Inserts all data in the configuration files into the database and destroys all old data, including the rows with StorageType `nonVolatile`. The rows created from the configuration file will have StorageType `nonVolatile`.

Thus, the data in the SNMP-USER-BASED-SM-MIB, after this function has been called, is the data from the configuration files.

All `snmp` counters are set to zero.

If an error is found in the configuration file, it is reported using the function `config_err/2` of the error report module, and the function fails with the reason `configuration_error`.

`ConfDir` is a string which points to the directory where the configuration files are found.

The configuration file read is: `usm.conf`.

`add_user(EngineID, Name, SecName, Clone, AuthP, AuthKeyC, OwnAuthKeyC, PrivP, PrivKeyC, OwnPrivKeyC, Public, AuthKey, PrivKey) -> Ret`

Types:

`EngineID = string()`
`Name = string()`
`SecName = string()`
`Clone = zeroDotZero | [integer()]`
`AuthP = usmNoAuthProtocol | usmHMACMD5AuthProtocol | usmHMACSHAAuthProtocol`
`AuthKeyC = string()`
`OwnAuthKeyC = string()`
`PrivP = usmNoPrivProtocol | usmDESPrivProtocol`
`PrivKeyC = string()`
`OwnPrivKeyC = string()`
`Public = string()`
`AuthKey = string()`
`PrivKey = string()`
`Ret = {ok, Key} | {error, Reason}`
`Key = term()`
`Reason = term()`

Adds a USM security data (user) to the agent config. Equivalent to one line in the `usm.conf` file.

`delete_user(Key) -> Ret`

Types:

`Key = term()`
`Ret = ok | {error, Reason}`
`Reason = term()`

Delete a USM security data (user) from the agent config.

### AUTHORS

Martin Björklund - support@erlang.ericsson.se

snmp 4.7.4
Copyright © 1991-2006 Ericsson AB