maintenance.create

描述

object maintenance.create(object/array maintenances)

此方法允许创建新的维护周期。

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

参数

(object/array) 待创建的维护任务。

维护外,该方法还接受以下参数。

参数 数据类型 说明
groups object/array 将进入维护状态的主机groups

主机组必须定义groupid属性。

必须至少指定groupshosts中的一个object。
hosts object/array 将进入维护状态的Hosts

主机必须定义hostid属性。

必须至少指定groupshosts中的一个object。
timeperiods
(required)
object/array 维护时间段
tags object/array 问题标签

定义需要抑制的问题类型。
若未指定标签,将抑制所有活动维护主机的问题。
groupids
(deprecated)
array 此参数已弃用,请改用groups
将进入维护状态的主机组ID。
hostids
(deprecated)
array 此参数已弃用,请改用hosts
将进入维护状态的主机ID。

返回值

(object) 返回一个包含所创建维护周期ID的object,这些ID存储在maintenanceids属性下。返回的ID顺序与传入的维护周期顺序一致。

示例

创建维护周期

为ID为"2"的主机组创建包含数据收集的维护周期,需匹配问题标签service:mysqlderror。该维护应从22.01.2013持续至22.01.2014,每周日18:00生效,持续时长为1小时。

请求:

{
           "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": ""
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

响应:

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

另请参阅

来源

CMaintenance::create() 方法位于 ui/include/classes/api/services/CMaintenance.php 文件中。