Cisco-IOS-XE-ncch-cfg

This module contains a collection of YANG definitions for configuration of NETCONF server Call Home. Copyright (c) 2020 by Cisco...

  • Version: 2020-07-01

    Cisco-IOS-XE-ncch-cfg@2020-07-01


    
      module Cisco-IOS-XE-ncch-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XE-ncch-cfg";
    
        prefix ncch-cfg;
    
        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 YANG
         definitions for configuration of NETCONF server Call Home.
         Copyright (c) 2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-07-01" {
          description "Initial revision";
          reference
            "1.0.0";
    
        }
    
        cisco-semver:module-version "1.0.0";
    
        typedef ncch-address-type {
          type enumeration {
            enum "address-unspecified" {
              value 0;
              description
                "Indicates address has not been specified.";
            }
            enum "ip-address" {
              value 1;
              description
                "Indicates IP address.";
            }
            enum "domain-name" {
              value 2;
              description
                "Indicates Domain name.";
            }
          }
          description
            "Defines the supported address type.";
        }
    
        typedef ncch-transport {
          type enumeration {
            enum "transport-unspecified" {
              value 0;
              description
                "Indicates transport has not been specified.";
            }
            enum "ssh" {
              value 1;
              description
                "Indicates SSH-specific call-home transport
               configuration.";
            }
          }
          description
            "Defines the transports supported by NETCONF Call Home.";
        }
    
        typedef ncch-start-with {
          type enumeration {
            enum "first-listed" {
              value 0;
              description
                "Indicates that reconnection should start with
               the first endpoint listed.";
            }
            enum "last-connected" {
              value 1;
              description
                "Indicates that reconnection should start with
               the endpoint last connected to.  If no previous
               connection has ever been established, then the
               first endpoint configured is used.";
            }
            enum "random-selection" {
              value 2;
              description
                "Indicates that reconnection should start with
               a random endpoint.";
            }
          }
          description
            "Specifies which of the endpoints this NETCONF server
           should start with when trying to connect a NETCONF client.";
        }
    
        container netconf-callhome-config {
          description
            "Configures NETCONF server Call Home behavior.";
          container ncch-clients {
            description
              "Configure a list of NETCONF clients the NETCONF server is to
             maintain simultaneous call-home connections with.";
            list ncch-client {
              key "name";
              description
                "List of NETCONF clients the NETCONF server is to
               maintain simultaneous call-home connections with.";
              leaf name {
                type string;
                description
                  "An arbitrary name for the remote NETCONF client.";
              }
    
              container ncch-client-endpoints {
                description
                  "Configure a list of endpoints of the NETCONF client.";
                list ncch-client-endpoint {
                  key "name";
                  description
                    "List of endpoints of the NETCONF client.";
                  leaf name {
                    type string;
                    description
                      "An arbitrary name for the endpoint.";
                  }
    
                  choice transport-choice {
                    default
                      "transport-unspecified";
                    description
                      "Selects between available transports.";
                    case transport-unspecified {
                      description
                        "Indicates transport has not been specified.";
                      leaf transport-unset {
                        type boolean;
                        default "true";
                        description
                          "Indicates transport has not been specified.
    Value will be passed as-is.";
                      }
                    }  // case transport-unspecified
    
                    case ssh {
                      description
                        "Indicates SSH-specific call-home transport
    configuration.";
                      container ssh {
                        description
                          "Indicates SSH-specific call-home transport
    configuration.";
                        leaf tcpc-remote-port {
                          type uint16;
                          default "4334";
                          description
                            "The NETCONF server will attempt to connect
    to the IANA-assigned well-known port 4334
    if no value is specified.";
                        }
    
                        leaf tcpc-local-ipaddr {
                          type inet:ip-address;
                          default "0.0.0.0";
                          description
                            "Specifies the local IP address to bind to for when
    connecting to the remote peer.";
                        }
    
                        leaf tcpc-local-port {
                          type uint16;
                          default "0";
                          description
                            "The local IP port number to bind to for when connecting
    to the remote peer.  The port number '0', which is the
    default value, indicates that any available local port
    number may be used.";
                        }
    
                        leaf tcpc-local-vrf {
                          type string;
                          default "";
                          description
                            "Network instance name for the local VRF";
                        }
    
                        choice tcpc-remote-addr-type-choice {
                          default
                            "address-unspecified";
                          description
                            "Selects the address type of the remote peer to
    establish a connection with.";
                          case address-unspecified {
                            description
                              "Indicates address has not been specified.";
                            leaf tcpc-remote-addr-unset {
                              type boolean;
                              default "true";
                              description
                                "Indicates address has not been specified.
    Value will be passed as-is.";
                            }
                          }  // case address-unspecified
    
                          case ip-address {
                            description
                              "The IP address of the remote peer to
    establish a connection with.";
                            leaf tcpc-remote-ipaddr {
                              type inet:ip-address;
                              description
                                "Specifies the IP address of the remote peer to
    establish a connection with.";
                            }
                          }  // case ip-address
                        }  // choice tcpc-remote-addr-type-choice
                      }  // container ssh
                    }  // case ssh
                  }  // choice transport-choice
                }  // list ncch-client-endpoint
              }  // container ncch-client-endpoints
    
              container reconnect-strategy {
                description
                  "The reconnection strategy directs how a NETCONF server
    reconnects to a NETCONF client, after discovering its
    connection to the client has dropped, even if due to a
    reboot. The NETCONF server starts with the specified
    endpoint and tries to connect to it max-attempts times
    before trying the next endpoint in the list (round
    robin).";
                leaf start-with {
                  type ncch-start-with;
                  default "first-listed";
                  description
                    "Specifies which of the NETCONF client's endpoints
    the NETCONF server should start with when trying
    to connect to the NETCONF client.";
                }
    
                leaf max-attempts {
                  type uint8 {
                    range "1 .. 255";
                  }
                  default "3";
                  description
                    "Specifies the number times the NETCONF server tries
    to connect to a specific endpoint before moving on
    to the next endpoint in the list (round robin).";
                }
              }  // container reconnect-strategy
            }  // list ncch-client
          }  // container ncch-clients
        }  // container netconf-callhome-config
      }  // module Cisco-IOS-XE-ncch-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.