openconfig-gnsi-acctz

This module provides counters of gNSI accountZ requests and responses and the quantity of data transferred.

  • Version: 2024-02-13

    openconfig-gnsi-acctz@2024-02-13


    
      module openconfig-gnsi-acctz {
    
        yang-version 1;
    
        namespace
          "https://github.com/openconfig/yang/gnsi/acctz";
    
        prefix oc-gnsi-acctz;
    
        import openconfig-extensions {
          prefix oc-ext;
        }
        import openconfig-system {
          prefix oc-sys;
        }
        import openconfig-system-grpc {
          prefix oc-sys-grpc;
        }
        import openconfig-types {
          prefix oc-types;
        }
        import openconfig-yang-types {
          prefix oc-yang;
        }
        import openconfig-gnsi {
          prefix oc-gnsi;
        }
    
        organization "OpenConfig Working Group";
    
        contact
          "OpenConfig working group
        netopenconfig@googlegroups.com";
    
        description
          "This module provides counters of gNSI accountZ requests and responses and
        the quantity of data transferred.";
    
        revision "2024-02-13" {
          description
            "Major style updates and move to openconfig/public from openconfig/gnsi.
          Last commit at
          https://github.com/openconfig/gnsi/commit/347935aac66135d5649dadb9583ed0914578aab0";
          reference
            "0.2.0";
    
        }
    
        revision "2023-12-01" {
          description "Initial revision.";
          reference
            "0.1.0";
    
        }
    
        oc-ext:openconfig-version "0.2.0";
    
        typedef cmd-service {
          type enumeration {
            enum "UNSPECIFIED" {
              value 0;
            }
            enum "SHELL" {
              value 1;
            }
            enum "CLI" {
              value 2;
            }
            enum "WEBUI" {
              value 3;
            }
            enum "RESTCONF" {
              value 4;
            }
            enum "NETCONF" {
              value 5;
            }
          }
          description
            "enum CommandService.CmdServiceType";
        }
    
        typedef grpc-service {
          type enumeration {
            enum "UNSPECIFIED" {
              value 0;
            }
            enum "GNMI" {
              value 1;
            }
            enum "GNOI" {
              value 2;
            }
            enum "GNSI" {
              value 3;
            }
            enum "GRIBI" {
              value 4;
            }
            enum "P4RT" {
              value 5;
            }
          }
          description
            "enum GrpcService.GrpcServiceType";
        }
    
        typedef service-request {
          type enumeration {
            enum "CMD_SERVICE" {
              value 4;
            }
            enum "GRPC_SERVICE" {
              value 5;
            }
          }
          description
            "enum RecordResponse.service_request";
        }
    
        typedef service-type {
          type union {
            type cmd-service;
            type grpc-service;
          }
          description
            "enum cmd or grpc service type";
        }
    
        grouping client-counters {
          description
            "A collection of counters that were collected by the gNSI.acctz
          module while servicing acctz clients.";
          container client-counters {
            description
              "A collection of counters that were collected by the gNSI.acctz
            module while servicing acctz clients.";
            leaf history-istruncated {
              type oc-yang:counter64;
              description
                "The total number of times that a RecordRequest resulted in
              a RecordResponse being marked history-istruncated.  ie: a
              request was made for a timestamp that did not exist in the
              history.";
            }
    
            leaf idle-timeouts {
              type oc-yang:counter64;
              description
                "The total number of times that a client was disconnected
              due to missing keepalives (ie: RecordRequests).";
            }
    
            leaf record-requests {
              type oc-yang:counter64;
              description
                "The total number of RecordRequest RPCs that have been received.";
            }
    
            leaf record-responses {
              type oc-yang:counter64;
              description
                "The total number of RecordResponse RPCs that have been sent.";
            }
          }  // container client-counters
        }  // grouping client-counters
    
        grouping source-counters {
          description
            "A collection of counters for gNSI.acctz record production per
          service request type.";
          container source-counters {
            description
              "A collection of counters for gNSI.acctz record production per
            service request type.";
            list source-records {
              key "service type";
              description
                "The total number of times the gNSI.authz module denied access
              to a RPC.";
              leaf service {
                type leafref {
                  path "../state/service";
                }
                description
                  "service request type for the gNSI.acctz record.";
              }
    
              leaf type {
                type leafref {
                  path "../state/type";
                }
                description
                  "service request application enum for the gNSI.acctz record.";
              }
    
              container state {
                description
                  "Operational state for gNSI.acctz counters of record production per
                service request type.";
                leaf service {
                  type service-request;
                  description
                    "service request type for the gNSI.acctz record.";
                }
    
                leaf type {
                  type service-type;
                  description
                    "service request application enum for the gNSI.acctz record.";
                }
    
                leaf records {
                  type oc-yang:counter64;
                  description
                    "The total number of records produced for the service-request
                  type.";
                }
              }  // container state
            }  // list source-records
          }  // container source-counters
        }  // grouping source-counters
    
        grouping grpc-server-acctz-counters {
          description
            "A collection of counters from the gNSI.acctz module.";
          container acctz-counters {
            config false;
            description
              "A collection of counters from the gNSI.acctz module
            for acctz clients and sources.";
            container state {
              description
                "Operational state relating to acctz-counters.";
              leaf counters-last-cleared {
                type oc-types:timeticks64;
                description
                  "The last time that the counters were cleared (reset to
                zero). This value is reported as nanoseconds since epoch
                (January 1st, 1970 00:00:00 GMT).";
              }
    
              uses client-counters;
            }  // container state
    
            uses source-counters;
          }  // container acctz-counters
        }  // grouping grpc-server-acctz-counters
    
        augment /oc-sys:system/oc-sys-grpc:grpc-servers/oc-sys-grpc:grpc-server {
          when
            "config[contains(services, 'oc-gnsi:GNSI')]/enable = 'true'";
          description
            "Counters collected by the gNSI.acctz module.";
          uses grpc-server-acctz-counters;
        }
      }  // module openconfig-gnsi-acctz
    

© 2023 YumaWorks, Inc. All rights reserved.