an-telemetry-types.yang 2.41 KB
Newer Older
brunnermarcu's avatar
brunnermarcu committed
module an-telemetry-types {
    yang-version "1.1";
    namespace "urn:an:yang:an-telemetry-types";

    prefix "an-telemetry-types";

    description
        "This module defines type and identities used by the access network
         telemetry model.

         This file is modified from openconfig-telemetry.yang, the original author of openconfig-telemetry.yang is OpenConfig,
         OpenConfig holds the copyright of the original work. openconfig-telemetry.yang is licensed under the Apache License 2.0,
         For details, please refer to https://www.openconfig.net/ and https://github.com/openconfig/public/blob/master/LICENSE";

    revision "2020-09-22";

    identity DATA_ENCODING_METHOD {
        description
            "Base identity for supported encoding for configuration and
             operational state data";
    }

    identity ENC_XML {
        base DATA_ENCODING_METHOD;
        description
            "XML encoding";
    }

    identity ENC_JSON_IETF {
        base DATA_ENCODING_METHOD;
        description
            "JSON encoded based on IETF draft standard";
        reference
            "draft-ietf-netmod-yang-json";
    }

    identity ENC_PROTO3 {
        base DATA_ENCODING_METHOD;
        description
            "Protocol buffers v3";
        reference
            "https://developers.google.com/protocol-buffers/docs/overview";
    }

    identity STREAM_PROTOCOL {
        description "Base identity for a telemetry stream protocol";
    }

    identity STREAM_SSH {
        base "STREAM_PROTOCOL";
        description
            "Telemetry stream is carried over a SSH connection";
    }

    identity STREAM_GRPC {
        base "STREAM_PROTOCOL";
        description
            "Telemetry stream is carried over via the gRPC framework";
    }

    identity STREAM_UDP {
        base "STREAM_PROTOCOL";
        description 
            "Telemetry stream is carried over via the UDP framework";
    }

    identity STREAM_JSON_RPC {
        base "STREAM_PROTOCOL";
        description
            "Telemetry stream is carried via the JSON-RPC framework";
    }

    identity STREAM_THRIFT_RPC {
        base "STREAM_PROTOCOL";
        description
            "Telemetry stream is carried via the Apache Thrift framework";
    }

    identity STREAM_WEBSOCKET_RPC {
        base "STREAM_PROTOCOL";
        description
            "Telemetry stream is carried by the WebSocket framework";
    }
    // typedef statements
}