# snmpa_conf

### MODULE

snmpa_conf

### MODULE SUMMARY

Utility functions for handling the agent config files.

### DESCRIPTION

The module `snmpa_conf` contains various utility functions to used for manipulating (write/append/read) the config files of the SNMP agent.

### EXPORTS

`agent_entry(Tag, Val) -> agent_entry()`

Types:

`Tag = intAgentIpAddress | intAgentUDPPort intAgentMaxPacketSize | snmpEngineMaxMessageSize | snmpEngineID`
`Val = term()`
`agent_entry() = term()`

Create an entry for the agent config file, `agent.conf`.

The type of `Val` depends on the value of `Tag`, see Agent Information for more info.

`write_agent_config(Dir, Conf) -> ok`
`write_agent_config(Dir, Hdr, Conf) -> ok`

Types:

`Dir = string()`
`Hdr = string()`
`Conf = [agent_entry()]`

Write the agent config to the agent config file.

`Dir` is the path to the directory where to store the config file.

`Hdr` is an optional file header (note that this text is written to the file as is).

See Agent Information for more info.

`append_agent_config(Dir, Conf) -> ok`

Types:

`Dir = string()`
`Conf = [agent_entry()]`

Append the config to the current agent config file.

`Dir` is the path to the directory where to store the config file.

See Agent Information for more info.

`read_agent_config(Dir) -> Conf`

Types:

`Dir = string()`
`Conf = [agent_entry()]`

Read the current agent config file.

`Dir` is the path to the directory where to store the config file.

See Agent Information for more info.

`standard_entry(Tag, Val) -> standard_entry()`

Types:

`Tag = sysDescr | sysObjectID | sysContact | sysName | sysLocation | sysServices | snmpEnableAuthenTraps`
`Val = term()`
`standard_entry() = term()`

Create an entry for the agent standard config file, `standard.conf`.

The type of `Val` depends on the value of `Tag`, see System Information for more info.

`write_standard_config(Dir, Conf) -> ok`
`write_standard_config(Dir, Hdr, Conf) -> ok`

Types:

`Dir = string()`
`Hdr = string()`
`Conf = [standard_entry()]`

Write the agent standard config to the agent standard config file.

`Dir` is the path to the directory where to store the config file.

`Hdr` is an optional file header (note that this text is written to the file as is).

See System Information for more info.

`append_standard_config(Dir, Conf) -> ok`

Types:

`Dir = string()`
`Conf = [standard_entry()]`

Append the standard config to the current agent standard config file.

`Dir` is the path to the directory where to store the config file.

See System Information for more info.

`read_standard_config(Dir) -> Conf`

Types:

`Dir = string()`
`Conf = [standard_entry()]`

Read the current agent standard config file.

`Dir` is the path to the directory where to store the config file.

See System Information for more info.

`context_entry(Context) -> context_entry()`

Types:

`Context = string()`
`context_entry() = term()`

Create an entry for the agent context config file, `context.conf`.

See Contexts for more info.

`write_context_config(Dir, Conf) -> ok`
`write_context_config(Dir, Hdr, Conf) -> ok`

Types:

`Dir = string()`
`Hdr = string()`
`Conf = [context_entry()]`

Write the agent context config to the agent context config file.

`Dir` is the path to the directory where to store the config file.

`Hdr` is an optional file header (note that this text is written to the file as is).

See Contexts for more info.

`append_context_config(Dir, Conf) -> ok`

Types:

`Dir = string()`
`Conf = [context_entry()]`

Append the context config to the current agent context config file.

`Dir` is the path to the directory where to store the config file.

See Contexts for more info.

`read_context_config(Dir) -> Conf`

Types:

`Dir = string()`
`Conf = [context_entry()]`

Read the current agent context config file.

`Dir` is the path to the directory where to store the config file.

See Contexts for more info.

`community_entry(CommunityIndex) -> community_entry()`
`community_entry(CommunityIndex, CommunityName, SecName, ContextName, TransportTag) -> community_entry()`

Types:

`CommunityIndex = string()`
`CommunityName = string()`
`SecName = string()`
`CtxName = string()`
`TransportTag = string()`
`community_entry() = term()`

Create an entry for the agent community config file, `community.conf`.

`CommunityIndex` must be a non-empty string.

`community_entry("public")` translates to the following call: `community_entry(CommunityIndex, CommunityIndex, "initial", "", "")`.

`community_entry("all-rights")` translates to the following call: `community_entry(CommunityIndex, CommunityIndex, CommunityIndex, "", "")`.

See Community for more info.

`write_community_config(Dir, Conf) -> ok`
`write_community_config(Dir, Hdr, Conf) -> ok`

Types:

`Dir = string()`
`Hdr = string()`
`Conf = [community_entry()]`

Write the agent community config to the agent community config file.

`Dir` is the path to the directory where to store the config file.

`Hdr` is an optional file header (note that this text is written to the file as is).

See Community for more info.

`append_community_config(Dir, Conf) -> ok`

Types:

`Dir = string()`
`Conf = [community_entry()]`

Append the community config to the current agent community config file.

`Dir` is the path to the directory where to store the config file.

See Community for more info.

`read_community_config(Dir) -> Conf`

Types:

`Dir = string()`
`Conf = [community_entry()]`

Read the current agent community config file.

`Dir` is the path to the directory where to store the config file.

See Communities for more info.

`target_addr_entry(Name, Ip, TagList, ParamsName, EngineId) -> target_addr_entry()`
`target_addr_entry(Name, Ip, TagList, ParamsName, EngineId, TMask) -> target_addr_entry()`
`target_addr_entry(Name, Ip, Udp, TagList, ParamsName, EngineId, TMask, MaxMessageSize) -> target_addr_entry()`
`target_addr_entry(Name, Ip, Udp, Timeout, RetryCount, TagList, ParamsName, EngineId, TMask, MaxMessageSize) -> target_addr_entry()`

Types:

`Name = string()`
`Ip = string()`
`Udp = integer()`
`Timeout = integer()`
`RetryCount = integer()`
`TagList = string()`
`ParamsName = string()`
`EngineId = string()`
`TMask = string()`
`MaxMessageSize = integer()`
`target_addr_entry() = term()`

Create an entry for the agent target_addr config file, `target_addr.conf`.

`Name` must be a non-empty string.

`target_addr_entry/5` translates to the following call: `target_addr_entry(Name, Ip, TagList, ParamsName, EngineId)`.

`target_addr_entry/6` translates to the following call: `target_addr_entry(Name, Ip, 162, TagList, ParamsName, EngineId, TMask, 2048)`.

`target_addr_entry/8` translates to the following call: `target_addr_entry(Name, Ip, Udp, 1500, 3, TagList, ParamsName, EngineId, TMask, MaxMessageSize)`.

See Target Address Definitions for more info.

`write_target_addr_config(Dir, Conf) -> ok`
`write_target_addr_config(Dir, Hdr, Conf) -> ok`

Types:

`Dir = string()`
`Hdr = string()`
`Conf = [target_addr_entry()]`

Write the agent target_addr config to the agent target_addr config file.

`Dir` is the path to the directory where to store the config file.

`Hdr` is an optional file header (note that this text is written to the file as is).

See Target Address Definitions for more info.

`append_target_addr_config(Dir, Conf) -> ok`

Types:

`Dir = string()`
`Conf = [target_addr_entry()]`

Append the target_addr config to the current agent target_addr config file.

`Dir` is the path to the directory where to store the config file.

See Target Address Definitions for more info.

`read_target_addr_config(Dir) -> Conf`

Types:

`Dir = string()`
`Conf = [target_addr_entry()]`

Read the current agent target_addr config file.

`Dir` is the path to the directory where to store the config file.

See Target Address Definitions for more info.

`target_params_entry(Name, Vsn) -> target_params_entry()`
`target_params_entry(Name, Vsn, SecName, SecLevel) -> target_params_entry()`
`target_params_entry(Name, MPModel, SecModel, SecName, SecLevel) -> target_params_entry()`

Types:

`Name = string()`
`Vsn = v1 | v2 | v3`
`MPModel = v1 | v2c | v3`
`SecModel = v1 | v2c | usm`
`SecName = string()`
`SecLevel = noAuthNoPriv | authNoPriv | authPriv`
`target_params_entry() = term()`

Create an entry for the agent target_params config file, `target_params.conf`.

`Name` must be a non-empty string.

`Vsn` translates into `MPModel` and `SecModel` as followes:

              Vsn = v1 => MPModel = v1,  SecModel = v1
              Vsn = v2 => MPModel = v2c, SecModel = v2c
              Vsn = v3 => MPModel = v3,  SecModel = usm

`target_params_entry/2` translates to the following call: `target_params_entry(Name, Vsn, "initial", noAuthNoPriv)`.

`target_params_entry/4` translates to the following call: `target_params_entry(Name, MPModel, SecModel, SecName, SecLevel)` where `MPModel` and `SecModel` is mapped from `Vsn`, see above.

See Target Parameters Definitions for more info.

`write_target_params_config(Dir, Conf) -> ok`
`write_target_params_config(Dir, Hdr, Conf) -> ok`

Types:

`Dir = string()`
`Hdr = string()`
`Conf = [target_params_entry()]`

Write the agent target_params config to the agent target_params config file.

`Dir` is the path to the directory where to store the config file.

`Hdr` is an optional file header (note that this text is written to the file as is).

See Target Parameters Definitions for more info.

`append_target_params_config(Dir, Conf) -> ok`

Types:

`Dir = string()`
`Conf = [target_params_entry()]`

Append the target_params config to the current agent target_params config file.

`Dir` is the path to the directory where to store the config file.

See Target Parameters Definitions for more info.

`read_target_params_config(Dir) -> Conf`

Types:

`Dir = string()`
`Conf = [target_params_entry()]`

Read the current agent target_params config file.

`Dir` is the path to the directory where to store the config file.

See Target Parameters Definitions for more info.

`vacm_s2g_entry(SecModel, SecName, GroupName) -> vacm_s2g_entry()`
`vacm_acc_entry(GroupName, Prefix, SecModel, SecLevel, Match, ReadView, WriteView, NotifyView) -> vacm_acc_entry()`
`vacm_vtf_entry(ViewIndex, ViewSubtree) -> vacm_vtf_entry()`
`vacm_vtf_entry(ViewIndex, ViewSubtree, ViewStatus, ViewMask) -> vacm_vtf_entry()`

Types:

`SecModel = v1 | v2c | usm`
`SecName = string()`
`GroupName = string()`
`Prefix = string()`
`SecLevel = noAuthNoPriv | authNoPriv | authPriv`
`Match = prefix | exact`
`ReadView = string()`
`WriteView = string()`
`NotifyView = string()`
`ViewIndex = integer()`
`ViewSubtree = [integer()]`
`ViewStatus = included | excluded`
`ViewMask = null | [zero_or_one()]`
`zero_or_one() = 0 | 1`
`vacm_s2g_entry() = term()`
`vacm_acc_entry() = term()`
`vacm_vtf_entry() = term()`

Create an entry for the agent vacm config file, `vacm.conf`.

`vacm_vtf_entry/2` translates to the following call: `vacm_vtf_entry(ViewIndex, ViewSubtree, included, null)`.

See MIB Views for VACM for more info.

`write_vacm_config(Dir, Conf) -> ok`
`write_vacm_config(Dir, Hdr, Conf) -> ok`

Types:

`Dir = string()`
`Hdr = string()`
`Conf = [vacm_entry()]`
`vacm_entry() = vacm_sg2_entry() | vacm_acc_entry() | vacm_vtf_entry()`

Write the agent vacm config to the agent vacm config file.

`Dir` is the path to the directory where to store the config file.

`Hdr` is an optional file header (note that this text is written to the file as is).

See MIB Views for VACM for more info.

`append_vacm_config(Dir, Conf) -> ok`

Types:

`Dir = string()`
`Conf = [vacm_entry()]`

Append the vacm config to the current agent vacm config file.

`Dir` is the path to the directory where to store the config file.

See MIB Views for VACM for more info.

`read_vacm_config(Dir) -> Conf`

Types:

`Dir = string()`
`Conf = [vacm_entry()]`

Read the current agent vacm config file.

`Dir` is the path to the directory where to store the config file.

See MIB Views for VACM for more info.

`usm_entry(EngineId) -> usm_entry()`
`usm_entry(EngineID, UserName, SecName, Clone, AuthP, AuthKeyC, OwnAuthKeyC, PrivP, PrivKeyC, OwnPrivKeyC, Public, AuthKey, PrivKey) -> usm_entry()`

Types:

`EngineId = string()`
`UserName = string()`
`SecName = string()`
`Clone = zeroDotZero | [integer()]`
`AuthP = usmNoAuthProtocol | usmHMACMD5AuthProtocol, | usmHMACSHAAuthProtocol`
`AuthKeyC = string()`
`OwnAuthKeyC = string()`
`PrivP = usmNoPrivProtocol | usmDESPrivProtocol | usmAesCfb128Protocol`
`PrivKeyC = string()`
`OwnPrivKeyC = string()`
`Public = string()`
`AuthKey = [integer()]`
`PrivKey = [integer()]`
`usm_entry() = term()`

Create an entry for the agent vacm config file, `vacm.conf`.

`usm_entry/1` translates to the following call: `usm_entry("initial", "initial", zeroDotZero, usmNoAuthProtocol, "", "", usmNoPrivProtocol, "", "", "", "", "")`.

See Security data for USM for more info.

`write_usm_config(Dir, Conf) -> ok`
`write_usm_config(Dir, Hdr, Conf) -> ok`

Types:

`Dir = string()`
`Hdr = string()`
`Conf = [usm_entry()]`

Write the agent usm config to the agent usm config file.

`Dir` is the path to the directory where to store the config file.

`Hdr` is an optional file header (note that this text is written to the file as is).

See Security data for USM for more info.

`append_usm_config(Dir, Conf) -> ok`

Types:

`Dir = string()`
`Conf = [usm_entry()]`

Append the usm config to the current agent vacm config file.

`Dir` is the path to the directory where to store the config file.

See Security data for USM for more info.

`read_usm_config(Dir) -> Conf`

Types:

`Dir = string()`
`Conf = [usm_entry()]`

Read the current agent usm config file.

`Dir` is the path to the directory where to store the config file.

See Security data for USM for more info.

`notify_entry(Name, Tag, Type) -> notify_entry()`

Types:

`Name = string()`
`Tag = string()`
`Type = trap | inform`
`community_entry() = term()`

Create an entry for the agent notify config file, `notify.conf`.

`Name` must be a non-empty string.

See Notify Definitions for more info.

`write_notify_config(Dir, Conf) -> ok`
`write_notify_config(Dir, Hdr, Conf) -> ok`

Types:

`Dir = string()`
`Hdr = string()`
`Conf = [notify_entry()]`

Write the agent notify config to the agent notify config file.

`Dir` is the path to the directory where to store the config file.

`Hdr` is an optional file header (note that this text is written to the file as is).

See Notify Definitions for more info.

`append_notify_config(Dir, Conf) -> ok`

Types:

`Dir = string()`
`Conf = [notify_entry()]`

Append the notify config to the current agent notify config file.

`Dir` is the path to the directory where to store the config file.

See Notify Definitions for more info.

`read_notify_config(Dir) -> Conf`

Types:

`Dir = string()`
`Conf = [community_entry()]`

Read the current agent notify config file.

`Dir` is the path to the directory where to store the config file.

See Notify Definitions for more info.

### AUTHORS

Micael Karlberg - support@erlang.ericsson.se

snmp 4.9.3
Copyright © 1991-2007 Ericsson AB