跳至主内容

创建补丁管理维护窗口

此方法用于创建可在补丁管理中使用的维护窗口。

参数

参数

描述

包含在请求中

类型

取值

名称

您想为补丁管理窗口指定的名称。

必填

字符串

可选值:

  • 长度必须在1到80个字符之间。

  • 必须唯一。

companyId

需创建维护窗口的目标公司ID。

可选

字符串

默认值:生成API密钥的用户关联的公司ID。

要求:

  • 用户必须对所选公司拥有管理权限。

  • 所选公司需持有包含补丁管理功能的许可证。

allowChangeByOtherUsers

指示目标是否为客户公司。

必填

布尔值

无附加要求。

settings

通过此数组配置待创建维护窗口的补丁管理设置。

必填

对象数组

参见 对象

对象

下载设置

参数

描述

类型

取值

缓存服务器

用于指定要使用的补丁缓存服务器。数组中的位置应被解释为优先级。

对象数组

包含以下信息:

  • ID - 字符串,补丁缓存服务器的ID。

回退至直接下载

确定是否启用直接下载设置。

布尔值

无额外要求。

安装补丁设置

参数

描述

类型

取值

启用

表示启用时补丁是否自动应用。对应 应用补丁 开关位于 GravityZone 控制台。

布尔值

无额外要求。

若错过则尽快运行

表示如果任务未执行,将尽快重试。

布尔型

无额外要求。

specificVendorAndProduct

指定您希望包含或排除在补丁应用范围内的供应商和产品。

对象

包含以下信息:

  • enabled - 表示是否允许包含或排除。

    类型:布尔型

  • type - 选择是包含还是排除供应商或产品在补丁应用范围内。

    类型:整型

    可能取值:

    • 1 - 表示包含,

      2 - 表示排除。

  • vendorProductsPairs - 用于选择产品和供应商。

    类型:对象数组

    更多信息,请参考 vendorProductsPairs .

postponeReboot

指示是否希望在应用补丁后推迟系统重启。

对象

包含以下信息:

  • option - 指示如何推迟重启。

    类型:整数

    可选值:

    • 0 - 用户可将系统重启推迟至更合适的时间。

    • 1 - 用户仅能在特定时间间隔内推迟系统重启。

      若指定该值,则请求中必须同时包含 afterMinutes , afterCustomMessagebetween 属性。

    • 2 - 系统将在指定分钟后自动重启。若选择此选项,则 postponeReboot 对象还必须包含: afterMinutes , afterCustomMessage .

      若指定该值,则请求中必须同时包含 afterMinutesafterCustomMessage 属性。

  • afterMinutes - 表示推迟重启的分钟数。

    类型:整数

    可选值: 10 , 30 , 45 , 60 .

  • afterCustomMessage - 将在发生重启的终端上显示的文本。

    类型:字符串

    可能取值:最大128个字符的任意字符串。

  • between - 重启将发生的时间间隔。

    类型:对象

    更多信息,请参阅???。

updateType

用于启用并将特定设置应用于安全或非安全更新。

对象

包含以下信息:

  • securityPatchesSettings - 启用并配置安全补丁。

    • enabled - 布尔值,启用安全补丁的使用。

    • scheduler - 设置特定计划。

      类型:对象

      该参数必须包含在对象中,如果:

      • 如果 enabled 参数位于 securityPatchesSettings 对象中且具有 true 值时。

      • useSameScheduler 参数位于 scanPatchesSettings 对象中且具有 false 值。

      以下情况下该参数将被忽略:

      • useSameScheduler 参数位于 scanPatchesSettings 对象中且具有 true 值时。

      更多信息请参阅???。

    • oldScheduler - 使用备用系统设置特定计划。

      类型:对象

      该参数必须包含在对象中的情况:

      • enabled 参数位于 securityPatchesSettings 对象中且具有 true 值。

      • 如果 useSameScheduler 参数在 scanPatchesSettings 对象中具有 false 值。

      以下情况将忽略此参数:

      • useSameScheduler 参数在 scanPatchesSettings 对象中为 true 值时。

      更多信息请参阅???。

  • nonSecurityPatchesSettings - 启用并配置非安全补丁。

    • enabled - 布尔值,启用非安全补丁功能。

    • scheduler - 设置特定调度计划。

      类型:对象

      以下情况必须包含此参数:

      • 如果 enabled 参数在 nonSecurityPatchesSettings 对象具有 true 值。

      • 如果 useSameScheduler 参数在 scanPatchesSettings 对象中具有 false 值。

      该参数将在以下情况下被忽略:

      • useSameScheduler 参数在 scanPatchesSettings 对象中具有 true 值时。

      更多信息请参阅???。

    • oldScheduler - 使用后备系统设置特定计划。

      类型:对象

      该参数必须包含在对象中,如果:

      • enabled 参数在 nonSecurityPatchesSettings 对象中具有 true 值时。

      • 如果 useSameScheduler 参数在 scanPatchesSettings 对象中具有 false 值。

      该参数将在以下情况下被忽略:

      • useSameScheduler 参数在 scanPatchesSettings 对象中具有 true 值时。

      更多信息请参阅???。

  • manuallyApprovedPatchesSettings - 启用并配置手动批准的补丁。

    • enabled - 布尔值,启用手动批准补丁功能。

    • scheduler - 设置特定调度计划。

      类型:对象

      该参数必须包含在对象中,当:

      • 如果 enabled 参数在 securityPatchesSettings 对象中具有 false 值。

      • 如果 useSameScheduler 参数在 scanPatchesSettings 对象中具有 false 值。

      该参数将在以下情况下被忽略:

      • useSameScheduler 参数在 scanPatchesSettings 对象中具有 true 值时。

      更多信息请参阅 调度器 .

    • oldScheduler - 使用备用系统设置特定计划。

      类型:对象

      该参数在以下情况下必须包含在对象中:

      • 如果 enabled 参数在 securityPatchesSettings 对象中具有 false 值。

      • 如果 useSameScheduler 参数在 scanPatchesSettings 对象中具有 false 值。

      以下情况将忽略此参数:

      • useSameScheduler 参数在 scanPatchesSettings 对象中为 true 值时。

      更多信息请参阅???。

    注意

    enabled 参数在 securityPatchesSettings 对象中为 true 值,则 scheduleroldScheduler 设置在 manuallyApprovedPatchesSettings 下将被忽略。

    如果 enabled 参数位于 securityPatchesSettings 对象下且 useFallbackSchedule 设置位于 scanPatchesSettings 参数下,两者均为 false 值时,则 scheduler 设置位于 manuallyApprovedPatchesSettings 必须包含在请求中。

    如果 enabled 参数位于 securityPatchesSettings 对象下为 false 值,且 useFallbackSchedule 设置位于 manuallyApprovedPatchesSettings 下为 true 值,则 oldScheduler 设置位于 manuallyApprovedPatchesSettings 必须包含在请求中。

manuallyApprovedPatchIds

唯一补丁ID列表。

字符串数组

补丁ID必须有效且属于创建维护窗口的公司。

提示

您可以使用 getManuallyApprovedPatches 方法获取特定公司的手动补丁ID列表。

警告

  • enabled 参数在 installPatchesSettings 对象中被设置为 true 值,则需将以下任一参数赋值为 true

    • 位于 enabled 参数下的 securityPatchesSettings 选项。这些参数可在 updateType 对象中找到,该对象位于 installPatchesSettings 对象下。

    • enabled 参数位于 nonSecurityPatchesSettings 选项下。它们可以在 updateType 对象下找到,该对象位于 installPatchesSettings 对象下。

  • 如果 enabled 参数在 installPatchesSettings 对象下被赋值为 false ,您需要确保以下参数均未赋值为 true

    • 位于 enabled 参数在 securityPatchesSettings 选项下。它们可以在 updateType 对象下找到,该对象位于 installPatchesSettings 对象下。

    • 位于 enabled 参数在 nonSecurityPatchesSettings 选项。它们位于 updateType 对象下,该对象又位于 installPatchesSettings 对象下。

  • 如果 enabled 参数在 installPatchesSettings 对象中被设置为 true 值,则 enabled 参数在 scanPatchesSettings 对象中也必须被赋予 true 值。

vendorProductsPairs

参数

描述

类型

os

该供应商-产品组合兼容的操作系统。

当特定供应商-产品组合兼容多个操作系统时,可使用此属性。

整数

可选值:

  • 1 - Windows

  • 2 - Linux

  • 3 - macOS

默认值:

  • 1 ,若 id 属性所属的 供应商 对象仅包含数字。

  • 2 ,若 id 属性所属的 供应商 对象包含字母。

重要提示

提供给此属性的值必须与请求中指定的供应商-产品对兼容。使用无效组合将导致错误。

供应商

包含一个或多个供应商。

对象

该对象包含以下属性:

  • id - 供应商的ID。

    类型:字符串。

产品

包含一个或多个产品

对象数组

该对象包含以下属性:

  • id - 产品ID。

    类型:字符串。

介于

参数

描述

类型

取值范围

startHour

事件设定的开始小时。

整数

取值范围为 023 .

startMinute

事件设定的开始分钟。

整数

取值范围为 059 .

endHour

事件设定的结束小时。

整数

取值范围为 startHour23 .

endminute

事件设定的结束分钟数。

整数

取值范围为 059 .

注意

startHour:startMinute 必须早于 endHour:endMinute

调度器

参数

描述

类型

取值

recurrence

设置特定任务的执行频率

整数

可选值:

  • 1 - 立即执行。

  • 3 - 每周执行。此时必须同时包含 weeklyRecurrence 对象。

    若指定该值,则对象中必须包含 weeklyRecurrence 参数。

  • 4 - 每月。此时还必须包含 monthlyRecurrence 对象。

    若选择此值,则该对象还必须包含

    monthlyRecurrence 参数。

startDate

若选择当前日期,则指示当前纪元时间(10位字符,秒级精度)。

整数

必须为大于 0 .

between

设置运行任务的时间间隔

对象

更多信息请参阅 between .

weeklyRecurrence

确定每周任务的执行频率。

此参数仅在 recurrence 设置为 3 .

对象

包含以下信息:

  • - 设置任务运行之间的时间间隔,以周为单位。

    类型:整数

    可选值: 1 - 4 .

  • - 设置任务在一周中的特定某天重复执行。

    类型:整数数组

    可选值: 0 (周日)- 6 (周六)。

monthlyRecurrence

决定月度任务的重复频率。

此参数仅在 recurrence 设置为 4 .

对象

包含以下信息:

  • - 设置任务之间的时间间隔,以月为单位。

    类型:整数

    可选值: 1 - 12 .

  • frequency - 设置重复任务的执行频率。

    类型:整数

    可选值:

    • 0 - 在每月的特定日期运行。

      若采用此值,对象必须包含 frequencyDayNumber 参数。

      注意

      frequency 值为 0 ,则 monthlyRecurrence 对象

    • 1 - 在每月的第一个 frequencyDayOfWeek (周几)运行。

    • 2 - 在每月的第二个 frequencyDayOfWeek (周几)运行。

    • 3 - 在每月的第三个 frequencyDayOfWeek 当月的星期几。

    • 4 - 在第四个 frequencyDayOfWeek 当月的星期几。

    • 5 - 在最后一个 frequencyDayOfWeek 当月的星期几。

      注意

      如果 frequency 的值为 1 , 2 , 3 , 45 ,则该对象必须包含 frequencyDayOfWeek 参数。

  • frequencyDayNumber - 表示任务将在当月的哪一天运行。

    类型:整数

    可能取值: 1 - 31

  • frequencyDayOfWeek - 表示任务在一周中的哪一天运行。

    类型:整数

    可选值: 0 (周日) - 6 (周六)。

oldScheduler

参数

描述

类型

recurrence

设置任务运行的频率

整数

可选值:

  • 1 - 立即执行

  • 2 - 每天

  • 3 - 每周

startHour

事件设定的开始小时数。

整数

可选值: 0 - 23 .

startMinute

事件设定的开始分钟数。

整数

可选值: 0 - 59 .

days

设置任务在一周中的特定日期重复执行。

整数数组

可选值: 0 (周日)- 6 (周六)。

scanPatchesSettings

参数

描述

类型

enabled

指示是否自动扫描以搜索新补丁。对应 扫描补丁 开关位于 GravityZone 控制台。

布尔值

无额外要求。

runOnSystemChanges

表示每当安装新的受支持应用程序时是否扫描可用补丁。对应 安装新应用程序时智能扫描补丁 开关位于 GravityZone 控制台。

布尔值

无额外要求。

useFallbackSchedule

在当前调度系统( schedule )与备用系统( oldScheduler ).

字符串

可选值:

  • enabled - 必须包含 oldScheduler 参数于 installPatchesSettings .

  • disabled - 必须包含 scheduler 参数于 installPatchesSettings .

useSameSchedule

将此计划设置为所有任务的默认计划。对应 对所有目标操作使用相同计划 开关位于 GravityZone 控制台中。

布尔值

无额外要求。

scheduler

设置特定计划。

对象

包含以下信息

  • recurrence - 整型,设置特定任务的执行频率。可选值包括:

    • 3 - 每周。此时必须同时包含 weeklyRecurrence 对象。

    • 4 - 每月。此时必须同时包含 monthlyRecurrence 对象。

  • startDate - 整型,若选择当日则显示当前纪元时间(10位字符,秒级精度)。应大于 0 .

  • between - 对象,设置任务运行的时间区间。包含组件:

    • startHour - 整数,介于 023

    • startMinute - 整数,介于 059

    • endHour - 整数,介于 startHour23

    • endMinute - 整数,介于 059

      注意

      startHour:startMinute 必须小于 endHour:endMinute

  • weeklyRecurrence - 对象,当 recurrence = 3 。包含组件:

    • every - 整数,取值范围介于 14 之间。设置任务运行间隔时间,以周为单位。

    • days - 整数数组,取值范围介于 06 之间(0代表周日,6代表周六)。设置任务在一周中特定日期重复执行。

  • monthlyRecurrence - 对象,当 recurrence = 4 时为必填项。包含组件:

    • every - 整数,取值范围介于 112 之间。设置任务间隔时间,以月为单位。

    • frequency - 整数,设置重复任务的频率。可选值为:

      • 0 - 在特定日期运行

      • 1 - 在每月第 frequencyDayOfWeek 当月的第1个

      • 2 - 在当月的第2个 frequencyDayOfWeek 运行。

      • 3 - 在当月的第3个 frequencyDayOfWeek 运行。

      • 4 - 在当月的第4个 frequencyDayOfWeek 运行。

      • 5 - 在当月的最后1个 frequencyDayOfWeek 运行。

        注意

        如果 frequency 的值为 0 ,则 monthlyRecurrence 对象还必须包含 frequencyDayNumber 。如果 frequency 的值为 1 , 2 , 3 , 45 时, monthlyRecurrence 对象还必须包含 frequencyDayOfWeek .

    • frequencyDayNumber - 整数,表示任务将在当月的第几天运行。取值范围为 131 .

    • frequencyDayOfWeek 整数,表示任务将在星期几运行。取值范围为 06 ,其中0表示 周日 ,6表示 周六 .

注意

enabled = trueuseFallbackSchedule = false .

oldScheduler

使用备用系统设置特定计划。

Object

包含以下信息:

  • recurrence - 整数,设置任务运行的频率。可选值如下:

    • 2 - 表示每天

    • 3 - 表示每周

  • startHour - 整数,取值范围在 023 .

  • startMinute - 整数,取值范围在 059 .

  • - 整数数组,取值范围在 06 之间(0表示周日,6表示周六)。设置任务在每周的特定日期重复执行。

    注意

    :若 enabled = true 则必须包含此参数。若 recurrence = 2 .

返回值

:此方法返回true或false,表示维护窗口是否成功创建。

示例

请求 :

{
  "method": "createPatchManagementMaintenanceWindow",
  "id": "a7f1d11d-3c94-47f0-a599-b48d2fc44241",
  "jsonrpc": "2.0",
  "params": {
    "name": "QXPzQWvgtqtI4FlCRSU9z",
    "allowChangeByOtherUsers": true,
    "settings": {
      "downloadSettings": {
        "cachingServers": [],
        "fallbackOnDirectDownload": true
      },
      "installPatchesSettings": {
        "enabled": true,
        "ifMissedRunAsSoonAsPossible": true,
        "specificVendorAndProduct": {
          "type": 1,
          "enabled": false,
          "vendorProductsPairs": [
            {
              "os": 3,
              "vendor": {
                "id": "Oracle"
              },
              "products": [
                {
                  "id": "java-11-openjdk 11"
                },
                {
                  "id": "java-1.8.0-openjdk"
                }
              ]
            },
            {
              "vendor": {
                "id": "Inkscape"
              },
              "products": [
                {
                  "id": "0"
                }
              ]
            },
            {
              "vendor": {
                "id": "65"
              },
              "products": [
                {
                  "id": "15694"
                }
              ]
            }
          ]
        },
        "postponeReboot": {
          "option": 0
        },
        "updateType": {
          "nonSecurityPatchesSettings": {
            "enabled": true,
            "scheduler": {
              "recurrence": 3,
              "startDate": 1637258826,
              "between": {
                "startHour": 21,
                "startMinute": 0,
                "endHour": 23,
                "endMinute": 59
              },
              "weeklyRecurrence": {
                "every": 1,
                "days": [
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  0
                ]
              }
            }
          },
          "securityPatchesSettings": {
            "enabled": true,
            "scheduler": {
              "recurrence": 1
            },
            "manuallyApprovedPatchesSettings": {
              "enabled": true,
              "scheduler": {
                "recurrence": 1
              }
            }
          },
          "manuallyApprovedPatchIds": [
            "{00016C6E-0000-0000-0000-000000000000}",
            "{0001354A-0000-0000-0000-000000000000}"
          ]
        }
      },
      "scanPatchesSettings": {
        "enabled": true,
        "useSameSchedule": false,
        "useFallbackSchedule": true,
        "runOnSystemChanges": true,
        "scheduler": {
          "recurrence": 3,
          "startDate": 1637258826,
          "between": {
            "startHour": 21,
            "startMinute": 0,
            "endHour": 23,
            "endMinute": 59
          },
          "weeklyRecurrence": {
            "every": 1,
            "days": [
              1,
              2,
              3,
              4,
              5,
              6,
              0
            ]
          }
        }
      }
    },"companyId": "6196964afb457113d33fb25e"
  }
}
 

响应 :

{
   "id" : "a7f1d11d-3c94-47f0-a599-b48d2fc44241",
   "jsonrpc" : "2.0",
   "result" : {
      "data" : [
         "61969696af703331ad53a948"
      ],
      "success" : true
   }
}