管理定制映像
将定制映像导入到 IBM Cloud VPC之后,您可以查看有关该映像的详细信息,管理该映像的生命周期,使用该映像来创建虚拟服务器实例,导出该映像,甚至将其与专用目录共享。
- 要管理卷中的映像,请参阅 管理卷中的映像。
- 要在私有目录中使用自定义镜像,请参阅 为 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”部分。
使用 UI 管理定制图像
可以使用 IBM Cloud 控制台来管理映像。
- 在 IBM Cloud 控制台中,转到 导航菜单 图标
> 基础架构
> 计算 > 图像。
- 在 定制图像 选项卡上,单击特定图像的“操作”图标
,然后从可用选项中进行选择。 加密的定制映像由映像名称后的锁定图标标识。 您可以选择以下操作:
操作 | 描述 |
---|---|
重命名 | 重命名定制映像。 |
创建虚拟服务器实例 | 根据定制映像创建新的虚拟服务器。 |
导出 | 将定制映像复制到 IBM Cloud Object Storage。 |
共享到目录 | 将 IBM Cloud VPC 定制映像共享到现有专用目录。 |
复制 | 复制定制映像的 UUID。 |
查看校验和 | 查看定制图像的校验和。 |
计划生命周期 | 打开 调度图像生命周期 面板。 您可以立即进行状态更改,也可以将塑像更改安排在将来的日期和时间。 您可以调度单个状态变更或调度映像的完整生命周期。 映像状态为:
您可以在三种状态之间来回移动。 将仅显示您可以更改为的状态。 您可以使用日历日期和时间或天数来调度状态更改。 废弃日期必须始终晚于废弃日期。 |
删除(T) | 删除定制映像。
如果要删除专用目录中的定制映像,请参阅 删除专用目录中的定制映像。 |
使用 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"
}
使用 UI 查看定制图像详细信息
您可以查看定制图像的以下详细信息:
- 已分配的资源组
- 校验和
- 创建日期
- CRN
- 废弃日期 (如果已设置)
- 加密类型
- 地区
- 名称和标识
- 过时日期 (如果已设置)
- 操作系统和版本
- 大小
- 源类型
您可以编辑定制图像的名称,添加可搜索性标记,以及查看和复制唯一的云资源名称 (CRN)。 可访问映像的 SHA256 校验和值。
要查看自定义图像的详细信息,请完成以下步骤。
- 在 IBM Cloud 控制台中,转到 导航菜单 图标
> 基础架构
> 计算 > 图像。
- 在 定制图像 选项卡上,单击定制图像的名称以查看有关该图像的详细信息。
- 在图像详细信息页面,您可以编辑图像名称、复制校验和、添加标记和复制图像的 CRN。
- 在映像详细信息页面的操作菜单中,您可以执行一些操作,如从自定义映像创建虚拟服务器实例或删除映像。 有关可能的操作的完整列表,请参阅 使用 UI 管理定制映像。
使用 CLI 查看定制映像详细信息
您可以使用命令行界面 (CLI) 来查看定制映像的详细信息,例如,名称和标识,操作系统和版本,加密状态,废弃或废弃日期以及分配的资源组。
要使用 CLI 查看定制映像的详细信息,请使用 ibmcloud is image
命令。 使用 IMAGE
变量指定定制映像的名称或标识。
ibmcloud is image IMAGE
有关更多信息,请参阅 VPC CLI 参考页面中的 ibmcloud is image。
使用 API 检索定制图像详细信息
您可以使用应用程序编程接口 (API) 来查看定制映像的详细信息,例如,名称和标识,操作系统和版本,加密状态,弃用或过时日期以及分配的资源组。
要使用 API 检索特定定制映像的详细信息,请使用 检索映像。 对于 $image_id
变量,指定要检索的定制映像的标识。
curl -X GET \
”$vpc_api_endpoint/v1/images/$image_id?version=2022-11-21&generation=2" \
-H "Authorization: Bearer $iam_token"
使用 Terraform 检索定制图像详细信息
您可以使用 Terraform 来查看定制映像的详细信息,例如,名称和标识,操作系统和版本,加密状态,废弃或废弃日期以及分配的资源组。
要使用 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中存储映像可能会产生费用。 有关更多信息,请参阅 计费。
先决条件
要导出定制映像,必须满足以下先决条件:
- 您需要包含
is.image.image.export
和is.image.image.operate
操作的 IAM 角色。 有关更多信息,请参阅 管理 VPC 基础架构服务的 IAM 访问权。 - 您需要创建 IBM Cloud Object Storage 服务实例。 您还必须为 Image Service for VPC 创建授权,以使用写入者服务访问角色访问 IBM Cloud Object Storage。 有关更多信息,请参阅 授予对 IBM Cloud Object Storage 的访问权以导入和导出映像。
- 您需要 IAM 访问权才能写入计划导出映像的存储区。 有关更多信息,请参阅 分配对单个存储区的访问权。
如果正在导出的映像正在执行导出作业时被删除,那么映像状态将设置为 deleting
。 允许导出作业在删除映像完成之前完成。 映像删除完成后,其导出作业历史记录不可用。 您可以将 Activity Tracker 事件用于导出作业以确定其最终状态。
使用 UI 导出定制图像
要将定制映像导出到 IBM Cloud Object Storage,请完成以下步骤。
- 在 IBM Cloud 控制台中,转到 导航菜单 图标
> 基础架构
> 计算 > 图像。
- 在 定制图像 选项卡上,单击要导出的定制图像的名称。
- 在图像详细信息页面上,单击 操作 菜单,然后选择 导出。
- 在 导出定制映像面板上,可以选择指定导出作业的名称。 该名称与映像名称一起用于构造 IBM Cloud Object Storage中导出的对象的名称。 如果未指定名称,那么将自动生成名称。
- 选择要导出的文件格式。 有效文件格式为 QCOW2 和 VHD。 如果定制映像是加密映像,那么需要 QCOW2 格式。
- 指定要在其中导出定制映像的 IBM Cloud Object Storage 服务实例和存储区。 或者,您可以为要在其中导出映像的 IBM Cloud Object Storage 存储区指定 CRN。
- 单击导出自定义图像。
使用 CLI 导出定制映像
您可以使用命令行界面 (CLI) 将 IBM Cloud VPC 定制映像导出到 IBM Cloud Object Storage。
要使用 CLI 导出定制映像,请使用 ibmcloud is image-export-job-create 命令。 使用 IMAGE
变量指定要导出的定制映像的名称或标识。 您可以使用 NEW_NAME
指定导出作业的名称。 您还可以指定用于导出映像的文件格式 qcow2
或 vhd
。 qcow2
格式是缺省文件格式,并且是必需格式
(如果定制映像已加密)。 此外,指定要在其中导出定制映像的 IBM Cloud Object Storage BUCKET
。
ibmcloud is image-export-job-create IMAGE [--name NEW_NAME] [--format qcow2 | vhd] --bucket BUCKET
以下示例导出标识为 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
变量,指定要导出的定制映像的标识。 您可以选择为映像导出作业指定有意义的 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中创建的对象的名称。
映像导出作业的限制
映像导出作业存在以下限制:
- 每个映像 5 个活动导出作业请求
- 每个映像总共 10 个导出作业
- 每个区域每个帐户 20 个活动导出作业
使用 UI 查看定制图像导出历史记录
要查看定制映像的导出历史记录,请完成以下步骤。
- 在 IBM Cloud 控制台中,转到 导航菜单 图标
> 基础架构
> 计算 > 图像。
- 在 定制图像 选项卡上,单击定制图像的名称以查看有关该图像的详细信息。
- 在“图像详细信息”页面上,单击 导出历史记录 选项卡。
使用 UI 删除或取消图像导出作业
要删除已完成的映像导出作业或取消 (和删除) 正在进行的映像导出作业,请完成以下步骤。
- 在图像详细信息页面上,单击 导出历史记录 选项卡。
- 对于要删除或取消的导出作业,单击“操作”图标
,然后选择 删除。
使用 UI 重命名图像导出作业
要重命名映像导出作业,请完成以下步骤。
- 在图像详细信息页面上,单击 导出历史记录 选项卡。
- 对于要重命名的导出作业,单击“操作”图标
,然后选择 重命名。
使用 CLI 查看定制映像导出历史记录
要使用 CLI 查看特定定制映像的导出历史记录,请使用 ibmcloud is image-export-jobs 命令。 指定使用 IMAGE
变量导出的定制映像的名称或标识。
ibmcloud is image-export-jobs IMAGE
以下示例显示标识为 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
变量导出的定制映像的名称或标识。 使用 JOB
变量指定映像导出作业的名称或标识。
ibmcloud is image-export-job IMAGE JOB
有关更多信息,请参阅 VPC CLI 参考页面中的 ibmcloud is image-export-job。
使用 CLI 删除或取消映像导出作业
要删除已完成的映像导出作业或取消 (和删除) 正在进行的映像导出作业,请使用 ibmcloud is image-export-job-delete
命令。 指定使用 IMAGE
变量导出的定制映像的名称或标识。 使用 JOB
变量指定映像导出作业的名称或标识。
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
变量导出的定制映像的名称或标识。 使用 JOB
变量指定映像导出作业的名称或标识。 使用 NAME
变量指定要分配给映像导出作业的新名称。
ibmcloud is image-export-job-update IMAGE JOB --name NAME
有关更多信息,请参阅 VPC CLI 参考页面中的 ibmcloud is image-export-job-update。
使用 API 查看定制图像导出历史记录
要使用 API 查看特定定制映像的导出历史记录,请使用 列出所有映像导出作业。
对于 $image_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
变量,指定导出的定制映像的标识。 对于 $export_job_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
变量,指定要为其删除导出作业的定制映像的标识。 对于 $export_job_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
变量,指定要对其重命名导出作业的定制映像的标识。 对于 $export_job_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"
}'
使用 UI 将定制映像共享到专用目录
您可以将现有 IBM Cloud VPC 定制映像共享到现有专用目录。 如果您还没有专用目录,请参阅 加载 VPC 的虚拟服务器映像。
将映像共享到专用目录 操作不可用于以下映像:
- 图像已与私人目录共享。 专用目录中的映像只能存在于一个专用目录中的一个产品中的一个版本中。 必须先从该映像的版本中除去该映像,然后才能在其他版本中共享该映像。
- 映像已加密。
- 该映像不是 x86 映像。
要将定制映像共享到专用目录,请完成以下步骤。
- 在 IBM Cloud 控制台中,转到 导航菜单 图标
> 基础架构
> 计算 > 图像。
- 在 定制图像 选项卡上,单击“操作”图标
,然后选择 共享到目录。
- 在“将映像共享到专用目录”页面上,从可用专用目录列表中选择 专用目录。
- 在 软件版本中输入版本号。
- 单击 创建目录产品 以将映像共享到专用目录。
- 创建映像后,单击 验证映像。
此过程仅将自定义图像共享到私人目录。 验证过程在专用目录中进行。 单击 验证映像 会将您转至新页面,从此屏幕开始,您可以从 步骤 3: 验证 VPC 的虚拟服务器映像加载中的虚拟服务器映像以完成验证过程。
使用 CLI 将定制映像共享到专用目录
您可以通过UI将自定义图片共享到 IBM Cloud VPC 的私人目录中。 有关使用CLI导入私人目录的更多信息,请参阅 将软件导入您的账户。
使用 API 将定制映像共享到专用目录
您可以通过UI将自定义图片共享到 IBM Cloud VPC 的私人目录中。 如需了解使用API将软件添加到私人目录的更多信息,请参阅 将软件添加到您的帐户。
使用 Terraform 将定制映像共享到专用目录
您可以通过UI将自定义图片共享到 IBM Cloud VPC 的私人目录中。 有关使用Terraform将软件添加到私人目录的更多信息,请参阅 将软件添加到您的帐户。
在控制台中安排自定义图像生命周期状态更改
您可以调度单个映像生命周期状态变更,也可以调度整个映像生命周期的状态变更。 仅当未调度将来的状态更改时,才能立即进行状态更改。
请遵循以下步骤来调度单个状态更改:
您可以为映像调度单个状态更改。
- 在 IBM Cloud 控制台中,转到导航菜单图标-菜单
> 基础架构
> 计算 > 映像。
- 在 定制图像 选项卡上,单击特定图像的“操作”图标
,然后从可用选项中进行选择。
- 选择 调度生命周期。
- 在 映像状态中,选择映像的状态变更。
- 在 废弃详细信息中,选择是将状态 立即 变更为 调度未来日期。
- 如果选择了 调度未来日期,那么需要填写以下内容:
- 选择 按日历日期 或 按天数。
- 如果选择了 按日历日期,请输入日期和时间信息。 这是将发生状态更改的日期和时间。
- 如果选择了 按天数,请输入将在状态更改之前经过的天数。
- 选择 按日历日期 或 按天数。
- 单击保存。
遵循以下步骤来调度映像的整个生命周期:
您可以调度映像的完整生命周期。 首先不推荐使用该映像,然后根据您定义的调度将其更改为过时。 使用以下步骤来调度生命周期更改。
-
在 IBM Cloud 控制台中,转到导航菜单图标-菜单
> 基础架构
> 计算 > 映像。
-
在 定制图像 选项卡上,单击特定图像的“操作”图标
,然后从可用选项中进行选择。
-
选择 调度生命周期。
-
选择“安排完整的生命周期”。
- 如果选择了 按日历日期,请输入要进行状态更改的日期和时间。
- 如果选择了 按天数,请输入要在更改状态之前经过的天数。
废弃日期必须晚于废弃日期。
-
单击计划表。
使用 CLI 更改定制映像生命周期状态
您可以使用命令行界面 (CLI) 来更改 IBM Cloud VPC 定制映像的生命周期状态。 您可以使用 ibmcloud is image-deprecate 或 ibmcloud is image-过时 命令进行即时状态更改。 您还可以使用 ibmcloud is image-update 命令将这些状态更改调度为将来的日期和时间。 使用 IMAGE
变量指定定制映像的名称或标识。
要立即更改状态,请使用下列其中一个示例。
仅当未调度未来状态变更时,才能立即进行状态变更。 要除去调度状态更改,请参阅 使用 CLI 除去调度的定制映像生命周期状态更改。 除去已调度的状态变更后,可以立即进行状态变更。
-
将映像生命周期状态更改为
deprecate
。ibmcloud is image-deprecate IMAGE
-
将映像生命周期状态更改为
obsolete
。ibmcloud is image-obsolete IMAGE
要调度状态变更,请使用以下示例。
对于 deprecate-at
或 obsolete-at
选项,请以 ISO 8601 (YYYY-MM-DDThh:mm:ss+hh:mm
) 日期和时间格式指定日期。
YYYY
是四位数字年份MM
是两位数字的月份DD
是两位数字的日期T
分隔日期和时间信息hh
是两位数的小时mm
是两位数的分钟数+hh:mm
或-hh:mm
是 UTC 时区
因此,2023 年 9 月 30 日下午 8:00 在北美中部标准时区 (CST) 的日期将为 2023-09-30T20:00:00-06:00
调度日期和时间时,不能使用当前日期和时间。 例如,如果是 6 月 12 日上午 8:00,那么调度的日期和时间必须在 6 月 12 日上午 8:00 之后。 如果同时定义 deprecate-at
和 obsolete-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-at
和 obsolete-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
变量,指定状态更改的定制映像的标识。
仅当未调度未来状态变更时,才能立即进行状态变更。 要除去调度状态变更,请参阅 使用 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_at
或 obsolescence_at
属性,请以 ISO 8601 (YYYY-MM-DDThh:mm:ss+hh:mm
) 日期和时间格式指定日期。
YYYY
是四位数字年份MM
是两位数字的月份DD
是两位数字的日期T
分隔日期和时间信息hh
是两位数的小时mm
是两位数的分钟数+hh:mm
或-hh:mm
是 UTC 时区
因此,2023 年 9 月 30 日下午 8:00 在北美中部标准时区 (CST) 的日期将为 2023-09-30T20:00:00-06:00
调度日期和时间时,不能使用当前日期和时间。 例如,如果是 6 月 12 日上午 8:00,那么调度的日期和时间必须在 6 月 12 日上午 8:00 之后。 如果同时定义 deprecation_at
和 obsolescence_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_at
和obsolescence_at
日期和时间条目,那么可以再次运行这些命令。 先前的日期和时间将替换为新的日期和时间。
使用 API 除去先前调度的定制映像生命周期状态
发出 PATCH /images
请求以通过将 deprecation_at
或 obsolescence_at
更新为 null
来除去任何已调度的状态更改。 此属性更改将从映像中除去日期和时间,并且不再为该状态更改调度该映像。
-
要将映像从
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_at
的null
以外的值,那么此属性更改将除去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_at
或obsolescence_at
属性设置回available
的映像,必须同时更新deprecation_at
或obsolescence_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_deprecate
或 ibm_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_at
或 obsolescence_at
属性,请以 ISO 8601 (YYYY-MM-DDThh:mm:ss+hh:mm
) 日期和时间格式指定日期。
YYYY
是四位数的年份MM
是两位数的月份DD
是两位数的日期T
分隔日期和时间信息hh
是两位数的小时数mm
是两位数的分钟数+hh:mm
或 是协调世界时时区-hh:mm
因此,2023 年 9 月 30 日下午 8:00 在北美中部标准时区 (CST) 的日期将为 2023-09-30T20:00:00-06:00
当您安排日期和时间时,不能使用当前的日期和时间。 例如,如果是 6 月 12 日上午 8:00,那么调度的日期和时间必须在 6 月 12 日上午 8:00 之后。 如果同时定义 deprecation_at
和 obsolescence_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_at
和obsolescence_at
日期和时间条目,那么可以再次运行这些命令。 先前的日期和时间将替换为新的日期和时间。
使用Terraform移除之前计划的自定义图像生命周期状态
要除去任何已调度的状态更改,请将 deprecation_at
或 obsolescence_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
。 如果映像先前包含deprecation_at
的null
以外的值,那么此属性更改将除去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_at
或obsolescence_at
属性设置回available
的映像,必须同时更新deprecation_at
或obsolescence_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 }