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 separete SDN Controller IP address for NETCONF Call Home.";
25 "O-RAN-SC SIM project";
29 "Moved NTS_PROTOCOL_TYPE_BASE identities from nts-manager.";
31 "O-RAN-SC SIM project";
35 "Added controller-protocol.";
37 "O-RAN-SC SIM project";
41 "Added presence to configuration containers.";
43 "O-RAN-SC SIM project";
47 "Add feature-type for the Web cut through feature.";
49 "O-RAN-SC SIM project";
53 "Add feature-type for the NETCONF Call Home feature.";
55 "O-RAN-SC SIM project";
59 "Add feature-type typedef containing the features that can be activated in the Network Function.";
61 "O-RAN-SC SIM project";
65 "Initial revision for the Network Topology Simulator - Next Generation common types.";
67 "O-RAN-SC SIM project";
70 identity NTS_PROTOCOL_TYPE_BASE {
72 "Base identity for protocol.";
75 identity NTS_PROTOCOL_TYPE_NETCONF_SSH {
76 base NTS_PROTOCOL_TYPE_BASE;
78 "Identity for NETCONF SSH protocol.";
81 identity NTS_PROTOCOL_TYPE_NETCONF_TLS {
82 base NTS_PROTOCOL_TYPE_BASE;
84 "Identity for NETCONF TLS protocol.";
87 identity NTS_PROTOCOL_TYPE_FTP {
88 base NTS_PROTOCOL_TYPE_BASE;
90 "Identity for FTP protocol.";
93 identity NTS_PROTOCOL_TYPE_SFTP {
94 base NTS_PROTOCOL_TYPE_BASE;
96 "Identity for SFTP protocol.";
99 identity NTS_PROTOCOL_TYPE_HTTP {
100 base NTS_PROTOCOL_TYPE_BASE;
102 "Identity for HTTP protocol.";
105 identity NTS_PROTOCOL_TYPE_HTTPS {
106 base NTS_PROTOCOL_TYPE_BASE;
108 "Identity for HTTPS protocol.";
111 feature faults-status {
113 "This means that the server supports reporting back the number of faults that were generated";
116 identity NTS_FUNCTION_TYPE_BASE {
118 "The reference of each identity represents the name of the associated docker image.";
121 typedef authentication-method-type {
125 "no security (http)";
129 "auth by certificate (https)";
133 "auth by basic auth username and password (https)";
135 enum cert-basic-auth {
137 "auth by certificate and basic auth username / password (https)";
141 "The authentication method for VES messaging.";
144 typedef feature-type {
149 "Controls the ves-file-ready feature.";
154 "Controls the ves-heartbeat feature.";
156 bit ves-pnf-registration {
159 "Controls the ves-pnf-registration feature.";
161 bit manual-notification-generation {
164 "Controls the manual notification generation feature.";
166 bit netconf-call-home {
169 "Controls the NETCONF Call Home feature.";
171 bit web-cut-through {
174 "Controls the Web Cut Through feature.";
178 "Describes the features that can be enabled/disabled in the Network Function.";
181 grouping mount-point-details-g {
183 "Groups details about mount point";
184 leaf mount-point-addressing-method {
188 "Uses IP and port mapped to the host machine to address the nework function.";
190 enum docker-mapping {
192 "Uses Docker IP and port to address the nework function.";
195 default "docker-mapping";
197 "Specifies how to address the simulated network function: via the host machine or via docker.";
201 grouping fault-delay-period-g {
203 "For reusing the same fault-delay-period.";
204 list fault-delay-list {
208 "The list defining the pattern for generating events.";
212 "The index of the list.";
218 "The amount of seconds before the next event.";
223 grouping fault-count-g {
225 "Grouping for counting the fault events, grouped by severity.";
226 container fault-count {
227 if-feature "faults-status";
230 "Container which groups the number of fault events, by severity.";
234 "Number of normal (non-alarmed) events.";
239 "Number of warning events.";
244 "Number of minor events.";
249 "Number of major events.";
254 "Number of critical events.";
261 "Grouping for fault generation";
262 container fault-generation {
263 presence "Enables fault generation configuration.";
265 "Groups the fault generation configuration and status.";
266 uses fault-delay-period-g;
271 grouping faults-enabled-g {
273 "Groups the enabling of faults.";
274 leaf faults-enabled {
277 "For enabling the fault generation.";
281 grouping netconf-config-g {
283 "Groups the configuration and status of NETCONF Fault notifications.";
285 presence "Enables NETCONF configuration.";
287 "Container for describing the NETCONF details.";
288 uses faults-enabled-g;
292 "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.";
297 grouping ves-config-g {
299 "Groups the configuration and status of VES Fault notifications.";
301 presence "Enables VES configuration.";
303 "Container for describing the VES details.";
304 uses faults-enabled-g;
305 leaf pnf-registration {
308 "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.";
310 leaf heartbeat-period {
313 "The number of seconds between VES heartbeat messages.";
318 grouping controller-g {
320 "Groups information about the SDN Controller.";
321 leaf controller-protocol {
325 "HTTP protocol will be used to connect to the VES Collector.";
329 "HTTPS protocol will be used to connect to the VES Collector.";
334 "The protocol used for communication with the SDN Controller.";
339 "The IP address of the SDN Controller.";
341 leaf controller-port {
342 type inet:port-number;
344 "The port exposed by the SDN Controller.";
346 leaf controller-netconf-call-home-ip {
349 "The IP address of the SDN Controller for the NETCONF Call Home connection.";
351 leaf controller-netconf-call-home-port {
352 type inet:port-number;
354 "The port exposed by the SDN Controller for NETCONF Call Home.";
356 leaf controller-username {
359 "The username for accessing the SDN Controller.";
361 leaf controller-password {
364 "The password for accessing the SDN Controller.";
368 grouping ves-endpoint-g {
370 "Groups information about the VES Collector.";
371 leaf ves-endpoint-protocol {
375 "HTTP protocol will be used to connect to the VES Collector.";
379 "HTTPS protocol will be used to connect to the VES Collector.";
384 "The protocol (HTTP / HTTPS) to be used to address the VES Collector.";
386 leaf ves-endpoint-ip {
389 "The IP address of the VES Collector.";
391 leaf ves-endpoint-port {
392 type inet:port-number;
394 "The port exposed by the VES Collector.";
396 leaf ves-endpoint-auth-method {
397 type authentication-method-type;
400 "The type of the authentication to be used with the VES Collector.";
402 leaf ves-endpoint-username {
405 "The username for accessing the VES Collector.";
407 leaf ves-endpoint-password {
410 "The password for accessing the VES Collector.";
412 leaf ves-endpoint-certificate {
415 "The Certificate to be used to authenticate to the VES Collector.";
419 grouping rpc-status-g {
421 "RPC output grouping.";
426 "The RPC was successfully invoked.";
430 "An error was encountered when invoking the RPC.";
435 "The status of the RPC.";