Skip to content

Commit 53afc6c

Browse files
committed
removing requirement for lookback to be for cron only
1 parent 3646931 commit 53afc6c

File tree

1 file changed

+14
-18
lines changed
  • core/src/main/kotlin/org/opensearch/alerting/core/modelv2

1 file changed

+14
-18
lines changed

core/src/main/kotlin/org/opensearch/alerting/core/modelv2/PPLMonitor.kt

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ import org.opensearch.alerting.core.modelv2.MonitorV2.Companion.ENABLED_TIME_FIE
55
import org.opensearch.alerting.core.modelv2.MonitorV2.Companion.LAST_UPDATE_TIME_FIELD
66
import org.opensearch.alerting.core.modelv2.MonitorV2.Companion.LOOK_BACK_WINDOW_FIELD
77
import org.opensearch.alerting.core.modelv2.MonitorV2.Companion.NAME_FIELD
8+
import org.opensearch.alerting.core.modelv2.MonitorV2.Companion.NO_ID
9+
import org.opensearch.alerting.core.modelv2.MonitorV2.Companion.NO_VERSION
810
import org.opensearch.alerting.core.modelv2.MonitorV2.Companion.SCHEDULE_FIELD
911
import org.opensearch.alerting.core.modelv2.MonitorV2.Companion.SCHEMA_VERSION_FIELD
1012
import org.opensearch.alerting.core.modelv2.MonitorV2.Companion.TRIGGERS_FIELD
1113
import org.opensearch.alerting.core.modelv2.MonitorV2.Companion.USER_FIELD
1214
import org.opensearch.alerting.core.util.nonOptionalTimeField
1315
import org.opensearch.common.unit.TimeValue
1416
import org.opensearch.commons.alerting.model.CronSchedule
15-
import org.opensearch.commons.alerting.model.IntervalSchedule
16-
import org.opensearch.commons.alerting.model.Monitor
1717
import org.opensearch.commons.alerting.model.Schedule
1818
import org.opensearch.commons.alerting.util.IndexUtils
1919
import org.opensearch.commons.alerting.util.instant
@@ -52,8 +52,8 @@ import java.time.Instant
5252
* @property query The PPL query string to be executed by this monitor.
5353
*/
5454
data class PPLMonitor(
55-
override val id: String = MonitorV2.NO_ID,
56-
override val version: Long = MonitorV2.NO_VERSION,
55+
override val id: String = NO_ID,
56+
override val version: Long = NO_VERSION,
5757
override val name: String,
5858
override val enabled: Boolean,
5959
override val schedule: Schedule,
@@ -140,14 +140,14 @@ data class PPLMonitor(
140140
builder.optionalUserField(USER_FIELD, user)
141141
}
142142

143-
builder.field(MonitorV2.NAME_FIELD, name)
144-
builder.field(MonitorV2.SCHEDULE_FIELD, schedule)
145-
builder.field(MonitorV2.LOOK_BACK_WINDOW_FIELD, lookBackWindow?.toHumanReadableString(0))
146-
builder.field(MonitorV2.ENABLED_FIELD, enabled)
147-
builder.nonOptionalTimeField(MonitorV2.LAST_UPDATE_TIME_FIELD, lastUpdateTime)
148-
builder.optionalTimeField(MonitorV2.ENABLED_TIME_FIELD, enabledTime)
149-
builder.field(MonitorV2.TRIGGERS_FIELD, triggers.toTypedArray())
150-
builder.field(Monitor.SCHEMA_VERSION_FIELD, schemaVersion)
143+
builder.field(NAME_FIELD, name)
144+
builder.field(SCHEDULE_FIELD, schedule)
145+
builder.field(LOOK_BACK_WINDOW_FIELD, lookBackWindow?.toHumanReadableString(0))
146+
builder.field(ENABLED_FIELD, enabled)
147+
builder.nonOptionalTimeField(LAST_UPDATE_TIME_FIELD, lastUpdateTime)
148+
builder.optionalTimeField(ENABLED_TIME_FIELD, enabledTime)
149+
builder.field(TRIGGERS_FIELD, triggers.toTypedArray())
150+
builder.field(SCHEMA_VERSION_FIELD, schemaVersion)
151151
builder.field(QUERY_LANGUAGE_FIELD, queryLanguage.value)
152152
builder.field(QUERY_FIELD, query)
153153

@@ -236,7 +236,7 @@ data class PPLMonitor(
236236
@JvmStatic
237237
@JvmOverloads
238238
@Throws(IOException::class)
239-
fun parse(xcp: XContentParser, id: String = MonitorV2.NO_ID, version: Long = MonitorV2.NO_VERSION): PPLMonitor {
239+
fun parse(xcp: XContentParser, id: String = NO_ID, version: Long = NO_VERSION): PPLMonitor {
240240
var name: String? = null
241241
var enabled = true
242242
var schedule: Schedule? = null
@@ -270,7 +270,7 @@ data class PPLMonitor(
270270
}
271271
LAST_UPDATE_TIME_FIELD -> lastUpdateTime = xcp.instant()
272272
ENABLED_TIME_FIELD -> enabledTime = xcp.instant()
273-
Monitor.USER_FIELD -> user = if (xcp.currentToken() == XContentParser.Token.VALUE_NULL) null else User.parse(xcp)
273+
USER_FIELD -> user = if (xcp.currentToken() == XContentParser.Token.VALUE_NULL) null else User.parse(xcp)
274274
TRIGGERS_FIELD -> {
275275
XContentParserUtils.ensureExpectedToken(
276276
XContentParser.Token.START_ARRAY,
@@ -331,10 +331,6 @@ data class PPLMonitor(
331331
requireNotNull(query) { "Query is null" }
332332
requireNotNull(lastUpdateTime) { "Last update time is null" }
333333

334-
if (schedule is IntervalSchedule && lookBackWindow != null) {
335-
throw IllegalArgumentException("Look back windows only supported for CRON schedules")
336-
}
337-
338334
if (queryLanguage == QueryLanguage.SQL) {
339335
throw IllegalArgumentException("SQL queries are not supported. Please use a PPL query.")
340336
}

0 commit comments

Comments
 (0)