--
-- File Name : A10-AX-NOTIF-OBJ.txt
--
-- Copyright(C) 2005-2021, A10 Networks Inc. All rights reserved.
-- Software for all A10 products contain trade secrets and confidential
-- information of A10 Networks and its subsidiaries and may not be disclosed,
-- copied, reproduced or distributed to anyone outside of A10 Networks
-- without prior written consent of A10 Networks, Inc.
--
-- Description:     This is the A10 AX SNMP Notification Object file.
--
-- History:
--
A10-AX-NOTIF-OBJ DEFINITIONS ::= BEGIN
  IMPORTS

    DisplayString, PhysAddress, DateAndTime
      FROM SNMPv2-TC

    InetAddressType
      FROM INET-ADDRESS-MIB

    axNotification, axLogging
      FROM A10-AX-MIB

    OBJECT-TYPE, Counter32, Integer32, Unsigned32, Counter64, OBJECT-IDENTITY, NOTIFICATION-TYPE
      FROM SNMPv2-SMI;

	axNotificationObjects        OBJECT IDENTIFIER ::= { axNotification 1 }
	axNotifications              OBJECT IDENTIFIER ::= { axNotification 2 }

axNotificationMsg OBJECT-TYPE
        SYNTAX        DisplayString 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The information about the related notification."
        ::= { axNotificationObjects 1 }

axNotificationSLBServer OBJECT-TYPE
        SYNTAX        DisplayString 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The address or host name of the server."
        ::= { axNotificationObjects 2 }

axNotificationSLBPort OBJECT-TYPE
        SYNTAX        INTEGER 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The service port."
        ::= { axNotificationObjects 3 }

axNotificationSLBCurConns OBJECT-TYPE
        SYNTAX        Counter32 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The current total of connections."
        ::= { axNotificationObjects 4 }

axNotificationVirtualServer OBJECT-TYPE
        SYNTAX        DisplayString 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The address or host name of the virtual server."
        ::= { axNotificationObjects 5 }

axNotificationVirtualServerPort OBJECT-TYPE
        SYNTAX        INTEGER 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The virtual server port."
        ::= { axNotificationObjects 6 }

axNotificationVirtualServerPortType OBJECT-TYPE
        SYNTAX INTEGER {
		firewall(1),
		tcp(2),
		udp(3),
		rtsp(8),
		ftp(9),
		mms(10),
		fastHTTP(12),
		http(14),
		https(15),
		sslProxy(16),
		smtp(17),
		sip(11),
		sips(19), 
		sip-TCP(18), 
		others(5)
	}
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The virtual server port type."
        ::= { axNotificationObjects 7 }

axNotificationDroppedPackets OBJECT-TYPE
        SYNTAX        INTEGER 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The number of dropped packets when the event happened."
        ::= { axNotificationObjects 8 }

axNotificationConfiguredThreshold OBJECT-TYPE
        SYNTAX        INTEGER 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The configured threshold value."
        ::= { axNotificationObjects 9 }

axNotificationCurrentUsage OBJECT-TYPE
        SYNTAX        INTEGER 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The current usage value."
        ::= { axNotificationObjects 10 }

axNotificationConnLimit OBJECT-TYPE
        SYNTAX        INTEGER 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The conn-limit."
        ::= { axNotificationObjects 11 }

axNotificationTrunkID OBJECT-TYPE
        SYNTAX        INTEGER 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The trunk ID"
        ::= { axNotificationObjects 12 }

axNotificationPortThreshold OBJECT-TYPE
        SYNTAX        INTEGER 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The port threshold"
        ::= { axNotificationObjects 13 }

axNotificationCurrentUpPorts OBJECT-TYPE
        SYNTAX        INTEGER 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The current up ports"
        ::= { axNotificationObjects 14 }

axNotificationFanName OBJECT-TYPE
        SYNTAX        DisplayString 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The system fan name."
        ::= { axNotificationObjects 15 }

axNotificationPowerSupplyName OBJECT-TYPE
        SYNTAX        DisplayString 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The system power supply name."
        ::= { axNotificationObjects 16 }

axNotificationHAGroup OBJECT-TYPE
        SYNTAX        INTEGER 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The HA group ID."
        ::= { axNotificationObjects 17 }

axNotificationSLBServiceGroupName OBJECT-TYPE
        SYNTAX        DisplayString 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The service group name."
        ::= { axNotificationObjects 18 }

axNotificationPartitionId OBJECT-TYPE
        SYNTAX        INTEGER 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The application partition identifier."
        ::= { axNotificationObjects 19 }

axNotificationVrid OBJECT-TYPE
        SYNTAX        INTEGER 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The VRRP identifier."
        ::= { axNotificationObjects 20 }

axNotificationPartitionName OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The application partition name."
        ::= { axNotificationObjects 21 }

axNotificationGslbSiteName OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The GSLB site name."
        ::= { axNotificationObjects 22 }

axNotificationGslbSiteSlbDeviceName OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The GSLB device name inside a site."
        ::= { axNotificationObjects 23 }

axNotificationGslbSiteIpServerAddr OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The GSLB IP server address."
        ::= { axNotificationObjects 24 }

axNotificationGslbServiceIpName OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The GSLB service IP name."
        ::= { axNotificationObjects 25 }

axNotificationGslbServiceIpAddr OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The GSLB service IP name."
        ::= { axNotificationObjects 26 }

axNotificationGslbServiceIpPortType OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The GSLB service IP port type."
        ::= { axNotificationObjects 27 }

axNotificationGslbZoneName OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The GSLB zone name."
        ::= { axNotificationObjects 28 }

axNotificationGslbZoneServiceProto OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The GSLB zone service protocol name."
        ::= { axNotificationObjects 29 }

axNotificationGslbZoneServiceName OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The GSLB zone service name."
        ::= { axNotificationObjects 30 }

axNotificationGslbGroupName OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The GSLB group name."
        ::= { axNotificationObjects 31 }

axNotificationGslbGroupEntity OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The GSLB group entity (either group member or group master) IP address or local."
        ::= { axNotificationObjects 32 }


axNotificationLicensedModuleName OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The licensed module name."
        ::= { axNotificationObjects 33 }

axNotificationShutdownReason OBJECT-TYPE
	SYNTAX INTEGER {
		tooHighSystemTemperature(1),
		insufficientPowerSupply(2)
	}
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The reason for the system shut-down."
        ::= { axNotificationObjects 34 }

axNotificationIpAddressType OBJECT-TYPE
        SYNTAX          InetAddressType
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The type of IP address."
        ::= { axNotificationObjects 35 }

axNotificationLicenseDisableDuration OBJECT-TYPE
        SYNTAX        Unsigned32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The license has been disabled for given seconds."
        ::= { axNotificationObjects 36 }

axNotificationSslServerCertificateErrCounter OBJECT-TYPE
        SYNTAX        Unsigned32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The counter for the SSL server certificate errors."
        ::= { axNotificationObjects 37 }

axNotificationServerSelectionFailureReason OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The reason of server selection failure."
        ::= { axNotificationObjects 38 }

axNotificationConnectionTypeName OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The name of the type."
        ::= { axNotificationObjects 39 }

axNotificationSlbObjectChange OBJECT-TYPE
        SYNTAX INTEGER {
            create(1),
            delete(2)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The type of create/delete."
        ::= { axNotificationObjects 40 }


axNotificationCertificateName OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The name of the certificate."
        ::= { axNotificationObjects 41 }

axNotificationDateTime OBJECT-TYPE
        SYNTAX      DateAndTime
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Time the event is going to occuer, expired."
        ::= { axNotificationObjects 42 }

axNotificationSLBServerPortType OBJECT-TYPE
        SYNTAX INTEGER {
            tcp(2),
            udp(3)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The server port type of create/delete."
        ::= { axNotificationObjects 43 }

axNotificationPartitionResourceName OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The partition resource name."
        ::= { axNotificationObjects 44 }

axNotificationPartitionResourceUsageLevel OBJECT-TYPE
        SYNTAX INTEGER {
                   below(1),
                   above(2)
           }
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The partition resource usage level."
        ::= { axNotificationObjects 45 }

axNotificationTacacsServerHost OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The TACACS server host."
        ::= { axNotificationObjects 46 }

axNotificationUpDown OBJECT-TYPE
    SYNTAX INTEGER {
        up(1),
        down(2)
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "The type of up or down."
    ::= { axNotificationObjects 47 }

axNotificationTrueFalse OBJECT-TYPE
    SYNTAX INTEGER {
        false(0),
    true(1)
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "The effective of the notification."
    ::= { axNotificationObjects 48 }

--================================================================
-- LSN trap objects start here:
--================================================================

axNotificationLsnIpAddress OBJECT-TYPE
        SYNTAX        DisplayString 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The LSN IP address string (IPv4/6)."
        ::= { axNotificationObjects 50 }

axNotificationLsnProtoType OBJECT-TYPE
        SYNTAX INTEGER {
		tcp(2),
		udp(3),
        icmp(4),
        icmpV6(5)
	}
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The LSN protocol type."
        ::= { axNotificationObjects 51 }

axNotificationLsnCurrentUsage OBJECT-TYPE
        SYNTAX        INTEGER 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The LSN current usage."
        ::= { axNotificationObjects 52 }

axNotificationLsnPoolName OBJECT-TYPE
        SYNTAX        DisplayString 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The NAT pool name."
        ::= { axNotificationObjects 53 }

axNotificationLsnExceededTimes OBJECT-TYPE
        SYNTAX        INTEGER 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The exceeded times."
        ::= { axNotificationObjects 54 }

axNotificationLsnFixedNatPortMappingFileName OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The fixed nat port mapping file name."
        ::= { axNotificationObjects 55 }

axNotificationLsnFixedNatPortMappingFileChangeType OBJECT-TYPE
        SYNTAX        INTEGER  {
            create(1),
            delete(2),
            reconfigure(3)
        }
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The change type of fixed nat port mapping file."
        ::= { axNotificationObjects 56 }

--=============================================================
-- VCS notification object
--=============================================================

axNotificationOldVcsState OBJECT-TYPE
        SYNTAX        INTEGER {
			vmasterCandidate(0),
			activatingSlave(1),
			vBlade(2),
			vMaster(3),
			vMasterTakeover(4)
		}
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The old state of VCS."
        ::= { axNotificationObjects 57 }

axNotificationNewVcsState OBJECT-TYPE
        SYNTAX        INTEGER {
			vmasterCandidate(0),
			activatingSlave(1),
			vBlade(2),
			vMaster(3),
			vMasterTakeover(4)
		}
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The new state of VCS."
        ::= { axNotificationObjects 58 }

--=============================================================
-- Chassis
--============================================================

axNotificationChassisInfo OBJECT-TYPE
        SYNTAX        DisplayString 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The chassis information."
        ::= { axNotificationObjects 59 }


--==================================================================
-- SLB threshold
--===================================================================

axNotificationSlbThresholdResourceId OBJECT-TYPE
		SYNTAX        INTEGER {
			unknown(0),
			natPoolAddrCount(1),
			realServerCount(2),
			realPortCount(3),
			serviceGroupCount(4),
			virtualServerCount(5),
			virutalServerPortCount(6),
			httpTemplateCount(7),
			proxyTemplateCount(8),
			connReuseTemplateCount(9),
			fastTcpTemplateCount(10),
			fastUdpTemplateCount(11),
			clientSslTemplateCount(12),
			serverSslTemplateCount(13),
			persistCookieTemplateCount(14),
			persistSrcipTemplateCount(15),
			healthMonitorCount(16),
			pbslbSubnetCount(17)
        }
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The identifier of resource."
        ::= { axNotificationObjects 60 }

--==================================================================
-- Scale Out Notification  object
--===================================================================
axNotificationScaleOutDeviceId OBJECT-TYPE
        SYNTAX        INTEGER 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The device id."
        ::= { axNotificationObjects 61 }

axNotificationScaleOutStatus OBJECT-TYPE
        SYNTAX        DisplayString 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The status information."
        ::= { axNotificationObjects 62 }

axNotificationScaleOutNumberOfDevice OBJECT-TYPE
        SYNTAX        INTEGER 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The number of devices in scale out election."
        ::= { axNotificationObjects 63 }

axNotificationScaleOutTrafficMapType OBJECT-TYPE
        SYNTAX        DisplayString 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The scale out traffic map type."
        ::= { axNotificationObjects 64 }

--=================================================================
-- System Notification Object
--================================================================
axNotificationThresholdLevel OBJECT-TYPE
        SYNTAX INTEGER {
                   below(1),
                   above(2)
           }
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The current usage level."
        ::= { axNotificationObjects 65 }

END
