TCA: Support for VES/A&AI enrichment
[dcaegen2/analytics/tca.git] / dcae-analytics-model / src / main / java / org / openecomp / dcae / apod / analytics / model / domain / cef / CommonEventHeader.java
1 /*\r
2  * ===============================LICENSE_START======================================\r
3  *  dcae-analytics\r
4  * ================================================================================\r
5  *    Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
6  * ================================================================================\r
7  *  Licensed under the Apache License, Version 2.0 (the "License");\r
8  *  you may not use this file except in compliance with the License.\r
9  *   You may obtain a copy of the License at\r
10  *\r
11  *          http://www.apache.org/licenses/LICENSE-2.0\r
12  *\r
13  *  Unless required by applicable law or agreed to in writing, software\r
14  *  distributed under the License is distributed on an "AS IS" BASIS,\r
15  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  *  See the License for the specific language governing permissions and\r
17  *  limitations under the License.\r
18  *  ============================LICENSE_END===========================================\r
19  */\r
20 \r
21 package org.openecomp.dcae.apod.analytics.model.domain.cef;\r
22 \r
23 import lombok.Data;\r
24 import lombok.EqualsAndHashCode;\r
25 \r
26 /**\r
27  * Fields common to all Events\r
28  * <p>\r
29  * @author Rajiv Singla. Creation Date: 08/15/2017.\r
30  */\r
31 @Data\r
32 @EqualsAndHashCode(callSuper = true)\r
33 public class CommonEventHeader extends BaseCEFModel {\r
34 \r
35 \r
36     private static final long serialVersionUID = 1L;\r
37 \r
38     /**\r
39      * The eventing domain associated with this event\r
40      *\r
41      * @param domain New value for domain\r
42      * @return The eventing domain associated with this event\r
43      */\r
44     private Domain domain;\r
45 \r
46     /**\r
47      * Event key that is unique to the event source\r
48      *\r
49      * @param eventId New value for event key\r
50      * @return Event key that is unique to the event source\r
51      */\r
52     private String eventId;\r
53 \r
54     /**\r
55      * Unique event name\r
56      *\r
57      * @param eventName New value for event name\r
58      * @return Unique event name\r
59      */\r
60     private String eventName;\r
61 \r
62 \r
63     /**\r
64      * Event type e.g. applicationVnf, guestOS, hostOS, platform\r
65      *\r
66      * @param eventType New value for event type\r
67      * @return Event type e.g. applicationVnf, guestOS, hostOS, platform\r
68      */\r
69     private String eventType;\r
70 \r
71 \r
72     /**\r
73      * Enrichment fields for internal VES Event Listener service use only, not supplied by event sources\r
74      *\r
75      * @param internalHeaderFields new value for internal Header Fields\r
76      * @return Enrichment fields for internal VES Event Listener service use only, not supplied by event sources\r
77      */\r
78     private InternalHeaderFields internalHeaderFields;\r
79 \r
80 \r
81     /**\r
82      * The latest unix time aka epoch time associated with the event from any component--as microseconds elapsed since\r
83      * 1 Jan 1970 not including leap seconds\r
84      *\r
85      * @param lastEpochMicrosec New value for last Epoc Microsec\r
86      * @return The latest unix time associated with the event from any component\r
87      */\r
88     private Long lastEpochMicrosec;\r
89 \r
90 \r
91     /**\r
92      * Three character network function component type as aligned with vfc naming standards\r
93      *\r
94      * @param nfcNamingCode New value for nfc naming code\r
95      * @return Three character network function component type as aligned with vfc naming standards\r
96      */\r
97     private String nfcNamingCode;\r
98 \r
99 \r
100     /**\r
101      * Four character network function type as aligned with vnf naming standards\r
102      *\r
103      * @param nfNamingCode New value for nf naming code\r
104      * @return Four character network function type as aligned with vnf naming standards\r
105      */\r
106     private String nfNamingCode;\r
107 \r
108 \r
109     /**\r
110      * Processing Priority\r
111      *\r
112      * @param priority New value for processing Priority\r
113      * @return Processing Priority\r
114      */\r
115     private Priority priority;\r
116 \r
117 \r
118     /**\r
119      * UUID identifying the entity reporting the event, for example an OAM VM; must be populated by the\r
120      * enrichment process\r
121      *\r
122      * @param reportingEntityId New value for reporting entity Id. Must be populated by the enrichment process\r
123      * @return UUID identifying the entity reporting the event populated by the enrichment process\r
124      */\r
125     private String reportingEntityId;\r
126 \r
127 \r
128     /**\r
129      * Name of the entity reporting the event, for example, an EMS name; may be the same as sourceName\r
130      *\r
131      * @param reportingEntityName New value for reporting Entity Name\r
132      * @return Name of the entity reporting the event, may be the same as sourceName\r
133      */\r
134     private String reportingEntityName;\r
135 \r
136 \r
137     /**\r
138      * Ordering of events communicated by an event source instance or 0 if not needed\r
139      *\r
140      * @param sequence New value for Sequence\r
141      * @return Ordering of events communicated by an event source instance or 0 if not needed\r
142      */\r
143     private Integer sequence;\r
144 \r
145 \r
146     /**\r
147      * UUID identifying the entity experiencing the event issue; must be populated by the enrichment process\r
148      *\r
149      * @param sourceId New value for source id. Must be populated by the enrichment process\r
150      * @return UUID identifying the entity experiencing the event issue\r
151      */\r
152     private String sourceId;\r
153 \r
154 \r
155     /**\r
156      * Name of the entity experiencing the event issue\r
157      *\r
158      * @param sourceName New value for source name\r
159      * @return Name of the entity experiencing the event issue\r
160      */\r
161     private String sourceName;\r
162 \r
163 \r
164     /**\r
165      * the earliest unix time aka epoch time associated with the event from any component--as microseconds elapsed\r
166      * since 1 Jan 1970 not including leap seconds\r
167      *\r
168      * @param startEpochMicrosec New value for start Epoc Microsec\r
169      * @return The earliest unix time associated with the event from any component\r
170      */\r
171     private Long startEpochMicrosec;\r
172 \r
173 \r
174     /**\r
175      * Version of the event header\r
176      *\r
177      * @param version New value for version of the event header\r
178      * @return Version of the event header\r
179      */\r
180     private Float version;\r
181 }\r