1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. SPDX-License-Identifier: CC-BY-4.0
3 .. Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
9 PM REST Manager library follows `VES Event Listener 7.1 <https://docs.onap.org/projects/onap-vnfrqts-requirements/en/latest/Chapter8/ves7_1spec.html#>`_
14 **Datatype: commonEventHeader**
36 - Unique id generated from combination of multiple fields, selection of fields configurable via mapping config file.
42 - value configurable via mapping config file.
48 - value configurable via mapping config file.
49 * - reportingEntityName
54 - value configurable via mapping config file.
55 * - startEpochMicrosec
60 - System time at the moment of notification generation
66 - System time at the moment of notification generation
72 - incremental per line on csv file. Each file will start processing will start from sequence 0.
78 - value configurable via mapping config file.
84 - Library only enforces mandatory fields for 4.1 version
85 * - vesEventListenerVersion
90 - Library only enforces mandatory fields for 7.1 version
114 - value configurable via mapping config file.
115 * - reportingEntityId
117 - ONAP-NF-OAM-SOME-VENDOR-ADAPTER
120 - value configurable via mapping config file.
121 * - internalHeader Fields
141 **Datatype: measurementFields**
157 - values configurable via mapping config file.
158 * - additionalMeasurements
163 - values configurable via mapping config file.
164 * - measurementInterval
169 - value configurable via mapping config file.
170 * - measurementFieldsVersion
177 REST PM Configuration
178 ---------------------
180 **Rest Adapter configuration**
182 Configuration file **application.yml** contains global definitions required to be consumed by PM REST adapters services.
184 - **synchronization-time-start** Defines the time for execution of pull of PM files and forwarding as VES Message
185 - **synchronization-time-frequency** Defines the time for execution of pull of PM files and forwarding as VES Message
186 - **mapping-config-path** Defines the path where mapping configuration file is located
188 **Rest SB Client Adapter configuration**
190 - **ran-token-endpoint** Defines rand endpoint from where token will be obtained
191 - **ran-pm-endpoint:** Defines rand endpoint from where ZIP with PM files will be GET.
192 - **ran-time-zone-offset-endpoint** Defines rand endpoint from where we GET the timezone from the device.
194 .. literalinclude:: pm-rest-manager.yaml
197 Mapping Configuration
198 ---------------------
200 Configuration file **pm-ves-message-mapping.yaml** contains all definitions required to define the mapping
201 from ZIP file with collection of csv files information to VES Message format
204 File name can be changed as long it matches with configured **mapping-config-path** and file is in yaml format
206 - **reporting-entity-name** Reporting entity name assigned to the event
207 - **reporting-entity-id** Reporting entity id assigned to the event
208 - **nf-vendor-name** Vendor name assigned to the event
209 - **event-source-type** Source type assigned to the event
210 - **event-name** Event name assigned to the event
211 - **measurement-interval** Interval over which measurements are being reported in seconds
212 - **priority** Priority assigned to the event
215 - **source-name** Column names containing containing information
216 - **source-name-regex** The regular expression to which source-name string value is to be matched and removed
217 - **event-id** Collection of columns names to generate an uniqueID
218 - **additional-fields** Collection of columns names containing information to be attached
219 - **additional-measurements-name** Name assigned to AdditionalMeasurement array
220 - **additional-measurements** Collection of columns names containing information to be attached
221 - **batch-size** File will be processed and send in small batches event notifications. Size define the number of events which will contain each notification
223 .. literalinclude:: pm-ves-message-mapping.yaml
226 PM Adapter Configuration
227 ------------------------
229 PM Adapters can be instantiated at runtime
231 **Create a PM Adapter**
233 **POST** ``https://<SERVICE_IP>:<SERVICE_PORT>/adapters/adapter``
235 .. literalinclude:: create-adapter.json
240 **GET** ``https://<SERVICE_IP>:<SERVICE_PORT>/adapters/``
242 .. literalinclude:: get-adapters.json
246 **Delete PM Adapter**
248 **DELETE** ``https://<SERVICE_IP>:<SERVICE_PORT>/adapters/adapter/10.53.40.50``