Gunakan variabel dinamis dalam dokumen alur kerja Anda - EC2 Image Builder

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan variabel dinamis dalam dokumen alur kerja Anda

Anda dapat menggunakan variabel dinamis dalam dokumen alur kerja Anda untuk mewakili nilai yang bervariasi saat runtime untuk proses pembuatan gambar Anda. Nilai variabel dinamis direpresentasikan sebagai pemilih JSONPath dengan node struktural yang secara unik mengidentifikasi variabel target.

Struktur variabel alur kerja dinamis JsonPath

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

Node pertama setelah root ($) mengacu pada struktur dokumen alur kerja, sepertistepOutputs, atau dalam kasus variabel sistem Image Builder,imageBuilder. Daftar berikut berisi node struktur dokumen alur kerja JSONPath yang didukung.

Node struktur dokumen
  • parameter - Parameter alur kerja

  • StepOutputs - Output dari langkah dalam dokumen alur kerja yang sama

  • WorkflowOutputs - Output dari dokumen alur kerja yang sudah berjalan

  • imagebuilder - variabel sistem Image Builder

Node struktur parameters dan stepOutputs dokumen menyertakan node opsional untuk nama langkah. Ini membantu memastikan nama variabel unik di semua langkah.

Node terakhir di JsonPath adalah nama variabel target, seperti. instanceId

Setiap langkah dapat merujuk ke output dari setiap tindakan langkah sebelumnya dengan variabel dinamis JSONPath ini. Ini juga dikenal sebagai rantai, atau referensi. Untuk merujuk ke output dari tindakan langkah sebelumnya, Anda dapat menggunakan variabel dinamis berikut.

$.stepOutputs.step-name.output-name

Contoh

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

Gunakan variabel sistem Image Builder

Image Builder menyediakan variabel sistem berikut yang dapat Anda gunakan dalam dokumen alur kerja Anda:

Nama variabel

Deskripsi

Tipe

Nilai contoh

cloudWatchLogKelompok

Nama grup CloudWatch Log untuk log keluaran.

Format: /aws/imagebuilder/<recipe-name>

String

/aws/imagebuilder/sampleImageRecipe

cloudWatchLogStreaming

Nama aliran CloudWatch Log untuk log keluaran.

String

1.0.0/1

collectImageMetadata

Pengaturan yang mengarahkan Image Builder apakah akan mengumpulkan metadata instance.

Boolean

true | false

collectImageScanTemuan

Nilai setelan saat ini yang memungkinkan Image Builder mengumpulkan temuan pemindaian gambar.

Boolean

true | false

imageBuildNumber

Nomor versi build gambar.

Bulat

1

imageId

Id AMI dari gambar dasar.

String

ami-1234567890abcdef1

ImageName

Nama gambar.

String

SampleImage

ImageType

Jenis output gambar.

String

AMI | Docker

imageVersionNumber

Nomor versi gambar.

String

1.0.0

instanceProfileName

Nama peran profil instance yang digunakan Image Builder untuk meluncurkan instance build dan test.

String

SampleImageBuilderInstanceProfileRole

platform

Platform sistem operasi dari gambar yang dibangun.

String

Linux | Windows | MacOS

S3log

Objek JSON yang berisi konfigurasi untuk log S3 yang ditulis Image Builder.

Objek JSON

{'s3logs': {'s3 ':' sample-bucket BucketName ', KeyPrefix 's3': 'ib-logs'}}

securityGroups

ID grup keamanan yang berlaku untuk membangun dan menguji instance.

Daftar [String]

[sg-1234567890abcdef1, sg-11112222333344445]

SourceImagearn

Nama Sumber Daya Amazon (ARN) dari sumber daya image Image Builder yang digunakan alur kerja untuk tahap pembuatan dan pengujian.

String

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

subnetId

ID subnet untuk meluncurkan instance build dan test ke dalam.

String

subnet-1234567890abcdef1

terminateInstanceOnKegagalan

Nilai setelan saat ini yang mengarahkan Image Builder untuk menghentikan instance saat gagal atau menyimpannya untuk pemecahan masalah.

Boolean

true | false

WorkflowPhase

Tahap saat ini yang berjalan untuk eksekusi alur kerja.

String

Build | Test

workingDirectory

Jalur ke direktori kerja.

String

/tmp