修改 AppMirror 資源
PUT /accounts/{account_id}/k8s/v1/appMirrors/{appMirror_id}
將整個儲存的資源替換為提供的 JSON 請求主體,同時保留使用者不可修改的鍵值。
副作用
-
根據 desiredState 會產生各種副作用。
參數
| Name | 類型 | 在 | 必要 | 說明 |
|---|---|---|---|---|
account_id |
字串 |
路徑 |
True |
包含帳戶資源的 ID
|
appMirror_id |
字串 |
路徑 |
True |
要列出的 appMirror 集合的 ID |
請求本文
將整個儲存的資源替換為提供的 JSON 請求主體,同時保留使用者不可修改的鍵值。
副作用
-
根據 desiredState 會產生各種副作用。
| Name | 類型 | 必要 | 說明 |
|---|---|---|---|
類型 |
字串 |
True |
資源的媒體類型。定義的值為:
|
版本 |
字串 |
True |
資源版本。定義的值為:
|
ID |
字串 |
錯誤 |
資源的全域唯一識別碼。定義的值為:
|
來源應用程式 ID |
字串 |
錯誤 |
來源應用程式的識別碼。僅在將 sourceAppID 與 destinationAppID 互換時更新。定義的值為:
|
sourceClusterID |
字串 |
錯誤 |
託管來源應用程式的受管叢集識別碼。此欄位為唯讀,根據來源應用程式的主機叢集決定。如果在更新中提供,則必須與來源應用程式的叢集 ID 相符,因此只有在將 sourceAppID 與 destinationAppID 互換時才能變更。定義的值為:
|
目的地應用程式 ID |
字串 |
錯誤 |
目標應用程式的識別碼。建立時無法提供此識別碼,因為關係初始化過程中會產生一個新的應用程式 ID。只有在來源應用程式 ID 與目標應用程式 ID 互換時才能更新此識別碼。定義的值為:
|
目的地叢集 ID |
字串 |
錯誤 |
用於託管目標應用程式的受管叢集識別碼。建立時必須提供,因為它決定了目標應用程式將在哪個叢集上建立。如果在更新時提供,則它必須與目標應用程式的叢集 ID 相符,因此只有在 sourceAppID 與 destinationAppID 互換時才會變更。定義的值為:
|
namespaceMapping |
錯誤 |
建立目標應用程式時要使用的命名空間,與來源應用程式的命名空間相對應。每個 JSON 物件包含「clusterID」和「namespaces」欄位,其中「clusterID」的值是來源叢集或目標叢集的 JSON 字串 ID,「namespaces」的值是 JSON 字串陣列。每個叢集必須只有一個 JSON 物件,命名空間將透過索引關聯。如果未提供,則目標叢集將使用與來源叢集相同的命名空間。定義的值為:
|
|
storageClasses |
陣列["storageClasses"] |
錯誤 |
建立新的持久性磁碟區宣告(PVC)時,目標叢集上要使用的儲存類別。每個 JSON 物件包含欄位 "clusterID" 和 "storageClassName",其中 "clusterID" 的值是來源叢集或目標叢集的 JSON 字串 ID,"storageClassName" 是在該叢集上建立 PVC 時要使用的儲存類別。如果未提供或某個叢集缺少該值,則將使用該叢集的預設儲存類別。定義的值為:
|
狀態 |
字串 |
錯誤 |
關係的狀態。定義的值為:
|
stateTransitions |
錯誤 |
允許的狀態轉換。此資源可能的狀態轉換如下:
|
|
stateDesired |
字串 |
錯誤 |
關係的理想狀態。建立時,唯一有效值為 "established"。定義的值為:
|
stateAllowed |
陣列[string] |
錯誤 |
在給定狀態下可以請求的狀態。在每個已定義的狀態下,可以請求以下狀態:
|
stateDetails |
錯誤 |
關於目前狀態的其他詳細資訊,包括達到目前狀態的原因。如果沒有可用的詳細資料,此陣列將為空白。定義的值為:
|
|
transferState |
字串 |
錯誤 |
目前或最近一次 Snapshot 傳輸的狀態。定義的值為:
|
transferStateTransitions |
錯誤 |
從給定的已定義狀態允許的狀態轉換。此資源可能的狀態轉換如下:
|
|
transferStateDetails |
錯誤 |
有關目前狀態的其他詳細資料,包括達到目前狀態的原因。如果沒有可用的詳細資料,此陣列將為空白。定義的值為:
|
|
healthState |
字串 |
錯誤 |
資源的健全狀態。定義的值為:
|
healthStateTransitions |
錯誤 |
從給定的已定義狀態允許的狀態轉換。此資源可能的狀態轉換如下:
|
|
healthStateDetails |
錯誤 |
有關目前狀態的其他詳細資料,包括達到目前狀態的原因。如果沒有可用的詳細資料,此陣列將為空白。定義的值為:
|
|
中繼資料 |
錯誤 |
與資源相關聯的用戶端和服務指定中繼資料。定義的值為:
|
範例請求
{
"type": "application/astra-appMirror",
"version": "1.0",
"stateDesired": "failedOver"
}
回應
Status: 204, Indicates if the appMirror resource was updated.
回應
Status: 401, Unauthorized
| Name | 類型 | 必要 | 說明 |
|---|---|---|---|
類型 |
字串 |
True |
|
標題 |
字串 |
True |
|
詳細資料 |
字串 |
True |
|
狀態 |
字串 |
True |
|
correlationID |
字串 |
錯誤 |
範例回應
{
"type": "https://astra.netapp.io/problems/3",
"title": "Missing bearer token",
"detail": "The request is missing the required bearer token.",
"status": "401"
}
回應
Status: 400, Bad request
| Name | 類型 | 必要 | 說明 |
|---|---|---|---|
類型 |
字串 |
True |
|
標題 |
字串 |
True |
|
詳細資料 |
字串 |
True |
|
狀態 |
字串 |
True |
|
correlationID |
字串 |
錯誤 |
|
invalidFields |
陣列["invalidFields"] |
錯誤 |
無效請求本文欄位清單 |
範例回應
{
"type": "https://astra.netapp.io/problems/5",
"title": "Invalid query parameters",
"detail": "The supplied query parameters are invalid.",
"status": "400"
}
回應
Status: 409, Conflict
| Name | 類型 | 必要 | 說明 |
|---|---|---|---|
類型 |
字串 |
True |
|
標題 |
字串 |
True |
|
詳細資料 |
字串 |
True |
|
狀態 |
字串 |
True |
|
correlationID |
字串 |
錯誤 |
|
invalidFields |
陣列["invalidFields"] |
錯誤 |
無效請求本文欄位清單 |
範例回應
{
"type": "https://astra.netapp.io/problems/10",
"title": "JSON resource conflict",
"detail": "The request body JSON contains a field that conflicts with an idempotent value.",
"status": "409"
}
回應
Status: 403, Forbidden
| Name | 類型 | 必要 | 說明 |
|---|---|---|---|
類型 |
字串 |
True |
|
標題 |
字串 |
True |
|
詳細資料 |
字串 |
True |
|
狀態 |
字串 |
True |
|
correlationID |
字串 |
錯誤 |
範例回應
{
"type": "https://astra.netapp.io/problems/11",
"title": "Operation not permitted",
"detail": "The requested operation isn't permitted.",
"status": "403"
}
錯誤
Status: 404, Not found
| Name | 類型 | 必要 | 說明 |
|---|---|---|---|
類型 |
字串 |
True |
|
標題 |
字串 |
True |
|
詳細資料 |
字串 |
True |
|
狀態 |
字串 |
True |
|
correlationID |
字串 |
錯誤 |
範例錯誤回應
{
"type": "https://astra.netapp.io/problems/1",
"title": "Resource not found",
"detail": "The resource specified in the request URI wasn't found.",
"status": "404"
}
定義
請參閱定義
namespaceMapping
| Name | 類型 | 必要 | 說明 |
|---|---|---|---|
clusterID |
字串 |
錯誤 |
指定命名空間的叢集識別碼。定義的值為:
|
命名空間 |
陣列[string] |
錯誤 |
叢集上要使用的命名空間清單。透過索引與其他叢集命名空間清單關聯。定義的值為:
|
storageClasses
| Name | 類型 | 必要 | 說明 |
|---|---|---|---|
clusterID |
字串 |
錯誤 |
指定儲存類別的叢集識別碼。定義的值為:
|
storageClassName |
字串 |
錯誤 |
在「clusterID」指定的叢集上建立 PVC 時要使用的儲存類別名稱。定義的值為:
|
type_astra_stateTransition
| Name | 類型 | 必要 | 說明 |
|---|---|---|---|
從 |
字串 |
True |
|
到 |
陣列[string] |
True |
type_astra_stateDetail
| Name | 類型 | 必要 | 說明 |
|---|---|---|---|
類型 |
字串 |
True |
|
標題 |
字串 |
True |
|
詳細資料 |
字串 |
True |
type_astra_label
| Name | 類型 | 必要 | 說明 |
|---|---|---|---|
姓名 |
字串 |
True |
|
值 |
字串 |
True |
type_astra_metadata_update
與資源相關聯的用戶端和服務指定中繼資料。定義的值為:
-
符合 Astra Metadata Schema。如果在建立時未指定、則會建立沒有標籤的中繼資料物件。如果在更新時未指定,元資料物件的標籤、creationTimestamp 和 createdBy 將保持不變。
| Name | 類型 | 必要 | 說明 |
|---|---|---|---|
標籤 |
錯誤 |
||
建立時間戳記 |
字串 |
錯誤 |
|
修改時間戳記 |
字串 |
錯誤 |
|
建立者 |
字串 |
錯誤 |
|
modifiedBy |
字串 |
錯誤 |
invalidParams
| Name | 類型 | 必要 | 說明 |
|---|---|---|---|
姓名 |
字串 |
True |
無效查詢參數的名稱 |
原因 |
字串 |
True |
查詢參數無效的原因 |
invalidFields
| Name | 類型 | 必要 | 說明 |
|---|---|---|---|
姓名 |
字串 |
True |
無效請求內文欄位的名稱 |
原因 |
字串 |
True |
請求本文欄位無效的原因 |