Cisco-IOS-XE-mdt-common-defs

This module contains a collection of common YANG definitions for streaming telemetry. Copyright (c) 2016-2020 by Cisco Systems, ...

  • Version: 2021-07-01

    Cisco-IOS-XE-mdt-common-defs@2021-07-01


    
      module Cisco-IOS-XE-mdt-common-defs {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XE-mdt-common-defs";
    
        prefix mdt-common-defs;
    
        import ietf-inet-types {
          prefix inet;
        }
        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 common YANG
    definitions for streaming telemetry.
    Copyright (c) 2016-2020 by Cisco Systems, Inc.
    All rights reserved.";
    
        revision "2021-07-01" {
          description
            "- Add support for gRPC configured receivers";
          reference
            "3.1.0";
    
        }
    
        revision "2021-03-01" {
          description
            "- Changed status of receiver id.";
          reference
            "3.0.0";
    
        }
    
        revision "2020-11-01" {
          description
            "- Additional host and receiver parameter types";
          reference
            "2.2.0";
    
        }
    
        revision "2020-07-01" {
          description "- Add host type";
          reference
            "2.1.0";
    
        }
    
        revision "2019-05-01" {
          description
            "- Change connection ID VRF identifier.
    - Added semantic version";
          reference
            "2.0.0";
    
        }
    
        revision "2018-10-29" {
          description
            "Cleaned up spelling errors in descriptions.
    Add connection ID type.";
          reference
            "1.4.0";
    
        }
    
        revision "2018-03-19" {
          description
            "Recursive URI support for Native stream";
          reference
            "1.3.0";
    
        }
    
        revision "2018-02-12" {
          description
            "TRANSFORM support for Native stream";
          reference
            "1.2.0";
    
        }
    
        revision "2017-07-01" {
          description "Add support for VRFs";
          reference
            "1.1.0";
    
        }
    
        revision "2017-03-02" {
          description "Initial revision";
          reference
            "1.0.0";
    
        }
    
        cisco-semver:module-version "3.1.0";
        cisco-semver:module-version "3.0.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.4.0";
        cisco-semver:module-version "1.3.0";
        cisco-semver:module-version "1.2.0";
        cisco-semver:module-version "1.1.0";
        cisco-semver:module-version "1.0.0";
    
        typedef host-etype {
          type enumeration {
            enum "host-type-unspecified" {
              value 0;
              description
                "Host type is not specified";
            }
            enum "host-type-ip-addr" {
              value 1;
              description
                "Host is identified using an IP address";
            }
            enum "host-type-hostname" {
              value 2;
              description
                "Host is identified using hostname";
            }
          }
          description
            "Types of network host identifiers";
        }
    
        typedef mdt-rcvr-type {
          type enumeration {
            enum "rcvr-type-unspecified" {
              value 0;
              description
                "Receiver type is not specified";
            }
            enum "rcvr-type-protocol" {
              value 1;
              description
                "Receiver is a protocol based receiver";
            }
          }
          description "Types of receivers";
        }
    
        typedef prot-rcvr-protocol {
          type enumeration {
            enum "prot-rcvr-unspec" {
              value 0;
              description
                "Protocol type is not specified";
            }
            enum "native" {
              value 1;
              description "Native protocol";
            }
            enum "tls-native" {
              value 2;
              description "Native TLS protocol";
            }
            enum "cntp-tcp" {
              value 3;
              description "CNTP TCP protocol";
            }
            enum "cntp-tls" {
              value 4;
              description "CNTP TLS protocol";
            }
            enum "cloud-native" {
              value 5;
              description
                "Native Cloud protocol";
            }
            enum "grpc-tcp" {
              value 6;
              description "gRPC TCP protocol";
            }
            enum "grpc-tls" {
              value 7;
              description "gRPC TLS protocol";
            }
          }
          description "Types of protocols";
        }
    
        typedef mdt-sub-filter-type {
          type enumeration {
            enum "sub-filter-type-none" {
              value 0;
              description
                "Indicates that no filter has been specified";
            }
            enum "sub-filter-type-xpath" {
              value 1;
              description
                "Xpath defining the data items of interest.
    A limited set of the Xpath 1.0 expressions is
    supported";
            }
            enum "sub-filter-type-tdl-uri" {
              value 2;
              description
                "TDL-URI defining the data items of interest";
            }
            enum "sub-filter-type-tdl-transform" {
              value 3;
              description
                "tdl-transform define transform scheme
    to be subscribed";
            }
            enum "sub-filter-type-nested-uri" {
              value 4;
              description
                "Nested-URI defining the data items of interest";
            }
          }
          description
            "Types of subscription filters";
        }
    
        typedef mdt-sub-update-trigger {
          type enumeration {
            enum "sub-upd-trig-none" {
              value 0;
              description
                "Indicates trigger has not been specified";
            }
            enum "sub-upd-trig-periodic" {
              value 1;
              description
                "Subscription is triggered on a periodic basis";
            }
            enum "sub-upd-trig-on-change" {
              value 2;
              description
                "Subscription is triggered when a value changes";
            }
          }
          description
            "Types of subscription update triggers";
        }
    
        grouping host {
          description "A network host";
          choice type-choice {
            default "host-type-unspecified";
            description
              "How the network host is identified";
            case host-type-unspecified {
              description
                "Host type is not specified";
              leaf unspecified {
                type empty;
                description
                  "An unspecified host type";
              }
            }  // case host-type-unspecified
    
            case host-type-ip-addr {
              description
                "Host is specified using an IP address";
              leaf address {
                type inet:ip-address;
                description
                  "IP address of the host";
              }
            }  // case host-type-ip-addr
    
            case host-type-hostname {
              description
                "Host is specified using hostname";
              leaf hostname {
                type string;
                description "Host name";
              }
            }  // case host-type-hostname
          }  // choice type-choice
        }  // grouping host
    
        grouping mdt-rcvr-params {
          description
            "Parameters common to all receiver types";
          choice type-choice {
            default "rcvr-type-unspecified";
            description
              "The type specific parameters";
            case rcvr-type-unspecified {
              description
                "Receiver type is not specified";
              leaf unset {
                type empty;
                description
                  "An unspecified receiver type";
              }
            }  // case rcvr-type-unspecified
    
            case rcvr-type-protocol {
              description
                "Indicates a protocol based receiver";
              leaf protocol {
                type prot-rcvr-protocol;
                default "prot-rcvr-unspec";
                description
                  "Name of the protocol";
              }
    
              container host {
                description
                  "Network host identity of the receiver";
                uses mdt-common-defs:host;
              }  // container host
    
              leaf port {
                type uint16;
                description
                  "Port number of the receiver";
              }
            }  // case rcvr-type-protocol
          }  // choice type-choice
        }  // grouping mdt-rcvr-params
    
        grouping mdt-subscription-base {
          description
            "Base subscription information. This is
    common to both operational and configuration
    table records";
          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-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
        }  // grouping mdt-subscription-base
    
        grouping mdt-receiver-id {
          description
            "Receiver identifier
    Use of this is deprecated. Use named receivers instead.";
          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";
          }
        }  // grouping mdt-receiver-id
    
        grouping mdt-connection-id {
          description "Connection identifier";
          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";
          }
        }  // grouping mdt-connection-id
      }  // module Cisco-IOS-XE-mdt-common-defs
    

© 2023 YumaWorks, Inc. All rights reserved.