Cisco-IOS-XR-um-grpc-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR grpc package configuration. This YANG module augments th...

  • Version: 2021-05-20

    Cisco-IOS-XR-um-grpc-cfg@2021-05-20


    
      module Cisco-IOS-XR-um-grpc-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-um-grpc-cfg";
    
        prefix um-grpc-cfg;
    
        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 grpc package configuration.
         
         This YANG module augments the
         modules with configuration data.
         
         Copyright (c) 2019-2021 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-05-20" {
          description
            "Added leaf min-keepalive-interval.
           2020-08-01
             Added aaa container.";
        }
    
        revision "2019-06-10" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2019-03-30" {
          description "Initial version";
        }
    
        semver:module-version "2.0.0";
        semver:module-version "1.1.0";
    
        container grpc {
          presence
            "Indicates a grpc node is configured.";
          description
            "grpc configuration commands";
          leaf max-request-total {
            type uint32 {
              range "1..256";
            }
            description
              "Maximum concurrent requests in total";
          }
    
          leaf max-request-per-user {
            type uint32 {
              range "1..32";
            }
            description
              "Maximum concurrent requests per user";
          }
    
          leaf max-streams {
            type uint32 {
              range "1..128";
            }
            description
              "Maximum number of streaming gRPCs (Default: 32)";
          }
    
          leaf max-streams-per-user {
            type uint32 {
              range "1..128";
            }
            description
              "Maximum number of streaming gRPCs per user (Default: 32)";
          }
    
          leaf port {
            type uint32 {
              range "10000..57999";
            }
            description "Server listening port";
          }
    
          leaf vrf {
            type xr:Cisco-ios-xr-string {
              length "1..1024";
            }
            description "Server vrf";
          }
    
          leaf certificate-id {
            type xr:Cisco-ios-xr-string {
              length "1..1024";
            }
            description "Active Certificate";
          }
    
          container aaa {
            description
              "AAA authorization and authentication for gRPC";
            container authentication {
              description
                "AAA authentication methodlist for gRPC";
              leaf login {
                type xr:Cisco-ios-xr-string {
                  length "1..1024";
                }
                description
                  "AAA authentication login method list";
              }
            }  // container authentication
    
            container authorization {
              description
                "AAA authorization methodlist for gRPC";
              leaf exec {
                type xr:Cisco-ios-xr-string {
                  length "1..1024";
                }
                description
                  "AAA authorization exec method list";
              }
            }  // container authorization
          }  // container aaa
    
          container address-family {
            description
              "Address family identifier type";
            container ipv4 {
              must "not(../ipv6 or ../dual)";
              presence
                "Indicates a ipv4 node is configured.";
              description "IPv4 address-family";
            }  // container ipv4
    
            container ipv6 {
              must "not(../ipv4 or ../dual)";
              presence
                "Indicates a ipv6 node is configured.";
              description "IPv6 address-family";
            }  // container ipv6
    
            container dual {
              must "not(../ipv4 or ../ipv6)";
              presence
                "Indicates a dual node is configured.";
              description
                "dual stackaddress-family";
            }  // container dual
          }  // container address-family
    
          container service-layer {
            presence
              "Indicates a service-layer node is configured.";
            description
              "grpc service layer configuration";
          }  // container service-layer
    
          leaf min-keepalive-interval {
            type uint32 {
              range "1..10000";
            }
            description
              "Minimum client keepalive interval";
          }
    
          leaf dscp {
            type union {
              type uint32 {
                range "0..63";
              }
              type enumeration {
                enum "default" {
                  value 0;
                  description
                    "Default (DSCP 000000)";
                }
                enum "cs1" {
                  value 8;
                  description
                    "CS1 (Precedence 1) (DSCP 001000)";
                }
                enum "af11" {
                  value 10;
                  description
                    "AF11 (DSCP 001010)";
                }
                enum "af12" {
                  value 12;
                  description
                    "AF12 (DSCP 001100)";
                }
                enum "af13" {
                  value 14;
                  description
                    "AF13 (DSCP 001110)";
                }
                enum "cs2" {
                  value 16;
                  description
                    "CS2 (Precedence 2) (DSCP 010000)";
                }
                enum "af21" {
                  value 18;
                  description
                    "AF21 (DSCP 010010)";
                }
                enum "af22" {
                  value 20;
                  description
                    "AF22 (DSCP 010100)";
                }
                enum "af23" {
                  value 22;
                  description
                    "AF23 (DSCP 010110)";
                }
                enum "cs3" {
                  value 24;
                  description
                    "CS3 (Precedence 3) (DSCP 011000)";
                }
                enum "af31" {
                  value 26;
                  description
                    "AF31 (DSCP 011010)";
                }
                enum "af32" {
                  value 28;
                  description
                    "AF32 (DSCP 011100)";
                }
                enum "af33" {
                  value 30;
                  description
                    "AF33 (DSCP 011110)";
                }
                enum "cs4" {
                  value 32;
                  description
                    "CS4 (Precedence 4) (DSCP 100000)";
                }
                enum "af41" {
                  value 34;
                  description
                    "AF41 (DSCP 100010)";
                }
                enum "af42" {
                  value 36;
                  description
                    "AF42 (DSCP 100100)";
                }
                enum "af43" {
                  value 38;
                  description
                    "AF43 (DSCP 100110)";
                }
                enum "cs5" {
                  value 40;
                  description
                    "CS5 (Precedence 5) (DSCP 101000)";
                }
                enum "ef" {
                  value 46;
                  description "EF (DSCP 101110)";
                }
                enum "cs6" {
                  value 48;
                  description
                    "CS6 (Precedence 6) (DSCP 110000)";
                }
                enum "cs7" {
                  value 56;
                  description
                    "CS7 (Precedence 7) (DSCP 111000)";
                }
              }
            }
            description
              "QoS marking DSCP to be set on transmitted gRPC";
          }
    
          container tls-cipher {
            description "gRPC TLS cipher suites";
            leaf disable {
              type xr:Cisco-ios-xr-string {
                length "1..1024";
              }
              description
                "Disable ciphers if 'default enable'";
            }
    
            leaf enable {
              type xr:Cisco-ios-xr-string {
                length "1..1024";
              }
              description
                "Enable ciphers if 'default disable'";
            }
    
            container default {
              description
                "Default of all ciphers";
              container enable {
                must "not(../disable)";
                presence
                  "Indicates a enable node is configured.";
                description "Enable all ciphers";
              }  // container enable
    
              container disable {
                must "not(../enable)";
                presence
                  "Indicates a disable node is configured.";
                description
                  "Disable all ciphers";
              }  // container disable
            }  // container default
          }  // container tls-cipher
    
          leaf tls-trustpoint {
            type xr:Cisco-ios-xr-string {
              length "1..1024";
            }
            description "Configure trustpoint";
          }
    
          container tls-mutual {
            presence
              "Indicates a tls-mutual node is configured.";
            description "Mutual Authentication";
          }  // container tls-mutual
    
          container no-tls {
            presence
              "Indicates a no-tls node is configured.";
            description "No TLS";
          }  // container no-tls
        }  // container grpc
      }  // module Cisco-IOS-XR-um-grpc-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.