ALCATEL-ENT1-APP-MON-MIB DEFINITIONS ::= BEGIN

IMPORTS
        NOTIFICATION-TYPE,
        OBJECT-TYPE,
        OBJECT-IDENTITY,
        MODULE-IDENTITY,
        Counter32, Integer32, Unsigned32, Counter64
                FROM SNMPv2-SMI
          InetAddress, InetAddressType
      	FROM INET-ADDRESS-MIB
	OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP
		FROM SNMPv2-CONF
	RowStatus, DateAndTime
		FROM SNMPv2-TC
	softentIND1AppMon
		FROM ALCATEL-ENT1-BASE
          SnmpAdminString                    
                    FROM SNMP-FRAMEWORK-MIB
        InterfaceIndex
    	FROM IF-MIB;

alaAppMonMIB MODULE-IDENTITY
	LAST-UPDATED  "201401070000Z"
	ORGANIZATION  "Alcatel-Lucent"
	CONTACT-INFO
			"Please consult with the Customer Service to ensure the most appropriate
			version of this document is used with the products in question:
	
	Alcatel-Lucent, Enterprise Solutions Division
	(Formerly Alcatel Internetworking, Incorporated)
	26801 West Agoura Road
	Agoura Hills, CA  91301-5122
	United States Of America

	Telephone:               
	North America  +1 800 995 2696
	Latin America  +1 877 919 9526
	Europe         +31 23 556 0100
	Asia           +65 394 7933
	All Other      +1 818 878 4507

	Electronic Mail:         support@ind.alcatel.com
	World Wide Web:          http://alcatel-lucent.com/wps/portal/enterprise
	File Transfer Protocol:  ftp://ftp.ind.alcatel.com/pub/products/mibs"

	DESCRIPTION 
		"This module describes an authoritative enterprise-specific Simple 
		Network Management Protocol (SNMP) Management Information Base (MIB): 

		The right to make changes in specification and other information 
		contained in this document without prior notice is reserved. 

		No liability shall be assumed for any incidental, indirect, special, or 
		consequential damages whatsoever arising from or related to this 
		document or the information contained herein. 

		Vendors, end-users, and other interested parties are granted 
		non-exclusive license to use this specification in connection with 
		management of the products for which it is intended to be used. 

		Copyright (C) 1995-2008 Alcatel-Lucent, Incorporated 
		ALL RIGHTS RESERVED WORLDWIDE" 

    REVISION      "201401070000Z"
    DESCRIPTION
        "The latest version of this MIB Module."

::= { softentIND1AppMon 1}

-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

alaAppMonMIBNotifications	OBJECT IDENTIFIER ::= { alaAppMonMIB 0 }

alaAppMonMIBObjects OBJECT-IDENTITY
	STATUS 			current
	DESCRIPTION 	"Branch for AppMon sub-system managed objects."
::= { alaAppMonMIB 1 }

alaAppMonMIBConformance OBJECT-IDENTITY
	STATUS 			current
	DESCRIPTION 	"Branch for AppMon sub-system conformance information."
::= { alaAppMonMIB 2 }

alaAppMonMIBGroups OBJECT-IDENTITY
	  STATUS          current
        DESCRIPTION
                                "Branch for AppMon subsystem
                                units of conformance."
        ::= { alaAppMonMIBConformance 1 }

alaAppMonMIBCompliances OBJECT-IDENTITY
        STATUS          current
        DESCRIPTION
                                "Branch for AppMon subsystem
                                compliance statements."
        ::= { alaAppMonMIBConformance 2 }

-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

alaAppMonCertConfig         OBJECT  IDENTIFIER ::= { alaAppMonMIBObjects 1 }

-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

alaAppMonUpdateSignatureFile OBJECT-TYPE
  SYNTAX	INTEGER {
                default(1),
                force(2),
                autoCreat(3),
                autoCreatForc(4)
              }
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION   "Updates the signature file on the switch. This creates an application pool and loads the contents (list of
                applications that are part of the signature kit) of a new or updated application signature file into the switch.

                default: Updates only when the new signature file must be of a higher version than the running signature file, and must contain
                application signatures of old signature file and newly released applications signatures (if any).

                force: This option is used to update a signature file irrespective of the version of the signature file.

                autoCreat: This option is used to update a signature file and recreate the auto-groups.

                autoCreatForc: This option is used to update a signature file irrespective of the version of the signature file.
                and recreate auto-groups."
  DEFVAL { default }
  ::= { alaAppMonCertConfig 1}

alaAppMonUpdateSignatureStatus OBJECT-TYPE
SYNTAX  INTEGER {
        none (1),
        inProgress (2),
        completed (3),
        failed (4),
        timedOut (5)
  }
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
         "The value of alaAppMonUpdateSignatureStatus indicates the current
         status of the signature kit update.

          none:         alaAppMonUpdateSignatureFile has not yet been attempted.
          inProgress:   the signature kit update is currently underway.
          completed:    the signature kit update completed successfully.
          failed:       the signature kit update failed.
          timedOut:     the signature kit update timed out."

  DEFVAL { none }
  ::= { alaAppMonCertConfig 2}

-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

alaAppMonConfig 	OBJECT	IDENTIFIER ::= { alaAppMonMIBObjects 2 }

-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

alaAppMonAdminStatus OBJECT-TYPE
  SYNTAX	INTEGER {
                enable (1),
                disable (2)
              }
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "Enable/Disable DPI on the device."
  DEFVAL      { disable }
  ::= { alaAppMonConfig 1}

alaAppMonUpdateAppList OBJECT-TYPE
  SYNTAX	INTEGER {
		    default(1),
                apply (2)
              }
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "To trigger an apply of the application list.
              default: No action.
              apply: Applys the application list and brings back to default."
  DEFVAL { default }
  ::= { alaAppMonConfig 2}

alaAppMonClearAppList OBJECT-TYPE
  SYNTAX	INTEGER {
		    default(1),
                    clear (2),
		    enforcement(3),
		    monitor(4)	
              }
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "To trigger clear of the application list.
              default: No action.
              clear: Not supported any more.
	      enforcement: Clears the enforcement application list.
	      monitor: Clears the monitor application list and brings it back to default"
  DEFVAL { default }
  ::= { alaAppMonConfig 3}

alaAppMonFlowTableFlush OBJECT-TYPE
  SYNTAX	INTEGER {
		default(1),
		flush(2),
		enforcement(3),
		monitor(4)
		} 
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "To trigger flushing of the IPv4 and IPv6 flow table.
              default: No action.
              flush: Not supported any more.
	      enforcement: flushes the enforcement flows and brings it back to default.
	      monitor: flushes the monitor flows and brings it back to default"
  DEFVAL { default }
  ::= { alaAppMonConfig 4}

alaAppMonAgingInterval OBJECT-TYPE
  SYNTAX	Integer32 (5..60)
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "App Mon Aging Interval in seconds."
  DEFVAL { 15 }
  ::= { alaAppMonConfig 5}

alaAppMonAppliedApplications OBJECT-TYPE
  SYNTAX	Integer32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION "A count of the number of active applications that have been applied."
  ::= { alaAppMonConfig 6}

alaAppMonApplicationPoolApplications OBJECT-TYPE
  SYNTAX	Integer32 
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION "A count of the number of applications in the Application pool."
  ::= { alaAppMonConfig 7}

alaAppMonSignatureFileVersion OBJECT-TYPE
  SYNTAX	SnmpAdminString (SIZE(1..32))
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION "Signature File Version Information that contains the application signatures."
  ::= { alaAppMonConfig 8}

alaAppMonSignatureFileAppCount OBJECT-TYPE
  SYNTAX	Integer32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION "A count of the number of applications in the signature file."
  ::= { alaAppMonConfig 9}

alaAppMonSignatureFileName OBJECT-TYPE
  SYNTAX	SnmpAdminString (SIZE(1..32))
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "Signature File Name"
  DEFVAL { "/flash/UAppSig.upgrade_kit" }
  ::= { alaAppMonConfig 10}

alaAppMonAppGrpFromAppName OBJECT-TYPE
  SYNTAX      	SnmpAdminString (SIZE(1..128))
  MAX-ACCESS  	read-write
  STATUS      	current
  DESCRIPTION  	"The first application name to be configured when adding a range of applications to a application group at one go."
  ::= { alaAppMonConfig 11}

alaAppMonAppGrpToAppName OBJECT-TYPE
  SYNTAX      	SnmpAdminString (SIZE(1..128))
  MAX-ACCESS  	read-write
  STATUS      	current
  DESCRIPTION  	"The last application name to be configured when adding a range of applications to a application group at one go."
  ::= { alaAppMonConfig 12}

alaAppMonAddAppGrpName OBJECT-TYPE
  SYNTAX      	SnmpAdminString (SIZE(1..32))
  MAX-ACCESS  	read-write
  STATUS      	current
  DESCRIPTION  	"Group Name to be configured during app group creation when a range of applications need to be a added."
  ::= { alaAppMonConfig 13}

alaAppMonOperationalStatus OBJECT-TYPE
  SYNTAX	INTEGER {
                enable (1),
                disable (2)
              }
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION "Operational status of App Mon on the device."
  DEFVAL      { disable }
  ::= { alaAppMonConfig 14}

alaAppMonForceFlowSyncStatus OBJECT-TYPE
  SYNTAX	INTEGER {
                default (1),
                sync (2),
		enforcement (3),
		monitor (4)
              }
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "Flow Table Sync status of App Mon on the device."
  DEFVAL      { default }
  ::= { alaAppMonConfig 15}

alaAppMonAutoGroupCreation OBJECT-TYPE
  SYNTAX	INTEGER {
                enable (1),
                disable (2)
              }
  MAX-ACCESS  	read-write
  STATUS      	current
  DESCRIPTION  	"App Mon Auto Group Creation Status."
  DEFVAL      { disable }
  ::= { alaAppMonConfig 16}

alaAppMonLoggingThresholdFlows OBJECT-TYPE
  SYNTAX	Integer32 (0 | 1000..20000)
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "This is the threshold on the number of monitored
               application flows beyond which the flow records 
               would be logged to flash file.
               If set 0, then logging of flow records to file is
               disabled."
  DEFVAL      { 5000 }
  ::= { alaAppMonConfig 17} 

alaAppMonAddRemoveAppGrpName OBJECT-TYPE
  SYNTAX        INTEGER {
                add(1),
                remove(2)
        }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION   "Group Name to be added or removed."
  ::= { alaAppMonConfig 18}

alaAppMonAOSCompatibilityVersion OBJECT-TYPE
  SYNTAX	Integer32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION "AOS compatibility version information."
  ::= { alaAppMonConfig 19}

alaAppMonKitType OBJECT-TYPE
  SYNTAX      	INTEGER {
		production(1),
		factory(2)
	}
  MAX-ACCESS  	read-only
  STATUS      	current
  DESCRIPTION  	"Type of the AppMon kit for signature file pointed by alaAppMonSignatureFileName."
  ::= { alaAppMonConfig 20}

alaAppMonUpgradedKitType OBJECT-TYPE
  SYNTAX      	INTEGER {
		production(1),
		factory(2)
	}
  MAX-ACCESS  	read-only
  STATUS      	current
  DESCRIPTION  	"Type of the AppMon kit in use."
  ::= { alaAppMonConfig 21}

alaAppMonUpgradedSignatureFileVersion OBJECT-TYPE
  SYNTAX      SnmpAdminString (SIZE(1..32))
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION "Upgraded Signature File Version Information."
  ::= { alaAppMonConfig 22}

alaAppMonClearConfig OBJECT-TYPE
  SYNTAX        INTEGER {
                yes (1),
                no (2)
              }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION   "Clear the App Mon configuration."
  DEFVAL      { no }
  ::= { alaAppMonConfig 23}

alaAppMonEnforcementIpv4 OBJECT-TYPE
  SYNTAX	INTEGER { 
		enable(1),
		disable(2)
		}
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "To enable or disable IPv4 L3 mode."
  DEFVAL      { enable } 
  ::= { alaAppMonConfig 24}

alaAppMonEnforcementIpv6 OBJECT-TYPE
  SYNTAX	INTEGER { 
		enable(1),
		disable(2)
		}
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "To enable or disable IPv6 L3 mode."
  DEFVAL      { enable }
  ::= { alaAppMonConfig 25}

alaAppMonEnforcementFlowTableStatsAdminStatus OBJECT-TYPE
  SYNTAX        INTEGER {
                enable (1),
                disable (2)
              }
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "Enable/Disable flow table stats on the device."
  DEFVAL      { disable }
  ::= { alaAppMonConfig 26}

alaAppMonEnforcementStatsInterval OBJECT-TYPE
  SYNTAX	Integer32 (-1|10..3600)
  MAX-ACCESS  read-write
  STATUS      deprecated
  DESCRIPTION "AppMonEnforcement stats interval in seconds. The stats interval can be configured in the range 10-3600 seconds as multiples of 5."
  DEFVAL { 60 }
  ::= { alaAppMonConfig 27}

alaAppMonEnforcementLoggingThresholdFlows OBJECT-TYPE
  SYNTAX        Integer32 (0 | 1000..60000)
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "This is the threshold on the number of monitored
               application flows beyond which the flow records
               would be logged to flash file.
               If set 0, then logging of flow records to file is
               disabled."
  DEFVAL      { 20000 }
  ::= { alaAppMonConfig 28}

alaAppMonFlowSyncEnforcementInterval OBJECT-TYPE
  SYNTAX	Integer32 (10 .. 3600)
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "Flow Table Sync status of App Mon on the device."
  DEFVAL      { 60 }
  ::= { alaAppMonConfig 29}

alaAppMonFlowSyncMonitorInterval OBJECT-TYPE
  SYNTAX	Integer32 (10 .. 3600)
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "Flow Table Sync status of App Mon on the device."
  DEFVAL      { 900 }
  ::= { alaAppMonConfig 30}

alaAppMonEnforcementAppliedApplications OBJECT-TYPE
  SYNTAX	Integer32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION "A count of the number of active applications that have been applied."
  ::= { alaAppMonConfig 31}

----------------------------------
-- Port Config Table --
----------------------------------

alaAppMonPortConfigTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaAppMonPortConfigEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing AppMon port configuration information."
  ::= { alaAppMonMIBObjects 3 }

alaAppMonPortConfigEntry  OBJECT-TYPE
  SYNTAX                AlaAppMonPortConfigEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "AppMon port configuration entry."
  INDEX { alaAppMonPortConfigSlotPortIndex }
  ::= { alaAppMonPortConfigTable 1 }

AlaAppMonPortConfigEntry	::=
	SEQUENCE
	{
		alaAppMonPortConfigSlotPortIndex 		InterfaceIndex,
		alaAppMonPortConfigPortStatus		    INTEGER,	
		alaAppMonPortConfigOperStatus		    INTEGER,
		alaAppMonEnforcementPortConfigTcpStatus	    INTEGER,
		alaAppMonEnforcementPortConfigUdpStatus	    INTEGER	
	}

alaAppMonPortConfigSlotPortIndex OBJECT-TYPE
  SYNTAX		InterfaceIndex
  MAX-ACCESS  		not-accessible
  STATUS  		current
  DESCRIPTION   "The physical identification number for this port."
  ::= { alaAppMonPortConfigEntry  1 }

alaAppMonPortConfigPortStatus OBJECT-TYPE
  SYNTAX      INTEGER {
                enable (1),
                disable (2)
			}
  MAX-ACCESS  	read-write
  STATUS      	current
  DESCRIPTION  	"The AppMon status on the port."
  DEFVAL      	{ enable }
  ::= { alaAppMonPortConfigEntry 2}

alaAppMonPortConfigOperStatus OBJECT-TYPE
  SYNTAX      INTEGER {
                up (1),
                down (2)
			}
  MAX-ACCESS   	read-only
  STATUS      	current
  DESCRIPTION  	"The Operational status of the port."
  DEFVAL        { down }
  ::= { alaAppMonPortConfigEntry 3}

alaAppMonEnforcementPortConfigTcpStatus OBJECT-TYPE
  SYNTAX      INTEGER {
                enable (1),
                disable (2)
		}
  MAX-ACCESS  	read-write
  STATUS      	current
  DESCRIPTION  	"The TCP status on the port."
  DEFVAL      	{ enable }
  ::= { alaAppMonPortConfigEntry 4}

alaAppMonEnforcementPortConfigUdpStatus OBJECT-TYPE
  SYNTAX      INTEGER {
                enable (1),
                disable (2)
		}
  MAX-ACCESS  	read-write
  STATUS      	current
  DESCRIPTION  	"The UDP status on the port."
  DEFVAL      	{ enable }
  ::= { alaAppMonPortConfigEntry 5}

----------------------------------
-- Application Pool Table --
----------------------------------

alaAppMonAppPoolTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaAppMonAppPoolEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing AppMon Application Pool information."
  ::= { alaAppMonMIBObjects 4 }

alaAppMonAppPoolEntry  OBJECT-TYPE
  SYNTAX                AlaAppMonAppPoolEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "AppMon Application pool entry."
  INDEX { alaAppMonAppPoolAppName }
  ::= { alaAppMonAppPoolTable 1 }

AlaAppMonAppPoolEntry	::=
	SEQUENCE
	{
		alaAppMonAppPoolAppName 		SnmpAdminString,
		alaAppMonAppPoolCategory		SnmpAdminString,
		alaAppMonAppPoolRevision		SnmpAdminString,
                alaAppMonAppPoolAppStatus        	INTEGER,
		alaAppMonEnforcementAppPoolAppID	Integer32
	}

alaAppMonAppPoolAppName OBJECT-TYPE
  SYNTAX		SnmpAdminString (SIZE(1..128))
  MAX-ACCESS  		not-accessible
  STATUS  		current
  DESCRIPTION   "AppMon Application Name."
  ::= { alaAppMonAppPoolEntry  1 }

alaAppMonAppPoolCategory OBJECT-TYPE
  SYNTAX      		SnmpAdminString (SIZE(1..32)) 
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"AppMon Application Category Name."
  ::= { alaAppMonAppPoolEntry  2 }

alaAppMonAppPoolRevision OBJECT-TYPE
  SYNTAX      		SnmpAdminString (SIZE(1..6)) 
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"AppMon Application revision."
  ::= { alaAppMonAppPoolEntry  3 }

alaAppMonAppPoolAppStatus  OBJECT-TYPE
  SYNTAX       INTEGER
  {
         valid (1),
         invalid (2)
  }
  MAX-ACCESS   read-only
  STATUS       current
  DESCRIPTION  "Indicates whether application name is
                 part of application pool or not."
  DEFVAL      { valid }
  ::= { alaAppMonAppPoolEntry 4 }

alaAppMonEnforcementAppPoolAppID  OBJECT-TYPE
  SYNTAX            Integer32
  MAX-ACCESS        read-only
  STATUS            current
  DESCRIPTION       "DPI Application Serial Number"
  ::= { alaAppMonAppPoolEntry 5}

----------------------------------
-- Application Group Table --
----------------------------------

alaAppMonAppGroupTable    	OBJECT-TYPE
  SYNTAX                	SEQUENCE OF AlaAppMonAppGroupEntry
  MAX-ACCESS            	not-accessible
  STATUS                	current
  DESCRIPTION           	"A table containing AppMon Application Group information."
  ::= { alaAppMonMIBObjects 5 }

alaAppMonAppGroupEntry  	OBJECT-TYPE
  SYNTAX                	AlaAppMonAppGroupEntry
  MAX-ACCESS            	not-accessible
  STATUS                	current
  DESCRIPTION           	"AppMon Application Group Detailed entry."
  INDEX { alaAppMonAppGroupName, alaAppMonAppGroupMember }
  ::= { alaAppMonAppGroupTable  1 }

AlaAppMonAppGroupEntry	::=
	SEQUENCE
	{
		alaAppMonAppGroupName		SnmpAdminString,
		alaAppMonAppGroupMember		SnmpAdminString,
		alaAppMonAppGroupBuiltIn	INTEGER,
		alaAppMonAppGroupCategoryName	SnmpAdminString,
		alaAppMonAppGrpId		Integer32,
                alaAppMonAppGroupAppStatus          INTEGER,
		alaAppMonAppGroupStatus		RowStatus
	}

alaAppMonAppGroupName	OBJECT-TYPE
  SYNTAX	    		SnmpAdminString (SIZE(1..32))
  MAX-ACCESS    		not-accessible
  STATUS  	    		current
  DESCRIPTION   		"AppMon Application Group Name."
  ::= { alaAppMonAppGroupEntry 1}

alaAppMonAppGroupMember 		OBJECT-TYPE
  SYNTAX      		  	 SnmpAdminString (SIZE(1..128))
  MAX-ACCESS  		  	 not-accessible
  STATUS      		  	 current
  DESCRIPTION  		  	 "AppMon Application Group Member."
  ::= { alaAppMonAppGroupEntry  2}

alaAppMonAppGroupBuiltIn	 OBJECT-TYPE
  SYNTAX      		  	 INTEGER { yes(1), no(2) }
  MAX-ACCESS  		  	 read-create
  STATUS      		  	 current
  DESCRIPTION  		  	 "Is it a built in group"
  ::= { alaAppMonAppGroupEntry 3}

alaAppMonAppGroupCategoryName	 OBJECT-TYPE
  SYNTAX      		  	 SnmpAdminString (SIZE(1..32))
  MAX-ACCESS  		  	 read-only
  STATUS      		  	 current
  DESCRIPTION  		  	 "Application Group Category Name"
  ::= { alaAppMonAppGroupEntry 4}

alaAppMonAppGrpId		 OBJECT-TYPE
  SYNTAX      		  	 Integer32
  MAX-ACCESS  		  	 read-only
  STATUS      		  	 current
  DESCRIPTION  		  	 "App Mon Application Group Identfier"
  ::= { alaAppMonAppGroupEntry 5}

alaAppMonAppGroupAppStatus  OBJECT-TYPE
  SYNTAX       INTEGER
  {
         valid (1),
         invalid (2)
  }
  MAX-ACCESS   read-only
  STATUS       current
  DESCRIPTION  "Indicates whether application name is
                 part of application pool or not."
  DEFVAL      { valid }
  ::= { alaAppMonAppGroupEntry 6}

alaAppMonAppGroupStatus		 OBJECT-TYPE
  SYNTAX      		  	 RowStatus
  MAX-ACCESS  		  	 read-create
  STATUS      		  	 current
  DESCRIPTION  		  	 "Column for setting the status of the group"
  ::= { alaAppMonAppGroupEntry 7}

----------------------------------
-- Application List Table --
----------------------------------

alaAppMonAppListTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaAppMonAppListEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing AppMon Application List information."
  ::= { alaAppMonMIBObjects 6 }

alaAppMonAppListEntry  OBJECT-TYPE
  SYNTAX                AlaAppMonAppListEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "AppMon Application List entry."
  INDEX { alaAppMonAppListMemberName  }
  ::= { alaAppMonAppListTable 1 }

AlaAppMonAppListEntry	::=
	SEQUENCE
	{
		alaAppMonAppListMemberName 		SnmpAdminString ,
		alaAppMonAppListMemberType  			INTEGER,
		alaAppMonAppListAppId			Integer32,
                alaAppMonAppListAppStatus          INTEGER,
		alaAppMonAppListMemberStatus  			RowStatus
	}

alaAppMonAppListMemberName OBJECT-TYPE
  SYNTAX		SnmpAdminString (SIZE(1..128)) 
  MAX-ACCESS  		not-accessible
  STATUS  		current
  DESCRIPTION   "AppMon Application Name."
  ::= { alaAppMonAppListEntry  1 }

alaAppMonAppListMemberType OBJECT-TYPE
  SYNTAX      		INTEGER {
				application(1),
				applicationGroup(2)
				}
  MAX-ACCESS  		read-create
  STATUS      		current
  DESCRIPTION 		"This value indicates whether the member added to the application list is an application or an application group."
  ::= { alaAppMonAppListEntry  2 }

alaAppMonAppListAppId OBJECT-TYPE
  SYNTAX      		Integer32
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"This value indicates the Application List App Identifier."
  ::= { alaAppMonAppListEntry  3 }

alaAppMonAppListAppStatus  OBJECT-TYPE
  SYNTAX       INTEGER
  {
         valid (1),
         invalid (2)
  }
  MAX-ACCESS   read-only
  STATUS       current
  DESCRIPTION  "Indicates whether application name is
                 part of application pool or not."
  DEFVAL      { valid }
  ::= { alaAppMonAppListEntry 4}

alaAppMonAppListMemberStatus OBJECT-TYPE
  SYNTAX      		RowStatus
  MAX-ACCESS  		read-create
  STATUS      		current
  DESCRIPTION 		"The status of this member."
  ::= { alaAppMonAppListEntry  5 }

---------------------------------------
-- Active Application List Table --
---------------------------------------

alaAppMonActiveAppListTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaAppMonActiveAppListEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing AppMon Application List information."
  ::= { alaAppMonMIBObjects 7 }

alaAppMonActiveAppListEntry  OBJECT-TYPE
  SYNTAX                AlaAppMonActiveAppListEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "AppMon Application List entry."
  INDEX { alaAppMonActiveAppListAppName }
  ::= { alaAppMonActiveAppListTable 1 }

AlaAppMonActiveAppListEntry	::=
	SEQUENCE
	{
		alaAppMonActiveAppListAppName 		SnmpAdminString ,
		alaAppMonActiveAppListAppGroupName		SnmpAdminString,
		alaAppMonActiveAppListActiveFlowCount		Counter32,
		alaAppMonActiveAppListAppId			Integer32,
               alaAppMonActiveAppListAppStatus                 INTEGER
	}

alaAppMonActiveAppListAppName OBJECT-TYPE
  SYNTAX		SnmpAdminString (SIZE(1..128)) 
  MAX-ACCESS  		not-accessible
  STATUS  		current
  DESCRIPTION   "AppMon Application Name in the active application list."
  ::= { alaAppMonActiveAppListEntry  1 }

alaAppMonActiveAppListAppGroupName OBJECT-TYPE
  SYNTAX      		SnmpAdminString (SIZE(0..32))
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"AppMon Application Group Name in the active application list."
  ::= { alaAppMonActiveAppListEntry  2 }

alaAppMonActiveAppListActiveFlowCount OBJECT-TYPE
  SYNTAX      		Counter32
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"AppMon Application Name Signature Matched Count in the active application list."
  ::= { alaAppMonActiveAppListEntry  3 }

alaAppMonActiveAppListAppId OBJECT-TYPE
  SYNTAX      		Integer32
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"AppMon Active Application List App Identifier in the active application list."
  ::= { alaAppMonActiveAppListEntry  4 }

alaAppMonActiveAppListAppStatus  OBJECT-TYPE
  SYNTAX       INTEGER
  {
         valid (1),
         invalid (2)
  }
  MAX-ACCESS   read-only
  STATUS       current
  DESCRIPTION  "Indicates whether application name is
                 part of application pool or not."
  DEFVAL      { valid }
  ::= { alaAppMonActiveAppListEntry  5 }

---------------------------------------
-- Signature File Table
---------------------------------------

alaAppMonSignatureFileTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaAppMonSignatureFileEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing AppMon Application Pool information."
  ::= { alaAppMonMIBObjects 8 }

alaAppMonSignatureFileEntry  OBJECT-TYPE
  SYNTAX                AlaAppMonSignatureFileEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "AppMon Application pool entry."
  INDEX { alaAppMonSignatureFileAppName }
  ::= { alaAppMonSignatureFileTable 1 }

AlaAppMonSignatureFileEntry	::=
	SEQUENCE
	{
		alaAppMonSignatureFileAppName		SnmpAdminString,
		alaAppMonSignatureFileCategory 			SnmpAdminString
	}

alaAppMonSignatureFileAppName OBJECT-TYPE
  SYNTAX		SnmpAdminString (SIZE(1..128))
  MAX-ACCESS  		not-accessible
  STATUS  		current
  DESCRIPTION   "AppMon Application Name."
  ::= { alaAppMonSignatureFileEntry  1 }

alaAppMonSignatureFileCategory OBJECT-TYPE
  SYNTAX      		SnmpAdminString (SIZE(1..32)) 
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"AppMon Application File Category."
  ::= { alaAppMonSignatureFileEntry  2 }

---------------------------------------------------
-- Flow Table for Ipv4 and Ipv6 Flow Records --
---------------------------------------------------

alaAppMonFlowTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaAppMonFlowEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing AppMon Flow information."
  ::= { alaAppMonMIBObjects 9 }

alaAppMonFlowEntry  OBJECT-TYPE
  SYNTAX                AlaAppMonFlowEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "AppMon Flow Table entry."
  INDEX { 
          alaAppMonFlowSourceIPType,
          alaAppMonFlowSourceIP,
          alaAppMonFlowSrcPort,
          alaAppMonFlowDestIPType,
          alaAppMonFlowDestIP,
          alaAppMonFlowDestPort,
          alaAppMonFlowProtocol,
          alaAppMonFlowAppName
       }
  ::= { alaAppMonFlowTable 1 }

AlaAppMonFlowEntry	::=
SEQUENCE
{
	alaAppMonFlowSourceIPType			InetAddressType,
	alaAppMonFlowSourceIP			InetAddress,
	alaAppMonFlowSrcPort				Integer32,
	alaAppMonFlowDestIPType			InetAddressType,
	alaAppMonFlowDestIP				InetAddress,
	alaAppMonFlowDestPort			Integer32,
	alaAppMonFlowProtocol			INTEGER,
	alaAppMonFlowAppName				SnmpAdminString,
	alaAppMonFlowAppGrpName			SnmpAdminString
}

alaAppMonFlowSourceIPType OBJECT-TYPE
  SYNTAX      	    InetAddressType { ipv4(1), ipv6(2) }
  MAX-ACCESS	  	not-accessible
  STATUS     	 	current
  DESCRIPTION 		"Source Ip Type for this AppMon Flow Entry."
  ::= { alaAppMonFlowEntry 1}

alaAppMonFlowSourceIP OBJECT-TYPE
  SYNTAX      InetAddress (SIZE(4|16))
  MAX-ACCESS  	not-accessible
  STATUS      	current
  DESCRIPTION  	"Source Ip Address for this AppMon Flow Entry."
  ::= { alaAppMonFlowEntry 2}

alaAppMonFlowSrcPort OBJECT-TYPE
  SYNTAX      Integer32 (0..65535)
  MAX-ACCESS  	not-accessible
  STATUS      	current
  DESCRIPTION  	"Source Port for this AppMon Flow Entry."
  ::= { alaAppMonFlowEntry 3}

alaAppMonFlowDestIPType OBJECT-TYPE
  SYNTAX      	    InetAddressType { ipv4(1), ipv6(2) }
  MAX-ACCESS	  	not-accessible
  STATUS     	 	current
  DESCRIPTION 		"Destination Ip Type for this AppMon Flow Entry."
  ::= { alaAppMonFlowEntry 4}

alaAppMonFlowDestIP OBJECT-TYPE
  SYNTAX      InetAddress (SIZE(4|16))
  MAX-ACCESS  	not-accessible
  STATUS      	current
  DESCRIPTION  	"Destination Ip for this AppMon Flow Entry."
  ::= { alaAppMonFlowEntry 5}

alaAppMonFlowDestPort OBJECT-TYPE
  SYNTAX      Integer32 (0..65535)
  MAX-ACCESS  	not-accessible
  STATUS      	current
  DESCRIPTION  	"Destination Port for this AppMon Flow Entry."
  ::= { alaAppMonFlowEntry 6}

alaAppMonFlowProtocol OBJECT-TYPE
  SYNTAX      INTEGER {
                tcp (1),
                udp (2)
			}
  MAX-ACCESS  	not-accessible
  STATUS      	current
  DESCRIPTION  	"Protocol associated with this AppMon Flow Entry."
  ::= { alaAppMonFlowEntry 7}

alaAppMonFlowAppName OBJECT-TYPE
  SYNTAX      		SnmpAdminString (SIZE(1..128))
  MAX-ACCESS  	not-accessible
  STATUS      		current
  DESCRIPTION 		"Application associated with this AppMon Flow Entry."
  ::= { alaAppMonFlowEntry 8}

alaAppMonFlowAppGrpName OBJECT-TYPE
  SYNTAX      		SnmpAdminString (SIZE(1..32))
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Application Group associated with AppMon Flow Entry."
  ::= { alaAppMonFlowEntry 9}

----------------------------------------
-- App Monitoring Current Hour Table --
----------------------------------------

alaAppMonCurrentHourTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaAppMonCurrentHourEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing AppMon App Records Current Hour Information"
  ::= { alaAppMonMIBObjects 10 }

alaAppMonCurrentHourEntry  OBJECT-TYPE
  SYNTAX                AlaAppMonCurrentHourEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "AppMon Flow Table entry."
  INDEX { alaAppMonCurrentHourAppName }
  ::= { alaAppMonCurrentHourTable  1 }

AlaAppMonCurrentHourEntry	::=
SEQUENCE
{
	alaAppMonCurrentHourAppName 			SnmpAdminString,
        alaAppMonCurrentHourAppGroupName                SnmpAdminString,
	alaAppMonCurrentHrStatsMinActiveFlow		Counter32,
	alaAppMonCurrentHrStatsMaxActiveFlow		Counter32,
	alaAppMonCurrentHrStatsAvgActiveFlow		Counter32,
	alaAppMonCurrentHrStatsTotalFlow                Counter32
}

alaAppMonCurrentHourAppName OBJECT-TYPE
  SYNTAX      		SnmpAdminString
  MAX-ACCESS  		not-accessible
  STATUS      		current
  DESCRIPTION 		"Application Name associated with this record."
  ::= { alaAppMonCurrentHourEntry  1}

alaAppMonCurrentHourAppGroupName OBJECT-TYPE
  SYNTAX      	    SnmpAdminString
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"App Group Name associated with this record."
  ::= { alaAppMonCurrentHourEntry  2}

alaAppMonCurrentHrStatsMinActiveFlow OBJECT-TYPE
  SYNTAX      		Counter32
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Minimum Active Flow count associated with this record."
  ::= { alaAppMonCurrentHourEntry  3}


alaAppMonCurrentHrStatsMaxActiveFlow OBJECT-TYPE
  SYNTAX      		Counter32
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Max Active Flow count associated with this record."
  ::= { alaAppMonCurrentHourEntry  4}


alaAppMonCurrentHrStatsAvgActiveFlow OBJECT-TYPE
  SYNTAX      		Counter32
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Average Active Flow count associated with this record."
  ::= { alaAppMonCurrentHourEntry  5}


alaAppMonCurrentHrStatsTotalFlow OBJECT-TYPE
  SYNTAX      		Counter32
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Total Flow count associated with this record"
  ::= { alaAppMonCurrentHourEntry  6}


-- App Monitoring twenty four Hour Table

alaAppMon24HourTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaAppMon24HourEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing AppMon App Records 24 Hour Information"
  ::= { alaAppMonMIBObjects 11 }

alaAppMon24HourEntry  OBJECT-TYPE
  SYNTAX                AlaAppMon24HourEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "AppMon Flow Table entry."
  INDEX { alaAppMon24HourAppName }
  ::= { alaAppMon24HourTable  1 }

AlaAppMon24HourEntry	::=
SEQUENCE
{
		alaAppMon24HourAppName 			SnmpAdminString,
	alaAppMon24HrStatsMinActiveFlow		Counter32,
	alaAppMon24HrStatsMaxActiveFlow		Counter32,
	alaAppMon24HrStatsAvgActiveFlow		Counter32,
	alaAppMon24HrStatsTotalFlow			Counter32
}

alaAppMon24HourAppName OBJECT-TYPE
  SYNTAX      		SnmpAdminString
  MAX-ACCESS  		not-accessible
  STATUS      		current
  DESCRIPTION 		"Application Name associated with this record."
  ::= { alaAppMon24HourEntry  1}


alaAppMon24HrStatsMinActiveFlow OBJECT-TYPE
  SYNTAX      		Counter32
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Minimum Active Flow count associated with this record."
  ::= { alaAppMon24HourEntry  2}


alaAppMon24HrStatsMaxActiveFlow OBJECT-TYPE
  SYNTAX      		Counter32
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Maximum Active Flow count associated with this record."
  ::= { alaAppMon24HourEntry  3}


alaAppMon24HrStatsAvgActiveFlow OBJECT-TYPE
  SYNTAX      		Counter32
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Avg Active Flow count associated with this record."
  ::= { alaAppMon24HourEntry  4}


alaAppMon24HrStatsTotalFlow OBJECT-TYPE
  SYNTAX      		Counter32
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Total Flow count associated with this record."
  ::= { alaAppMon24HourEntry  5}

-- App Monitoring Hourly Table.

alaAppMonHourlyTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaAppMonHourlyEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing AppMon App Records 24 Hour Information"
  ::= { alaAppMonMIBObjects 12 }

alaAppMonHourlyEntry  OBJECT-TYPE
  SYNTAX                AlaAppMonHourlyEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "AppMon Flow Table entry."
  INDEX { alaAppMonHourlyAppName, alaAppMonHour }
  ::= { alaAppMonHourlyTable  1 }

AlaAppMonHourlyEntry	::=
SEQUENCE
{
	alaAppMonHourlyAppName 				SnmpAdminString,
	alaAppMonHour					Integer32,
        alaAppMonHourlyAppGroupName                     SnmpAdminString,
	alaAppMonHourlyStatsMinActiveFlow		Counter32,
	alaAppMonHourlyStatsMaxActiveFlow		Counter32,
	alaAppMonHourlyStatsAvgActiveFlow		Counter32,
	alaAppMonHourlyStatsTotalFlow			Counter32,
        alaAppMonHourlyTimeInterval                     DateAndTime,
        alaAppMonHourlyTimeIntervalUTC                  DateAndTime
}

alaAppMonHourlyAppName OBJECT-TYPE
  SYNTAX      		SnmpAdminString
  MAX-ACCESS  		not-accessible
  STATUS      		current
  DESCRIPTION 		"Application Name associated with this record."
  ::= { alaAppMonHourlyEntry  1}


alaAppMonHour		OBJECT-TYPE
  SYNTAX      		Integer32(0..24)
  MAX-ACCESS  		not-accessible
  STATUS      		current
  DESCRIPTION 		"This object is used as an index to access the 
                         Hourly monitoring database record."
  ::= { alaAppMonHourlyEntry  2}


alaAppMonHourlyAppGroupName OBJECT-TYPE
  SYNTAX      		SnmpAdminString
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Application Group Name associated with this record."
  ::= { alaAppMonHourlyEntry  3}

alaAppMonHourlyStatsMinActiveFlow OBJECT-TYPE
  SYNTAX      		Counter32
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Minimum Active Flow count associated with this record."
  ::= { alaAppMonHourlyEntry  4}


alaAppMonHourlyStatsMaxActiveFlow OBJECT-TYPE
  SYNTAX      		Counter32
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Max Active Flow count associated with this record."
  ::= { alaAppMonHourlyEntry  5}


alaAppMonHourlyStatsAvgActiveFlow OBJECT-TYPE
  SYNTAX      		Counter32
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Average Active Flow count associated with this record."
  ::= { alaAppMonHourlyEntry  6}


alaAppMonHourlyStatsTotalFlow OBJECT-TYPE
  SYNTAX      		Counter32
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Total Flow count associated with this record."
  ::= { alaAppMonHourlyEntry  7}


alaAppMonHourlyTimeInterval OBJECT-TYPE
  SYNTAX      		DateAndTime
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Date and Time associated with this record."
  ::= { alaAppMonHourlyEntry  8}

alaAppMonHourlyTimeIntervalUTC OBJECT-TYPE
  SYNTAX      		DateAndTime
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Date and Time - in UTC - associated with this record."
  ::= { alaAppMonHourlyEntry  9}


alaAppMonAppListConflictTable  OBJECT-TYPE
  SYNTAX          SEQUENCE OF AlaAppMonAppListConflictEntry
  MAX-ACCESS      not-accessible
  STATUS          current
  DESCRIPTION     "A table containing AppMon application list conflicting table information."
  ::= { alaAppMonMIBObjects 13 }

alaAppMonAppListConflictEntry   OBJECT-TYPE
  SYNTAX           AlaAppMonAppListConflictEntry
  MAX-ACCESS       not-accessible
  STATUS           current
  DESCRIPTION      "AppMon application list conflict entry."
  INDEX { alaAppMonAppListConflictIndex }
  ::= { alaAppMonAppListConflictTable 1 }

AlaAppMonAppListConflictEntry        ::=
        SEQUENCE
        {
                alaAppMonAppListConflictIndex          Unsigned32,
                alaAppMonAppListConflictAppID          Integer32,
                alaAppMonAppListConflictAppName        SnmpAdminString,
                alaAppMonAppListConflictAppGrpName     SnmpAdminString,
                alaAppMonAppListConflictAppErrorType   INTEGER
        }

alaAppMonAppListConflictIndex OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION   "AppMon application list conflict index."
  ::= { alaAppMonAppListConflictEntry  1 }

alaAppMonAppListConflictAppID  OBJECT-TYPE
  SYNTAX        Integer32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION   "Indicates the application ID which is not part of current application pool."
  ::= { alaAppMonAppListConflictEntry  2 }

alaAppMonAppListConflictAppName  OBJECT-TYPE
  SYNTAX       SnmpAdminString
  MAX-ACCESS   read-only
  STATUS       current
  DESCRIPTION  "Indicates the application name which is not part of current application pool."
  ::= { alaAppMonAppListConflictEntry  3 }

alaAppMonAppListConflictAppGrpName OBJECT-TYPE
  SYNTAX       SnmpAdminString
  MAX-ACCESS   read-only
  STATUS       current
  DESCRIPTION  "Indicates the group name which is not part of current application pool."
  ::= { alaAppMonAppListConflictEntry  4 }

alaAppMonAppListConflictAppErrorType OBJECT-TYPE
  SYNTAX       INTEGER
 {
                duplicate (1),
                notInUse (2)
 }
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION "Indicates the application conflicting status."
  DEFVAL        { notInUse }
  ::= { alaAppMonAppListConflictEntry  5 }

--
-- AppMonEnforcement App List Table  --
--
alaAppMonEnforcementAppListTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaAppMonEnforcementAppListEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing AppMonEnforcement Application List information."
  ::= { alaAppMonMIBObjects 14 }

alaAppMonEnforcementAppListEntry  OBJECT-TYPE
  SYNTAX                AlaAppMonEnforcementAppListEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "AppMonEnforcement Application List entry."
  INDEX { alaAppMonEnforcementAppListMemberName  }
  ::= { alaAppMonEnforcementAppListTable 1 }

AlaAppMonEnforcementAppListEntry	::=
	SEQUENCE
	{
		alaAppMonEnforcementAppListMemberName 	SnmpAdminString ,
		alaAppMonEnforcementAppListMemberType  	INTEGER,
        	alaAppMonEnforcementAppListAppOrGroupID       Integer32,         
        	alaAppMonEnforcementAppListAppStatus    	INTEGER,
		alaAppMonEnforcementAppListMemberStatus  	RowStatus
	}

alaAppMonEnforcementAppListMemberName OBJECT-TYPE
  SYNTAX		SnmpAdminString (SIZE(1..128)) 
  MAX-ACCESS  		not-accessible
  STATUS  		current
  DESCRIPTION   "Enforcement Application Name."
  ::= { alaAppMonEnforcementAppListEntry  1 }

alaAppMonEnforcementAppListMemberType OBJECT-TYPE
  SYNTAX     	INTEGER {
			application(1),
			applicationGroup(2)
		}
  MAX-ACCESS  	read-create
  STATUS      	current
  DESCRIPTION 	"This value indicates whether the member added to the application list is an application or an application group."
  ::= { alaAppMonEnforcementAppListEntry  2 }

alaAppMonEnforcementAppListAppOrGroupID OBJECT-TYPE  
  SYNTAX           Integer32
  MAX-ACCESS       read-only     
  STATUS           current 
  DESCRIPTION      "Application ID or group ID of App-List." 
  ::= { alaAppMonEnforcementAppListEntry 3 }

alaAppMonEnforcementAppListAppStatus  OBJECT-TYPE
  SYNTAX      INTEGER
 		{
                valid (1),
                invalid (2)
  		}	
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION   "Indicates whether the application name is
                 part of an application pool or not."
  DEFVAL        { valid }
  ::= { alaAppMonEnforcementAppListEntry 4}

alaAppMonEnforcementAppListMemberStatus OBJECT-TYPE
  SYNTAX      		RowStatus
  MAX-ACCESS  		read-create
  STATUS      		current
  DESCRIPTION 		"The status of this member."
  ::= { alaAppMonEnforcementAppListEntry  5 }

--
-- Flow Table 
--

alaAppMonEnforcementFlowTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaAppMonEnforcementFlowEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing Enforcement Flow information."
  ::= { alaAppMonMIBObjects 15 }

alaAppMonEnforcementFlowEntry  OBJECT-TYPE
  SYNTAX                AlaAppMonEnforcementFlowEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           " Flow Table entry."
  INDEX { alaAppMonEnforcementFlowSourceIPType,  alaAppMonEnforcementFlowSourceIP, alaAppMonEnforcementFlowDestIPType, alaAppMonEnforcementFlowDestIP, alaAppMonEnforcementFlowSrcPort, alaAppMonEnforcementFlowDestPort, alaAppMonEnforcementFlowProtocol }
  ::= { alaAppMonEnforcementFlowTable 1 }

AlaAppMonEnforcementFlowEntry	::=
SEQUENCE
{
	alaAppMonEnforcementFlowSourceIPType			InetAddressType,
	alaAppMonEnforcementFlowSourceIP			InetAddress,
	alaAppMonEnforcementFlowDestIPType			InetAddressType,
	alaAppMonEnforcementFlowDestIP			InetAddress,
	alaAppMonEnforcementFlowSrcPort			Integer32,
	alaAppMonEnforcementFlowDestPort			Integer32,
	alaAppMonEnforcementFlowProtocol			INTEGER,
	alaAppMonEnforcementFlowAppName			SnmpAdminString,
	alaAppMonEnforcementFlowAppGrpName			SnmpAdminString,
	alaAppMonEnforcementFlowPolicyRule			SnmpAdminString,
	alaAppMonEnforcementFlowStartTime			DateAndTime,
        alaAppMonEnforcementFlowPktCount                      Counter64,
        alaAppMonEnforcementFlowByteCount                     Counter64
}

alaAppMonEnforcementFlowSourceIPType OBJECT-TYPE
  SYNTAX      	InetAddressType { ipv4(1), ipv6(2) }
  MAX-ACCESS	not-accessible
  STATUS     	current
  DESCRIPTION 	"Source IP Type for this Enforcement Flow Entry"
  ::= { alaAppMonEnforcementFlowEntry 1}

alaAppMonEnforcementFlowSourceIP OBJECT-TYPE
  SYNTAX      InetAddress (SIZE(4|16))
  MAX-ACCESS  not-accessible
  STATUS      current
  DESCRIPTION "Source IP address for this Enforcement Flow Entry."
  ::= { alaAppMonEnforcementFlowEntry 2}

alaAppMonEnforcementFlowDestIPType OBJECT-TYPE
  SYNTAX        InetAddressType { ipv4(1), ipv6(2) }
  MAX-ACCESS  	not-accessible
  STATUS     	current
  DESCRIPTION	"Destination IP address Type for this Enforcement Flow Entry."
  ::= { alaAppMonEnforcementFlowEntry 3}

alaAppMonEnforcementFlowDestIP OBJECT-TYPE
  SYNTAX      InetAddress (SIZE(4|16))
  MAX-ACCESS  	not-accessible
  STATUS      	current
  DESCRIPTION  	"Destination IP address for this Enforcement Flow Entry."
  ::= { alaAppMonEnforcementFlowEntry 4}

alaAppMonEnforcementFlowSrcPort OBJECT-TYPE
  SYNTAX      	Integer32 (1..65535)
  MAX-ACCESS  	not-accessible
  STATUS      	current
  DESCRIPTION  	"Source Port for this Enforcement Flow Entry."
  ::= { alaAppMonEnforcementFlowEntry 5}

alaAppMonEnforcementFlowDestPort OBJECT-TYPE
  SYNTAX      Integer32 (1..65535)
  MAX-ACCESS  	not-accessible
  STATUS      	current
  DESCRIPTION  	"Destination Port for this Enforcement Flow Entry."
  ::= { alaAppMonEnforcementFlowEntry 6}

alaAppMonEnforcementFlowProtocol OBJECT-TYPE
  SYNTAX      INTEGER {
                tcp (1),
                udp (2)
		}
  MAX-ACCESS  	not-accessible
  STATUS      	current
  DESCRIPTION  	"Protocol associated with this Enforcement Flow Entry."
  ::= { alaAppMonEnforcementFlowEntry 7}

alaAppMonEnforcementFlowAppName OBJECT-TYPE
  SYNTAX      		SnmpAdminString (SIZE(1..128))
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Application associated with this Enforcement Flow Entry."
  ::= { alaAppMonEnforcementFlowEntry 8}

alaAppMonEnforcementFlowAppGrpName OBJECT-TYPE
  SYNTAX      		SnmpAdminString (SIZE(1..32))
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Application Group associated with Enforcement Flow Entry."
  ::= { alaAppMonEnforcementFlowEntry 9}

alaAppMonEnforcementFlowPolicyRule OBJECT-TYPE
  SYNTAX      		SnmpAdminString (SIZE(1..32))
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Policy Rule associated with this Flow Entry."
  ::= { alaAppMonEnforcementFlowEntry 10}

alaAppMonEnforcementFlowStartTime OBJECT-TYPE
  SYNTAX      DateAndTime
  MAX-ACCESS  	read-only
  STATUS      	current
  DESCRIPTION  	"Flow Start Time."
  ::= { alaAppMonEnforcementFlowEntry 11}

alaAppMonEnforcementFlowPktCount OBJECT-TYPE
  SYNTAX                Counter64
  MAX-ACCESS            read-only
  STATUS                current
  DESCRIPTION           "Packet Count of this Flow Entry."
  ::= { alaAppMonEnforcementFlowEntry 12}

alaAppMonEnforcementFlowByteCount OBJECT-TYPE
  SYNTAX                Counter64
  MAX-ACCESS            read-only
  STATUS                current
  DESCRIPTION           "Byte Count of this Flow Entry."
  ::= { alaAppMonEnforcementFlowEntry 13}

--
-- L4 Port Range Table 
--

alaAppMonEnforcementL4PortRangeTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaAppMonEnforcementL4PortRangeEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing Enforcement Application List information."
  ::= { alaAppMonMIBObjects 16 }

alaAppMonEnforcementL4PortRangeEntry  OBJECT-TYPE
  SYNTAX                AlaAppMonEnforcementL4PortRangeEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "Enforcement Application List entry."
  INDEX { alaAppMonEnforcementL4PortRangeID }
  ::= { alaAppMonEnforcementL4PortRangeTable 1 }

AlaAppMonEnforcementL4PortRangeEntry	::=
	SEQUENCE
	{
		alaAppMonEnforcementL4PortRangeID		Integer32,
		alaAppMonEnforcementL4PortRangeStart		Integer32,
		alaAppMonEnforcementL4PortRangeEnd 		Integer32,
		alaAppMonEnforcementL4PortType		INTEGER,
		alaAppMonEnforcementL4PortStatus		RowStatus
	}

alaAppMonEnforcementL4PortRangeID OBJECT-TYPE
  SYNTAX	Integer32(1..8)
  MAX-ACCESS  	not-accessible
  STATUS  	current
  DESCRIPTION   "Enforcement Application Range ID."
  ::= { alaAppMonEnforcementL4PortRangeEntry  1 }

alaAppMonEnforcementL4PortRangeStart OBJECT-TYPE
  SYNTAX	Integer32 (0..65535)
  MAX-ACCESS  	read-create
  STATUS  	current
  DESCRIPTION   "Enforcement Application Range Start Port"
  ::= { alaAppMonEnforcementL4PortRangeEntry  2 }

alaAppMonEnforcementL4PortRangeEnd OBJECT-TYPE
  SYNTAX      	Integer32 (0..65535)
  MAX-ACCESS  	read-create
  STATUS      	current
  DESCRIPTION 	"Enforcement Application Range End Port."
  ::= { alaAppMonEnforcementL4PortRangeEntry  3 }

alaAppMonEnforcementL4PortType OBJECT-TYPE
  SYNTAX      	INTEGER { 
	  	tcpServicePort(1), 
		udpPort(2)
  		}
  MAX-ACCESS  	read-create
  STATUS      	current
  DESCRIPTION  	"Enforcement Application Range Entry L4 Protocol"
  ::= { alaAppMonEnforcementL4PortRangeEntry  4}

alaAppMonEnforcementL4PortStatus OBJECT-TYPE
  SYNTAX      		RowStatus
  MAX-ACCESS  		read-create
  STATUS      		current
  DESCRIPTION  		"Enforcement Application Range Status"
  ::= { alaAppMonEnforcementL4PortRangeEntry  5}

--
-- Active Application List Table 
--

alaAppMonEnforcementActiveAppListTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaAppMonEnforcementActiveAppListEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing Enforcement Application List information."
  ::= { alaAppMonMIBObjects 17 }

alaAppMonEnforcementActiveAppListEntry  OBJECT-TYPE
  SYNTAX                AlaAppMonEnforcementActiveAppListEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "Enforcement Application List entry."
  INDEX { alaAppMonEnforcementActiveAppListAppName }
  ::= { alaAppMonEnforcementActiveAppListTable 1 }

AlaAppMonEnforcementActiveAppListEntry	::=
	SEQUENCE
	{
		alaAppMonEnforcementActiveAppListAppName 		SnmpAdminString ,
		alaAppMonEnforcementActiveAppListAppGroupName		SnmpAdminString,
		alaAppMonEnforcementActiveAppListActiveMatchedFlows	Integer32,
		alaAppMonEnforcementActiveAppListTotalMatchedFlows	Integer32,
		alaAppMonEnforcementActiveAppListAppID            	Integer32,
        	alaAppMonEnforcementActiveAppListAppStatus            INTEGER,
                alaAppMonEnforcementActiveAppListActivePktCount       Counter64,
                alaAppMonEnforcementActiveAppListActiveByteCount      Counter64,
                alaAppMonEnforcementActiveAppListGrossPktCount        Counter64,
                alaAppMonEnforcementActiveAppListGrossByteCount       Counter64
	}

alaAppMonEnforcementActiveAppListAppName OBJECT-TYPE
  SYNTAX		SnmpAdminString (SIZE(1..128)) 
  MAX-ACCESS  		not-accessible
  STATUS  		current
  DESCRIPTION   "Enforcement application name in the active application list."
  ::= { alaAppMonEnforcementActiveAppListEntry  1 }

alaAppMonEnforcementActiveAppListAppGroupName OBJECT-TYPE
  SYNTAX      		SnmpAdminString (SIZE(0..32))
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Enforcement application group name in the active application list."
  ::= { alaAppMonEnforcementActiveAppListEntry  2 }

alaAppMonEnforcementActiveAppListActiveMatchedFlows OBJECT-TYPE
  SYNTAX      		Integer32
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Enforcement Application Name Signature Matched Count in the active application list."
  ::= { alaAppMonEnforcementActiveAppListEntry  3 }

alaAppMonEnforcementActiveAppListTotalMatchedFlows OBJECT-TYPE
  SYNTAX      		Integer32
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Enforcement Application Name Signature Matched Count in the active application list."
  ::= { alaAppMonEnforcementActiveAppListEntry  4 }

alaAppMonEnforcementActiveAppListAppID OBJECT-TYPE
  SYNTAX      		Integer32
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Enforcement Application ID in the active application list."
  ::= { alaAppMonEnforcementActiveAppListEntry  5 }

alaAppMonEnforcementActiveAppListAppStatus   OBJECT-TYPE
 SYNTAX      INTEGER
 		{
                valid (1),
                invalid (2)
  		}
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION   "Indicates whether application name is
                 part of application pool or not in the active application list."
  DEFVAL        { valid }
  ::= { alaAppMonEnforcementActiveAppListEntry  6}
 
alaAppMonEnforcementActiveAppListActivePktCount OBJECT-TYPE
   SYNTAX               Counter64
   MAX-ACCESS           read-only
   STATUS               current
   DESCRIPTION          "Gross Byte Count for a particular application."
   ::= { alaAppMonEnforcementActiveAppListEntry  7 }

 alaAppMonEnforcementActiveAppListActiveByteCount OBJECT-TYPE
   SYNTAX               Counter64
   MAX-ACCESS           read-only
   STATUS               current
   DESCRIPTION          "Gross Byte Count for a particular application."
   ::= { alaAppMonEnforcementActiveAppListEntry  8 }

 alaAppMonEnforcementActiveAppListGrossPktCount OBJECT-TYPE
    SYNTAX                      Counter64
    MAX-ACCESS                  read-only
    STATUS                      current
    DESCRIPTION                 "Gross Packet Count for a particular application."
    ::= { alaAppMonEnforcementActiveAppListEntry  9 }

 alaAppMonEnforcementActiveAppListGrossByteCount OBJECT-TYPE
    SYNTAX                      Counter64
    MAX-ACCESS                  read-only
    STATUS                      current
    DESCRIPTION                 "Gross Byte Count for a particular application."
    ::= { alaAppMonEnforcementActiveAppListEntry  10 }

--
-- Conflict Table 
--
alaAppMonEnforcementAppListConflictTable  OBJECT-TYPE
  SYNTAX          SEQUENCE OF AlaAppMonEnforcementAppListConflictEntry
  MAX-ACCESS      not-accessible
  STATUS          current
  DESCRIPTION     "A table containing Enforcement application list conflicting table information."
  ::= { alaAppMonMIBObjects 18 }

alaAppMonEnforcementAppListConflictEntry   OBJECT-TYPE
  SYNTAX          AlaAppMonEnforcementAppListConflictEntry
  MAX-ACCESS      not-accessible
  STATUS          current
  DESCRIPTION     "Enforcement application list conflict entry."
  INDEX { alaAppMonEnforcementAppListConflictIndex }
  ::= { alaAppMonEnforcementAppListConflictTable 1 }

AlaAppMonEnforcementAppListConflictEntry        ::=
        SEQUENCE
        {
                alaAppMonEnforcementAppListConflictIndex          Unsigned32,
                alaAppMonEnforcementAppListConflictAppID          Integer32,
                alaAppMonEnforcementAppListConflictAppName        SnmpAdminString,
                alaAppMonEnforcementAppListConflictAppGrpName     SnmpAdminString,
                alaAppMonEnforcementAppListConflictAppErrorType   INTEGER
        }

alaAppMonEnforcementAppListConflictIndex OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS  	not-accessible
  STATUS      	current
  DESCRIPTION 	"Enforcement application list conflict index."
  ::= { alaAppMonEnforcementAppListConflictEntry  1 }

alaAppMonEnforcementAppListConflictAppID  OBJECT-TYPE
  SYNTAX       	Integer32
  MAX-ACCESS  	read-only
  STATUS      	current
  DESCRIPTION 	"Indicates the application ID which is not part of current application pool."
  ::= { alaAppMonEnforcementAppListConflictEntry  2 }

alaAppMonEnforcementAppListConflictAppName  OBJECT-TYPE
  SYNTAX        SnmpAdminString
  MAX-ACCESS  	read-only
  STATUS      	current
  DESCRIPTION 	"Indicates the application name which is not part of current application pool."
  ::= { alaAppMonEnforcementAppListConflictEntry  3 }

alaAppMonEnforcementAppListConflictAppGrpName OBJECT-TYPE
  SYNTAX        SnmpAdminString
  MAX-ACCESS  	read-only
  STATUS      	current
  DESCRIPTION 	"Indicates the group name which is not part of current application pool."
  ::= { alaAppMonEnforcementAppListConflictEntry  4 }

alaAppMonEnforcementAppListConflictAppErrorType OBJECT-TYPE
  SYNTAX        INTEGER
 		{	
                  duplicate (1),
                  notInUse (2)
  		}
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION "Indicates the application conflicting status."
  DEFVAL        { notInUse }
  ::= { alaAppMonEnforcementAppListConflictEntry  5 }

--
-- Enforcement Aging Timer Table
--

alaAppMonEnforcementAgingTimerTable  OBJECT-TYPE
  SYNTAX          SEQUENCE OF AlaAppMonEnforcementAgingTimerEntry
  MAX-ACCESS      not-accessible
  STATUS          current
  DESCRIPTION     "A table containing Enforcement Aging Timer Information for every application."
  ::= { alaAppMonMIBObjects 19 }

alaAppMonEnforcementAgingTimerEntry   OBJECT-TYPE
  SYNTAX          AlaAppMonEnforcementAgingTimerEntry
  MAX-ACCESS      not-accessible
  STATUS          current
  DESCRIPTION     "Enforcement aging timer entry for a particular application."
  INDEX { alaAppMonEnforcementAgingTimerAppName }
  ::= { alaAppMonEnforcementAgingTimerTable 1 }

AlaAppMonEnforcementAgingTimerEntry ::=
        SEQUENCE
        {
                alaAppMonEnforcementAgingTimerAppName          SnmpAdminString,
		alaAppMonEnforcementTcpAgingTimerValue		 Integer32,
                alaAppMonEnforcementUdpAgingTimerValue           Integer32
        }

alaAppMonEnforcementAgingTimerAppName OBJECT-TYPE
  SYNTAX	SnmpAdminString (SIZE(1..128))
  MAX-ACCESS  not-accessible
  STATUS      current
  DESCRIPTION "Aging Timer Application Name for a given Entry"
  ::= { alaAppMonEnforcementAgingTimerEntry 1}

alaAppMonEnforcementTcpAgingTimerValue OBJECT-TYPE
  SYNTAX	Integer32(3|5|10|30|60|120)
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION "TCP Aging Timer Value per application in minutes" 
  ::= { alaAppMonEnforcementAgingTimerEntry 2}

alaAppMonEnforcementUdpAgingTimerValue OBJECT-TYPE
  SYNTAX	Integer32(3|5|10|30|60|120)
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION "UDP Aging Timer Value per application in minutes" 
  ::= { alaAppMonEnforcementAgingTimerEntry 3}
--
-- Enforcement Statistics Table
--

alaAppMonStatisticsTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaAppMonStatisticsEntry 
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing AppMonEnforcement Statistics information."
  ::= { alaAppMonMIBObjects 20 }

alaAppMonStatisticsEntry   OBJECT-TYPE
  SYNTAX                AlaAppMonStatisticsEntry 
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "Enforcement Statistics entry."
  INDEX { alaAppMonStatsSlotIndex }
  ::= { alaAppMonStatisticsTable 1 }

AlaAppMonStatisticsEntry        ::=
        SEQUENCE
        {
		alaAppMonStatsSlotIndex		            InterfaceIndex,
		alaAppMonTotalEnforcementActiveFlows    Counter32,
		alaAppMonTotalFlowTableInUseFlows       Counter32,
		alaAppMonTCPOverflowFlows		        Counter32,
		alaAppMonUDPOverflowPackets		        Counter32
        }

alaAppMonStatsSlotIndex OBJECT-TYPE
  SYNTAX        InterfaceIndex
  MAX-ACCESS  	not-accessible
  STATUS      	current
  DESCRIPTION 	"Enforcement Current Flow Table Sessions."
  ::= { alaAppMonStatisticsEntry 1}

alaAppMonTotalEnforcementActiveFlows OBJECT-TYPE
  SYNTAX        Counter32
  MAX-ACCESS  	read-only
  STATUS      	current
  DESCRIPTION 	"Enforcement Active matched flows."
  ::= { alaAppMonStatisticsEntry 2}

alaAppMonTotalFlowTableInUseFlows OBJECT-TYPE
  SYNTAX        Counter32
  MAX-ACCESS  	read-only
  STATUS      	current
  DESCRIPTION 	"Total AppMon Flow table entries In-use."
  ::= { alaAppMonStatisticsEntry 3} 


alaAppMonTCPOverflowFlows OBJECT-TYPE
  SYNTAX        Counter32
  MAX-ACCESS  	read-only
  STATUS      	current
  DESCRIPTION 	"AppMon TCP Overflow Flows."
  ::= { alaAppMonStatisticsEntry 4} 


alaAppMonUDPOverflowPackets OBJECT-TYPE
  SYNTAX        Counter32
  MAX-ACCESS  	read-only
  STATUS      	current
  DESCRIPTION 	"AppMon UDP Overflow Packets."
  ::= { alaAppMonStatisticsEntry 5} 

alaAppMonVCTopologyTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaAppMonVCTopologyEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing AppMon VC Topology information."
  ::= { alaAppMonMIBObjects 21 }

alaAppMonVCTopologyEntry   OBJECT-TYPE
  SYNTAX                AlaAppMonVCTopologyEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "VC Topology entry."
  INDEX { alaAppMonVCTopologyChassisIndex }
  ::= { alaAppMonVCTopologyTable 1 }

AlaAppMonVCTopologyEntry        ::=
        SEQUENCE
        {
                alaAppMonVCTopologyChassisIndex                 InterfaceIndex,
                alaAppMonVCTopologyChassisType                  INTEGER,
                alaAppMonVCTopologyDesignatedChassisIndex       InterfaceIndex
        }

alaAppMonVCTopologyChassisIndex OBJECT-TYPE
  SYNTAX        InterfaceIndex
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION   "Indicates Chassis Index"
  ::= { alaAppMonVCTopologyEntry 1}

alaAppMonVCTopologyChassisType OBJECT-TYPE
  SYNTAX        INTEGER { os6860(1), os6860E(2) }
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION   "Indicates if the chassis is 6860-E model or not"
  ::= { alaAppMonVCTopologyEntry 2}

alaAppMonVCTopologyDesignatedChassisIndex OBJECT-TYPE
  SYNTAX        InterfaceIndex
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION   "Indicates the Chassis index of 6860-E model to which the 6860 non-E is connected in VC, or shows self index if Chassis is 6860-E "
  ::= { alaAppMonVCTopologyEntry 3}

--
-- trap description
--
alaAppMonAppRecordFileCreated NOTIFICATION-TYPE
    STATUS        current
    DESCRIPTION
       "This trap is sent after writing the appplication records
        monitored in the past hour to the flash file -
        /flash/switch/afn/appmon/appmon_app_records.csv"
::= { alaAppMonMIBNotifications 1 }

alaAppMonFlowRecordFileCreated NOTIFICATION-TYPE
    STATUS        current
    DESCRIPTION
       " This trap is sent after writing pre-configured number 
         of flow records (which is configured by setting 
         alaAppMonLoggingThresholdFlows) to the flash file -
         /flash/switch/afn/appmon/appmon_flow_records.csv"
::= { alaAppMonMIBNotifications 2 }

-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-- Compliance
-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

alaAppMonMIBCompliance MODULE-COMPLIANCE
        STATUS          current
        DESCRIPTION
                                "Compliance statement for AppMon."
        MODULE
                MANDATORY-GROUPS
                {
			alaAppMonConfigGroup,
			alaAppMonPortConfigGroup,
			alaAppMonAppPoolGroup,
			alaAppMonAppGroupsGroup,
			alaAppMonAppListGroup,
			alaAppMonActiveAppListGroup,
			alaAppMonSignatureFileTableGroup,
			alaAppMonFlowTableGroup,
			alaAppMonCurrentHourGroup,
			alaAppMon24HourGroup,
			alaAppMonHourlyGroup,
			alaAppMonNotificationGroup,
			alaAppMonAppListConflictGroup,
                        alaAppMonCertConfigGroup,
			alaAppMonEnforcementAppListGroup,
			alaAppMonEnforcementFlowTableGroup,
			alaAppMonEnforcementL4PortRangeGroup,
			alaAppMonEnforcementActiveApplistGroup,
			alaAppMonEnforcementConflictGroup,
			alaAppMonEnforcementAgingTimerGroup,
			alaAppMonStatisticsGroup,
                        alaAppMonVCTopologyGroup
                }
        ::= { alaAppMonMIBCompliances 1 }

alaAppMonPortConfigGroup      OBJECT-GROUP
        OBJECTS
        {
            alaAppMonPortConfigPortStatus,
            alaAppMonPortConfigOperStatus,
	    alaAppMonEnforcementPortConfigTcpStatus,
	    alaAppMonEnforcementPortConfigUdpStatus
        }
        STATUS current
        DESCRIPTION
                                "Collection of objects for Port configurations for AppMon."
        ::= { alaAppMonMIBGroups 1 }

alaAppMonAppPoolGroup      OBJECT-GROUP
        OBJECTS
        {
            alaAppMonAppPoolCategory,
            alaAppMonAppPoolRevision,
            alaAppMonAppPoolAppStatus,
            alaAppMonEnforcementAppPoolAppID
        }
        STATUS current
        DESCRIPTION
                                "Collection of objects for the Application Pool Information for AppMon."
        ::= { alaAppMonMIBGroups 2 }

alaAppMonAppGroupsGroup      OBJECT-GROUP
        OBJECTS
        {
		alaAppMonAppGroupBuiltIn,
		alaAppMonAppGroupCategoryName,
		alaAppMonAppGrpId,
               alaAppMonAppGroupAppStatus,
		alaAppMonAppGroupStatus	
        }
        STATUS current
        DESCRIPTION
                                "Collection of objects for the Application Group Information for AppMon."
        ::= { alaAppMonMIBGroups 3 }

alaAppMonAppListGroup      OBJECT-GROUP
        OBJECTS
        {
		alaAppMonAppListMemberType,
		alaAppMonAppListAppId,		
                alaAppMonAppListAppStatus,	
		alaAppMonAppListMemberStatus
        }
        STATUS current
        DESCRIPTION
                                "Collection of objects for the Application List Information for AppMon."
        ::= { alaAppMonMIBGroups 4 }

alaAppMonConfigGroup      OBJECT-GROUP
        OBJECTS
        {
		alaAppMonAdminStatus,
		alaAppMonUpdateAppList,
		alaAppMonClearAppList,
		alaAppMonFlowTableFlush,
		alaAppMonAgingInterval,
		alaAppMonAppliedApplications,
		alaAppMonApplicationPoolApplications,
		alaAppMonSignatureFileVersion,
		alaAppMonSignatureFileName,
		alaAppMonSignatureFileAppCount,
		alaAppMonAppGrpFromAppName,
		alaAppMonAppGrpToAppName,
		alaAppMonAddAppGrpName,
		alaAppMonOperationalStatus,
	        alaAppMonForceFlowSyncStatus,
		alaAppMonAutoGroupCreation,
		alaAppMonLoggingThresholdFlows,
		alaAppMonAddRemoveAppGrpName,
                alaAppMonAOSCompatibilityVersion,
                alaAppMonKitType,
                alaAppMonUpgradedKitType,
		alaAppMonUpgradedSignatureFileVersion,
                alaAppMonClearConfig,
		alaAppMonEnforcementIpv4,
		alaAppMonEnforcementIpv6,
		alaAppMonEnforcementFlowTableStatsAdminStatus,
		alaAppMonEnforcementStatsInterval,
		alaAppMonEnforcementLoggingThresholdFlows,
		alaAppMonFlowSyncEnforcementInterval,
		alaAppMonFlowSyncMonitorInterval,
                alaAppMonEnforcementAppliedApplications
        }
        STATUS current
        DESCRIPTION
                                "Collection of objects for general configurations for App Mon."
        ::= { alaAppMonMIBGroups 7 }


alaAppMonActiveAppListGroup  OBJECT-GROUP
        OBJECTS
        {
		alaAppMonActiveAppListAppGroupName,
		alaAppMonActiveAppListActiveFlowCount,
		alaAppMonActiveAppListAppId,
                alaAppMonActiveAppListAppStatus			
        }
        STATUS current
        DESCRIPTION
                                "Collection of objects for the Active Application List Information for AppMon."
        ::= { alaAppMonMIBGroups 8 }

alaAppMonSignatureFileTableGroup  OBJECT-GROUP
        OBJECTS
        {
		alaAppMonSignatureFileCategory

        }
        STATUS current
        DESCRIPTION
                                "Collection of objects for the Signature File Information for AppMon."
        ::= { alaAppMonMIBGroups 9 }

alaAppMonFlowTableGroup      OBJECT-GROUP
        OBJECTS
        {
		alaAppMonFlowAppGrpName
        }
        STATUS current
        DESCRIPTION
                                "Collection of objects for the Flow Table Information for AppMon."
        ::= { alaAppMonMIBGroups 10 }

alaAppMonCurrentHourGroup      OBJECT-GROUP
        OBJECTS
        {
                alaAppMonCurrentHourAppGroupName,
		alaAppMonCurrentHrStatsMinActiveFlow,
		alaAppMonCurrentHrStatsMaxActiveFlow,
		alaAppMonCurrentHrStatsAvgActiveFlow,
		alaAppMonCurrentHrStatsTotalFlow
	}
        STATUS current
        DESCRIPTION
                                "Collection of objects for the Current Hour Application Records Information for AppMon."
        ::= { alaAppMonMIBGroups 11 }

alaAppMon24HourGroup      OBJECT-GROUP
        OBJECTS
        {
		alaAppMon24HrStatsMinActiveFlow,
		alaAppMon24HrStatsMaxActiveFlow,
		alaAppMon24HrStatsAvgActiveFlow,
		alaAppMon24HrStatsTotalFlow
	}
        STATUS current
        DESCRIPTION
                                "Collection of objects for the 24 Hour Application Records Information for AppMon."
        ::= { alaAppMonMIBGroups 12 }

alaAppMonHourlyGroup      OBJECT-GROUP
        OBJECTS
        {
                alaAppMonHourlyAppGroupName,
		alaAppMonHourlyStatsMinActiveFlow,
		alaAppMonHourlyStatsMaxActiveFlow,
		alaAppMonHourlyStatsAvgActiveFlow,
		alaAppMonHourlyStatsTotalFlow,
                alaAppMonHourlyTimeInterval,
		alaAppMonHourlyTimeIntervalUTC
	}
        STATUS current
        DESCRIPTION
                                "Collection of objects for the HourLY Application Records Information for AppMon."
        ::= { alaAppMonMIBGroups 13 }

    alaAppMonNotificationGroup NOTIFICATION-GROUP
        NOTIFICATIONS
        {
            alaAppMonAppRecordFileCreated,
            alaAppMonFlowRecordFileCreated
        }
        STATUS  current
        DESCRIPTION
            "Application Monitoring Notification Group."
        ::= { alaAppMonMIBGroups 14 }

alaAppMonAppListConflictGroup      OBJECT-GROUP
        OBJECTS
        {
                alaAppMonAppListConflictAppID,
                alaAppMonAppListConflictAppName,
                alaAppMonAppListConflictAppGrpName,
                alaAppMonAppListConflictAppErrorType
        }
        STATUS current
        DESCRIPTION
                          "Collection of objects for the conflit group."
        ::= { alaAppMonMIBGroups 15 }

    alaAppMonCertConfigGroup      OBJECT-GROUP
        OBJECTS
        {
                alaAppMonUpdateSignatureFile,
                alaAppMonUpdateSignatureStatus
        }
        STATUS current
        DESCRIPTION
                  "Collection of AppMon licensed objects."
        ::= { alaAppMonMIBGroups 16 }

    alaAppMonEnforcementAppListGroup    OBJECT-GROUP
        OBJECTS
        {
		alaAppMonEnforcementAppListMemberType,
        	alaAppMonEnforcementAppListAppOrGroupID,         
        	alaAppMonEnforcementAppListAppStatus,
		alaAppMonEnforcementAppListMemberStatus
        }
        STATUS current
        DESCRIPTION
                  "Collection of objects for enforcement applist group."
        ::= { alaAppMonMIBGroups 17 }

    alaAppMonEnforcementFlowTableGroup    OBJECT-GROUP
        OBJECTS
        {
		alaAppMonEnforcementFlowAppName,
		alaAppMonEnforcementFlowAppGrpName,
		alaAppMonEnforcementFlowPolicyRule,
		alaAppMonEnforcementFlowStartTime,
	        alaAppMonEnforcementFlowPktCount,
	        alaAppMonEnforcementFlowByteCount
        }
        STATUS current
        DESCRIPTION
                  "Collection of objects for enforcement flow table group."
        ::= { alaAppMonMIBGroups 18 }

    alaAppMonEnforcementL4PortRangeGroup    OBJECT-GROUP
        OBJECTS
        {
		alaAppMonEnforcementL4PortRangeStart,
		alaAppMonEnforcementL4PortRangeEnd,
		alaAppMonEnforcementL4PortType,
		alaAppMonEnforcementL4PortStatus

        }
        STATUS current
        DESCRIPTION
                  "Collection of objects for enforcement l4 port range group."
        ::= { alaAppMonMIBGroups 19 }

    alaAppMonEnforcementActiveApplistGroup    OBJECT-GROUP
        OBJECTS
        {
		alaAppMonEnforcementActiveAppListAppGroupName,
		alaAppMonEnforcementActiveAppListActiveMatchedFlows,
		alaAppMonEnforcementActiveAppListTotalMatchedFlows,
		alaAppMonEnforcementActiveAppListAppID,
        	alaAppMonEnforcementActiveAppListAppStatus,
                alaAppMonEnforcementActiveAppListActivePktCount,
                alaAppMonEnforcementActiveAppListActiveByteCount,
                alaAppMonEnforcementActiveAppListGrossPktCount,
                alaAppMonEnforcementActiveAppListGrossByteCount
        }
        STATUS current
        DESCRIPTION
                  "Collection of objects for enforcement active application list group."
        ::= { alaAppMonMIBGroups 20 }

    alaAppMonEnforcementConflictGroup    OBJECT-GROUP
        OBJECTS
        {
                alaAppMonEnforcementAppListConflictAppID,
                alaAppMonEnforcementAppListConflictAppName,
                alaAppMonEnforcementAppListConflictAppGrpName,
                alaAppMonEnforcementAppListConflictAppErrorType
        }
        STATUS current
        DESCRIPTION
                  "Collection of objects for enforcement conflict group."
        ::= { alaAppMonMIBGroups 21 }

    alaAppMonEnforcementAgingTimerGroup    OBJECT-GROUP
        OBJECTS
        {
		alaAppMonEnforcementTcpAgingTimerValue,
                alaAppMonEnforcementUdpAgingTimerValue
	}
        STATUS current
        DESCRIPTION
                  "Collection of objects for enforcement aging timer group."
        ::= { alaAppMonMIBGroups 22 }

    alaAppMonStatisticsGroup    OBJECT-GROUP
        OBJECTS
        {
            alaAppMonTotalEnforcementActiveFlows,
            alaAppMonTotalFlowTableInUseFlows,
            alaAppMonTCPOverflowFlows,
            alaAppMonUDPOverflowPackets
	    }

        STATUS current
        DESCRIPTION
                  "Collection of objects for enforcement statistics group."
        ::= { alaAppMonMIBGroups 23 }

    alaAppMonVCTopologyGroup    OBJECT-GROUP
        OBJECTS
        {
            alaAppMonVCTopologyChassisType,
            alaAppMonVCTopologyDesignatedChassisIndex
        }

        STATUS current
        DESCRIPTION
                  "Collection of objects for vc topology group."
        ::= { alaAppMonMIBGroups 24 }
END
