在工作流文档中使用动态变量 - EC2Image Builder

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在工作流文档中使用动态变量

您可以在工作流文档中使用动态变量来表示映像创建过程中在运行时会发生变化的值。动态变量值表示为具有唯一标识目标变量的结构节点的JSONPath选择器。

JSONPath动态工作流程变量结构

$.<document structure>.[<step name>].<variable name>

根 ($) 之后的第一个节点是指工作流文档结构,例如 stepOutputs,如果是 Image Builder 系统变量,则为 imageBuilder。以下列表包含支持JSONPath的工作流文档结构节点。

文档结构节点
  • 参数 – 工作流参数

  • stepOutputs -来自同一工作流程文档中某个步骤的输出

  • workflowOutputs -来自已运行的工作流程文档的输出

  • imagebuilder – Image Builder 系统变量

parametersstepOutputs 文档结构节点包括步骤名称的可选节点。这样有助于确保所有步骤中变量名称的唯一性。

中的最后一个节点JSONPath是目标变量的名称,例如instanceId

每个步骤都可以使用这些JSONPath动态变量引用任何先前步骤操作的输出。这也称为链接或引用。要引用先前步骤操作的输出,可以使用以下动态变量。

$.stepOutputs.step-name.output-name

示例

- name: ApplyTestComponents action: ExecuteComponents onFailure: Abort inputs: instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId"

使用 Image Builder 系统变量

Image Builder 提供了以下可在工作流文档中使用的系统变量:

变量名称

描述

类型

示例值

cloudWatchLog组

输出 CloudWatch 日志的日志组的名称。

格式:/aws/imagebuilder/<recipe-name>

String

/aws/imagebuilder/sampleImageRecipe

cloudWatchLog直播

输出 CloudWatch 日志的日志流的名称。

String

1.0.0/1

collectImageMetadata

指示 Image Builder 是否收集实例元数据的设置。

布尔值

true | false

collectImageScan调查结果

设置的当前值,该设置允许 Image Builder 收集映像扫描调查发现。

布尔值

true | false

imageBuildNumber

映像的构建版本号。

整数

1

imageId

基础镜像的 AMI ID。

String

ami-1234567890abcdef1

imageName

映像名称。

String

sampleImage

imageType

映像输出类型。

String

AMI | Docker

imageVersionNumber

映像版本号。

String

1.0.0

instanceProfileName

Image Builder 用于启动构建和测试实例的实例配置文件角色的名称。

String

SampleImageBuilderInstanceProfileRole

platform

所构建映像的操作系统平台。

String

Linux | Windows | MacOS

s3Logs

一个JSON对象,其中包含 Image Builder 写入的 S3 日志的配置。

JSON对象

{'s3Logs': {'s3 BucketName ':'sample-bucket', 's3KeyPrefix': 'ib-logs'}}

securityGroups

适用于构建和测试实例的安全组IDs。

列表 [字符串]

[sg-1234567890abcdef1, sg-11112222333344445]

sourceImageARN

工作流程用于构建和测试阶段的 Image Builder 图像资源的亚马逊资源名称 (ARN)。

String

arn: aws: imageBuilder:us-east-1:111122223333:image/sampleImage/1.0.0/1

subnetId

要在其中启动构建和测试实例的子网 ID。

String

subnet-1234567890abcdef1

terminateInstanceOn失败

设置的当前值,可指示 Image Builder 在发生故障时终止实例或保留实例以进行故障排除。

布尔值

true | false

workflowPhase

为执行工作流而运行的当前阶段。

String

Build | Test

workingDirectory

工作目录的路径。

String

/tmp