Cisco-IOS-XE-mdt-oper-v2

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

  • Version: 2021-07-01

    Cisco-IOS-XE-mdt-oper-v2@2021-07-01


    
      module Cisco-IOS-XE-mdt-oper-v2 {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XE-mdt-oper-v2";
    
        prefix mdt-oper-v2;
    
        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-2021 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-07-01" {
          description
            "- Add subchannel requested receiver state";
          reference
            "1.2.0";
    
        }
    
        revision "2020-11-01" {
          description
            "- Add host and receiver parameter types.
           - Add protocol connection parameters and new connection type";
          reference
            "1.1.0";
    
        }
    
        revision "2020-07-01" {
          description "Initial revision";
          reference
            "1.0.0";
    
        }
    
        cisco-semver:module-version "1.2.0";
        cisco-semver:module-version "1.1.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.";
            }
            enum "sub-state-deleted" {
              value 4;
              description
                "The subscription is in the process of being deleted from the
               system. This state is valid only for static subscriptions.";
            }
          }
          description "Subscription states";
        }
    
        typedef mdt-named-rcvr-state {
          type enumeration {
            enum "named-rcvr-state-invalid" {
              value 1;
              description
                "The receiver configuration is invalid and
               cannot be used.";
            }
            enum "named-rcvr-state-valid" {
              value 2;
              description
                "The receiver configuration is valid";
            }
          }
          description "Named receiver 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.";
            }
            enum "rcvr-state-resolving" {
              value 6;
              description
                "The receiver is determining connection parameters";
            }
            enum
              "rcvr-state-transport-requested" {
              value 7;
              description
                "A request has been made to setup required transport
               using resolved connection parameters.";
            }
            enum
              "rcvr-state-subchannel-requested" {
              value 8;
              description
                "A request has been made to setup the
               required subchannel to the receiver.";
            }
          }
          description "Receiver states.";
        }
    
        typedef mdt-connection-type {
          type enumeration {
            enum "conn-type-protocol" {
              value 0;
              status deprecated;
              description
                "The connection type is protocol (deprecated).
               Use con-type-protocol instead";
            }
            enum "con-type-protocol" {
              value 1;
              description
                "The connection type is protocol";
            }
          }
          description "Connection Types";
        }
    
        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.";
        }
    
        grouping mdt-stream {
          description
            "MDT stream table element.";
          leaf-list stream {
            type string;
            ordered-by user;
            description
              "Name of a supported stream.";
          }
        }  // grouping mdt-stream
    
        grouping mdt-subscription-oper {
          description
            "Subscription operational data.";
          leaf subscription-id {
            type uint32;
            description
              "Unique subscription identifier.";
          }
    
          container base {
            description
              "Common subscription information.";
            uses mdt-common-defs:mdt-subscription-base;
          }  // container base
    
          leaf type {
            type mdt-sub-type;
            description "Subscription type.";
          }
    
          leaf state {
            type mdt-sub-state;
            description "Subscription state.";
          }
    
          leaf state-explanation {
            type string;
            description
              "Comments related to subscription state.";
          }
    
          list mdt-receivers {
            key "address port";
            description "List of MDT receivers.";
            uses mdt-oper-v2:mdt-receiver-oper;
    
            uses mdt-common-defs:mdt-receiver-id;
          }  // list mdt-receivers
    
          leaf last-state-change-time {
            type yang:date-and-time;
            description
              "Time of last state change of this subscription.";
          }
    
          list mdt-receiver-names {
            key "name";
            description
              "List of named receivers of this subscription.";
            uses mdt-oper-v2:mdt-receiver-name;
          }  // list mdt-receiver-names
        }  // grouping mdt-subscription-oper
    
        grouping mdt-receiver-name {
          description
            "A subscription receiver identified by name.";
          leaf name {
            type string;
            description "The receiver name.";
          }
    
          leaf con-index {
            type uint16;
            description
              "Index into connections table of the connection being used by this
             receiver.
             Note that it's possible for a receiver with the same name being
             used by a different subscription to use a different connection.";
          }
    
          leaf state {
            type mdt-receiver-state;
            description
              "Receiver state with respect to the parent subscription.";
          }
    
          leaf state-descr {
            when
              "(../state != 'rcvr-state-connected')";
            type string;
            description
              "Description related to receiver state.";
          }
    
          leaf last-state-change-time {
            type yang:date-and-time;
            description
              "Time of last state change of this receiver.";
          }
        }  // grouping mdt-receiver-name
    
        grouping mdt-receiver-oper {
          description
            "MDT receiver operational information.";
          leaf protocol {
            type string;
            description
              "Receiver transport protocol.";
          }
    
          leaf state {
            type mdt-receiver-state;
            description "Receiver state.";
          }
    
          leaf state-explanation {
            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 con-index {
            type uint16;
            description
              "Receiver connection index";
          }
        }  // grouping mdt-receiver-oper
    
        grouping prot-con-params {
          description
            "Protocol connection parameters";
          leaf address {
            type inet:ip-address;
            description "address";
          }
    
          leaf port {
            type uint16;
            description "Connection port";
          }
    
          leaf vrf-table-id {
            type uint32;
            description "VRF table id";
          }
    
          leaf source-address {
            type inet:ip-address;
            description "source address";
          }
        }  // grouping prot-con-params
    
        grouping mdt-connection-id {
          description
            "MDT connection type identifier";
          choice con-type-choice {
            description
              "Type of Connection Type Choice";
            container con-params {
              description
                "Connection parameters";
              uses mdt-oper-v2:prot-con-params;
            }  // container con-params
          }  // choice con-type-choice
    
          choice type-choice {
            status deprecated;
            description
              "Type of Connection Type Choice";
            case conn-type-protocol {
              status deprecated;
              leaf address {
                type inet:ip-address;
                description "address";
              }
    
              leaf port {
                type uint16;
                description "Connection port";
              }
    
              leaf vrf-table-id {
                type uint32;
                description "VRF table id";
              }
    
              leaf source-address {
                type inet:ip-address;
                description "source address";
              }
            }  // case conn-type-protocol
          }  // choice type-choice
        }  // grouping mdt-connection-id
    
        grouping mdt-connection {
          description
            "MDT receiver operational information.";
          leaf index {
            type uint16;
            description
              "Connection Tables Index";
          }
    
          container conn-id {
            description "Connection Type Index";
            uses mdt-oper-v2:mdt-connection-id;
          }  // container conn-id
    
          leaf peer-id {
            type string;
            description "Peer ID";
          }
    
          leaf state {
            type mdt-con-state;
            description "Connection state.";
          }
    
          leaf last-state-change-time {
            type yang:date-and-time;
            description
              "Time of last state change of this connection.";
          }
        }  // grouping mdt-connection
    
        grouping mdt-named-receiver {
          description
            "The state of a named receiver.";
          leaf name {
            type string;
            description
              "The name of the receiver.";
          }
    
          leaf profile {
            type string;
            description
              "The profile, if any, used by the receiver.";
          }
    
          container params {
            description
              "Parameters common to all receivers.";
            uses mdt-common-defs:mdt-rcvr-params;
          }  // container params
    
          leaf state {
            type mdt-named-rcvr-state;
            description "Named receiver state.";
          }
    
          leaf state-descr {
            when
              "(../state != 'named-rcvr-state-valid')";
            type string;
            description
              "Description related to receiver state.";
          }
    
          leaf last-state-change-time {
            type yang:date-and-time;
            description
              "Time of last state change of this receiver.";
          }
        }  // grouping mdt-named-receiver
    
        container mdt-oper-v2-data {
          config false;
          description "MDT operational data.";
          container mdt-streams {
            description
              "MDT streams table. The list of supported streams.";
            uses mdt-oper-v2:mdt-stream;
          }  // container mdt-streams
    
          list mdt-subscriptions {
            key "subscription-id";
            description
              "MDT subscription operational data.";
            uses mdt-oper-v2:mdt-subscription-oper;
          }  // list mdt-subscriptions
    
          list mdt-named-receivers {
            key "name";
            description
              "MDT named receiver operational data.";
            uses mdt-oper-v2:mdt-named-receiver;
          }  // list mdt-named-receivers
    
          list mdt-connections {
            key "index";
            description
              "MDT subscription connection operational data.";
            uses mdt-oper-v2:mdt-connection;
          }  // list mdt-connections
        }  // container mdt-oper-v2-data
      }  // module Cisco-IOS-XE-mdt-oper-v2
    

© 2023 YumaWorks, Inc. All rights reserved.