--
-- Copyright (c) 2010 by Ruckus Wireless, Inc.
-- All Rights Reserved
--

RUCKUS-UPGRADE-MIB DEFINITIONS ::= BEGIN

IMPORTS
    ruckusCommonUpgradeModule
        FROM RUCKUS-ROOT-MIB
    DateAndTime,
    DisplayString,
    TruthValue
        FROM SNMPv2-TC
    OBJECT-GROUP,
    MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    MODULE-IDENTITY,
    OBJECT-TYPE,
    IpAddress,
    Unsigned32
        FROM SNMPv2-SMI;

ruckusUpgradeMIB MODULE-IDENTITY
    LAST-UPDATED "201010150800Z"
    ORGANIZATION "Ruckus Wireless Inc."
    CONTACT-INFO
        "Ruckus Wireless Inc.

        Postal:
        880 W Maude Ave
        Sunnyvale, CA 94085
        USA

        EMail: support@ruckuswireless.com

        Phone: +1-650-265-4200"
    DESCRIPTION
        "This is the software upgrade management objects."
    ::= { ruckusCommonUpgradeModule 1 }


-- Groups
--

ruckusUpgradeObjects OBJECT IDENTIFIER  ::= { ruckusUpgradeMIB 1 }

ruckusFileTransfer OBJECT IDENTIFIER    ::= { ruckusUpgradeObjects 1 }

ruckusAutoUpgrade OBJECT IDENTIFIER     ::= { ruckusUpgradeObjects 2 }

-- Server and File settings for Software Upgrade
--

ruckusFileTransferMethod OBJECT-TYPE
    SYNTAX  INTEGER {
            tftp(1),
            ftp(2),
            web(3) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Specifies the file tranfer method.  ruckusFileTransferFTPUsername
        and ruckusFileTransferFTPPassword must be specified if FTP(2) is
        elected"
    ::= { ruckusFileTransfer 1 }


ruckusFileTransferHostName OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Specifies the name of the host where the
        control file is residing.It is the same as 'ruckusFileTransferHostAddr'
        when it is a ipv4/ipv6 address.
        the value is ipv4 address,ipv6 address or domain name."
    ::= { ruckusFileTransfer 2 }


ruckusFileTransferHostAddr OBJECT-TYPE
    SYNTAX  OCTET STRING  (SIZE (2..40))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Specifies the IP(V6) address of the host.  This IP(V6) address shall
        be used when DNS resolution fails with ruckusFileTransferHostName.
        This node is the same as the node 'ruckusFileTransferHostName' when it
        is a ipv4/ipv6 address,otherwise it return NULL.
        The value is ipv4 address pr ipv6 address."
    ::= { ruckusFileTransfer 3 }


ruckusFileTransferControlFileName OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (1..128))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Specifies the name of the control file."
    ::= { ruckusFileTransfer 4 }


ruckusFileTransferFTPUsername OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (1..32))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Specifies username for FTP file transfer."
    ::= { ruckusFileTransfer 5 }


ruckusFileTransferFTPPassword OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (1..32))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Specifies password for FTP file transfer."
    ::= { ruckusFileTransfer 6 }


ruckusFileTransferUpgradeNow OBJECT-TYPE
    SYNTAX  TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Setting this object to true(1) would cause upgrade to take place
        immediately.  Always returns false(2) on read."
    ::= { ruckusFileTransfer 7 }


ruckusFileTransferTakeEffectImmediately OBJECT-TYPE
    SYNTAX  TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Setting this object to true(1) sets a flag such that the device
        will reboot upon successful completion of the transfer. Reading it
        returns the state of that flag."
    ::= { ruckusFileTransfer 8 }


-- Auto Upgrade Group
--

ruckusAutoUpgradeInitialCheckInterval OBJECT-TYPE
    SYNTAX  Unsigned32
    UNITS
        "minutes"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Specifies initial check interval."
    DEFVAL { 5 }
    ::= { ruckusAutoUpgrade 1 }


ruckusAutoUpgradeCheckInterval OBJECT-TYPE
    SYNTAX  Unsigned32
    UNITS
        "minutes"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Specifies the interval in minutes, to check if there is a new
        software available at the host.

        If the interval is zero, means that the software download
        is disabled."
    DEFVAL { 720 }
    ::= { ruckusAutoUpgrade 2 }


ruckusAutoUpgradeStatus OBJECT-TYPE
    SYNTAX  Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "To enable/disable automatic upgrade capability."
    ::= { ruckusAutoUpgrade 3 }


-- Conformance & Compliance
--

END
