-- *****************************************************************
-- FS-UPGRADE-MIB.mib:  FS upgrade MIB file
--
-- Jan 2018, zhouci
--
-- Copyright (c) 2018 by FS.COM Inc..
-- All rights reserved.
-- 
-- *****************************************************************
--

FS-UPGRADE-MIB DEFINITIONS ::= BEGIN

IMPORTS
        NOTIFICATION-TYPE,
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Integer32,
        Unsigned32,
        Counter64,
        IpAddress
                FROM SNMPv2-SMI
        TruthValue,
        DisplayString,
        RowStatus,
        MacAddress
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        IfIndex,
        ConfigStatus
                FROM FS-TC
        fsMgmt
                FROM FS-SMI;

fsUpgradeMIB MODULE-IDENTITY
        LAST-UPDATED "201801020000Z"
        ORGANIZATION "FS.COM Inc.."
        CONTACT-INFO
                "
                Tel: 400-865-2852
                E-mail: https://www.fs.com/live_chat_service_mail.html"
        DESCRIPTION
                "This module defines fs system upgrade mibs."
        REVISION      "201801020000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { fsMgmt 158}

fsUpgradeMIBObjects OBJECT IDENTIFIER ::= { fsUpgradeMIB 1 }

fsUpgradeMIBGroups OBJECT IDENTIFIER ::= { fsUpgradeMIBObjects 1 }

fsFileSystemUpgradeDownloadUrl OBJECT-TYPE
        SYNTAX       DisplayString (SIZE (0..255))
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
                "url of upgrade file.
                eg: 192.168.1.2/fs.bin"
        DEFVAL { "" }
        ::= { fsUpgradeMIBGroups 1 }

fsFileSystemUpgradeDownloadFlag OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
                "upgrade force"
        DEFVAL { 0 }
        ::= { fsUpgradeMIBGroups 2 }

-- traps define here
fsUpgradeMIBTraps OBJECT IDENTIFIER ::= { fsUpgradeMIB 2 }

fsUpgradeFailTrap  NOTIFICATION-TYPE
        OBJECTS   {
        fsSystemCurrtenVersion,
        fsSystemUpgradeFailNo,
        fsSystemUpgradeFailReason,
        fsSystemUpgradeFailVersion
        }
        STATUS    current
        DESCRIPTION
                "while upgrade fail, then this trap will be sent."
        ::= { fsUpgradeMIBTraps 1 }

fsUpgradeFailRecovTrap  NOTIFICATION-TYPE
        OBJECTS   {
        fsSystemCurrtenVersion,
        fsSystemUpgradeFailNo,
        fsSystemUpgradeFailReason,
        fsSystemUpgradeFailVersion
        }
        STATUS    current
        DESCRIPTION
                "while upgrade fail recover, then this trap will be sent."
        ::= { fsUpgradeMIBTraps 2 }

-- conformance information

fsUpgradeMIBConformance OBJECT IDENTIFIER ::= { fsUpgradeMIB 3 }
fsUpgradeMIBCompliances OBJECT IDENTIFIER ::= { fsUpgradeMIBConformance 1 }

-- compliance statements

fsSystemCurrtenVersion OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The current version of system."
    ::= { fsUpgradeMIBCompliances 1 }

fsSystemUpgradeFailNo OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The error number when upgrade failed."
    ::= { fsUpgradeMIBCompliances 2 }

fsSystemUpgradeFailReason OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The reason for upgrade failure."
    ::= { fsUpgradeMIBCompliances 3 }

fsSystemUpgradeFailVersion OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The version need to upgrade."
    ::= { fsUpgradeMIBCompliances 4 }

END
