@@ -35,6 +35,7 @@ import org.opensearch.core.xcontent.XContentParser
35
35
import org.opensearch.core.xcontent.XContentParserUtils.ensureExpectedToken
36
36
import java.io.IOException
37
37
import java.time.Instant
38
+ import org.opensearch.commons.alerting.util.nonOptionalTimeField
38
39
39
40
data class AlertV2 (
40
41
val id : String = NO_ID ,
@@ -47,10 +48,10 @@ data class AlertV2(
47
48
val triggerId : String ,
48
49
val triggerName : String ,
49
50
val queryResults : Map <String , Any >,
51
+ val triggeredTime : Instant ,
50
52
val expirationTime : Instant ? ,
51
53
val errorMessage : String? = null ,
52
54
val severity : String ,
53
- val actionExecutionResults : List <ActionExecutionResult >,
54
55
val executionId : String? = null
55
56
) : Writeable, ToXContent {
56
57
@Throws(IOException ::class )
@@ -69,10 +70,10 @@ data class AlertV2(
69
70
triggerId = sin.readString(),
70
71
triggerName = sin.readString(),
71
72
queryResults = sin.readMap()!! .toMap(),
73
+ triggeredTime = sin.readInstant(),
72
74
expirationTime = sin.readOptionalInstant(),
73
75
errorMessage = sin.readOptionalString(),
74
76
severity = sin.readString(),
75
- actionExecutionResults = sin.readList(::ActionExecutionResult ),
76
77
executionId = sin.readOptionalString()
77
78
)
78
79
@@ -89,10 +90,10 @@ data class AlertV2(
89
90
out .writeString(triggerId)
90
91
out .writeString(triggerName)
91
92
out .writeMap(queryResults)
93
+ out .writeInstant(triggeredTime)
92
94
out .writeOptionalInstant(expirationTime)
93
95
out .writeOptionalString(errorMessage)
94
96
out .writeString(severity)
95
- out .writeCollection(actionExecutionResults)
96
97
out .writeOptionalString(executionId)
97
98
}
98
99
@@ -110,7 +111,7 @@ data class AlertV2(
110
111
.field(QUERY_RESULTS_FIELD , queryResults)
111
112
.field(ERROR_MESSAGE_FIELD , errorMessage)
112
113
.field(SEVERITY_FIELD , severity)
113
- .field( ACTION_EXECUTION_RESULTS_FIELD , actionExecutionResults.toTypedArray() )
114
+ .nonOptionalTimeField( TRIGGERED_TIME_FIELD , triggeredTime )
114
115
.optionalTimeField(EXPIRATION_TIME_FIELD , expirationTime)
115
116
.endObject()
116
117
@@ -133,6 +134,7 @@ data class AlertV2(
133
134
}
134
135
135
136
companion object {
137
+ const val TRIGGERED_TIME_FIELD = " triggered_time"
136
138
const val EXPIRATION_TIME_FIELD = " expiration_time"
137
139
const val QUERY_RESULTS_FIELD = " query_results"
138
140
@@ -149,6 +151,7 @@ data class AlertV2(
149
151
lateinit var triggerName: String
150
152
var queryResults: Map <String , Any > = mapOf ()
151
153
lateinit var severity: String
154
+ var triggeredTime: Instant ? = null
152
155
var expirationTime: Instant ? = null
153
156
var errorMessage: String? = null
154
157
var executionId: String? = null
@@ -173,6 +176,7 @@ data class AlertV2(
173
176
TRIGGER_ID_FIELD -> triggerId = xcp.text()
174
177
TRIGGER_NAME_FIELD -> triggerName = xcp.text()
175
178
QUERY_RESULTS_FIELD -> queryResults = xcp.map()
179
+ TRIGGERED_TIME_FIELD -> triggeredTime = xcp.instant()
176
180
EXPIRATION_TIME_FIELD -> expirationTime = xcp.instant()
177
181
ERROR_MESSAGE_FIELD -> errorMessage = xcp.textOrNull()
178
182
EXECUTION_ID_FIELD -> executionId = xcp.textOrNull()
@@ -197,10 +201,10 @@ data class AlertV2(
197
201
triggerId = requireNotNull(triggerId),
198
202
triggerName = requireNotNull(triggerName),
199
203
queryResults = requireNotNull(queryResults),
204
+ triggeredTime = requireNotNull(triggeredTime),
200
205
expirationTime = expirationTime,
201
206
errorMessage = errorMessage,
202
207
severity = severity,
203
- actionExecutionResults = actionExecutionResults,
204
208
executionId = executionId
205
209
)
206
210
}
0 commit comments