Cisco-IOS-XR-manageability-object-tracking-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR manageability-object-tracking package configuration. Thi...

  • Version: 2020-03-26

    Cisco-IOS-XR-manageability-object-tracking-cfg@2020-03-26


    
      module Cisco-IOS-XR-manageability-object-tracking-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-manageability-object-tracking-cfg";
    
        prefix
          manageability-object-tracking-cfg;
    
        import ietf-inet-types {
          prefix inet;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
        import Cisco-IOS-XR-manageability-object-tracking-datatypes {
          prefix dt1;
        }
        import Cisco-IOS-XR-ifmgr-cfg {
          prefix a1;
        }
    
        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 manageability-object-tracking package configuration.
         
         This module contains definitions
         for the following management objects:
           object-trackings: Object Tracking configuration
         
         This YANG module augments the
           Cisco-IOS-XR-ifmgr-cfg
         module with configuration data.
         
         Copyright (c) 2013-2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-03-26" {
          description
            "Changed type-route container and leaf nodes under it to accommodate ipv6 route tracks.";
        }
    
        revision "2019-09-07" {
          description
            "Added support for track ipv6 route.";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2017-09-07" {
          description
            "Fixed type translation error.";
        }
    
        revision "2017-05-01" {
          description
            "Fixing backward compatibility error in module.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "2.0.0";
        semver:module-version "1.1.0";
        semver:module-version "1.0.0";
    
        container object-trackings {
          description
            "Object Tracking configuration";
          list object-tracking {
            key "track-name";
            description
              "Track name - maximum 32 characters";
            container action {
              description
                "Actions associated with track state changes";
              container action-err-dis {
                description
                  "The list of all track actions";
                list action-err-di {
                  key "track-state-type interface-name";
                  description
                    "Error disable track action";
                  leaf track-state-type {
                    type uint32 {
                      range "0..1";
                    }
                    description
                      "Track State Type";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description
                      "Interface to be error-disabled";
                  }
                }  // list action-err-di
              }  // container action-err-dis
    
              leaf actions-enable {
                type empty;
                description
                  "Enable track actions";
              }
            }  // container action
    
            container type-bfd-rtr {
              description
                "Track type BFD RTR (BFD Response Time Reporter)";
              container bfd-rtr {
                presence
                  "Indicates a bfd-rtr node is configured.";
                description
                  "BFD session related parameters";
                leaf rate {
                  type uint32 {
                    range "1..5000";
                  }
                  mandatory true;
                  description
                    "Tx interval in ms";
                }
    
                leaf debounce-count {
                  type uint32 {
                    range "1..10";
                  }
                  mandatory true;
                  description "Debounce Count";
                }
    
                leaf interface-name {
                  type xr:Interface-name;
                  mandatory true;
                  description
                    "Interface to be used for BFD session";
                }
    
                leaf dest-address {
                  type inet:ipv4-address-no-zone;
                  mandatory true;
                  description
                    "Destination IP Address to track via BFD";
                }
              }  // container bfd-rtr
            }  // container type-bfd-rtr
    
            container type-bgp-neighbor-address-family-instances {
              description
                "Track type BGP Neighbor Address Family";
              list type-bgp-neighbor-address-family-instance {
                key "instance-name";
                description
                  "BGP Instance for BGP Neighbor Address Family
                 Track";
                container address-families {
                  description
                    "Track type BGP Neighbor Address Family";
                  list address-family {
                    key "af-name";
                    description
                      "Address Family specific configuration";
                    container neighbor {
                      presence
                        "Indicates a neighbor node is configured.";
                      description
                        "A particular BGP neighbor";
                      leaf neighbor-address {
                        type inet:ip-address-no-zone;
                        mandatory true;
                        description
                          "Neighbor address";
                      }
    
                      leaf vrf-name {
                        type string;
                        description
                          "Neighbor VRF";
                      }
    
                      leaf disable-fib-check {
                        type boolean;
                        description
                          "TRUE if FIB checking of neighbor
                         reachability needs to be done, FALSE
                         otherwise";
                      }
                    }  // container neighbor
    
                    leaf address-family-enable {
                      type empty;
                      description
                        "Enable Address Family for BGP Neighbor";
                    }
    
                    leaf af-name {
                      type dt1:Object-tracking-address-family;
                      description
                        "Address family";
                    }
                  }  // list address-family
                }  // container address-families
    
                leaf type-bgp-neighbor-address-family-instance-enable {
                  type empty;
                  description
                    "Enable track type BGP Neighbor AF";
                }
    
                leaf instance-name {
                  type dt1:Object-tracking-name-string;
                  description "BGP Instance";
                }
              }  // list type-bgp-neighbor-address-family-instance
            }  // container type-bgp-neighbor-address-family-instances
    
            container type-interface {
              description
                "Track type line-protocol";
              leaf interface {
                type xr:Interface-name;
                description
                  "The name of the interface";
              }
            }  // container type-interface
    
            container type-rtr {
              description
                "Track type RTR (Response Time Reporter - IPSLA)";
              leaf rtr {
                type uint32 {
                  range "1..2048";
                }
                description "IPSLA Operation ID";
              }
            }  // container type-rtr
    
            container type-list {
              description
                "Track type boolean list";
              container threshold-weight {
                description
                  "Track type threshold weight";
                container threshold-limits {
                  description "Threshold Limits";
                  leaf up {
                    type uint32;
                    description
                      "Up threshold value";
                  }
    
                  leaf down {
                    type uint32;
                    default "0";
                    description
                      "Down threshold value";
                  }
                }  // container threshold-limits
              }  // container threshold-weight
    
              container threshold-percentage-object {
                description
                  "Track type threshold percentage";
                list object {
                  key "object";
                  description
                    "Track name object";
                  leaf object-weight {
                    type uint32;
                    default "1";
                    description
                      "Weight of object";
                  }
    
                  leaf object {
                    type dt1:Object-tracking-name-string;
                    description "Object name";
                  }
                }  // list object
              }  // container threshold-percentage-object
    
              container threshold-percentage {
                description
                  "Track type threshold percentage";
                container threshold-limits {
                  description "Threshold Limits";
                  leaf up {
                    type uint32;
                    description
                      "Up threshold value";
                  }
    
                  leaf down {
                    type uint32;
                    default "0";
                    description
                      "Down threshold value";
                  }
                }  // container threshold-limits
              }  // container threshold-percentage
    
              container threshold-weight-object {
                description
                  "Track type threshold weight";
                list object {
                  key "object";
                  description
                    "Track name object";
                  leaf object-weight {
                    type uint32;
                    default "1";
                    description
                      "Weight of object";
                  }
    
                  leaf object {
                    type dt1:Object-tracking-name-string;
                    description "Object name";
                  }
                }  // list object
              }  // container threshold-weight-object
    
              leaf threshold-percentage-object-enable {
                type empty;
                units "percentage";
                description
                  "Enable threshold based on percentage";
              }
    
              leaf threshold-weight-object-enable {
                type empty;
                description
                  "Enable threshold based on weighted sum";
              }
            }  // container type-list
    
            container type-route {
              description "Track type route";
              container ip-address {
                description "set track address";
                leaf ip-address {
                  type inet:ip-address-no-zone;
                  must
                    "../prefix-length and not(../address or ../mask)";
                  description
                    "IPv4 or IPv6 Address";
                }
    
                leaf prefix-length {
                  type uint32 {
                    range "1..128";
                  }
                  must
                    "../ip-address and not(../address or ../mask)";
                  description "Prefix length";
                }
    
                leaf address {
                  type inet:ipv4-address-no-zone;
                  must
                    "../mask and not(../ip-address or ../prefix-length)";
                  description "IP address";
                }
    
                leaf mask {
                  type inet:ipv4-address-no-zone;
                  must
                    "../address and not(../ip-address or ../prefix-length)";
                  description "Mask";
                }
              }  // container ip-address
    
              leaf vrf {
                type xr:Cisco-ios-xr-string {
                  length "1..32";
                }
                description
                  "VRF tag - use 'default' for the DEFAULT vrf";
              }
            }  // container type-route
    
            container type-boolean-list {
              description
                "Track type boolean list";
              container or-objects {
                description
                  "Track type boolean or list";
                list or-object {
                  key "object";
                  description
                    "Track name - maximum 32 characters";
                  leaf object-sign {
                    type dt1:Object-tracking-boolean-sign;
                    description
                      "Tracked Object sign (with or without not)";
                  }
    
                  leaf object {
                    type dt1:Object-tracking-name-string;
                    description "Object name";
                  }
                }  // list or-object
              }  // container or-objects
    
              container and-objects {
                description
                  "Track type boolean and list";
                list and-object {
                  key "object-name";
                  description
                    "Track name - maximum 32 characters";
                  leaf object-sign {
                    type dt1:Object-tracking-boolean-sign;
                    description
                      "Tracked Object sign (with or without not)";
                  }
    
                  leaf object-name {
                    type dt1:Object-tracking-name-string;
                    description "Object name";
                  }
                }  // list and-object
              }  // container and-objects
            }  // container type-boolean-list
    
            leaf delay-up {
              type dt1:Object-tracking-delay;
              units "second";
              description "Delay up in seconds";
            }
    
            leaf enable {
              type empty;
              description "Enable the Track";
            }
    
            leaf delay-down {
              type dt1:Object-tracking-delay;
              units "second";
              description
                "Delay down in seconds";
            }
    
            leaf type-interface-enable {
              type empty;
              description
                "Enable track type Interface";
            }
    
            leaf type-route-enable {
              type empty;
              description
                "Enable track type Route";
            }
    
            leaf type-boolean-list-and-enable {
              type empty;
              description
                "Enable track type boolean list and";
            }
    
            leaf type-boolean-list-or-enable {
              type empty;
              description
                "Enable track type boolean list or";
            }
    
            leaf track-name {
              type dt1:Object-tracking-name-string;
              description "Track name";
            }
          }  // list object-tracking
        }  // container object-trackings
      }  // module Cisco-IOS-XR-manageability-object-tracking-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.