cisco-ia

DMI self-management YANG module for IOS Copyright (c) 2016, 2018-2019 by Cisco Systems, Inc. All rights reserved.

  • Version: 2021-07-01

    cisco-ia@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.