PatchConfig

补丁程序配置规范。包含有关如何将一个或多个补丁程序应用到虚拟机实例的详细信息。

JSON 表示法

{
      "rebootConfig": enum (RebootConfig),
      "apt": {
        object (AptSettings)
      },
      "yum": {
        object (YumSettings)
      },
      "goo": {
        object (GooSettings)
      },
      "zypper": {
        object (ZypperSettings)
      },
      "windowsUpdate": {
        object (WindowsUpdateSettings)
      },
      "preStep": {
        object (ExecStep)
      },
      "postStep": {
        object (ExecStep)
      }
    }
字段
rebootConfig

enum (RebootConfig)

修补后重新启动设置。

apt

object (AptSettings)

Apt 更新设置。此设置用于替换默认的 apt 修补规则。

yum

object (YumSettings)

Yum 更新设置。此设置用于替换默认的 yum 修补规则。

goo

object (GooSettings)

Goo 更新设置。此设置用于替换默认的 goo 修补规则。

zypper

object (ZypperSettings)

Zypper 更新设置。此设置用于替换默认的 zypper 修补规则。

windowsUpdate

object (WindowsUpdateSettings)

Windows 更新设置。此设置用于替换默认的 Windows 修补规则。

preStep

object (ExecStep)

要在补丁程序更新之前运行的 ExecStep

postStep

object (ExecStep)

要在补丁程序更新之后运行的 ExecStep

RebootConfig

修补后重新启动设置。

枚举
REBOOT_CONFIG_UNSPECIFIED 默认行为是 DEFAULT。
DEFAULT 代理会通过检查操作系统信号(例如 Windows 上的注册表项或基于 RPM 的系统上的 /var/run/reboot-required),确定是否需要重新启动。在基于 RPM 的系统中,代理会将一组核心系统软件包安装时间与系统启动时间进行比较。
ALWAYS 更新完成后始终重新启动机器。
NEVER 更新完成后永不重新启动机器。

AptSettings

执行 apt-get update && apt-get upgrade 来完成 Apt 修补。您可以设置其他选项来控制具体执行方式。

JSON 表示法

{
      "type": enum (Type),
      "excludes": [
        string
      ],
      "exclusivePackages": [
        string
      ]
    }
字段
type

enum (Type)

通过将类型更改为 DIST,使用 apt-get dist-upgrade 执行修补。

excludes[]

string

要从更新中排除的软件包列表。系统会排除这些软件包

exclusivePackages[]

string

待更新软件包的排除列表。系统只会更新这些软件包。如果未安装这些软件包,系统将忽略它们。此字段不能与任何其他补丁程序配置字段一起指定。

Type

Apt 补丁程序类型。

枚举
TYPE_UNSPECIFIED 默认情况下,系统会执行升级。
DIST 运行 apt-get dist-upgrade
UPGRADE 运行 apt-get upgrade

YumSettings

执行 yum update 来完成 Yum 修补。您可以设置其他选项来控制具体执行方式。

请注意,并非所有平台都支持所有设置。

JSON 表示法

{
      "security": boolean,
      "minimal": boolean,
      "excludes": [
        string
      ],
      "exclusivePackages": [
        string
      ]
    }
字段
security

boolean

--security 标志添加到 yum update。并非所有平台都支持此字段。

minimal

boolean

这将导致补丁程序改为运行 yum update-minimal

excludes[]

string

要从更新中排除的软件包列表。使用 yum --exclude 标志排除这些软件包。

exclusivePackages[]

string

待更新软件包的排除列表。系统只会更新这些软件包。如果未安装这些软件包,系统将忽略它们。此字段不得与任何其他补丁程序配置字段一起指定。

GooSettings

运行 googet update 来执行 Googet 修补。

ZypperSettings

运行 zypper patch 来执行 Zypper 修补。另请参阅 https://en.opensuse.org/SDB:Zypper_manual

JSON 表示法

{
      "withOptional": boolean,
      "withUpdate": boolean,
      "categories": [
        string
      ],
      "severities": [
        string
      ],
      "excludes": [
        string
      ],
      "exclusivePatches": [
        string
      ]
    }
字段
withOptional

boolean

--with-optional 标志添加到 zypper patch

withUpdate

boolean

--with-update 标志添加到 zypper patch

categories[]

string

仅安装指定类别的补丁程序。常见类别包括安全、推荐和特性。

severities[]

string

仅安装指定严重程度的补丁程序。常见严重程度包括严重、重要、中等和低。

excludes[]

string

要从更新中排除的补丁程序列表。

exclusivePatches[]

string

待更新补丁程序的排除列表。系统将使用“zypper patch patch:”命令仅安装这些补丁程序。此字段不得与任何其他补丁程序配置字段一起使用。

WindowsUpdateSettings

使用 Windows 更新代理执行 Windows 修补。

JSON 表示法

{
      "classifications": [
        enum (Classification)
      ],
      "excludes": [
        string
      ],
      "exclusivePatches": [
        string
      ]
    }
字段
classifications[]

enum (Classification)

仅应用这些 Windows 更新分类的更新。如果留空,则系统会应用所有更新。

excludes[]

string

要从更新中排除的知识库列表。

exclusivePatches[]

string

待更新知识库的排除列表。系统只会更新这些补丁程序。此字段不得与其他补丁程序配置一起使用。

Classification

Microsoft Windows 更新分类(定义见 [1] https://support.microsoft.com/zh-cn/help/824684/description-of-the-standard-terminology-that-is-used-to-describe-micro

枚举
CLASSIFICATION_UNSPECIFIED 无效。如果加入了分类,则必须加以指定。
CRITICAL “针对特定问题广泛发布的修补程序,用来解决与安全无关的重要缺陷。”[1]
SECURITY “一个广泛发布的修补程序,用于修复特定产品与安全相关的漏洞。安全漏洞根据其严重度进行分级。Microsoft 安全公告中将严重度分级标为严重、重要、中等或低。”[1]
DEFINITION “广泛发布和频繁的软件更新,包含产品定义数据库的添加内容。定义数据库通常用于检测具有特定属性的对象,如恶意代码、网络钓鱼网站或垃圾邮件。”[1]
DRIVER “控制设备输入和输出的软件。”[1]
FEATURE_PACK “新的产品功能,它开始时不随产品版本一起分发,而且通常包含在下一个完整的产品版本中。”[1]
SERVICE_PACK “一套经过测试的、累积的修补程序、安全更新、关键更新以及其他更新。此外,Service Pack 还可能包含针对自产品发布以来内部所发现问题的其他修补程序。Service Pack 还可能包含有限数量的客户所要求的设计更改或功能。”[1]
TOOL “帮助完成一项或一组任务的实用程序或功能。”[1]
UPDATE_ROLLUP “一套经过测试的累积修补程序、安全更新、关键更新以及其他更新;它们作为一个程序包集成在一起,从而便于部署。汇总通常针对特定领域,例如,安全性或产品的某个组件(如 Internet 信息服务 (IIS))。”[1]
UPDATE “针对一个特定问题广泛发布的修补程序。一个更新用于修补与安全无关的非重要缺陷。”[1]

ExecStep

为 PatchJob 运行可执行文件的步骤。

JSON 表示法

{
      "linuxExecStepConfig": {
        object (ExecStepConfig)
      },
      "windowsExecStepConfig": {
        object (ExecStepConfig)
      }
    }
字段
linuxExecStepConfig

object (ExecStepConfig)

适用于 PatchJob 所指向的所有 Linux 虚拟机的 ExecStepConfig。

windowsExecStepConfig

object (ExecStepConfig)

适用于 PatchJob 所指向的所有 Windows 虚拟机的 ExecStepConfig。

ExecStepConfig

ExecStep 的通用配置。

JSON 表示法

{
      "allowedSuccessCodes": [
        integer
      ],
      "interpreter": enum (Interpreter),

      // Union field executable can be only one of the following:
      "localPath": string,
      "gcsObject": {
        object (GcsObject)
      }
      // End of list of possible types for union field executable.
    }
字段
allowedSuccessCodes[]

integer

默认值为 [0]。一系列可能的返回值,执行作业可返回这些值来指示成功。

interpreter

enum (Interpreter)

要用于运行脚本的脚本解释器。如果未指定解释器,则脚本将直接执行,但可能仅有包含 shebang 行的脚本会取得成功。

联合字段 executable。可执行文件的位置。executable 只能是下列其中一项:
localPath

string

虚拟机上可执行文件的绝对路径。

gcsObject

object (GcsObject)

包含可执行文件的 Google Cloud Storage 对象。

GcsObject

Google Cloud Storage 对象表示法。

JSON 表示法

{
      "bucket": string,
      "object": string,
      "generationNumber": string
    }
字段
bucket

string

必填。Google Cloud Storage 对象所在的存储分区。

object

string

必填。Google Cloud Storage 对象的名称。

generationNumber

string (int64 format)

必填。Google Cloud Storage 对象的世代编号。用于确保此 PatchJob 指定的 ExecStep 不会发生变化。

Interpreter

用于执行文件的解释器。

枚举
INTERPRETER_UNSPECIFIED 不适用于 Windows ExecStepConfig。对于 Linux ExecStepConfig,如果未指定此项,则系统将根据脚本的 shebang 行解析解释器。
SHELL 表示此脚本在 Linux 上用 /bin/sh 运行,在 Windows 上用 cmd 运行。
POWERSHELL 表示文件使用 PowerShell 标志 -NonInteractive-NoProfile-ExecutionPolicy Bypass 运行。