REST Resource: projects.locations.rollouts

资源:Rollout

表示一次发布执行及其结果

JSON 表示法
{
  "name": string,
  "release": string,
  "flagRelease": string,
  "startTime": string,
  "endTime": string,
  "state": enum (RolloutState),
  "stateMessage": string,
  "stateTransitionTime": string,
  "rootRollout": string,
  "parentRollout": string,
  "rolloutOrchestrationStrategy": string,
  "unitFilter": string,
  "rolloutKind": string,
  "stats": {
    object (RolloutStats)
  },
  "control": {
    object (RolloutControl)
  },
  "effectiveUnitFilter": string,
  "labels": {
    string: string,
    ...
  },
  "annotations": {
    string: string,
    ...
  },
  "uid": string,
  "etag": string,
  "createTime": string,
  "updateTime": string,
  "deleteTime": string
}
字段
name

string

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

"projects/{project}/locations/{location}/rollout/{rolloutId}"

release

string

可选。不可变。将向目标单元推出的版本的名称。如果未指定其他类型的发布版本,则必须指定此类型。

flagRelease

string

可选。不可变。要向目标单元推出的 FlagRelease 的名称。Release 和 FlagRelease 互斥。

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"

endTime

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"

state

enum (RolloutState)

仅限输出。发布版本的当前状态。

stateMessage

string

仅限输出。人类可读的消息,指示有关上次状态转换的详细信息。

stateTransitionTime

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"

rootRollout

string

可选。仅限输出。此发布所源自的根发布。遵循标准命名方案的资源名称(资源的完整 URI):

"projects/{project}/locations/{location}/rollouts/{rolloutId}"

parentRollout

string

可选。仅限输出。此发布所源自的直接父发布。遵循标准命名方案的资源名称(资源的完整 URI):

"projects/{project}/locations/{location}/rollouts/{rolloutId}"

rolloutOrchestrationStrategy

string

可选。用于执行相应发布作业的策略。此策略将覆盖 RolloutKind 中指定的任何策略。如果在创建时未指定,则使用 RolloutKind 中的策略。

有两种受支持的值策略可用于控制:“Google.Cloud.Simple.AllAtOnce”“Google.Cloud.Simple.OneLocationAtATime”

采用这些简单策略之一的发布将在定位到的 UnitKind 的 SaaS 位置中定义的所有位置进行。

unitFilter

string

可选。针对单元的 CEL(https://github.com/google/cel-spec) 格式化过滤字符串。系统将应用过滤条件来确定符合条件的单元人口。此过滤条件只能缩小发布范围,而不能扩大发布范围。如果未提供,将使用 RolloutKind 中的 unitFilter。

rolloutKind

string

必需。不可变。相应发布所源自并遵循的 RolloutKind 的名称。

stats

object (RolloutStats)

可选。仅限输出。有关发布进度的详细信息。

control

object (RolloutControl)

可选。针对此发布版本的执行情况请求的更改。默认 RolloutControl.action 为 ROLLOUT_ACTION_RUN,这意味着在经历所有自然发布状态(例如 RUNNING -> SUCCEEDED 或 RUNNING -> FAILED)时,发布将执行至完成。只有在发布处于非最终状态时才能提出请求。

effectiveUnitFilter

string

可选。仅限输出。仅限输出。发布开始时间时的有效单位过滤条件的快照。包含一个 CEL(https://github.com/google/cel-spec) 表达式,该表达式由 Rollout.unit_filter 和 RolloutKind.unit_filter 的合取组成。此字段用于捕获发布版本应用来确定单元人口的过滤条件。如果关联的 RolloutKind 的 unitFilter 在发布开始后被修改,则此处不会更新。

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"

RolloutState

发布版本的当前状态。

枚举
ROLLOUT_STATE_UNSPECIFIED 未指定状态。
ROLLOUT_STATE_RUNNING 正在推出。
ROLLOUT_STATE_PAUSED 发布已暂停。
ROLLOUT_STATE_SUCCEEDED 发布已成功完成。
ROLLOUT_STATE_FAILED 发布失败。
ROLLOUT_STATE_CANCELLED 发布已取消。
ROLLOUT_STATE_WAITING 发布流程正在等待满足某个条件,然后才会开始。
ROLLOUT_STATE_CANCELLING 正在取消发布。
ROLLOUT_STATE_RESUMING 正在恢复发布。
ROLLOUT_STATE_PAUSING 正在暂停推出。

RolloutStats

RolloutStats 包含有关发布进度的信息。

JSON 表示法
{
  "operationsByState": [
    {
      object (Aggregate)
    }
  ],
  "estimatedTotalUnitCount": string
}
字段
operationsByState[]

object (Aggregate)

可选。仅限输出。无序列表。由发布触发的操作的进度细分。按状态提供操作的计数。此属性可用于确定已更新或计划更新的设备数量。

每个群组最多只能有一个条目。操作组的可能值为:-“SCHEDULED”-“PENDING”-“RUNNING”-“SUCCEEDED”-“FAILED”-“CANCELLED”

estimatedTotalUnitCount

string (int64 format)

可选。仅限输出。基于估算单位数。系统会在创建发布时计算估算值。

汇总

表示一组类似记录的总体按特定组进行的汇总。例如,可以按州汇总和分组单位数量的集合。

JSON 表示法
{
  "group": string,
  "count": integer
}
字段
group

string

必需。用于汇总的分组依据。

count

integer

必需。相应组中的记录数。

RolloutControl

RolloutControl 提供了一种通过暂停或取消来请求更改 Rollout 执行的方式。

JSON 表示法
{
  "action": enum (RolloutAction),

  // Union field action_params can be only one of the following:
  "runParams": {
    object (RunRolloutActionParams)
  }
  // End of list of possible types for union field action_params.
}
字段
action

enum (RolloutAction)

必需。要对发布执行的操作。默认行为是运行发布,直到其自然达到终止状态。

联合字段 action_params。操作的设置。设置必须与操作匹配,例如:action=RUN 只能设置 run_params 或省略所有参数。如果设置不适用于相应操作,则会出错。action_params 只能是下列其中一项:
runParams

object (RunRolloutActionParams)

可选。RUN 操作的参数。如果未将 RolloutAction 设置为 RUN,则指定此字段会出错。默认情况下,发布在恢复时会重试失败的操作。

RunRolloutActionParams

RUN 操作的参数,用于控制从 PAUSED 状态恢复时发布版本的行为。

JSON 表示法
{
  "retryFailedOperations": boolean
}
字段
retryFailedOperations

boolean

必需。如果为 true,则发布在恢复时会重试失败的操作。仅当发布版本的当前状态为 PAUSED 且所请求的操作为 RUN 时,此字段才适用。

RolloutAction

RolloutAction 表示要对 Rollout 执行的操作。

枚举
ROLLOUT_ACTION_UNSPECIFIED 未指定操作,默认情况下将视为 RUN。
ROLLOUT_ACTION_RUN 运行发布,直到其自然达到终止状态。请求运行的发布将经历所有自然发布状态(例如 RUNNING -> SUCCEEDED 或 RUNNING -> FAILED)。如果在发布期间遇到可重试的错误,发布将默认暂停,并且可以通过重新请求此 RUN 操作来恢复。
ROLLOUT_ACTION_PAUSE 暂停发布,直到恢复发布(即请求运行)为止。
ROLLOUT_ACTION_CANCEL 永久取消发布。

方法

create

创建新的发布。

delete

删除单个发布。

get

检索单个发布版本。

list

检索一组发布。

patch

更新单个发布。