diff options
Diffstat (limited to 'docs/cps-events.rst')
-rw-r--r-- | docs/cps-events.rst | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/docs/cps-events.rst b/docs/cps-events.rst new file mode 100644 index 0000000000..a28d4b0529 --- /dev/null +++ b/docs/cps-events.rst @@ -0,0 +1,138 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. Copyright (C) 2022 Nordix Foundation + +.. DO NOT CHANGE THIS LABEL FOR RELEASE NOTES - EVEN THOUGH IT GIVES A WARNING +.. _cpsEvents: + +CPS Events +########## + +CPS Core +******** +.. + Cps core events yet to be written + + +CPS-NCMP +******** + +Lifecycle Management (LCM) Event +================================ + + +Overview +-------- +Lifecycle management events are published as cm handle state transitions from one state to another. + + +LCM events and state handler +---------------------------- +The LCM events are triggered under the state handler which has the following responsibilities: + +#. Updating and persisting cm handle state based on the target state of the cm handle + +#. Create and calls to publish the LCM event based on the cm handle state transition that occured + + **3 possible event types:** + + * Create + * Update + * Delete + + + +LCM Event Schema +---------------- +The current published LCM event is based on the following schema: + +:download:`Life cycle management event schema <schemas/lcm-event-schema-v1.json>` + +LCM Event structure +------------------- + +Events header +^^^^^^^^^^^^^ +*Event header prototype for all event types* + +.. code-block:: json + + { + "eventId" : "00001", + "eventCorrelationId : "cmhandle-001", + "eventTime" : "2021-11-16T16:42:25-04:00", + "eventSource" : "org.onap.ncmp", + "eventType" : "org.onap.ncmp.cmhandle-lcm-event.create", + "eventSchema" : "org.onap.ncmp:cmhandle-lcm-event", + "eventSchemaVersion" : "1.0" + "event": .... + } + +Events payload +^^^^^^^^^^^^^^ +Event payload varies based on the type of event. + +**CREATE** + +Event payload for this event contains the properties of the new cm handle created. + +*Create event payload prototype* + +.. code-block:: json + + "event": { + "cmHandleId" : "cmhandle-001", + "newValues" : { + "cmHandleState" : "ADVISED", + "dataSyncEnabled" : "TRUE", + "cmhandleProperties" : [ + "prop1" : "val1", + "prop2" : "val2" + ] + } + } + } + + +**UPDATE** + +Event payload for this event contains the difference in state and properties of the cm handle. + +*Update event payload prototype* + +.. code-block:: json + + "event": { + "cmHandleId" : "cmhandle-001", + "oldValues" : { + "cmHandleState" : "ADVISED", + "dataSyncEnabled" : "FALSE", + "cmhandleProperties" : [ + "prop1" : "val1", + "prop2" : "val2", + } + "newValues" : { + "cmHandleState" : "READY", + "dataSyncEnabled" : "TRUE", + "cmhandleProperties" : [ + "prop1" : "updatedval1", + "prop2" : "updatedval2" + ] + } + } + } + + +**DELETE** + +Event payload for this event contains the identifier of the deleted cm handle. + +*Delete event payload prototype* + +.. code-block:: json + + "event": { + "cmHandleId" : "cmhandle-001", + } + + |