本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在工作流文档中使用动态变量
您可以在工作流文档中使用动态变量来表示映像创建过程中在运行时会发生变化的值。动态变量值表示为具有唯一标识目标变量的结构节点的JSONPath选择器。
JSONPath动态工作流程变量结构
$.<document structure>.[<step name>].<variable name>
根 ($) 之后的第一个节点是指工作流文档结构,例如 stepOutputs
,如果是 Image Builder 系统变量,则为 imageBuilder
。以下列表包含支持JSONPath的工作流文档结构节点。
文档结构节点
-
参数 – 工作流参数
-
stepOutputs -来自同一工作流程文档中某个步骤的输出
-
workflowOutputs -来自已运行的工作流程文档的输出
-
imagebuilder – Image Builder 系统变量
parameters
和 stepOutputs
文档结构节点包括步骤名称的可选节点。这样有助于确保所有步骤中变量名称的唯一性。
中的最后一个节点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 日志的日志组的名称。 格式: |
String |
|
cloudWatchLog直播 |
输出 CloudWatch 日志的日志流的名称。 |
String |
|
collectImageMetadata |
指示 Image Builder 是否收集实例元数据的设置。 |
布尔值 |
|
collectImageScan调查结果 |
设置的当前值,该设置允许 Image Builder 收集映像扫描调查发现。 |
布尔值 |
|
imageBuildNumber |
映像的构建版本号。 |
整数 |
|
imageId |
基础镜像的 AMI ID。 |
String |
|
imageName |
映像名称。 |
String |
|
imageType |
映像输出类型。 |
String |
|
imageVersionNumber |
映像版本号。 |
String |
|
instanceProfileName |
Image Builder 用于启动构建和测试实例的实例配置文件角色的名称。 |
String |
|
platform |
所构建映像的操作系统平台。 |
String |
|
s3Logs |
一个JSON对象,其中包含 Image Builder 写入的 S3 日志的配置。 |
JSON对象 |
{'s3Logs': {'s3 BucketName ':' |
securityGroups |
适用于构建和测试实例的安全组IDs。 |
列表 [字符串] |
|
sourceImageARN |
工作流程用于构建和测试阶段的 Image Builder 图像资源的亚马逊资源名称 (ARN)。 |
String |
arn: aws: imageBuilder: |
subnetId |
要在其中启动构建和测试实例的子网 ID。 |
String |
|
terminateInstanceOn失败 |
设置的当前值,可指示 Image Builder 在发生故障时终止实例或保留实例以进行故障排除。 |
布尔值 |
|
workflowPhase |
为执行工作流而运行的当前阶段。 |
String |
|
workingDirectory |
工作目录的路径。 |
String |
|