在工作流程文件中使用動態變數 - EC2 映像建置器

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在工作流程文件中使用動態變數

您可以使用工作流程文件中的動態變數來表示影像建立程序在執行期時不同的值。動態變數值以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 提供下列系統變數,您可以在工作流程文件中使用:

變數名稱

Description (描述)

Type

範例值

cloudWatchLog群組

輸出日誌的 CloudWatch Logs 群組名稱。

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

字串

/aws/imagebuilder/sampleImageRecipe

cloudWatchLog串流

輸出日誌的 CloudWatch Logs 串流名稱。

字串

1.0.0/1

collectImageMetadata

指示 Image Builder 是否收集執行個體中繼資料的設定。

Boolean

true | false

collectImageScan調查結果

可讓 Image Builder 收集影像掃描結果的設定的目前值。

Boolean

true | false

imageBuildNumber

映像的建置版本編號。

Integer

1

imageId

基礎映像的 AMI ID。

字串

ami-1234567890abcdef1

imageName

映像的名稱。

字串

sampleImage

imageType

映像輸出類型。

字串

AMI | Docker

imageVersionNumber

映像的版本號碼。

字串

1.0.0

instanceProfileName

Image Builder 用來啟動建置和測試執行個體的執行個體設定檔角色名稱。

字串

SampleImageBuilderInstanceProfileRole

平台

所建置映像的作業系統平台。

字串

Linux | Windows | MacOS

s3Logs

包含 Image Builder 寫入之 S3 日誌組態的JSON物件。

JSON 物件

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

securityGroups

IDs 適用於建置和測試執行個體的安全群組。

清單 【字串】

[sg-1234567890abcdef1, sg-11112222333344445]

sourceImageARN

工作流程用於建置和測試階段的 Image Builder 映像資源的 Amazon Resource Name (ARN)。

字串

arn:aws:imagebuilder:us-east-1:111122223333:映像/sampleImage/1.0.0/1

subnetId

啟動建置和測試執行個體的子網路 ID。

字串

subnet-1234567890abcdef1

terminateInstanceOn失敗

指示 Image Builder 在故障時終止執行個體或保留執行個體以進行故障診斷的設定的目前值。

Boolean

true | false

workflowPhase

正在執行工作流程的目前階段。

字串

Build | Test

workingDirectory

工作目錄的路徑。

字串

/tmp