summaryrefslogtreecommitdiffstats
path: root/docs/sections/apis/ves.rst
blob: 35d4ebdb42c924f9b0f20bd6b6cbca9ccfbe7096 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
.. This work is licensed under a
   Creative Commons Attribution 4.0 International License.

VES-Collector
=============

.. toctree::
    :maxdepth: 3

Description
~~~~~~~~~~~

Virtual Event Streaming (VES) Collector is RESTful collector for processing
JSON messages. The collector verifies the source and validates the events
against VES schema before distributing to DMAAP MR topics.

.. csv-table::
   :header: "API name", "Swagger JSON", "Swagger YAML"
   :widths: 10,5,5

   "VES Collector", ":download:`link <swagger_vescollector.json>`", ":download:`link <swagger_vescollector.yaml>`"

Contact Information
~~~~~~~~~~~~~~~~~~~

onap-discuss@lists.onap.org

Security
~~~~~~~~

`VES Authentication Types <https://docs.onap.org/projects/onap-dcaegen2/en/latest/sections/services/ves-http/tls-authentication.html>`_


VES Specification
~~~~~~~~~~~~~~~~~

- `VES 7.1.1 Data Model <https://docs.onap.org/projects/onap-vnfrqts-requirements/en/latest/Chapter8/ves7_1spec.html#common-event-format>`_
- `VES 5.4 Data Model <https://docs.onap.org/projects/onap-vnfrqts-requirements/en/latest/Chapter8/ves_5_4_1/VESEventListener.html#common-event-format>`_


Response Code
~~~~~~~~~~~~~

+-----+--------------+--------------------------------------------------------+
| Code| Reason Phrase| Description                                            |
+=====+==============+========================================================+
| 202 | Accepted     | The request has been accepted for processing           |
+-----+--------------+--------------------------------------------------------+
| 400 | Bad Request  | Many possible reasons not specified by the other codes |
|     |              | (e.g., missing required parameters or incorrect format)|
|     |              | . The response body may include a further exception    |
|     |              | code and text. HTTP 400 errors may be mapped to SVC0001|
|     |              | (general service error), SVC0002 (bad parameter),      |
|     |              | SVC2000 (general service error with details) or PO9003 |
|     |              | (message content size exceeds the allowable limit).    |
+-----+--------------+--------------------------------------------------------+
| 401 | Unauthorized | Authentication failed or was not provided. HTTP 401    |
|     |              | errors may be mapped to POL0001 (general policy error) |
|     |              | or POL2000 (general policy error with details).        |
+-----+--------------+--------------------------------------------------------+
| 404 | Not Found    | The server has not found anything matching the         |
|     |              | Request-URI. No indication is given of whether the     |
|     |              | condition is temporary or permanent.                   |
+-----+--------------+--------------------------------------------------------+
| 405 | Method Not   | A request was made of a resource using a request method|
|     | Allowed      | not supported by that resource (e.g., using PUT on a   |
|     |              | REST resource that only supports POST).                |
+-----+--------------+--------------------------------------------------------+
| 500 | Internal     | The server encountered an internal error or timed out; |
|     | Server Error | please retry (general catch-all server-side error).HTTP|
|     |              | 500 errors may be mapped to SVC1000 (no server         |
|     |              | resources).                                            |
+-----+--------------+--------------------------------------------------------+

Sample Request and Response
---------------------------

Request Example


.. code-block:: http

    POST  /eventListener/v7 HTTP/1.1
    Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
    content-type: application/json
    content-length: 12345
    X-MinorVersion: 1

    {
        "event": {
            "commonEventHeader": {
                "version": "4.1",
                "vesEventListenerVersion": "7.1.1",
                "domain": "fault",
                "eventName": "Fault_Vscf:Acs-Ericcson_PilotNumberPoolExhaustion",
                "eventId": "fault0000245",
                "sequence": 1,
                "priority": "High",
                "reportingEntityId": "cc305d54-75b4-431b-adb2-eb6b9e541234",
                "reportingEntityName": "ibcx0001vm002oam001",
                "sourceId": "de305d54-75b4-431b-adb2-eb6b9e546014",
                "sourceName": "scfx0001vm002cap001",
                "nfVendorName": "Ericsson",
                "nfNamingCode": "scfx",
                "nfcNamingCode": "ssc",
                "startEpochMicrosec": 1413378172000000,
                "lastEpochMicrosec": 1413378172000000,
                "timeZoneOffset": "UTC-05:30"
            },
            "faultFields": {
                "faultFieldsVersion": 4.0,
                "alarmCondition": "PilotNumberPoolExhaustion",
                "eventSourceType": "other",
                "specificProblem": "Calls cannot complete - pilot numbers are unavailable",
                "eventSeverity": "CRITICAL",
                "vfStatus": "Active",
                "alarmAdditionalInformation": {
                    "PilotNumberPoolSize": "1000"
                }
            }
        }
    }



Response Example

.. code-block:: http

    HTTPS/1.1 202 Accepted
    X-MinorVersion: 1
    X-PatchVersion: 1
    X-LatestVersion: 7.1.1