REST Resource: projects.locations.units

資源:Unit

部署單元,其生命週期是透過 CRUD API,使用幕後的啟動引擎 (例如以 Terraform、Helm 或服務供應商提供的自訂實作項目為基礎) 進行管理。SaaS 租戶的構成元素。

JSON 表示法
{
  "name": string,
  "unitKind": string,
  "release": string,
  "tenant": string,
  "ongoingOperations": [
    string
  ],
  "pendingOperations": [
    string
  ],
  "scheduledOperations": [
    string
  ],
  "dependents": [
    {
      object (UnitDependency)
    }
  ],
  "dependencies": [
    {
      object (UnitDependency)
    }
  ],
  "inputVariables": [
    {
      object (UnitVariable)
    }
  ],
  "outputVariables": [
    {
      object (UnitVariable)
    }
  ],
  "maintenance": {
    object (MaintenanceSettings)
  },
  "state": enum (UnitState),
  "conditions": [
    {
      object (UnitCondition)
    }
  ],
  "managementMode": enum (ManagementMode),
  "systemManagedState": enum (SystemManagedState),
  "systemCleanupAt": string,
  "flagRevisions": [
    string
  ],
  "labels": {
    string: string,
    ...
  },
  "annotations": {
    string: string,
    ...
  },
  "uid": string,
  "etag": string,
  "createTime": string,
  "updateTime": string,
  "satisfiesPzs": boolean,
  "satisfiesPzi": boolean
}
欄位
name

string

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

"projects/{project}/locations/{location}/units/{unit}"

unitKind

string

選用。這個單元所屬 UnitKind 的參照。設定後即無法變更。

release

string

選用。僅供輸出。這個單元的目前發行物件。

tenant

string

選用。這個單元所屬的 Saas 租戶資源參照。舉例來說,這項資訊會決定要使用哪些維護政策,為裝置排定日後的更新時間。(選填,建立後無法變更)

ongoingOperations[]

string

選用。僅供輸出。正在這個單元上執行的並行 UnitOperation 清單。

pendingOperations[]

string

選用。僅供輸出。這個單元的待處理 (等待執行) UnitOperation 清單。

scheduledOperations[]

string

選用。僅供輸出。這個單元的排定 UnitOperation 清單。

dependents[]

object (UnitDependency)

選用。僅供輸出。依附於這個單元的單元清單。只有當這份清單為空白時,才能取消佈建裝置。最多 1000 個字元。

dependencies[]

object (UnitDependency)

選用。僅供輸出。這個單元的依附元件集。最多 10 個。

inputVariables[]

object (UnitVariable)

選用。僅供輸出。指出裝置目前部署的輸入變數

outputVariables[]

object (UnitVariable)

選用。僅供輸出。一組鍵/值組合,對應於執行動作範本時的輸出變數。變數會在啟動設定 (例如 Helm 圖表或 Terraform) 中宣告,執行完成後,啟動引擎會擷取並傳回值。

maintenance

object (MaintenanceSettings)

選用。擷取對裝置執行未來維護作業的要求指令。包括要求裝置在一段時間內略過維護作業並維持目前的版本,以及延後排定在未來進行的維護作業。

state

enum (UnitState)

選用。僅供輸出。資源目前的生命週期狀態 (例如是否正在建立中或已可使用)。

conditions[]

object (UnitCondition)

選用。僅供輸出。一組條件,指出這個資源可能擁有的各種條件。

managementMode

enum (ManagementMode)

選用。不可變動。指出單元生命週期是由使用者還是系統控管。建立後即無法變更。

systemManagedState

enum (SystemManagedState)

選用。僅供輸出。指出單元的系統管理狀態。

systemCleanupAt

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"

flagRevisions[]

string

選用。僅供輸出。這個單元使用的旗標修訂版本。

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"

satisfiesPzs

boolean

保留欄位,供日後使用。

satisfiesPzi

boolean

保留欄位,供日後使用。

UnitDependency

這個單元的依附元件集。最多 10 個。

JSON 表示法
{
  "alias": string,
  "unit": string
}
欄位
alias

string

僅供輸出。依附元件名稱的別名。

unit

string

僅供輸出。Unit 物件的參照。

MaintenanceSettings

擷取對裝置執行未來維護作業的要求指令。包括要求裝置在一段時間內略過維護作業並維持目前的版本,以及延後排定在未來進行的維護作業。

JSON 表示法
{
  "pinnedUntilTime": string
}
欄位
pinnedUntilTime

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"

UnitState

UnitState 會註解單元本身的目前狀態。

列舉
UNIT_STATE_UNSPECIFIED 未指定狀態。
UNIT_STATE_NOT_PROVISIONED 無法佈建裝置。
UNIT_STATE_PROVISIONING 正在佈建裝置。
UNIT_STATE_UPDATING 正在更新裝置。通常是將單元升級至新版本,或是變更單元上的部分輸入變數時,會發生這種情況。更新期間,某些類型的更新可能會導致裝置無法使用。
UNIT_STATE_DEPROVISIONING 正在刪除單位。
UNIT_STATE_READY 裝置已佈建完成,可以開始使用
UNIT_STATE_ERROR 裝置有錯誤,且未準備就緒,或發生某些錯誤作業

UnitCondition

UnitCondition 會說明 Unit 的狀態。UnitCondition 是構成整體狀態的個別元件。

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 正規化,並使用 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_READY 條件類型已準備就緒。
TYPE_UPDATING 正在更新條件類型。
TYPE_PROVISIONED 已佈建條件類型。
TYPE_OPERATION_ERROR 條件類型為 operationError。如果最後一個單元作業因無法忽略的錯誤而失敗,則為 True。

ManagementMode

管理模式會指出誰負責管理單元。

列舉
MANAGEMENT_MODE_UNSPECIFIED
MANAGEMENT_MODE_USER 使用者可管理單元的生命週期。
MANAGEMENT_MODE_SYSTEM 系統會決定何時取消佈建及刪除裝置。使用者仍可手動取消佈建或刪除裝置。

SystemManagedState

列舉
SYSTEM_MANAGED_STATE_UNSPECIFIED
SYSTEM_MANAGED_STATE_ACTIVE 單元已附加附屬項目。
SYSTEM_MANAGED_STATE_INACTIVE 單元未附加任何依附元件,但允許附加。
SYSTEM_MANAGED_STATE_DECOMMISSIONED 單元未附加任何依附元件,且不允許附加。

方法

create

建立新單元。

delete

刪除單一單位。

get

擷取單一單位。

list

擷取一系列單位。

patch

更新單一裝置。