更新

描述

object sla.update(object/array slaids)

这个方法运行更新已经存在的 SLA 条目。

这个方法只有 管理员超级管理员 两个用户类型可以使用。 可以在用户角色设置中取消调用该方法的权限。 查看 用户角色获取更多信息。

参数

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

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

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

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

返回值

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

示例

更新服务标签

将 ID 为“5”的 SLA 设置为按月间隔为与 NoSQL 相关的服务进行计算, 且不更改其计划或排除的停机时间;将 SLO 设置为 95%。

请求

{
    "jsonrpc": "2.0",
    "method": "sla.update",
    "params": [
        {
            "slaid": "5",
            "name": "NoSQL 数据库引擎",
            "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 的排除停机时间

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

请求

{
    "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