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 NETCONF Call Home feature.";
25 "O-RAN-SC SIM project";
30 "Add feature-type typedef containing the features that can be activated in the Network Function.";
32 "O-RAN-SC SIM project";
37 "Initial revision for the Network Topology Simulator - Next Generation common types.";
39 "O-RAN-SC SIM project";
42 feature faults-status {
44 "This means that the server supports reporting back the number of faults that were generated";
47 typedef authentication-method-type {
55 "auth by certificate (https)";
59 "auth by basic auth username and password (https)";
61 enum cert-basic-auth {
63 "auth by certificate and basic auth username / password (https)";
67 "The authentication method for VES messaging.";
70 typedef feature-type {
75 "Controls the ves-file-ready feature.";
80 "Controls the ves-heartbeat feature.";
82 bit ves-pnf-registration {
85 "Controls the ves-pnf-registration feature.";
87 bit manual-notification-generation {
90 "Controls the manual notification generation feature.";
92 bit netconf-call-home {
95 "Controls the NETCONF Call Home feature.";
99 "Describes the features that can be enabled/disabled in the Network Function.";
102 identity NTS_FUNCTION_TYPE_BASE {
104 "The reference of each identity represents the name of the associated docker image.";
107 grouping mount-point-details-g {
108 leaf mount-point-addressing-method {
112 "Uses IP and port mapped to the host machine to address the nework function.";
114 enum docker-mapping {
116 "Uses Docker IP and port to address the nework function.";
119 default docker-mapping;
121 "Specifies how to address the simulated network function: via the host machine or via docker.";
124 "Groups details about mount point";
127 grouping fault-delay-period-g {
128 list fault-delay-list {
134 "The index of the list.";
140 "The amount of seconds before the next event.";
143 "The list defining the pattern for generating events.";
146 "For reusing the same fault-delay-period.";
149 grouping fault-count-g {
150 container fault-count {
151 if-feature faults-status;
156 "Number of normal (non-alarmed) events.";
161 "Number of warning events.";
166 "Number of minor events.";
171 "Number of major events.";
176 "Number of critical events.";
179 "Container which groups the number of fault events, by severity.";
182 "Grouping for counting the fault events, grouped by severity.";
186 container fault-generation {
187 uses fault-delay-period-g;
190 "Groups the fault generation configuration and status.";
193 "Grouping for fault generation";
196 grouping faults-enabled-g {
197 leaf faults-enabled {
200 "For enabling the fault generation.";
203 "Groups the enabling of faults.";
206 grouping netconf-config-g {
208 uses faults-enabled-g;
212 "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.";
215 "Container for describing the NETCONF details.";
218 "Groups the configuration and status of NETCONF Fault notifications.";
221 grouping ves-config-g {
223 uses faults-enabled-g;
224 leaf pnf-registration {
227 "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.";
229 leaf heartbeat-period {
232 "The number of seconds between VES heartbeat messages.";
235 "Container for describing the VES details.";
238 "Groups the configuration and status of VES Fault notifications.";
241 grouping controller-g {
243 type inet:ip-address;
245 "The IP address of the SDN Controller.";
247 leaf controller-port {
248 type inet:port-number;
250 "The port exposed by the SDN Controller.";
252 leaf controller-netconf-call-home-port {
253 type inet:port-number;
255 "The port exposed by the SDN Controller for NETCONF Call Home.";
257 leaf controller-username {
260 "The username for accessing the SDN Controller.";
262 leaf controller-password {
265 "The password for accessing the SDN Controller.";
268 "Groups information about the SDN Controller.";
271 grouping ves-endpoint-g {
272 leaf ves-endpoint-protocol {
276 "HTTP protocol will be used to connect to the VES Collector.";
280 "HTTPS protocol will be used to connect to the VES Collector.";
285 "The protocol (HTTP / HTTPS) to be used to address the VES Collector.";
287 leaf ves-endpoint-ip {
288 type inet:ip-address;
290 "The IP address of the VES Collector.";
292 leaf ves-endpoint-port {
293 type inet:port-number;
295 "The port exposed by the VES Collector.";
297 leaf ves-endpoint-auth-method {
298 type authentication-method-type;
301 "The type of the authentication to be used with the VES Collector.";
303 leaf ves-endpoint-username {
306 "The username for accessing the VES Collector.";
308 leaf ves-endpoint-password {
311 "The password for accessing the VES Collector.";
313 leaf ves-endpoint-certificate {
316 "The Certificate to be used to authenticate to the VES Collector.";
319 "Groups information about the VES Collector.";
322 grouping rpc-status-g {
327 "The RPC was successfully invoked.";
331 "An error was encountered when invoking the RPC.";
336 "The status of the RPC.";
339 "RPC output grouping.";