管理自訂映像檔

將自訂映像匯入 IBM Cloud VPC 之後,您可以檢視映像的詳細資訊、管理映像的生命週期、使用映像建立虛擬伺服器實體、匯出映像,甚至與私人目錄共用。

IBM Cloud® Identity and Access Management (IAM) 可讓您為平台服務安全地驗證使用者身分,並在整個 範圍內一致地控制對資源的存取權限。IBM Cloud 如需自訂映像檔存取需求的相關資訊,請參閱 Image Service for VPC 中的 IAM 角色及動作資訊。

如需下列範例中 $vpc_api_endpoint$iam_token 變數的詳細資料,請參閱 Virtual Private Cloud API 簡介 中的「鑑別及端點 URL」小節。

使用使用者介面管理自訂映像檔

可以使用 IBM Cloud 主控台來管理映像檔。

  1. IBM Cloud 控制台中,請依序點選「導覽選單圖示 >「基礎架構 VPC」圖示 >「運算」>「映像檔」
  2. 自訂影像 標籤上,按一下特定影像的「動作」圖示 「其他動作」圖示,然後從可用的選項中選取。 已加密的自訂映像檔由映像檔名稱之後的鎖定圖示識別。 您可以從以下操作中進行選擇:
自訂影像動作
動作 說明
重新命名 重新命名自訂映像檔。
建立虛擬伺服器實例 從自訂映像檔建立新的虛擬伺服器。
匯出 將自訂映像檔複製到 IBM Cloud Object Storage。
共用至型錄 將 IBM Cloud VPC 自訂映像檔共用至現有的專用型錄。
複製 複製自訂映像檔的 UUID。
檢視總和檢查 檢視自訂映像檔的總和檢查。
排程生命週期 開啟 排程映像檔生命週期 畫面。 您可以立即變更狀態,或排定未來日期和時間的狀態變更。 您可以排定單一狀態變更,或排定映像檔的完整生命週期。 映像檔狀態為:

  • available: 映像檔可用來建立實例。

  • deprecated: 映像檔仍可用於佈建及執行實例。 在狀態變更為 obsolete 之前,使用 deprecated 狀態可能會阻止影像的使用。

  • obsolete:映像無法用於配置實體。

  • 排程完整生命週期:您可以同時排程「deprecated」與「obsolete」狀態的變更。

您可以在这三种狀態之間來回切換。 只會顯示您可以變更的狀態。 您可以使用行事曆日期和時間或天數來排定狀態變更。 作廢日期必須一律晚於淘汰日期。

刪除 刪除自訂映像檔。

如果您想要刪除專用型錄中的自訂映像檔,請參閱 刪除專用型錄中的自訂映像檔

使用 CLI 列出自訂映像檔

您可以使用指令行介面 (CLI) 來列出地區中的所有 IBM Cloud VPC 自訂映像檔。

若要使用 CLI 列出所有自訂映像檔,請使用 ibmcloud is images 指令。 自訂映像檔是其建立所在帳戶的專用映像檔,因此 --visibility 選項是 private

ibmcloud is images --visibility private

如需相關資訊,請參閱 VPC CLI 參考頁面中的 ibmcloud is images

使用 API 列出所有映像檔

您可以使用應用程式設計介面 (API) 來列出地區中的所有 IBM Cloud VPC 映像檔。

若要使用 API 列出所有映像檔,請使用 列出所有映像檔。 自訂映像檔是其建立所在帳戶的專用映像檔,因此您可以將 visibility 內容設為 private,以僅擷取自訂映像檔。

curl -X GET \
”$vpc_api_endpoint/v1/images?version=2022-11-21&generation=2" \
-H "Authorization: Bearer $iam_token"

使用 Terraform 列出所有映像檔

您可以使用 Terraform 來列出地區中的所有 IBM Cloud VPC 映像檔。

若要使用 Terraform 列出所有映像檔,請使用 Terraform 資料來源指令 ibm_is_images。 自訂映像檔是其建立所在帳戶的專用映像檔,因此您可以將 visibility 屬性設為 private,以僅擷取自訂映像檔。

data "ibm_is_images" "images" {
  visibility = "public"
}

使用使用者介面檢視自訂映像檔詳細資料

您可以檢視自訂映像檔的下列詳細資料:

  • 允許使用表示式
  • 已指派資源群組
  • 總和檢查
  • 建立日期
  • CRN
  • 淘汰日期 (如果已設定)
  • 加密類型
  • 位置
  • 名稱和 ID
  • 作廢日期 (若有設定)
  • 作業系統及版本
  • 大小
  • 來源類型

您可以編輯自訂映像檔的名稱、新增可搜尋性的標籤,以及檢視和複製唯一的「雲端資源名稱 (CRN)」。 可存取影像的 SHA256 檢查和值。

若要查看自訂圖片的詳細資訊,請依照以下步驟操作。

  1. IBM Cloud 控制台中,請依序點選「導覽選單圖示 >「基礎架構 VPC」圖示 >「運算」>「映像檔」
  2. 自訂影像索引標籤中,按一下自訂影像的名稱,然後在下一個面板中,按一下 View image details
  3. 影像詳細資料頁面中,您可以編輯影像的名稱、複製校驗和、新增標籤、複製影像的 CRN,以及編輯影像的允許使用表達方式。
  4. 從影像詳細資訊頁面的動作功能表,您可以執行一些動作,例如從自訂影像建立虛擬伺服器實 例或刪除影像。 如需可能動作的完整清單,請參閱 使用使用者介面管理自訂映像檔

使用 CLI 檢視自訂映像檔詳細資料

您可以使用指令行介面 (CLI) 來檢視自訂映像檔的詳細資料,例如名稱和 ID、作業系統和版本、加密狀態、淘汰或作廢日期,以及指派的資源群組。

若要使用 CLI 來檢視自訂映像檔的詳細資料,請使用 ibmcloud is image 指令。 使用 IMAGE 變數指定自訂映像檔的名稱或 ID。

ibmcloud is image IMAGE

如需相關資訊,請參閱 VPC CLI 參考頁面中的 ibmcloud is image

使用 API 擷取自訂映像檔詳細資料

您可以使用應用程式設計介面 (API) 來檢視自訂映像檔的詳細資料,例如名稱和 ID、作業系統和版本、加密狀態、淘汰或作廢日期,以及指派的資源群組。

若要使用 API 來擷取特定自訂映像檔的詳細資料,請使用 擷取映像檔。 針對 $image_id 變數,指定您要擷取之自訂映像檔的 ID。

curl -X GET \
”$vpc_api_endpoint/v1/images/$image_id?version=2022-11-21&generation=2" \
-H "Authorization: Bearer $iam_token"

使用 Terraform 擷取自訂映像檔詳細資料

您可以使用 Terraform 來檢視自訂映像檔的詳細資料,例如名稱和 ID、作業系統和版本、加密狀態、淘汰或作廢日期,以及指派的資源群組。

若要使用 Terraform 檢視映像檔的詳細資料,請使用 Terraform 資料來源指令 ibm_is_images。 針對 name 變數,指定您要擷取之自訂映像檔的名稱。

data "ibm_is_images" "image_name" {
}

將自訂映像檔匯出至 IBM Cloud Object Storage

您可以將自訂映像檔匯出至 IBM Cloud Object Storage。 之後,您可能想要再次匯入影像,將影像複製到新區域。 或者,您可能想要在 VPC 外部擷取影像,以便在不同的位置使用,例如在處所內。 在 IBM Cloud Object Storage中儲存映像檔可能會產生費用。 如需相關資訊,請參閱 計費

必要條件

若要匯出自訂映像檔,您必須符合下列必要條件:

如果在匯出工作進行時刪除正在匯出的映像檔,則映像檔狀態會設為 deleting。 在映像檔刪除完成之前,容許完成匯出工作。 當映像檔刪除完成時,其匯出工作歷程無法使用。 您可以使用匯出工作的 活動追蹤 事件來確定其最終狀態。

使用使用者介面匯出自訂映像檔

若要將自訂映像檔匯出至 IBM Cloud Object Storage,請完成下列步驟。

  1. IBM Cloud 控制台中,請依序點選「導覽選單圖示 >「基礎架構 VPC」圖示 >「運算」>「映像檔」
  2. 自訂映像檔 標籤上,按一下您要匯出之自訂映像檔的名稱。
  3. 在映像檔詳細資料頁面上,按一下 動作 功能表,然後選取 匯出
  4. 匯出自訂影像畫面上,您可以選擇性地指定匯出工作的名稱。 名稱與映像檔名稱一起使用,在 IBM Cloud Object Storage中建構匯出物件的名稱。 如果您未指定名稱,則會自動產生名稱。
  5. 選取要匯出的檔案格式。 有效的檔案格式為 QCOW2VHD。 如果自訂映像檔是加密映像檔,則需要 QCOW2 格式。
  6. 指定您要在其中匯出自訂映像檔的 IBM Cloud Object Storage 服務實例及儲存區。 或者,您可以為要匯出映像檔的 IBM Cloud Object Storage 儲存區指定 CRN。
  7. 點選「匯出自訂圖片」。

使用 CLI 匯出自訂映像檔

您可以使用指令行介面 (CLI) 將 IBM Cloud VPC 自訂映像檔匯出至 IBM Cloud Object Storage。

若要使用 CLI 來匯出自訂映像檔,請使用 ibmcloud is image-export-job-create 指令。 使用 IMAGE 變數指定要匯出之自訂映像檔的名稱或 ID。 您可以使用 NEW_NAME 來指定匯出工作的名稱。 您也可以指定用於匯出映像檔的檔案格式 ( qcow2vhd)。 qcow2 格式是預設檔案格式,如果自訂映像檔已加密,則是必要格式。 此外,請指定您要匯出自訂映像檔的 IBM Cloud Object Storage BUCKET

ibmcloud is image-export-job-create IMAGE [--name NEW_NAME] [--format qcow2 | vhd] --bucket BUCKET

下列範例會匯出 ID 為 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479 的自訂映像檔。 匯出工作名為 my-export-job。 用於匯出映像檔的檔案格式為 qcow2。 匯出映像檔的 IBM Cloud Object Storage 儲存區名稱為 my-bucket

ibmcloud is image-export-job-create 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479 --name my-export-job --format qcow2 --bucket my-bucket

如需相關資訊,請參閱 VPC CLI 參考頁面中的 ibmcloud is image-export-job-create

使用 API 匯出自訂映像檔

您可以使用應用程式設計介面 (API),將 IBM Cloud VPC 自訂映像檔匯出至 IBM Cloud Object Storage。

若要使用 API 來匯出自訂映像檔,請使用 建立映像檔匯出工作

針對 $image_id 變數,指定您要匯出之自訂映像檔的 ID。 您可以選擇性地為映像檔匯出工作指定有意義的 name。 在此範例中,匯出工作名稱為 my-image-export。 對於 storage_bucket name 子內容,請指定您要在其中匯出自訂映像檔的 IBM Cloud Object Storage 儲存區名稱。 在此範例中,儲存區名稱為 bucket-27200-lwx4cfvcue。 或者,您可以使用 crn 子內容來指定儲存區的 CRN。

curl -X POST \
"$vpc_api_endpoint/v1/images/$image_id/export_jobs?version=2022-11-21&generation=2" \
-H "Authorization: Bearer $iam_token" \
-d '{
  "name": "my-image-export",
  "storage_bucket": {
    "name": "bucket-27200-lwx4cfvcue"
  }
}'

檢視及管理自訂映像檔匯出歷程

您可以檢視自訂映像檔匯出歷程,以查看詳細資料,例如 IBM Cloud Object Storage中的匯出工作名稱、狀態、目標儲存區、指派的 IBM Cloud Object Storage 物件名稱、匯出工作開始的日期,以及匯出工作完成時的完成日期。

您也可以刪除已完成的映像檔匯出工作。 或者,如果您具有包含 is.image.image.export 動作的 IAM 角色,則可以刪除 (並取消) 進行中映像檔匯出工作。

當您刪除映像檔匯出工作時,它只會從匯出歷程中移除。 匯出的影像檔案不會從 IBM Cloud Object Storage 儲存桶中移除。 您必須使用 IBM Cloud Object Storage 介面來管理儲存在 IBM Cloud Object Storage 中的檔案。

最後,您可以重新命名映像檔匯出工作。 重新命名映像檔匯出工作不會變更在 IBM Cloud Object Storage中建立的物件名稱。

映像檔匯出工作的限制

映像檔匯出工作有下列限制:

  • 每個映像檔五個作用中匯出工作要求
  • 每個映像檔總共十個匯出工作
  • 每個區域每個帳戶 20 個作用中匯出工作

使用使用者介面檢視自訂映像檔匯出歷程

若要檢視自訂映像檔的匯出歷程,請完成下列步驟。

  1. IBM Cloud 控制台中,請依序點選「導覽選單圖示 >「基礎架構 VPC」圖示 >「運算」>「映像檔」
  2. 自訂影像 標籤上,按一下自訂影像的名稱,以檢視該影像的詳細資料。
  3. 在「映像檔詳細資料」頁面上,按一下 匯出歷程 標籤。

使用使用者介面刪除或取消映像檔匯出工作

若要刪除已完成的映像檔匯出工作或取消 (並刪除) 進行中的映像檔匯出工作,請完成下列步驟。

  1. 在映像檔詳細資料頁面上,按一下 匯出歷程 標籤。
  2. 針對您要刪除或取消的匯出工作,按一下「動作」圖示 「其他動作」圖示,然後選取 刪除

使用使用者介面重新命名映像檔匯出工作

若要重新命名映像檔匯出工作,請完成下列步驟。

  1. 在映像檔詳細資料頁面上,按一下 匯出歷程 標籤。
  2. 針對您要重新命名的匯出工作,按一下「動作」圖示 「其他動作」圖示,然後選取 重新命名

使用 CLI 檢視自訂映像檔匯出歷程

若要使用 CLI 來檢視特定自訂映像檔的匯出歷程,請使用 ibmcloud is image-export-jobs 指令。 指定使用 IMAGE 變數匯出之自訂映像檔的名稱或 ID。

ibmcloud is image-export-jobs IMAGE

下列範例顯示 ID 為 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479 之自訂映像檔的匯出工作歷程。

ibmcloud is image-export-jobs 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479

如需相關資訊,請參閱 VPC CLI 參考頁面中的 ibmcloud is image-export-jobs

使用 CLI 檢視映像檔匯出工作詳細資料

若要使用 CLI 來檢視特定映像檔匯出工作的詳細資料,請使用 ibmcloud is image-export-job 指令。 指定使用 IMAGE 變數匯出之自訂映像檔的名稱或 ID。 使用 JOB 變數指定映像檔匯出工作的名稱或 ID。

ibmcloud is image-export-job IMAGE JOB

如需相關資訊,請參閱 VPC CLI 參考頁面中的 ibmcloud is image-export-job

使用 CLI 刪除或取消映像檔匯出工作

若要刪除已完成的映像檔匯出工作或取消 (並刪除) 進行中的映像檔匯出工作,請使用 ibmcloud is image-export-job-delete 指令。 指定使用 IMAGE 變數匯出之自訂映像檔的名稱或 ID。 使用 JOB 變數指定映像檔匯出工作的名稱或 ID。

ibmcloud is image-export-job-delete IMAGE JOB

如需相關資訊,請參閱 VPC CLI 參考頁面中的 ibmcloud is image-export-job-delete

使用 CLI 重新命名映像檔匯出工作

若要使用 CLI 重新命名自訂映像檔匯出工作,請使用 ibmcloud is image-export-job-update 指令。 指定使用 IMAGE 變數匯出之自訂映像檔的名稱或 ID。 使用 JOB 變數指定映像檔匯出工作的名稱或 ID。 使用 NAME 變數,指定您要指派給映像檔匯出工作的新名稱。

ibmcloud is image-export-job-update IMAGE JOB --name NAME

如需相關資訊,請參閱 VPC CLI 參考頁面中的 ibmcloud is image-export-job-update

使用 API 檢視自訂映像檔匯出歷程

若要使用 API 來檢視特定自訂映像檔的匯出歷程,請使用 列出所有映像檔匯出工作

針對 $image_id 變數,指定您要顯示其匯出工作之自訂映像檔的 ID。

curl -X GET \
"$vpc_api_endpoint/v1/images/$image_id/export_jobs?version=2022-11-21&generation=2" \
-H "Authorization: Bearer $iam_token"

使用 API 檢視映像檔匯出工作詳細資料

若要使用 API 來檢視特定映像檔匯出工作的詳細資料,請使用 擷取映像檔匯出工作

對於 $image_id 變數,請指定已匯出之自訂映像檔的 ID。 針對 $export_job_id 變數,指定您要擷取其詳細資料之映像檔匯出工作的 ID。

curl -X GET \
"$vpc_api_endpoint/v1/images/$image_id/export_jobs/$export_job_id?version=2022-11-21&generation=2" \
-H "Authorization: Bearer $iam_token"

使用 API 刪除或取消映像檔匯出工作

若要使用 API 來刪除已完成的映像檔匯出工作或取消 (並刪除) 進行中的映像檔匯出工作,請使用 刪除映像檔匯出工作

針對 $image_id 變數,指定您要刪除其匯出工作之自訂映像檔的 ID。 對於 $export_job_id 變數,指定您要刪除之映像檔匯出工作的 ID。

curl -X DELETE \
"$vpc_api_endpoint/v1/images/$image_id/export_jobs/$export_job_id?version=2022-11-21&generation=2" \
-H "Authorization: Bearer $iam_token"

使用 API 重新命名映像檔匯出工作

若要使用 API 來重新命名自訂映像檔匯出工作,請使用 更新映像檔匯出工作

針對 $image_id 變數,指定您要重新命名其匯出工作之自訂映像檔的 ID。 針對 $export_job_id 變數,指定您要重新命名之映像檔匯出工作的 ID。 在下列範例中,要指派給映像檔匯出工作的新名稱是 my-export-job-patched

curl -X PATCH \
"$vpc_api_endpoint/v1/images/$image_id/export_jobs/$export_job_id?version=2022-11-21&generation=2" \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $iam_token" \
-d '{
      "name": "my-export-job-patched"
    }'

使用使用者介面將自訂映像檔共用至專用型錄

您可以將現有 IBM Cloud VPC 自訂映像檔共用至現有專用型錄。 如果您還沒有專用型錄,請參閱 為 VPC 上線虛擬伺服器映像檔

下列映像檔無法使用 共用映像檔至專用型錄 動作:

  • 該圖片已分享至私人圖錄中。 專用型錄中的映像檔只能存在於一個專用型錄中一個產品供應項目內的一個版本中。 您必須先從映像檔的第一個版本中移除該映像檔,然後才能在不同版本中共用該映像檔。
  • 映像檔已加密。
  • 映像檔不是 x86 映像檔。

若要將自訂映像檔共用至專用型錄,請完成下列步驟。

  1. IBM Cloud 控制台中,請依序點選「導覽選單圖示 >「基礎架構 VPC」圖示 >「運算」>「映像檔」
  2. 自訂影像 標籤上,按一下「動作」圖示 「其他動作」圖示,然後選取 共用至型錄
  3. 與專用型錄共用映像檔 頁面上,從可用的專用型錄清單中選取 專用型錄
  4. 軟體版本中輸入版本號碼。
  5. 按一下 建立型錄供應項目,以將映像檔共用至專用型錄。
  6. 建立映像檔之後,請按一下 驗證映像檔

此程序僅會將自訂影像分享至私人目錄。 驗證程序在專用型錄內進行。 按一下 驗證映像檔 會進入新頁面,您可以從此畫面開始 步驟 3: 驗證 VPC 的上線虛擬伺服器映像檔中的虛擬伺服器映像檔,以完成驗證程序。

使用 CLI 將自訂映像檔共用至專用型錄

您可以使用 UI 從 IBM Cloud VPC 分享自訂圖片到私人目錄。 如需更多關於使用 CLI 上線到私有目錄的資訊,請參閱 上線軟體到您的帳戶

使用 API 將自訂映像檔共用至專用型錄

您可以使用 UI 從 IBM Cloud VPC 分享自訂圖片到私人目錄。 如需更多關於使用 API 上線至私人目錄的資訊,請參閱 上線軟體至您的帳戶

使用 Terraform 將自訂映像檔共用至專用型錄

您可以使用 UI 從 IBM Cloud VPC 分享自訂圖片到私人目錄。 如需更多關於使用 Terraform 上線至專用目錄的資訊,請參閱 上線軟體至您的帳戶

在主控台中排程自訂影像生命週期狀態變更

您可以排定單一映像檔生命週期狀態變更,或排定映像檔整個生命週期的狀態變更。 只有在您未排定未來狀態變更時,才能立即進行狀態變更。

請遵循下列步驟來排定單一狀態變更:

您可以排定映像檔的單一狀態變更。

  1. IBM Cloud 主控台中,移至導覽功能表圖示-功能表圖示 > Infrastructure VPC 圖示 > 運算 > 影像
  2. 自訂影像 標籤上,按一下特定影像的「動作」圖示 「其他動作」圖示,然後從可用的選項中選取。
  3. 選取 排程生命週期
  4. 映像檔狀態中,選取映像檔的狀態變更。
  5. 淘汰詳細資料中,選取是 立即 變更狀態,還是 排定未來日期
  6. 如果您選擇「排定未來日期」,則需要填寫下列欄位:
    • 選取 依行事曆日期依天數
      • 如果您選取 依行事曆日期,請輸入日期和時間資訊。 這是將發生狀態變更的日期和時間。
      • 如果您選取 依天數,請輸入在變更狀態之前將經過的天數。
  7. 按一下儲存

請遵循下列步驟來排定映像檔的整個生命週期:

您可以排定映像檔的完整生命週期。 映像檔首先已淘汰,然後根據您定義的排程變更為已作廢。 請使用下列步驟來排定生命週期變更。

  1. IBM Cloud 主控台中,移至導覽功能表圖示-功能表圖示 > Infrastructure VPC 圖示 > 運算 > 影像

  2. 自訂影像 標籤上,按一下特定影像的「動作」圖示 「其他動作」圖示,然後從可用的選項中選取。

  3. 選取 排程生命週期

  4. 選取排程完整生命週期

    • 如果您選取 依行事曆日期,請輸入您要發生狀態變更的日期和時間。
    • 如果您選取 依天數,請在變更狀態之前放入您要經歷的天數。

    作廢的日期必須晚於淘汰日期。

  5. 按一下排程

使用 CLI 變更自訂映像檔生命週期狀態

您可以使用指令行介面 (CLI) 來變更 IBM Cloud VPC 自訂映像檔的生命週期狀態。 您可以使用 ibmcloud is image-deprecateibmcloud is image-obsolete 指令來立即變更狀態。 您也可以使用 ibmcloud is image-update 指令,將這些狀態變更排定在未來的日期和時間。 使用 IMAGE 變數指定自訂映像檔的名稱或 ID。

若要立即進行狀態變更,請使用下列其中一個範例。

只有在未排定未來狀態變更時,您才能立即進行狀態變更。 若要移除排定的狀態變更,請參閱 使用 CLI 移除排定的自訂映像檔生命週期狀態變更。 移除排程狀態變更之後,您可以立即進行狀態變更。

  • 將映像檔生命週期狀態變更為 deprecate

    ibmcloud is image-deprecate IMAGE
    
  • 將映像檔生命週期狀態變更為 obsolete

    ibmcloud is image-obsolete IMAGE
    

若要排定狀態變更,請使用下列範例。

對於 deprecate-atobsolete-at 選項,請以 ISO 8601 (YYYY-MM-DDThh:mm:ss+hh:mm) 日期和時間格式指定日期。

  • YYYY 是四位數的年份
  • MM 是兩位數的月份
  • DD 是兩位數的日期
  • T 會區隔日期和時間資訊
  • hh 是兩位數的小時
  • mm 是兩位數的分鐘
  • +hh:mm-hh:mm 是 UTC 時區

因此,2023 年 9 月 30 日北美中部標準時區 (CST) 晚上 8:00 的日期為 2023-09-30T20:00:00-06:00

排程日期和時間時,您無法使用現行日期和時間。 例如,如果它是 6 月 12 日 8:00 AM,則排定的日期和時間必須晚於 6 月 12 日 8:00 AM。 如果您同時定義 deprecate-atobsolete-at 日期,obsolete-at 日期必須在 deprecate-at 日期之後。

ibmcloud is image-update IMAGE [--deprecate-at YYYY-MM-DDThh:mm:ss+hh:mm] [--obsolete-at YYYY-MM-DDThh:mm:ss+hh:mm]

如果您想要變更 deprecate-atobsolete-at 日期和時間項目,您可以重新執行這些指令。 然後會將先前的日期和時間取代為新的日期和時間。

使用 CLI 移除先前排定的自訂映像檔生命週期狀態變更

您可以使用 --reset-deprecate-at--reset-obsolete-at 選項來移除排程狀態變更。 如果您在 ibmcloud is image-update 指令中使用下列任一選項,則會從映像檔中移除日期和時間。 映像檔不再排定該狀態變更。

ibmcloud is image-update IMAGE [--reset-deprecate-at] [--reset-obsolete-at]

如果您同時使用 --reset-deprecate-at--reset-obsolete-at 選項,映像檔狀態會回到 available

使用 API 變更自訂映像檔生命週期狀態

您可以使用應用程式設計介面 (API) 來變更 IBM Cloud VPC 自訂映像檔的生命週期狀態。 您可以立即進行狀態變更,或排定稍後進行狀態變更。

若要立即進行狀態變更,請使用下列其中一個範例。 對於 $image_id 變數,指定狀態變更的自訂映像檔 ID。

只有在未排定未來狀態變更時,您才能立即進行狀態變更。 若要移除排定的狀態變更,請參閱 使用 API 移除排定的自訂映像檔生命週期狀態變更。 移除排程狀態變更之後,您可以立即進行狀態變更。

  • 將映像檔生命週期狀態變更為 deprecated

    curl -X POST "$vpc_api_endpoint/v1/images/$image_id/deprecate?version=2023-02-21&generation=2" -H “Authorization: Bearer $iam_token
  • 將映像檔生命週期狀態變更為 obsolete

    curl -X POST "$vpc_api_endpoint/v1/images/$image_id/obsolete?version=2023-12-21&generation=2" -H “Authorization: Bearer $iam_token

若要排定狀態變更,請使用下列其中一個範例。

對於 deprecation_atobsolescence_at 內容,請以 ISO 8601 (YYYY-MM-DDThh:mm:ss+hh:mm) 日期和時間格式指定日期。

  • YYYY 是四位數的年份
  • MM 是兩位數的月份
  • DD 是兩位數的日期
  • T 會區隔日期和時間資訊
  • hh 是兩位數的小時
  • mm 是兩位數的分鐘
  • +hh:mm-hh:mm 是 UTC 時區

因此,2023 年 9 月 30 日北美中部標準時區 (CST) 晚上 8:00 的日期為 2023-09-30T20:00:00-06:00

排程日期和時間時,您無法使用現行日期和時間。 例如,如果它是 6 月 12 日 8:00 AM,則排定的日期和時間必須晚於 6 月 12 日 8:00 AM。 如果您同時定義 deprecation_atobsolescence_at 日期和時間,則 obsolescence_at 日期必須晚於 deprecation_at 日期和時間。

  • 將狀態變更排定為 deprecated

    curl -X PATCH "$vpc_api_endpoint/v1/images/$image_id?version=2022-11-21&generation=2" -H "Authorization: Bearer $iam_token" -d '{
     "deprecation_at": "2023-03-01T06:11:28+05:30" }'
    
  • 將狀態變更排定為 obsolete

    curl -X PATCH "$vpc_api_endpoint/v1/images/$image_id?version=2022-11-21&generation=2" -H "Authorization: Bearer $iam_token" -d '{
     “obsolescence_at": "2023-12-31T06:11:28+05:30" }'
    

    如果您想要變更 deprecation_atobsolescence_at 日期和時間項目,您可以重新執行這些指令。 先前的日期和時間會取代為新的日期和時間。

使用 API 移除先前排定的自訂映像檔生命週期狀態

deprecation_atobsolescence_at 更新為 null,以提出 PATCH /images 要求來移除任何排定的狀態變更。 此內容變更會從映像檔移除日期和時間,且映像檔不再排定該狀態變更。

  • 若要將映像檔從 deprecated 變更為 available,請將 deprecation_at 內容變更為 null

    curl -X PATCH "$vpc_api_endpoint/v1/images/$image_id?version=2022-11-21&generation=2" -H "Authorization: Bearer $iam_token" -d '{ "deprecation_at": null }'
    
  • 若要將映像檔從 obsolete 變更為其先前狀態,請將 obsolescence_at 變更為 null。 如果映像檔先前包含的值不是 deprecation_atnull ,則此內容變更會移除 obsolete 狀態,並將它變更回 deprecated。 如果前一個狀態是 available,表示影像已從 available 直接移至 obsolete,則此內容變更會從 obsolete 移回 available

    curl -X PATCH "$vpc_api_endpoint/v1/images/$image_id?version=2022-11-21&generation=2" -H "Authorization: Bearer $iam_token" -d '{ “obsolescence_at": null }'
    
  • 若要變更同時將 deprecation_atobsolescence_at 內容設回 available的映像檔,您必須同時更新 deprecation_atobsolescence_at 內容。

    curl -X PATCH "$vpc_api_endpoint/v1/images/$image_id?version=2022-11-21&generation=2" -H "Authorization: Bearer $iam_token" -d '{ "deprecation_at": null, “obsolescence_at": null }'
    

使用 Terraform 變更自訂影像生命週期狀態

若要使用 Terraform 即時變更狀態,請使用 ibm_is_image_deprecateibm_is_image_obsolete 資源指令。請使用下列範例之一。 對於 name 變數,指定狀態變更的自訂映像檔名稱。

只有在未排定未來狀態變更時,您才能立即進行狀態變更。 若要移除排定的狀態變更,請參閱 使用 Terraform 移除排定的自訂映像檔生命週期狀態變更。 移除排程狀態變更之後,您可以立即進行狀態變更。

  • 將映像檔生命週期狀態變更為 deprecated

    resource "ibm_is_image" "example" {
      name               = "example-image"
      href               = "cos://us-south/buckettesttest/livecd.ubuntu-cpc.azure.vhd"
      operating_system   = "ubuntu-16-04-amd64"
      encrypted_data_key = "eJxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0="
      encryption_key     = "crn:v1:bluemix:public:kms:us-south:a/6xxxxxxxxxxxxxxx:xxxxxxx-xxxx-xxxx-xxxxxxx:key:dxxxxxx-fxxx-4xxx-9xxx-7xxxxxxxx"
    }
    resource "ibm_is_image_deprecate" "example" {
      image               = ibm_is_image.example.id
    }
    
  • 將映像檔生命週期狀態變更為 obsolete

    resource "ibm_is_image" "example" {
      name               = "example-image"
      href               = "cos://us-south/buckettesttest/livecd.ubuntu-cpc.azure.vhd"
      operating_system   = "ubuntu-16-04-amd64"
      encrypted_data_key = "eJxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0="
      encryption_key     = "crn:v1:bluemix:public:kms:us-south:a/6xxxxxxxxxxxxxxx:xxxxxxx-xxxx-xxxx-xxxxxxx:key:dxxxxxx-fxxx-4xxx-9xxx-7xxxxxxxx"
    }
    resource "ibm_is_image_obsolete" "example" {
      image               = ibm_is_image.example.id
    }
    

若要排定狀態變更,請使用下列其中一個範例。

對於 deprecation_atobsolescence_at 屬性,請以 ISO 8601 (YYYY-MM-DDThh:mm:ss+hh:mm) 日期和時間格式指定日期。

  • YYYY 是四位數的年份
  • MM 是兩位數字的月份
  • DD 是兩位數字的日
  • T 會區隔日期和時間資訊
  • hh 是兩位數小時
  • mm 是兩位數分鐘
  • +hh:mm 或 是協調世界時的時區 -hh:mm

因此,2023 年 9 月 30 日北美中部標準時區 (CST) 晚上 8:00 的日期為 2023-09-30T20:00:00-06:00

排定日期和時間時,不能使用您目前的日期和時間。 例如,如果它是 6 月 12 日 8:00 AM,則排定的日期和時間必須晚於 6 月 12 日 8:00 AM。 如果您同時定義 deprecation_atobsolescence_at 日期和時間,則 obsolescence_at 日期必須晚於 deprecation_at 日期和時間。

  • 將狀態變更排定為 deprecated

    resource "ibm_is_image" "example" {
      name               = "example-image"
      href               = "cos://us-south/buckettesttest/livecd.ubuntu-cpc.azure.vhd"
      operating_system   = "ubuntu-16-04-amd64"
      deprecation_at     = "2023-11-28T15:10:00.000Z"
    }
    
  • 將狀態變更排定為 obsolete

    resource "ibm_is_image" "example" {
      name               = "example-image"
      href               = "cos://us-south/buckettesttest/livecd.ubuntu-cpc.azure.vhd"
      operating_system   = "ubuntu-16-04-amd64"
      obsolescence_at    = "2023-11-28T15:10:00.000Z"
    }
    

    如果您想要變更 deprecation_atobsolescence_at 日期和時間項目,您可以重新執行這些指令。 先前的日期和時間會取代為新的日期和時間。

使用 Terraform 移除先前排程的自訂影像生命週期狀態

若要移除任何排定的狀態變更,請將 deprecation_atobsolescence_at 屬性更新為 null。 此屬性變更會從映像檔移除日期和時間,且映像檔不再排定該狀態變更。

  • 若要將映像檔從 deprecated 變更為 available,請將 deprecation_at 內容變更為 null

    resource "ibm_is_image" "example" {
      name               = "example-image"
      href               = "cos://us-south/buckettesttest/livecd.ubuntu-cpc.azure.vhd"
      operating_system   = "ubuntu-16-04-amd64"
      deprecation_at       = null
    }
    
  • 若要將映像檔從 obsolete 變更為其先前狀態,請將 obsolescence_at 變更為 null。 如果映像檔先前包含 null for deprecation_at 以外的值,則此屬性變更會移除 obsolete 狀態,並將它變更回 deprecated。 如果前一個狀態是 available,表示影像已從 available 直接移至 obsolete,則此屬性變更會從 obsolete 移回 available

    resource "ibm_is_image" "example" {
      name               = "example-image"
      href               = "cos://us-south/buckettesttest/livecd.ubuntu-cpc.azure.vhd"
      operating_system   = "ubuntu-16-04-amd64"
      obsolescence_at    = null
    }
    
  • 若要變更同時將 deprecation_atobsolescence_at 內容設回 available 的映像檔,您必須同時更新 deprecation_atobsolescence_at 屬性。

    resource "ibm_is_image" "example" {
      name               = "example-image"
      href               = "cos://us-south/buckettesttest/livecd.ubuntu-cpc.azure.vhd"
      operating_system   = "ubuntu-16-04-amd64"
      deprecation_at     = null
      obsolescence_at    = null
    }