sla.update

描述

object sla.update(object/array slaids)

此方法用于 update 现有的 SLA 条目。

此方法仅对 管理员超级管理员 用户类型可用。调用该方法的权限可以在用户角色设置中撤销。更多信息请参见 User roles

参数

(object/array) 要更新的SLA属性。

每个SLA必须定义slaid属性,所有其他属性都是可选的。只有传递的属性会被更新,其他属性将保持不变。

除了sla之外,该方法还接受以下参数。

参数 数据类型 描述
service_tags array sla-服务标签,用于替换当前SLA服务标签。
schedule array sla计划,用于替换当前配置。
将参数指定为空将被解释为24x7计划。
excluded_downtimes array sla-排除停机时间,用于替换当前配置。

返回值

(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 中。