3 namespace "urn:o-ran-sc:params:xml:ns:yang:nts:common";
6 import ietf-inet-types {
13 " Web: <https://wiki.o-ran-sc.org/display/SIM/SIM>
15 Alex Stancu <mailto:alexandru.stancu@highstreet-technologies.com>
16 Adrian Lita <mailto:adrian.lita@highstreet-technologies.com>
17 Martin Skorupski <mailto:martin.skorupski@highstreet-technologies.com>";
19 "This module contains common yang definitions YANG definitions for the Network Topology Simulator.";
23 "Added controller-protocol.";
25 "O-RAN-SC SIM project";
29 "Added presence to configuration containers.";
31 "O-RAN-SC SIM project";
35 "Add feature-type for the Web cut through feature.";
37 "O-RAN-SC SIM project";
41 "Add feature-type for the NETCONF Call Home feature.";
43 "O-RAN-SC SIM project";
47 "Add feature-type typedef containing the features that can be activated in the Network Function.";
49 "O-RAN-SC SIM project";
53 "Initial revision for the Network Topology Simulator - Next Generation common types.";
55 "O-RAN-SC SIM project";
58 feature faults-status {
60 "This means that the server supports reporting back the number of faults that were generated";
63 identity NTS_FUNCTION_TYPE_BASE {
65 "The reference of each identity represents the name of the associated docker image.";
68 typedef authentication-method-type {
76 "auth by certificate (https)";
80 "auth by basic auth username and password (https)";
82 enum cert-basic-auth {
84 "auth by certificate and basic auth username / password (https)";
88 "The authentication method for VES messaging.";
91 typedef feature-type {
96 "Controls the ves-file-ready feature.";
101 "Controls the ves-heartbeat feature.";
103 bit ves-pnf-registration {
106 "Controls the ves-pnf-registration feature.";
108 bit manual-notification-generation {
111 "Controls the manual notification generation feature.";
113 bit netconf-call-home {
116 "Controls the NETCONF Call Home feature.";
118 bit web-cut-through {
121 "Controls the Web Cut Through feature.";
125 "Describes the features that can be enabled/disabled in the Network Function.";
128 grouping mount-point-details-g {
130 "Groups details about mount point";
131 leaf mount-point-addressing-method {
135 "Uses IP and port mapped to the host machine to address the nework function.";
137 enum docker-mapping {
139 "Uses Docker IP and port to address the nework function.";
142 default "docker-mapping";
144 "Specifies how to address the simulated network function: via the host machine or via docker.";
148 grouping fault-delay-period-g {
150 "For reusing the same fault-delay-period.";
151 list fault-delay-list {
155 "The list defining the pattern for generating events.";
159 "The index of the list.";
165 "The amount of seconds before the next event.";
170 grouping fault-count-g {
172 "Grouping for counting the fault events, grouped by severity.";
173 container fault-count {
174 if-feature "faults-status";
177 "Container which groups the number of fault events, by severity.";
181 "Number of normal (non-alarmed) events.";
186 "Number of warning events.";
191 "Number of minor events.";
196 "Number of major events.";
201 "Number of critical events.";
208 "Grouping for fault generation";
209 container fault-generation {
210 presence "Enables fault generation configuration.";
212 "Groups the fault generation configuration and status.";
213 uses fault-delay-period-g;
218 grouping faults-enabled-g {
220 "Groups the enabling of faults.";
221 leaf faults-enabled {
224 "For enabling the fault generation.";
228 grouping netconf-config-g {
230 "Groups the configuration and status of NETCONF Fault notifications.";
232 presence "Enables NETCONF configuration.";
234 "Container for describing the NETCONF details.";
235 uses faults-enabled-g;
239 "For enabling the NETCONF Call Home feature. If set to 'true', each simulated device, when booting up, will try to Call Home to the SDN Controller.";
244 grouping ves-config-g {
246 "Groups the configuration and status of VES Fault notifications.";
248 presence "Enables VES configuration.";
250 "Container for describing the VES details.";
251 uses faults-enabled-g;
252 leaf pnf-registration {
255 "For enabling the PNF Registration messages. If set to 'true', each simulated device, when booting up, will send a PNF Registration message to the VES Collector.";
257 leaf heartbeat-period {
260 "The number of seconds between VES heartbeat messages.";
265 grouping controller-g {
267 "Groups information about the SDN Controller.";
268 leaf controller-protocol {
272 "HTTP protocol will be used to connect to the VES Collector.";
276 "HTTPS protocol will be used to connect to the VES Collector.";
281 "The protocol used for communication with the SDN Controller.";
284 type inet:ip-address;
286 "The IP address of the SDN Controller.";
288 leaf controller-port {
289 type inet:port-number;
291 "The port exposed by the SDN Controller.";
293 leaf controller-netconf-call-home-port {
294 type inet:port-number;
296 "The port exposed by the SDN Controller for NETCONF Call Home.";
298 leaf controller-username {
301 "The username for accessing the SDN Controller.";
303 leaf controller-password {
306 "The password for accessing the SDN Controller.";
310 grouping ves-endpoint-g {
312 "Groups information about the VES Collector.";
313 leaf ves-endpoint-protocol {
317 "HTTP protocol will be used to connect to the VES Collector.";
321 "HTTPS protocol will be used to connect to the VES Collector.";
326 "The protocol (HTTP / HTTPS) to be used to address the VES Collector.";
328 leaf ves-endpoint-ip {
329 type inet:ip-address;
331 "The IP address of the VES Collector.";
333 leaf ves-endpoint-port {
334 type inet:port-number;
336 "The port exposed by the VES Collector.";
338 leaf ves-endpoint-auth-method {
339 type authentication-method-type;
342 "The type of the authentication to be used with the VES Collector.";
344 leaf ves-endpoint-username {
347 "The username for accessing the VES Collector.";
349 leaf ves-endpoint-password {
352 "The password for accessing the VES Collector.";
354 leaf ves-endpoint-certificate {
357 "The Certificate to be used to authenticate to the VES Collector.";
361 grouping rpc-status-g {
363 "RPC output grouping.";
368 "The RPC was successfully invoked.";
372 "An error was encountered when invoking the RPC.";
377 "The status of the RPC.";