On this page
sla.update
描述
object sla.update(object/array slaids)
此方法用于 update 现有的 SLA 条目。
此方法仅对 管理员 和 超级管理员 用户类型可用。调用该方法的权限可以在用户角色设置中撤销。更多信息请参见 User roles。
参数
(object/array) 要更新的 SLA 属性。
每个 SLA 都必须定义 slaid 属性,其他所有属性均为可选。只有传入的属性会被更新,其余属性将保持不变。
除了标准 SLA 属性之外,该方法还接受以下参数。
| Parameter | Type | Description |
|---|---|---|
| service_tags | array | 用于替换当前 SLA 服务标签的 SLA service tags。 |
| schedule | array | 用于替换当前 SLA 日程的 SLA schedule。 将该参数指定为空将被解释为 24x7 日程。 |
| excluded_downtimes | array | 用于替换当前 SLA 排除停机时间的 SLA excluded downtimes。 |
返回值
(object) 返回一个 object,其中包含在 slaids 属性下列出的已更新 SLA 的 ID。
示例
更新服务标签
使 ID 为 "5" 的 SLA 针对与 NoSQL 相关的服务按月间隔进行计算,
不更改其时间计划或排除的停机时间;将 SLO 设置为 95%。
执行请求:
{
"jsonrpc": "2.0",
"method": "sla.update",
"params": [
{
"slaid": "5",
"name": "NoSQL Database engines",
"slo": "95",
"period": 2,
"service_tags": [
{
"tag": "database",
"operator": "0",
"value": "redis"
},
{
"tag": "database",
"operator": "0",
"value": "mongodb"
}
]
}
],
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": {
"slaids": [
"5"
]
},
"id": 1
}
更改SLA的计划
将 ID 为 "5" 的 SLA 切换为 24x7 计划。
执行请求:
{
"jsonrpc": "2.0",
"method": "sla.update",
"params": {
"slaid": "5",
"schedule": []
},
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": {
"slaids": [
"5"
]
},
"id": 1
}
更改SLA的排除停机时间
在2022年4月6日添加一个计划中的4小时长的内存升级停机时间, 同时需要重新定义此前已存在的软件升级计划,该计划原定于7月4日进行, 适用于SLA ID为"5"的情况。
执行请求:
{
"jsonrpc": "2.0",
"method": "sla.update",
"params": {
"slaid": "5",
"excluded_downtimes": [
{
"name": "Software version upgrade rollout",
"period_from": "1648760400",
"period_to": "1648764900"
},
{
"name": "RAM upgrade",
"period_from": "1649192400",
"period_to": "1649206800"
}
]
},
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": {
"slaids": [
"5"
]
},
"id": 1
}
来源
CSla::update() 在 ui/include/classes/api/services/CSla.php 中。