--**MOD+*********************************************************************** --* Module: ARUBAWIRED-CONFIG-MIB.mib --* --* (c) Copyright 2021-2022 Hewlett Packard Enterprise Development LP --* All Rights Reserved. --* --* The contents of this software are proprietary and confidential --* to the Hewlett-Packard Development Company, L.P. No part of this --* program may be photocopied, reproduced, or translated into another --* programming language without prior written consent of the --* Hewlett-Packard Development Company, L.P. --* --* Purpose: This file contains the MIB definition of ARUBAWIRED-CONFIG-MIB --* --**MOD-*********************************************************************** ARUBAWIRED-CONFIG-MIB DEFINITIONS ::= BEGIN IMPORTS OBJECT-TYPE, MODULE-IDENTITY, Unsigned32, NOTIFICATION-TYPE, TimeTicks FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF DisplayString, TEXTUAL-CONVENTION, TimeStamp, RowStatus, TruthValue FROM SNMPv2-TC InetAddressType, InetAddress FROM INET-ADDRESS-MIB wndFeatures FROM ARUBAWIRED-NETWORKING-OID; arubaWiredConfigurationMIB MODULE-IDENTITY LAST-UPDATED "202108100000Z" ORGANIZATION "HPE/Aruba Networking Division" CONTACT-INFO "Hewlett-Packard Company 8000 Foothills Blvd. Roseville, CA 95747" DESCRIPTION "This MIB module contains HPE proprietary configuration MIBs." REVISION "202108100000Z" DESCRIPTION "Initial revision." ::= { wndFeatures 20 } -- ************************************************************* -- Start of MIB Objects -- ************************************************************* arubaWiredConfigurationNotifications OBJECT IDENTIFIER ::= { arubaWiredConfigurationMIB 0 } arubaWiredConfigurationObjects OBJECT IDENTIFIER ::= { arubaWiredConfigurationMIB 1 } arubaWiredConfigurationConformance OBJECT IDENTIFIER ::= { arubaWiredConfigurationMIB 2 } -- ************************************************************* -- Textual conventions -- ************************************************************* ConfigurationEventMedium ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The source or destination of a configuration change, save, or copy. checkpoint: Automatic configuration checkpoint. cli: Console or SSH terminal. internal: Internal configurator. rest: RESTful interface. snmp: Simple Network Management Protocol. ztp: Zero-touch provisioning. " SYNTAX INTEGER { checkpoint(1), cli(2), internal(3), rest(4), snmp(5), ztp(6) } ConfigurationCopyProtocol ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The protocol file transfer protocol that should be used to copy the configuration file over the network. If the config file transfer is to occur locally on the SNMP agent, the method of transfer is left up to the implementation, and is not restricted to the protocols below. scp: Secure Copy Protocol sftp: Secure File Transfer Protocol tftp: Transfer File Transfer Protocol" SYNTAX INTEGER { scp(1), sftp(2), tftp(3) } ConfigurationCopyState ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The state of a external source configuration copy operation. The description of each state is given below: waiting: A newly activated configuration copy request is placed in this state. Note: only one configuration copy request can run at any time. If another request is issued while there is one executing, it will fail with 'busy' as failure cause. running: this state signifies that the configuration copy request is running. successful: the state when a configuration copy request is successfully completed. failed: the configuration copy request was unsuccessful." SYNTAX INTEGER { waiting(1), running(2), successful(3), failed(4) } ConfigurationCopyFailureCause ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The reason a configuration copy request failed. authenticationFailed: user/pass combination failed. badFilename: bad filename/path/permissions. busy: there is another configuration copy operation running. Retry later. invalidConfiguration: source config is invalid. invalidURL: provided URL is invalid. systemNotReady: system is not ready to copy configuration. timeout: the network may be overloaded, or the remote file server may not be responding. unknown: unknown failure. " SYNTAX INTEGER { authenticationFailed(1), badFilename(2), busy(3), invalidConfiguration(4), invalidURL(5), systemNotReady(6), timeout(7), unknown(8) } ConfigurationFileType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The various types of files on which a configuration copy operation can be performed. externalFile: file on another device, e.g. a file-server on the network or on a USB drive. startupConfiguration: startup config. runningConfiguration: running config. checkpoint: non-startup user-defined checkpoint. " SYNTAX INTEGER { externalFile(1), startupConfiguration(2), runningConfiguration(3), checkpoint(4) } ConfigurationFileFormat ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Configuration file format. cli: Command Line Interface. json: JavaScript Object Notation." SYNTAX INTEGER { cli(1), json(2) } -- ************************************************************ -- Configuration copy requests table -- ************************************************************ arubaWiredConfigurationCopy OBJECT IDENTIFIER ::= { arubaWiredConfigurationObjects 0 } arubaWiredConfigurationCopyTable OBJECT-TYPE SYNTAX SEQUENCE OF ArubaWiredConfigurationCopyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Contains copy configuration requests." ::= { arubaWiredConfigurationCopy 1 } arubaWiredConfigurationCopyEntry OBJECT-TYPE SYNTAX ArubaWiredConfigurationCopyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A configuration copy request. A management station wishing to create an entry should first generate a random serial number to be used as the index to this sparse table. The station should then create the associated instance of the row status and row index objects. It must also, either in the same or in successive PDUs, create an instance of arubaWiredConfigurationCopySourceFileType and arubaWiredConfigurationCopyDestFileType. Only one of the source or destination file types can be 'externalFile'. If one of the file types is a 'externalFile', the following values are expected as well: - arubaWiredConfigurationCopyProtocol - arubaWiredConfigurationCopyFileName - arubaWiredConfigurationCopyServerAddressType - arubaWiredConfigurationCopyServerAddress If the 'externalFile' is the destination, then a valid arubaWiredConfigurationCopyFileFormat is required as well. If authentication is required, then both arubaWiredConfigurationCopyUserName and arubaWiredConfigurationCopyUserPassword are necessary. Once the appropriate instance of all the configuration objects have been created, either by an explicit SNMP set request or by default, the row status should be set to active to initiate the request. Note that this entire procedure may be initiated via a single set request which specifies a row status of createAndGo as well as specifies valid values for the non-defaulted configuration objects. Once the configuration copy request has been created (i.e. the arubaWiredConfigurationCopyEntryRowStatus has been made active), the entry cannot be modified - the only operation possible after this is to delete the row. Once the request completes, the management station should retrieve the values of the status objects of interest, and should then delete the entry. In order to prevent old entries from clogging the table, entries will be aged out, but an entry will never be deleted within 5 minutes of completing." INDEX { arubaWiredConfigurationCopyIndex } ::= { arubaWiredConfigurationCopyTable 1 } ArubaWiredConfigurationCopyEntry ::= SEQUENCE { arubaWiredConfigurationCopyIndex Unsigned32, arubaWiredConfigurationCopySourceFileType ConfigurationFileType, arubaWiredConfigurationCopyDestFileType ConfigurationFileType, arubaWiredConfigurationCopyProtocol ConfigurationCopyProtocol, arubaWiredConfigurationCheckpointName DisplayString, arubaWiredConfigurationCopyFileFormat ConfigurationFileFormat, arubaWiredConfigurationCopyFileName DisplayString, arubaWiredConfigurationCopyServerAddressType InetAddressType, arubaWiredConfigurationCopyServerAddress InetAddress, arubaWiredConfigurationCopyUserName DisplayString, arubaWiredConfigurationCopyUserPassword DisplayString, arubaWiredConfigurationCopyVRFName DisplayString, arubaWiredConfigurationCopyNotificationOnCompletion TruthValue, arubaWiredConfigurationCopyState ConfigurationCopyState, arubaWiredConfigurationCopyTimeStarted TimeStamp, arubaWiredConfigurationCopyTimeCompleted TimeStamp, arubaWiredConfigurationCopyFailureCause ConfigurationCopyFailureCause, arubaWiredConfigurationCopyEntryRowStatus RowStatus } arubaWiredConfigurationCopyIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "Object which specifies a unique entry in the arubaWiredConfigurationCopyTable. A management station wishing to initiate a configuration copy operation should use a random value for this object when creating or modifying an instance of a ArubaWiredConfigurationCopyEntry. The RowStatus semantics of the arubaWiredConfigurationCopyEntryRowStatus object will prevent access conflicts." ::= { arubaWiredConfigurationCopyEntry 1 } arubaWiredConfigurationCopySourceFileType OBJECT-TYPE SYNTAX ConfigurationFileType MAX-ACCESS read-create STATUS current DESCRIPTION "Specifies the type of file to copy from. Either the arubaWiredConfigurationCopySourceFileType or the arubaWiredConfigurationCopyDestFileType (or both) must be of type: - 'checkpoint' - 'runningConfiguration' - 'startupConfiguration' The arubaWiredConfigurationCopySourceFileType must be different from the arubaWiredConfigurationCopyDestFileType." ::= { arubaWiredConfigurationCopyEntry 2 } arubaWiredConfigurationCopyDestFileType OBJECT-TYPE SYNTAX ConfigurationFileType MAX-ACCESS read-create STATUS current DESCRIPTION "Specifies the type of file to copy to. Either the arubaWiredConfigurationCopySourceFileType or the arubaWiredConfigurationCopyDestFileType (or both) must be of type: - 'checkpoint' - 'runningConfiguration' - 'startupConfiguration' The arubaWiredConfigurationCopySourceFileType must be different from the arubaWiredConfigurationCopyDestFileType." ::= { arubaWiredConfigurationCopyEntry 3 } arubaWiredConfigurationCopyProtocol OBJECT-TYPE SYNTAX ConfigurationCopyProtocol MAX-ACCESS read-create STATUS current DESCRIPTION "The protocol file transfer protocol that should be used to copy the configuration file over the network. If the config file transfer is to occur locally on the SNMP agent, the method of transfer is left up to the implementation." ::= { arubaWiredConfigurationCopyEntry 4 } arubaWiredConfigurationCheckpointName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "Specifies the name of the checkpoint to copy. This object must be created when either the arubaWiredConfigurationCopySourceFileType or arubaWiredConfigurationCopyDestFileType has the value 'checkpoint'." ::= { arubaWiredConfigurationCopyEntry 5 } arubaWiredConfigurationCopyFileFormat OBJECT-TYPE SYNTAX ConfigurationFileFormat MAX-ACCESS read-create STATUS current DESCRIPTION "File format to be used when exporting the configuration to a remote device. This value is ignored unless arubaWiredConfigurationCopyDestFileType is 'externalFile'. " ::= { arubaWiredConfigurationCopyEntry 6 } arubaWiredConfigurationCopyFileName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "The name (including the path, if applicable) of the file. This object must be created when either the arubaWiredConfigurationCopySourceFileType or arubaWiredConfigurationCopyDestFileType has the value 'externalFile'." ::= { arubaWiredConfigurationCopyEntry 7 } arubaWiredConfigurationCopyServerAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the transport type of the address contained in arubaWiredConfigurationCopyServerAddress object. This must be created when either the arubaWiredConfigurationCopySourceFileType or arubaWiredConfigurationCopyDestFileType has the value 'externalFile'." ::= { arubaWiredConfigurationCopyEntry 8 } arubaWiredConfigurationCopyServerAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The network address of the remote server from (or to) which to copy the configuration. This object must be created when either the arubaWiredConfigurationCopySourceFileType or arubaWiredConfigurationCopyDestFileType has the value 'externalFile'. All bits as 0s or 1s for arubaWiredConfigurationCopyServerAddress are not allowed. The format of this address depends on the value of the arubaWiredConfigurationCopyServerAddressType object." ::= { arubaWiredConfigurationCopyEntry 9 } arubaWiredConfigurationCopyUserName OBJECT-TYPE SYNTAX DisplayString (SIZE (1..40)) MAX-ACCESS read-create STATUS current DESCRIPTION "Remote username for copy via the protocol stated in arubaWiredConfigurationCopyProtocol." ::= { arubaWiredConfigurationCopyEntry 10 } arubaWiredConfigurationCopyUserPassword OBJECT-TYPE SYNTAX DisplayString (SIZE (1..40)) MAX-ACCESS read-create STATUS current DESCRIPTION "Remote password for copy via the protocol stated in arubaWiredConfigurationCopyProtocol. This object must be created when the arubaWiredConfigurationCopyProtocol is: - scp - sftp Reading it returns a zero-length string for security reasons." ::= { arubaWiredConfigurationCopyEntry 11 } arubaWiredConfigurationCopyVRFName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "Remote vrf name for copy via the protocol stated in arubaWiredConfigurationCopyProtocol." ::= { arubaWiredConfigurationCopyEntry 12 } arubaWiredConfigurationCopyNotificationOnCompletion OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Specifies whether or not a arubaWiredConfigurationCopyCompletion notification should be issued on completion of the configuration transfer. If such a notification is desired, it is the responsibility of the management entity to ensure that the SNMP administrative model is configured in such a way as to allow the notification to be delivered." DEFVAL { false } ::= { arubaWiredConfigurationCopyEntry 13 } arubaWiredConfigurationCopyState OBJECT-TYPE SYNTAX ConfigurationCopyState MAX-ACCESS read-only STATUS current DESCRIPTION "Specifies the state of this configuration copy request. This value of this object is instantiated only after the row has been instantiated, i.e. after the arubaWiredConfigurationCopyEntryRowStatus has been made active." ::= { arubaWiredConfigurationCopyEntry 14 } arubaWiredConfigurationCopyTimeStarted OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "Specifies the time the arubaWiredConfigurationCopyState last transitioned to 'running', or 0 if the state has never transitioned to 'running' (e.g., stuck in 'waiting' state). This object is instantiated only after the row has been instantiated." ::= { arubaWiredConfigurationCopyEntry 15 } arubaWiredConfigurationCopyTimeCompleted OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "Specifies the time the arubaWiredConfigurationCopyState last transitioned from 'running' to 'successful' or 'failed' states. This object is instantiated only after the row has been instantiated. Its value will remain 0 until the request has completed." ::= { arubaWiredConfigurationCopyEntry 16 } arubaWiredConfigurationCopyFailureCause OBJECT-TYPE SYNTAX ConfigurationCopyFailureCause MAX-ACCESS read-only STATUS current DESCRIPTION "The reason why the configuration copy operation failed. This object is instantiated only when the arubaWiredConfigurationCopyState for this entry is in the 'failed' state." ::= { arubaWiredConfigurationCopyEntry 17 } arubaWiredConfigurationCopyEntryRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this table entry. Once the entry status is set to active, the associated entry cannot be modified until the request completes (arubaWiredConfigurationCopyState transitions to 'successful' or 'failed' state)." ::= { arubaWiredConfigurationCopyEntry 18 } -- ************************************************************ -- Configuration Scalars -- ************************************************************ arubaWiredConfigurationChange OBJECT IDENTIFIER ::= { arubaWiredConfigurationObjects 1 } arubaWiredConfigurationChangeNotificationEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This variable indicates whether the system produces the arubaWiredConfigurationChange notification. A false value will prevent notifications from being generated by this system." DEFVAL { false } ::= { arubaWiredConfigurationChange 1 } arubaWiredConfigurationChangeSource OBJECT-TYPE SYNTAX ConfigurationEventMedium MAX-ACCESS read-only STATUS current DESCRIPTION "Configuration change source." ::= { arubaWiredConfigurationChange 2 } arubaWiredConfigurationChangeTimestamp OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when the running configuration was last changed." ::= { arubaWiredConfigurationChange 3 } --************************************************************* -- Configuration change notifications --************************************************************* arubaWiredConfigurationChangeNotification NOTIFICATION-TYPE OBJECTS { arubaWiredConfigurationChangeSource, arubaWiredConfigurationChangeTimestamp } STATUS current DESCRIPTION "This notification is generated when the running configuration changes." ::= { arubaWiredConfigurationNotifications 1 } arubaWiredConfigurationNotificationOnCompletion NOTIFICATION-TYPE OBJECTS { arubaWiredConfigurationCopyServerAddress, arubaWiredConfigurationCopyFileName, arubaWiredConfigurationCopyState, arubaWiredConfigurationCopyTimeStarted, arubaWiredConfigurationCopyTimeCompleted, arubaWiredConfigurationCopyFailureCause } STATUS current DESCRIPTION "This notification is generated when a copy operation finishes." ::= { arubaWiredConfigurationNotifications 2 } -- ********************************************************************** -- Configuration Conformance information -- ********************************************************************** arubaWiredConfigurationCompliances OBJECT IDENTIFIER ::= { arubaWiredConfigurationConformance 1 } arubaWiredConfigurationGroups OBJECT IDENTIFIER ::= { arubaWiredConfigurationConformance 2 } arubaWiredConfigurationScalarGroup OBJECT-GROUP OBJECTS { arubaWiredConfigurationChangeNotificationEnable, arubaWiredConfigurationChangeSource, arubaWiredConfigurationChangeTimestamp } STATUS current DESCRIPTION "A collection of scalar objects." ::= { arubaWiredConfigurationGroups 1 } arubaWiredConfigurationGroup OBJECT-GROUP OBJECTS { arubaWiredConfigurationCopyProtocol, arubaWiredConfigurationCopySourceFileType, arubaWiredConfigurationCopyDestFileType, arubaWiredConfigurationCheckpointName, arubaWiredConfigurationCopyFileFormat, arubaWiredConfigurationCopyFileName, arubaWiredConfigurationCopyServerAddressType, arubaWiredConfigurationCopyServerAddress, arubaWiredConfigurationCopyUserName, arubaWiredConfigurationCopyUserPassword, arubaWiredConfigurationCopyVRFName, arubaWiredConfigurationCopyNotificationOnCompletion, arubaWiredConfigurationCopyState, arubaWiredConfigurationCopyTimeStarted, arubaWiredConfigurationCopyTimeCompleted, arubaWiredConfigurationCopyFailureCause, arubaWiredConfigurationCopyEntryRowStatus } STATUS current DESCRIPTION "The configuration copy configuration." ::= {arubaWiredConfigurationGroups 2 } arubaWiredConfigurationNotificationsGroup NOTIFICATION-GROUP NOTIFICATIONS { arubaWiredConfigurationChangeNotification, arubaWiredConfigurationNotificationOnCompletion } STATUS current DESCRIPTION "A collection of configuration copy notifications objects." ::= { arubaWiredConfigurationGroups 3 } arubaWiredConfigurationCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for devices implementing the ARUBA WIRED CONFIG Mib." MODULE MANDATORY-GROUPS { arubaWiredConfigurationScalarGroup, arubaWiredConfigurationGroup, arubaWiredConfigurationNotificationsGroup } ::= { arubaWiredConfigurationCompliances 1 } END