DMI self-management YANG module for IOS Copyright (c) 2016, 2018-2019 by Cisco Systems, Inc. All rights reserved.
Version: 2021-07-01
module cisco-ia { yang-version 1; namespace "http://cisco.com/yang/cisco-ia"; prefix cisco-ia; import cisco-semver { prefix cisco-semver; } import cisco-self-mgmt { prefix cisco-sfm; } import tailf-common { prefix tailf; } import ietf-yang-types { prefix yang; } organization "Cisco Systems"; contact "<mailto:cs-yang@cisco.com>"; description "DMI self-management YANG module for IOS Copyright (c) 2016, 2018-2019 by Cisco Systems, Inc. All rights reserved."; revision "2021-07-01" { description "Add netconf-session-id and current-time RPCs."; reference "TBD"; } revision "2019-11-19" { description "- Obsolete internal knob nodes of the cisco-ia model - Add parser context to bad CLI detail"; reference "TBD"; } revision "2019-07-01" { description "- Establish semantic version baseline - Deprecate SNMP configuration"; } revision "2018-08-03" { description "Add parser message blacklist capability"; reference "TBD"; } revision "2018-07-25" { description "Add pivot commands (for internal use only)."; reference "TBD"; } revision "2018-03-28" { description "Add parser response to error information for bad cli"; reference "TBD"; } revision "2018-01-22" { description "Marked odm-log-level obsolete"; reference "TBD"; } revision "2017-03-02" { description "Remove unused RPCs"; reference "TBD"; } revision "2017-01-29" { description "Add the ability to query if a sync is in progress. Add option to sync-from RPC to ignore preserve paths."; reference "TBD"; } revision "2017-01-27" { description "Fix the SNMP community string Xpath to comply with new confd 6.3.1 rule enforcement"; reference "TBD"; } revision "2017-01-12" { description "Change intelligent-sync default to true"; reference "TBD"; } revision "2016-12-08" { description "Add extended error reporting"; reference "TBD"; } revision "2016-10-17" { description "Add preserve NED paths"; reference "TBD"; } revision "2016-10-04" { description "Add the ability to configure the SNMP community string and remove the blocking container must clauses"; reference "TBD"; } revision "2016-08-22" { description "Add dmp-install RPC"; reference "TBD"; } revision "2016-06-30" { description "Add black list CLI lists, correct formatting per IETF standard"; reference "TBD"; } revision "2016-05-20" { description "Fix intelligent-sync default and convert leaf-lists into lists"; reference "TBD"; } revision "2016-05-16" { description "Add augment statement"; reference "TBD"; } revision "2016-05-13" { description "Change confd-cfg-blocking-enabled default and odm-log-level type"; reference "TBD"; } revision "2016-05-09" { description "Add leaf for persistence checking"; reference "TBD"; } revision "2016-05-04" { description "Add tail-f annotations to boolean leaves"; reference "TBD"; } revision "2016-04-24" { description "Add dynamic PRC messages list, cleanup"; reference "TBD"; } revision "2016-04-22" { description "Increase parser msg ignore max elements"; reference "TBD"; } revision "2016-04-17" { description "Add container for snmp trap control, replacingbooleans for individual traps."; reference "TBD"; } revision "2016-04-07" { description "Update description with copyright notice."; reference "TBD"; } revision "2016-03-15" { description "Add intelligent sync control"; reference "TBD"; } cisco-semver:module-version "1.0.0"; tailf:error-info { leaf "severity" { type "enumeration" { enum "info_cli"; enum "error_cli"; enum "critical_cli"; } } container "detail" { list "bad-cli" { key "bad-command"; leaf "bad-command" { type "string"; description "Command rejected by the network element"; } leaf "error-location" { type "int16"; description "Location in the command line where the CLI parser detected an error"; } leaf "parser-response" { type "string"; description "Parser response due to rejected command"; } leaf "parser-context" { type "string"; description "Parser context of rejected command"; } } } } grouping cisco-ia-output { description "Used to return output from RPCs"; leaf result { type string; description "Output returned by the network element"; } } // grouping cisco-ia-output typedef parser-msg-processing-method { type enumeration { enum "blacklist" { value 0; description "Check all parser output against a set of known errors and abort the transaction if matched."; } enum "whitelist" { value 1; description "Check all parser output against a set of known messages to ignore and abort the transaction if not matched."; } } } typedef cia-sync-type { type enumeration { enum "disabled" { value 0; description "Do no synchronize the DMI database from the Network Element"; } enum "without-defaults" { value 1; description "Collect \"show running\" from the Network Element"; } enum "include-defaults" { value 2; description "Collect \"show running all\" from the Network Element"; } } description "Controls the elements sent to the DMI database from the Network Element"; } typedef cia-log-level { type enumeration { enum "none" { value 0; description "No logging"; } enum "error" { value 1; description "Log errors only"; } enum "warning" { value 2; description "Log errors and warnings only"; } enum "information" { value 3; description "Log errors, warnings, and information only"; } enum "debug" { value 4; description "Log errors, warnings, information, and debug messages"; } } description "Logging levels for DMI"; } typedef onep-log-level { type enumeration { enum "none" { value 0; description "No logging"; } enum "fatal" { value 1; description "Log fatal events only"; } enum "error" { value 2; description "Log fatal events and errors only"; } enum "warning" { value 3; description "Log fatal events, errors, and warnings only"; } enum "information" { value 4; description "Log fatal events, errors, warnings, and information only"; } enum "debug" { value 5; description "Log fatal events, errors, warnings, information, and debug messages"; } enum "trace" { value 6; description "Log all messages"; } } description "Logging levels for Onep"; } typedef syslog-severity { type enumeration { enum "none" { value 8; description "No logging"; } enum "emergency" { value 0; description "Emergency Level Msg"; } enum "alert" { value 1; description "Alert Level Msg"; } enum "critical" { value 2; description "Critical Level Msg"; } enum "error" { value 3; description "Error Level Msg"; } enum "warning" { value 4; description "Warning Level Msg"; } enum "notice" { value 5; description "Notification Level Msg"; } enum "info" { value 6; description "Informational Level Msg"; } enum "debug" { value 7; description "Debugging Level Msg"; } } description "Standard Syslog logging levels)"; } rpc sync-from { description "Synchronize the network element's running-configuration to ConfD."; input { leaf sync-defaults { type empty; description "Sends the output of \"show running all\" line by line to Confd."; } leaf ignore-presrv-paths { type empty; description "Sync everything under /native. Ignore any preserve paths."; } } output { uses cisco-ia-output; } } // rpc sync-from rpc save-config { description "Copy the running-config to startup-config on the Network Element."; output { uses cisco-ia-output; } } // rpc save-config rpc netconf-session-id { description "Returns device-assigned netconf session id for the netconf session in which this RPC is invoked."; output { uses cisco-ia-output; } } // rpc netconf-session-id rpc current-time { description "Returns current time on device."; output { uses cisco-ia-output; } } // rpc current-time rpc is-syncing { description "Checks to see if sync from the network element to the running data store is in progress."; output { uses cisco-ia-output; } } // rpc is-syncing rpc checkpoint { description "Create a configuration rollback checkpoint. Equivalent to the \"archive config\" CLI"; output { uses cisco-ia-output; } } // rpc checkpoint rpc revert { description "Cancel the timed rollback and trigger the rollback immediately, or to reset parameters for the timed rollback"; input { leaf now { type empty; description "To cancel the timed rollback and trigger the rollback immediately"; } leaf timer { type int16 { range "1..120"; } description "Reset parameters for the timed rollback"; } leaf idle { type int16 { range "1..120"; } description "Maximum allowable time period of no activity before reverting to the saved configuration."; } } output { uses cisco-ia-output; } } // rpc revert rpc rollback { description "Replaces the current running configuration file with a saved Cisco IOS XE configuration file."; input { leaf target-url { type string; mandatory true; description "Cisco IOS XE configuration file that is to replace the current running configuration"; } leaf verbose { type boolean; default "false"; description "Display a list of the command lines applied by the Cisco IOS XE software parser during each pass of the configuration replace operation. The total number of passes performed is also displayed."; } leaf nolock { type boolean; default "false"; description "Disables the locking of the running configuration file that prevents other users from changing the running configuration during a configuration replace operation."; } leaf revert-on-error { type empty; description "Reverts to the original configuration upon error."; } leaf revert-timer { type int16 { range "1..120"; } description "Reverts to the original configuration if specified time elapses."; } } output { uses cisco-ia-output; } } // rpc rollback augment /cisco-sfm:netconf-yang { description "DMI self-management"; container cisco-ia { description "Customize the behavior of the DMI applications"; leaf auto-sync { type cia-sync-type; default "without-defaults"; status obsolete; description "Enables automatic synchronization of the network element's running configuration with the DMI database."; } leaf init-sync { type cia-sync-type; default "without-defaults"; status obsolete; description "Enables synchronization of the network element's running configuration with the DMI database when DMI initializes."; } leaf intelligent-sync { type boolean; default "true"; status obsolete; description "When enabled, intelligent-sync monitors all ttys for configuration changes and replays these changes to the DMI database once the tty exits configuration mode. When disabled, the complete running-configuration is used to synchronize the DMI database whenever a CLI configuration change is detected"; } container snmp-trap-control { status deprecated; description "This container describes the configuration parameters for SNMP Trap to NetConf notification processing."; leaf global-forwarding { type boolean; default "true"; status deprecated; description "This leaf enables or disables forwarding for all SNMP traps."; } list trap-list { key "trap-oid"; max-elements 10; status deprecated; description "This list describes SNMP Traps that are supported for automatic translation to NetConf notifications."; leaf trap-oid { type yang:object-identifier-128; status deprecated; description "This leaf contains the OID for the SNMP trap to be forwarded."; } leaf description { type string; status deprecated; description "This leaf contains the name of the SNMP trap to be forwarded."; } leaf forward { type boolean; default "true"; status deprecated; description "This leaf enables or disables forwarding for this SNMP trap."; } } // list trap-list } // container snmp-trap-control leaf message-diag-level { type int16 { range "0..3"; } default "0"; status obsolete; description "0 = Disabled, 1 = Save input message, DMI debugs, and response, 2 = Level 1 + Save \"before\" and \"after\" running-config, 3 = Level 2 + rollback file and configuration diff"; } leaf max-diag-messages-saved { type int16 { range "0..199"; } default "30"; status obsolete; description "The maximum number of messages whose diagnostic data in kept in persistent storage."; } leaf post-sync-acl-process { type boolean; default "true"; status obsolete; description "Run \"show ip access-list\" and send to ConfD"; } leaf config-change-delay { type int16; default "0"; status obsolete; description "Delay in ms before applying CDB change to NE"; } leaf process-missing-prc { type boolean; default "true"; status obsolete; description "Process any parser output from configuration changes as a possible error."; } leaf missing-prc-method { type parser-msg-processing-method; default "blacklist"; status obsolete; description "Process any parser output from configuration changes and compare against either a known set of errors (blacklist) or a known set of messages to ignore (whitelist)"; } leaf snmp-community-string { type string; default "private"; description "The community string for communication with the SNMP agent"; } leaf preserve-paths-enabled { type boolean; default "false"; status obsolete; description "Preserve specified model paths in the NED model when performing a sync from the network element."; } list preserve-ned-path { key "xpath"; max-elements 50; status obsolete; description "Model paths from the NED model to preserve upon a sync from the network element. These paths are not cleared from the running data store prior to the sync. These are expressed as nodes separated by slash '/', e.g. /native/ip/access-list"; leaf xpath { type string { length "1..1024"; } description "An XPath from the NED model."; } } // list preserve-ned-path list parser-msg-ignore { key "message"; config false; description "Parser output from configuration change that is informational only, not an error. This is a read only list containing known informational messages"; leaf message { type string { length "1..255"; } description "A regular expression to match parser output to be ignored"; } } // list parser-msg-ignore list conf-parser-msg-ignore { key "message"; status obsolete; description "Parser output from configuration change that is informational only, not an error"; leaf message { type string { length "1..255"; } description "A regular expression to match parser output to be ignored"; } } // list conf-parser-msg-ignore list parser-msg-error { key "message"; config false; description "Parser output from configuration change that indicates an error that cannot be ignored (must abort the transaction). This is a read only list containing known error messages."; leaf message { type string { length "1..255"; } description "A regular expression to match parser output to be considered an error."; } } // list parser-msg-error list conf-parser-msg-error { key "message"; status obsolete; description "Parser output from configuration change that indicates an error that cannot be ignored (must abort the transaction)."; leaf message { type string { length "1..255"; } description "A regular expression to match parser output to be considered an error"; } } // list conf-parser-msg-error list full-sync-cli { key "command"; config false; max-elements 200; description "IOS commands that result in other automatic configurations being applied for which a complete sync is required"; leaf command { type string { length "1..255"; } description "A regular expression matching command lines which cause other automatic configuration changes"; } } // list full-sync-cli list conf-full-sync-cli { key "command"; max-elements 50; status obsolete; description "A user-configurable list of IOS commands that result in other automatic configurations being applied for which a complete sync is required"; leaf command { type string { length "1..255"; } description "A regular expression matching command lines which cause other automatic configuration changes"; } } // list conf-full-sync-cli leaf nes-ttynum { type int16; config false; status obsolete; description "TTY number used by NetworkElementSynchronizer"; } leaf restored { type boolean; default "false"; status obsolete; description "Indicates if CDB restored from NES running-config"; } container logging { status obsolete; description "Controls logging behavior of DMI applications"; leaf confd-log-level { type syslog-severity; default "error"; status obsolete; description "Logging level for Confd"; } leaf ciaauthd-log-level { type cia-log-level; default "error"; status obsolete; description "Logging level for CiaAuthDaemon"; } leaf nes-log-level { type cia-log-level; default "error"; status obsolete; description "Logging level for Network Element Synchronizer"; } leaf onep-log-level { type onep-log-level; default "error"; status obsolete; description "Logging level for ONEP"; } leaf odm-log-level { type cia-log-level; default "error"; status obsolete; description "Logging level for Operational Data Manager"; } leaf sync-log-level { type cia-log-level; default "error"; status obsolete; description "Logging level for Sync-From Daemon"; } } // container logging container blocking { status obsolete; description "Controls blocking of command lines, either from the NE to Confd or disallowing manual input from the console/vty"; leaf cli-blocking-enabled { type boolean; default "false"; status obsolete; description "Enables blocking of designated command lines via the network element's CLI"; } list network-element-command { key "command"; max-elements 30; status obsolete; description "Command line pattern to disallow via the network element's CLI"; leaf command { type string { length "1..255"; } status obsolete; description "A regular expression matching command lines which should be blocked from entry via console/vty"; } } // list network-element-command leaf confd-cfg-blocking-enabled { type boolean; default "true"; status obsolete; description "Enables blocking of designated command lines via the network element's CLI"; } list confd-cfg-command { key "command"; max-elements 50; status obsolete; description "Command line pattern to omit syncing to Confd CDB"; leaf command { type string; status obsolete; description "A regular expression matching command lines which should be blocked from being sent to Confd from the network element"; } } // list confd-cfg-command } // container blocking container pivot-commands { description "WARNING: These configuration commands should not be used unless directed to by Cisco. Some IOS configuration commands may have a vitally important relationship to other IOS configuration commands. These so called pivotal commands have to be handled as an execption to the normal processing flow. The pivotal commands and their special handling actions are described in this list."; grouping pivot-command-grouping { leaf command { type string { length "1 .. 255"; } description "The command prefix to match. Leading spaces are counted towards the match."; } container retry { presence "The pivot command will be retried if it fails."; description "Whether or not the command will be retried if it fails and associated parameters."; leaf min-retry-time { type uint16 { range "10 .. 60000"; } units "milliseconds"; description "The minimum time to wait before retrying a failed command."; } leaf max-retry-time { type uint16 { range "10 .. 60000"; } units "milliseconds"; description "The maximum time to wait before retrying a failed command. Commands that continue to fail after having waited this amount of time are considered to have permanently failed."; } } // container retry } // grouping pivot-command-grouping list pivot-command { key "command"; config false; description "Static list of pivot commands."; uses pivot-command-grouping; } // list pivot-command } // container pivot-commands } // container cisco-ia } } // module cisco-ia
© 2023 YumaWorks, Inc. All rights reserved.