跳至主内容

更新补丁管理维护窗口

此方法用于修改补丁管理的维护窗口。

参数

参数

描述

请求包含项

类型

取值

名称

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

必填

字符串

可选值:

  • 长度必须介于1至80个字符之间。

  • 必须保持唯一性。

companyId

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

可选

字符串

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

要求:

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

  • 所选公司必须持有包含补丁管理功能访问权限的许可证。

allowChangeByOtherUsers

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

必填

布尔值

无附加要求。

settings

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

必填

对象数组

参见???

对象

downloadSettings

参数

描述

类型

cachingServers

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

对象数组

包含以下信息:

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

fallbackOnDirectDownload

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

布尔值

无额外要求。

installPatchesSettings

参数

描述

类型

enabled

指示启用时补丁是否自动应用。对应 应用补丁 开关在 GravityZone 控制台中。

布尔值

无额外要求。

ifMissedRunAsSoonAsPossible

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

布尔值

无额外要求。

特定供应商与产品

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

对象

包含以下信息:

  • 启用状态 - 表示是否允许包含或排除。

    类型:布尔值

  • 类型 - 选择包含或排除供应商及产品免于打补丁。

    类型:整数

    可选值:

    • 1 - 表示包含,

      2 - 表示排除。

  • 供应商产品对 - 用于选择产品与供应商。

    类型:对象数组

    更多信息请参阅???。

延迟重启

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

对象

包含以下信息:

  • 选项 - 表示如何延迟重启。

    类型:整数

    可选值:

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

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

      若分配此值,则请求中必须同时包含 afterMinutes , afterCustomMessagebetween 属性。

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

      若分配此值,则请求中必须同时包含 afterMinutesafterCustomMessage 属性。

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

    类型:整数

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

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

    类型:字符串

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

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

    类型:对象

    更多信息,请参阅 between .

updateType

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

对象

包含以下信息:

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

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

    • scheduler - 设置特定的计划。

      类型:对象

      如果满足以下条件,则必须在对象中包含此参数:

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

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

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

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

      更多信息请参阅 scheduler .

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

      类型:对象

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

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

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

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

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

      更多信息请参阅 oldScheduler .

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

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

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

      类型:对象

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

      • 如果 enabled 参数位于 nonSecurityPatchesSettings 对象下且其值为 true 时。

      • useSameScheduler 参数位于 scanPatchesSettings 对象下且其值为 false 时。

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

      • useSameScheduler 参数位于 scanPatchesSettings 对象下且其值为 true 时。

      更多信息请参阅 scheduler .

    • oldScheduler - 使用备用系统设置特定调度方案。

      类型:对象

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

      • enabled 参数位于 nonSecurityPatchesSettings 对象下且其值为 true 时。

      • useSameScheduler 参数位于 scanPatchesSettings 对象下且其值为 false 时。

      以下情况将忽略该参数:

      • useSameScheduler 参数位于 scanPatchesSettings 对象下且其值为 true 时。

      更多信息请参阅 oldScheduler .

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

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

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

      类型:对象

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

      • 如果 enabled 参数位于 securityPatchesSettings 对象下且值为 false

      • 如果 useSameScheduler 参数位于 scanPatchesSettings 对象下且值为 false

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

      • useSameScheduler 参数位于 scanPatchesSettings 对象下且值为 true

      更多信息请参阅???。

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

      类型:对象

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

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

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

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

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

      更多信息请参阅 oldScheduler .

    注意

    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 属性所属的 供应商 对象包含字母时)

重要提示

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

vendor

包含一个或多个供应商。

对象

该对象包含以下属性:

  • id - 供应商ID。

    类型:字符串。

products

包含一个或多个产品

对象数组

该对象包含以下属性:

  • id - 产品ID。

    类型:字符串。

between

参数

描述

类型

取值范围

startHour

事件设定的开始小时。

整数

取值范围为 023 .

startMinute

事件设定的开始分钟。

整数

取值范围为 059 .

endHour

事件设定的结束小时。

整数

取值范围在 startHour23 .

endminute

事件设定的结束分钟。

整数

取值范围在 059 .

注意

startHour:startMinute 必须小于 endHour:endMinute

scheduler

参数

描述

类型

取值

recurrence

设置特定任务的执行频率

整数

可选值:

  • 1 - 立即执行。

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

    若赋值此项,对象中必须同时包含 weeklyRecurrence 参数。

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

    若选择此值,对象中必须同时包含

    monthlyRecurrence 参数。

startDate

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

整数

必须为大于 0 .

介于

设置任务运行的时间间隔

对象

更多信息请参阅???。

weeklyRecurrence

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

该参数仅在 recurrence 设置为 3 .

对象

包含以下信息:

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

    类型:整数

    可选值: 1 - 4 .

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

    类型:整数数组

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

monthlyRecurrence

确定每月任务的频率。

此参数仅在 recurrence 设置为 4 .

对象

包含以下信息:

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

    类型:整数

    可选值: 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

参数

描述

类型

取值

启用

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

布尔值

无额外要求。

runOnSystemChanges

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

布尔值

无额外要求。

useFallbackSchedule

在当前计划系统( schedule )与回退系统( oldScheduler ).

字符串

可选值:

  • 启用 - 必须将 oldScheduler 参数包含在 installPatchesSettings .

  • 禁用 - 调度器 参数必须包含在 installPatchesSettings .

useSameSchedule

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

布尔值

无额外要求。

调度器

设置特定计划。

对象

包含以下信息

  • 重复周期 - 整型,设置特定任务的频率。可取值如下:

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

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

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

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

    • 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 周几运行

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

      • 3 - 在每月的第三个 frequencyDayOfWeek 周几运行

      • 4 - 在每月的第四个 frequencyDayOfWeek 周几运行

      • 5 - 在每月的最后一个 frequencyDayOfWeek 周几运行

        注意

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

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

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

注意

启用 = 使用后备计划 = .

旧调度器

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

对象

包含以下信息:

  • 重复周期 - 整数,设定任务运行频率。可选值如下:

    • 2 - 每日

    • 3 - 每周

  • 起始小时 - 整数。取值范围为 023 .

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

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

    注意

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

返回值

此方法返回布尔值true或false,表示维护窗口是否成功更新。

示例

请求 :

{
  "method": "updatePatchManagementMaintenanceWindow",
  "id": "a7f1d11d-3c94-47f0-a599-b48d2fc44241",
  "jsonrpc": "2.0",
  "params": {
    "id": "61974ab63bdfe97a6c34fe4d",
    "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
            ]
          }
        },
      }
    }
  }
}

响应 :

{
   "id" : "a7f1d11d-3c94-47f0-a599-b48d2fc44241",
   "jsonrpc" : "2.0",
   "result" : {
      "success" : true
   }
}