snmp_view_based_acm_mib(3)

πŸ“¦
version 29.0.6 Β· 3 versions
, in ubuntu stonking

πŸ¦‹ snmp_view_based_acm_mib β€” Erlang Module Definition ✨

okay bestie, pull up a chair, because we're about to talk about snmp_view_based_acm_mib(3) πŸ’– (yes that's the manual page for this Erlang module, we just folded the manual name in like a lil name tag at a party πŸŽ€)


🌸 NAME 🌸

snmp_view_based_acm_mib β€” Instrumentation Functions for SNMP-VIEW-BASED-ACM-MIB πŸ‘‘


✨ DESCRIPTION ✨

So, the module snmp_view_based_acm_mib is the one that implements the instrumentation functions for the SNMP-VIEW-BASED-ACM-MIB, plus a whole bunch of functions for configuring the database. It's giving backstage pass energy β€” it's running the vibes behind the scenes 🌈

The configuration files? Yeah, those are described in the SNMP User's Manual πŸ“– (iykyk, go read it)


πŸŽ€ DATA TYPES πŸŽ€

  • access_notify_view_name() :: snmp_framework_mib:admin_string().
NOTE: "The value of an instance of this object identifies the MIB view of the SNMP context to which this conceptual row authorizes access for notifications."

SnmpAdminString (SIZE(0..32)) πŸ’…

  • access_read_view_name() :: snmp_framework_mib:admin_string().
NOTE: "The value of an instance of this object identifies the MIB view of the SNMP context to which this conceptual row authorizes read access."

SnmpAdminString (SIZE(0..32)) πŸ“–

  • access_write_view_name() :: snmp_framework_mib:admin_string().
NOTE: "The value of an instance of this object identifies the MIB view of the SNMP context to which this conceptual row authorizes write access."

SnmpAdminString (SIZE(0..32)) ✍️

  • context_match() :: exact | prefix.
    • exact β€” exact match of prefix and contextName 🎯
    • prefix β€” Only match to the prefix 🌱

INTEGER { exact (1), prefix (2) }

  • context_prefix() :: snmp_framework_mib:admin_string().

SnmpAdminString (SIZE(0..32)) 🧚

  • group_name() :: snmp_framework_mib:admin_string().
NOTE: "The name of the group to which this entry (e.g., the combination of securityModel and securityName) belongs."

SnmpAdminString (SIZE(1..32)) πŸ‘―

  • internal_view_mask() :: null | [internal_view_mask_element()].
  • internal_view_mask_element() :: 0 | 1.
  • internal_view_type() :: 1 | 2.
  • mibview() :: [{SubTree :: snmp:oid(), Mask :: internal_view_mask(), Type :: internal_view_type()}].
  • security_name() :: snmp_framework_mib:admin_string().
NOTE: "The securityName for the principal, represented in a Security Model independent format."

SnmpAdminString (SIZE(1..32)) πŸ”

  • view_mask() :: [0 | 1].

The bit mask which, in combination with the corresponding instance of vacmViewTreeFamilySubtree, defines a family of view subtrees. πŸ•ΈοΈ

A '1' indicates that an exact match must occur, a '0' indicates 'wild card' (any sub-identifier value matches). πŸƒ

NOTE: Note that in the "external" format, each bit of each octet is represented by a "bit" in this list. That is, each octet "contains" 8 bits; so at most 8*16 = 128 bits in total.

OCTET STRING (SIZE (0..16)) πŸ’€

  • view_name() :: snmp_framework_mib:admin_string().
NOTE: "The human readable name for a family of view subtrees."

SnmpAdminString (SIZE(1..32)) 🏷️

  • view_type() :: included | excluded.

Does the corresponding instances of subtree and mask define a family of view subtrees which are included in or excluded from the MIB view? πŸ€”

INTEGER { included(1), excluded(2) }


πŸ’… FUNCTIONS πŸ’…

🌟 add_access 🌟

add_access(GroupName, Prefix, SecModel, SecLevel, Match, RV, WV,
                NV) ->
                   {ok, Key} | {error, Reason}
                   when
                       GroupName :: group_name(),
                       Prefix :: context_prefix(),
                       SecModel :: snmp_framework_mib:security_model(),
                       SecLevel :: snmp_framework_mib:security_level(),
                       Match :: context_match(),
                       RV :: access_read_view_name(),
                       WV :: access_write_view_name(),
                       NV :: access_notify_view_name(),
                       Key :: term(),
                       Reason :: term().

Adds a access definition to the agent config. Equivalent to one vacmAccess-line in the vacm.conf file. πŸ“


🌟 add_sec2group 🌟

add_sec2group(SecModel, SecName, GroupName) ->
                       {ok, Key} | {error, Reason}
                       when
                           SecModel ::
                               snmp_framework_mib:security_model(),
                           SecName :: security_name(),
                           GroupName :: group_name(),
                           Key :: term(),
                           Reason :: term().

Adds a security to group definition to the agent config. Equivalent to one vacmSecurityToGroup-line in the vacm.conf file. πŸ”—


🌟 add_view_tree_fam 🌟

add_view_tree_fam(ViewName, SubTree, Status, Mask) ->
                           {ok, Key} | {error, Reason}
                           when
                               ViewName :: view_name(),
                               SubTree :: snmp:oid(),
                               Status :: view_type(),
                               Mask :: null | view_mask(),
                               Key :: term(),
                               Reason :: term().

Adds a view tree family definition to the agent config. Equivalent to one vacmViewTreeFamily-line in the vacm.conf file. 🌳


🌟 configure 🌟

configure(ConfDir) -> snmp:void() when 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. 0️⃣

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: vacm.conf.


🌟 delete_access 🌟

delete_access(Key) -> ok | {error, Reason}
                      when Key :: term(), Reason :: term().

Delete a access definition from the agent config. βœ‚οΈ


🌟 delete_sec2group 🌟

delete_sec2group(Key) -> ok | {error, Reason}
                         when Key :: term(), Reason :: term().

Delete a security to group definition from the agent config. βœ‚οΈ


🌟 delete_view_tree_fam 🌟

delete_view_tree_fam(Key) -> ok | {error, Reason}
                             when Key :: term(), Reason :: term().

Delete a view tree family definition from the agent config. βœ‚οΈ


🌟 reconfigure 🌟

reconfigure(ConfDir) -> snmp:void() when 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. πŸ’₯

bestie this one is the aggressive one fr fr β€” it takes out everything old, nonVolatile rows included πŸ™ˆ

Thus, the data in the SNMP-VIEW-BASED-ACM-MIB, after this function has been called, is the data from the configuration files. πŸͺ„

All snmp counters are set to zero. 0️⃣

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: vacm.conf.


and that's the whole page, bestie!! 🫢 this was brought to you by Ericsson AB, snmp 5.20.5, on the snmp_view_based_acm_mib(3) manual page πŸ’– slay, go configure those views, periodt πŸ‘‘πŸŒΈ

πŸ“¦ where this page comes from