使用 AWS CLI 设置和管理 EC2 映像生成器 映像管道 - EC2 映像生成器
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 AWS CLI 设置和管理 EC2 映像生成器 映像管道

您可以使用 AWS CLI 设置、配置和管理映像管道。以下示例 CLI 命令显示了常用的操作和示例文件配置,以帮助您创建和管理映像管道。

注意

如果使用 Amazon 提供的资源或共享的资源,但它们不是您的账户拥有的资源,创建具有标签的映像、配方或管道可能会失败。为了避免这种失败,请创建没有标签的资源,然后在创建资源后添加标签。

镜像生成器 支持以下动态标签:

  • - {{imagebuilder:buildDate}}

    在生成时解析为生成日期/时间。

  • - {{imagebuilder:buildVersion}}

    解析为生成版本,这是位于 镜像生成器 ARN 末尾的数字。例如,"arn:aws:imagebuilder:us-west-2:123456789012:component/myexample-component/2019.12.02/1" 将生成版本显示为 1

创建组件文档

设置管道的第一步是,定义一个将执行 AMI 自定义的文档。该文档可以包含生成、验证和测试阶段。有关更多信息,请参阅 文档架构和定义

该示例假定我们已将该文档命名为 component.yaml

name: 'An_Example_Document' description: 'This document has a build, validate and test phase' schemaVersion: 1.0 phases: - name: build steps: - name: Download_Scripts action: S3Download inputs: - source: 's3://my-s3-bucket/my-path/my_zip_archive.zip' destination: 'c:\mydirectory\my_zip_archive.zip' - name: Extract_Tools action: ExecutePowerShell inputs: commands: - 'Expand-Archive -LiteralPath {{build.Download_Scripts.inputs[0].destination}}' - name: 'DisableHibernation' action: ExecutePowerShell inputs: commands: - c:\ec2amibuild\scripts\windows\Disable-Hibernation.ps1 - name: validate steps: - name: DiskPercentageFree action: ExecutePowerShell inputs: commands: - | Function DiskPercentFree { [CmdletBinding()] Param ( [Parameter(Mandatory=$true)] [ValidateNotNullOrEmpty()] [string]$driveLetter, [Parameter(Mandatory=$true)] [ValidateNotNullOrEmpty()] [string]$threshHold ) $disk = Get-PSDrive $driveLetter | Select-Object Used,Free $percentage_free = [Math]::round($disk.free/($disk.free+$disk.used) * 100,2) if($percentage_free -ge $threshHold) { return 0 } return -1 } DiskPercentFree -driveLetter C -threshHold 10 - name: test steps: - name: 'RunTests' action: ExecutePowerShell inputs: commands: - c:\ec2amibuild\scripts\windows\TestAMI.ps1

将文档上传到 Amazon S3

只有在文档超过 64 KB 时,才需要执行该步骤。在创建 EC2 映像生成器 组件时,可以内联提供较小的文档。超过 64 KB 的文档必须存储在 Amazon S3 中。

aws s3 cp component.yaml s3://my-s3-bucket/my-path/component.yaml

上传文档引用的所有资源

您必须上传文档引用的所有资源,否则,文档执行将会在运行时失败。

aws s3 cp my_zip_archive.zip s3://my-s3-bucket/my-path/my_zip_archive.zip

创建组件

接下来,创建一个组件以引用按上述步骤创建的文档。稍后,您将在用于自定义映像的映像配方中引用该组件。

该示例假定我们具有一个名为 create-component.json 的文件。

{ "name": "MyExampleComponent", "semanticVersion": "2019.12.02", "description": "An example component that builds, validates and tests an image", "changeDescription": "Initial version.", "platform": "Windows", "uri": "s3://my-s3-bucket/my-path/component.yaml", "kmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/60763706-b131-418b-8f85-3420912f020c", "tags": { "MyTagKey": "Some Value" } }

要创建组件,请使用以下命令。

aws imagebuilder create-component --cli-input-json file://create-component.json

导入组件

在某些情况下,从预先存在的脚本入手可能更容易一些。对于本文中的情况,您可以执行以下操作。

该示例假定您具有一个名为 import-component.json 的文件(如下所示)。请注意,该文件直接引用名为 AdminConfig.ps1 的 PowerShell 脚本,该脚本已上传到 my-s3-bucket 中。目前,组件 format 支持 SHELL

{ "name": "MyImportedComponent", "semanticVersion": "1.0.0", "description": "An example of how to import a component", "changeDescription": "First commit message.", "format": "SHELL", "platform": "Windows", "type": "BUILD", "uri": "s3://my-s3-bucket/AdminConfig.ps1", "kmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/60763706-b131-418b-8f85-3420912f020c" }

要导入组件,请运行以下命令。

aws imagebuilder import-component --cli-input-json file://import-component.json

删除组件

以下示例说明了如何指定 ARN 以删除组件生成版本。

aws imagebuilder delete-component --component-build-version-arn arn:aws:imagebuilder:us-west-2:123456789012:component/my-example-component/2019.12.02/1
注意

要在 镜像生成器 中成功删除资源,您必须按以下顺序删除它们。

  1. 映像管道

  2. 基础设施配置/分发配置/映像配方

  3. 组件

  4. 映像

创建基本映像配方

在创建了组件后,您可以创建映像配方。映像配方定义要作为起点的映像以及用于自定义映像的一组组件。映像配方定义输出映像的内容。以下示例说明了如何使用基本映像配方,这是开始创建的最低配置要求。

该映像配方引用您在前面的步骤中创建的两个组件。您必须将示例中显示的 ARN 替换为您在创建组件时收到的 ARN。对于您的配置,AWS 区域和账户 ID 也是不同的。

重要

组件是按指定顺序安装的。

以下示例引用 Windows Server 2016 英文版完整基本映像。根据您指定的语义版本筛选条件,该示例中的 ARN 引用 SKU 中的最新映像。在该示例中,映像 ARN 为 arn:aws:imagebuilder:us-west-2:aws:image/windows-server-2016-english-full-base-x86/2019.x.x。该 ARN 以 /2019.x.x 结尾,这会向 EC2 映像生成器 表明您要使用 2019 年创建的最新 AMI。您可以提供要使用的特定版本,也可以在所有字段中使用通配符。

{ "name": "MyBasicRecipe", "description": "This example image recipe creates a Windows 2016 image.", "semanticVersion": "2019.12.03", "components": [ { "componentArn": "arn:aws:imagebuilder:us-west-2:123456789012:component/my-example-component/2019.12.02/1" }, { "componentArn": "arn:aws:imagebuilder:us-west-2:123456789012:component/my-imported-component/1.0.0/1" } ], "parentImage": "arn:aws:imagebuilder:us-west-2:aws:image/windows-server-2016-english-full-base-x86/2019.x.x" }

假设您在 create-image-recipe.json 中存储了映像配方定义,您可以创建映像配方。

aws imagebuilder create-image-recipe --cli-input-json file://create-image-recipe.json

删除映像配方

以下示例说明了如何指定 ARN 以删除映像配方。

aws imagebuilder delete-image-recipe --image-recipe-arn arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-example-recipe/2019.12.03
注意

要在 镜像生成器 中成功删除资源,您必须按以下顺序删除它们。

  1. 映像管道

  2. 基础设施配置/分发配置/映像配方

  3. 组件

  4. 映像

创建分发配置

通过使用分发配置,您可以指定输出 AMI 的名称和描述,授权其他 AWS 账户启动 AMI,以及将 AMI 复制到其他 AWS 区域。您还可以将 AMI 导出到 Amazon S3。要公开 AMI,请将启动许可授权账户设置为 all。请参阅位于 EC2 ModifyImageAttribute 的公开 AMI 示例。

create-distribution-configuration.json 内容如下所示。

{ "name": "MyExampleDistribution", "description": "Copies AMI to eu-west-1 and exports to S3", "distributions": [ { "region": "us-west-2", "amiDistributionConfiguration": { "name": "Name {{imagebuilder:buildDate}}", "description": "An example image name with parameter references", "amiTags": { "KeyName": "Some Value" }, "launchPermission": { "userIds": [ "987654321012" ] } } }, { "region": "eu-west-1", "amiDistributionConfiguration": { "name": "My {{imagebuilder:buildVersion}} image {{imagebuilder:buildDate}}", "amiTags": { "KeyName": "Some value" }, "launchPermission": { "userIds": [ "100000000001" ] } } } ] }

可以使用 JSON 文件创建分发配置。

aws imagebuilder create-distribution-configuration --cli-input-json file://create-distribution-configuration.json

更新分发配置

以下示例显示了一个 update-distribution-configuration.json 文件以及一个 CLI 命令,该命令用于更新引用该 JSON 文件的分发配置。

示例 update-distribution-configuration.json 内容如下所示。

{ "distributionConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/my-example-distribution-configuration", "description": "Copies AMI to eu-west-2 and exports to S3", "distributions": [ { "region": "us-west-2", "amiDistributionConfiguration": { "name": "Name {{imagebuilder:buildDate}}", "description": "An example image name with parameter references", "launchPermissions": { "userIds": [ "987654321012" ] } } }, { "region": "eu-west-2", "amiDistributionConfiguration": { "name": "My {{imagebuilder:buildVersion}} image {{imagebuilder:buildDate}}", "tags": { "KeyName": "Some value" }, "launchPermissions": { "userIds": [ "100000000001" ] } } } ] }

运行以下命令,该命令引用上述 update-distribution-configuration.json 文件。

aws imagebuilder update-distribution-configuration --cli-input-json file://update-distribution-configuration.json

删除分发配置

以下示例说明了如何指定 ARN 以删除分发配置。

aws imagebuilder delete-distribution-configuration --distribution-configuration-arn arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/my-example-distribution-configuration
注意

要在 镜像生成器 中成功删除资源,您必须按以下顺序删除它们。

  1. 映像管道

  2. 基础设施配置/分发配置/映像配方

  3. 组件

  4. 映像

创建基础设施配置

通过使用基础设施配置,您可以指定在其中生成和测试映像的基础设施。在基础设施配置中,您可以指定要与您的实例关联的实例类型、子网和安全组。您也可以将 Amazon EC2 密钥对与用于生成映像的实例相关联。这样,在生成失败并且 terminateInstanceOnFailure 设置为 false 时,您可以登录到实例以进行故障排除。如果配置日志记录,在基础设施配置中指定的实例配置文件必须具有目标存储桶 (arn:aws:s3:::BucketName/*) 的 s3:PutObject 权限。

{ "name": "MyExampleInfrastructure", "description": "An example that will retain instances of failed builds", "instanceTypes": [ "m5.large", "m5.xlarge" ], "instanceProfileName": "myIAMInstanceProfileName", "securityGroupIds": [ "sg-12345678" ], "subnetId": "sub-12345678", "logging": { "s3Logs": { "s3BucketName": "my-logging-bucket", "s3KeyPrefix": "my-path" } }, "keyPair": "myKeyPairName", "terminateInstanceOnFailure": false, "snsTopicArn": "arn:aws:sns:us-west-2:123456789012:MyTopic" }

示例基础设施配置存储在名为 create-infrastructure-configuration.json 的文件中。

示例配置指定两种实例类型(m5.largem5.xlarge)。我们建议指定多种实例类型,因为这允许 EC2 映像生成器 从具有足够容量的池中启动实例。这可以减少临时的生成失败次数。

实例配置文件名称用于为实例提供执行自定义活动所需的权限。例如,如果您具有一个从 Amazon S3 中检索资源的组件,则实例配置文件需要具有访问这些文件的权限。该实例配置文件还需要具备能使 EC2 映像生成器 成功与实例进行通信的最第权限。有关更多信息,请参阅先决条件

可以使用 JSON 文件创建基础设施配置。

aws imagebuilder create-infrastructure-configuration --cli-input-json file://create-infrastructure-configuration.json

更新基础设施配置

以下示例显示了一个 update-infrastructure-configuration.json 文件以及一个 CLI 命令,该命令用于更新引用该 JSON 文件的基础设施配置。

示例 update-infrastructure-configuration.json 内容如下所示。

{ "infrastructureConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-example-infrastructure-configuration", "description": "An example that will terminate instances of failed builds", "instanceTypes": [ "m5.large", "m5.2xlarge" ], "instanceProfileName": "myIAMInstanceProfileName", "securityGroupIds": [ "sg-12345678" ], "subnetId": "sub-12345678", "logging": { "s3Logs": { "s3BucketName": "my-logging-bucket", "s3KeyPrefix": "my-path" } }, "terminateInstanceOnFailure": true, "snsTopicArn": "arn:aws:sns:us-west-2:123456789012:MyTopic" }

运行以下命令,该命令引用上述 update-infrastructure-configuration.json 文件。

aws imagebuilder update-infrastructure-configuration --cli-input-json file://update-infrastructure-configuration.json

删除基础设施配置

以下示例说明了如何指定 ARN 以删除分发配置。

aws imagebuilder delete-infrastructure-configuration --infrastructure-configuration-arn arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-example-infrastructure-configuration
注意

要在 镜像生成器 中成功删除资源,您必须按以下顺序删除它们。

  1. 映像管道

  2. 基础设施配置/分发配置/映像配方

  3. 组件

  4. 映像

创建映像

有了基本配方和基础设施配置后,您便可以创建映像。

aws imagebuilder create-image --image-recipe-arn arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-example-recipe/2019.12.03 --infrastructure-configuration-arn arn:aws:imagebuilder:us-west-2123456789012:infrastructure-configuration/myexampleinfrastructure

要查看您在创建映像时创建的资源,请参阅创建的资源

取消映像创建

如果要取消正在生成的映像,您可以使用 cancel-image-creation API。

aws imagebuilder cancel-image-creation --image-build-version-arn arn:aws:imagebuilder:us-west-2:123456789012:image/my-example-recipe/2019.12.03/1

删除映像

以下示例说明了如何指定 ARN 以删除映像生成版本。

aws imagebuilder delete-image --image-build-version-arn arn:aws:imagebuilder:us-west-2:123456789012:image/my-example-image/2019.12.02/1
注意

要在 镜像生成器 中成功删除资源,您必须按以下顺序删除它们。

  1. 映像管道

  2. 基础设施配置/分发配置/映像配方

  3. 组件

  4. 映像

创建映像管道

映像管道自动完成创建黄金映像的过程。该命令类似于我们在前面的步骤中执行的 create-image 步骤。不过,在这种情况下,您可以使用管道配置 EC2 映像生成器 以定期为您生成新的映像。

生成频率取决于您在管道中配置的计划。计划具有两个属性:scheduleExpressionpipelineExecutionStartConditionscheduleExpression 确定 EC2 映像生成器 每隔多长时间评估一次 pipelineExecutionStartCondition。如果将 pipelineExecutionStartCondition 设置为 EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE,则只在尚未部署的已知更改时,EC2 映像生成器 才会生成新的映像。如果它设置为 EXPRESSION_MATCH_ONLY,则每当 CRON 表达式与当前时间匹配时,都将生成新的映像。

create-image-pipeline.json 内容如下所示。

{ "name": "MyWindows2016Pipeline", "description": "Builds Windows 2016 Images", "imageRecipeArn": "arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-example-recipe/2019.12.03", "infrastructureConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-example-infrastructure-configuration", "distributionConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/my-example-distribution-configuration", "imageTestsConfiguration": { "imageTestsEnabled": true, "timeoutMinutes": 60 }, "schedule": { "scheduleExpression": "cron(0 0 * * SUN)", "pipelineExecutionStartCondition": "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE" }, "status": "ENABLED" }

可以使用 JSON 文件创建映像管道。

aws imagebuilder create-image-pipeline --cli-input-json file://create-image-pipeline.json

更新映像管道

以下示例显示了一个 update-image-pipeline.json 文件以及一个 CLI 命令,该命令用于更新引用该 JSON 文件的映像管道。

示例 update-image-pipeline.json 内容如下所示。

{ "imagePipelineArn": "arn:aws:imagebuilder:us-west-2:123456789012:image-pipeline/my-example-pipeline", "imageRecipeArn": "arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-example-recipe/2019.12.08", "infrastructureConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-example-infrastructure-configuration", "distributionConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/my-example-distribution-configuration", "imageTestsConfiguration": { "imageTestsEnabled": true, "timeoutMinutes": 120 }, "schedule": { "scheduleExpression": "cron(0 0 * * MON)", "pipelineExecutionStartCondition": "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE" }, "status": "DISABLED" }

运行以下命令,该命令引用上述 update-image-pipeline.json 文件。

aws imagebuilder update-image-pipeline --cli-input-json file://update-image-pipeline.json

删除映像管道

以下示例说明了如何指定 ARN 以删除映像管道。

aws imagebuilder delete-image-pipeline --image-pipeline-arn arn:aws:imagebuilder:us-west-2:123456789012:image-pipeline/my-example-pipeline
注意

要在 镜像生成器 中成功删除资源,您必须按以下顺序删除它们。

  1. 映像管道

  2. 基础设施配置/分发配置/映像配方

  3. 组件

  4. 映像

将资源策略应用于组件

您可以将资源策略应用于生成组件,以便为生成组件启用跨账户共享。以下命令为其他账户授予权限,以便在其映像配方中使用您的生成组件。要成功执行该命令,您必须确保与您共享资源的账户有权访问共享的生成组件引用的所有资源,例如,在私有存储库上托管的文件。我们建议您使用 RAM CLI 命令 create-resource-share 来共享资源。如果使用 EC2 映像生成器 CLI 命令 put-component-policy,您还必须使用 RAM CLI 命令 promote-resource-share-created-from-policy,以使资源对与您共享资源的所有委托人可见。有关更多信息,请参阅EC2 映像生成器 中的资源共享

aws imagebuilder put-component-policy --component-arn arn:aws:imagebuilder:us-west-2:123456789012:component/my-example-component/2019.12.03/1 --policy '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::account-id:user/Alice", "account-id-2" ] }, "Action": [ "imagebuilder:GetComponent", "imagebuilder:ListComponents" ], "Resource": [ "arn:aws:imagebuilder:us-west-2:123456789012:component/my-example-component/2019.12.03/1" ] } ] }'

将资源策略应用于映像配方

您可以将资源策略应用于映像配方,以便为映像配方启用跨账户共享。以下命令为其他账户授予权限,以使用您的映像配方在其账户中创建映像。要成功执行该命令,您必须确保与您共享资源的账户有权访问映像配方引用的所有映像或组件。我们建议您使用 RAM CLI 命令 create-resource-share 来共享资源。如果使用 EC2 映像生成器 CLI 命令 put-image-recipe-policy,您还必须使用 RAM CLI 命令 promote-resource-share-created-from-policy,以使资源对与您共享资源的所有委托人可见。有关更多信息,请参阅EC2 映像生成器 中的资源共享

aws imagebuilder put-image-recipe-policy --image-recipe-arn arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-example-image-recipe/2019.12.03 --policy '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::account-id:user/Alice", "account-id-2" ] }, "Action": [ "imagebuilder:GetImageRecipe", "imagebuilder:ListImageRecipes" ], "Resource": [ "arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-example-image-recipe/2019.12.03" ] } ] }'

将资源策略应用于映像

您可以将资源策略应用于映像,以允许其他用户在其映像配方中使用该映像。要成功执行以下命令,您必须确保与您共享资源的账户有权访问基础资源(例如 Amazon EC2 AMI)。我们建议您使用 RAM CLI 命令 create-resource-share 来共享资源。如果使用 EC2 映像生成器 CLI 命令 put-image-policy,您还必须使用 RAM CLI 命令 promote-resource-share-created-from-policy,以使资源对与您共享资源的所有委托人可见。有关更多信息,请参阅EC2 映像生成器 中的资源共享

aws imagebuilder put-image-policy --image-arn arn:aws:imagebuilder:us-west-2:123456789012:image/my-example-image/2019.12.03/1 --policy '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::account-id:user/Alice", "account-id-2" ] }, "Action": ["imagebuilder:GetImage", "imagebuilder:ListImages"] "Resource": [ "arn:aws:imagebuilder:us-west-2:123456789012:image/my-example-image/2019.12.03/1" ] } ] }

手动启动映像管道

以下 CLI 示例命令说明了如何手动启动映像管道。运行该命令将导致管道根据需要创建新的映像。

aws imagebuilder start-image-pipeline-execution --image-pipeline-arn arn:aws:imagebuilder:us-west-2:123456789012:image-pipeline/my-example-pipeline

要查看在运行生成管道时创建的资源,请参阅创建的资源

标记资源

以下示例 CLI 命令说明了如何在 EC2 映像生成器 中添加和标记资源。您必须提供 resourceArn 以及要为其应用的标签。

示例 tag-resource.json 内容如下所示。

{ "resourceArn": "arn:aws:imagebuilder:us-west-2:123456789012:image-pipeline/my-example-pipeline", "tags": { "KeyName": "KeyValue" } }

运行以下命令,该命令引用上述 tag-resource.json 文件。

aws imagebuilder tag-resource --cli-input-json file://tag-resource.json

取消标记资源

以下示例 CLI 命令说明了如何从资源中删除标签。您必须提供 resourceArn 和键以删除标签。

示例 untag-resource.json 内容如下所示。

{ "resourceArn": "arn:aws:imagebuilder:us-west-2:123456789012:image-pipeline/my-example-pipeline", "tagKeys": [ "KeyName" ] }

运行以下命令,该命令引用上述 untag-resource.json 文件。

aws imagebuilder untag-resource --cli-input-json file://untag-resource.json

获取组件详细信息

以下示例说明了如何指定 ARN 以获取组件详细信息。

aws imagebuilder get-component --component-build-version-arn arn:aws:imagebuilder:us-west-2:123456789012:component/my-example-component/2019.12.02/1

获取组件策略详细信息

以下示例说明了如何指定 ARN 以获取组件策略详细信息。

aws imagebuilder get-component-policy --component-arn arn:aws:imagebuilder:us-west-2:123456789012:component/my-example-component/2019.12.02

获取分发配置详细信息

以下示例说明了如何指定 ARN 以获取分发配置详细信息。

aws imagebuilder get-distribution-configuration --distribution-configuration-arn arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/my-example-distribution-configuration

获取映像

要检查映像进度,请使用 get-image 操作。get-image 返回有关映像、元数据、当前状态和输出资源(如果可用)的详细信息。

aws imagebuilder get-image --image-build-version-arn arn:aws:imagebuilder:us-west-2:123456789012:image/my-example-recipe/2019.12.03/1

获取映像管道详细信息

以下示例说明了如何指定 ARN 以获取映像管道详细信息。

aws imagebuilder get-image-pipeline --image-pipeline-arn arn:aws:imagebuilder:us-west-2:123456789012:image-pipeline/my-example-pipeline

获取映像策略详细信息

以下示例说明了如何指定 ARN 以获取映像策略详细信息。

aws imagebuilder get-image-policy --image-arn arn:aws:imagebuilder:us-west-2:123456789012:image/my-example-image/2019.12.02

获取映像配方详细信息

以下示例说明了如何指定 ARN 以获取映像配方详细信息。

aws imagebuilder get-image-recipe --image-recipe-arn arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-example-recipe/2019.12.03

获取映像配方策略详细信息

以下示例说明了如何指定 ARN 以获取映像配方策略详细信息。

aws imagebuilder get-image-recipe-policy --image-recipe-arn arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-example-recipe/2019.12.03

获取基础设施配置详细信息

以下示例说明了如何指定 ARN 以获取基础设施配置详细信息。

aws imagebuilder get-infrastructure-configuration --infrastructure-configuration-arn arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-example-infrastructure-configuration

列出组件

以下示例说明了如何列出您有权访问的所有组件语义版本。

aws imagebuilder list-components

您可以选择筛选您拥有的组件、Amazon 提供的组件或其他账户与您共享的组件以查看相应的组件。默认情况下,该请求仅显示您的账户拥有的组件。

aws imagebuilder list-components --owner Self
aws imagebuilder list-components --owner Amazon
aws imagebuilder list-components --owner Shared

列出组件生成版本

以下示例说明了如何列出具有特定语义版本的组件生成版本。

aws imagebuilder list-component-build-versions --component-version-arn arn:aws:imagebuilder:us-west-2:123456789012:component/my-example-component/2019.12.03

列出分发

以下示例说明了如何列出所有分发。

aws imagebuilder list-distribution-configurations

列出映像

以下示例说明了如何列出您有权访问的所有映像语义版本。

aws imagebuilder list-images

列出映像生成版本

以下示例说明了如何列出具有特定语义版本的映像生成版本。

aws imagebuilder list-image-build-versions --image-version-arn arn:aws:imagebuilder:us-west-2:123456789012:image/my-example-image/2019.12.03

列出映像管道映像

以下示例说明了如何列出特定映像管道创建的所有映像。

aws imagebuilder list-image-pipeline-images --image-pipeline-arn arn:aws:imagebuilder:us-west-2:123456789012:image-pipeline/my-example-pipeline

列出映像管道

以下示例说明了如何列出所有映像管道。

aws imagebuilder list-image-pipelines

列出映像配方

以下示例说明了如何列出所有映像配方。

aws imagebuilder list-image-recipes

列出基础设施配置

以下示例说明了如何列出所有基础设施配置。

aws imagebuilder list-infrastructure-configurations

列出特定资源的所有标签

以下示例说明了如何列出特定资源的所有标签。

aws imagebuilder list-tags-for-resource --resource-arn arn:aws:imagebuilder:us-west-2:123456789012:image-pipeline/my-example-pipeline