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