SDN-R add updated devicemanager
[ccsdk/features.git] / sdnr / wt / devicemanager / provider / src / main / resources / preload.cache.schema / tapi-notification@2018-08-31.yang
1 module tapi-notification {\r
2     namespace "urn:onf:otcc:yang:tapi-notification";\r
3     prefix tapi-notification;\r
4     import tapi-common {\r
5         prefix tapi-common;\r
6     }\r
7     organization "ONF OTCC (Open Transport Configuration & Control) Project";\r
8     contact "
9         Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
10         Project List: <mailto:transport-api@opennetworking.org>
11         Editor: Karthik Sethuraman
12                 <mailto:karthik.sethuraman@necam.com>";\r
13     description "\r
14         This module contains TAPI Notification Model definitions.\r
15         Source: TapiNotification.uml\r
16         Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.\r
17         License: This module is distributed under the Apache License 2.0";\r
18     revision 2018-08-31 {\r
19         description "ONF Transport API version 2.1.0
20         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
21         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";\r
22         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
23                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";\r
24     }\r
25     revision 2018-03-07 {\r
26         description "ONF Transport API version 2.0.2
27         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
28         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";\r
29         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
30                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";\r
31     }\r
32     revision 2018-02-16 {\r
33         description "ONF Transport API version 2.0.1
34         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
35         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";\r
36         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
37                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";\r
38     }\r
39     revision 2018-01-02 {\r
40         description "ONF Transport API version 2.0.0
41         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
42         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";\r
43         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
44                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";\r
45     }\r
46     augment "/tapi-common:context" {\r
47         uses notification-context-g;\r
48         description "Augments the base TAPI Context with NotificationService information";\r
49     }\r
50     /***********************\r
51     * package object-classes\r
52     **********************/ \r
53         grouping notification-subscription-service-g {\r
54             list notification {\r
55                 key 'uuid';\r
56                 config false;\r
57                 uses notification-g;\r
58                 description "none";\r
59             }\r
60             container notification-channel {\r
61                 uses notification-channel-g;\r
62                 description "none";\r
63             }\r
64             container subscription-filter {\r
65                 uses subscription-filter-g;\r
66                 description "none";\r
67             }\r
68             leaf subscription-state {\r
69                 type subscription-state;\r
70                 description "none";\r
71             }\r
72             leaf-list supported-notification-types {\r
73                 type notification-type;\r
74                 config false;\r
75                 min-elements 1;\r
76                 description "none";\r
77             }\r
78             leaf-list supported-object-types {\r
79                 type object-type;\r
80                 config false;\r
81                 min-elements 1;\r
82                 description "none";\r
83             }\r
84             uses tapi-common:service-spec-g;\r
85             description "none";\r
86         }\r
87         grouping subscription-filter-g {\r
88             leaf-list requested-notification-types {\r
89                 type notification-type;\r
90                 config false;\r
91                 description "none";\r
92             }\r
93             leaf-list requested-object-types {\r
94                 type object-type;\r
95                 config false;\r
96                 description "none";\r
97             }\r
98             leaf-list requested-layer-protocols {\r
99                 type tapi-common:layer-protocol-name;\r
100                 config false;\r
101                 description "none";\r
102             }\r
103             leaf-list requested-object-identifier {\r
104                 type tapi-common:uuid;\r
105                 config false;\r
106                 description "none";\r
107             }\r
108             leaf include-content {\r
109                 type boolean;\r
110                 config false;\r
111                 description "Indicates whether the published Notification includes content or just the Notification Id (which enables retrieval of the notification at the later stage)";\r
112             }\r
113             uses tapi-common:local-class-g;\r
114             description "none";\r
115         }\r
116         notification notification {\r
117             uses notification-g;\r
118             description "none";\r
119         }\r
120         grouping notification-g {\r
121             leaf notification-type {\r
122                 type notification-type;\r
123                 description "none";\r
124             }\r
125             leaf target-object-type {\r
126                 type object-type;\r
127                 description "none";\r
128             }\r
129             leaf target-object-identifier {\r
130                 type tapi-common:uuid;\r
131                 description "none";\r
132             }\r
133             list target-object-name {\r
134                 key 'value-name';\r
135                 min-elements 1;\r
136                 uses tapi-common:name-and-value-g;\r
137                 description "none";\r
138             }\r
139             leaf event-time-stamp {\r
140                 type tapi-common:date-and-time;\r
141                 description "none";\r
142             }\r
143             leaf sequence-number {\r
144                 type uint64;\r
145                 config false;\r
146                 description "A monotonous increasing sequence number associated with the notification.\r
147                     The exact semantics of how this sequence number is assigned (per channel or subscription or source or system) is left undefined.";\r
148             }\r
149             leaf source-indicator {\r
150                 type source-indicator;\r
151                 description "none";\r
152             }\r
153             leaf layer-protocol-name {\r
154                 type tapi-common:layer-protocol-name;\r
155                 description "none";\r
156             }\r
157             list changed-attributes {\r
158                 key 'value-name';\r
159                 uses name-and-value-change-g;\r
160                 description "none";\r
161             }\r
162             list additional-info {\r
163                 key 'value-name';\r
164                 uses tapi-common:name-and-value-g;\r
165                 description "none";\r
166             }\r
167             leaf additional-text {\r
168                 type string;\r
169                 description "none";\r
170             }\r
171             container tca-info {\r
172                 uses tca-info-g;\r
173                 description "none";\r
174             }\r
175             container alarm-info {\r
176                 uses alarm-info-g;\r
177                 description "none";\r
178             }\r
179             uses tapi-common:resource-spec-g;\r
180             description "none";\r
181         }\r
182         grouping notification-channel-g {\r
183             leaf stream-address {\r
184                 type string;\r
185                 config false;\r
186                 description "The address/location/URI of the channel/stream to which the subscribed notifications are published.\r
187                     This specifics of this is typically dependent on the implementation protocol & mechanism and hence is typed as a string.";\r
188             }\r
189             leaf next-sequence-no {\r
190                 type uint64;\r
191                 config false;\r
192                 description "The sequence number of the next notification that will be published on the channel";\r
193             }\r
194             uses tapi-common:local-class-g;\r
195             description "none";\r
196         }\r
197         grouping notification-context-g {\r
198             list notif-subscription {\r
199                 key 'uuid';\r
200                 uses notification-subscription-service-g;\r
201                 description "none";\r
202             }\r
203             list notification {\r
204                 key 'uuid';\r
205                 config false;\r
206                 uses notification-g;\r
207                 description "none";\r
208             }\r
209             description "none";\r
210         }\r
211         grouping alarm-info-g {\r
212             leaf is-transient {\r
213                 type boolean;\r
214                 config false;\r
215                 description "none";\r
216             }\r
217             leaf perceived-severity {\r
218                 type perceived-severity-type;\r
219                 config false;\r
220                 description "none";\r
221             }\r
222             leaf probable-cause {\r
223                 type string;\r
224                 config false;\r
225                 description "none";\r
226             }\r
227             leaf service-affecting {\r
228                 type service-affecting;\r
229                 description "none";\r
230             }\r
231             description "none";\r
232         }\r
233         grouping tca-info-g {\r
234             leaf is-transient {\r
235                 type boolean;\r
236                 config false;\r
237                 description "none";\r
238             }\r
239             leaf threshold-crossing {\r
240                 type threshold-crossing-type;\r
241                 description "none";\r
242             }\r
243             leaf threshold-parameter {\r
244                 type string;\r
245                 config false;\r
246                 description "none";\r
247             }\r
248             leaf threshold-value {\r
249                 type uint64;\r
250                 config false;\r
251                 description "none";\r
252             }\r
253             leaf perceived-severity {\r
254                 type perceived-tca-severity;\r
255                 description "none";\r
256             }\r
257             leaf measurement-interval {\r
258                 type tapi-common:date-and-time;\r
259                 description "none";\r
260             }\r
261             leaf suspect-interval-flag {\r
262                 type boolean;\r
263                 description "none";\r
264             }\r
265             description "none";\r
266         }\r
267 \r
268     /***********************\r
269     * package type-definitions\r
270     **********************/ \r
271         grouping name-and-value-change-g {\r
272             leaf value-name {\r
273                 type string;\r
274                 description "The name of the value. The value need not have a name.";\r
275             }\r
276             leaf old-value {\r
277                 type string;\r
278                 description "The value";\r
279             }\r
280             leaf new-value {\r
281                 type string;\r
282                 description "The value";\r
283             }\r
284             description "A scoped name-value triple, including old value and new value";\r
285         }\r
286         typedef notification-type {\r
287             type enumeration {\r
288                 enum OBJECT_CREATION {\r
289                     description "Not a normal state. The system is unable to determine the correct value.";\r
290                 }\r
291                 enum OBJECT_DELETION {\r
292                     description "none";\r
293                 }\r
294                 enum ATTRIBUTE_VALUE_CHANGE {\r
295                     description "none";\r
296                 }\r
297                 enum ALARM_EVENT {\r
298                     description "none";\r
299                 }\r
300                 enum THRESHOLD_CROSSING_ALERT {\r
301                     description "none";\r
302                 }\r
303             }\r
304             description "List of supported Notifications types.";\r
305         }\r
306         typedef object-type {\r
307             type enumeration {\r
308                 enum TOPOLOGY {\r
309                     description "none";\r
310                 }\r
311                 enum NODE {\r
312                     description "none";\r
313                 }\r
314                 enum LINK {\r
315                     description "none";\r
316                 }\r
317                 enum CONNECTION {\r
318                     description "none";\r
319                 }\r
320                 enum PATH {\r
321                     description "none";\r
322                 }\r
323                 enum CONNECTIVITY_SERVICE {\r
324                     description "none";\r
325                 }\r
326                 enum VIRTUAL_NETWORK_SERVICE {\r
327                     description "none";\r
328                 }\r
329                 enum PATH_COMPUTATION_SERVICE {\r
330                     description "none";\r
331                 }\r
332                 enum NODE_EDGE_POINT {\r
333                     description "none";\r
334                 }\r
335                 enum SERVICE_INTERFACE_POINT {\r
336                     description "none";\r
337                 }\r
338                 enum CONNECTION_END_POINT {\r
339                     description "none";\r
340                 }\r
341                 enum MAINTENANCE_ENTITY_GROUP {\r
342                     description "none";\r
343                 }\r
344                 enum MAINTENANCE_ENTITY {\r
345                     description "none";\r
346                 }\r
347                 enum MEG_END_POINT {\r
348                     description "none";\r
349                 }\r
350                 enum MEG_INTERMEDIATE_POINT {\r
351                     description "none";\r
352                 }\r
353                 enum SWITCH_CONTROL {\r
354                     description "none";\r
355                 }\r
356                 enum SWITCH {\r
357                     description "none";\r
358                 }\r
359                 enum ROUTE {\r
360                     description "none";\r
361                 }\r
362                 enum NODE_RULE_GROUP {\r
363                     description "none";\r
364                 }\r
365                 enum INTER_RULE_GROUP {\r
366                     description "none";\r
367                 }\r
368                 enum RULE {\r
369                     description "none";\r
370                 }\r
371                 enum OAM_JOB {\r
372                     description "none";\r
373                 }\r
374             }\r
375             description "The list of TAPI Global Object Class types on which Notifications can be raised.";\r
376         }\r
377         typedef source-indicator {\r
378             type enumeration {\r
379                 enum RESOURCE_OPERATION {\r
380                     description "none";\r
381                 }\r
382                 enum MANAGEMENT_OPERATION {\r
383                     description "none";\r
384                 }\r
385                 enum UNKNOWN {\r
386                     description "none";\r
387                 }\r
388             }\r
389             description "none";\r
390         }\r
391         typedef subscription-state {\r
392             type enumeration {\r
393                 enum SUSPENDED {\r
394                     description "none";\r
395                 }\r
396                 enum ACTIVE {\r
397                     description "none";\r
398                 }\r
399             }\r
400             description "none";\r
401         }\r
402         typedef perceived-severity-type {\r
403             type enumeration {\r
404                 enum CRITICAL {\r
405                     description "none";\r
406                 }\r
407                 enum MAJOR {\r
408                     description "none";\r
409                 }\r
410                 enum MINOR {\r
411                     description "none";\r
412                 }\r
413                 enum WARNING {\r
414                     description "none";\r
415                 }\r
416                 enum CLEARED {\r
417                     description "none";\r
418                 }\r
419             }\r
420             description "none";\r
421         }\r
422         typedef threshold-crossing-type {\r
423             type enumeration {\r
424                 enum THRESHOLD_ABOVE {\r
425                     description "none";\r
426                 }\r
427                 enum THRESHOLD_BELOW {\r
428                     description "none";\r
429                 }\r
430                 enum CLEARED {\r
431                     description "none";\r
432                 }\r
433             }\r
434             description "none";\r
435         }\r
436         typedef service-affecting {\r
437             type enumeration {\r
438                 enum SERVICE_AFFECTING {\r
439                     description "none";\r
440                 }\r
441                 enum NOT_SERVICE_AFFECTING {\r
442                     description "none";\r
443                 }\r
444                 enum UNKNOWN {\r
445                     description "none";\r
446                 }\r
447             }\r
448             description "none";\r
449         }\r
450         typedef perceived-tca-severity {\r
451             type enumeration {\r
452                 enum WARNING {\r
453                     description "none";\r
454                 }\r
455                 enum CLEAR {\r
456                     description "none";\r
457                 }\r
458             }\r
459             description "none";\r
460         }\r
461 \r
462     /***********************\r
463     * package interfaces\r
464     **********************/ \r
465         rpc get-supported-notification-types {\r
466             description "none";\r
467             output {\r
468                 leaf-list supported-notification-types {\r
469                     type notification-type;\r
470                     min-elements 1;\r
471                     description "none";\r
472                 }\r
473                 leaf-list supported-object-types {\r
474                     type object-type;\r
475                     min-elements 1;\r
476                     description "none";\r
477                 }\r
478             }\r
479         }\r
480         rpc create-notification-subscription-service {\r
481             description "none";\r
482             input {\r
483                 container subscription-filter {\r
484                     uses subscription-filter-g;\r
485                     description "none";\r
486                 }\r
487                 leaf subscription-state {\r
488                     type subscription-state;\r
489                     description "none";\r
490                 }\r
491             }\r
492             output {\r
493                 container subscription-service {\r
494                     uses notification-subscription-service-g;\r
495                     description "none";\r
496                 }\r
497             }\r
498         }\r
499         rpc update-notification-subscription-service {\r
500             description "none";\r
501             input {\r
502                 leaf subscription-id-or-name {\r
503                     type string;\r
504                     description "none";\r
505                 }\r
506                 container subscription-filter {\r
507                     uses subscription-filter-g;\r
508                     description "none";\r
509                 }\r
510                 leaf subscription-state {\r
511                     type subscription-state;\r
512                     description "none";\r
513                 }\r
514             }\r
515             output {\r
516                 container subscription-service {\r
517                     uses notification-subscription-service-g;\r
518                     description "none";\r
519                 }\r
520             }\r
521         }\r
522         rpc delete-notification-subscription-service {\r
523             description "none";\r
524             input {\r
525                 leaf subscription-id-or-name {\r
526                     type string;\r
527                     description "none";\r
528                 }\r
529             }\r
530             output {\r
531                 container subscription-service {\r
532                     uses notification-subscription-service-g;\r
533                     description "none";\r
534                 }\r
535             }\r
536         }\r
537         rpc get-notification-subscription-service-details {\r
538             description "none";\r
539             input {\r
540                 leaf subscription-id-or-name {\r
541                     type string;\r
542                     description "none";\r
543                 }\r
544             }\r
545             output {\r
546                 container subscription-service {\r
547                     uses notification-subscription-service-g;\r
548                     description "none";\r
549                 }\r
550             }\r
551         }\r
552         rpc get-notification-subscription-service-list {\r
553             description "none";\r
554             output {\r
555                 list subscription-service {\r
556                     uses notification-subscription-service-g;\r
557                     description "none";\r
558                 }\r
559             }\r
560         }\r
561         rpc get-notification-list {\r
562             description "none";\r
563             input {\r
564                 leaf subscription-id-or-name {\r
565                     type string;\r
566                     description "none";\r
567                 }\r
568                 leaf time-period {\r
569                     type string;\r
570                     description "none";\r
571                 }\r
572             }\r
573             output {\r
574                 list notification {\r
575                     uses notification-g;\r
576                     description "none";\r
577                 }\r
578             }\r
579         }\r
580 \r
581 }\r