--==================================================================
-- Copyright (C) 2013 by  HUAWEI TECHNOLOGIES. All rights reserved.
-- 
-- Description: HUAWEI SSH MIB
-- Reference:
-- Version: V1.0
-- History:
-- <author>,  <date>,  <contents>
-- ZhengYuting   2006-11-22
-- ==================================================================

-- ==================================================================
-- 
-- Variables and types are imported
-- 
-- ==================================================================

    HUAWEI-BULKSTAT-MIB DEFINITIONS ::= BEGIN
 
        IMPORTS
            hwDatacomm            
                FROM HUAWEI-MIB            
            OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP            
                FROM SNMPv2-CONF            
            Integer32, OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE            
                FROM SNMPv2-SMI            
            RowStatus            
                FROM SNMPv2-TC;
    
    
        hwBulkStat MODULE-IDENTITY 
            LAST-UPDATED "201307011339Z"        -- July 1, 2013 at 13:39 GMT
            ORGANIZATION 
                "Huawei Technologies Co.,Ltd."
            CONTACT-INFO
                "Huawei Industrial Base
                  Bantian, Longgang
                   Shenzhen 518129
                   People's Republic of China
                   Website: http://www.huawei.com
                   Email: support@huawei.com
                 "
            DESCRIPTION 
                "The MIB module for creating and deleting bulk files of
                SNMP data for file transfer."
           REVISION "201307011339Z"        --  July 1, 2013 at 13:39 GMT
            DESCRIPTION 
                "The initial revision of this MIB module ."

            REVISION "200611221414Z"        -- November 22, 2006 at 14:14 GMT
            DESCRIPTION 
                "The initial revision of this MIB module ."
            ::= { hwDatacomm 140 }

        
    
    
--
-- Node definitions
--
    
--  ==================================================================
-- 
-- ======================= definition begin =========================
-- 
-- ==================================================================  
        hwBulkStatMibObjects OBJECT IDENTIFIER ::= { hwBulkStat 1 }

        
        hwBulkStatEnable OBJECT-TYPE
            SYNTAX INTEGER
                {
                enable(1),
                disable(2)
                }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The value of this object identifies whether BulkStat is enabled."
            ::= { hwBulkStatMibObjects 1 }

        
        hwBulkStatCollectCapability OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The value of this object identifies the collection capability in five minutes."
            ::= { hwBulkStatMibObjects 2 }

        
        hwBulkStatDefineMaxFiles OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The value of this object identifies the maximum number of statistics files that can be created."
            ::= { hwBulkStatMibObjects 3 }

        
        hwBulkStatDefineFiles OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The value of this object identifies the number of statistics files that are configured currently."
            ::= { hwBulkStatMibObjects 4 }

        
        hwBulkStatDefineObjects OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The value of this object identifies the number of statistics objects configured in all files."
            ::= { hwBulkStatMibObjects 5 }

        
        hwBulkStatTrapEnable OBJECT-TYPE
            SYNTAX INTEGER
                {
                enable(1),
                disable(2)
                }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The object specifies whether to send trap information to NMS.
                It's allowed to send trap information to NMS only when the value is enable.
                The default value is disable."
            ::= { hwBulkStatMibObjects 6 }

        
        hwBulkStatDefineFileTableNextIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The value of this object identifies the index of the next available hwBulkStatDefineObjectTable.
                If there is no available index, the value will be filled with 0."
            ::= { hwBulkStatMibObjects 7 }

        
        hwBulkStatDefineFileTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwBulkStatDefineFileEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Bulk file management table, providing create/modify/delete operations.
                To create a bulk file, you need create a related record in this table, and add object nodes in the hwBulkStatDefineObjectTable.
                If you delete a bulk file, the related objects in the hwBulkStatDefineObjectTable will be deleted."
            ::= { hwBulkStatMibObjects 8 }

        
        hwBulkStatDefineFileEntry OBJECT-TYPE
            SYNTAX HwBulkStatDefineFileEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Entry of hwBulkStatDefineFileTable."
            INDEX { hwBulkStatDefineFileIndex }
            ::= { hwBulkStatDefineFileTable 1 }

        
        HwBulkStatDefineFileEntry ::=
            SEQUENCE { 
                hwBulkStatDefineFileIndex
                    Integer32,
                hwBulkStatDefineFileName
                    OCTET STRING,
                hwBulkStatDefineFileStorage
                    INTEGER,
                hwBulkStatDefineFileFormat
                    INTEGER,
                hwBulkStatDefineFileCollectInterval
                    Integer32,
                hwBulkStatDefineFileTransferInterval
                    Integer32,
                hwBulkStatDefineFileTransferPrimaryURL
                    OCTET STRING,
                hwBulkStatDefineFileTransferSecondaryURL
                    OCTET STRING,
                hwBulkStatDefineFileTransferRetryTimes
                    Integer32,
                hwBulkStatDefineFileRemainTime
                    Integer32,
                hwBulkStatDefineFileStatus
                    INTEGER,
                hwBulkStatDefineFileLastTransferSuccessTime
                    Integer32,
                hwBulkStatDefineFileLastTransferFailTime
                    Integer32,
                hwBulkStatDefineFileNextObjectIndex
                    Integer32,
                hwBulkStatDefineFileRowStatus
                    RowStatus
             }

        hwBulkStatDefineFileIndex OBJECT-TYPE
            SYNTAX Integer32 (1..10)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The value of this object identifies the indexes of statistics files. 
                The maximum index number is equal to that of the bulk files allowed to create."
            ::= { hwBulkStatDefineFileEntry 1 }

        
        hwBulkStatDefineFileName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (1..31))
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The value of this object identifies the name of a statistics file."
            ::= { hwBulkStatDefineFileEntry 11 }

        
        hwBulkStatDefineFileStorage OBJECT-TYPE
            SYNTAX INTEGER { ephemeral(1) }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The value of this object identifies the storage mode of a statistics file."
            DEFVAL { ephemeral }
            ::= { hwBulkStatDefineFileEntry 12 }

        
        hwBulkStatDefineFileFormat OBJECT-TYPE
            SYNTAX INTEGER { bulkASCII(1) }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The value of this object identifies the format of a statistics file."
            DEFVAL { bulkASCII }
            ::= { hwBulkStatDefineFileEntry 13 }

        
        hwBulkStatDefineFileCollectInterval OBJECT-TYPE
            SYNTAX Integer32 (5 | 10 | 15 | 30)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The value of this object identifies the interval for collecting statistics files."
            DEFVAL { 5 }
            ::= { hwBulkStatDefineFileEntry 14 }

        
        hwBulkStatDefineFileTransferInterval OBJECT-TYPE
            SYNTAX Integer32 (5 | 10 | 15 | 30)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The value of this object identifies the interval for uploading statistics files."
            DEFVAL { 5 }
            ::= { hwBulkStatDefineFileEntry 15 }


        hwBulkStatDefineFileTransferPrimaryURL OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (0..256))
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "This object indicates the primary URL the statistics file is uploaded to.
                It should be in the forms of below:
                ftp://user:password@host/folder/bulkstat1
                sftp://user:password@host/folder/bulkstat1
                tftp://10.1.0.1/tftpboot/user/bulkstat1
                "
            ::= { hwBulkStatDefineFileEntry 16 }


        hwBulkStatDefineFileTransferSecondaryURL OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (0..256))
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "This object indicates the secondary URL the statistics file is uploaded to.
                It should be in the forms of below:
                ftp://user:password@host/folder/bulkstat1
                sftp://user:password@host/folder/bulkstat1
                tftp://10.1.0.1/tftpboot/user/bulkstat1
                "
            ::= { hwBulkStatDefineFileEntry 17 }


        hwBulkStatDefineFileTransferRetryTimes OBJECT-TYPE
            SYNTAX Integer32 (0..5)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The value of this object identifies the retransmission times of the statistics file during uploading."
            DEFVAL { 5 }
            ::= { hwBulkStatDefineFileEntry 18 }


        hwBulkStatDefineFileRemainTime OBJECT-TYPE
            SYNTAX Integer32 (1..30)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The value of this object identifies the time for reserving statistics files."
            DEFVAL { 5 }
            ::= { hwBulkStatDefineFileEntry 19 }


                hwBulkStatDefineFileStatus OBJECT-TYPE
            SYNTAX INTEGER
                {
                ready(1),
                running(2),
                stopped(3)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The value of this object identifies status of statistics files.There are three available values: stopped, ready, and running. For running state, it is read-only. For the other two, they are read-create, but can not be set to running, and set duplicatedly."
                DEFVAL { stopped }
            ::= { hwBulkStatDefineFileEntry 20 }
            
            
        hwBulkStatDefineFileLastTransferSuccessTime OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The value of this object identifies the last file collection timestamp of the latest successful statistics file uploading.
                The value is in seconds."
            ::= { hwBulkStatDefineFileEntry 21 }

        
        hwBulkStatDefineFileLastTransferFailTime OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The value of this object identifies the last file collection timestamp of the latest failed statistics file uploading."
            ::= { hwBulkStatDefineFileEntry 22 }

        
        hwBulkStatDefineFileNextObjectIndex OBJECT-TYPE
            SYNTAX Integer32 (0..1000)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The value of this object identifies the index of the next available hwBulkStatDefineObjectTable."
            ::= { hwBulkStatDefineFileEntry 23 }

        
        hwBulkStatDefineFileRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "This object indicates the row status of the statistics file table."
            ::= { hwBulkStatDefineFileEntry 51 }

        
        hwBulkStatDefineObjectTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwBulkStatDefineObjectEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Object management table in the bulk file,
                providing add/modify/delete operations.
                Prerequisite for the operation is that the 
                bulk file is listed in the hwBulkStatDefineFileTable."
            ::= { hwBulkStatMibObjects 9 }

        
        hwBulkStatDefineObjectEntry OBJECT-TYPE
            SYNTAX HwBulkStatDefineObjectEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Entry of hwBulkStatDefineObjectTable."
            INDEX { hwBulkStatDefineFileIndex, hwBulkStatDefineObjectIndex }
            ::= { hwBulkStatDefineObjectTable 1 }

        
        HwBulkStatDefineObjectEntry ::=
            SEQUENCE { 
                hwBulkStatDefineObjectIndex
                    Integer32,
                hwBulkStatDefineObjectClass
                    INTEGER,
                hwBulkStatDefineObjectOID
                    OCTET STRING,
                hwBulkStatDefineObjectIndexBegin
                    OCTET STRING,
                hwBulkStatDefineObjectInstanceNum
                    Integer32,
                hwBulkStatDefineObjectRowStatus
                    RowStatus
             }


        hwBulkStatDefineObjectIndex OBJECT-TYPE
            SYNTAX Integer32 (1..1000)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The value of this object identifies statistics objects."
            ::= { hwBulkStatDefineObjectEntry 1 }

        
        hwBulkStatDefineObjectClass OBJECT-TYPE
            SYNTAX INTEGER
                {
                single(1),
                column(2)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The value of this object identifies the types of statistics objects."
            ::= { hwBulkStatDefineObjectEntry 11 }

        
        hwBulkStatDefineObjectOID OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (1..127))
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "This object indicates the OID of the statistics object."
            ::= { hwBulkStatDefineObjectEntry 12 }

        
        hwBulkStatDefineObjectIndexBegin OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (0..127))
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "This object indicates the start index of the statistics object."
            ::= { hwBulkStatDefineObjectEntry 13 }

        
        hwBulkStatDefineObjectInstanceNum OBJECT-TYPE
            SYNTAX Integer32 (0..65535)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The value of this object identifies the number of instances of statistics objects."
            ::= { hwBulkStatDefineObjectEntry 14 }

        
        hwBulkStatDefineObjectRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "This object indicates the row status of the statistics object."
            ::= { hwBulkStatDefineObjectEntry 51 }

        
        hwBulkStatNotifications OBJECT IDENTIFIER ::= { hwBulkStat 2 }

        
        hwBulkStatCollectIncomplete NOTIFICATION-TYPE
            OBJECTS { hwBulkStatDefineFileName }
            STATUS current
            DESCRIPTION 
                "An alarm is generated when the collected statistics files are incomplete."
            ::= { hwBulkStatNotifications 1 }

        
        hwBulkStatCollectResume NOTIFICATION-TYPE
            OBJECTS { hwBulkStatDefineFileName }
            STATUS current
            DESCRIPTION 
                "An alarm is generated when the incomplete statistics files are resumed."
            ::= { hwBulkStatNotifications 2 }

        
        hwBulkStatURLConnectionFail NOTIFICATION-TYPE
            OBJECTS { hwBulkStatDefineFileName, hwBulkStatDefineFileTransferPrimaryURL, hwBulkStatDefineFileTransferSecondaryURL }
            STATUS current
            DESCRIPTION 
                "An alarm is generated when the link for file uploading fails."
            ::= { hwBulkStatNotifications 3 }

        
        hwBulkStatURLConnectionResume NOTIFICATION-TYPE
            OBJECTS { hwBulkStatDefineFileName, hwBulkStatDefineFileTransferPrimaryURL, hwBulkStatDefineFileTransferSecondaryURL }
            STATUS current
            DESCRIPTION 
                "An alarm is generated when the link for file uploading recovers from the fault."
            ::= { hwBulkStatNotifications 4 }

        
        hwBulkStatTransferFileDiscard NOTIFICATION-TYPE
            OBJECTS { hwBulkStatDefineFileName, hwBulkStatDefineFileLastTransferFailTime }
            STATUS current
            DESCRIPTION 
                "An alarm is generated when the file fails to be uploaded and then is discarded."
            ::= { hwBulkStatNotifications 5 }

        
--    Conformance information            

        hwBulkStatConformance OBJECT IDENTIFIER ::= { hwBulkStat 3 }

        
        hwBulkStatCompliances OBJECT IDENTIFIER ::= { hwBulkStatConformance 1 }

        
--    this module
        hwBulkStatCompliance MODULE-COMPLIANCE
            STATUS current
            DESCRIPTION 
                "The compliance statement for systems supporting 
                the HUAWEI-BULKSTAT-MIB."
            MODULE -- this module
                MANDATORY-GROUPS { hwBulkStatObjectGroup, hwBulkStatsDefineFileGroup, hwBulkStatDefineObjectGroup, hwBulkStatNotificationGroup }
            ::= { hwBulkStatCompliances 1 }

        
        hwBulkStatGroups OBJECT IDENTIFIER ::= { hwBulkStatConformance 2 }

        
        hwBulkStatObjectGroup OBJECT-GROUP
            OBJECTS { hwBulkStatEnable, hwBulkStatCollectCapability, hwBulkStatDefineMaxFiles, hwBulkStatDefineFiles, hwBulkStatDefineObjects, 
                hwBulkStatTrapEnable, hwBulkStatDefineFileTableNextIndex }
            STATUS current
            DESCRIPTION 
                "The bulkstat attribute group."
            ::= { hwBulkStatGroups 1 }

        
        hwBulkStatsDefineFileGroup OBJECT-GROUP
            OBJECTS { hwBulkStatDefineFileName, hwBulkStatDefineFileStorage, hwBulkStatDefineFileFormat, hwBulkStatDefineFileCollectInterval, hwBulkStatDefineFileTransferInterval, 
                hwBulkStatDefineFileStatus, hwBulkStatDefineFileTransferPrimaryURL, hwBulkStatDefineFileTransferSecondaryURL, hwBulkStatDefineFileTransferRetryTimes, hwBulkStatDefineFileRemainTime, 
                hwBulkStatDefineFileLastTransferSuccessTime, hwBulkStatDefineFileLastTransferFailTime, hwBulkStatDefineFileNextObjectIndex, hwBulkStatDefineFileRowStatus }
            STATUS current
            DESCRIPTION 
                "The bulk file's group."
            ::= { hwBulkStatGroups 2 }

        
        hwBulkStatDefineObjectGroup OBJECT-GROUP
            OBJECTS { hwBulkStatDefineObjectClass, hwBulkStatDefineObjectOID, hwBulkStatDefineObjectIndexBegin, hwBulkStatDefineObjectInstanceNum, hwBulkStatDefineObjectRowStatus
                 }
            STATUS current
            DESCRIPTION 
                "The bulkstat object's group."
            ::= { hwBulkStatGroups 3 }

        
        hwBulkStatNotificationGroup NOTIFICATION-GROUP
            NOTIFICATIONS { hwBulkStatCollectIncomplete, hwBulkStatCollectResume, hwBulkStatURLConnectionFail, hwBulkStatURLConnectionResume, hwBulkStatTransferFileDiscard
                 }
            STATUS current
            DESCRIPTION 
                "The notification group."
            ::= { hwBulkStatGroups 4 }

        
    
    END

--
-- HUAWEI-BULKSTAT-MIB.mib
--
