-- *****************************************************************
-- Extension to the ENTITY-MIB supporting entity pre-provisioning.
--
-- April 1999, Patrick Gili
--
-- Copyright (c) 1999 by cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************

CISCO-ENTITY-PROVISIONING-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE                         FROM SNMPv2-SMI
    AutonomousType                      FROM SNMPv2-TC
    MODULE-COMPLIANCE,
    OBJECT-GROUP                        FROM SNMPv2-CONF
    ciscoMgmt                           FROM CISCO-SMI
    entPhysicalIndex                    FROM ENTITY-MIB
    ;

ciscoEntityProvMIB MODULE-IDENTITY
    LAST-UPDATED   "9907082052Z" -- 07/08/99 15:52 PM EDT
    ORGANIZATION   "Cisco Systems, Inc."
    CONTACT-INFO   "Cisco Systems
                    Customer Service

                    Postal: 170 W Tasman Drive
                    San Jose, CA 95134

                    Tel: +1 800 553-NETS

                    E-mail: cs-dslam@cisco.com"
    DESCRIPTION
        "This MIB module defines the objects that support provisioning
        of 'container' class physical entities.  Provisioning sets up
        a 'container' to hold a specified physical entity.  This allows
        a management client to configure the specified physical entity,
        including all of its subordinates physical entities, before
        installation.

        Consider a network manager of a CLEC (Competitive Local Exchange
        Carrier) planning for the installation of the hardware necessary
        to support several new subscribers.  This network manager wants
        to pre-configure the ADSL (Asymmetric Digital Subscriber Loop)
        modems that will support these subscribers, thereby reducing the
        bring-up time once they arrive.  Under normal circumstances this
        would not be possible.  However, provisioning allows the network
        manager to 'create' the physical entities that represent the new
        modems.  In essence, the device simulates the installation of
        the new modules into the system.  This has the effect of creating
        all conceptual rows in all the necessary tables that support the
        physical entity and all its subordinate physical entities (e.g.,
        entPhysicalTable, entAliasMappingTable, and ifTable)."
    ::= { ciscoMgmt 139 }

-- MIB Object Definitions

ciscoEntityProvMIBObjects OBJECT IDENTIFIER ::=
    { ciscoEntityProvMIB 1 }

-- Entity Provisioning Table

ceProvContainerTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CeProvContainerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table extends some entries in the entPhysicalTable
        (see ENTITY-MIB for further details).  A entry appears in
        this table for a physical entity matching the following
        criteria:

        1)  Its entPhysicalClass object has a value of 'container';

        2)  It can contain one (but not multiple) physical entity;
            and,

        3)  It supports provisioning."
    ::= { ciscoEntityProvMIBObjects 1 }

ceProvContainerEntry OBJECT-TYPE
    SYNTAX      CeProvContainerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The attributes that support the provisioning of a physical
        entity of the 'container' class (i.e., a physical entity
        having an entPhysicalClass of 'container')."
    INDEX       { entPhysicalIndex }
    ::= { ceProvContainerTable 1 }

CeProvContainerEntry ::= SEQUENCE {
    ceProvContainerStatus   INTEGER,
    ceProvContainerEquipped AutonomousType,
    ceProvContainerDetected AutonomousType
}

ceProvContainerStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    unequipped(1),
                    provisioned(2),
                    mismatched(3),
                    invalid(4),
                    equipped(5),
                    failed(6)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object represents the equipment status of the container:

        'unequipped'    The container neither holds a physical entity,
                        nor has it been provisioned to hold a physical
                        entity.

        'provisioned'   The container does not hold a physical entity
                        However, it has been provisioned to hold a
                        physical entity of a particular type.  This
                        physical entity appears in the entPhysicalTable
                        as a child of the container.

        'mismatched'    The container holds a valid physical entity that
                        does not match the type of physical entity for
                        which the container has been previously
                        provisioned.

        'invalid'       The container holds a recognized physical entity
                        that the container is not capable of supporting,
                        or the container holds an unrecognized physical
                        entity.

        'equipped'      The container holds a valid physical entity for
                        which the container has been previously
                        provisioned to hold.

        'failed'        The container holds a valid physical entity that
                        has become totally inoperable and incapable of
                        providing service."
    ::= { ceProvContainerEntry 1 }

ceProvContainerEquipped OBJECT-TYPE
    SYNTAX      AutonomousType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object specifies the vendor type of the physical entity
        for which this container has been provisioned to hold.  If the
        container has no provisioning, then the value of this object
        is { 0 0 }.

        For more information concerning 'vendor type', see the
        definition of the entPhysicalVendorType object in the
        ENTITY-MIB."
    ::= { ceProvContainerEntry 2 }

ceProvContainerDetected OBJECT-TYPE
    SYNTAX      AutonomousType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the vendor type of the physical entity
        held by the container.  If the container does not hold a
        physical entity, then the value of this object is { 0 0 }.

        For more information concerning 'vendor type', see the
        definition of the entPhysicalVendorType object in the
        ENTITY-MIB."
    ::= { ceProvContainerEntry 3 }

-- MIB Notification Definitions

ceProvMIBNotificationsPrefix OBJECT IDENTIFIER ::= 
    { ciscoEntityProvMIB 2 }

ceProvMIBNotifications OBJECT IDENTIFIER ::= 
    { ceProvMIBNotificationsPrefix 0 }

-- MIB Conformance Statements

ceProvMIBConformance OBJECT IDENTIFIER ::= 
    { ciscoEntityProvMIB 3 }

ceProvMIBCompliances OBJECT IDENTIFIER ::= 
    { ceProvMIBConformance 1 }

ceProvMIBGroups OBJECT IDENTIFIER ::= 
    { ceProvMIBConformance 2 }

-- Compliance

ceProvMIBCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
        "The compliance statement for entities that implement the
        CISCO-ENTITY-PROVISIONING-MIB.  Implementation of this MIB
        is strongly recommended for any platform targeted for a
        carrier-class environment."

    MODULE -- this module
        MANDATORY-GROUPS {
            ceProvContainerGroup
        }
    ::= { ceProvMIBCompliances 1 }

-- Units of Conformance

ceProvContainerGroup OBJECT-GROUP
    OBJECTS {
        ceProvContainerStatus,
        ceProvContainerEquipped,
        ceProvContainerDetected
    }
    STATUS current
    DESCRIPTION
        "A collection of attributes that support provisioning of a
        physical entity of the 'container' class."
    ::= { ceProvMIBGroups 1 }

END
