Cisco-IOS-XE-mdt-oper

This module contains a collection of YANG definitions for operational data of streaming telemetry. Copyright (c) 2016-2020 by Ci...

  • Version: 2020-07-01

    Cisco-IOS-XE-mdt-oper@2020-07-01


    
      module Cisco-IOS-XE-mdt-oper {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XE-mdt-oper";
    
        prefix mdt-oper;
    
        import Cisco-IOS-XE-mdt-common-defs {
          prefix mdt-common-defs;
        }
        import ietf-inet-types {
          prefix inet;
        }
        import ietf-yang-types {
          prefix yang;
        }
        import cisco-semver {
          prefix cisco-semver;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
         Customer Service
    
         Postal: 170 W Tasman Drive
         San Jose, CA 95134
    
         Tel: +1 1800 553-NETS
    
         E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG
         definitions for operational data of streaming telemetry.
         Copyright (c) 2016-2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-07-01" {
          description "Copyright update";
          reference
            "4.1.1";
    
        }
    
        revision "2019-09-04" {
          description
            "Add receiver state for disconnection in progress.";
          reference
            "4.1.0";
    
        }
    
        revision "2019-05-01" {
          description
            "- Change to VRF usage from common model.
           - Added semantic version";
          reference
            "4.0.0";
    
        }
    
        revision "2018-11-10" {
          description
            "Cleaned up spelling errors in descriptions.
           Mark con-state-pending as no longer used.
           Removal of statistics.
           Addition of more operational data.
           Removal of connection ID.";
          reference
            "3.0.0";
    
        }
    
        revision "2018-06-13" {
          description
            "Mark con-state-pending as no longer used";
          reference
            "2.3.0";
    
        }
    
        revision "2018-03-06" {
          description
            "New mdt_sub_type SUB_TYPE_PERMANENT";
          reference
            "2.2.0";
    
        }
    
        revision "2017-09-20" {
          description
            "TLS support for Native stream";
          reference
            "2.1.0";
    
        }
    
        revision "2017-07-01" {
          description "Add support for VRFs";
          reference
            "2.0.0";
    
        }
    
        revision "2017-03-02" {
          description "Initial revision";
          reference
            "1.0.0";
    
        }
    
        cisco-semver:module-version "4.1.1";
        cisco-semver:module-version "4.1.0";
        cisco-semver:module-version "4.0.0";
        cisco-semver:module-version "3.0.0";
        cisco-semver:module-version "2.3.0";
        cisco-semver:module-version "2.2.0";
        cisco-semver:module-version "2.1.0";
        cisco-semver:module-version "2.0.0";
        cisco-semver:module-version "1.0.0";
    
        typedef mdt-sub-type {
          type enumeration {
            enum "sub-type-dynamic" {
              value 1;
              description
                "Dynamic subscriptions
               -do not survive reboot
               -existence tied to connection they are created on
               -send updates only to peer that creates them";
            }
            enum "sub-type-static" {
              value 2;
              description
                "Static subscriptions
               -created, (modified), and deleted by management operations
               -survive reboot
               -receivers are configured ";
            }
            enum "sub-type-permanent" {
              value 3;
              description
                "Permanent subscriptions
               -created during system startup, can not be modified";
            }
          }
          description "Subscription types";
        }
    
        typedef mdt-sub-state {
          type enumeration {
            enum "sub-state-valid" {
              value 0;
              description
                "The subscription is valid and may be sending updates.";
            }
            enum "sub-state-suspended" {
              value 1;
              description
                "The subscription has been suspended and is not
               sending notifications even if there are updates.";
            }
            enum "sub-state-terminated" {
              value 2;
              description
                "The subscription is terminated. This state is valid
               only for static subscriptions.";
            }
            enum "sub-state-invalid" {
              value 3;
              description
                "The subscription is invalid. This state is valid
               only for static subscriptions.";
            }
          }
          description "Subscription states";
        }
    
        typedef mdt-receiver-state {
          type enumeration {
            enum "rcvr-state-invalid" {
              value 1;
              description
                "The receiver configuration is invalid and
               cannot be used.";
            }
            enum "rcvr-state-disconnected" {
              value 2;
              description
                "The receiver is disconnected and there is no
               attempt being made to connect to it.";
            }
            enum "rcvr-state-connecting" {
              value 3;
              description
                "An attempt is being made to connect to the receiver.";
            }
            enum "rcvr-state-connected" {
              value 4;
              description
                "The receiver is connected, and update notifications
               are being sent to the receiver when they occur";
            }
            enum "rcvr-state-disconnecting" {
              value 5;
              description
                "The receiver is in the process of being disconnected.";
            }
          }
          description "Receiver states.";
        }
    
        typedef mdt-con-state {
          type enumeration {
            enum "con-state-active" {
              value 0;
              description
                "The connection is active and usable.";
            }
            enum "con-state-connecting" {
              value 1;
              description
                "An attempt is being made to set the connection up.";
            }
            enum "con-state-pending" {
              value 2;
              description
                "The connection is down, but between connection
               attempts. It is in this state, for example, during
               the idle time between retries. No longer used - use
               con-state-connecting instead.";
            }
            enum "con-state-disconnecting" {
              value 3;
              description
                "The connection is the process of being disconnected.";
            }
          }
          description "Connection states.";
        }
    
        container mdt-oper-data {
          config false;
          description "MDT operational data.";
          container mdt-streams {
            description
              "MDT streams table. The list of supported streams.";
            leaf-list stream {
              type string;
              ordered-by user;
              description
                "Name of a supported stream.";
            }
          }  // container mdt-streams
    
          list mdt-subscriptions {
            key "subscription-id";
            description
              "MDT subscription operational data.";
            leaf subscription-id {
              type uint32;
              description
                "Unique subscription identifier.";
            }
    
            container base {
              description
                "Common subscription information.";
              leaf stream {
                type string;
                default "NETCONF";
                description
                  "The name of the event stream being subscribed to";
              }
    
              leaf encoding {
                type string;
                default "encode-xml";
                description
                  "Update notification encoding";
              }
    
              leaf source-vrf {
                type string;
                description
                  "Network instance name for the VRF";
              }
    
              leaf source-address {
                type inet:ip-address;
                description
                  "The source address for the notifications";
              }
    
              leaf rcvr-type {
                type mdt-common-defs:mdt-rcvr-type;
                default "rcvr-type-unspecified";
                description
                  "Receiver type used by all named receivers of this subscription.
    It is used to determine the specific receiver-type global list
    that defines the receiver. It may specify a related group of
    receivers without identifying a specific receiver-type.
    Cannot be used with the deprecated receiver configuration.";
              }
    
              choice update-trigger-choice {
                default "sub-upd-trig-none";
                description
                  "Update trigger of the subscription";
                case sub-upd-trig-none {
                  description
                    "Indicates trigger has not been specified";
                  leaf no-trigger {
                    type uint32;
                    default "0";
                    description
                      "Placeholder for unset value";
                  }
                }  // case sub-upd-trig-none
    
                case sub-upd-trig-periodic {
                  description
                    "Subscription is triggered on a periodic basis";
                  leaf period {
                    type uint32;
                    units "centiseconds";
                    mandatory true;
                    description
                      "Period of update notifications in hundredths
    of a second";
                  }
                }  // case sub-upd-trig-periodic
    
                case sub-upd-trig-on-change {
                  description
                    "Subscription is triggered when a value changes";
                  leaf no-synch-on-start {
                    type boolean;
                    description
                      "If true, there is no initial update notification
    with the current value of all the data.
    NOT CURRENTLY SUPPORTED. If specified, must
    be false";
                  }
                }  // case sub-upd-trig-on-change
              }  // choice update-trigger-choice
    
              choice filter-type-choice {
                default "sub-filter-type-none";
                description
                  "The type of filter chosen to select the events or the data
    for the update notification";
                case sub-filter-type-none {
                  description
                    "Indicates that no filter has been specified";
                  leaf no-filter {
                    type uint32;
                    default "0";
                    description
                      "Placeholder for unset value";
                  }
                }  // case sub-filter-type-none
    
                case sub-filter-type-xpath {
                  description
                    "Xpath defining the data items of interest.
    A limited set of the Xpath 1.0 expressions is
    supported";
                  leaf xpath {
                    type string;
                    description
                      "XPath expression describing the set of objects
    wanted as part of the subscription";
                  }
                }  // case sub-filter-type-xpath
    
                case sub-filter-type-tdl-uri {
                  description
                    "TDL-URI defining the data items of interest";
                  leaf tdl-uri {
                    type string;
                    description
                      "TDL-URI expression describing the set of objects
    wanted as part of the subscription";
                  }
                }  // case sub-filter-type-tdl-uri
                leaf transform-name {
                  type string;
                  description
                    "Transform name is the reference to
    tdl transform scheme";
                }
    
                case sub-filter-type-nested-uri {
                  description
                    "NESTED-URI defining the data items of interest";
                  leaf nested-uri {
                    type string;
                    description
                      "TDL-URI-Recursive expression describing the set of objects
    wanted as part of the subscription";
                  }
                }  // case sub-filter-type-nested-uri
              }  // choice filter-type-choice
            }  // container base
    
            leaf type {
              type mdt-sub-type;
              description "Subscription type.";
            }
    
            leaf state {
              type mdt-sub-state;
              description "Subscription state.";
            }
    
            leaf comments {
              type string;
              description
                "Comments related to subscription state.";
            }
    
            list mdt-receivers {
              key "address port";
              description
                "List of MDT receivers.";
              leaf protocol {
                type string;
                description
                  "Receiver transport protocol.";
              }
    
              leaf state {
                type mdt-receiver-state;
                description "Receiver state.";
              }
    
              leaf comments {
                type string;
                description
                  "Comments related to receiver state.";
              }
    
              leaf profile {
                type string;
                description
                  "Receiver's protocol profile name.";
              }
    
              leaf last-state-change-time {
                type yang:date-and-time;
                description
                  "Time of last state change of this receiver.";
              }
    
              leaf address {
                type inet:ip-address;
                mandatory true;
                description
                  "IP address of the receiver";
              }
    
              leaf port {
                type uint16;
                mandatory true;
                description
                  "Network port of the receiver";
              }
            }  // list mdt-receivers
    
            leaf last-state-change-time {
              type yang:date-and-time;
              description
                "Time of last state change of this subscription.";
            }
          }  // list mdt-subscriptions
    
          list mdt-connections {
            key "address port vrf-table-id source-address";
            description
              "MDT subscription connection operational data.";
            leaf transport {
              type string;
              description
                "Transport protocol on this connection
    See transport-protocol from subscribed-notifications
    for possible values.";
            }
    
            leaf peer-id {
              type string;
              description
                "Identity of the peer at the other end of the connection.
    May be empty, depending on connection state.";
            }
    
            leaf state {
              type mdt-con-state;
              description "Connection state";
            }
    
            list mdt-sub-con-info {
              key "sub-id";
              description
                "List of subscription specific information for this
    connection.";
              leaf sub-id {
                type uint32;
                description
                  "Subscription identifier.";
              }
    
              leaf time-of-connection {
                type yang:date-and-time;
                description
                  "The time the subscription was started using this connection.";
              }
            }  // list mdt-sub-con-info
    
            leaf profile {
              type string;
              description
                "Protocol profile used with this connection.";
            }
    
            leaf last-state-change-time {
              type yang:date-and-time;
              description
                "Time of last state change of this connection.";
            }
    
            leaf source-address-in-use {
              type inet:ip-address;
              description
                "Source address used by this connection.";
            }
    
            leaf address {
              type inet:ip-address;
              description "IP address";
            }
    
            leaf port {
              type uint16;
              description "Network port";
            }
    
            leaf vrf-table-id {
              type uint32;
              description
                "Network instance table ID for the VRF that the
    connection originates from";
            }
    
            leaf source-address {
              type inet:ip-address;
              description
                "The source address used for the connection";
            }
          }  // list mdt-connections
        }  // container mdt-oper-data
      }  // module Cisco-IOS-XE-mdt-oper
    

© 2023 YumaWorks, Inc. All rights reserved.