Merge "BUG 2718 : Create a diagnostic utility to track append entries replies"
[controller.git] / opendaylight / netconf / netconf-impl / src / main / yang / netconf-northbound-impl.yang
1 // vi: set smarttab et sw=4 tabstop=4:
2 module netconf-northbound-impl {
3
4     yang-version 1;
5     namespace "urn:opendaylight:params:xml:ns:yang:controller:config:netconf:northbound:impl";
6     prefix "cfg-net-s-i";
7
8     import config { prefix config; revision-date 2013-04-05; }
9     import netconf-northbound-mapper { prefix nnm; revision-date 2015-01-14; }
10     import netconf-northbound { prefix nn; revision-date 2015-01-14; }
11     import netty {prefix netty; }
12
13     description
14         "This module contains the base YANG definitions for
15         netconf-server-dispatcher implementation.
16
17         Copyright (c)2013 Cisco Systems, Inc. All rights reserved.;
18
19         This program and the accompanying materials are made available
20         under the terms of the Eclipse Public License v1.0 which
21         accompanies this distribution, and is available at
22         http://www.eclipse.org/legal/epl-v10.html";
23
24     revision "2015-01-12" {
25         description
26             "Initial revision.";
27     }
28
29     identity netconf-server-dispatcher-impl {
30             base config:module-type;
31             config:provided-service nn:netconf-server-dispatcher;
32             config:java-name-prefix NetconfServerDispatcher;
33     }
34
35     augment "/config:modules/config:module/config:configuration" {
36         case netconf-server-dispatcher-impl {
37             when "/config:modules/config:module/config:type = 'netconf-server-dispatcher-impl'";
38
39             leaf connection-timeout-millis {
40                 description "Specifies timeout in milliseconds after which connection must be established.";
41                 type uint32;
42                 default 20000;
43             }
44
45             container boss-thread-group {
46                 uses config:service-ref {
47                     refine type {
48                         config:required-identity netty:netty-threadgroup;
49                     }
50                 }
51             }
52
53             container worker-thread-group {
54                 uses config:service-ref {
55                     refine type {
56                         config:required-identity netty:netty-threadgroup;
57                     }
58                 }
59             }
60
61             list mappers {
62                 uses config:service-ref {
63                     refine type {
64                         mandatory true;
65                         config:required-identity nnm:netconf-northbound-mapper;
66                     }
67                 }
68             }
69
70             container server-monitor {
71                 uses config:service-ref {
72                     refine type {
73                         mandatory true;
74                         config:required-identity nn:netconf-server-monitoring;
75                     }
76                 }
77             }
78
79             container timer {
80                 uses config:service-ref {
81                     refine type {
82                         config:required-identity netty:netty-timer;
83                     }
84                 }
85             }
86         }
87     }
88
89
90     identity netconf-server-monitoring-impl {
91             base config:module-type;
92             config:provided-service nn:netconf-server-monitoring;
93             config:java-name-prefix NetconfServerMonitoring;
94     }
95
96     // TODO Monitoring could expose the monitoring data over JMX...
97
98     augment "/config:modules/config:module/config:configuration" {
99         case netconf-server-monitoring-impl {
100             when "/config:modules/config:module/config:type = 'netconf-server-monitoring-impl'";
101
102             container aggregator {
103                 uses config:service-ref {
104                     refine type {
105                         config:required-identity nnm:netconf-northbound-mapper;
106                     }
107                 }
108             }
109
110         }
111     }
112
113     identity netconf-mapper-aggregator {
114         base config:module-type;
115         config:provided-service nnm:netconf-northbound-mapper;
116         config:provided-service nnm:netconf-mapper-registry;
117         config:java-name-prefix NetconfMapperAggregator;
118         description "Aggregated operation provider for netconf servers. Joins all the operations and capabilities of all the mappers it aggregates and exposes them as a single service. The dependency orientation is reversed in order to prevent cyclic dependencies when monitoring service is considered";
119     }
120
121     augment "/config:modules/config:module/config:configuration" {
122         case netconf-mapper-aggregator {
123             when "/config:modules/config:module/config:type = 'netconf-mapper-aggregator'";
124
125         }
126     }
127
128 }