sla更新

描述

此方法允许更新现有的 SLA 条目。

此方法仅适用于 AdminSuper admin用户类型。可以在用户角色中撤销调用该方法的权限设置。请参阅 用户角色 了解更多信息。

参数

(object/array) SLA属性将被更新

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

除了 标准 SLA 属性,方法接受以下参数。

参数 类型 描述
service_tags 数组 SLA 服务标签 替换当前的 SLA 服务标签。

必须至少指定一个服务标签。
schedule 数组 SLA schedule 替换当前的。

将参数指定为空将被解释为 24x7 计划。
excluded_downtimes 数组 SLA 排除停机时间 替换当前的。

返回值

(object)返回一个对象,该对象包含 slaids 属性下更新的 SLA 的 ID。

示例

更新服务标签

为 NoSQL 相关服务每月计算一次 ID 为“5”的 SLA,不改变其时间表或排除停机时间;将 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"
                       }
                   ]
               }
           ],
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": {
               "slaids": [
                   "5"
               ]
           },
           "id": 1
       }

更改 SLA 计划

将 ID 为“5”的 SLA 切换为 24x7 计划。

请求:

{
           "jsonrpc": "2.0",
           "method": "service.update",
           "params": {
               "slaid": "5",
               "schedule": []
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": {
               "slaids": [
                   "5"
               ]
           },
           "id": 1
       }

更改 SLA 的排除停机时间

对于ID为“5”的 SLA,添加在2022年4月6日计划的4小时 RAM 升级停机时间,同时保留(需要重新定义)先前存在的7月4日软件升级计划。

请求:

{
           "jsonrpc": "2.0",
           "method": "service.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"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": {
               "slaids": [
                   "5"
               ]
           },
           "id": 1
       }

来源

CSla::update() in ui/include/classes/api/services/CSla.php.