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 "Add feature-type for the Web cut through feature.";
25 "O-RAN-SC SIM project";
30 "Add feature-type for the NETCONF Call Home feature.";
32 "O-RAN-SC SIM project";
37 "Add feature-type typedef containing the features that can be activated in the Network Function.";
39 "O-RAN-SC SIM project";
44 "Initial revision for the Network Topology Simulator - Next Generation common types.";
46 "O-RAN-SC SIM project";
49 feature faults-status {
51 "This means that the server supports reporting back the number of faults that were generated";
54 typedef authentication-method-type {
62 "auth by certificate (https)";
66 "auth by basic auth username and password (https)";
68 enum cert-basic-auth {
70 "auth by certificate and basic auth username / password (https)";
74 "The authentication method for VES messaging.";
77 typedef feature-type {
82 "Controls the ves-file-ready feature.";
87 "Controls the ves-heartbeat feature.";
89 bit ves-pnf-registration {
92 "Controls the ves-pnf-registration feature.";
94 bit manual-notification-generation {
97 "Controls the manual notification generation feature.";
99 bit netconf-call-home {
102 "Controls the NETCONF Call Home feature.";
104 bit web-cut-through {
107 "Controls the Web Cut Through feature.";
111 "Describes the features that can be enabled/disabled in the Network Function.";
114 identity NTS_FUNCTION_TYPE_BASE {
116 "The reference of each identity represents the name of the associated docker image.";
119 grouping mount-point-details-g {
120 leaf mount-point-addressing-method {
124 "Uses IP and port mapped to the host machine to address the nework function.";
126 enum docker-mapping {
128 "Uses Docker IP and port to address the nework function.";
131 default docker-mapping;
133 "Specifies how to address the simulated network function: via the host machine or via docker.";
136 "Groups details about mount point";
139 grouping fault-delay-period-g {
140 list fault-delay-list {
146 "The index of the list.";
152 "The amount of seconds before the next event.";
155 "The list defining the pattern for generating events.";
158 "For reusing the same fault-delay-period.";
161 grouping fault-count-g {
162 container fault-count {
163 if-feature faults-status;
168 "Number of normal (non-alarmed) events.";
173 "Number of warning events.";
178 "Number of minor events.";
183 "Number of major events.";
188 "Number of critical events.";
191 "Container which groups the number of fault events, by severity.";
194 "Grouping for counting the fault events, grouped by severity.";
198 container fault-generation {
199 uses fault-delay-period-g;
202 "Groups the fault generation configuration and status.";
205 "Grouping for fault generation";
208 grouping faults-enabled-g {
209 leaf faults-enabled {
212 "For enabling the fault generation.";
215 "Groups the enabling of faults.";
218 grouping netconf-config-g {
220 uses faults-enabled-g;
224 "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.";
227 "Container for describing the NETCONF details.";
230 "Groups the configuration and status of NETCONF Fault notifications.";
233 grouping ves-config-g {
235 uses faults-enabled-g;
236 leaf pnf-registration {
239 "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.";
241 leaf heartbeat-period {
244 "The number of seconds between VES heartbeat messages.";
247 "Container for describing the VES details.";
250 "Groups the configuration and status of VES Fault notifications.";
253 grouping controller-g {
255 type inet:ip-address;
257 "The IP address of the SDN Controller.";
259 leaf controller-port {
260 type inet:port-number;
262 "The port exposed by the SDN Controller.";
264 leaf controller-netconf-call-home-port {
265 type inet:port-number;
267 "The port exposed by the SDN Controller for NETCONF Call Home.";
269 leaf controller-username {
272 "The username for accessing the SDN Controller.";
274 leaf controller-password {
277 "The password for accessing the SDN Controller.";
280 "Groups information about the SDN Controller.";
283 grouping ves-endpoint-g {
284 leaf ves-endpoint-protocol {
288 "HTTP protocol will be used to connect to the VES Collector.";
292 "HTTPS protocol will be used to connect to the VES Collector.";
297 "The protocol (HTTP / HTTPS) to be used to address the VES Collector.";
299 leaf ves-endpoint-ip {
300 type inet:ip-address;
302 "The IP address of the VES Collector.";
304 leaf ves-endpoint-port {
305 type inet:port-number;
307 "The port exposed by the VES Collector.";
309 leaf ves-endpoint-auth-method {
310 type authentication-method-type;
313 "The type of the authentication to be used with the VES Collector.";
315 leaf ves-endpoint-username {
318 "The username for accessing the VES Collector.";
320 leaf ves-endpoint-password {
323 "The password for accessing the VES Collector.";
325 leaf ves-endpoint-certificate {
328 "The Certificate to be used to authenticate to the VES Collector.";
331 "Groups information about the VES Collector.";
334 grouping rpc-status-g {
339 "The RPC was successfully invoked.";
343 "An error was encountered when invoking the RPC.";
348 "The status of the RPC.";
351 "RPC output grouping.";