Cisco-IOS-XE-gnmi-cfg

This module contains a collection of YANG definitions for gNMI configuration data. Copyright (c) 2021 by Cisco Systems, Inc. All...

  • Version: 2021-07-01

    Cisco-IOS-XE-gnmi-cfg@2021-07-01


    
      module Cisco-IOS-XE-gnmi-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XE-gnmi-cfg";
    
        prefix gnmi-cfg;
    
        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 gNMI configuration data.
         Copyright (c) 2021 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-07-01" {
          description "Initial revision";
          reference
            "1.0.0";
    
        }
    
        cisco-semver:module-version "1.0.0";
    
        grouping gnmi-config {
          description
            "gNMI server configuration data type.";
          leaf enable {
            type boolean;
            default "false";
            description
              "Enables the gNMI port listening.";
          }
    
          leaf port {
            type uint16 {
              range "1024 .. 65535";
            }
            must '(../port != ../secure-port)' {
              error-message
                "The insecure and secure port cannot share the same numeric value";
              error-app-tag "must-violation";
            }
            default "50052";
            description
              "gNMI insecure server port.";
          }
    
          leaf secure-enable {
            type boolean;
            must
              "(../secure-enable = 'false') or ((../secure-enable = 'true') and string-length(../secure-tsname) > 0)" {
              error-message
                "Please enable the secure-server only after the secure-tsname has been set to a valid trustpoint name.";
              error-app-tag "must-violation";
            }
            default "false";
            description
              "Enables the gNMI secure server.";
          }
    
          leaf secure-client-auth {
            type boolean;
            default "false";
            description
              "Enables gNMI with client authentication.";
          }
    
          leaf secure-port {
            type uint16 {
              range "1024 .. 65535";
            }
            must '(../port != ../secure-port)' {
              error-message
                "The insecure and secure port cannot share the same numeric value";
              error-app-tag "must-violation";
            }
            default "9339";
            description
              "gNMI secure server port.";
          }
    
          leaf secure-tsname {
            type string;
            must
              "(string-length(../secure-tsname) > 0) or ((../secure-enable = 'false') and string-length(../secure-tsname) = 0)" {
              error-message
                "Please disable the secure-server prior to unsetting the secure-tsname";
              error-app-tag "must-violation";
            }
            description
              "gNMI server certificate trustpoint name.";
          }
    
          leaf service {
            type boolean;
            default "false";
            description
              "Starts the gNMI service.";
          }
    
          leaf secure-client-auth-tsname {
            type string;
            description
              "The gNMI server peer validation trustpoint name.";
          }
    
          leaf secure-password-auth {
            type boolean;
            default "false";
            description
              "Set gNMI with password authentication.";
          }
        }  // grouping gnmi-config
    
        container gnmi-cfg-data {
          description "gNMI configuration data.";
          container config {
            presence "config";
            description
              "gNMI server configuration data.";
            uses gnmi-cfg:gnmi-config;
          }  // container config
        }  // container gnmi-cfg-data
      }  // module Cisco-IOS-XE-gnmi-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.