-- ZyXEL Communications Corporation
-- Private Enterprise MIB definition 
  
-- This file describes the ZyXEL Communications Corporation Enterprise MIB.
-- It contains ZyXEL products OIDs, and common managed objects.

-- ZYXEL-CLUSTER-MIB.mib
-- Revision 1.4  2013/12/06 

ZYXEL-CLUSTER-MIB DEFINITIONS ::= BEGIN

    IMPORTS
	OBJECT-TYPE
		FROM SNMPv2-SMI			-- RFC2578	
		
	MODULE-IDENTITY
		FROM SNMPv2-SMI
		
  MacAddress
  	FROM SNMPv2-TC
	
	RowStatus
		FROM SNMPv2-TC			-- RFC2579
		
	DisplayString                                          
	  	FROM SNMPv2-TC

	esMgmt			
		FROM ZYXEL-ES-SMI;

	zyxelCluster MODULE-IDENTITY
		LAST-UPDATED	"201207010000Z"    
		ORGANIZATION "Enterprise Solution ZyXEL"     
		CONTACT-INFO
			""	   
		DESCRIPTION
			"The subtree for cluster"
		::= { esMgmt 14 }
	
	zyxelClusterSetup 		OBJECT IDENTIFIER ::= { zyxelCluster 1 }		
	zyxelClusterStatus 		OBJECT IDENTIFIER ::= { zyxelCluster 2 }

        
--  1.zyxelClusterSetup
	
-- 		zyxelClusterManager
		zyxelClusterManager    	OBJECT IDENTIFIER ::= { zyxelClusterSetup 1 }

        zyClusterManagerMaxNumberOfManagers OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The maximum number of cluster managers that can be created."
        ::= { zyxelClusterManager 1 }
        
-- 		zyxelClusterManagerTable
        zyxelClusterManagerTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelClusterManagerEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The table contains cluster manager configuration."
        ::= { zyxelClusterManager 2 }
        
		zyxelClusterManagerEntry OBJECT-TYPE
        SYNTAX	ZyxelClusterManagerEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
		"An entry contains cluster manager configuration. "
        INDEX          	{ zyClusterManagerVid }
        ::= { zyxelClusterManagerTable 1 }

        ZyxelClusterManagerEntry ::=
           SEQUENCE {
        	zyClusterManagerVid			INTEGER,
        	zyClusterManagerName		DisplayString,
        	zyClusterManagerRowStatus	RowStatus
           }

        zyClusterManagerVid OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "This is the VLAN ID and is only applicable if the switch is set to 802.1Q VLAN. 
		 All switches must be directly connected and in the same VLAN group to belong to the same cluster."
        ::= { zyxelClusterManagerEntry 1 }

        zyClusterManagerName OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
		"Type a name to identify the cluster manager."
        ::= { zyxelClusterManagerEntry 2 }

        zyClusterManagerRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
        "This object allows cluster manager entries to be created and deleted from cluster manager table."
        ::= { zyxelClusterManagerEntry 3 }

-- 		zyxelClusterMembers
		zyxelClusterMembers     	OBJECT IDENTIFIER ::= { zyxelClusterSetup 2 }

        zyClusterMemberMaxNumberOfMembers OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The maximum number of cluster members that can be created."
        ::= { zyxelClusterMembers 1 }
        
-- 		zyxelClusterMemberTable
        zyxelClusterMemberTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelClusterMemberEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The table contains cluster member configuration."
        ::= { zyxelClusterMembers 2 }
        
		zyxelClusterMemberEntry OBJECT-TYPE
        SYNTAX	ZyxelClusterMemberEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
		"An entry contains cluster member configuration."
        INDEX          	{ zyClusterMemberMacAddress }
        ::= { zyxelClusterMemberTable 1 }

        ZyxelClusterMemberEntry ::=
           SEQUENCE {
        	zyClusterMemberMacAddress	MacAddress,
        	zyClusterMemberName			DisplayString,
        	zyClusterMemberModel		DisplayString,
        	zyClusterMemberPassword		DisplayString,
        	zyClusterMemberRowStatus	RowStatus
           }

        zyClusterMemberMacAddress OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "This is the cluster member switch's hardware MAC address."
        ::= { zyxelClusterMemberEntry 1 }

        zyClusterMemberName OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "This is the cluster member switch's system name."
        ::= { zyxelClusterMemberEntry 2 }

        zyClusterMemberModel OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "This is the cluster member switch's model name."
        ::= { zyxelClusterMemberEntry 3 }

        zyClusterMemberPassword OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "Each cluster member's password is its administration password."
        ::= { zyxelClusterMemberEntry 4 }
        
        zyClusterMemberRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
        "This object allows cluster member entries to be created and deleted from cluster member table."
        ::= { zyxelClusterMemberEntry 5 }
        
-- 		zyxelClusterCandidates
		zyxelClusterCandidate     	OBJECT IDENTIFIER ::= { zyxelClusterStatus 1 }
        
-- 		zyxelClusterCandidateTable
        zyxelClusterCandidateTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelClusterCandidateEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The table contains cluster candidate information."
        ::= { zyxelClusterCandidate 1 }
        
		zyxelClusterCandidateEntry OBJECT-TYPE
        SYNTAX	ZyxelClusterCandidateEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
		"An entry contains cluster candidate information."
        INDEX          	{ zyClusterCandidateMacAddress }
        ::= { zyxelClusterCandidateTable 1 }

        ZyxelClusterCandidateEntry ::=
           SEQUENCE {
        	zyClusterCandidateMacAddress	MacAddress,
        	zyClusterCandidateName			DisplayString,
        	zyClusterCandidateModel			DisplayString
           }

        zyClusterCandidateMacAddress OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "This is the cluster candidate switch's hardware MAC address."
        ::= { zyxelClusterCandidateEntry 1 }

        zyClusterCandidateName OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "This is the cluster candidate switch's system name."
        ::= { zyxelClusterCandidateEntry 2 }

        zyClusterCandidateModel OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "This is the cluster candidate switch's model name."
        ::= { zyxelClusterCandidateEntry 3 }

-- 	 2.	zyxelClusterStatus

        zyClusterRole OBJECT-TYPE
        SYNTAX  INTEGER {
        	none(0),
        	manager(1),
        	member(2)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The role of this switch within the cluster."
        ::= { zyxelClusterStatus 2 }

        zyClusterInfoManager OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The cluster manager switch's hardware MAC address."
        ::= { zyxelClusterStatus 3 }
        
-- 		zyxelClusterStatusMemberTable
        zyxelClusterInfoMemberTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelClusterInfoMemberEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The table contains cluster member information."
        ::= { zyxelClusterStatus 4 }
        
		zyxelClusterInfoMemberEntry OBJECT-TYPE
        SYNTAX	ZyxelClusterInfoMemberEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
		"An entry contains cluster member information."
        INDEX          	{ zyClusterInfoMemberMacAddress }
        ::= { zyxelClusterInfoMemberTable 1 }

        ZyxelClusterInfoMemberEntry ::=
           SEQUENCE {
        	zyClusterInfoMemberMacAddress	MacAddress,
        	zyClusterInfoMemberName			DisplayString,
        	zyClusterInfoMemberModel		DisplayString,
        	zyClusterInfoMemberStatus		INTEGER
           }

        zyClusterInfoMemberMacAddress OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "This is the cluster member switch's hardware MAC address."
        ::= { zyxelClusterInfoMemberEntry 1 }

        zyClusterInfoMemberName OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "This is the cluster member switch's system name."
        ::= { zyxelClusterInfoMemberEntry 2 }

        zyClusterInfoMemberModel OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "This is the cluster member switch's model name."
        ::= { zyxelClusterInfoMemberEntry 3 }

        zyClusterInfoMemberStatus OBJECT-TYPE
        SYNTAX  INTEGER {
        	error(0),
        	online(1),
        	offline(2)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "There are three types in cluster status. Online(the cluster member switch is accessible), 
		 Error (for example, the cluster member switch password was changed or the switch was set 
		 as the manager and so left the member list, etc.), Offline (the switch is disconnected - 
		 Offline shows approximately 1.5 minutes after the link between cluster member and manager goes down)."
        ::= { zyxelClusterInfoMemberEntry 4 }
        
                          
END

