REST Resource: projects.locations.unitOperations

资源:UnitOperation

UnitOperation 封装了更改/与特定单元所代表的服务组件互动的意图。您可以创建(请求)多个 UnitOperation 并安排在未来执行,但一次只能执行一个(未来可能会允许同时执行多个非变异操作)。

UnitOperations 允许与同一单元互动的不同参与者仅关注他们请求的更改。

这是一个基本对象,包含所有单元操作中的通用字段。Next:22

JSON 表示法
{
  "name": string,
  "unit": string,
  "parentUnitOperation": string,
  "rollout": string,
  "cancel": boolean,
  "state": enum (UnitOperationState),
  "conditions": [
    {
      object (UnitOperationCondition)
    }
  ],
  "schedule": {
    object (Schedule)
  },
  "engineState": string,
  "errorCategory": enum (UnitOperationErrorCategory),
  "labels": {
    string: string,
    ...
  },
  "annotations": {
    string: string,
    ...
  },
  "uid": string,
  "etag": string,
  "createTime": string,
  "updateTime": string,
  "deleteTime": string,

  // Union field unit_operation_type can be only one of the following:
  "provision": {
    object (Provision)
  },
  "upgrade": {
    object (Upgrade)
  },
  "deprovision": {
    object (Deprovision)
  }
  // End of list of possible types for union field unit_operation_type.
}
字段
name

string

标识符。遵循标准命名方案的资源名称(资源的完整 URI):

"projects/{project}/locations/{location}/unitOperations/{unitOperation}"

unit

string

必需。不可变。指定 UnitOperation 将作用于的 Unit。

parentUnitOperation

string

可选。对父资源(即 UnitOperation)的引用。如果某项操作需要在其工作流程中创建其他操作,则每个子操作都应将此字段设置为父操作。这可用于跟踪。(可选)

rollout

string

可选。指定哪个发布创建了此单元操作。此值无法修改,仅用于过滤。如果相关单元和单元操作是作为另一单元操作的一部分创建的,则它们将使用相同的 rolloutId。

cancel

boolean

可选。如果值为 true,则尝试取消操作。如果操作已在执行,则取消操作可能会失败。(可选)

state

enum (UnitOperationState)

可选。仅限输出。UnitOperationState 描述了单元操作的当前状态。

conditions[]

object (UnitOperationCondition)

可选。仅限输出。一组条件,用于指示相应资源可能具有的各种条件。

schedule

object (Schedule)

可选。何时安排此操作。

engineState

string

可选。仅限输出。正在进行的部署引擎操作的引擎状态。此字段对于外部使用是不透明的。

errorCategory

enum (UnitOperationErrorCategory)

可选。仅限输出。UnitOperationErrorCategory 用于描述错误类别。

labels

map (key: string, value: string)

可选。资源上的标签,可用于分类。与 Kubernetes 资源标签类似。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

annotations

map (key: string, value: string)

可选。注释是与资源一起存储的非结构化键值对映射,可由外部工具设置,用于存储和检索任意元数据。它们无法查询,并且在修改对象时应予以保留。

如需了解详情,请参阅 https://kubernetes.io/docs/user-guide/annotations

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

uid

string

仅限输出。资源的唯一标识符。在服务范围内,UID 在此资源的时间和空间内是唯一的。它通常是服务器在成功创建资源时生成的,不得进行更改。当存在资源名称重用时,UID 可用来唯一地标识资源。此字段应为 UUID4。

etag

string

仅限输出。不透明值,用于唯一地标识资源的版本或世代。它可用于确认客户端和服务器是否就正在写入的资源的顺序达成一致。

createTime

string (Timestamp format)

仅限输出。创建资源时的时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

仅限输出。上次更新资源时的时间戳。用户对此资源的任何更改都必须刷新此值。服务对资源的更改应刷新此值。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

deleteTime

string (Timestamp format)

仅限输出。资源被标记为待删除的时间戳(删除是一项异步操作)。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

联合字段 unit_operation_type

unit_operation_type 只能是下列其中一项:

provision

object (Provision)

upgrade

object (Upgrade)

deprovision

object (Deprovision)

配置

Provision 是预配由 Unit 表示的底层资源的单元操作。只有在相应设备目前未配置的情况下才能执行。

JSON 表示法
{
  "release": string,
  "inputVariables": [
    {
      object (UnitVariable)
    }
  ]
}
字段
release

string

可选。要用于相应单元的 Release 对象的引用。(可选)。

inputVariables[]

object (UnitVariable)

可选。一组输入变量。最多 100 个。(可选)

升级

升级是指升级已配置的单元的单元操作,可能还包括由单元表示的底层资源。只有在相应设备目前已完成配置的情况下才能执行。

JSON 表示法
{
  "release": string,
  "inputVariables": [
    {
      object (UnitVariable)
    }
  ]
}
字段
release

string

可选。要用于相应单元的 Release 对象的引用。(可选)。

inputVariables[]

object (UnitVariable)

可选。一组输入变量。最多 100 个。(可选)

取消配置

此类型没有字段。

取消预配是指取消预配由单元表示的底层资源的单元操作。只有在相应设备目前已完成配置的情况下才能执行。

UnitOperationState

UnitOperationState 描述了单元操作的当前状态。

枚举
UNIT_OPERATION_STATE_UNKNOWN
UNIT_OPERATION_STATE_PENDING 单元操作已接受,但尚未准备好运行。
UNIT_OPERATION_STATE_SCHEDULED 单元操作已接受并已安排。
UNIT_OPERATION_STATE_RUNNING 单元操作正在运行。
UNIT_OPERATION_STATE_SUCCEEDED 单元操作已成功完成。
UNIT_OPERATION_STATE_FAILED 单元操作失败。
UNIT_OPERATION_STATE_CANCELLED 已取消单元操作。

UnitOperationCondition

UnitOperationCondition 描述了单元操作的状态。UnitOperationCondition 是构成整体状态的各个组件。

JSON 表示法
{
  "status": enum (Status),
  "type": enum (Type),
  "lastTransitionTime": string,
  "message": string,
  "reason": string
}
字段
status

enum (Status)

必需。条件的状态。

type

enum (Type)

必需。条件的类型。

lastTransitionTime

string (Timestamp format)

必需。条件上次从一种状态转换到另一种状态的时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

message

string

必需。人类可读的消息,指示有关上次转换的详细信息。

reason

string

必需。条件上次转换的简要原因。

状态

条件状态的枚举。

枚举
STATUS_UNSPECIFIED 使用情况状态未指定。
STATUS_UNKNOWN 情况未知。
STATUS_TRUE 条件为 true。
STATUS_FALSE 条件为 false。

类型

条件类型的枚举。

枚举
TYPE_UNSPECIFIED 未指定条件类型。
TYPE_SCHEDULED 条件类型为“已安排”。
TYPE_RUNNING 条件类型为“正在运行”。
TYPE_SUCCEEDED 条件类型为“成功”。
TYPE_CANCELLED 条件类型已取消。
TYPE_APP_CREATED 指示 AppHub 应用是否已创建。
TYPE_APP_COMPONENTS_REGISTERED 指示服务和工作负载是否已向 AppHub 注册。

时间表

用于安排维护的时间规范。

JSON 表示法
{
  "startTime": string
}
字段
startTime

string (Timestamp format)

可选。操作开始时间。如果未设置,则会设置为下一个窗口的开头。(可选)

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

UnitOperationErrorCategory

UnitOperationErrorCategory 用于描述单元操作的错误类别。

枚举
UNIT_OPERATION_ERROR_CATEGORY_UNSPECIFIED 未指定单元操作错误类别
NOT_APPLICABLE 单元操作错误类别不适用,或者不是错误
FATAL 单元操作错误类别为严重错误
RETRIABLE 单元操作错误类别是否可重试
IGNORABLE 单元操作错误类别可忽略
STANDARD 单元操作错误类别为标准,计入发布作业错误预算

方法

create

创建新的单元操作。

delete

删除单个单元操作。

get

检索单个单元操作。

list

检索一组单元操作。

patch

更新单个单元操作。