netconfcentral logo

DISMAN-SCHEDULE-MIB.yang



  module DISMAN-SCHEDULE-MIB {

    yang-version 1;

    namespace
      "urn:ietf:params:xml:ns:yang:smiv2:DISMAN-SCHEDULE-MIB";

    prefix disman-schedule;

    import SNMP-FRAMEWORK-MIB {
      prefix snmp-framework;
    }
    import SNMPv2-TC {
      prefix smiv2;
    }
    import yang-smi {
      prefix smi;
    }
    import ietf-yang-types {
      prefix yang;
    }

    organization
      "IETF Distributed Management Working Group";

    contact
      "WG EMail:  disman@dorothy.bmc.com
      Subscribe: disman-request@dorothy.bmc.com
      
      Chair:     Randy Presuhn
                 BMC Software, Inc.
      Postal:    Office 1-3141
                 2141 North First Street
                 San Jose,  California 95131
                 USA
      EMail:     rpresuhn@bmc.com
      Phone:     +1 408 546-1006
      
      Editor:    David B. Levi
                 Nortel Networks
      Postal:    4401 Great America Parkway
                 Santa Clara, CA 95052-8185
                 USA
      EMail:     dlevi@nortelnetworks.com
      Phone:     +1 865 686 0432
      
      Editor:    Juergen Schoenwaelder
                 TU Braunschweig
      Postal:    Bueltenweg 74/75
                 38106 Braunschweig
                 Germany
      EMail:     schoenw@ibr.cs.tu-bs.de
      Phone:     +49 531 391-3283";

    description
      "This MIB module defines a MIB which provides mechanisms to
      schedule SNMP set operations periodically or at specific
      points in time.";

    revision "2002-01-07" {
      description
        "Revised version, published as RFC 3231.
         
         This revision introduces a new object type called
         schedTriggers.  Created new conformance and compliance
         statements that take care of the new schedTriggers object.
         
         Several clarifications have been added to remove ambiguities
         that were discovered and reported by implementors.";
    }

    revision "1998-11-17" {
      description
        "Initial version, published as RFC 2591.";
    }


    typedef SnmpPduErrorStatus {
      type enumeration {
        enum "noResponse" {
          value -1;
        }
        enum "noError" {
          value 0;
        }
        enum "tooBig" {
          value 1;
        }
        enum "noSuchName" {
          value 2;
        }
        enum "badValue" {
          value 3;
        }
        enum "readOnly" {
          value 4;
        }
        enum "genErr" {
          value 5;
        }
        enum "noAccess" {
          value 6;
        }
        enum "wrongType" {
          value 7;
        }
        enum "wrongLength" {
          value 8;
        }
        enum "wrongEncoding" {
          value 9;
        }
        enum "wrongValue" {
          value 10;
        }
        enum "noCreation" {
          value 11;
        }
        enum "inconsistentValue" {
          value 12;
        }
        enum "resourceUnavailable" {
          value 13;
        }
        enum "commitFailed" {
          value 14;
        }
        enum "undoFailed" {
          value 15;
        }
        enum "authorizationError" {
          value 16;
        }
        enum "notWritable" {
          value 17;
        }
        enum "inconsistentName" {
          value 18;
        }
      }
      description
        "This TC enumerates the SNMPv1 and SNMPv2 PDU error status
         codes as defined in RFC 1157 and RFC 1905.  It also adds a
         pseudo error status code `noResponse' which indicates a
         timeout condition.";
    }

    container schedObjects {
      smi:oid "1.3.6.1.2.1.63.1";
      leaf schedLocalTime {
        smi:oid "1.3.6.1.2.1.63.1.1";
        type smiv2:DateAndTime {
          length "11";
        }
        config false;
        description
          "The local time used by the scheduler.  Schedules which
            refer to calendar time will use the local time indicated
            by this object.  An implementation MUST return all 11 bytes
            of the DateAndTime textual-convention so that a manager
            may retrieve the offset from GMT time.";
      }

      list schedEntry {
        smi:oid "1.3.6.1.2.1.63.1.2.1";
        key "schedOwner schedName";
        description
          "An entry describing a particular scheduled action.
            
            Unless noted otherwise, writable objects of this row
            can be modified independent of the current value of
            schedRowStatus, schedAdminStatus and schedOperStatus.
            In particular, it is legal to modify schedInterval
            and the objects in the schedCalendarGroup when
            schedRowStatus is active and schedAdminStatus and
            schedOperStatus are both enabled.";
        leaf schedOwner {
          smi:oid "1.3.6.1.2.1.63.1.2.1.1";
          type snmp-framework:SnmpAdminString {
            length "0..32";
          }
          description
            "The owner of this scheduling entry.  The exact semantics of
               this string are subject to the security policy defined by
               
               the security administrator.";
        }

        leaf schedName {
          smi:oid "1.3.6.1.2.1.63.1.2.1.2";
          type snmp-framework:SnmpAdminString {
            length "1..32";
          }
          description
            "The locally-unique, administratively assigned name for this
               scheduling entry.  This object allows a schedOwner to have
               multiple entries in the schedTable.";
        }

        leaf schedDescr {
          smi:default "";
          smi:oid "1.3.6.1.2.1.63.1.2.1.3";
          type snmp-framework:SnmpAdminString;
          description
            "The human readable description of the purpose of this
               scheduling entry.";
        }

        leaf schedInterval {
          smi:default "0";
          smi:oid "1.3.6.1.2.1.63.1.2.1.4";
          type uint32;
          units "seconds";
          description
            "The number of seconds between two action invocations of
               a periodic scheduler.  Implementations must guarantee
               that action invocations will not occur before at least
               schedInterval seconds have passed.
               
               The scheduler must ignore all periodic schedules that
               have a schedInterval value of 0.  A periodic schedule
               with a scheduling interval of 0 seconds will therefore
               never invoke an action.
               
               Implementations may be forced to delay invocations in the
               face of local constraints.  A scheduled management function
               should therefore not rely on the accuracy provided by the
               scheduler implementation.
               
               Note that implementations which maintain a list of pending
               activations must re-calculate them when this object is
               changed.";
        }

        leaf schedWeekDay {
          smi:default "()";
          smi:oid "1.3.6.1.2.1.63.1.2.1.5";
          type bits {
            bit sunday {
              position 0;
            }
            bit monday {
              position 1;
            }
            bit tuesday {
              position 2;
            }
            bit wednesday {
              position 3;
            }
            bit thursday {
              position 4;
            }
            bit friday {
              position 5;
            }
            bit saturday {
              position 6;
            }
          }
          description
            "The set of weekdays on which the scheduled action should
               take place.  Setting multiple bits will include several
               weekdays in the set of possible weekdays for this schedule.
               Setting all bits will cause the scheduler to ignore the
               weekday.
               
               Note that implementations which maintain a list of pending
               activations must re-calculate them when this object is
               changed.";
        }

        leaf schedMonth {
          smi:default "()";
          smi:oid "1.3.6.1.2.1.63.1.2.1.6";
          type bits {
            bit january {
              position 0;
            }
            bit february {
              position 1;
            }
            bit march {
              position 2;
            }
            bit april {
              position 3;
            }
            bit may {
              position 4;
            }
            bit june {
              position 5;
            }
            bit july {
              position 6;
            }
            bit august {
              position 7;
            }
            bit september {
              position 8;
            }
            bit october {
              position 9;
            }
            bit november {
              position 10;
            }
            bit december {
              position 11;
            }
          }
          description
            "The set of months during which the scheduled action should
               take place.  Setting multiple bits will include several
               months in the set of possible months for this schedule.
               
               Setting all bits will cause the scheduler to ignore the
               month.
               
               Note that implementations which maintain a list of pending
               activations must re-calculate them when this object is
               changed.";
        }

        leaf schedDay {
          smi:default "()";
          smi:oid "1.3.6.1.2.1.63.1.2.1.7";
          type bits {
            bit d1 {
              position 0;
            }
            bit d2 {
              position 1;
            }
            bit d3 {
              position 2;
            }
            bit d4 {
              position 3;
            }
            bit d5 {
              position 4;
            }
            bit d6 {
              position 5;
            }
            bit d7 {
              position 6;
            }
            bit d8 {
              position 7;
            }
            bit d9 {
              position 8;
            }
            bit d10 {
              position 9;
            }
            bit d11 {
              position 10;
            }
            bit d12 {
              position 11;
            }
            bit d13 {
              position 12;
            }
            bit d14 {
              position 13;
            }
            bit d15 {
              position 14;
            }
            bit d16 {
              position 15;
            }
            bit d17 {
              position 16;
            }
            bit d18 {
              position 17;
            }
            bit d19 {
              position 18;
            }
            bit d20 {
              position 19;
            }
            bit d21 {
              position 20;
            }
            bit d22 {
              position 21;
            }
            bit d23 {
              position 22;
            }
            bit d24 {
              position 23;
            }
            bit d25 {
              position 24;
            }
            bit d26 {
              position 25;
            }
            bit d27 {
              position 26;
            }
            bit d28 {
              position 27;
            }
            bit d29 {
              position 28;
            }
            bit d30 {
              position 29;
            }
            bit d31 {
              position 30;
            }
            bit r1 {
              position 31;
            }
            bit r2 {
              position 32;
            }
            bit r3 {
              position 33;
            }
            bit r4 {
              position 34;
            }
            bit r5 {
              position 35;
            }
            bit r6 {
              position 36;
            }
            bit r7 {
              position 37;
            }
            bit r8 {
              position 38;
            }
            bit r9 {
              position 39;
            }
            bit r10 {
              position 40;
            }
            bit r11 {
              position 41;
            }
            bit r12 {
              position 42;
            }
            bit r13 {
              position 43;
            }
            bit r14 {
              position 44;
            }
            bit r15 {
              position 45;
            }
            bit r16 {
              position 46;
            }
            bit r17 {
              position 47;
            }
            bit r18 {
              position 48;
            }
            bit r19 {
              position 49;
            }
            bit r20 {
              position 50;
            }
            bit r21 {
              position 51;
            }
            bit r22 {
              position 52;
            }
            bit r23 {
              position 53;
            }
            bit r24 {
              position 54;
            }
            bit r25 {
              position 55;
            }
            bit r26 {
              position 56;
            }
            bit r27 {
              position 57;
            }
            bit r28 {
              position 58;
            }
            bit r29 {
              position 59;
            }
            bit r30 {
              position 60;
            }
            bit r31 {
              position 61;
            }
          }
          description
            "The set of days in a month on which a scheduled action
               should take place.  There are two sets of bits one can
               use to define the day within a month:
               
               Enumerations starting with the letter 'd' indicate a
               day in a month relative to the first day of a month.
               The first day of the month can therefore be specified
               by setting the bit d1(0) and d31(30) means the last
               day of a month with 31 days.
               
               Enumerations starting with the letter 'r' indicate a
               day in a month in reverse order, relative to the last
               day of a month.  The last day in the month can therefore
               be specified by setting the bit r1(31) and r31(61) means
               the first day of a month with 31 days.
               
               Setting multiple bits will include several days in the set
               of possible days for this schedule.  Setting all bits will
               cause the scheduler to ignore the day within a month.
               
               Setting all bits starting with the letter 'd' or the
               letter 'r' will also cause the scheduler to ignore the
               day within a month.
               
               Note that implementations which maintain a list of pending
               activations must re-calculate them when this object is
               changed.";
        }

        leaf schedHour {
          smi:default "()";
          smi:oid "1.3.6.1.2.1.63.1.2.1.8";
          type bits {
            bit h0 {
              position 0;
            }
            bit h1 {
              position 1;
            }
            bit h2 {
              position 2;
            }
            bit h3 {
              position 3;
            }
            bit h4 {
              position 4;
            }
            bit h5 {
              position 5;
            }
            bit h6 {
              position 6;
            }
            bit h7 {
              position 7;
            }
            bit h8 {
              position 8;
            }
            bit h9 {
              position 9;
            }
            bit h10 {
              position 10;
            }
            bit h11 {
              position 11;
            }
            bit h12 {
              position 12;
            }
            bit h13 {
              position 13;
            }
            bit h14 {
              position 14;
            }
            bit h15 {
              position 15;
            }
            bit h16 {
              position 16;
            }
            bit h17 {
              position 17;
            }
            bit h18 {
              position 18;
            }
            bit h19 {
              position 19;
            }
            bit h20 {
              position 20;
            }
            bit h21 {
              position 21;
            }
            bit h22 {
              position 22;
            }
            bit h23 {
              position 23;
            }
          }
          description
            "The set of hours within a day during which the scheduled
               action should take place.
               
               Note that implementations which maintain a list of pending
               activations must re-calculate them when this object is
               changed.";
        }

        leaf schedMinute {
          smi:default "()";
          smi:oid "1.3.6.1.2.1.63.1.2.1.9";
          type bits {
            bit m0 {
              position 0;
            }
            bit m1 {
              position 1;
            }
            bit m2 {
              position 2;
            }
            bit m3 {
              position 3;
            }
            bit m4 {
              position 4;
            }
            bit m5 {
              position 5;
            }
            bit m6 {
              position 6;
            }
            bit m7 {
              position 7;
            }
            bit m8 {
              position 8;
            }
            bit m9 {
              position 9;
            }
            bit m10 {
              position 10;
            }
            bit m11 {
              position 11;
            }
            bit m12 {
              position 12;
            }
            bit m13 {
              position 13;
            }
            bit m14 {
              position 14;
            }
            bit m15 {
              position 15;
            }
            bit m16 {
              position 16;
            }
            bit m17 {
              position 17;
            }
            bit m18 {
              position 18;
            }
            bit m19 {
              position 19;
            }
            bit m20 {
              position 20;
            }
            bit m21 {
              position 21;
            }
            bit m22 {
              position 22;
            }
            bit m23 {
              position 23;
            }
            bit m24 {
              position 24;
            }
            bit m25 {
              position 25;
            }
            bit m26 {
              position 26;
            }
            bit m27 {
              position 27;
            }
            bit m28 {
              position 28;
            }
            bit m29 {
              position 29;
            }
            bit m30 {
              position 30;
            }
            bit m31 {
              position 31;
            }
            bit m32 {
              position 32;
            }
            bit m33 {
              position 33;
            }
            bit m34 {
              position 34;
            }
            bit m35 {
              position 35;
            }
            bit m36 {
              position 36;
            }
            bit m37 {
              position 37;
            }
            bit m38 {
              position 38;
            }
            bit m39 {
              position 39;
            }
            bit m40 {
              position 40;
            }
            bit m41 {
              position 41;
            }
            bit m42 {
              position 42;
            }
            bit m43 {
              position 43;
            }
            bit m44 {
              position 44;
            }
            bit m45 {
              position 45;
            }
            bit m46 {
              position 46;
            }
            bit m47 {
              position 47;
            }
            bit m48 {
              position 48;
            }
            bit m49 {
              position 49;
            }
            bit m50 {
              position 50;
            }
            bit m51 {
              position 51;
            }
            bit m52 {
              position 52;
            }
            bit m53 {
              position 53;
            }
            bit m54 {
              position 54;
            }
            bit m55 {
              position 55;
            }
            bit m56 {
              position 56;
            }
            bit m57 {
              position 57;
            }
            bit m58 {
              position 58;
            }
            bit m59 {
              position 59;
            }
          }
          description
            "The set of minutes within an hour when the scheduled action
               should take place.
               
               Note that implementations which maintain a list of pending
               activations must re-calculate them when this object is
               changed.";
        }

        leaf schedContextName {
          smi:default "";
          smi:oid "1.3.6.1.2.1.63.1.2.1.10";
          type snmp-framework:SnmpAdminString {
            length "0..32";
          }
          description
            "The context which contains the local MIB variable pointed
               to by schedVariable.";
        }

        leaf schedVariable {
          smi:default "zeroDotZero";
          smi:oid "1.3.6.1.2.1.63.1.2.1.11";
          type smiv2:VariablePointer;
          description
            "An object identifier pointing to a local MIB variable
               which resolves to an ASN.1 primitive type of INTEGER.";
        }

        leaf schedValue {
          smi:default "0";
          smi:oid "1.3.6.1.2.1.63.1.2.1.12";
          type int32;
          description
            "The value which is written to the MIB object pointed to by
               schedVariable when the scheduler invokes an action.  The
               implementation shall enforce the use of access control
               rules when performing the set operation on schedVariable.
               This is accomplished by calling the isAccessAllowed abstract
               service interface as defined in RFC 2571.
               
               Note that an implementation may choose to issue an SNMP Set
               message to the SNMP engine and leave the access control
               decision to the normal message processing procedure.";
        }

        leaf schedType {
          smi:default "periodic";
          smi:oid "1.3.6.1.2.1.63.1.2.1.13";
          type enumeration {
            enum "periodic" {
              value 1;
            }
            enum "calendar" {
              value 2;
            }
            enum "oneshot" {
              value 3;
            }
          }
          description
            "The type of this schedule.  The value periodic(1) indicates
               that this entry specifies a periodic schedule.  A periodic
               schedule is defined by the value of schedInterval.  The
               values of schedWeekDay, schedMonth, schedDay, schedHour
               and schedMinute are ignored.
               
               The value calendar(2) indicates that this entry describes a
               calendar schedule.  A calendar schedule is defined by the
               values of schedWeekDay, schedMonth, schedDay, schedHour and
               schedMinute.  The value of schedInterval is ignored.  A
               calendar schedule will trigger on all local times that
               satisfy the bits set in schedWeekDay, schedMonth, schedDay,
               schedHour and schedMinute.
               
               The value oneshot(3) indicates that this entry describes a
               one-shot schedule.  A one-shot schedule is similar to a
               calendar schedule with the additional feature that it
               disables itself by changing in the `finished'
               schedOperStatus once the schedule triggers an action.
               
               Note that implementations which maintain a list of pending
               activations must re-calculate them when this object is
               changed.";
        }

        leaf schedAdminStatus {
          smi:default "disabled";
          smi:oid "1.3.6.1.2.1.63.1.2.1.14";
          type enumeration {
            enum "enabled" {
              value 1;
            }
            enum "disabled" {
              value 2;
            }
          }
          description
            "The desired state of the schedule.";
        }

        leaf schedOperStatus {
          smi:oid "1.3.6.1.2.1.63.1.2.1.15";
          type enumeration {
            enum "enabled" {
              value 1;
            }
            enum "disabled" {
              value 2;
            }
            enum "finished" {
              value 3;
            }
          }
          config false;
          description
            "The current operational state of this schedule.  The state
               enabled(1) indicates this entry is active and that the
               scheduler will invoke actions at appropriate times.  The
               disabled(2) state indicates that this entry is currently
               inactive and ignored by the scheduler.  The finished(3)
               state indicates that the schedule has ended.  Schedules
               in the finished(3) state are ignored by the scheduler.
               A one-shot schedule enters the finished(3) state when it
               deactivates itself.
               
               Note that the operational state must not be enabled(1)
               when the schedRowStatus is not active.";
        }

        leaf schedFailures {
          smi:oid "1.3.6.1.2.1.63.1.2.1.16";
          type yang:counter32;
          config false;
          description
            "This variable counts the number of failures while invoking
               the scheduled action.  This counter at most increments once
               for a triggered action.";
        }

        leaf schedLastFailure {
          smi:default "noError";
          smi:oid "1.3.6.1.2.1.63.1.2.1.17";
          type SnmpPduErrorStatus;
          config false;
          description
            "The most recent error that occurred during the invocation of
               a scheduled action.  The value noError(0) is returned
               if no errors have occurred yet.";
        }

        leaf schedLastFailed {
          smi:default "0x0000000000000000";
          smi:oid "1.3.6.1.2.1.63.1.2.1.18";
          type smiv2:DateAndTime;
          config false;
          description
            "The date and time when the most recent failure occurred.
               
               The value '0000000000000000'H is returned if no failure
               occurred since the last re-initialization of the scheduler.";
        }

        leaf schedStorageType {
          smi:default "volatile";
          smi:oid "1.3.6.1.2.1.63.1.2.1.19";
          type smiv2:StorageType;
          description
            "This object defines whether this scheduled action is kept
               in volatile storage and lost upon reboot or if this row is
               backed up by non-volatile or permanent storage.
               
               Conceptual rows having the value `permanent' must allow
               write access to the columnar objects schedDescr,
               schedInterval, schedContextName, schedVariable, schedValue,
               and schedAdminStatus.  If an implementation supports the
               schedCalendarGroup, write access must be also allowed to
               the columnar objects schedWeekDay, schedMonth, schedDay,
               schedHour, schedMinute.";
        }

        leaf schedRowStatus {
          smi:oid "1.3.6.1.2.1.63.1.2.1.20";
          type smiv2:RowStatus;
          description
            "The status of this scheduled action.  A control that allows
               entries to be added and removed from this table.
               
               Note that the operational state must change to enabled
               when the administrative state is enabled and the row
               status changes to active(1).
               
               Attempts to destroy(6) a row or to set a row
               notInService(2) while the operational state is enabled
               result in inconsistentValue errors.
               
               The value of this object has no effect on whether other
               objects in this conceptual row can be modified.";
        }

        leaf schedTriggers {
          smi:oid "1.3.6.1.2.1.63.1.2.1.21";
          type yang:counter32;
          config false;
          description
            "This variable counts the number of attempts (either
               successful or failed) to invoke the scheduled action.";
        }
      }  // list schedEntry
    }  // container schedObjects

    notification schedActionFailure {
      smi:oid "1.3.6.1.2.1.63.2.0.1";
      description
        "This notification is generated whenever the invocation of a
         scheduled action fails.";
      container schedActionFailure-schedLastFailure {
        leaf schedOwner {
          type leafref {
            path "/disman-schedule:schedObjects/disman-schedule:schedEntry/disman-schedule:schedOwner";
          }
          config false;
          description
            "Automagically generated leafref leaf.";
        }

        leaf schedName {
          type leafref {
            path "/disman-schedule:schedObjects/disman-schedule:schedEntry/disman-schedule:schedName";
          }
          config false;
          description
            "Automagically generated leafref leaf.";
        }

        leaf schedLastFailure {
          smi:default "noError";
          smi:oid "1.3.6.1.2.1.63.1.2.1.17";
          type SnmpPduErrorStatus;
          config false;
          description
            "The most recent error that occurred during the invocation of
               a scheduled action.  The value noError(0) is returned
               if no errors have occurred yet.";
        }
      }  // container schedActionFailure-schedLastFailure

      container schedActionFailure-schedLastFailed {
        leaf schedOwner {
          type leafref {
            path "/disman-schedule:schedObjects/disman-schedule:schedEntry/disman-schedule:schedOwner";
          }
          config false;
          description
            "Automagically generated leafref leaf.";
        }

        leaf schedName {
          type leafref {
            path "/disman-schedule:schedObjects/disman-schedule:schedEntry/disman-schedule:schedName";
          }
          config false;
          description
            "Automagically generated leafref leaf.";
        }

        leaf schedLastFailed {
          smi:default "0x0000000000000000";
          smi:oid "1.3.6.1.2.1.63.1.2.1.18";
          type smiv2:DateAndTime;
          config false;
          description
            "The date and time when the most recent failure occurred.
               
               The value '0000000000000000'H is returned if no failure
               occurred since the last re-initialization of the scheduler.";
        }
      }  // container schedActionFailure-schedLastFailed
    }  // notification schedActionFailure
  }  // module DISMAN-SCHEDULE-MIB