This module contains a collection of YANG definitions for Cisco IOS-XR telemetry-model-driven package configuration. This model...
Version: 2020-12-11
module Cisco-IOS-XR-telemetry-model-driven-cfg { yang-version 1; namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-telemetry-model-driven-cfg"; prefix telemetry-model-driven-cfg; import ietf-inet-types { prefix inet; } import Cisco-IOS-XR-types { prefix xr; } import cisco-semver { prefix semver; } organization "Cisco Systems, Inc."; contact "Cisco Systems, Inc. Customer Service Postal: 170 West Tasman Drive San Jose, CA 95134 Tel: +1 800 553-NETS E-mail: cs-yang@cisco.com"; description "This module contains a collection of YANG definitions for Cisco IOS-XR telemetry-model-driven package configuration. This model is deprecated and is replaced by Cisco-IOS-XR-um-telemetry-model-driven-cfg.yang which will provide the compatible functionalities. This module contains definitions for the following management objects: telemetry-model-driven: Model Driven Telemetry configuration Copyright (c) 2013-2020 by Cisco Systems, Inc. All rights reserved."; revision "2020-12-11" { description "Added length restriction to tls-hostname IosSetYangSchemaRev Cisco-IOS-XR-telemetry-model-driven-cfg"; } revision "2020-04-09" { description "Added back default value of MDT_DEF_UDP_MTU to UDP packetsize to solve nbc issue. 2020-01-30 Added compression option to protocol. 2020-01-07 Added default statement to leaves max-containers-per-path, max-sensor-paths, and tcp-send-timeout. 2019-10-09 Added select-leaves-on-events config leaf 2019-09-25 Added minimum-cadence and cadence-factor options for tgtdef 2019-09-01 Add capability to configure a Fully Qualified Domain Name as destination."; } revision "2019-08-29" { description "Removed mandatory statement of leaf sample-interval."; } revision "2019-05-12" { description "Deprecated the native model, replaced by UM model."; } revision "2019-04-05" { description "Establish semantic version baseline."; } revision "2018-07-23" { description "Changed no-tls to presence leaf"; } revision "2018-05-29" { description "Added include empty values."; } revision "2018-04-02" { description "Added strict-timer option"; } revision "2018-01-17" { description "Changed mandatory field for sample-interval."; } revision "2017-09-26" { description "Added tcp-send-timeout to model"; } revision "2017-09-07" { description "Fixed type translation error."; } revision "2017-08-23" { description "Updated version for max-containers-per-path"; } revision "2017-05-01" { description "Fixing backward compatibility error in module."; } revision "2017-02-09" { description "Added DSCP"; } revision "2017-01-30" { description "Updated version for source-interface/vrf"; } revision "2016-10-20" { description "Updated version for hierarchy-destinations"; } revision "2015-11-09" { description "IOS XR 6.0 revision."; } semver:module-version "2.0.0"; semver:module-version "1.2.0"; semver:module-version "1.1.0"; semver:module-version "1.0.0"; typedef Proto-type { type enumeration { enum "grpc" { value 1; description "GRPC"; } enum "tcp" { value 2; description "tcp"; } enum "udp" { value 3; description "udp"; } } description "Proto type"; } typedef Encode-type { type enumeration { enum "gpb" { value 2; description "GPB"; } enum "self-describing-gpb" { value 3; description "SELF DESCRIBING GPB"; } enum "json" { value 4; description "JSON"; } } description "Encode type"; } typedef Mdt-dscp-value { type enumeration { enum "default" { value 0; description "Applicable to DSCP: bits 000000"; } enum "cs1" { value 8; description "Applicable to DSCP: bits 001000"; } enum "af11" { value 10; description "Applicable to DSCP: bits 001010"; } enum "af12" { value 12; description "Applicable to DSCP: bits 001100"; } enum "af13" { value 14; description "Applicable to DSCP: bits 001110"; } enum "cs2" { value 16; description "Applicable to DSCP: bits 010000"; } enum "af21" { value 18; description "Applicable to DSCP: bits 010010"; } enum "af22" { value 20; description "Applicable to DSCP: bits 010100"; } enum "af23" { value 22; description "Applicable to DSCP: bits 010110"; } enum "cs3" { value 24; description "Applicable to DSCP: bits 011000"; } enum "af31" { value 26; description "Applicable to DSCP: bits 011010"; } enum "af32" { value 28; description "Applicable to DSCP: bits 011100"; } enum "af33" { value 30; description "Applicable to DSCP: bits 011110"; } enum "cs4" { value 32; description "Applicable to DSCP: bits 100000"; } enum "af41" { value 34; description "Applicable to DSCP: bits 100010"; } enum "af42" { value 36; description "Applicable to DSCP: bits 100100"; } enum "af43" { value 38; description "Applicable to DSCP: bits 100110"; } enum "cs5" { value 40; description "Applicable to DSCP: bits 101000"; } enum "ef" { value 46; description "Applicable to DSCP: bits 101110"; } enum "cs6" { value 48; description "Applicable to DSCP: bits 110000"; } enum "cs7" { value 56; description "Applicable to DSCP: bits 111000"; } } description "Mdt dscp value"; } typedef Mdt-compression { type enumeration { enum "gzip" { value 1; description "google.golang.org/grpc/encoding/gzip compression"; } } description "Mdt compression"; } typedef Address-family { type enumeration { enum "ipv4" { value 1; description "IPv4 address family"; } enum "ipv6" { value 2; description "IPv6 address family"; } } description "Address family"; } grouping ENCODING { description "Common node of ipv6-destination, ipv4-destination , destination"; leaf encoding { type Encode-type; description "Encoding used to transmit telemetry data to the collector"; } } // grouping ENCODING grouping PROTOCOL { description "Common node of ipv6-destination, ipv4-destination , destination"; container protocol { presence "Indicates a protocol node is configured."; description "Transport Protocol used to transmit telemetry data to the collector"; leaf protocol { type Proto-type; mandatory true; description "protocol"; } leaf tls-hostname { type xr:Cisco-ios-xr-string { length "1..255"; } description "tls hostname"; } leaf no-tls { type empty; description "no tls"; } leaf packetsize { type uint32 { range "484..65507"; } default "1472"; description "udp packetsize"; } leaf compression { type Mdt-compression; description "gRPC message compression"; } } // container protocol } // grouping PROTOCOL container telemetry-model-driven { status deprecated; description "This model is deprecated and is replaced by Cisco-IOS-XR-um-telemetry-model-driven-cfg.yang which will provide the compatible functionalities . Model Driven Telemetry configuration"; container sensor-groups { description "Sensor group configuration"; list sensor-group { key "sensor-group-identifier"; description "Sensor group configuration"; container sensor-paths { description "Sensor path configuration"; list sensor-path { key "telemetry-sensor-path"; description "Sensor path configuration"; leaf telemetry-sensor-path { type string; description "Sensor Path"; } } // list sensor-path } // container sensor-paths leaf sensor-group-identifier { type xr:Cisco-ios-xr-string; description "The identifier for this group"; } } // list sensor-group } // container sensor-groups container subscriptions { description "Streaming Telemetry Subscription"; list subscription { key "subscription-identifier"; description "Streaming Telemetry Subscription"; container sensor-profiles { description "Associate Sensor Groups with Subscription"; list sensor-profile { key "sensorgroupid"; description "Associate Sensor Group with Subscription"; leaf strict-timer { type empty; description "use strict timer"; } leaf sample-interval { type uint32 { range "0..4294967295"; } units "millisecond"; description "Sample interval in milliseconds"; } leaf heartbeat-always { type empty; description "Send heartbeat even if events have occurred within interval"; } leaf heartbeat-interval { type uint32 { range "1..4294967295"; } units "millisecond"; description "ON-CHANGE subscription heartbeat interval (in milliseconds)"; } leaf sensorgroupid { type xr:Cisco-ios-xr-string; description "Reference to the telemetry sensor group name"; } } // list sensor-profile } // container sensor-profiles container destination-profiles { description "Associate Destination Groups with Subscription"; list destination-profile { key "destination-id"; description "Associate Destination Group with Subscription"; leaf destination-id { type xr:Cisco-ios-xr-string; description "Destination Id to associate with Subscription"; } } // list destination-profile } // container destination-profiles leaf source-qos-marking { type Mdt-dscp-value; description "Outgoing DSCP value"; } leaf source-interface { type xr:Interface-name; description "Source address to use for streaming telemetry information"; } leaf subscription-identifier { type xr:Cisco-ios-xr-string; description "Subscription identifier string"; } } // list subscription } // container subscriptions container gnmi { description "GNMI Subscribe"; leaf heartbeat-always { type empty; description "Send heartbeat even if events have occurred within interval"; } } // container gnmi container include { description "Include fields with empty values in output."; container empty { description "Include fields with empty values in output."; leaf values { type empty; description "String type fields with empty string value, for example, are omitted by default. This provides an option to override this behavior and include them in the output."; } } // container empty leaf select-leaves-on-events { type empty; description "Include only configured leaves on on-change subscription"; } } // container include container destination-groups { description "Destination Group configuration"; list destination-group { key "destination-id"; description "Destination Group"; container ipv6-destinations { description "Destination address configuration"; list ipv6-destination { key "ipv6-address destination-port"; description "destination IP address"; leaf ipv6-address { type inet:ipv6-address-no-zone; description "Destination IPv6 address"; } leaf destination-port { type xr:Cisco-ios-xr-port-number; description "Destination port"; } uses ENCODING; uses PROTOCOL; } // list ipv6-destination } // container ipv6-destinations container ipv4-destinations { description "Destination address configuration"; list ipv4-destination { key "ipv4-address destination-port"; description "destination IP address"; leaf ipv4-address { type inet:ipv4-address-no-zone; description "Destination IPv4 address"; } leaf destination-port { type xr:Cisco-ios-xr-port-number; description "Destination port"; } uses ENCODING; uses PROTOCOL; } // list ipv4-destination } // container ipv4-destinations container destinations { description "Stream destinations information such as IP address or FQDN (Fully Qualified Domain Name) and port, transport protocol, and encoding."; list destination { key "address port"; description "Stream destinations"; leaf address-family { type Address-family; description "Specify the desired address family for the returned addresses from DNS. This is applicable only if FQDN is specified as destination address."; } leaf address { type xr:Cisco-ios-xr-string { length "1..128"; } description "Destination address as fully qualified domain name, IPv4 address in dotted-quad notation, or IPv6 address in full, mixed, shortened, and shortened-mixed notation."; } leaf port { type xr:Cisco-ios-xr-port-number; description "Destination port"; } uses ENCODING; uses PROTOCOL; } // list destination } // container destinations leaf vrf { type xr:Cisco-ios-xr-string { length "1..32"; } description "Vrf for the destination group"; } leaf destination-id { type xr:Cisco-ios-xr-string; description "destination group id string"; } } // list destination-group } // container destination-groups container gnmi-target-defined { description "Minimum cadence and cadence factor for gnmi target defined"; leaf minimum-cadence { type uint32 { range "1..65535"; } units "second"; description "Minimum Target Defined cadence in secs. 30 secs by default"; } leaf cadence-factor { type uint32 { range "1..10"; } description "Multiplier/Factor for cadence of Tgt defined mode. Default: 2"; } } // container gnmi-target-defined leaf strict-timer { type empty; description "enable strict-timer for all subscriptions, default is relative timer"; } leaf enable { type empty; description "Enable Model Driven Telemetry"; } leaf max-sensor-paths { type uint32 { range "0..4000"; } default "1000"; description "Maximum allowed sensor paths. 0 disables the check."; } leaf max-containers-per-path { type uint32 { range "0..1024"; } default "16"; description "Maximum containers allowed per sensor path. 0 disables the check."; } leaf tcp-send-timeout { type uint32 { range "0..30"; } units "second"; default "30"; description "TCP send timeout value in seconds. 0 disables the timeout."; } } // container telemetry-model-driven } // module Cisco-IOS-XR-telemetry-model-driven-cfg
© 2023 YumaWorks, Inc. All rights reserved.