object sla.update(object/array slaids)
此方法允许update现有的SLA条目.
此方法仅适用于Admin和Super admin 用户类型. 调用该方法的权限可以在用户角色 设置中撤销. 更多信息请参阅User roles
(object/array) 需要更新的SLA属性。
slaid 属性必须为每个SLA定义,其他所有属性均为可选。仅传递的属性会被更新,其余属性将保持不变。
除了sla外,该方法还接受以下参数。
| 参数 | 数据类型 | 描述 |
|---|---|---|
| service_tags | array | sla-服务标签 用于替换当前的SLA服务标签。 |
| schedule | array | sla计划 用于替换当前计划。 将该参数指定为空将被解释为24x7计划。 |
| excluded_downtimes | array | sla-排除停机时间 用于替换当前规则。 |
(object) 返回一个包含更新后SLA ID的object,存储在slaids属性下。
将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
}响应:
将ID为"5"的SLA切换至24x7全天候排程
执行请求:
响应:
在2022年4月6日添加一个计划时长为4小时的RAM升级维护窗口, 同时保留(需重新定义)先前已存在的7月4日软件升级计划 针对ID为"5"的SLA。
执行请求:
{
"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
}响应:
CSla::update() 位于 ui/include/classes/api/services/CSla.php 文件中。