summaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-system-management.yang
blob: 67f8aab1a3fbd7ba3436a36b2891e24b0ce3184b (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
116
117
118
119
120
121
122
123
124
125
126
module openconfig-system-management {

  yang-version "1";

  // namespace
  namespace "http://openconfig.net/yang/system/management";

  prefix "oc-sys-mgmt";

  // import some basic types
  import openconfig-extensions { prefix oc-ext; }
  import openconfig-inet-types { prefix oc-inet; }

  // meta
  organization "OpenConfig working group";

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

  description
    "This module defines configuration and operational state data
    related to management services.";

  oc-ext:openconfig-version "0.1.1";

  revision "2018-08-28" {
    description
      "Update description of the ANY enum.";
    reference "0.1.1";
  }

  revision "2018-07-26" {
    description
      "Initial public release";
    reference "0.1.0";
  }

  // identity statements

  // typedef statements

  // grouping statements

  grouping system-grpc-server-config {
    description
      "Configuration data for the gRPC server";

    leaf enable {
      type boolean;
      default true;
      description
        "Enables the gRPC server. The gRPC server is enabled by
        default";
    }

    leaf port {
      type oc-inet:port-number;
      description
        "TCP port on which the gRPC server should listen";
    }

    leaf transport-security {
      type boolean;
      description
        "Enables gRPC transport security (e.g., TLS or SSL)";
    }

    leaf certificate-id {
      type string;
      description
        "The certificate ID to be used for authentication";
    }

    leaf-list listen-addresses {
      type union {
        type oc-inet:ip-address;
        type enumeration {
          enum ANY {
            description
             "The gRPC daemon should listen on any address
              bound to an interface on the system.";
          }
        }
      }
      description
        "The IP addresses that the gRPC server should listen
        on. This may be an IPv4 or an IPv6 address";
    }
  }

  grouping system-grpc-server-top {
    description
      "Top-level grouping for system gRPC server data";

      container grpc-server {
        description
          "Top-level container for the gRPC server";

      container config {
        description
          "Configuration data for the system gRPC server";

        uses system-grpc-server-config;
      }

      container state {
        config false;

        description
          "Operational state data for the system gRPC server";

        uses system-grpc-server-config;
      }
    }
  }

  // data definition statements

  // augment statements

  // rpc statements

  // notification statements

}