This MIB facilitates writing of configuration files of an SNMP Agent running Cisco's IOS in the following ways: to and from the ...
Version: 2005-04-06
module CISCO-CONFIG-COPY-MIB { yang-version 1; namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONFIG-COPY-MIB"; prefix CISCO-CONFIG-COPY-MIB; import CISCO-ST-TC { prefix cisco-st; } import INET-ADDRESS-MIB { prefix inet-address; } import SNMP-FRAMEWORK-MIB { prefix snmp-framework; } import SNMPv2-TC { prefix snmpv2-tc; } import ietf-inet-types { prefix inet; } import ietf-yang-smiv2 { prefix smiv2; } import ietf-yang-types { prefix yang; } organization "Cisco Systems, Inc."; contact "Cisco Systems Customer Service Postal: 170 W. Tasman Drive San Jose, CA 95134 USA Tel: +1 800 553-NETS E-mail: cs-snmp@cisco.com"; description "This MIB facilitates writing of configuration files of an SNMP Agent running Cisco's IOS in the following ways: to and from the net, copying running configurations to startup configurations and vice-versa, and copying a configuration (running or startup) to and from the local IOS file system."; revision "2005-04-06" { description "Added new enumeration value fabricStartupConfig to ConfigFileType textual convention. Added new table ccCopyErrorTable. Added new enumeration values: systemNotReady and requestAborted to ConfigCopyFailCause."; } revision "2004-03-17" { description "The object ccCopyServerAddress is deprecated since it supports only IPv4 address. Two new objects are defined ccCopyServerAddressType and ccCopyServerAddressRev1."; } revision "2002-12-17" { description "Added a new enumeration value someConfigApplyFailed(7) to ConfigCopyFailCause TC."; } revision "2002-05-30" { description "Added sftp protocol as an option for ConfigCopyProtocol."; } revision "2002-05-07" { description "Added scp protocol as an option for ConfigCopyProtocol. Added unsupportedProtocol(6) as an option for the ConfigCopyFailCause TC."; } revision "2002-03-28" { description "Imported Unsigned32 from SNMPv2-SMI instead of CISCO-TC"; } smiv2:alias "ciscoConfigCopyMIB" { smiv2:oid "1.3.6.1.4.1.9.9.96"; } smiv2:alias "ciscoConfigCopyMIBObjects" { smiv2:oid "1.3.6.1.4.1.9.9.96.1"; } smiv2:alias "ccCopy" { smiv2:oid "1.3.6.1.4.1.9.9.96.1.1"; } smiv2:alias "ciscoConfigCopyMIBTrapPrefix" { smiv2:oid "1.3.6.1.4.1.9.9.96.2"; } smiv2:alias "ccCopyMIBTraps" { smiv2:oid "1.3.6.1.4.1.9.9.96.2.1"; } smiv2:alias "ciscoConfigCopyMIBConformance" { smiv2:oid "1.3.6.1.4.1.9.9.96.3"; } smiv2:alias "ccCopyMIBCompliances" { smiv2:oid "1.3.6.1.4.1.9.9.96.3.1"; } smiv2:alias "ccCopyMIBGroups" { smiv2:oid "1.3.6.1.4.1.9.9.96.3.2"; } typedef ConfigCopyProtocol { type enumeration { enum "tftp" { value 1; } enum "ftp" { value 2; } enum "rcp" { value 3; } enum "scp" { value 4; } enum "sftp" { value 5; } } 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. tftp: Transfer File Transfer Protocol ftp: File Transfer protocol rcp: Remote Copy Protocol scp: Secure Copy Protocol sftp: Secure File Transfer Protocol"; } typedef ConfigCopyState { type enumeration { enum "waiting" { value 1; } enum "running" { value 2; } enum "successful" { value 3; } enum "failed" { value 4; } } description "The state of a TFTP config-copy operation. The description of each state is given below: waiting: only one config-copy request can run at any time. A newly activated config-copy request is placed in this state if another request has already been activated. running: this state signifies that the config-copy request is running. successful: the state when a config-copy request is successfully completed. failed: the config-copy request was unsuccessful."; } typedef ConfigCopyFailCause { type enumeration { enum "unknown" { value 1; } enum "badFileName" { value 2; } enum "timeout" { value 3; } enum "noMem" { value 4; } enum "noConfig" { value 5; } enum "unsupportedProtocol" { value 6; } enum "someConfigApplyFailed" { value 7; } enum "systemNotReady" { value 8; } enum "requestAborted" { value 9; } } description "The reason a config-copy request failed. unknown: very descriptive. badFileName: check your file name/path/permissions. timeout: the network may be overloaded, or the remote file server may not be responding. noMem: the Agent wasn't able to allocate memory for the config-copy operation. noConfig: the agent-config selected as the source was non-existent. unsupportedProtocol: the protocol is not supported by the agent. someConfigApplyFailed: applying of some of the configuration commands failed. systemNotReady: system is not ready to copy. requestAborted: config copy operation aborted."; } typedef ConfigFileType { type enumeration { enum "networkFile" { value 1; } enum "iosFile" { value 2; } enum "startupConfig" { value 3; } enum "runningConfig" { value 4; } enum "terminal" { value 5; } enum "fabricStartupConfig" { value 6; } } description "The various types of files on which a config-copy operation can be performed. networkFile: file on another network device, e.g. a file-server on the network. iosFile: a file on the local agent, other than startup or running config. startupConfig: a startup config file. runningConfig: a running config file. terminal: a terminal (e.g. the console window) on which the config is to be displayed. fabricStartupConfig: a file type which can be used for a destination file; when a running-config is to copied to a destination of this type, the file is copied to the startup config on all devices in the fabric. Such a fabric could, for example, be a Fibre Channel fabric, or even a MAC-based fabric."; } container CISCO-CONFIG-COPY-MIB { config false; container ccCopyTable { smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1"; description "A table of config-copy requests."; list ccCopyEntry { smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1"; key "ccCopyIndex"; 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 file types defined in ConfigFileType TC must be an agent-config file type (i.e. 'startupConfig' or 'runningConfig'). If one of the file types is a 'networkFile', a valid ccCopyFileName and ccCopyServerAddressType and ccCopyServerAddressRev1 or just ccCopyServerAddress must be created as well. If ccCopyServerAddress is created then ccCopyServerAddressRev1 will store the same IP address and ccCopyServerAddressType will take the value 'ipv4'. For a file type of 'iosFile', only a valid ccCopyFileName 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 ever be deleted within 5 minutes of completing."; leaf ccCopyIndex { smiv2:max-access "not-accessible"; smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.1"; type uint32 { range "1..2147483647"; } 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."; } leaf ccCopyProtocol { smiv2:defval "tftp"; smiv2:max-access "read-write"; smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.2"; type ConfigCopyProtocol; description "The protocol to be used for any copy. If the copy operation occurs locally on the SNMP agent (e.g. 'runningConfig' to 'startupConfig'), this object may be ignored by the implementation."; } leaf ccCopySourceFileType { smiv2:max-access "read-write"; smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.3"; type ConfigFileType; 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/ ccCopyServerAddressRev1 and ccCopyServerAddressType and ccCopyFileName must also be created, and 3 objects together (ccCopySourceFileType, ccCopyServerAddressRev1, ccCopyFileName) will uniquely identify the source file. If ccCopyServerAddress is created then ccCopyServerAddressRev1 will store the same IP address and ccCopyServerAddressType will take the value 'ipv4'. If the ccCopySourceFileType is 'iosFile', the ccCopyFileName must also be created, and the 2 objects together (ccCopySourceFileType, ccCopyFileName) will uniquely identify the source file."; } leaf ccCopyDestFileType { smiv2:max-access "read-write"; smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.4"; type ConfigFileType; 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/ccCopyServerAddressType and ccCopyServerAddressRev1 and ccCopyFileName must also be created, and 3 objects together (ccCopyDestFileType, ccCopyServerAddressRev1, ccCopyFileName) will uniquely identify the destination file. If ccCopyServerAddress is created then ccCopyServerAddressRev1 will store the same IP address and ccCopyServerAddressType will take the value 'ipv4'. If the ccCopyDestFileType is 'iosFile', the ccCopyFileName must also be created, and the 2 objects together (ccCopyDestFileType, ccCopyFileName) will uniquely identify the destination file."; } leaf ccCopyServerAddress { smiv2:max-access "read-write"; smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.5"; type inet:ipv4-address; status deprecated; 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. Since this object can just hold only IPv4 Transport type, it is deprecated and replaced by ccCopyServerAddressRev1."; } leaf ccCopyFileName { smiv2:max-access "read-write"; smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.6"; type snmpv2-tc:DisplayString; 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'."; } leaf ccCopyUserName { smiv2:max-access "read-write"; smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.7"; type snmpv2-tc:DisplayString { length "1..40"; } description "Remote username 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 username configured through the rcmd remote-username <username> configuration command. The remote username is sent as the server username in an RCP command request sent by the system to a remote RCP server."; } leaf ccCopyUserPassword { smiv2:max-access "read-write"; smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.8"; type snmpv2-tc:DisplayString { length "1..40"; } 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."; } leaf ccCopyNotificationOnCompletion { smiv2:defval "false"; smiv2:max-access "read-write"; smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.9"; type boolean; 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."; } leaf ccCopyState { smiv2:max-access "read-only"; smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.10"; type ConfigCopyState; 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."; } leaf ccCopyTimeStarted { smiv2:max-access "read-only"; smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.11"; type yang:timestamp; description "Specifies the time the ccCopyState 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."; } leaf ccCopyTimeCompleted { smiv2:max-access "read-only"; smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.12"; type yang:timestamp; 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 the request has completed."; } leaf ccCopyFailCause { smiv2:max-access "read-only"; smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.13"; type ConfigCopyFailCause; 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."; } leaf ccCopyEntryRowStatus { smiv2:max-access "read-write"; smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.14"; type snmpv2-tc:RowStatus; 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)."; } leaf ccCopyServerAddressType { smiv2:max-access "read-write"; smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.15"; type inet-address:InetAddressType; description "This object indicates the transport type of the address contained in ccCopyServerAddressRev1 object. This must be created when either the ccCopySourceFileType or ccCopyDestFileType has the value 'networkFile'."; } leaf ccCopyServerAddressRev1 { smiv2:max-access "read-write"; smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.16"; type inet-address:InetAddress; 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'. All bits as 0s or 1s for ccCopyServerAddressRev1 are not allowed. The format of this address depends on the value of the ccCopyServerAddressType object."; } } // list ccCopyEntry } // container ccCopyTable container ccCopyErrorTable { smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.2"; description "A table containing information about the failure cause of the config copy operation. An entry is created only when the value of ccCopyState changes to 'failed' for a config copy operation. Not all combinations of ccCopySourceFileType and ccCopyDestFileType need to be supported. For example, an implementation may choose to support only the following combination: ccCopySourceFileType = 'runningConfig' ccCopyDestFileType = 'fabricStartupConfig'. In the case where a fabric wide config copy operation is being performed, for example by selecting ccCopyDestFileType value to be 'fabricStartupConfig', it is possible that the fabric could have more than one device. In such cases this table would have one entry for each device in the fabric. In this case even if the operation succeeded in one device and failed in another, the operation as such has failed, so the global state represented by ccCopyState 'failed', but for the device on which it was success, ccCopyErrorDescription would have the distinguished value, 'success'. Once the config copy operation completes and if an entry gets instantiated, the management station should retrieve the values of the status objects of interest. Once an entry in ccCopyTable is deleted by management station, all the corresponding entries with the same ccCopyIndex in this table are also deleted. In order to prevent old entries from clogging the table, entries age out at the same time as the corresponding entry with same ccCopyIndex in ccCopyTable ages out."; list ccCopyErrorEntry { smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.2.1"; key "ccCopyIndex ccCopyErrorIndex"; description "An entry containing information about the outcome at one destination of a failed config copy operation."; leaf ccCopyIndex { type leafref { path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyIndex"; } } leaf ccCopyErrorIndex { smiv2:max-access "not-accessible"; smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.2.1.1"; type uint32; description "A monotonically increasing integer for the sole purpose of indexing entries in this table. When a config copy operation has multiple destinations, then this index value is used to distinguish between those multiple destinations."; } leaf ccCopyErrorDeviceIpAddressType { smiv2:max-access "read-only"; smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.2.1.2"; type inet-address:InetAddressType; description "The type of Internet address for this destination device on which config copy operation is performed."; } leaf ccCopyErrorDeviceIpAddress { smiv2:max-access "read-only"; smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.2.1.3"; type inet-address:InetAddress; description "The IP address of this destination device on which config copy operation is performed. The object value has to be consistent with the type specified in ccCopyErrorDeviceIpAddressType."; } leaf ccCopyErrorDeviceWWN { smiv2:max-access "read-only"; smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.2.1.4"; type cisco-st:FcNameIdOrZero; description "The World Wide Name (WWN) of this destination device on which config copy operation is performed. The value of this object is zero-length string if WWN is unassigned or unknown. For example, devices which do not support fibre channel would not have WWN."; } leaf ccCopyErrorDescription { smiv2:max-access "read-only"; smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.2.1.5"; type snmp-framework:SnmpAdminString; description "The error description for the error happened for this destination of this config copy operation."; } } // list ccCopyErrorEntry } // container ccCopyErrorTable } // container CISCO-CONFIG-COPY-MIB notification ccCopyCompletion { smiv2:oid "1.3.6.1.4.1.9.9.96.2.1.1"; 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."; container object-1 { leaf ccCopyIndex { type leafref { path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyIndex"; } } leaf ccCopyServerAddress { type leafref { path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyServerAddress"; } status deprecated; } } // container object-1 container object-2 { leaf ccCopyIndex { type leafref { path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyIndex"; } } leaf ccCopyFileName { type leafref { path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyFileName"; } } } // container object-2 container object-3 { leaf ccCopyIndex { type leafref { path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyIndex"; } } leaf ccCopyState { type leafref { path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyState"; } } } // container object-3 container object-4 { leaf ccCopyIndex { type leafref { path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyIndex"; } } leaf ccCopyTimeStarted { type leafref { path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyTimeStarted"; } } } // container object-4 container object-5 { leaf ccCopyIndex { type leafref { path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyIndex"; } } leaf ccCopyTimeCompleted { type leafref { path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyTimeCompleted"; } } } // container object-5 container object-6 { leaf ccCopyIndex { type leafref { path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyIndex"; } } leaf ccCopyFailCause { type leafref { path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyFailCause"; } } } // container object-6 } // notification ccCopyCompletion } // module CISCO-CONFIG-COPY-MIB
© 2023 YumaWorks, Inc. All rights reserved.