aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-telemetry-types.yang
blob: 375fed1a56e44048812f2be422f1f410c4e29e37 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
module openconfig-telemetry-types {

  yang-version "1";

  // namespace
  namespace "http://openconfig.net/yang/telemetry-types";

  prefix "oc-telemetry-types";

  import openconfig-extensions { prefix oc-ext; }


  // meta
  organization "OpenConfig working group";

  contact
    "OpenConfig working group
    www.openconfig.net";

  description
    "This module defines type and identities used by the OpenConfig
    telemetry model.";

  oc-ext:openconfig-version "0.4.1";

  revision "2017-08-24" {
    description
      "Minor formatting fixes";
    reference "0.4.1";
  }

  revision "2017-02-20" {
    description
      "Fixes for YANG 1.0 compliance, add types module";
    reference "0.4.0";
  }

  revision "2016-04-05" {
    description
      "OpenConfig public release";
    reference "0.2.0";
  }



  // identity statements

  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_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



}