sla.update

描述

object sla.update(object/array slaids)

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

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

参数

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

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

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

参数 数据类型 描述
service_tags array 用于替换当前SLA服务标签的SLA sla-服务标签

必须至少指定一个服务标签。
schedule array 用于替换当前计划的SLA sla计划

若指定为空参数将被解释为24x7全天候计划。
excluded_downtimes array 用于替换当前阈值的SLA 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"
                }
            ]
        }
    ],
    "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的排除停机时间

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

请求:

{
    "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() 位于 ui/include/classes/api/services/CSla.php 文件中。