#-MIBFILE: cisco-config-copy.mib CISCO-CONFIG-COPY-MIB DEFINITIONS ::= BEGIN DisplayString ::= OCTET STRING (SIZE(0..255)) PhysAddress ::= OCTET STRING MacAddress ::= OCTET STRING (SIZE(6)) TruthValue ::= INTEGER { true(1), false(2) } TestAndIncr ::= INTEGER (0..2147483647) AutonomousType ::= OBJECT IDENTIFIER InstancePointer ::= OBJECT IDENTIFIER VariablePointer ::= OBJECT IDENTIFIER RowPointer ::= OBJECT IDENTIFIER RowStatus ::= INTEGER { active(1), notInService(2), notReady(3), createAndGo(4), createAndWait(5), destroy(6) } TimeStamp ::= TimeTicks TimeInterval ::= INTEGER (0..2147483647) DateAndTime ::= OCTET STRING (SIZE(8|11)) StorageType ::= INTEGER { other(1), volatile(2), nonVolatile(3), permanent(4), readOnly(5) } TDomain ::= OBJECT IDENTIFIER TAddress ::= OCTET STRING (SIZE(1..255)) cisco OBJECT IDENTIFIER ::= { enterprises 9 } ciscoMgmt OBJECT IDENTIFIER ::= { cisco 9 } ConfigCopyProtocol ::= INTEGER { tftp(1), ftp(2), rcp(3), scp(4), sftp(5) } ConfigCopyState ::= INTEGER { waiting(1), running(2), successful(3), failed(4) } ConfigCopyFailCause ::= INTEGER { unknown(1), badFileName(2), timeout(3), noMem(4), noConfig(5), unsupportedProtocol(6), someConfigApplyFailed(7) } ConfigFileType ::= INTEGER { networkFile(1), iosFile(2), startupConfig(3), runningConfig(4), terminal(5) } ciscoConfigCopyMIB OBJECT IDENTIFIER ::= { ciscoMgmt 96 } ciscoConfigCopyMIBObjects OBJECT IDENTIFIER ::= { ciscoConfigCopyMIB 1 } ccCopy OBJECT IDENTIFIER ::= { ciscoConfigCopyMIBObjects 1 } ccCopyTable OBJECT-TYPE SYNTAX SEQUENCE OF CcCopyEntry ACCESS read-only STATUS mandatory DESCRIPTION "A table of config-copy requests." ::= { ccCopy 1 } ccCopyEntry OBJECT-TYPE SYNTAX CcCopyEntry ACCESS read-only STATUS mandatory DESCRIPTION "A config-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 ccCopySourceFileType and ccCopyDestFileType. At least one of the FileTypes must be an agent-config file type (i.e. startupConfig or runningConfig). If one of the file types is a networkFile, a valid ccCopyServerAddress and ccCopyFileName must be created as well. For a file type of iosFile, only a valid fileName needs to be created as an extra parameter. It should also modify the default values for the other configuration objects if the defaults are not appropriate. 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 config-copy request has been created (i.e. the ccCopyEntryRowStatus 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 { ccCopyIndex } ::= { ccCopyTable 1 } ccCopyEntry ::= SEQUENCE { ccCopyIndex Unsigned32, ccCopyProtocol ConfigCopyProtocol, ccCopySourceFileType ConfigFileType, ccCopyDestFileType ConfigFileType, ccCopyServerAddress IpAddress, ccCopyFileName DisplayString, ccCopyUserName DisplayString, ccCopyUserPassword DisplayString, ccCopyNotificationOnCompletion TruthValue, ccCopyState ConfigCopyState, ccCopyTimeStarted TimeStamp, ccCopyTimeCompleted TimeStamp, ccCopyFailCause ConfigCopyFailCause, ccCopyEntryRowStatus RowStatus } ccCopyIndex OBJECT-TYPE SYNTAX INTEGER (1..2147483647) ACCESS read-only STATUS mandatory DESCRIPTION "Object which specifies a unique entry in the ccCopyTable. A management station wishing to initiate a config-copy operation should use a random value for this object when creating or modifying an instance of a ccCopyEntry. The RowStatus semantics of the ccCopyEntryRowStatus object will prevent access conflicts." ::= { ccCopyEntry 1 } ccCopyProtocol OBJECT-TYPE SYNTAX INTEGER { tftp(1), ftp(2), rcp(3), scp(4), sftp(5) } ACCESS read-only STATUS mandatory DESCRIPTION "The protocol to be used for any copy. Will default to tftp if not specified. If the copy operation occurs locally on the SNMP agent (e.g. runningCOnfigToStartupConfig), this object may be ignored by the implementation." ::= { ccCopyEntry 2 } ccCopySourceFileType OBJECT-TYPE SYNTAX INTEGER { networkFile(1), iosFile(2), startupConfig(3), runningConfig(4), terminal(5) } ACCESS read-only STATUS mandatory DESCRIPTION "specifies the type of file to copy from. Either the ccCopySourceFileType or the ccCopyDestFileType (or both) must be of type runningConfig or startupConfig. Also, the ccCopySourceFileType must be different from the ccCopyDestFileType. If the ccCopySourceFileType has the value of networkFile, the ccCopyServerAddress and ccCopyFileName must also be created, and these 3 objects together (ccCopySourceFileType, ccCopyServerAddress, ccCopyFileName) will uniquely identify the source file. If the ccCopySourceFileType is iosFile, the ccCopyFileName must also be created, and the 2 objects together (ccCopySourceFileType, ccCopyFileName) will uniquely identify the source file. " ::= { ccCopyEntry 3 } ccCopyDestFileType OBJECT-TYPE SYNTAX INTEGER { networkFile(1), iosFile(2), startupConfig(3), runningConfig(4), terminal(5) } ACCESS read-only STATUS mandatory DESCRIPTION "specifies the type of file to copy to. Either the ccCopySourceFileType or the ccCopyDestFileType (or both) must be of type runningConfig or startupConfig. Also, the ccCopySourceFileType must be different from the ccCopyDestFileType. If the ccCopyDestFileType has the value of networkFile, the ccCopyServerAddress and ccCopyFileName must also be created, and these 3 objects together (ccCopyDestFileType, ccCopyServerAddress, ccCopyFileName) will uniquely identify the destination file. If the ccCopyDestFileType is iosFile, the ccCopyFileName must also be created, and the 2 objects together (ccCopyDestFileType, ccCopyFileName) will uniquely identify the destination file." ::= { ccCopyEntry 4 } ccCopyServerAddress OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The ip address of the tftp server from (or to) which to copy the configuration file. This object must be created when either the ccCopySourceFileType or ccCopyDestFileType has the value networkFile. Values of 0.0.0.0 or FF.FF.FF.FF for ccCopyServerAddress are not allowed." ::= { ccCopyEntry 5 } ccCopyFileName OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "The file name (including the path, if applicable) of the file. This object must be created when either the ccCopySourceFileType or ccCopyDestFileType has the value networkFile or iosFile." ::= { ccCopyEntry 6 } ccCopyUserName OBJECT-TYPE SYNTAX DisplayString (SIZE(1..40)) ACCESS read-only STATUS mandatory DESCRIPTION "Remote user name for copy via ftp, rcp, sftp or scp protocol. This object must be created when the ccCopyProtocol is rcp, scp, ftp or sftp. If the protocol is rcp, it will override the remote user-name configured through the rcmd remote-username configuration command. The remote user-name is sent as the server user-name in an rcp command request sent by the system to a remote rcp server." ::= { ccCopyEntry 7 } ccCopyUserPassword OBJECT-TYPE SYNTAX DisplayString (SIZE(1..40)) ACCESS read-only STATUS mandatory DESCRIPTION "Password used by ftp, sftp or scp for copying a file to/from an ftp/sftp/scp server. This object must be created when the ccCopyProtocol is ftp or scp. Reading it returns a zero-length string for security reasons." ::= { ccCopyEntry 8 } ccCopyNotificationOnCompletion OBJECT-TYPE SYNTAX TruthValue ACCESS read-only STATUS mandatory DESCRIPTION "Specifies whether or not a ccCopyCompletion notification should be issued on completion of the tftp 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." ::= { ccCopyEntry 9 } ccCopyState OBJECT-TYPE SYNTAX INTEGER { waiting(1), running(2), successful(3), failed(4) } ACCESS read-only STATUS mandatory DESCRIPTION "Specifies the state of this config-copy request. This value of this object is instantiated only after the row has been instantiated, i.e. after the ccCopyEntryRowStatus has been made active." ::= { ccCopyEntry 10 } ccCopyTimeStarted OBJECT-TYPE SYNTAX TimeStamp ACCESS read-only STATUS mandatory DESCRIPTION "Specifies the time the ccCopyState last transitioned to running, or 0 if the state has never transitioned to running (for e.g., stuck in waiting state). This object is instantiated only after the row has been instantiated." ::= { ccCopyEntry 11 } ccCopyTimeCompleted OBJECT-TYPE SYNTAX TimeStamp ACCESS read-only STATUS mandatory DESCRIPTION "Specifies the time the ccCopyState 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 he request has completed." ::= { ccCopyEntry 12 } ccCopyFailCause OBJECT-TYPE SYNTAX INTEGER { unknown(1), badFileName(2), timeout(3), noMem(4), noConfig(5), unsupportedProtocol(6), someConfigApplyFailed(7) } ACCESS read-only STATUS mandatory DESCRIPTION "The reason why the config-copy operation failed. This object is instantiated only when the ccCopyState for this entry is in the failed state." ::= { ccCopyEntry 13 } ccCopyEntryRowStatus OBJECT-TYPE SYNTAX RowStatus ACCESS read-only STATUS mandatory 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 (ccCopyState transitions to successful or failed state)." ::= { ccCopyEntry 14 } ciscoConfigCopyMIBTrapPrefix OBJECT IDENTIFIER ::= { ciscoConfigCopyMIB 2 } ccCopyMIBTraps OBJECT IDENTIFIER ::= { ciscoConfigCopyMIBTrapPrefix 1 } ciscoConfigCopyMIBConformance OBJECT IDENTIFIER ::= { ciscoConfigCopyMIB 3 } ccCopyMIBCompliances OBJECT IDENTIFIER ::= { ciscoConfigCopyMIBConformance 1 } ccCopyMIBGroups OBJECT IDENTIFIER ::= { ciscoConfigCopyMIBConformance 2 } ccCopyGroup OBJECT IDENTIFIER ::= { ccCopyMIBGroups 1 } ccCopyNotificationsGroup OBJECT IDENTIFIER ::= { ccCopyMIBGroups 2 } ccCopyCompletion TRAP-TYPE ENTERPRISE ccCopyMIBTraps VARIABLES { ccCopyServerAddress, ccCopyFileName, ccCopyState, ccCopyTimeStarted, ccCopyTimeCompleted, ccCopyFailCause } DESCRIPTION "A ccCopyCompletion trap is sent at the completion of a config-copy request. The ccCopyFailCause is not instantiated, and hence not included in a trap, when the ccCopyState is success." ::= 1 END