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

ID。資源名稱 (資源的完整 URI),遵循標準命名架構:

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

release

string

選用。不可變動。要向目標裝置推出的版本名稱。如未指定其他發行類型,則必須提供這項資訊。

flagRelease

string

選用。不可變動。要推出至目標單元的 FlagRelease 名稱。「Release」和「FlagRelease」互斥。

startTime

string (Timestamp format)

選用。僅供輸出。推出作業開始執行的時間。如果尚未開始推出,這個欄位會是空白。

使用 RFC 3339,產生的輸出內容一律會經過 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 正規化,並使用 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 正規化,並使用 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

選用。僅供輸出。僅輸出推出作業開始時的有效單元篩選條件快照。包含由 Rollout.unit_filter 和 RolloutKind.unit_filter 的連詞組成的 CEL(https://github.com/google/cel-spec) 運算式。這個欄位會擷取 Rollout 套用的篩選器,以判斷 Unit 母體。如果相關聯的 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 通常是由伺服器在成功建立資源時產生,且不可變更。資源名稱會重複使用,因此您可以使用 UID 明確識別資源。這應為 UUID4。

etag

string

僅供輸出。能明確識別版本或產生資源的不透明值。可用來確認用戶端和伺服器同意寫入資源的順序。

createTime

string (Timestamp format)

僅供輸出。資源的建立時間戳記。

使用 RFC 3339,產生的輸出內容一律會經過 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 正規化,並使用 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 正規化,並使用 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 的方式,藉此要求變更 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,推出作業會在繼續執行時重試失敗的作業。只有在目前推出狀態為「已暫停」且要求動作為「執行」時,才適用這項設定。

RolloutAction

RolloutAction 會指出要對 Rollout 執行的動作。

列舉
ROLLOUT_ACTION_UNSPECIFIED 未指定動作,預設會視為 RUN。
ROLLOUT_ACTION_RUN 執行 Rollout,直到自然達到終止狀態為止。要求執行的推出作業會經歷所有自然推出狀態 (例如 RUNNING -> SUCCEEDED 或 RUNNING -> FAILED)。如果在推出期間發生可重試的錯誤,系統預設會暫停推出作業,只要重新要求這項 RUN 動作,即可繼續推出。
ROLLOUT_ACTION_PAUSE 暫停推出作業,直到恢復為止 (即要求 RUN)。
ROLLOUT_ACTION_CANCEL 永久取消推出作業。

方法

create

建立新的推出作業。

delete

刪除單一推出作業。

get

擷取單一推出作業。

list

擷取一系列推出作業。

patch

更新單一發布內容。