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.
8 PM REST Manager library follows `VES Event Listener 7.1 <https://docs.onap.org/projects/onap-vnfrqts-requirements/en/latest/Chapter8/ves7_1spec.html#>`_
17 Datatype: commonEventHeader
18 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 - Unique id generated from combination of multiple fields, selection of fields configurable via mapping config file.
46 - value configurable via mapping config file.
52 - value configurable via mapping config file.
53 * - reportingEntityName
58 - value configurable via mapping config file.
59 * - startEpochMicrosec
64 - System time at the moment of notification generation
70 - System time at the moment of notification generation
76 - incremental per line on csv file. Each file will start processing will start from sequence 0.
82 - value configurable via mapping config file.
88 - Library only enforces mandatory fields for 4.1 version
89 * - vesEventListenerVersion
94 - Library only enforces mandatory fields for 7.1 version
118 - value configurable via mapping config file.
119 * - reportingEntityId
121 - ONAP-NF-OAM-SOME-VENDOR-ADAPTER
124 - value configurable via mapping config file.
125 * - internalHeader Fields
145 Datatype: measurementFields
146 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
162 - values configurable via mapping config file.
163 * - additionalMeasurements
168 - values configurable via mapping config file.
169 * - measurementInterval
174 - value configurable via mapping config file.
175 * - measurementFieldsVersion
182 REST PM Configuration
183 =====================
185 Rest Adapter configuration
186 ~~~~~~~~~~~~~~~~~~~~~~~~~~
188 Configuration file **application.yml** contains global definitions required to be consumed by PM REST adapters services.
190 - **token-api-username** Defines the username to be used for login
191 - **synchronization-time-start** Defines the time for execution of pull of PM files and forwarding as VES Message
192 - **synchronization-time-frequency** Defines the time for execution of pull of PM files and forwarding as VES Message
193 - **mapping-config-path** Defines the path where mapping configuration file is located
195 Rest SB Client Adapter configuration
196 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
198 - **ran-token-endpoint** Defines rand endpoint from where token will be obtained
199 - **ran-pm-endpoint:** Defines rand endpoint from where ZIP with PM files will be GET.
200 - **ran-time-zone-offset-endpoint** Defines rand endpoint from where we GET the timezone from the device.
202 .. literalinclude:: pm-rest-manager.yaml
205 Mapping Configuration
206 ~~~~~~~~~~~~~~~~~~~~~
208 Configuration file **pm-ves-message-mapping.yaml** contains all definitions required to define the mapping
209 from ZIP file with collection of csv files information to VES Message format
212 File name can be changed as long it matches with configured **mapping-config-path** and file is in yaml format
214 - **reporting-entity-name** Reporting entity name assigned to the event
215 - **reporting-entity-id** Reporting entity id assigned to the event
216 - **nf-vendor-name** Vendor name assigned to the event
217 - **event-source-type** Source type assigned to the event
218 - **event-name** Event name assigned to the event
219 - **measurement-interval** Interval over which measurements are being reported in seconds
220 - **priority** Priority assigned to the event
223 - **source-name** Column names containing containing information
224 - **source-name-regex** The regular expression to which source-name string value is to be matched and removed
225 - **event-id** Collection of columns names to generate an uniqueID
226 - **additional-fields** Collection of columns names containing information to be attached
227 - **additional-measurements-name** Name assigned to AdditionalMeasurement array
228 - **additional-measurements** Collection of columns names containing information to be attached
229 - **batch-size** File will be processed and send in small batches event notifications. Size define the number of events which will contain each notification
231 .. literalinclude:: pm-ves-message-mapping.yaml
234 PM Adapter Configuration
235 ========================
237 PM Adapters can be instantiated at runtime
242 **POST** ``https://<SERVICE_IP>:<SERVICE_PORT>/adapters/adapter``
244 .. literalinclude:: create-adapter.json
250 **GET** ``https://<SERVICE_IP>:<SERVICE_PORT>/adapters/``
252 .. literalinclude:: get-adapters.json
259 **DELETE** ``https://<SERVICE_IP>:<SERVICE_PORT>/adapters/adapter/10.53.40.50``