--
-- Juniper Enterprise Specific MIB: Structure of Management Information
--
-- Copyright (c) 2020-2025, Juniper Networks, Inc.
-- All rights reserved.
--
-- The contents of this document are subject to change without notice.
--


JUNIPER-LSYSVD-MIB DEFINITIONS ::= BEGIN
   IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
      Unsigned32, Integer32    FROM SNMPv2-SMI
      TEXTUAL-CONVENTION,
      DisplayString            FROM SNMPv2-TC
      jnxLsysVD                FROM JUNIPER-JS-SMI
    ;


    jnxLSYSVDMIB MODULE-IDENTITY
        LAST-UPDATED  "202102160000Z" -- Feb 16, 2021
        ORGANIZATION  "Juniper Networks, Inc."
        CONTACT-INFO
            "Juniper Technical Assistance Center
             Juniper Networks, Inc.
             1133 Innovation Way
             Sunnyvale, CA 94089

             E-mail: support@juniper.net
             HTTP://www.juniper.net"
        DESCRIPTION
            "This module defines the LSYS Virtualization Device specific MIB
             for Juniper Enterprise, Logical-System (LSYS), as well as their
             assigned security profiles.
             Juniper documentation is recommended as the reference.

             The total count and names of the configured LSYS is the focus
             in this MIB.
            "

        REVISION "202102160000Z" -- Feb 16,2021
        DESCRIPTION "Initial version"
        ::= { jnxLsysVD 1 }


--
-- next level object identifiers under jnxLSYSVD
--
jnxLSYSVDObjects              OBJECT IDENTIFIER ::= { jnxLSYSVDMIB 1 }
jnxLSYSVDSummary              OBJECT IDENTIFIER ::= { jnxLSYSVDMIB 2 }


--
-- Textual Conventions
--
-- LsysVDIndex contains the semantics of LsysVDKeyIndex and should be used
-- for any objects defined in other MIB modules that need these semantics.

 LsysVDIndex ::= TEXTUAL-CONVENTION
     DISPLAY-HINT "d"
     STATUS       current
     DESCRIPTION
             "A unique value, non-negative, for each logical-system or tenant
             in the managed system.  It is
             recommended that values are assigned contiguously starting
             from 0.  The value for each interface sub-layer must remain
             constant at least from one re-initialization of the entity's
             network management system to the next re-initialization."
     SYNTAX       Unsigned32 (0..65535)


-- **********************************************************************
-- Tabular per-LSYS information objects:
--   Below are Basic information of LSYS (and TSYS) table indexed by Lsys id.
-- **********************************************************************

    jnxLSYSVDBasicInfoTable    OBJECT-TYPE
        SYNTAX                  SEQUENCE OF JnxLSYSVDBasicInfoEntry
        MAX-ACCESS              not-accessible
        STATUS                  current
        DESCRIPTION
            "LSYS Virtual Device basic information table, or name table."
    ::= { jnxLSYSVDObjects 1 }

    jnxLSYSVDBasicInfoEntry OBJECT-TYPE
        SYNTAX                  JnxLSYSVDBasicInfoEntry
        MAX-ACCESS              not-accessible
        STATUS                  current
        DESCRIPTION
            "An entry in LSYS name table."
    INDEX { jnxLSYSVDKey }
    ::= { jnxLSYSVDBasicInfoTable 1 }

    JnxLSYSVDBasicInfoEntry ::=
       SEQUENCE {
          jnxLSYSVDKey             LsysVDIndex,
          jnxLSYSVDName            DisplayString,
          jnxLSYSVDMode            INTEGER,
          jnxLSYSVDSecProfileName  DisplayString
    }

-- Entry definitions for the LSYS table

    jnxLSYSVDKey               OBJECT-TYPE
        SYNTAX                  LsysVDIndex
        MAX-ACCESS              not-accessible
        STATUS                  current
        DESCRIPTION
            "The index and name of the logical system."
        ::= { jnxLSYSVDBasicInfoEntry 1 }

     jnxLSYSVDName             OBJECT-TYPE
        SYNTAX                  DisplayString (SIZE(1..64))
        MAX-ACCESS              read-only
        STATUS                  current
        DESCRIPTION
            "The name of the logical system."
        ::= { jnxLSYSVDBasicInfoEntry 2 }

     jnxLSYSVDMode             OBJECT-TYPE
        SYNTAX                  INTEGER { unknown(-1), root(0), logical-system(1), tenant-system(2) }
        MAX-ACCESS              read-only
        STATUS                  current
        DESCRIPTION
            "The mode of root, user-created logical-system(LSYS) or tenant-system(TSYS)."
        ::= { jnxLSYSVDBasicInfoEntry 3 }

    jnxLSYSVDSecProfileName    OBJECT-TYPE
        SYNTAX                  DisplayString (SIZE(1..32))
        MAX-ACCESS              read-only
        STATUS                  current
        DESCRIPTION
            "The security profile name assigned for the logical system or tenant."
        ::= { jnxLSYSVDBasicInfoEntry 4 }


-- **********************************************************************
-- Scalar LSYS information :
--     summary of LSYS (and TSYS) counters and capacity
-- **********************************************************************

    jnxLSYSVDLsysCount        OBJECT-TYPE
        SYNTAX                  Unsigned32
        MAX-ACCESS              read-only
        STATUS                  current
        DESCRIPTION
           "Total LSYS count."
    ::= { jnxLSYSVDSummary 1 }

    jnxLSYSVDTsysCount        OBJECT-TYPE
        SYNTAX                  Unsigned32
        MAX-ACCESS              read-only
        STATUS                  current
        DESCRIPTION
           "Total TSYS count."
    ::= { jnxLSYSVDSummary 2 }

    jnxLSYSVDSecProfileCount  OBJECT-TYPE
        SYNTAX                  Unsigned32
        MAX-ACCESS              read-only
        STATUS                  current
        DESCRIPTION
           "Total security-profile count."
    ::= { jnxLSYSVDSummary 3 }

    jnxLSYSVDLsysMaximum      OBJECT-TYPE
        SYNTAX                  Unsigned32
        MAX-ACCESS              read-only
        STATUS                  current
        DESCRIPTION
           "Maximum allowed logical-systems."
    ::= { jnxLSYSVDSummary 4 }

    jnxLSYSVDTsysMaximum      OBJECT-TYPE
        SYNTAX                  Unsigned32
        MAX-ACCESS              read-only
        STATUS                  current
        DESCRIPTION
           "Maximum allowed tenants."
    ::= { jnxLSYSVDSummary 5 }

    jnxLSYSVDSecProfileMaximum OBJECT-TYPE
        SYNTAX                  Unsigned32
        MAX-ACCESS              read-only
        STATUS                  current
        DESCRIPTION
           "Maximum allowed security-profiles."
    ::= { jnxLSYSVDSummary 6 }


 -- ***************************************************************
 -- definition of LSYS and TSYS related traps. (TBD)
 -- ***************************************************************

--
-- End of File
--



END
