Blame mibs/ietf/POLICY-BASED-MANAGEMENT-MIB

Packit 022b05
POLICY-BASED-MANAGEMENT-MIB DEFINITIONS ::= BEGIN
Packit 022b05
IMPORTS
Packit 022b05
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
Packit 022b05
    Counter32, Gauge32, Unsigned32,
Packit 022b05
    mib-2                                       FROM SNMPv2-SMI
Packit 022b05
    RowStatus, RowPointer, TEXTUAL-CONVENTION,
Packit 022b05
    DateAndTime, StorageType                    FROM SNMPv2-TC
Packit 022b05
    MODULE-COMPLIANCE, OBJECT-GROUP,
Packit 022b05
    NOTIFICATION-GROUP                          FROM SNMPv2-CONF
Packit 022b05
    SnmpAdminString                             FROM SNMP-FRAMEWORK-MIB;
Packit 022b05
Packit 022b05
--  Policy-Based Management MIB
Packit 022b05
Packit 022b05
pmMib MODULE-IDENTITY
Packit 022b05
    LAST-UPDATED "200502070000Z"  -- February 7, 2005
Packit 022b05
    ORGANIZATION "IETF SNMP Configuration Working Group"
Packit 022b05
    CONTACT-INFO
Packit 022b05
        "
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
        Steve Waldbusser
Packit 022b05
        Phone: +1-650-948-6500
Packit 022b05
        Fax:   +1-650-745-0671
Packit 022b05
        Email: waldbusser@nextbeacon.com
Packit 022b05
Packit 022b05
        Jon Saperia (WG Co-chair)
Packit 022b05
        JDS Consulting, Inc.
Packit 022b05
        84 Kettell Plain Road.
Packit 022b05
        Stow MA 01775
Packit 022b05
        USA
Packit 022b05
        Phone: +1-978-461-0249
Packit 022b05
        Fax:   +1-617-249-0874
Packit 022b05
        Email: saperia@jdscons.com
Packit 022b05
Packit 022b05
        Thippanna Hongal
Packit 022b05
        Riverstone Networks, Inc.
Packit 022b05
        5200 Great America Parkway
Packit 022b05
        Santa Clara, CA, 95054
Packit 022b05
        USA
Packit 022b05
Packit 022b05
        Phone: +1-408-878-6562
Packit 022b05
        Fax:   +1-408-878-6501
Packit 022b05
        Email: hongal@riverstonenet.com
Packit 022b05
Packit 022b05
        David Partain (WG Co-chair)
Packit 022b05
        Postal: Ericsson AB
Packit 022b05
                P.O. Box 1248
Packit 022b05
                SE-581 12 Linkoping
Packit 022b05
                Sweden
Packit 022b05
        Tel: +46 13 28 41 44
Packit 022b05
        E-mail: David.Partain@ericsson.com
Packit 022b05
Packit 022b05
        Any questions or comments about this document can also be
Packit 022b05
        directed to the working group at snmpconf@snmp.com."
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The MIB module for policy-based configuration of SNMP
Packit 022b05
        infrastructures.
Packit 022b05
Packit 022b05
        Copyright (C) The Internet Society (2005).  This version of
Packit 022b05
        this MIB module is part of RFC 4011; see the RFC itself for
Packit 022b05
        full legal notices."
Packit 022b05
Packit 022b05
    REVISION "200502070000Z"    -- February 7, 2005
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The original version of this MIB, published as RFC4011."
Packit 022b05
    ::= { mib-2 124 }
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
PmUTF8String ::= TEXTUAL-CONVENTION
Packit 022b05
    STATUS       current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An octet string containing information typically in
Packit 022b05
        human-readable form.
Packit 022b05
Packit 022b05
        To facilitate internationalization, this
Packit 022b05
        information is represented by using the ISO/IEC
Packit 022b05
        IS 10646-1 character set, encoded as an octet
Packit 022b05
        string using the UTF-8 transformation format
Packit 022b05
        described in RFC 3629.
Packit 022b05
Packit 022b05
        As additional code points are added by
Packit 022b05
        amendments to the 10646 standard from time
Packit 022b05
        to time, implementations must be prepared to
Packit 022b05
        encounter any code point from 0x00000000 to
Packit 022b05
        0x10FFFF.  Byte sequences that do not
Packit 022b05
        correspond to the valid UTF-8 encoding of a
Packit 022b05
        code point or that are outside this range are
Packit 022b05
        prohibited.
Packit 022b05
Packit 022b05
        The use of control codes should be avoided.
Packit 022b05
Packit 022b05
        When it is necessary to represent a newline,
Packit 022b05
        the control code sequence CR LF should be used.
Packit 022b05
Packit 022b05
        For code points not directly supported by user
Packit 022b05
        interface hardware or software, an alternative
Packit 022b05
        means of entry and display, such as hexadecimal,
Packit 022b05
        may be provided.
Packit 022b05
Packit 022b05
        For information encoded in 7-bit US-ASCII,
Packit 022b05
        the UTF-8 encoding is identical to the
Packit 022b05
        US-ASCII encoding.
Packit 022b05
Packit 022b05
        UTF-8 may require multiple bytes to represent a
Packit 022b05
        single character/code point; thus, the length
Packit 022b05
        of this object in octets may be different from
Packit 022b05
        the number of characters encoded.  Similarly,
Packit 022b05
        size constraints refer to the number of encoded
Packit 022b05
        octets, not the number of characters represented
Packit 022b05
        by an encoding.
Packit 022b05
Packit 022b05
        Note that when this TC is used for an object
Packit 022b05
        used or envisioned to be used as an index, then
Packit 022b05
        a SIZE restriction MUST be specified so that the
Packit 022b05
        number of sub-identifiers for any object instance
Packit 022b05
        does not exceed the limit of 128, as defined by
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
        RFC 3416.
Packit 022b05
Packit 022b05
        Note that the size of PmUTF8String object is
Packit 022b05
        measured in octets, not characters."
Packit 022b05
       SYNTAX       OCTET STRING (SIZE (0..65535))
Packit 022b05
Packit 022b05
-- The policy table
Packit 022b05
Packit 022b05
pmPolicyTable OBJECT-TYPE
Packit 022b05
    SYNTAX      SEQUENCE OF PmPolicyEntry
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The policy table.  A policy is a pairing of a
Packit 022b05
        policyCondition and a policyAction that is used to apply the
Packit 022b05
        action to a selected set of elements."
Packit 022b05
    ::= { pmMib 1 }
Packit 022b05
Packit 022b05
pmPolicyEntry OBJECT-TYPE
Packit 022b05
    SYNTAX      PmPolicyEntry
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An entry in the policy table representing one policy."
Packit 022b05
    INDEX { pmPolicyAdminGroup, pmPolicyIndex }
Packit 022b05
    ::= { pmPolicyTable 1 }
Packit 022b05
Packit 022b05
PmPolicyEntry ::= SEQUENCE {
Packit 022b05
    pmPolicyAdminGroup            PmUTF8String,
Packit 022b05
    pmPolicyIndex                 Unsigned32,
Packit 022b05
    pmPolicyPrecedenceGroup       PmUTF8String,
Packit 022b05
    pmPolicyPrecedence            Unsigned32,
Packit 022b05
    pmPolicySchedule              Unsigned32,
Packit 022b05
    pmPolicyElementTypeFilter     PmUTF8String,
Packit 022b05
    pmPolicyConditionScriptIndex  Unsigned32,
Packit 022b05
    pmPolicyActionScriptIndex     Unsigned32,
Packit 022b05
    pmPolicyParameters            OCTET STRING,
Packit 022b05
    pmPolicyConditionMaxLatency   Unsigned32,
Packit 022b05
    pmPolicyActionMaxLatency      Unsigned32,
Packit 022b05
    pmPolicyMaxIterations         Unsigned32,
Packit 022b05
    pmPolicyDescription           PmUTF8String,
Packit 022b05
    pmPolicyMatches               Gauge32,
Packit 022b05
    pmPolicyAbnormalTerminations  Gauge32,
Packit 022b05
    pmPolicyExecutionErrors       Counter32,
Packit 022b05
    pmPolicyDebugging             INTEGER,
Packit 022b05
    pmPolicyAdminStatus           INTEGER,
Packit 022b05
    pmPolicyStorageType           StorageType,
Packit 022b05
    pmPolicyRowStatus             RowStatus
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
}
Packit 022b05
Packit 022b05
pmPolicyAdminGroup OBJECT-TYPE
Packit 022b05
    SYNTAX      PmUTF8String (SIZE(0..32))
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An administratively assigned string that can be used to group
Packit 022b05
        policies for convenience, for readability, or to simplify
Packit 022b05
        configuration of access control.
Packit 022b05
Packit 022b05
        The value of this string does not affect policy processing in
Packit 022b05
        any way.  If grouping is not desired or necessary, this object
Packit 022b05
        may be set to a zero-length string."
Packit 022b05
    ::= { pmPolicyEntry 1 }
Packit 022b05
Packit 022b05
pmPolicyIndex OBJECT-TYPE
Packit 022b05
    SYNTAX      Unsigned32 (1..4294967295)
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "A unique index for this policy entry, unique among all
Packit 022b05
         policies regardless of administrative group."
Packit 022b05
    ::= { pmPolicyEntry 2 }
Packit 022b05
Packit 022b05
pmPolicyPrecedenceGroup OBJECT-TYPE
Packit 022b05
    SYNTAX      PmUTF8String (SIZE (0..32))
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An administratively assigned string that is used to group
Packit 022b05
        policies.  For each element, only one policy in the same
Packit 022b05
        precedence group may be active on that element.  If multiple
Packit 022b05
        policies would be active on an element (because their
Packit 022b05
        conditions return non-zero), the execution environment will
Packit 022b05
        only allow the policy with the highest value of
Packit 022b05
        pmPolicyPrecedence to be active.
Packit 022b05
Packit 022b05
        All values of this object must have been successfully
Packit 022b05
        transformed by Stringprep RFC 3454.  Management stations
Packit 022b05
        must perform this translation and must only set this object to
Packit 022b05
        string values that have been transformed."
Packit 022b05
    ::= { pmPolicyEntry 3 }
Packit 022b05
Packit 022b05
pmPolicyPrecedence OBJECT-TYPE
Packit 022b05
    SYNTAX      Unsigned32 (0..65535)
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
    DESCRIPTION
Packit 022b05
        "If, while checking to see which policy conditions match an
Packit 022b05
        element, 2 or more ready policies in the same precedence group
Packit 022b05
        match the same element, the pmPolicyPrecedence object provides
Packit 022b05
        the rule to arbitrate which single policy will be active on
Packit 022b05
        'this element'.  Of policies in the same precedence group, only
Packit 022b05
        the ready and matching policy with the highest precedence
Packit 022b05
        value (e.g., 2 is higher than 1) will have its policy action
Packit 022b05
        periodically executed on 'this element'.
Packit 022b05
Packit 022b05
        When a policy is active on an element but the condition ceases
Packit 022b05
        to match the element, its action (if currently running) will
Packit 022b05
        be allowed to finish and then the condition-matching ready
Packit 022b05
        policy with the next-highest precedence will immediately
Packit 022b05
        become active (and have its action run immediately).  If the
Packit 022b05
        condition of a higher-precedence ready policy suddenly begins
Packit 022b05
        matching an element, the previously-active policy's action (if
Packit 022b05
        currently running) will be allowed to finish and then the
Packit 022b05
        higher precedence policy will immediately become active.  Its
Packit 022b05
        action will run immediately, and any lower-precedence matching
Packit 022b05
        policy will not be active anymore.
Packit 022b05
Packit 022b05
        In the case where multiple ready policies share the highest
Packit 022b05
        value, it is an implementation-dependent matter as to which
Packit 022b05
        single policy action will be chosen.
Packit 022b05
Packit 022b05
        Note that if it is necessary to take certain actions after a
Packit 022b05
        policy is no longer active on an element, these actions should
Packit 022b05
        be included in a lower-precedence policy that is in the same
Packit 022b05
        precedence group."
Packit 022b05
    ::= { pmPolicyEntry 4 }
Packit 022b05
Packit 022b05
pmPolicySchedule OBJECT-TYPE
Packit 022b05
    SYNTAX      Unsigned32 (1..4294967295)
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "This policy will be ready if any of the associated schedule
Packit 022b05
         entries are active.
Packit 022b05
Packit 022b05
         If the value of this object is 0, this policy is always
Packit 022b05
         ready.
Packit 022b05
Packit 022b05
         If the value of this object is non-zero but doesn't
Packit 022b05
         refer to a schedule group that includes an active schedule,
Packit 022b05
         then the policy will not be ready, even if this is due to a
Packit 022b05
         misconfiguration of this object or the pmSchedTable."
Packit 022b05
    ::= { pmPolicyEntry 5 }
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
pmPolicyElementTypeFilter OBJECT-TYPE
Packit 022b05
    SYNTAX      PmUTF8String (SIZE (0..128))
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This object specifies the element types for which this policy
Packit 022b05
        can be executed.
Packit 022b05
Packit 022b05
        The format of this object will be a sequence of
Packit 022b05
        pmElementTypeRegOIDPrefix values, encoded in the following
Packit 022b05
        BNF form:
Packit 022b05
Packit 022b05
        elementTypeFilter:   oid [ ';' oid ]*
Packit 022b05
                      oid:   subid [ '.' subid ]*
Packit 022b05
                    subid:   '0' | decimal_constant
Packit 022b05
Packit 022b05
        For example, to register for the policy to be run on all
Packit 022b05
        interface elements, the 'ifEntry' element type will be
Packit 022b05
        registered as '1.3.6.1.2.1.2.2.1'.
Packit 022b05
Packit 022b05
        If a value is included that does not represent a registered
Packit 022b05
        pmElementTypeRegOIDPrefix, then that value will be ignored."
Packit 022b05
    ::= { pmPolicyEntry 6 }
Packit 022b05
Packit 022b05
pmPolicyConditionScriptIndex OBJECT-TYPE
Packit 022b05
    SYNTAX      Unsigned32 (1..4294967295)
Packit 022b05
    MAX-ACCESS  read-only
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "A pointer to the row or rows in the pmPolicyCodeTable that
Packit 022b05
         contain the condition code for this policy.  When a policy
Packit 022b05
         entry is created, a pmPolicyCodeIndex value unused by this
Packit 022b05
         policy's adminGroup will be assigned to this object.
Packit 022b05
Packit 022b05
         A policy condition is one or more PolicyScript statements
Packit 022b05
         that result(s) in a boolean value that represents whether
Packit 022b05
         an element is a member of a set of elements upon which an
Packit 022b05
         action is to be performed.  If a policy is ready and the
Packit 022b05
         condition returns true for an element of a proper element
Packit 022b05
         type, and if no higher-precedence policy should be active,
Packit 022b05
         then the policy is active on that element.
Packit 022b05
Packit 022b05
         Condition evaluation stops immediately when any run-time
Packit 022b05
         exception is detected, and the policyAction is not executed.
Packit 022b05
Packit 022b05
         The policyCondition is evaluated for various elements.  Any
Packit 022b05
         element for which the policyCondition returns any nonzero value
Packit 022b05
         will match the condition and will have the associated
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
         policyAction executed on that element unless a
Packit 022b05
         higher-precedence policy in the same precedence group also
Packit 022b05
         matches 'this element'.
Packit 022b05
Packit 022b05
         If the condition object is empty (contains no code) or
Packit 022b05
         otherwise does not return a value, the element will not be
Packit 022b05
         matched.
Packit 022b05
Packit 022b05
         When this condition is executed, if SNMP requests are made to
Packit 022b05
         the local system and secModel/secName/secLevel aren't
Packit 022b05
         specified, access to objects is under the security
Packit 022b05
         credentials of the requester who most recently modified the
Packit 022b05
         associated pmPolicyAdminStatus object.  If SNMP requests are
Packit 022b05
         made in which secModel/secName/secLevel are specified, then
Packit 022b05
         the specified credentials are retrieved from the local
Packit 022b05
         configuration datastore only if VACM is configured to
Packit 022b05
         allow access to the requester who most recently modified the
Packit 022b05
         associated pmPolicyAdminStatus object.  See the Security
Packit 022b05
         Considerations section for more information."
Packit 022b05
    ::= { pmPolicyEntry 7 }
Packit 022b05
Packit 022b05
pmPolicyActionScriptIndex OBJECT-TYPE
Packit 022b05
    SYNTAX      Unsigned32 (1..4294967295)
Packit 022b05
    MAX-ACCESS  read-only
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "A pointer to the row or rows in the pmPolicyCodeTable that
Packit 022b05
         contain the action code for this policy.  When a policy entry
Packit 022b05
         is created, a pmPolicyCodeIndex value unused by this policy's
Packit 022b05
         adminGroup will be assigned to this object.
Packit 022b05
Packit 022b05
         A PolicyAction is an operation performed on a
Packit 022b05
         set of elements for which the policy is active.
Packit 022b05
Packit 022b05
         Action evaluation stops immediately when any run-time
Packit 022b05
         exception is detected.
Packit 022b05
Packit 022b05
         When this condition is executed, if SNMP requests are made to
Packit 022b05
         the local system and secModel/secName/secLevel aren't
Packit 022b05
         specified, access to objects is under the security
Packit 022b05
         credentials of the requester who most recently modified the
Packit 022b05
         associated pmPolicyAdminStatus object.  If SNMP requests are
Packit 022b05
         made in which secModel/secName/secLevel are specified, then
Packit 022b05
         the specified credentials are retrieved from the local
Packit 022b05
         configuration datastore only if VACM is configured to
Packit 022b05
         allow access to the requester who most recently modified the
Packit 022b05
         associated pmPolicyAdminStatus object.  See the Security
Packit 022b05
         Considerations section for more information."
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
    ::= { pmPolicyEntry 8 }
Packit 022b05
Packit 022b05
pmPolicyParameters OBJECT-TYPE
Packit 022b05
    SYNTAX      OCTET STRING (SIZE (0..65535))
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "From time to time, policy scripts may seek one or more
Packit 022b05
        parameters (e.g., site-specific constants).  These parameters
Packit 022b05
        may be installed with the script in this object and are
Packit 022b05
        accessible to the script via the getParameters() function.  If
Packit 022b05
        it is necessary for multiple parameters to be passed to the
Packit 022b05
        script, the script can choose whatever encoding/delimiting
Packit 022b05
        mechanism is most appropriate."
Packit 022b05
    ::= { pmPolicyEntry 9 }
Packit 022b05
Packit 022b05
pmPolicyConditionMaxLatency OBJECT-TYPE
Packit 022b05
    SYNTAX      Unsigned32 (0..2147483647)
Packit 022b05
    UNITS       "milliseconds"
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "Every element under the control of this agent is
Packit 022b05
        re-checked periodically to see whether it is under control
Packit 022b05
        of this policy by re-running the condition for this policy.
Packit 022b05
        This object lets the manager control the maximum amount of
Packit 022b05
        time that may pass before an element is re-checked.
Packit 022b05
Packit 022b05
        In other words, in any given interval of this duration, all
Packit 022b05
        elements must be re-checked.  Note that how the policy agent
Packit 022b05
        schedules the checking of various elements within this
Packit 022b05
        interval is an implementation-dependent matter.
Packit 022b05
        Implementations may wish to re-run a condition more
Packit 022b05
        quickly if they note a change to the role strings for an
Packit 022b05
        element."
Packit 022b05
    ::= { pmPolicyEntry 10 }
Packit 022b05
Packit 022b05
pmPolicyActionMaxLatency OBJECT-TYPE
Packit 022b05
    SYNTAX      Unsigned32 (0..2147483647)
Packit 022b05
    UNITS       "milliseconds"
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "Every element that matches this policy's condition and is
Packit 022b05
        therefore under control of this policy will have this policy's
Packit 022b05
        action executed periodically to ensure that the element
Packit 022b05
        remains in the state dictated by the policy.
Packit 022b05
        This object lets the manager control the maximum amount of
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
        time that may pass before an element has the action run on
Packit 022b05
        it.
Packit 022b05
Packit 022b05
        In other words, in any given interval of this duration, all
Packit 022b05
        elements under control of this policy must have the action run
Packit 022b05
        on them.  Note that how the policy agent schedules the policy
Packit 022b05
        action on various elements within this interval is an
Packit 022b05
        implementation-dependent matter."
Packit 022b05
    ::= { pmPolicyEntry 11 }
Packit 022b05
Packit 022b05
pmPolicyMaxIterations OBJECT-TYPE
Packit 022b05
    SYNTAX      Unsigned32
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "If a condition or action script iterates in loops too many
Packit 022b05
        times in one invocation, the execution environment may
Packit 022b05
        consider it in an infinite loop or otherwise not acting
Packit 022b05
        as intended and may be terminated by the execution
Packit 022b05
        environment.  The execution environment will count the
Packit 022b05
        cumulative number of times all 'for' or 'while' loops iterated
Packit 022b05
        and will apply a threshold to determine when to terminate the
Packit 022b05
        script.  What threshold the execution environment uses is an
Packit 022b05
        implementation-dependent manner, but the value of
Packit 022b05
        this object SHOULD be the basis for choosing the threshold for
Packit 022b05
        each script.  The value of this object represents a
Packit 022b05
        policy-specific threshold and can be tuned for policies of
Packit 022b05
        varying workloads.  If this value is zero, no
Packit 022b05
        threshold will be enforced except for any
Packit 022b05
        implementation-dependent maximum.  Regardless of this value,
Packit 022b05
        the agent is allowed to terminate any script invocation that
Packit 022b05
        exceeds a local CPU or memory limitation.
Packit 022b05
Packit 022b05
        Note that the condition and action invocations are tracked
Packit 022b05
        separately."
Packit 022b05
    ::= { pmPolicyEntry 12 }
Packit 022b05
Packit 022b05
pmPolicyDescription OBJECT-TYPE
Packit 022b05
    SYNTAX      PmUTF8String
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "A description of this rule and its significance, typically
Packit 022b05
         provided by a human."
Packit 022b05
    ::= { pmPolicyEntry 13 }
Packit 022b05
Packit 022b05
pmPolicyMatches OBJECT-TYPE
Packit 022b05
    SYNTAX      Gauge32
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
    UNITS       "elements"
Packit 022b05
    MAX-ACCESS  read-only
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "The number of elements that, in their most recent execution
Packit 022b05
         of the associated condition, were matched by the condition."
Packit 022b05
    ::= { pmPolicyEntry 14 }
Packit 022b05
Packit 022b05
pmPolicyAbnormalTerminations OBJECT-TYPE
Packit 022b05
    SYNTAX      Gauge32
Packit 022b05
    UNITS       "elements"
Packit 022b05
    MAX-ACCESS  read-only
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "The number of elements that, in their most recent execution
Packit 022b05
         of the associated condition or action, have experienced a
Packit 022b05
         run-time exception and terminated abnormally.  Note that if a
Packit 022b05
         policy was experiencing a run-time exception while processing
Packit 022b05
         a particular element but runs normally on a subsequent
Packit 022b05
         invocation, this number can decline."
Packit 022b05
    ::= { pmPolicyEntry 15 }
Packit 022b05
Packit 022b05
pmPolicyExecutionErrors OBJECT-TYPE
Packit 022b05
    SYNTAX      Counter32
Packit 022b05
    UNITS       "errors"
Packit 022b05
    MAX-ACCESS  read-only
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "The total number of times that execution of this policy's
Packit 022b05
         condition or action has been terminated due to run-time
Packit 022b05
         exceptions."
Packit 022b05
    ::= { pmPolicyEntry 16 }
Packit 022b05
Packit 022b05
pmPolicyDebugging OBJECT-TYPE
Packit 022b05
    SYNTAX      INTEGER {
Packit 022b05
                    off(1),
Packit 022b05
                    on(2)
Packit 022b05
                }
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "The status of debugging for this policy.  If this is turned
Packit 022b05
         on(2), log entries will be created in the pmDebuggingTable
Packit 022b05
         for each run-time exception that is experienced by this
Packit 022b05
         policy."
Packit 022b05
    DEFVAL { off }
Packit 022b05
    ::= { pmPolicyEntry 17 }
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
pmPolicyAdminStatus OBJECT-TYPE
Packit 022b05
    SYNTAX      INTEGER {
Packit 022b05
                    disabled(1),
Packit 022b05
                    enabled(2),
Packit 022b05
                    enabledAutoRemove(3)
Packit 022b05
                }
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "The administrative status of this policy.
Packit 022b05
Packit 022b05
         The policy will be valid only if the associated
Packit 022b05
         pmPolicyRowStatus is set to active(1) and this object is set
Packit 022b05
         to enabled(2) or enabledAutoRemove(3).
Packit 022b05
Packit 022b05
         If this object is set to enabledAutoRemove(3), the next time
Packit 022b05
         the associated schedule moves from the active state to the
Packit 022b05
         inactive state, this policy will immediately be deleted,
Packit 022b05
         including any associated entries in the pmPolicyCodeTable.
Packit 022b05
Packit 022b05
         The following related objects may not be changed unless this
Packit 022b05
         object is set to disabled(1):
Packit 022b05
             pmPolicyPrecedenceGroup, pmPolicyPrecedence,
Packit 022b05
             pmPolicySchedule, pmPolicyElementTypeFilter,
Packit 022b05
             pmPolicyConditionScriptIndex, pmPolicyActionScriptIndex,
Packit 022b05
             pmPolicyParameters, and any pmPolicyCodeTable row
Packit 022b05
             referenced by this policy.
Packit 022b05
         In order to change any of these parameters, the policy must
Packit 022b05
         be moved to the disabled(1) state, changed, and then
Packit 022b05
         re-enabled.
Packit 022b05
Packit 022b05
         When this policy moves to either enabled state from the
Packit 022b05
         disabled state, any cached values of policy condition must be
Packit 022b05
         erased, and any Policy or PolicyElement scratchpad values for
Packit 022b05
         this policy should be removed.  Policy execution will begin by
Packit 022b05
         testing the policy condition on all appropriate elements."
Packit 022b05
    ::= { pmPolicyEntry 18 }
Packit 022b05
Packit 022b05
pmPolicyStorageType OBJECT-TYPE
Packit 022b05
    SYNTAX      StorageType
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This object defines whether this policy and any associated
Packit 022b05
         entries in the pmPolicyCodeTable are kept in volatile storage
Packit 022b05
         and lost upon reboot or if this row is backed up by
Packit 022b05
         non-volatile or permanent storage.
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
         If the value of this object is 'permanent', the values for
Packit 022b05
         the associated pmPolicyAdminStatus object must remain
Packit 022b05
         writable."
Packit 022b05
    ::= { pmPolicyEntry 19 }
Packit 022b05
Packit 022b05
pmPolicyRowStatus OBJECT-TYPE
Packit 022b05
    SYNTAX      RowStatus
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "The row status of this pmPolicyEntry.
Packit 022b05
Packit 022b05
         The status may not be set to active if any of the related
Packit 022b05
         entries in the pmPolicyCode table do not have a status of
Packit 022b05
         active or if any of the objects in this row are not set to
Packit 022b05
         valid values.  Only the following objects may be modified
Packit 022b05
         while in the active state:
Packit 022b05
             pmPolicyParameters
Packit 022b05
             pmPolicyConditionMaxLatency
Packit 022b05
             pmPolicyActionMaxLatency
Packit 022b05
             pmPolicyDebugging
Packit 022b05
             pmPolicyAdminStatus
Packit 022b05
Packit 022b05
         If this row is deleted, any associated entries in the
Packit 022b05
         pmPolicyCodeTable will be deleted as well."
Packit 022b05
    ::= { pmPolicyEntry 20 }
Packit 022b05
Packit 022b05
-- Policy Code Table
Packit 022b05
Packit 022b05
pmPolicyCodeTable OBJECT-TYPE
Packit 022b05
    SYNTAX      SEQUENCE OF PmPolicyCodeEntry
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The pmPolicyCodeTable stores the code for policy conditions and
Packit 022b05
        actions.
Packit 022b05
Packit 022b05
        An example of the relationships between the code table and the
Packit 022b05
        policy table follows:
Packit 022b05
Packit 022b05
        pmPolicyTable
Packit 022b05
            AdminGroup  Index   ConditionScriptIndex  ActionScriptIndex
Packit 022b05
        A   ''          1       1                     2
Packit 022b05
        B   'oper'      1       1                     2
Packit 022b05
        C   'oper'      2       3                     4
Packit 022b05
Packit 022b05
        pmPolicyCodeTable
Packit 022b05
        AdminGroup  ScriptIndex  Segment    Note
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
        ''          1            1          Filter for policy A
Packit 022b05
        ''          2            1          Action for policy A
Packit 022b05
        'oper'      1            1          Filter for policy B
Packit 022b05
        'oper'      2            1          Action 1/2 for policy B
Packit 022b05
        'oper'      2            2          Action 2/2 for policy B
Packit 022b05
        'oper'      3            1          Filter for policy C
Packit 022b05
        'oper'      4            1          Action for policy C
Packit 022b05
Packit 022b05
        In this example, there are 3 policies: 1 in the '' adminGroup,
Packit 022b05
        and 2 in the 'oper' adminGroup.  Policy A has been assigned
Packit 022b05
        script indexes 1 and 2 (these script indexes are assigned out of
Packit 022b05
        a separate pool per adminGroup), with 1 code segment each for
Packit 022b05
        the filter and the action.  Policy B has been assigned script
Packit 022b05
        indexes 1 and 2 (out of the pool for the 'oper' adminGroup).
Packit 022b05
        While the filter has 1 segment, the action is longer and is
Packit 022b05
        loaded into 2 segments.  Finally, Policy C has been assigned
Packit 022b05
        script indexes 3 and 4, with 1 code segment each for the filter
Packit 022b05
        and the action."
Packit 022b05
    ::= { pmMib 2 }
Packit 022b05
Packit 022b05
pmPolicyCodeEntry OBJECT-TYPE
Packit 022b05
    SYNTAX      PmPolicyCodeEntry
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An entry in the policy code table representing one code
Packit 022b05
        segment.  Entries that share a common AdminGroup/ScriptIndex
Packit 022b05
        pair make up a single script.  Valid values of ScriptIndex are
Packit 022b05
        retrieved from pmPolicyConditionScriptIndex and
Packit 022b05
        pmPolicyActionScriptIndex after a pmPolicyEntry is
Packit 022b05
        created.  Segments of code can then be written to this table
Packit 022b05
        with the learned ScriptIndex values.
Packit 022b05
Packit 022b05
        The StorageType of this entry is determined by the value of
Packit 022b05
        the associated pmPolicyStorageType.
Packit 022b05
Packit 022b05
        The pmPolicyAdminGroup element of the index represents the
Packit 022b05
        administrative group of the policy of which this code entry is
Packit 022b05
        a part."
Packit 022b05
    INDEX { pmPolicyAdminGroup, pmPolicyCodeScriptIndex,
Packit 022b05
            pmPolicyCodeSegment }
Packit 022b05
    ::= { pmPolicyCodeTable 1 }
Packit 022b05
Packit 022b05
PmPolicyCodeEntry ::= SEQUENCE {
Packit 022b05
    pmPolicyCodeScriptIndex    Unsigned32,
Packit 022b05
    pmPolicyCodeSegment        Unsigned32,
Packit 022b05
    pmPolicyCodeText           PmUTF8String,
Packit 022b05
    pmPolicyCodeStatus         RowStatus
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
}
Packit 022b05
Packit 022b05
pmPolicyCodeScriptIndex OBJECT-TYPE
Packit 022b05
    SYNTAX      Unsigned32 (1..4294967295)
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "A unique index for each policy condition or action.  The code
Packit 022b05
         for each such condition or action may be composed of multiple
Packit 022b05
         entries in this table if the code cannot fit in one entry.
Packit 022b05
         Values of pmPolicyCodeScriptIndex may not be used unless
Packit 022b05
         they have previously been assigned in the
Packit 022b05
         pmPolicyConditionScriptIndex or pmPolicyActionScriptIndex
Packit 022b05
         objects."
Packit 022b05
    ::= { pmPolicyCodeEntry 1 }
Packit 022b05
Packit 022b05
pmPolicyCodeSegment OBJECT-TYPE
Packit 022b05
    SYNTAX      Unsigned32 (1..4294967295)
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "A unique index for each segment of a policy condition or
Packit 022b05
         action.
Packit 022b05
Packit 022b05
         When a policy condition or action spans multiple entries in
Packit 022b05
         this table, the code of that policy starts from the
Packit 022b05
         lowest-numbered segment and continues with increasing segment
Packit 022b05
         values until it ends with the highest-numbered segment."
Packit 022b05
    ::= { pmPolicyCodeEntry 2 }
Packit 022b05
Packit 022b05
pmPolicyCodeText OBJECT-TYPE
Packit 022b05
    SYNTAX      PmUTF8String (SIZE (1..1024))
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "A segment of policy code (condition or action).  Lengthy
Packit 022b05
         Policy conditions or actions may be stored in multiple
Packit 022b05
         segments in this table that share the same value of
Packit 022b05
         pmPolicyCodeScriptIndex.  When multiple segments are used, it
Packit 022b05
         is recommended that each segment be as large as is practical.
Packit 022b05
Packit 022b05
         Entries in this table are associated with policies by values
Packit 022b05
         of the pmPolicyConditionScriptIndex and
Packit 022b05
         pmPolicyActionScriptIndex objects.  If the status of the
Packit 022b05
         related policy is active, then this object may not be
Packit 022b05
         modified."
Packit 022b05
    ::= { pmPolicyCodeEntry 3 }
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
pmPolicyCodeStatus OBJECT-TYPE
Packit 022b05
    SYNTAX      RowStatus
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "The status of this code entry.
Packit 022b05
Packit 022b05
         Entries in this table are associated with policies by values
Packit 022b05
         of the pmPolicyConditionScriptIndex and
Packit 022b05
         pmPolicyActionScriptIndex objects.  If the status of the
Packit 022b05
         related policy is active, then this object can not be
Packit 022b05
         modified (i.e., deleted or set to notInService), nor may new
Packit 022b05
         entries be created.
Packit 022b05
Packit 022b05
         If the status of this object is active, no objects in this
Packit 022b05
         row may be modified."
Packit 022b05
    ::= { pmPolicyCodeEntry 4 }
Packit 022b05
Packit 022b05
-- Element Type Registration Table
Packit 022b05
Packit 022b05
pmElementTypeRegTable OBJECT-TYPE
Packit 022b05
    SYNTAX      SEQUENCE OF PmElementTypeRegEntry
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "A registration table for element types managed by this
Packit 022b05
        system.
Packit 022b05
Packit 022b05
        The Element Type Registration table allows the manager to
Packit 022b05
        learn what element types are being managed by the system and
Packit 022b05
        to register new types, if necessary.  An element type is
Packit 022b05
        registered by providing the OID of an SNMP object (i.e.,
Packit 022b05
        without the instance).  Each SNMP instance that exists under
Packit 022b05
        that object is a distinct element.  The index of the element is
Packit 022b05
        the index part of the discovered OID.  This index will be
Packit 022b05
        supplied to policy conditions and actions so that this code
Packit 022b05
        can inspect and configure the element.
Packit 022b05
Packit 022b05
        For example, this table might contain the following entries.
Packit 022b05
        The first three are agent-installed, and the 4th was
Packit 022b05
        downloaded by a management station:
Packit 022b05
Packit 022b05
  OIDPrefix        MaxLatency  Description               StorageType
Packit 022b05
  ifEntry          100 mS      interfaces - builtin      readOnly
Packit 022b05
  0.0              100 mS      system element - builtin  readOnly
Packit 022b05
  frCircuitEntry   100 mS      FR Circuits - builtin     readOnly
Packit 022b05
  hrSWRunEntry     60 sec      Running Processes         volatile
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
        Note that agents may automatically configure elements in this
Packit 022b05
        table for frequently used element types (interfaces, circuits,
Packit 022b05
        etc.).  In particular, it may configure elements for whom
Packit 022b05
        discovery is optimized in one or both of the following ways:
Packit 022b05
Packit 022b05
        1. The agent may discover elements by scanning internal data
Packit 022b05
           structures as opposed to issuing local SNMP requests.  It is
Packit 022b05
           possible to recreate the exact semantics described in this
Packit 022b05
           table even if local SNMP requests are not issued.
Packit 022b05
Packit 022b05
        2. The agent may receive asynchronous notification of new
Packit 022b05
           elements (for example, 'card inserted') and use that
Packit 022b05
           information to instantly create elements rather than
Packit 022b05
           through polling.  A similar feature might be available for
Packit 022b05
           the deletion of elements.
Packit 022b05
Packit 022b05
        Note that the disposition of agent-installed entries is
Packit 022b05
        described by the pmPolicyStorageType object."
Packit 022b05
    ::= { pmMib 3 }
Packit 022b05
Packit 022b05
pmElementTypeRegEntry OBJECT-TYPE
Packit 022b05
    SYNTAX      PmElementTypeRegEntry
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "A registration of an element type.
Packit 022b05
Packit 022b05
        Note that some values of this table's index may result in an
Packit 022b05
        instance name that exceeds a length of 128 sub-identifiers,
Packit 022b05
        which exceeds the maximum for the SNMP protocol.
Packit 022b05
        Implementations should take care to avoid such values."
Packit 022b05
    INDEX       { pmElementTypeRegOIDPrefix }
Packit 022b05
    ::= { pmElementTypeRegTable 1 }
Packit 022b05
Packit 022b05
PmElementTypeRegEntry ::= SEQUENCE {
Packit 022b05
    pmElementTypeRegOIDPrefix     OBJECT IDENTIFIER,
Packit 022b05
    pmElementTypeRegMaxLatency    Unsigned32,
Packit 022b05
    pmElementTypeRegDescription   PmUTF8String,
Packit 022b05
    pmElementTypeRegStorageType   StorageType,
Packit 022b05
    pmElementTypeRegRowStatus     RowStatus
Packit 022b05
}
Packit 022b05
Packit 022b05
pmElementTypeRegOIDPrefix OBJECT-TYPE
Packit 022b05
    SYNTAX      OBJECT IDENTIFIER
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This OBJECT IDENTIFIER value identifies a table in which all
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
        elements of this type will be found.  Every row in the
Packit 022b05
        referenced table will be treated as an element for the
Packit 022b05
        period of time that it remains in the table.  The agent will
Packit 022b05
        then execute policy conditions and actions as appropriate on
Packit 022b05
        each of these elements.
Packit 022b05
Packit 022b05
        This object identifier value is specified down to the 'entry'
Packit 022b05
        component (e.g., ifEntry) of the identifier.
Packit 022b05
Packit 022b05
        The index of each discovered row will be passed to each
Packit 022b05
        invocation of the policy condition and policy action.
Packit 022b05
Packit 022b05
        The actual mechanism by which instances are discovered is
Packit 022b05
        implementation dependent.  Periodic walks of the table to
Packit 022b05
        discover the rows in the table is one such mechanism.  This
Packit 022b05
        mechanism has the advantage that it can be performed by an
Packit 022b05
        agent with no knowledge of the names, syntax, or semantics
Packit 022b05
        of the MIB objects in the table.  This mechanism also serves as
Packit 022b05
        the reference design.  Other implementation-dependent
Packit 022b05
        mechanisms may be implemented that are more efficient (perhaps
Packit 022b05
        because they are hard coded) or that don't require polling.
Packit 022b05
        These mechanisms must discover the same elements as would the
Packit 022b05
        table-walking reference design.
Packit 022b05
Packit 022b05
        This object can contain a OBJECT IDENTIFIER, '0.0'.
Packit 022b05
        '0.0' represents the single instance of the system
Packit 022b05
        itself and provides an execution context for policies to
Packit 022b05
        operate on the 'system element' and on MIB objects
Packit 022b05
        modeled as scalars.  For example, '0.0' gives an execution
Packit 022b05
        context for policy-based selection of the operating system
Packit 022b05
        code version (likely modeled as a scalar MIB object).  The
Packit 022b05
        element type '0.0' always exists; as a consequence, no actual
Packit 022b05
        discovery will take place, and the pmElementTypeRegMaxLatency
Packit 022b05
        object will have no effect for the '0.0' element
Packit 022b05
        type.  However, if the '0.0' element type is not registered in
Packit 022b05
        the table, policies will not be executed on the '0.0' element.
Packit 022b05
Packit 022b05
        When a policy is invoked on behalf of a '0.0' entry in this
Packit 022b05
        table, the element name will be '0.0', and there is no index
Packit 022b05
        of 'this element' (in other words, it has zero length).
Packit 022b05
Packit 022b05
        As this object is used in the index for the
Packit 022b05
        pmElementTypeRegTable, users of this table should be careful
Packit 022b05
        not to create entries that would result in instance names with
Packit 022b05
        more than 128 sub-identifiers."
Packit 022b05
    ::= { pmElementTypeRegEntry 2 }
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
pmElementTypeRegMaxLatency OBJECT-TYPE
Packit 022b05
    SYNTAX      Unsigned32
Packit 022b05
    UNITS       "milliseconds"
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The PM agent is responsible for discovering new elements of
Packit 022b05
        types that are registered.  This object lets the manager
Packit 022b05
        control the maximum amount of time that may pass between the
Packit 022b05
        time an element is created and when it is discovered.
Packit 022b05
Packit 022b05
        In other words, in any given interval of this duration, all
Packit 022b05
        new elements must be discovered.  Note that how the policy
Packit 022b05
        agent schedules the checking of various elements within this
Packit 022b05
        interval is an implementation-dependent matter."
Packit 022b05
    ::= { pmElementTypeRegEntry 3 }
Packit 022b05
Packit 022b05
pmElementTypeRegDescription OBJECT-TYPE
Packit 022b05
    SYNTAX      PmUTF8String (SIZE (0..64))
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "A descriptive label for this registered type."
Packit 022b05
    ::= { pmElementTypeRegEntry 4 }
Packit 022b05
Packit 022b05
pmElementTypeRegStorageType OBJECT-TYPE
Packit 022b05
    SYNTAX      StorageType
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This object defines whether this row is kept
Packit 022b05
         in volatile storage and lost upon reboot or
Packit 022b05
         backed up by non-volatile or permanent storage.
Packit 022b05
Packit 022b05
         If the value of this object is 'permanent', no values in the
Packit 022b05
         associated row have to be writable."
Packit 022b05
    ::= { pmElementTypeRegEntry 5 }
Packit 022b05
Packit 022b05
pmElementTypeRegRowStatus OBJECT-TYPE
Packit 022b05
    SYNTAX      RowStatus
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The status of this registration entry.
Packit 022b05
Packit 022b05
        If the value of this object is active, no objects in this row
Packit 022b05
        may be modified."
Packit 022b05
    ::= { pmElementTypeRegEntry 6 }
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
-- Role Table
Packit 022b05
Packit 022b05
pmRoleTable OBJECT-TYPE
Packit 022b05
    SYNTAX      SEQUENCE OF PmRoleEntry
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The pmRoleTable is a read-create table that organizes role
Packit 022b05
        strings sorted by element.  This table is used to create and
Packit 022b05
        modify role strings and their associations, as well as to allow
Packit 022b05
        a management station to learn about the existence of roles and
Packit 022b05
        their associations.
Packit 022b05
Packit 022b05
        It is the responsibility of the agent to keep track of any
Packit 022b05
        re-indexing of the underlying SNMP elements and to continue to
Packit 022b05
        associate role strings with the element with which they were
Packit 022b05
        initially configured.
Packit 022b05
Packit 022b05
        Policy MIB agents that have elements in multiple local SNMP
Packit 022b05
        contexts have to allow some roles to be assigned to elements
Packit 022b05
        in particular contexts.  This is particularly true when some
Packit 022b05
        elements have the same names in different contexts and the
Packit 022b05
        context is required to disambiguate them.  In those situations,
Packit 022b05
        a value for the pmRoleContextName may be provided.  When a
Packit 022b05
        pmRoleContextName value is not provided, the assignment is to
Packit 022b05
        the element in the default context.
Packit 022b05
Packit 022b05
        Policy MIB agents that discover elements on other systems and
Packit 022b05
        execute policies on their behalf need to have access to role
Packit 022b05
        information for these remote elements.  In such situations,
Packit 022b05
        role assignments for other systems can be stored in this table
Packit 022b05
        by providing values for the pmRoleContextEngineID parameters.
Packit 022b05
Packit 022b05
    For example:
Packit 022b05
    Example:
Packit 022b05
    element       role    context ctxEngineID   #comment
Packit 022b05
    ifindex.1     gold                          local, default context
Packit 022b05
    ifindex.2     gold                          local, default context
Packit 022b05
    repeaterid.1  foo     rptr1                 local, rptr1 context
Packit 022b05
    repeaterid.1  bar     rptr2                 local, rptr2 context
Packit 022b05
    ifindex.1     gold    ''      A             different system
Packit 022b05
    ifindex.1     gold    ''      B             different system
Packit 022b05
Packit 022b05
         The agent must store role string associations in non-volatile
Packit 022b05
         storage."
Packit 022b05
    ::= { pmMib 4 }
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
pmRoleEntry OBJECT-TYPE
Packit 022b05
    SYNTAX      PmRoleEntry
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "A role string entry associates a role string with an
Packit 022b05
         individual element.
Packit 022b05
Packit 022b05
         Note that some combinations of index values may result in an
Packit 022b05
         instance name that exceeds a length of 128 sub-identifiers,
Packit 022b05
         which exceeds the maximum for the SNMP
Packit 022b05
         protocol.  Implementations should take care to avoid such
Packit 022b05
         combinations."
Packit 022b05
    INDEX       { pmRoleElement, pmRoleContextName,
Packit 022b05
                  pmRoleContextEngineID, pmRoleString }
Packit 022b05
    ::= { pmRoleTable 1 }
Packit 022b05
Packit 022b05
PmRoleEntry ::= SEQUENCE {
Packit 022b05
    pmRoleElement          RowPointer,
Packit 022b05
    pmRoleContextName      SnmpAdminString,
Packit 022b05
    pmRoleContextEngineID  OCTET STRING,
Packit 022b05
    pmRoleString           PmUTF8String,
Packit 022b05
    pmRoleStatus           RowStatus
Packit 022b05
}
Packit 022b05
Packit 022b05
pmRoleElement OBJECT-TYPE
Packit 022b05
    SYNTAX      RowPointer
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "The element with which this role string is associated.
Packit 022b05
Packit 022b05
         For example, if the element is interface 3, then this object
Packit 022b05
         will contain the OID for 'ifIndex.3'.
Packit 022b05
Packit 022b05
         If the agent assigns new indexes in the MIB table to
Packit 022b05
         represent the same underlying element (re-indexing), the
Packit 022b05
         agent will modify this value to contain the new index for the
Packit 022b05
         underlying element.
Packit 022b05
Packit 022b05
         As this object is used in the index for the pmRoleTable,
Packit 022b05
         users of this table should be careful not to create entries
Packit 022b05
         that would result in instance names with more than 128
Packit 022b05
         sub-identifiers."
Packit 022b05
    ::= { pmRoleEntry 1 }
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
pmRoleContextName OBJECT-TYPE
Packit 022b05
    SYNTAX      SnmpAdminString (SIZE (0..32))
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "If the associated element is not in the default SNMP context
Packit 022b05
        for the target system, this object is used to identify the
Packit 022b05
        context.  If the element is in the default context, this object
Packit 022b05
        is equal to the empty string."
Packit 022b05
    ::= { pmRoleEntry 2 }
Packit 022b05
Packit 022b05
pmRoleContextEngineID OBJECT-TYPE
Packit 022b05
    SYNTAX      OCTET STRING (SIZE (0 | 5..32))
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "If the associated element is on a remote system, this object
Packit 022b05
        is used to identify the remote system.  This object contains
Packit 022b05
        the contextEngineID of the system for which this role string
Packit 022b05
        assignment is valid.  If the element is on the local system
Packit 022b05
        this object will be the empty string."
Packit 022b05
    ::= { pmRoleEntry 3 }
Packit 022b05
Packit 022b05
pmRoleString OBJECT-TYPE
Packit 022b05
    SYNTAX      PmUTF8String (SIZE (0..64))
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "The role string that is associated with an element through
Packit 022b05
         this table.  All role strings must have been successfully
Packit 022b05
         transformed by Stringprep RFC 3454.  Management stations
Packit 022b05
         must perform this translation and must only set this object
Packit 022b05
         to string values that have been transformed.
Packit 022b05
Packit 022b05
         A role string is an administratively specified characteristic
Packit 022b05
         of a managed element (for example, an interface).  It is a
Packit 022b05
         selector for policy rules, that determines the applicability of
Packit 022b05
         the rule to a particular managed element."
Packit 022b05
    ::= { pmRoleEntry 4 }
Packit 022b05
Packit 022b05
pmRoleStatus OBJECT-TYPE
Packit 022b05
    SYNTAX      RowStatus
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "The status of this role string.
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
         If the value of this object is active, no object in this row
Packit 022b05
         may be modified."
Packit 022b05
    ::= { pmRoleEntry 5 }
Packit 022b05
Packit 022b05
-- Capabilities table
Packit 022b05
Packit 022b05
pmCapabilitiesTable OBJECT-TYPE
Packit 022b05
    SYNTAX      SEQUENCE OF PmCapabilitiesEntry
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "The pmCapabilitiesTable contains a description of
Packit 022b05
         the inherent capabilities of the system so that
Packit 022b05
         management stations can learn of an agent's capabilities and
Packit 022b05
         differentially install policies based on the capabilities.
Packit 022b05
Packit 022b05
         Capabilities are expressed at the system level.  There can be
Packit 022b05
         variation in how capabilities are realized from one vendor or
Packit 022b05
         model to the next.  Management systems should consider these
Packit 022b05
         differences before selecting which policy to install in a
Packit 022b05
         system."
Packit 022b05
    ::= { pmMib 5 }
Packit 022b05
Packit 022b05
pmCapabilitiesEntry OBJECT-TYPE
Packit 022b05
    SYNTAX      PmCapabilitiesEntry
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "A capabilities entry holds an OID indicating support for a
Packit 022b05
         particular capability.  Capabilities may include hardware and
Packit 022b05
         software functions and the implementation of MIB
Packit 022b05
         Modules.  The semantics of the OID are defined in the
Packit 022b05
         description of pmCapabilitiesType.
Packit 022b05
Packit 022b05
         Entries appear in this table if any element in the system has
Packit 022b05
         a specific capability.  A capability should appear in this
Packit 022b05
         table only once, regardless of the number of elements in the
Packit 022b05
         system with that capability.  An entry is removed from this
Packit 022b05
         table when the last element in the system that has the
Packit 022b05
         capability is removed.  In some cases, capabilities are
Packit 022b05
         dynamic and exist only in software.  This table should have an
Packit 022b05
         entry for the capability even if there are no current
Packit 022b05
         instances.  Examples include systems with database or WEB
Packit 022b05
         services.  While the system has the ability to create new
Packit 022b05
         databases or WEB services, the entry should exist.  In these
Packit 022b05
         cases, the ability to create these services could come from
Packit 022b05
         other processes that are running in the system, even though
Packit 022b05
         there are no currently open databases or WEB servers running.
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
         Capabilities may include the implementation of MIB Modules
Packit 022b05
         but need not be limited to those that represent MIB Modules
Packit 022b05
         with one or more configurable objects.  It may also be
Packit 022b05
         valuable to include entries for capabilities that do not
Packit 022b05
         include configuration objects, as that information, in
Packit 022b05
         combination with other entries in this table, might be used
Packit 022b05
         by the management software to determine whether to
Packit 022b05
         install a policy.
Packit 022b05
Packit 022b05
         Vendor software may also add entries in this table to express
Packit 022b05
         capabilities from their private branch.
Packit 022b05
Packit 022b05
         Note that some values of this table's index may result in an
Packit 022b05
         instance name that exceeds a length of 128 sub-identifiers,
Packit 022b05
         which exceeds the maximum for the SNMP
Packit 022b05
         protocol.  Implementations should take care to avoid such
Packit 022b05
         values."
Packit 022b05
    INDEX       { pmCapabilitiesType }
Packit 022b05
    ::= { pmCapabilitiesTable 1 }
Packit 022b05
Packit 022b05
PmCapabilitiesEntry ::= SEQUENCE {
Packit 022b05
    pmCapabilitiesType               OBJECT IDENTIFIER
Packit 022b05
}
Packit 022b05
Packit 022b05
pmCapabilitiesType OBJECT-TYPE
Packit 022b05
    SYNTAX      OBJECT IDENTIFIER
Packit 022b05
    MAX-ACCESS  read-only
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "There are three types of OIDs that may be present in the
Packit 022b05
         pmCapabilitiesType object:
Packit 022b05
Packit 022b05
         1) The OID of a MODULE-COMPLIANCE macro that represents the
Packit 022b05
         highest level of compliance realized by the agent for that
Packit 022b05
         MIB Module.  For example, an agent that implements the OSPF
Packit 022b05
         MIB Module at the highest level of compliance would have the
Packit 022b05
         value of '1.3.6.1.2.1.14.15.2' in the pmCapabilitiesType
Packit 022b05
         object.  For software that realizes standard MIB
Packit 022b05
         Modules that do not have compliance statements, the base OID
Packit 022b05
         of the MIB Module should be used instead.  If the OSPF MIB
Packit 022b05
         Module had not been created with a compliance statement, then
Packit 022b05
         the correct value of the pmCapabilitiesType would be
Packit 022b05
         '1.3.6.1.2.1.14'.  In the cases where multiple compliance
Packit 022b05
         statements in a MIB Module are supported by the agent, and
Packit 022b05
         where one compliance statement does not by definition include
Packit 022b05
         the other, each of the compliance OIDs would have entries in
Packit 022b05
         this table.
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
         MIB Documents can contain more than one MIB Module.  In the
Packit 022b05
         case of OSPF, there is a second MIB Module
Packit 022b05
         that describes notifications for the OSPF Version 2 Protocol.
Packit 022b05
         If the agent also realizes these functions, an entry will
Packit 022b05
         also exist for those capabilities in this table.
Packit 022b05
Packit 022b05
         2) Vendors should install OIDs in this table that represent
Packit 022b05
         vendor-specific capabilities.  These capabilities can be
Packit 022b05
         expressed just as those described above for MIB Modules on
Packit 022b05
         the standards track.  In addition, vendors may install any
Packit 022b05
         OID they desire from their registered branch.  The OIDs may be
Packit 022b05
         at any level of granularity, from the root of their entire
Packit 022b05
         branch to an instance of a single OID.  There is no
Packit 022b05
         restriction on the number of registrations they may make,
Packit 022b05
         though care should be taken to avoid unnecessary entries.
Packit 022b05
Packit 022b05
         3) OIDs that represent one capability or a collection of
Packit 022b05
         capabilities that could be any collection of MIB Objects or
Packit 022b05
         hardware or software functions may be created in working
Packit 022b05
         groups and registered in a MIB Module.  Other entities (e.g.,
Packit 022b05
         vendors) may also make registrations.  Software will register
Packit 022b05
         these standard capability OIDs, as well as vendor specific
Packit 022b05
         OIDs.
Packit 022b05
Packit 022b05
         If the OID for a known capability is not present in the
Packit 022b05
         table, then it should be assumed that the capability is not
Packit 022b05
         implemented.
Packit 022b05
Packit 022b05
         As this object is used in the index for the
Packit 022b05
         pmCapabilitiesTable, users of this table should be careful
Packit 022b05
         not to create entries that would result in instance names
Packit 022b05
         with more than 128 sub-identifiers."
Packit 022b05
    ::= { pmCapabilitiesEntry 1 }
Packit 022b05
Packit 022b05
-- Capabilities override table
Packit 022b05
Packit 022b05
pmCapabilitiesOverrideTable OBJECT-TYPE
Packit 022b05
    SYNTAX      SEQUENCE OF PmCapabilitiesOverrideEntry
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "The pmCapabilitiesOverrideTable allows management stations
Packit 022b05
         to override pmCapabilitiesTable entries that have been
Packit 022b05
         registered by the agent.  This facility can be used to avoid
Packit 022b05
         situations in which managers in the network send policies to
Packit 022b05
         a system that has advertised a capability in the
Packit 022b05
         pmCapabilitiesTable but that should not be installed on this
Packit 022b05
         particular system.  One example could be newly deployed
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
         equipment that is still in a trial state in a trial state or
Packit 022b05
         resources reserved for some other administrative reason.
Packit 022b05
         This table can also be used to override entries in the
Packit 022b05
         pmCapabilitiesTable through the use of the
Packit 022b05
         pmCapabilitiesOverrideState object.  Capabilities can also be
Packit 022b05
         declared available in this table that were not registered in
Packit 022b05
         the pmCapabilitiesTable.  A management application can make
Packit 022b05
         an entry in this table for any valid OID and declare the
Packit 022b05
         capability available by setting the
Packit 022b05
         pmCapabilitiesOverrideState for that row to valid(1)."
Packit 022b05
    ::= { pmMib 6 }
Packit 022b05
Packit 022b05
pmCapabilitiesOverrideEntry OBJECT-TYPE
Packit 022b05
    SYNTAX      PmCapabilitiesOverrideEntry
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "An entry in this table indicates whether a particular
Packit 022b05
         capability is valid or invalid.
Packit 022b05
Packit 022b05
         Note that some values of this table's index may result in an
Packit 022b05
         instance name that exceeds a length of 128 sub-identifiers,
Packit 022b05
         which exceeds the maximum for the SNMP
Packit 022b05
         protocol.  Implementations should take care to avoid such
Packit 022b05
         values."
Packit 022b05
    INDEX       { pmCapabilitiesOverrideType }
Packit 022b05
    ::= { pmCapabilitiesOverrideTable 1 }
Packit 022b05
Packit 022b05
PmCapabilitiesOverrideEntry ::= SEQUENCE {
Packit 022b05
    pmCapabilitiesOverrideType               OBJECT IDENTIFIER,
Packit 022b05
    pmCapabilitiesOverrideState              INTEGER,
Packit 022b05
    pmCapabilitiesOverrideRowStatus          RowStatus
Packit 022b05
}
Packit 022b05
Packit 022b05
pmCapabilitiesOverrideType OBJECT-TYPE
Packit 022b05
    SYNTAX      OBJECT IDENTIFIER
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "This is the OID of the capability that is declared valid or
Packit 022b05
         invalid by the pmCapabilitiesOverrideState value for this
Packit 022b05
         row.  Any valid OID, as described in the pmCapabilitiesTable,
Packit 022b05
         is permitted in the pmCapabilitiesOverrideType object.  This
Packit 022b05
         means that capabilities can be expressed at any level, from a
Packit 022b05
         specific instance of an object to a table or entire module.
Packit 022b05
         There are no restrictions on whether these objects are from
Packit 022b05
         standards track MIB documents or in the private branch of the
Packit 022b05
         MIB.
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
         If an entry exists in this table for which there is a
Packit 022b05
         corresponding entry in the pmCapabilitiesTable, then this entry
Packit 022b05
         shall have precedence over the entry in the
Packit 022b05
         pmCapabilitiesTable.  All entries in this table must be
Packit 022b05
         preserved across reboots.
Packit 022b05
Packit 022b05
         As this object is used in the index for the
Packit 022b05
         pmCapabilitiesOverrideTable, users of this table should be
Packit 022b05
         careful not to create entries that would result in instance
Packit 022b05
         names with more than 128 sub-identifiers."
Packit 022b05
    ::= { pmCapabilitiesOverrideEntry 1 }
Packit 022b05
Packit 022b05
pmCapabilitiesOverrideState OBJECT-TYPE
Packit 022b05
    SYNTAX      INTEGER {
Packit 022b05
                    invalid(1),
Packit 022b05
                    valid(2)
Packit 022b05
                }
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "A pmCapabilitiesOverrideState of invalid indicates that
Packit 022b05
         management software should not send policies to this system
Packit 022b05
         for the capability identified in the
Packit 022b05
         pmCapabilitiesOverrideType for this row of the table.  This
Packit 022b05
         behavior is the same whether the capability represented by
Packit 022b05
         the pmCapabilitiesOverrideType exists only in this table
Packit 022b05
         (that is, it was installed by an external management
Packit 022b05
         application) or exists in this table as well as the
Packit 022b05
         pmCapabilitiesTable.  This would be the case when a manager
Packit 022b05
         wanted to disable a capability that the native management
Packit 022b05
         system found and registered in the pmCapabilitiesTable.
Packit 022b05
Packit 022b05
         An entry in this table that has a pmCapabilitiesOverrideState
Packit 022b05
         of valid should be treated as though it appeared in the
Packit 022b05
         pmCapabilitiesTable.  If the entry also exists in the
Packit 022b05
         pmCapabilitiesTable in the pmCapabilitiesType object, and if
Packit 022b05
         the value of this object is valid, then the system shall
Packit 022b05
         operate as though this entry did not exist and policy
Packit 022b05
         installations and executions will continue in a normal
Packit 022b05
         fashion."
Packit 022b05
    ::= { pmCapabilitiesOverrideEntry 2 }
Packit 022b05
Packit 022b05
pmCapabilitiesOverrideRowStatus OBJECT-TYPE
Packit 022b05
    SYNTAX      RowStatus
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "The row status of this pmCapabilitiesOverrideEntry.
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
         If the value of this object is active, no object in this row
Packit 022b05
         may be modified."
Packit 022b05
    ::= { pmCapabilitiesOverrideEntry 3 }
Packit 022b05
Packit 022b05
-- The Schedule Group
Packit 022b05
Packit 022b05
pmSchedLocalTime OBJECT-TYPE
Packit 022b05
    SYNTAX      DateAndTime (SIZE (11))
Packit 022b05
    MAX-ACCESS  read-only
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The local time used by the scheduler.  Schedules that
Packit 022b05
         refer to calendar time will use the local time indicated
Packit 022b05
         by this object.  An implementation MUST return all 11 bytes
Packit 022b05
         of the DateAndTime textual-convention so that a manager
Packit 022b05
         may retrieve the offset from GMT time."
Packit 022b05
    ::= { pmMib 7 }
Packit 022b05
Packit 022b05
--
Packit 022b05
-- The schedule table that controls the scheduler.
Packit 022b05
--
Packit 022b05
Packit 022b05
pmSchedTable OBJECT-TYPE
Packit 022b05
    SYNTAX      SEQUENCE OF PmSchedEntry
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This table defines schedules for policies."
Packit 022b05
    ::= { pmMib 8 }
Packit 022b05
Packit 022b05
pmSchedEntry OBJECT-TYPE
Packit 022b05
    SYNTAX      PmSchedEntry
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An entry describing a particular schedule.
Packit 022b05
Packit 022b05
        Unless noted otherwise, writable objects of this row can be
Packit 022b05
        modified independently of the current value of pmSchedRowStatus,
Packit 022b05
        pmSchedAdminStatus and pmSchedOperStatus.  In particular, it
Packit 022b05
        is legal to modify pmSchedWeekDay, pmSchedMonth, and
Packit 022b05
        pmSchedDay when pmSchedRowStatus is active."
Packit 022b05
    INDEX { pmSchedIndex }
Packit 022b05
    ::= { pmSchedTable 1 }
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
PmSchedEntry ::= SEQUENCE {
Packit 022b05
    pmSchedIndex          Unsigned32,
Packit 022b05
    pmSchedGroupIndex     Unsigned32,
Packit 022b05
    pmSchedDescr          PmUTF8String,
Packit 022b05
    pmSchedTimePeriod     PmUTF8String,
Packit 022b05
    pmSchedMonth          BITS,
Packit 022b05
    pmSchedDay            BITS,
Packit 022b05
    pmSchedWeekDay        BITS,
Packit 022b05
    pmSchedTimeOfDay      PmUTF8String,
Packit 022b05
    pmSchedLocalOrUtc     INTEGER,
Packit 022b05
    pmSchedStorageType    StorageType,
Packit 022b05
    pmSchedRowStatus      RowStatus
Packit 022b05
}
Packit 022b05
Packit 022b05
pmSchedIndex OBJECT-TYPE
Packit 022b05
    SYNTAX      Unsigned32 (1..4294967295)
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The locally unique, administratively assigned index for this
Packit 022b05
        scheduling entry."
Packit 022b05
    ::= { pmSchedEntry 1 }
Packit 022b05
Packit 022b05
pmSchedGroupIndex OBJECT-TYPE
Packit 022b05
    SYNTAX      Unsigned32 (1..4294967295)
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The locally unique, administratively assigned index for the
Packit 022b05
        schedule group this scheduling entry belongs to.
Packit 022b05
Packit 022b05
        To assign multiple schedule entries to the same group, the
Packit 022b05
        pmSchedGroupIndex of each entry in the group will be set to
Packit 022b05
        the same value.  This pmSchedGroupIndex value must be equal to
Packit 022b05
        the pmSchedIndex of one of the entries in the group.  If the
Packit 022b05
        entry whose pmSchedIndex equals the pmSchedGroupIndex
Packit 022b05
        for the group is deleted, the agent will assign a new
Packit 022b05
        pmSchedGroupIndex to all remaining members of the group.
Packit 022b05
Packit 022b05
        If an entry is not a member of a group, its pmSchedGroupIndex
Packit 022b05
        must be assigned to the value of its pmSchedIndex.
Packit 022b05
Packit 022b05
        Policies that are controlled by a group of schedule entries
Packit 022b05
        are active when any schedule in the group is active."
Packit 022b05
    ::= { pmSchedEntry 2 }
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
pmSchedDescr OBJECT-TYPE
Packit 022b05
    SYNTAX      PmUTF8String
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The human-readable description of the purpose of this
Packit 022b05
        scheduling entry."
Packit 022b05
    DEFVAL { ''H }
Packit 022b05
    ::= { pmSchedEntry 3 }
Packit 022b05
Packit 022b05
pmSchedTimePeriod OBJECT-TYPE
Packit 022b05
    SYNTAX      PmUTF8String (SIZE (0..31))
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The overall range of calendar dates and times over which this
Packit 022b05
        schedule is active.  It is stored in a slightly extended version
Packit 022b05
        of the format for a 'period-explicit' defined in RFC 2445.
Packit 022b05
        This format is expressed as a string representing the
Packit 022b05
        starting date and time, in which the character 'T' indicates
Packit 022b05
        the beginning of the time portion, followed by the solidus
Packit 022b05
        character, '/', followed by a similar string representing an
Packit 022b05
        end date and time.  The start of the period MUST be before the
Packit 022b05
        end of the period.  Date-Time values are expressed as
Packit 022b05
        substrings of the form 'yyyymmddThhmmss'.  For example:
Packit 022b05
Packit 022b05
            20000101T080000/20000131T130000
Packit 022b05
Packit 022b05
              January 1, 2000, 0800 through January 31, 2000, 1PM
Packit 022b05
Packit 022b05
        The 'Date with UTC time' format defined in RFC 2445 in which
Packit 022b05
        the Date-Time string ends with the character 'Z' is not
Packit 022b05
        allowed.
Packit 022b05
Packit 022b05
        This 'period-explicit' format is also extended to allow two
Packit 022b05
        special cases in which one of the Date-Time strings is
Packit 022b05
        replaced with a special string defined in RFC 2445:
Packit 022b05
Packit 022b05
        1. If the first Date-Time value is replaced with the string
Packit 022b05
           'THISANDPRIOR', then the value indicates that the schedule
Packit 022b05
           is active at any time prior to the Date-Time that appears
Packit 022b05
           after the '/'.
Packit 022b05
Packit 022b05
        2. If the second Date-Time is replaced with the string
Packit 022b05
           'THISANDFUTURE', then the value indicates that the schedule
Packit 022b05
           is active at any time after the Date-Time that appears
Packit 022b05
           before the '/'.
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
        Note that although RFC 2445 defines these two strings, they are
Packit 022b05
        not specified for use in the 'period-explicit' format.  The use
Packit 022b05
        of these strings represents an extension to the
Packit 022b05
        'period-explicit' format."
Packit 022b05
    ::= { pmSchedEntry 4 }
Packit 022b05
Packit 022b05
pmSchedMonth OBJECT-TYPE
Packit 022b05
    SYNTAX      BITS {
Packit 022b05
                    january(0),
Packit 022b05
                    february(1),
Packit 022b05
                    march(2),
Packit 022b05
                    april(3),
Packit 022b05
                    may(4),
Packit 022b05
                    june(5),
Packit 022b05
                    july(6),
Packit 022b05
                    august(7),
Packit 022b05
                    september(8),
Packit 022b05
                    october(9),
Packit 022b05
                    november(10),
Packit 022b05
                    december(11)
Packit 022b05
                }
Packit 022b05
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "Within the overall time period specified in the
Packit 022b05
        pmSchedTimePeriod object, the value of this object specifies
Packit 022b05
        the specific months within that time period when the schedule
Packit 022b05
        is active.  Setting all bits will cause the schedule to act
Packit 022b05
        independently of the month."
Packit 022b05
    DEFVAL { { january, february, march, april, may, june, july,
Packit 022b05
               august, september, october, november, december } }
Packit 022b05
    ::= { pmSchedEntry 5 }
Packit 022b05
Packit 022b05
pmSchedDay OBJECT-TYPE
Packit 022b05
    SYNTAX      BITS {
Packit 022b05
                    d1(0),   d2(1),   d3(2),   d4(3),   d5(4),
Packit 022b05
                    d6(5),   d7(6),   d8(7),   d9(8),   d10(9),
Packit 022b05
                    d11(10), d12(11), d13(12), d14(13), d15(14),
Packit 022b05
                    d16(15), d17(16), d18(17), d19(18), d20(19),
Packit 022b05
                    d21(20), d22(21), d23(22), d24(23), d25(24),
Packit 022b05
                    d26(25), d27(26), d28(27), d29(28), d30(29),
Packit 022b05
                    d31(30),
Packit 022b05
                    r1(31),  r2(32),  r3(33),  r4(34),  r5(35),
Packit 022b05
                    r6(36),  r7(37),  r8(38),  r9(39),  r10(40),
Packit 022b05
                    r11(41), r12(42), r13(43), r14(44), r15(45),
Packit 022b05
                    r16(46), r17(47), r18(48), r19(49), r20(50),
Packit 022b05
                    r21(51), r22(52), r23(53), r24(54), r25(55),
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
                    r26(56), r27(57), r28(58), r29(59), r30(60),
Packit 022b05
                    r31(61)
Packit 022b05
                }
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "Within the overall time period specified in the
Packit 022b05
        pmSchedTimePeriod object, the value of this object specifies
Packit 022b05
        the specific days of the month within that time period when
Packit 022b05
        the schedule is active.
Packit 022b05
Packit 022b05
        There are two sets of bits one can use to define the day
Packit 022b05
        within a month:
Packit 022b05
Packit 022b05
        Enumerations starting with the letter 'd' indicate a
Packit 022b05
        day in a month relative to the first day of a month.
Packit 022b05
        The first day of the month can therefore be specified
Packit 022b05
        by setting the bit d1(0), and d31(30) means the last
Packit 022b05
        day of a month with 31 days.
Packit 022b05
Packit 022b05
        Enumerations starting with the letter 'r' indicate a
Packit 022b05
        day in a month in reverse order, relative to the last
Packit 022b05
        day of a month.  The last day in the month can therefore
Packit 022b05
        be specified by setting the bit r1(31), and r31(61) means
Packit 022b05
        the first day of a month with 31 days.
Packit 022b05
Packit 022b05
        Setting multiple bits will include several days in the set
Packit 022b05
        of possible days for this schedule.  Setting all bits starting
Packit 022b05
        with the letter 'd' or all bits starting with the letter 'r'
Packit 022b05
        will cause the schedule to act independently of the day of the
Packit 022b05
        month."
Packit 022b05
    DEFVAL { {  d1, d2, d3, d4, d5, d6, d7, d8, d9, d10,
Packit 022b05
                d11, d12, d13, d14, d15, d16, d17, d18, d19, d20,
Packit 022b05
                d21, d22, d23, d24, d25, d26, d27, d28, d29, d30,
Packit 022b05
                d31, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10,
Packit 022b05
                r11, r12, r13, r14, r15, r16, r17, r18, r19, r20,
Packit 022b05
                r21, r22, r23, r24, r25, r26, r27, r28, r29, r30,
Packit 022b05
                r31 } }
Packit 022b05
    ::= { pmSchedEntry 6 }
Packit 022b05
Packit 022b05
pmSchedWeekDay OBJECT-TYPE
Packit 022b05
    SYNTAX      BITS {
Packit 022b05
                    sunday(0),
Packit 022b05
                    monday(1),
Packit 022b05
                    tuesday(2),
Packit 022b05
                    wednesday(3),
Packit 022b05
                    thursday(4),
Packit 022b05
                    friday(5),
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
                    saturday(6)
Packit 022b05
                }
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "Within the overall time period specified in the
Packit 022b05
        pmSchedTimePeriod object, the value of this object specifies
Packit 022b05
        the specific days of the week within that time period when
Packit 022b05
        the schedule is active.  Setting all bits will cause the
Packit 022b05
        schedule to act independently of the day of the week."
Packit 022b05
    DEFVAL { { sunday, monday, tuesday, wednesday, thursday,
Packit 022b05
               friday, saturday } }
Packit 022b05
    ::= { pmSchedEntry 7 }
Packit 022b05
Packit 022b05
pmSchedTimeOfDay OBJECT-TYPE
Packit 022b05
    SYNTAX      PmUTF8String (SIZE (0..15))
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
Packit 022b05
        "Within the overall time period specified in the
Packit 022b05
        pmSchedTimePeriod object, the value of this object specifies
Packit 022b05
        the range of times in a day when the schedule is active.
Packit 022b05
Packit 022b05
        This value is stored in a format based on the RFC 2445 format
Packit 022b05
        for 'time': The character 'T' followed by a 'time' string,
Packit 022b05
        followed by the solidus character, '/', followed by the
Packit 022b05
        character 'T', followed by a second time string.  The first time
Packit 022b05
        indicates the beginning of the range, and the second time
Packit 022b05
        indicates the end.  Thus, this value takes the following
Packit 022b05
        form:
Packit 022b05
Packit 022b05
            'Thhmmss/Thhmmss'.
Packit 022b05
Packit 022b05
        The second substring always identifies a later time than the
Packit 022b05
        first substring.  To allow for ranges that span midnight,
Packit 022b05
        however, the value of the second string may be smaller than
Packit 022b05
        the value of the first substring.  Thus, 'T080000/T210000'
Packit 022b05
        identifies the range from 0800 until 2100, whereas
Packit 022b05
        'T210000/T080000' identifies the range from 2100 until 0800 of
Packit 022b05
        the following day.
Packit 022b05
Packit 022b05
        When a range spans midnight, by definition it includes parts
Packit 022b05
        of two successive days.  When one of these days is also
Packit 022b05
        selected by either the MonthOfYearMask, DayOfMonthMask, and/or
Packit 022b05
        DayOfWeekMask, but the other day is not, then the policy is
Packit 022b05
        active only during the portion of the range that falls on the
Packit 022b05
        selected day.  For example, if the range extends from 2100
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
        until 0800, and the day of week mask selects Monday and
Packit 022b05
        Tuesday, then the policy is active during the following three
Packit 022b05
        intervals:
Packit 022b05
Packit 022b05
            From midnight Sunday until 0800 Monday
Packit 022b05
            From 2100 Monday until 0800 Tuesday
Packit 022b05
            From 2100 Tuesday until 23:59:59 Tuesday
Packit 022b05
Packit 022b05
         Setting this value to 'T000000/T235959' will cause the
Packit 022b05
         schedule to act independently of the time of day."
Packit 022b05
    DEFVAL { '543030303030302F54323335393539'H } -- T000000/T235959
Packit 022b05
    ::= { pmSchedEntry 8 }
Packit 022b05
Packit 022b05
pmSchedLocalOrUtc OBJECT-TYPE
Packit 022b05
    SYNTAX      INTEGER {
Packit 022b05
                    localTime(1),
Packit 022b05
                    utcTime(2)
Packit 022b05
                }
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This object indicates whether the times represented in the
Packit 022b05
        TimePeriod object and in the various Mask objects represent
Packit 022b05
        local times or UTC times."
Packit 022b05
    DEFVAL { utcTime }
Packit 022b05
    ::= { pmSchedEntry 9 }
Packit 022b05
Packit 022b05
pmSchedStorageType OBJECT-TYPE
Packit 022b05
    SYNTAX      StorageType
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This object defines whether this schedule entry is kept
Packit 022b05
         in volatile storage and lost upon reboot or
Packit 022b05
         backed up by non-volatile or permanent storage.
Packit 022b05
Packit 022b05
         Conceptual rows having the value 'permanent' must allow write
Packit 022b05
         access to the columnar objects pmSchedDescr, pmSchedWeekDay,
Packit 022b05
         pmSchedMonth, and pmSchedDay.
Packit 022b05
Packit 022b05
         If the value of this object is 'permanent', no values in the
Packit 022b05
         associated row have to be writable."
Packit 022b05
    DEFVAL { volatile }
Packit 022b05
    ::= { pmSchedEntry 10 }
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
pmSchedRowStatus OBJECT-TYPE
Packit 022b05
    SYNTAX      RowStatus
Packit 022b05
    MAX-ACCESS  read-create
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The status of this schedule entry.
Packit 022b05
Packit 022b05
         If the value of this object is active, no object in this row
Packit 022b05
         may be modified."
Packit 022b05
    ::= { pmSchedEntry 11 }
Packit 022b05
Packit 022b05
-- Policy Tracking
Packit 022b05
Packit 022b05
-- The "policy to element" (PE) table and the "element to policy" (EP)
Packit 022b05
-- table track the status of execution contexts grouped by policy and
Packit 022b05
-- element respectively.
Packit 022b05
Packit 022b05
pmTrackingPETable OBJECT-TYPE
Packit 022b05
    SYNTAX      SEQUENCE OF PmTrackingPEEntry
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "The pmTrackingPETable describes what elements
Packit 022b05
         are active (under control of) a policy.  This table is indexed
Packit 022b05
         in order to optimize retrieval of the entire status for a
Packit 022b05
         given policy."
Packit 022b05
    ::= { pmMib 9 }
Packit 022b05
Packit 022b05
pmTrackingPEEntry OBJECT-TYPE
Packit 022b05
    SYNTAX      PmTrackingPEEntry
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "An entry in the pmTrackingPETable.  The pmPolicyIndex in
Packit 022b05
         the index specifies the policy tracked by this entry.
Packit 022b05
Packit 022b05
         Note that some combinations of index values may result in an
Packit 022b05
         instance name that exceeds a length of 128 sub-identifiers,
Packit 022b05
         which exceeds the maximum for the SNMP
Packit 022b05
         protocol.  Implementations should take care to avoid such
Packit 022b05
         combinations."
Packit 022b05
    INDEX       { pmPolicyIndex, pmTrackingPEElement,
Packit 022b05
                  pmTrackingPEContextName, pmTrackingPEContextEngineID }
Packit 022b05
    ::= { pmTrackingPETable 1 }
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
PmTrackingPEEntry ::= SEQUENCE {
Packit 022b05
    pmTrackingPEElement          RowPointer,
Packit 022b05
    pmTrackingPEContextName      SnmpAdminString,
Packit 022b05
    pmTrackingPEContextEngineID  OCTET STRING,
Packit 022b05
    pmTrackingPEInfo             BITS
Packit 022b05
}
Packit 022b05
Packit 022b05
pmTrackingPEElement OBJECT-TYPE
Packit 022b05
    SYNTAX      RowPointer
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "The element that is acted upon by the associated policy.
Packit 022b05
Packit 022b05
         As this object is used in the index for the
Packit 022b05
         pmTrackingPETable, users of this table should be careful not
Packit 022b05
         to create entries that would result in instance names with
Packit 022b05
         more than 128 sub-identifiers."
Packit 022b05
    ::= { pmTrackingPEEntry 1 }
Packit 022b05
Packit 022b05
pmTrackingPEContextName OBJECT-TYPE
Packit 022b05
    SYNTAX      SnmpAdminString (SIZE (0..32))
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "If the associated element is not in the default SNMP context
Packit 022b05
        for the target system, this object is used to identify the
Packit 022b05
        context.  If the element is in the default context, this object
Packit 022b05
        is equal to the empty string."
Packit 022b05
    ::= { pmTrackingPEEntry 2 }
Packit 022b05
Packit 022b05
pmTrackingPEContextEngineID OBJECT-TYPE
Packit 022b05
    SYNTAX      OCTET STRING (SIZE (0 | 5..32))
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "If the associated element is on a remote system, this object
Packit 022b05
        is used to identify the remote system.  This object contains
Packit 022b05
        the contextEngineID of the system on which the associated
Packit 022b05
        element resides.  If the element is on the local system,
Packit 022b05
        this object will be the empty string."
Packit 022b05
    ::= { pmTrackingPEEntry 3 }
Packit 022b05
Packit 022b05
pmTrackingPEInfo OBJECT-TYPE
Packit 022b05
    SYNTAX      BITS {
Packit 022b05
                    actionSkippedDueToPrecedence(0),
Packit 022b05
                    conditionRunTimeException(1),
Packit 022b05
                    conditionUserSignal(2),
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
                    actionRunTimeException(3),
Packit 022b05
                    actionUserSignal(4)
Packit 022b05
                }
Packit 022b05
    MAX-ACCESS  read-only
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "This object returns information about the previous policy
Packit 022b05
         script executions.
Packit 022b05
Packit 022b05
         If the actionSkippedDueToPrecedence(1) bit is set, the last
Packit 022b05
         execution of the associated policy condition returned non-zero,
Packit 022b05
         but the action is not active, because it was trumped by a
Packit 022b05
         matching policy condition in the same precedence group with a
Packit 022b05
         higher precedence value.
Packit 022b05
Packit 022b05
         If the conditionRunTimeException(2) bit is set, the last
Packit 022b05
         execution of the associated policy condition encountered a
Packit 022b05
         run-time exception and aborted.
Packit 022b05
Packit 022b05
         If the conditionUserSignal(3) bit is set, the last
Packit 022b05
         execution of the associated policy condition called the
Packit 022b05
         signalError() function.
Packit 022b05
Packit 022b05
         If the actionRunTimeException(4) bit is set, the last
Packit 022b05
         execution of the associated policy action encountered a
Packit 022b05
         run-time exception and aborted.
Packit 022b05
Packit 022b05
         If the actionUserSignal(5) bit is set, the last
Packit 022b05
         execution of the associated policy action called the
Packit 022b05
         signalError() function.
Packit 022b05
Packit 022b05
         Entries will only exist in this table of one or more bits are
Packit 022b05
         set.  In particular, if an entry does not exist for a
Packit 022b05
         particular policy/element combination, it can be assumed that
Packit 022b05
         the policy's condition did not match 'this element'."
Packit 022b05
    ::= { pmTrackingPEEntry 4 }
Packit 022b05
Packit 022b05
-- Element to Policy Table
Packit 022b05
Packit 022b05
pmTrackingEPTable OBJECT-TYPE
Packit 022b05
    SYNTAX      SEQUENCE OF PmTrackingEPEntry
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "The pmTrackingEPTable describes what policies
Packit 022b05
         are controlling an element.  This table is indexed in
Packit 022b05
         order to optimize retrieval of the status of all policies
Packit 022b05
         active for a given element."
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
    ::= { pmMib 10 }
Packit 022b05
Packit 022b05
pmTrackingEPEntry OBJECT-TYPE
Packit 022b05
    SYNTAX      PmTrackingEPEntry
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "An entry in the pmTrackingEPTable.  Entries exist for all
Packit 022b05
         element/policy combinations for which the policy's condition
Packit 022b05
         matches and only if the schedule for the policy is active.
Packit 022b05
Packit 022b05
         The pmPolicyIndex in the index specifies the policy
Packit 022b05
         tracked by this entry.
Packit 022b05
Packit 022b05
         Note that some combinations of index values may result in an
Packit 022b05
         instance name that exceeds a length of 128 sub-identifiers,
Packit 022b05
         which exceeds the maximum for the SNMP protocol.
Packit 022b05
         Implementations should take care to avoid such combinations."
Packit 022b05
    INDEX       { pmTrackingEPElement, pmTrackingEPContextName,
Packit 022b05
                  pmTrackingEPContextEngineID, pmPolicyIndex }
Packit 022b05
    ::= { pmTrackingEPTable 1 }
Packit 022b05
Packit 022b05
PmTrackingEPEntry ::= SEQUENCE {
Packit 022b05
    pmTrackingEPElement          RowPointer,
Packit 022b05
    pmTrackingEPContextName      SnmpAdminString,
Packit 022b05
    pmTrackingEPContextEngineID  OCTET STRING,
Packit 022b05
    pmTrackingEPStatus           INTEGER
Packit 022b05
}
Packit 022b05
Packit 022b05
pmTrackingEPElement OBJECT-TYPE
Packit 022b05
    SYNTAX      RowPointer
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "The element acted upon by the associated policy.
Packit 022b05
Packit 022b05
         As this object is used in the index for the
Packit 022b05
         pmTrackingEPTable, users of this table should be careful
Packit 022b05
         not to create entries that would result in instance names
Packit 022b05
         with more than 128 sub-identifiers."
Packit 022b05
    ::= { pmTrackingEPEntry 1 }
Packit 022b05
Packit 022b05
pmTrackingEPContextName OBJECT-TYPE
Packit 022b05
    SYNTAX      SnmpAdminString (SIZE (0..32))
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "If the associated element is not in the default SNMP context
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
        for the target system, this object is used to identify the
Packit 022b05
        context.  If the element is in the default context, this object
Packit 022b05
        is equal to the empty string."
Packit 022b05
    ::= { pmTrackingEPEntry 2 }
Packit 022b05
Packit 022b05
pmTrackingEPContextEngineID OBJECT-TYPE
Packit 022b05
    SYNTAX      OCTET STRING (SIZE (0 | 5..32))
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "If the associated element is on a remote system, this object
Packit 022b05
        is used to identify the remote system.  This object contains
Packit 022b05
        the contextEngineID of the system on which the associated
Packit 022b05
        element resides.  If the element is on the local system,
Packit 022b05
        this object will be the empty string."
Packit 022b05
    ::= { pmTrackingEPEntry 3 }
Packit 022b05
Packit 022b05
pmTrackingEPStatus OBJECT-TYPE
Packit 022b05
    SYNTAX      INTEGER {
Packit 022b05
                    on(1),
Packit 022b05
                    forceOff(2)
Packit 022b05
                }
Packit 022b05
    MAX-ACCESS  read-write
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "This entry will only exist if the calendar for the policy is
Packit 022b05
         active and if the associated policyCondition returned 1 for
Packit 022b05
         'this element'.
Packit 022b05
Packit 022b05
         A policy can be forcibly disabled on a particular element
Packit 022b05
         by setting this value to forceOff(2).  The agent should then
Packit 022b05
         act as though the policyCondition failed for 'this element'.
Packit 022b05
         The forceOff(2) state will persist (even across reboots) until
Packit 022b05
         this value is set to on(1) by a management request.  The
Packit 022b05
         forceOff(2) state may be set even if the entry does not
Packit 022b05
         previously exist so that future policy invocations can be
Packit 022b05
         avoided.
Packit 022b05
Packit 022b05
         Unless forcibly disabled, if this entry exists, its value
Packit 022b05
         will be on(1)."
Packit 022b05
    ::= { pmTrackingEPEntry 4 }
Packit 022b05
Packit 022b05
-- Policy Debugging Table
Packit 022b05
Packit 022b05
pmDebuggingTable OBJECT-TYPE
Packit 022b05
    SYNTAX      SEQUENCE OF PmDebuggingEntry
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
    DESCRIPTION
Packit 022b05
         "Policies that have debugging turned on will generate a log
Packit 022b05
         entry in the policy debugging table for every runtime
Packit 022b05
         exception that occurs in either the condition or action
Packit 022b05
         code.
Packit 022b05
Packit 022b05
         The pmDebuggingTable logs debugging messages when
Packit 022b05
         policies experience run-time exceptions in either the condition
Packit 022b05
         or action code and the associated pmPolicyDebugging object
Packit 022b05
         has been turned on.
Packit 022b05
Packit 022b05
         The maximum number of debugging entries that will be stored
Packit 022b05
         and the maximum length of time an entry will be kept are an
Packit 022b05
         implementation-dependent manner.  If entries must
Packit 022b05
         be discarded to make room for new entries, the oldest entries
Packit 022b05
         must be discarded first.
Packit 022b05
Packit 022b05
         If the system restarts, all debugging entries may be deleted."
Packit 022b05
    ::= { pmMib 11 }
Packit 022b05
Packit 022b05
pmDebuggingEntry OBJECT-TYPE
Packit 022b05
    SYNTAX      PmDebuggingEntry
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "An entry in the pmDebuggingTable.  The pmPolicyIndex in the
Packit 022b05
         index specifies the policy that encountered the exception
Packit 022b05
         that led to this log entry.
Packit 022b05
Packit 022b05
         Note that some combinations of index values may result in an
Packit 022b05
         instance name that exceeds a length of 128 sub-identifiers,
Packit 022b05
         which exceeds the maximum for the SNMP protocol.
Packit 022b05
         Implementations should take care to avoid such combinations."
Packit 022b05
    INDEX       { pmPolicyIndex, pmDebuggingElement,
Packit 022b05
                  pmDebuggingContextName, pmDebuggingContextEngineID,
Packit 022b05
                  pmDebuggingLogIndex }
Packit 022b05
    ::= { pmDebuggingTable 1 }
Packit 022b05
Packit 022b05
PmDebuggingEntry ::= SEQUENCE {
Packit 022b05
    pmDebuggingElement          RowPointer,
Packit 022b05
    pmDebuggingContextName      SnmpAdminString,
Packit 022b05
    pmDebuggingContextEngineID  OCTET STRING,
Packit 022b05
    pmDebuggingLogIndex         Unsigned32,
Packit 022b05
    pmDebuggingMessage          PmUTF8String
Packit 022b05
}
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
pmDebuggingElement OBJECT-TYPE
Packit 022b05
    SYNTAX      RowPointer
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "The element the policy was executing on when it encountered
Packit 022b05
         the error that led to this log entry.
Packit 022b05
Packit 022b05
         For example, if the element is interface 3, then this object
Packit 022b05
         will contain the OID for 'ifIndex.3'.
Packit 022b05
Packit 022b05
         As this object is used in the index for the
Packit 022b05
         pmDebuggingTable, users of this table should be careful
Packit 022b05
         not to create entries that would result in instance names
Packit 022b05
         with more than 128 sub-identifiers."
Packit 022b05
    ::= { pmDebuggingEntry 1 }
Packit 022b05
Packit 022b05
pmDebuggingContextName OBJECT-TYPE
Packit 022b05
    SYNTAX      SnmpAdminString (SIZE (0..32))
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "If the associated element is not in the default SNMP context
Packit 022b05
        for the target system, this object is used to identify the
Packit 022b05
        context.  If the element is in the default context, this object
Packit 022b05
        is equal to the empty string."
Packit 022b05
    ::= { pmDebuggingEntry 2 }
Packit 022b05
Packit 022b05
pmDebuggingContextEngineID OBJECT-TYPE
Packit 022b05
    SYNTAX      OCTET STRING (SIZE (0 | 5..32))
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "If the associated element is on a remote system, this object
Packit 022b05
        is used to identify the remote system.  This object contains
Packit 022b05
        the contextEngineID of the system on which the associated
Packit 022b05
        element resides.  If the element is on the local system,
Packit 022b05
        this object will be the empty string."
Packit 022b05
    ::= { pmDebuggingEntry 3 }
Packit 022b05
Packit 022b05
pmDebuggingLogIndex OBJECT-TYPE
Packit 022b05
    SYNTAX      Unsigned32 (1..4294967295)
Packit 022b05
    MAX-ACCESS  not-accessible
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "A unique index for this log entry among other log entries
Packit 022b05
         for this policy/element combination."
Packit 022b05
    ::= { pmDebuggingEntry 4 }
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
pmDebuggingMessage OBJECT-TYPE
Packit 022b05
    SYNTAX      PmUTF8String (SIZE (0..128))
Packit 022b05
    MAX-ACCESS  read-only
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
         "An error message generated by the policy execution
Packit 022b05
         environment.  It is recommended that this message include the
Packit 022b05
         time of day when the message was generated, if known."
Packit 022b05
    ::= { pmDebuggingEntry 5 }
Packit 022b05
Packit 022b05
-- Notifications
Packit 022b05
Packit 022b05
pmNotifications OBJECT IDENTIFIER ::= { pmMib 0 }
Packit 022b05
Packit 022b05
pmNewRoleNotification NOTIFICATION-TYPE
Packit 022b05
    OBJECTS     { pmRoleStatus }
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The pmNewRoleNotification is sent when an agent is configured
Packit 022b05
        with its first instance of a previously unused role string
Packit 022b05
        (not every time a new element is given a particular role).
Packit 022b05
Packit 022b05
        An instance of the pmRoleStatus object is sent containing
Packit 022b05
        the new roleString in its index.  In the event that two or
Packit 022b05
        more elements are given the same role simultaneously, it is an
Packit 022b05
        implementation-dependent matter as to which pmRoleTable
Packit 022b05
        instance will be included in the notification."
Packit 022b05
    ::= { pmNotifications 1 }
Packit 022b05
Packit 022b05
pmNewCapabilityNotification NOTIFICATION-TYPE
Packit 022b05
    OBJECTS     { pmCapabilitiesType }
Packit 022b05
    STATUS      current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The pmNewCapabilityNotification is sent when an agent
Packit 022b05
        gains a new capability that did not previously exist in any
Packit 022b05
        element on the system (not every time an element gains a
Packit 022b05
        particular capability).
Packit 022b05
Packit 022b05
        An instance of the pmCapabilitiesType object is sent containing
Packit 022b05
        the identity of the new capability.  In the event that two or
Packit 022b05
        more elements gain the same capability simultaneously, it is an
Packit 022b05
        implementation-dependent matter as to which pmCapabilitiesType
Packit 022b05
        instance will be included in the notification."
Packit 022b05
    ::= { pmNotifications 2 }
Packit 022b05
Packit 022b05
pmAbnormalTermNotification NOTIFICATION-TYPE
Packit 022b05
    OBJECTS     { pmTrackingPEInfo }
Packit 022b05
    STATUS      current
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The pmAbnormalTermNotification is sent when a policy's
Packit 022b05
        pmPolicyAbnormalTerminations gauge value changes from zero to
Packit 022b05
        any value greater than zero and no such notification has been
Packit 022b05
        sent for that policy in the last 5 minutes.
Packit 022b05
Packit 022b05
        The notification contains an instance of the pmTrackingPEInfo
Packit 022b05
        object where the pmPolicyIndex component of the index
Packit 022b05
        identifies the associated policy and the rest of the index
Packit 022b05
        identifies an element on which the policy failed."
Packit 022b05
    ::= { pmNotifications 3 }
Packit 022b05
Packit 022b05
-- Compliance Statements
Packit 022b05
Packit 022b05
    pmConformance   OBJECT IDENTIFIER ::= { pmMib 12 }
Packit 022b05
    pmCompliances   OBJECT IDENTIFIER ::= { pmConformance 1 }
Packit 022b05
    pmGroups        OBJECT IDENTIFIER ::= { pmConformance 2 }
Packit 022b05
Packit 022b05
pmCompliance MODULE-COMPLIANCE
Packit 022b05
    STATUS  current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "Describes the requirements for conformance to
Packit 022b05
        the Policy-Based Management MIB"
Packit 022b05
    MODULE  -- this module
Packit 022b05
        MANDATORY-GROUPS { pmPolicyManagementGroup, pmSchedGroup,
Packit 022b05
                           pmNotificationGroup }
Packit 022b05
    ::= { pmCompliances 1 }
Packit 022b05
Packit 022b05
pmPolicyManagementGroup OBJECT-GROUP
Packit 022b05
    OBJECTS { pmPolicyPrecedenceGroup, pmPolicyPrecedence,
Packit 022b05
              pmPolicySchedule, pmPolicyElementTypeFilter,
Packit 022b05
              pmPolicyConditionScriptIndex, pmPolicyActionScriptIndex,
Packit 022b05
              pmPolicyParameters,
Packit 022b05
              pmPolicyConditionMaxLatency, pmPolicyActionMaxLatency,
Packit 022b05
              pmPolicyMaxIterations,
Packit 022b05
              pmPolicyDescription, pmPolicyMatches,
Packit 022b05
              pmPolicyAbnormalTerminations,
Packit 022b05
              pmPolicyExecutionErrors, pmPolicyDebugging,
Packit 022b05
              pmPolicyStorageType, pmPolicyAdminStatus,
Packit 022b05
              pmPolicyRowStatus, pmPolicyCodeText, pmPolicyCodeStatus,
Packit 022b05
              pmElementTypeRegMaxLatency, pmElementTypeRegDescription,
Packit 022b05
              pmElementTypeRegStorageType, pmElementTypeRegRowStatus,
Packit 022b05
              pmRoleStatus,
Packit 022b05
              pmCapabilitiesType, pmCapabilitiesOverrideState,
Packit 022b05
              pmCapabilitiesOverrideRowStatus,
Packit 022b05
              pmTrackingPEInfo,
Packit 022b05
              pmTrackingEPStatus,
Packit 022b05
              pmDebuggingMessage }
Packit 022b05
Packit 022b05
Packit 022b05
Packit 022b05
    STATUS  current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "Objects that allow for the creation and management of
Packit 022b05
        configuration policies."
Packit 022b05
    ::=  { pmGroups 1 }
Packit 022b05
Packit 022b05
pmSchedGroup OBJECT-GROUP
Packit 022b05
    OBJECTS { pmSchedLocalTime, pmSchedGroupIndex,
Packit 022b05
              pmSchedDescr, pmSchedTimePeriod,
Packit 022b05
              pmSchedMonth, pmSchedDay, pmSchedWeekDay,
Packit 022b05
              pmSchedTimeOfDay, pmSchedLocalOrUtc, pmSchedStorageType,
Packit 022b05
              pmSchedRowStatus
Packit 022b05
            }
Packit 022b05
    STATUS current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "Objects that allow for the scheduling of policies."
Packit 022b05
    ::= { pmGroups 2 }
Packit 022b05
Packit 022b05
pmNotificationGroup NOTIFICATION-GROUP
Packit 022b05
    NOTIFICATIONS { pmNewRoleNotification,
Packit 022b05
                    pmNewCapabilityNotification,
Packit 022b05
                    pmAbnormalTermNotification }
Packit 022b05
    STATUS        current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "Notifications sent by an Policy MIB agent."
Packit 022b05
    ::= { pmGroups 3 }
Packit 022b05
Packit 022b05
pmBaseFunctionLibrary OBJECT IDENTIFIER ::= { pmGroups 4 }
Packit 022b05
Packit 022b05
END