创建

说明

object maintenance.create(object/array maintenances)

该方法允许创建维护模式。

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

参数

(object/array) 要创建的维护模式。

除了标准维护模式属性,该方法接受以下内容参数。

参数 类型 说明
groups object/array 将进行维护的主机组

主机组必须只定义groupid属性。

参数行为:
- 必需 如果没有设置hosts
hosts object/array 将进行维护的主机

主机必须只定义hostid属性。

参数行为:
- 必需 如果没有设置groups
timeperiods object/array 维护时间段

参数行为:
- 必需
tags object/array 问题标签.

定义必须抑制哪些问题。
如果没有给出标签,所有活动的维护主机问题都将被抑制。

参数行为:
- 支持 如果维护对象maintenance_type设置为"有数据采集"
groupids
(已弃用)
array 此参数已弃用,请改用groups
需要维护主机组ID。
hostids
(已弃用)
array 此参数已弃用,请改用hosts
需要维护主机ID。

返回值

(object)maintenanceids属性中返回一个包含所有已被创建的维护模式的对象的ID。返回的IDs的排序与传递的维护模式的IDs顺序一致。

案例

创建维护模式

为 ID 为"2"的主机组创建问题标签为 service:mysqlderror 的数据收集维护模式。它必须从 22.01.2013 到 22.01.2014 有效,每周日 18:00 生效,持续一小时。

请求

{
           "jsonrpc": "2.0",
           "method": "maintenance.create",
           "params": {
               "name": "Sunday maintenance",
               "active_since": 1358844540,
               "active_till": 1390466940,
               "tags_evaltype": 0,
               "groups": [
                   {"groupid": "2"}
               ],
               "timeperiods": [
                   {
                       "period": 3600,
                       "timeperiod_type": 3,
                       "start_time": 64800,
                       "every": 1,
                       "dayofweek": 64
                   }
               ],
               "tags": [
                   {
                       "tag": "service",
                       "operator": "0",
                       "value": "mysqld"
                   },
                   {
                       "tag": "error",
                       "operator": "2",
                       "value": ""
                   }
               ]
           },
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": {
               "maintenanceids": [
                   "3"
               ]
           },
           "id": 1
       }

另见

来源

CMaintenance::create() in ui/include/classes/api/services/CMaintenance.php.