X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=ntsimulator%2Fdeploy%2Fsmo-nts-ng-topology-server%2Fyang%2Ftapi-notification%402020-06-16.yang;fp=ntsimulator%2Fdeploy%2Fsmo-nts-ng-topology-server%2Fyang%2Ftapi-notification%402020-06-16.yang;h=058692f6928f07645434aed48ba26dcd9033fb23;hb=f5b69d55ddd03b4e504efdd33e2047901d3be807;hp=0000000000000000000000000000000000000000;hpb=e85f9a6771693aa11baee5cd48df871da2583f6a;p=sim%2Fo1-interface.git diff --git a/ntsimulator/deploy/smo-nts-ng-topology-server/yang/tapi-notification@2020-06-16.yang b/ntsimulator/deploy/smo-nts-ng-topology-server/yang/tapi-notification@2020-06-16.yang new file mode 100644 index 0000000..058692f --- /dev/null +++ b/ntsimulator/deploy/smo-nts-ng-topology-server/yang/tapi-notification@2020-06-16.yang @@ -0,0 +1,634 @@ +module tapi-notification { + namespace "urn:onf:otcc:yang:tapi-notification"; + prefix tapi-notification; + import tapi-common { + prefix tapi-common; + } + organization "ONF OTCC (Open Transport Configuration & Control) Project"; + contact " + Project Web: + Project List: + Editor: Karthik Sethuraman + Andrea Mazzini + Arturo Mayoral + Nigel Davis "; + description " + This module contains TAPI Notification Model definitions. + Source: TapiNotification.uml + - The TAPI YANG models included in this TAPI release are a *normative* part of the TAPI SDK. + - The YANG specifications have been generated from the corresponding UML model using the [ONF EAGLE UML2YANG mapping tool] + + and further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines] + + - Status of YANG model artifacts can be determined by referring to the corresponding UML artifacts. + As described in the UML models, some artifacts are considered *experimental*, and thus the corresponding YANG artifacts. + - The ONF TAPI release process does not guarantee backward compatibility of YANG models across major versions of TAPI releases. + The YANG model backward compatibility criteria are outlined in section 11 of . + YANG models included in this release may not be backward compatible with previous TAPI releases. + Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved. + License: This module is distributed under the Apache License 2.0"; + revision 2020-06-16 { + description "ONF Transport API version 2.1.3. + - Added DEVICE to ObjectType. + Changes included in this TAPI release (v2.1.3) are listed in + "; + reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model + "; + } + revision 2019-07-16 { + description "ONF Transport API version 2.1.2. + Changes included in this TAPI release (v2.1.2) are listed in + "; + reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model + "; + } + revision 2018-12-10 { + description "ONF Transport API version 2.1.1. + Changes included in this TAPI release (v2.1.1) are listed in + "; + reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model + "; + } + revision 2018-10-16 { + description "ONF Transport API version 2.1.0. + Changes included in this TAPI release (v2.1.0) are listed in + "; + reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model + "; + } + revision 2018-03-07 { + description "ONF Transport API version 2.0.2 + This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool. + Changes in this revision: "; + reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model + "; + } + revision 2018-02-16 { + description "ONF Transport API version 2.0.1 + This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool. + Changes in this revision: "; + reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model + "; + } + revision 2018-01-02 { + description "ONF Transport API version 2.0.0 + This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool. + Changes in this revision: "; + reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model + "; + } + augment "/tapi-common:context" { + container notification-context { + uses notification-context; + description "Augments the base TAPI Context with NotificationService information"; + } + description "Augments the base TAPI Context with NotificationService information"; + } + /************************** + * package object-classes + **************************/ + grouping notification-subscription-service { + list notification { + key 'uuid'; + config false; + uses notification; + description "none"; + } + container notification-channel { + config false; + uses notification-channel; + description "none"; + } + container subscription-filter { + uses subscription-filter; + description "none"; + } + leaf subscription-state { + type subscription-state; + description "none"; + } + leaf-list supported-notification-types { + type notification-type; + config false; + min-elements 1; + description "none"; + } + leaf-list supported-object-types { + type object-type; + config false; + min-elements 1; + description "none"; + } + uses tapi-common:service-spec; + description "none"; + } + grouping subscription-filter { + leaf-list requested-notification-types { + type notification-type; + description "none"; + } + leaf-list requested-object-types { + type object-type; + description "none"; + } + leaf-list requested-layer-protocols { + type tapi-common:layer-protocol-name; + description "none"; + } + leaf-list requested-object-identifier { + type tapi-common:uuid; + description "none"; + } + leaf include-content { + type boolean; + description "Indicates whether the published Notification includes content or just the Notification Id (which enables retrieval of the notification at the later stage)"; + } + uses tapi-common:local-class; + description "none"; + } + notification notification { + uses notification; + description "none"; + } + grouping notification { + leaf notification-type { + type notification-type; + description "none"; + } + leaf target-object-type { + type object-type; + description "none"; + } + leaf target-object-identifier { + type tapi-common:uuid; + description "none"; + } + list target-object-name { + key 'value-name'; + min-elements 1; + uses tapi-common:name-and-value; + description "none"; + } + leaf event-time-stamp { + type tapi-common:date-and-time; + description "none"; + } + leaf sequence-number { + type uint64; + config false; + description "A monotonous increasing sequence number associated with the notification. + The exact semantics of how this sequence number is assigned (per channel or subscription or source or system) is left undefined."; + } + leaf source-indicator { + type source-indicator; + description "none"; + } + leaf layer-protocol-name { + type tapi-common:layer-protocol-name; + description "none"; + } + list changed-attributes { + key 'value-name'; + uses name-and-value-change; + description "none"; + } + list additional-info { + key 'value-name'; + uses tapi-common:name-and-value; + description "none"; + } + leaf additional-text { + type string; + description "none"; + } + container tca-info { + uses tca-info; + description "none"; + } + container alarm-info { + uses alarm-info; + description "none"; + } + uses tapi-common:resource-spec; + description "none"; + } + grouping notification-channel { + leaf stream-address { + type string; + config false; + description "The address/location/URI of the channel/stream to which the subscribed notifications are published. + This specifics of this is typically dependent on the implementation protocol & mechanism and hence is typed as a string."; + } + leaf next-sequence-no { + type uint64; + config false; + description "The sequence number of the next notification that will be published on the channel"; + } + uses tapi-common:local-class; + description "none"; + } + grouping notification-context { + list notif-subscription { + key 'uuid'; + uses notification-subscription-service; + description "none"; + } + list notification { + key 'uuid'; + config false; + uses notification; + description "none"; + } + description "none"; + } + grouping alarm-info { + leaf is-transient { + type boolean; + config false; + description "none"; + } + leaf perceived-severity { + type perceived-severity-type; + config false; + description "none"; + } + leaf probable-cause { + type string; + config false; + description "none"; + } + leaf service-affecting { + type service-affecting; + description "none"; + } + description "none"; + } + grouping tca-info { + leaf is-transient { + type boolean; + config false; + description "none"; + } + leaf threshold-crossing { + type threshold-crossing-type; + description "none"; + } + leaf threshold-parameter { + type string; + config false; + description "none"; + } + leaf threshold-value { + type uint64; + config false; + description "none"; + } + leaf perceived-severity { + type perceived-tca-severity; + description "none"; + } + leaf measurement-interval { + type tapi-common:date-and-time; + description "none"; + } + leaf suspect-interval-flag { + type boolean; + description "none"; + } + description "none"; + } + + /************************** + * package type-definitions + **************************/ + grouping name-and-value-change { + leaf value-name { + type string; + description "The name of the value. The value need not have a name."; + } + leaf old-value { + type string; + description "The value"; + } + leaf new-value { + type string; + description "The value"; + } + description "A scoped name-value triple, including old value and new value"; + } + typedef notification-type { + type enumeration { + enum OBJECT_CREATION { + description "Not a normal state. The system is unable to determine the correct value."; + } + enum OBJECT_DELETION { + description "none"; + } + enum ATTRIBUTE_VALUE_CHANGE { + description "none"; + } + enum ALARM_EVENT { + description "none"; + } + enum THRESHOLD_CROSSING_ALERT { + description "none"; + } + } + description "List of supported Notifications types."; + } + typedef object-type { + type enumeration { + enum TOPOLOGY { + description "none"; + } + enum NODE { + description "none"; + } + enum LINK { + description "none"; + } + enum CONNECTION { + description "none"; + } + enum PATH { + description "none"; + } + enum CONNECTIVITY_SERVICE { + description "none"; + } + enum VIRTUAL_NETWORK_SERVICE { + description "none"; + } + enum PATH_COMPUTATION_SERVICE { + description "none"; + } + enum NODE_EDGE_POINT { + description "none"; + } + enum SERVICE_INTERFACE_POINT { + description "none"; + } + enum CONNECTION_END_POINT { + description "none"; + } + enum MAINTENANCE_ENTITY_GROUP { + description "none"; + } + enum MAINTENANCE_ENTITY { + description "none"; + } + enum MEG_END_POINT { + description "none"; + } + enum MEG_INTERMEDIATE_POINT { + description "none"; + } + enum SWITCH_CONTROL { + description "none"; + } + enum SWITCH { + description "none"; + } + enum ROUTE { + description "none"; + } + enum NODE_RULE_GROUP { + description "none"; + } + enum INTER_RULE_GROUP { + description "none"; + } + enum RULE { + description "none"; + } + enum OAM_JOB { + description "none"; + } + enum ACCESS_PORT { + description "none"; + } + enum EQUIPMENT { + description "none"; + } + enum HOLDER { + description "none"; + } + enum PHYSICAL_SPAN { + description "none"; + } + enum ABSTRACT_STRAND { + description "none"; + } + enum DEVICE { + description "none"; + } + } + description "The list of TAPI Global Object Class types on which Notifications can be raised."; + } + typedef source-indicator { + type enumeration { + enum RESOURCE_OPERATION { + description "none"; + } + enum MANAGEMENT_OPERATION { + description "none"; + } + enum UNKNOWN { + description "none"; + } + } + description "none"; + } + typedef subscription-state { + type enumeration { + enum SUSPENDED { + description "none"; + } + enum ACTIVE { + description "none"; + } + } + description "none"; + } + typedef perceived-severity-type { + type enumeration { + enum CRITICAL { + description "none"; + } + enum MAJOR { + description "none"; + } + enum MINOR { + description "none"; + } + enum WARNING { + description "none"; + } + enum CLEARED { + description "none"; + } + } + description "none"; + } + typedef threshold-crossing-type { + type enumeration { + enum THRESHOLD_ABOVE { + description "none"; + } + enum THRESHOLD_BELOW { + description "none"; + } + enum CLEARED { + description "none"; + } + } + description "none"; + } + typedef service-affecting { + type enumeration { + enum SERVICE_AFFECTING { + description "none"; + } + enum NOT_SERVICE_AFFECTING { + description "none"; + } + enum UNKNOWN { + description "none"; + } + } + description "none"; + } + typedef perceived-tca-severity { + type enumeration { + enum WARNING { + description "none"; + } + enum CLEAR { + description "none"; + } + } + description "none"; + } + + /************************** + * package interfaces + **************************/ + rpc get-supported-notification-types { + description "none"; + output { + leaf-list supported-notification-types { + type notification-type; + min-elements 1; + description "none"; + } + leaf-list supported-object-types { + type object-type; + min-elements 1; + description "none"; + } + } + } + rpc create-notification-subscription-service { + description "none"; + input { + container subscription-filter { + uses subscription-filter; + description "none"; + } + leaf subscription-state { + type subscription-state; + description "none"; + } + } + output { + container subscription-service { + uses notification-subscription-service; + description "none"; + } + } + } + rpc update-notification-subscription-service { + description "none"; + input { + leaf subscription-id-or-name { + type string; + description "none"; + } + container subscription-filter { + uses subscription-filter; + description "none"; + } + leaf subscription-state { + type subscription-state; + description "none"; + } + } + output { + container subscription-service { + uses notification-subscription-service; + description "none"; + } + } + } + rpc delete-notification-subscription-service { + description "none"; + input { + leaf subscription-id-or-name { + type string; + description "none"; + } + } + output { + container subscription-service { + uses notification-subscription-service; + description "none"; + } + } + } + rpc get-notification-subscription-service-details { + description "none"; + input { + leaf subscription-id-or-name { + type string; + description "none"; + } + } + output { + container subscription-service { + uses notification-subscription-service; + description "none"; + } + } + } + rpc get-notification-subscription-service-list { + description "none"; + output { + list subscription-service { + key 'uuid'; + uses notification-subscription-service; + description "none"; + } + } + } + rpc get-notification-list { + description "none"; + input { + leaf subscription-id-or-name { + type string; + description "none"; + } + leaf time-period { + type string; + description "none"; + } + } + output { + list notification { + key 'uuid'; + uses notification; + description "none"; + } + } + } + +}