Cisco-IOS-XE-mdt-cfg

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

  • Version: 2020-11-01

    Cisco-IOS-XE-mdt-cfg@2020-11-01


    
      module Cisco-IOS-XE-mdt-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XE-mdt-cfg";
    
        prefix mdt-cfg;
    
        import Cisco-IOS-XE-mdt-common-defs {
          prefix mdt-common-defs;
        }
        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 configuration of streaming telemetry.
         Copyright (c) 2016-2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-11-01" {
          description
            "- Support for named receivers
           - Deprecated legacy receivers";
          reference
            "3.4.0";
    
        }
    
        revision "2020-03-01" {
          description
            "Support for Histogram transform operation";
          reference
            "3.3.0";
    
        }
    
        revision "2019-05-01" {
          description
            "- Support for new transform operations
           - Flattening the structure of new transform operations
           - Support for Division transform operation
           - Added semantic version";
          reference
            "3.2.0";
    
        }
    
        revision "2018-10-29" {
          description
            "Cleaned up spelling errors in descriptions.";
          reference
            "3.1.0";
    
        }
    
        revision "2018-08-24" {
          description
            "Make a receiver's protocol mandatory and
           remove its default.";
          reference
            "3.0.0";
    
        }
    
        revision "2018-02-12" {
          description
            "Transform support for Native stream.";
          reference
            "2.1.0";
    
        }
    
        revision "2018-02-07" {
          description "Fix top level name.";
          reference
            "2.0.0";
    
        }
    
        revision "2017-09-20" {
          description
            "TLS support for Native stream";
          reference
            "1.1.0";
    
        }
    
        revision "2017-03-02" {
          description "Initial revision";
          reference
            "1.0.0";
    
        }
    
        cisco-semver:module-version "3.4.0";
        cisco-semver:module-version "3.3.0";
        cisco-semver:module-version "3.2.0";
        cisco-semver:module-version "3.1.0";
        cisco-semver:module-version "3.0.0";
        cisco-semver:module-version "2.1.0";
        cisco-semver:module-version "2.0.0";
        cisco-semver:module-version "1.1.0";
        cisco-semver:module-version "1.0.0";
    
        typedef mdt-xfrm-attr-type {
          type enumeration {
            enum "mdt-xfrm-attr-none" {
              value 0;
              description
                "Indicates that no filter has been
               specified.";
            }
            enum "mandatory" {
              value 1;
              description
                "Indicates that mandatory filter is set.";
            }
            enum "primary" {
              value 2;
              description
                "Indicates that primary filter is set.";
            }
          }
          description
            "Types of subscription transform attribute type";
        }
    
        typedef mdt-xfrm-op-type {
          type enumeration {
            enum "sub-record" {
              value 0;
              description
                "Indicates that operation type is
               sub-record";
            }
            enum "delta" {
              value 1;
              description
                "Indicates that operation type is delta";
            }
          }
          description
            "Types of subscription transform operations.";
        }
    
        typedef mdt-xfrm-logic-op {
          type enumeration {
            enum "mdt-xfrm-lop-none" {
              value 0;
              description
                "Indicates that no logical operation
               is selected";
            }
            enum "and" {
              value 1;
              description
                "Indicates that logical operation
               is 'and' ";
            }
            enum "or" {
              value 2;
              description
                "Indicates that logical operation is 'or' ";
            }
          }
          description
            "Types of subscription transform
           logical operations.";
        }
    
        typedef mdt-xfrm-operator {
          type enumeration {
            enum "operator-none" {
              value 0;
              description "Default operator";
            }
            enum "eq" {
              value 1;
              description "Equal operator";
            }
            enum "ne" {
              value 2;
              description "Not equal operator";
            }
            enum "gt" {
              value 3;
              description
                "Greater than operator";
            }
            enum "ge" {
              value 4;
              description
                "Greater than or equal operator";
            }
            enum "lt" {
              value 5;
              description "Less than operator";
            }
            enum "le" {
              value 6;
              description
                "Less than or equal operator";
            }
          }
          description "Supported operator types";
        }
    
        typedef mdt-xfrm-condition-check-with {
          type enumeration {
            enum
              "condition-check-wth-argument-value" {
              value 0;
              description
                "Indicates that conditional check should happen with provided value";
            }
            enum
              "condition-check-wth-previous-value" {
              value 1;
              description
                "Indicates that conditional check should happen with
               previous value of the field";
            }
          }
          description
            "Specifies the kind of value
           this condition check should happen with.
           This way conditional operation can compare with either the
           user provided value or the previously cached value of
           the same field";
        }
    
        typedef mdt-xfrm-operation-type {
          type enumeration {
            enum "xfrm-oper-none" {
              value 0;
              description
                "Indicates operation has not been specified.";
            }
            enum "xfrm-oper-mean" {
              value 1;
              description
                "Mean of the cached values";
            }
            enum "xfrm-oper-mean-window" {
              value 2;
              description
                "Mean over a specified window";
            }
            enum "xfrm-oper-rate" {
              value 3;
              description
                "Rate of change in value";
            }
            enum "xfrm-oper-ewma" {
              value 4;
              description
                "Exponentially Weighted Moving Average";
            }
            enum "xfrm-oper-delta" {
              value 5;
              description
                "Delta with previously known value";
            }
            enum "xfrm-oper-div" {
              value 6;
              description "Division operation";
            }
            enum "xfrm-oper-div-of-delta" {
              value 7;
              description
                "Division operation is performed on Delta of field values";
            }
            enum "xfrm-oper-hist" {
              value 8;
              description
                "Histogram operation is performed over field values";
            }
          }
          description
            "Operation to be performed";
        }
    
        typedef mdt-xfrm-window-size-type {
          type enumeration {
            enum "time-based" {
              value 0;
              description "Time based windowing";
            }
            enum "count-based" {
              value 1;
              description
                "Count based windowing";
            }
          }
          description
            "Type of window size (eg. time, count based)";
        }
    
        typedef mdt-xfrm-window-segment-type {
          type enumeration {
            enum "sliding-window" {
              value 0;
              description "Sliding window";
            }
            enum "tumbling-window" {
              value 1;
              description "Tumbling window";
            }
          }
          description
            "Type of window segment (eg. sliding, tumbling etc)";
        }
    
        typedef mdt-operand-ref-type {
          type enumeration {
            enum "operand-ref-const" {
              value 0;
              description
                "Indicates that the operand is a constant";
            }
            enum "operand-ref-field" {
              value 1;
              description
                "Indicates that the operand is the value of the specified field";
            }
          }
          description
            "Type operand reference
           (eg whether it is constant, other field etc)";
        }
    
        typedef mdt-div-operand-role {
          type enumeration {
            enum "operand-role-dividend" {
              value 0;
              description
                "Indicates that the operand is a dividend";
            }
            enum "operand-role-divisor" {
              value 1;
              description
                "Indicates that the operand is a divisor";
            }
          }
          description
            "Role of operand in division operation";
        }
    
        typedef mdt-xfrm-alert-type {
          type enumeration {
            enum "noop" {
              value 0;
              description
                "No alert based operation";
            }
            enum "limit-threshold" {
              value 1;
              description
                "Limit threshold based alerting";
            }
          }
          description "Type of alert";
        }
    
        typedef mdt-xfrm-alert-size-type {
          type enumeration {
            enum "duration" {
              value 0;
              description "Time based alerting";
            }
            enum "frequency" {
              value 1;
              description "Count based alerting";
            }
          }
          description
            "Type of alerting (eg. time, count based)";
        }
    
        container mdt-config-data {
          description "MDT configuration data";
          list mdt-subscription {
            key "subscription-id";
            description "List of subscriptions";
            leaf subscription-id {
              type uint32 {
                range "0 .. 2147483647";
              }
              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
    
            list mdt-receivers {
              must
                "../base/rcvr-type = 'rcvr-type-unspecified'" {
                error-message
                  "Legacy receivers are not allowed with rcvr-type";
                error-app-tag "must-violation";
              }
              must
                "(count(../mdt-receiver-names/mdt-receiver-name) = 0)" {
                error-message
                  "Legacy receivers are not allowed with receiver name";
                error-app-tag "must-violation";
              }
              key "address port";
              status deprecated;
              description
                "Configuration of receivers of configured
    subscriptions.
    Use of this is deprecated. Use mdt-receiver-names instead.";
              leaf protocol {
                type string;
                mandatory true;
                description
                  "Receiver transport protocol.";
              }
    
              leaf profile {
                type string;
                description
                  "Name of protocol profile used by 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
    
            container mdt-receiver-names {
              description
                "List of configured receiver names.";
              list mdt-receiver-name {
                must
                  "(count(../../mdt-receivers) = 0)" {
                  error-message
                    "Named receivers are not allowed with legacy receiver";
                  error-app-tag "must-violation";
                }
                key "name";
                description
                  "A configured receiver of this subscription.
    Refers to an entry in the global named receivers list indicated
    by rcvr-type string of the parent subscription.
    Receivers of this type cannot be used with the deprecated
    mdt-receivers type.";
                leaf name {
                  type string;
                  description
                    "The name of the receiver.
    Is a key to an entry in the named receivers list indicated
    by rcvr-type string of the parent subscription.";
                }
              }  // list mdt-receiver-name
            }  // container mdt-receiver-names
          }  // list mdt-subscription
    
          container mdt-named-protocol-rcvrs {
            description
              "List of configured named protocol receivers.";
            list mdt-named-protocol-rcvr {
              key "name";
              description
                "Configuration for receivers using a receiver type
               identified as 'protocol' in the subscription's
               rcvr-type field.";
              leaf name {
                type string;
                description
                  "Name of the receiver";
              }
    
              leaf protocol {
                type mdt-common-defs:prot-rcvr-protocol;
                description
                  "Name of the protocol";
              }
    
              leaf profile {
                type string;
                description
                  "Optional profile used by the receiver.";
              }
    
              container host {
                description "Host type";
                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
              }  // container host
    
              leaf port {
                type uint16;
                description "Host port";
              }
            }  // list mdt-named-protocol-rcvr
          }  // container mdt-named-protocol-rcvrs
    
          list mdt-xfrm {
            key "name";
            description
              "List of subscription transforms";
            leaf name {
              type string;
              description
                "Unique transform identifier.";
            }
    
            leaf fully-specify {
              type boolean;
              description
                "When fully-specify is set,
    fully-specify field identifier is sent
    in the response record along with field value";
            }
    
            list mdt-xfrm-input {
              key "table-name";
              description
                "Transform input information";
              leaf table-name {
                type string;
                description
                  "Transform input URI table name";
              }
    
              leaf uri {
                type string;
                description
                  "Transform input URI full-path";
              }
    
              list mdt-xfrm-input-field {
                key "field";
                description
                  "Transform input URI table fields";
                leaf field {
                  type string;
                  description
                    "Transform input URI table field name";
                }
              }  // list mdt-xfrm-input-field
    
              leaf join-key {
                type string;
                description
                  "Transform input table join-key";
              }
    
              leaf attr-type {
                type mdt-xfrm-attr-type;
                description
                  "Transform input table attribute type
    e.g. table is mandatory for join record";
              }
    
              leaf lop {
                type mdt-xfrm-logic-op;
                description
                  "Logical operation with next
    input table event";
              }
    
              leaf key {
                type string;
                description
                  "Transform input table key";
              }
            }  // list mdt-xfrm-input
    
            list mdt-xfrm-op {
              key "id";
              description
                "Transform operations information";
              leaf id {
                type uint32;
                description
                  "Unique transform operation id";
              }
    
              list mdt-xfrm-op-filters {
                key "filter-id";
                description
                  "Transform operation filters.
    These are evaluated before performing
    transform action (e.g. sub record)
    on the response record";
                leaf filter-id {
                  type uint32;
                  description
                    "filters will be evaluated in sequence based
    on filter ID";
                }
    
                leaf field {
                  type string;
                  description
                    "Transform operation filter field name";
                }
    
                container op-event {
                  description
                    "Transform operation event flag (e.g. onchange)";
                  leaf onchange {
                    type boolean;
                    description
                      "Indicates that onchange filter is set.";
                  }
                }  // container op-event
    
                leaf lop {
                  type mdt-xfrm-logic-op;
                  description
                    "logical operation with condition";
                }
    
                container condition {
                  description
                    "Per field condition (e.g. f1 eq 'name')";
                  leaf operator {
                    type mdt-xfrm-operator;
                    description
                      "Type of operator";
                  }
    
                  leaf value {
                    type string;
                    description
                      "Field value to operate on";
                  }
    
                  leaf check-with {
                    type mdt-xfrm-condition-check-with;
                    description
                      "Specifies the kind of value
    this condition check should happen with.
    This way conditional operation can compare with either the
    user provided value or the previously cached value of
    the same field";
                  }
                }  // container condition
    
                leaf next-lop {
                  type mdt-xfrm-logic-op;
                  description
                    "logical operation with next filter condition";
                }
    
                choice operation-type-choice {
                  default "xfrm-oper-none";
                  description
                    "Operation to be performed on input value";
                  case xfrm-oper-none {
                    description
                      "Indicates operation has not been specified. Value will be passed as-is";
                    leaf operation-no-op {
                      type boolean;
                      default "false";
                      description
                        "Indicates operation has not been specified. Value will be passed as-is";
                    }
                  }  // case xfrm-oper-none
    
                  case xfrm-oper-mean {
                    description
                      "Mean of the cached values";
                    leaf operation-mean {
                      type empty;
                      description
                        "Mean of the cached values";
                    }
                  }  // case xfrm-oper-mean
    
                  case xfrm-oper-mean-window {
                    description
                      "Mean over a specified window";
                    container operation-mean-window {
                      description
                        "Data specifying Window parameters";
                      leaf window-size-type {
                        type mdt-xfrm-window-size-type;
                        description
                          "Type of window size (eg. time, count based)";
                      }
    
                      leaf window-size {
                        type uint32;
                        units "centiseconds";
                        description
                          "Window duration in case of time-based. Count in case of count-based";
                      }
    
                      leaf window-segment-type {
                        type mdt-xfrm-window-segment-type;
                        description
                          "Type of window segment (eg. sliding, tumbling etc)";
                      }
                    }  // container operation-mean-window
                  }  // case xfrm-oper-mean-window
    
                  case xfrm-oper-rate {
                    description
                      "Rate of change in value";
                    leaf operation-rate {
                      type empty;
                      description
                        "Rate of change in value";
                    }
                  }  // case xfrm-oper-rate
    
                  case xfrm-oper-ewma {
                    description
                      "Exponentially Weighted Moving Average";
                    container operation-ewma {
                      description
                        "Data specifying Exponentially Weighted Moving Average parameters";
                      leaf lambda {
                        type string;
                        description
                          "Lambda (weight factor) used in Exponentially Weighted Moving Average calculation";
                      }
                    }  // container operation-ewma
                  }  // case xfrm-oper-ewma
    
                  case xfrm-oper-delta {
                    description
                      "Delta with previously known value";
                    leaf operation-delta {
                      type empty;
                      description
                        "Delta with previously known value";
                    }
                  }  // case xfrm-oper-delta
    
                  case xfrm-oper-div {
                    description
                      "Division operation";
                    container operation-div {
                      description
                        "Data specifying Division parameters";
                      leaf operand-ref-type {
                        type mdt-operand-ref-type;
                        description
                          "Specify whether the operand specified is a constant
    or a filed. If it is field, it's value shall be used
    in division operation";
                      }
    
                      leaf operand-role {
                        type mdt-div-operand-role;
                        description
                          "Role of operand in division operation";
                      }
    
                      leaf operand {
                        type string;
                        description
                          "Operand value to be used in division operation. It can be
    either a constant or name of another field";
                      }
                    }  // container operation-div
                  }  // case xfrm-oper-div
    
                  case xfrm-oper-div-of-delta {
                    description
                      "Division operation is performed on Delta of field values";
                    container operation-div-of-delta {
                      description
                        "Data specifying Division of Delta parameters";
                      leaf operand-ref-type {
                        type mdt-operand-ref-type;
                        description
                          "Specify whether the operand specified is a constant
    or a filed. If it is field, it's value shall be used
    in division operation";
                      }
    
                      leaf operand-role {
                        type mdt-div-operand-role;
                        description
                          "Role of operand in division operation";
                      }
    
                      leaf operand {
                        type string;
                        description
                          "Operand value to be used in division operation. It can be
    either a constant or name of another field";
                      }
                    }  // container operation-div-of-delta
                  }  // case xfrm-oper-div-of-delta
                }  // choice operation-type-choice
              }  // list mdt-xfrm-op-filters
    
              list mdt-xfrm-op-fields {
                key "field-id";
                description
                  "Transform operation fields.
    Default operation is sub record.
    It is performed on each field";
                leaf field-id {
                  type uint32;
                  description
                    "Transform operation response field-id, part of response record.
    It is used to uniquely identify response record field";
                }
    
                leaf field {
                  type string;
                  description
                    "Subscription transform field name on
    which transform operation is performed";
                }
    
                leaf op-type {
                  type mdt-xfrm-op-type;
                  description
                    "Subscription transform operation type";
                }
    
                leaf name {
                  type string;
                  description
                    "Name of the field to be returned in output";
                }
    
                choice operation-type-choice {
                  default "xfrm-oper-none";
                  description
                    "Operation to be performed on field before output";
                  case xfrm-oper-none {
                    description
                      "Indicates operation has not been specified. Value will be passed as-is";
                    leaf operation-no-op {
                      type boolean;
                      default "false";
                      description
                        "Indicates operation has not been specified. Value will be passed as-is";
                    }
                  }  // case xfrm-oper-none
    
                  case xfrm-oper-mean {
                    description
                      "Mean of the cached values";
                    leaf operation-mean {
                      type empty;
                      description
                        "Mean of the cached values";
                    }
                  }  // case xfrm-oper-mean
    
                  case xfrm-oper-mean-window {
                    description
                      "Mean over a specified window";
                    container operation-mean-window {
                      description
                        "Data specifying Window parameters";
                      leaf window-size-type {
                        type mdt-xfrm-window-size-type;
                        description
                          "Type of window size (eg. time, count based)";
                      }
    
                      leaf window-size {
                        type uint32;
                        units "centiseconds";
                        description
                          "Window duration in case of time-based. Count in case of count-based";
                      }
    
                      leaf window-segment-type {
                        type mdt-xfrm-window-segment-type;
                        description
                          "Type of window segment (eg. sliding, tumbling etc)";
                      }
                    }  // container operation-mean-window
                  }  // case xfrm-oper-mean-window
    
                  case xfrm-oper-rate {
                    description
                      "Rate of change in value";
                    leaf operation-rate {
                      type empty;
                      description
                        "Rate of change in value";
                    }
                  }  // case xfrm-oper-rate
    
                  case xfrm-oper-ewma {
                    description
                      "Exponentially Weighted Moving Average";
                    container operation-ewma {
                      description
                        "Data specifying Exponentially Weighted Moving Average parameters";
                      leaf lambda {
                        type string;
                        description
                          "Lambda (weight factor) used in Exponentially Weighted Moving Average calculation";
                      }
                    }  // container operation-ewma
                  }  // case xfrm-oper-ewma
    
                  case xfrm-oper-delta {
                    description
                      "Delta with previously known value";
                    leaf operation-delta {
                      type empty;
                      description
                        "Delta with previously known value";
                    }
                  }  // case xfrm-oper-delta
    
                  case xfrm-oper-div {
                    description
                      "Division operation";
                    container operation-div {
                      description
                        "Data specifying Division parameters";
                      leaf operand-ref-type {
                        type mdt-operand-ref-type;
                        description
                          "Specify whether the operand specified is a constant
    or a filed. If it is field, it's value shall be used
    in division operation";
                      }
    
                      leaf operand-role {
                        type mdt-div-operand-role;
                        description
                          "Role of operand in division operation";
                      }
    
                      leaf operand {
                        type string;
                        description
                          "Operand value to be used in division operation. It can be
    either a constant or name of another field";
                      }
                    }  // container operation-div
                  }  // case xfrm-oper-div
    
                  case xfrm-oper-div-of-delta {
                    description
                      "Division operation is performed on Delta of field values";
                    container operation-div-of-delta {
                      description
                        "Data specifying Division of Delta parameters";
                      leaf operand-ref-type {
                        type mdt-operand-ref-type;
                        description
                          "Specify whether the operand specified is a constant
    or a filed. If it is field, it's value shall be used
    in division operation";
                      }
    
                      leaf operand-role {
                        type mdt-div-operand-role;
                        description
                          "Role of operand in division operation";
                      }
    
                      leaf operand {
                        type string;
                        description
                          "Operand value to be used in division operation. It can be
    either a constant or name of another field";
                      }
                    }  // container operation-div-of-delta
                  }  // case xfrm-oper-div-of-delta
    
                  case xfrm-oper-hist {
                    description
                      "Histogram operation is performed field values";
                    container operation-hist {
                      description
                        "Data specifying Histogram parameters";
                      leaf bin-size {
                        type uint64;
                        description
                          "Specify the bin size";
                      }
    
                      leaf min {
                        type uint64;
                        description
                          "Specify the min value";
                      }
    
                      leaf max {
                        type uint64;
                        description
                          "Specify the max value";
                      }
                    }  // container operation-hist
                  }  // case xfrm-oper-hist
                }  // choice operation-type-choice
              }  // list mdt-xfrm-op-fields
    
              container alert-data {
                description
                  "Transform alert data.
    It sets the alerting mechanism";
                leaf alert-type {
                  type mdt-xfrm-alert-type;
                  description "Type of alert";
                }
    
                leaf alert-size-type {
                  type mdt-xfrm-alert-size-type;
                  description
                    "Window duration in case of time-based. Count in case of count-based";
                }
    
                leaf alert-size {
                  type uint32;
                  units "centiseconds";
                  description
                    "Window duration in case of time-based. Count in case of count-based";
                }
              }  // container alert-data
            }  // list mdt-xfrm-op
          }  // list mdt-xfrm
        }  // container mdt-config-data
      }  // module Cisco-IOS-XE-mdt-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.