Skip to content

Commit 3646931

Browse files
committed
initial create/update rbac implementation
1 parent 6a054f6 commit 3646931

File tree

6 files changed

+322
-77
lines changed

6 files changed

+322
-77
lines changed

alerting/src/main/kotlin/org/opensearch/alerting/actionv2/IndexMonitorV2Request.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,24 +16,24 @@ class IndexMonitorV2Request : ActionRequest {
1616
val refreshPolicy: WriteRequest.RefreshPolicy
1717
val method: RestRequest.Method
1818
var monitorV2: MonitorV2
19-
// val rbacRoles: List<String>?
19+
val rbacRoles: List<String>?
2020

2121
constructor(
2222
monitorId: String,
2323
seqNo: Long,
2424
primaryTerm: Long,
2525
refreshPolicy: WriteRequest.RefreshPolicy,
2626
method: RestRequest.Method,
27-
monitorV2: MonitorV2
28-
// rbacRoles: List<String>? = null
27+
monitorV2: MonitorV2,
28+
rbacRoles: List<String>? = null
2929
) : super() {
3030
this.monitorId = monitorId
3131
this.seqNo = seqNo
3232
this.primaryTerm = primaryTerm
3333
this.refreshPolicy = refreshPolicy
3434
this.method = method
3535
this.monitorV2 = monitorV2
36-
// this.rbacRoles = rbacRoles
36+
this.rbacRoles = rbacRoles
3737
}
3838

3939
@Throws(IOException::class)
@@ -43,8 +43,8 @@ class IndexMonitorV2Request : ActionRequest {
4343
primaryTerm = sin.readLong(),
4444
refreshPolicy = WriteRequest.RefreshPolicy.readFrom(sin),
4545
method = sin.readEnum(RestRequest.Method::class.java),
46-
monitorV2 = MonitorV2.readFrom(sin)
47-
// rbacRoles = sin.readOptionalStringList()
46+
monitorV2 = MonitorV2.readFrom(sin),
47+
rbacRoles = sin.readOptionalStringList()
4848
)
4949

5050
override fun validate(): ActionRequestValidationException? {
@@ -59,6 +59,6 @@ class IndexMonitorV2Request : ActionRequest {
5959
refreshPolicy.writeTo(out)
6060
out.writeEnum(method)
6161
MonitorV2.writeTo(out, monitorV2)
62-
// out.writeOptionalStringCollection(rbacRoles)
62+
out.writeOptionalStringCollection(rbacRoles)
6363
}
6464
}

alerting/src/main/kotlin/org/opensearch/alerting/resthandler/RestIndexMonitorV2Action.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,10 @@ class RestIndexMonitorV2Action : BaseRestHandler() {
5353
ensureExpectedToken(Token.START_OBJECT, xcp.nextToken(), xcp)
5454

5555
val monitorV2: MonitorV2
56+
val rbacRoles: List<String>?
5657
try {
5758
monitorV2 = MonitorV2.parse(xcp)
59+
rbacRoles = request.contentParser().map()["rbac_roles"] as List<String>?
5860
} catch (e: Exception) {
5961
throw AlertingException.wrap(e)
6062
}
@@ -68,7 +70,7 @@ class RestIndexMonitorV2Action : BaseRestHandler() {
6870
WriteRequest.RefreshPolicy.IMMEDIATE
6971
}
7072

71-
val indexMonitorV2Request = IndexMonitorV2Request(id, seqNo, primaryTerm, refreshPolicy, request.method(), monitorV2)
73+
val indexMonitorV2Request = IndexMonitorV2Request(id, seqNo, primaryTerm, refreshPolicy, request.method(), monitorV2, rbacRoles)
7274

7375
return RestChannelConsumer { channel ->
7476
client.execute(IndexMonitorV2Action.INSTANCE, indexMonitorV2Request, RestToXContentListener(channel))

0 commit comments

Comments
 (0)