

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

# Mengembangkan komponen kustom untuk image Image Builder
<a name="create-custom-components"></a>

Anda dapat membuat komponen Anda sendiri untuk menyesuaikan gambar Image Builder Anda sesuai dengan spesifikasi Anda yang tepat. Gunakan langkah-langkah berikut untuk mengembangkan komponen kustom untuk gambar Image Builder atau resep kontainer Anda.

1. Jika Anda ingin mengembangkan dokumen komponen Anda dan memvalidasinya secara lokal, Anda dapat menginstal aplikasi AWS Task Orchestrator and Executor (AWSTOE) dan mengaturnya di mesin lokal Anda. Untuk informasi selengkapnya, lihat [Pengaturan manual untuk mengembangkan komponen khusus dengan AWSTOE](toe-get-started.md).

1. Buat dokumen komponen yang menggunakan kerangka dokumen AWSTOE komponen. Untuk informasi selengkapnya tentang kerangka dokumen, lihat[Gunakan kerangka dokumen AWSTOE komponen untuk komponen kustom](toe-use-documents.md).

1. Tentukan dokumen komponen Anda saat Anda membuat komponen kustom. Untuk informasi selengkapnya, lihat [Buat komponen kustom dengan Image Builder](create-component.md).

**Topics**
+ [Membuat dokumen komponen YAMAL untuk komponen kustom di Image Builder](create-component-yaml.md)
+ [Buat komponen kustom dengan Image Builder](create-component.md)

# Membuat dokumen komponen YAMAL untuk komponen kustom di Image Builder
<a name="create-component-yaml"></a>

Untuk membangun komponen, Anda harus menyediakan dokumen komponen aplikasi YAMAL atau JSON. Dokumen berisi kode yang berjalan selama fase dan langkah-langkah yang Anda tentukan untuk memberikan penyesuaian untuk gambar Anda.

Beberapa contoh di bagian ini membuat komponen build yang memanggil modul `UpdateOS` tindakan dalam aplikasi manajemen AWSTOE komponen. Modul memperbarui sistem operasi. Untuk informasi selengkapnya tentang modul `UpdateOS` tindakan, lihat[UpdateOS](toe-action-modules.md#action-modules-updateos).

Contoh sistem operasi macOS menggunakan modul `ExecuteBash` tindakan untuk menginstal dan memverifikasi utilitas. `wget` Modul `UpdateOS` tindakan tidak mendukung macOS. Untuk informasi selengkapnya tentang modul `ExecuteBash` tindakan, lihat[ExecuteBash](toe-action-modules.md#action-modules-executebash). Untuk informasi selengkapnya tentang fase, langkah, dan sintaks untuk dokumen komponen AWSTOE aplikasi, lihat [Menggunakan dokumen di AWSTOE](https://docs.aws.amazon.com/imagebuilder/latest/userguide/toe-use-documents.html).

**catatan**  
Image Builder menentukan jenis komponen dari fase yang didefinisikan dalam dokumen komponen sebagai berikut:  
**Build** — Ini adalah tipe komponen default. Apa pun yang tidak diklasifikasikan sebagai komponen uji, adalah komponen build. Jenis komponen ini berjalan selama *tahap Build* image. Jika komponen build ini memiliki `test` fase yang ditentukan, fase tersebut berjalan selama *tahap Test*.
**Test** — Untuk memenuhi syarat sebagai komponen pengujian, dokumen komponen harus menyertakan hanya satu fase, bernama`test`. Untuk pengujian yang terkait dengan konfigurasi komponen build, sebaiknya Anda tidak menggunakan komponen pengujian mandiri. Sebaliknya, gunakan `test` fase dalam komponen build terkait.
Untuk informasi selengkapnya tentang cara Image Builder menggunakan tahapan dan fase untuk mengelola alur kerja komponen dalam proses pembuatannya, lihat[Gunakan komponen untuk menyesuaikan image Image Builder](manage-components.md).

Untuk membuat dokumen komponen aplikasi YAMAL untuk contoh aplikasi, ikuti langkah-langkah pada tab yang cocok dengan sistem operasi gambar Anda. 

------
#### [ Linux ]

**Buat file komponen YAMAL**  
Gunakan alat pengeditan file untuk membuat dokumen komponen Anda. Contoh dokumentasi menggunakan file bernama`update-linux-os.yaml`, dengan konten berikut:

```
# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: MIT-0
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this
# software and associated documentation files (the "Software"), to deal in the Software
# without restriction, including without limitation the rights to use, copy, modify,
# merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
# INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
# PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
name: update-linux-os
description: Updates Linux with the latest security updates.
schemaVersion: 1
phases:
  - name: build
    steps:
    - name: UpdateOS
      action: UpdateOS
# Document End
```

**Tip**  
Gunakan alat seperti [Validator YAMAL online](https://jsonformatter.org/yaml-validator) ini, atau ekstensi lint YAMAL di lingkungan kode Anda untuk memverifikasi bahwa YAMAL Anda terbentuk dengan baik.

------
#### [ Windows ]

**Buat file komponen YAMAL**  
Gunakan alat pengeditan file untuk membuat dokumen komponen Anda. Contoh dokumentasi menggunakan file bernama`update-windows-os.yaml`, dengan konten berikut:

```
# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: MIT-0
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this
# software and associated documentation files (the "Software"), to deal in the Software
# without restriction, including without limitation the rights to use, copy, modify,
# merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
# INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
# PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
name: update-windows-os
description: Updates Windows with the latest security updates.
schemaVersion: 1.0
phases:
  - name: build
    steps:
      - name: UpdateOS
        action: UpdateOS
# Document End
```

**Tip**  
Gunakan alat seperti [Validator YAMAL online](https://jsonformatter.org/yaml-validator) ini, atau ekstensi lint YAMAL di lingkungan kode Anda untuk memverifikasi bahwa YAMAL Anda terbentuk dengan baik.

------
#### [ macOS ]

**Buat file komponen YAMAL**  
Gunakan alat pengeditan file untuk membuat dokumen komponen Anda. Contoh dokumentasi menggunakan file bernama`wget-macos.yaml`, dengan konten berikut:

```
name: WgetInstallDocument
description: This is wget installation document.
schemaVersion: 1.0

phases:
  - name: build
    steps:
      - name: WgetBuildStep
        action: ExecuteBash
        inputs:
          commands:
            - |
              PATH=/usr/local/bin:$PATH
              sudo -u ec2-user brew install wget


  - name: validate
    steps:
      - name: WgetValidateStep
        action: ExecuteBash
        inputs:
          commands:
            - |
              function error_exit {
                echo $1
                echo "{\"failureMessage\":\"$2\"}"
                exit 1
              }

              type wget
              if [ $? -ne 0 ]; then
                error_exit "$stderr" "Wget installation failed!"
              fi

  - name: test
    steps:
      - name: WgetTestStep
        action: ExecuteBash
        inputs:
          commands:
            - wget -h
```

**Tip**  
Gunakan alat seperti [Validator YAMAL online](https://jsonformatter.org/yaml-validator) ini, atau ekstensi lint YAMAL di lingkungan kode Anda untuk memverifikasi bahwa YAMAL Anda terbentuk dengan baik.

------

# Buat komponen kustom dengan Image Builder
<a name="create-component"></a>

Setelah menyelesaikan dokumen komponen, Anda dapat menggunakannya untuk membuat komponen kustom yang dapat digunakan resep Image Builder Anda. Anda dapat membuat komponen kustom dari konsol Image Builder, dari API atau SDKs, atau dari baris perintah. Untuk informasi selengkapnya tentang cara membuat komponen kustom dengan parameter input dan menggunakannya dalam resep Anda, lihat[Tutorial: Buat komponen kustom dengan parameter input](tutorial-component-parameters.md).

Bagian berikut menunjukkan cara membuat komponen dari konsol atau dari AWS CLI.

**Topics**
+ [Buat komponen khusus dari konsol](#create-component-ib-console)
+ [Buat komponen khusus dari AWS CLI](#create-component-ib-cli)
+ [Impor skrip untuk membuat komponen dari AWS CLI](#import-component-cli)
+ [Manajemen versi build otomatis](#auto-build-version-management)
+ [Menggunakan referensi versi](#using-version-references)

## Buat komponen khusus dari konsol
<a name="create-component-ib-console"></a>

Untuk membuat komponen AWSTOE aplikasi dari konsol Image Builder, ikuti langkah-langkah berikut:

1. Buka konsol [https://console.aws.amazon.com/imagebuilder/](https://console.aws.amazon.com/imagebuilder/)EC2 Image Builder di.

1. Pilih **Komponen** dari panel navigasi. Kemudian pilih **Buat komponen**.

1. Pada halaman **Create component**, di bawah **Component details**, masukkan yang berikut ini:

   1. **Gambar Sistem operasi (OS)**. Tentukan sistem operasi yang kompatibel dengan komponen tersebut.

   1. **Kategori komponen**. Dari dropdown, pilih jenis komponen build atau test yang Anda buat.

   1. **Nama komponen**. Masukkan nama untuk komponen.

   1. **Versi komponen**. Masukkan nomor versi komponen.

   1. **Deskripsi**. Berikan deskripsi opsional untuk membantu Anda mengidentifikasi komponen.

   1. **Ubah deskripsi**. Berikan deskripsi opsional untuk membantu Anda memahami perubahan yang dibuat pada versi komponen ini.

1. Di bagian **Dokumen definisi**, opsi defaultnya adalah **Tentukan konten dokumen**. Dokumen komponen mendefinisikan tindakan yang dilakukan Image Builder pada instance build dan pengujian untuk membuat image Anda.

   Di kotak **Konten**, masukkan konten dokumen komponen YAMB Anda. Untuk memulai dengan contoh *Hello World* untuk Linux, pilih opsi **Use example**. Untuk mempelajari lebih lanjut tentang cara membuat dokumen komponen YAMB, atau menyalin dan menempelkan contoh *UpdateOS* dari halaman tersebut, lihat. [Membuat dokumen komponen YAMAL untuk komponen kustom di Image Builder](create-component-yaml.md)

1. Setelah Anda memasukkan detail komponen, pilih **Buat komponen**.
**catatan**  
Untuk melihat komponen baru Anda saat membuat atau memperbarui resep, terapkan filter **Owned by me** ke daftar komponen build atau test. Filter terletak di bagian atas daftar komponen, di sebelah kotak pencarian.

1. Untuk menghapus komponen, dari halaman **Komponen**, pilih kotak centang di sebelah komponen yang ingin Anda hapus. Dari dropdown **Tindakan**, pilih **Hapus** komponen.

**Perbarui komponen**  
Untuk membuat versi komponen baru, ikuti langkah-langkah berikut:

1. Tergantung di mana Anda memulai:
   + Dari halaman daftar **Komponen** - Pilih kotak centang di sebelah nama komponen, lalu pilih **Buat versi baru** dari menu **Tindakan**.
   + Dari halaman detail komponen - Pilih tombol **Buat versi baru** di sudut kanan atas judul.

1. Informasi komponen sudah diisi dengan nilai saat ini saat halaman **Create Component** ditampilkan. Ikuti langkah-langkah membuat komponen untuk memperbarui komponen. Ini memastikan bahwa Anda memasukkan versi semantik unik dalam versi **Komponen**. Untuk mempelajari lebih lanjut tentang pembuatan versi semantik untuk sumber daya Image Builder, lihat. [Pembuatan versi semantik di Image Builder](ibhow-semantic-versioning.md)

## Buat komponen khusus dari AWS CLI
<a name="create-component-ib-cli"></a>

Di bagian ini, Anda akan belajar cara mengatur dan menggunakan perintah Image Builder di AWS CLI untuk membuat komponen AWSTOE aplikasi, sebagai berikut.
+ Unggah dokumen komponen YAMB Anda ke bucket S3 yang dapat Anda referensikan dari baris perintah.
+ Buat komponen AWSTOE aplikasi dengan **create-component** perintah.
+ Daftar versi komponen dengan **list-components** perintah dan filter nama untuk melihat versi apa yang sudah ada. Anda dapat menggunakan output untuk menentukan versi berikutnya untuk pembaruan.

Untuk membuat komponen AWSTOE aplikasi dari dokumen YAMM masukan, ikuti langkah-langkah yang sesuai dengan platform sistem operasi gambar Anda.

------
#### [ Linux ]

**Simpan dokumen komponen aplikasi Anda di Amazon S3**

Anda dapat menggunakan bucket S3 sebagai repositori untuk dokumen sumber komponen AWSTOE aplikasi Anda. Untuk menyimpan dokumen komponen Anda, ikuti langkah-langkah berikut:
+ 

**Unggah dokumen ke Amazon S3**

  *Jika dokumen Anda lebih kecil dari 64 KB, Anda dapat melewati langkah ini.* Dokumen yang berukuran 64 KB atau lebih besar harus disimpan di Amazon S3.

  ```
  aws s3 cp update-linux-os.yaml s3://amzn-s3-demo-destination-bucket/my-path/update-linux-os.yaml
  ```

**Buat komponen dari dokumen YAMB**

Untuk merampingkan **create-component** perintah yang Anda gunakan di AWS CLI, buat file JSON yang berisi semua parameter komponen yang ingin Anda lewatkan ke perintah. Sertakan lokasi `update-linux-os.yaml` dokumen yang Anda buat sebelumnya. Pasangan `uri` kunci-nilai berisi referensi file.
**catatan**  
Konvensi penamaan untuk nilai data dalam file JSON mengikuti pola yang ditentukan untuk parameter permintaan operasi Image Builder API. Untuk meninjau parameter permintaan perintah API, lihat [CreateComponent](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateComponent.html)perintah di Referensi *API EC2 Image Builder*.  
Untuk memberikan nilai data sebagai parameter baris perintah, lihat nama parameter yang ditentukan dalam *Referensi AWS CLI Perintah*.

1. 

**Buat file JSON input CLI**

   Gunakan alat pengeditan file untuk membuat file bernama`create-update-linux-os-component.json`. Sertakan konten berikut:

   ```
   {
   	"name": "update-linux-os",
   	"semanticVersion": "1.1.2",
   	"description": "An example component that updates the Linux operating system",
   	"changeDescription": "Initial version.",
   	"platform": "Linux",
   	"uri": "s3://amzn-s3-demo-destination-bucket/my-path/update-linux-os.yaml",
   	"kmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/98765432-b123-456b-7f89-0123456f789c",
   	"tags": {
   		"MyTagKey-purpose": "security-updates"
   	}
   }
   ```

1. 

**Buat komponen**

   Gunakan perintah berikut untuk membuat komponen, merujuk nama file untuk file JSON yang Anda buat pada langkah sebelumnya:

   ```
   aws imagebuilder create-component --cli-input-json file://create-update-linux-os-component.json
   ```
**catatan**  
Anda harus menyertakan notasi `file://` pada awal jalur file JSON.
Jalur untuk file JSON harus mengikuti konvensi yang sesuai untuk sistem operasi dasar tempat Anda menjalankan perintah. Misalnya, Windows menggunakan garis miring terbalik (\$1) untuk merujuk ke jalur direktori, sedangkan Linux dan macOS menggunakan garis miring maju (/).

------
#### [ Windows ]

**Simpan dokumen komponen aplikasi Anda di Amazon S3**

Anda dapat menggunakan bucket S3 sebagai repositori untuk dokumen sumber komponen AWSTOE aplikasi Anda. Untuk menyimpan dokumen komponen Anda, ikuti langkah-langkah berikut:
+ 

**Unggah dokumen ke Amazon S3**

  *Jika dokumen Anda lebih kecil dari 64 KB, Anda dapat melewati langkah ini.* Dokumen yang berukuran 64 KB atau lebih besar harus disimpan di Amazon S3.

  ```
  aws s3 cp update-windows-os.yaml s3://amzn-s3-demo-destination-bucket/my-path/update-windows-os.yaml
  ```

**Buat komponen dari dokumen YAMB**

Untuk merampingkan **create-component** perintah yang Anda gunakan di AWS CLI, buat file JSON yang berisi semua parameter komponen yang ingin Anda lewatkan ke perintah. Sertakan lokasi `update-windows-os.yaml` dokumen yang Anda buat sebelumnya. Pasangan `uri` kunci-nilai berisi referensi file.
**catatan**  
Konvensi penamaan untuk nilai data dalam file JSON mengikuti pola yang ditentukan untuk parameter permintaan operasi Image Builder API. Untuk meninjau parameter permintaan perintah API, lihat [CreateComponent](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateComponent.html)perintah di Referensi *API EC2 Image Builder*.  
Untuk memberikan nilai data sebagai parameter baris perintah, lihat nama parameter yang ditentukan dalam *Referensi AWS CLI Perintah*..

1. 

**Buat file JSON input CLI**

   Gunakan alat pengeditan file untuk membuat file bernama`create-update-windows-os-component.json`. Sertakan konten berikut:

   ```
   {
   	"name": "update-windows-os",
   	"semanticVersion": "1.1.2",
   	"description": "An example component that updates the Windows operating system.",
   	"changeDescription": "Initial version.",
   	"platform": "Windows",
   	"uri": "s3://amzn-s3-demo-destination-bucket/my-path/update-windows-os.yaml",
   	"kmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/98765432-b123-456b-7f89-0123456f789c",
   	"tags": {
   		"MyTagKey-purpose": "security-updates"
   	}
   }
   ```
**catatan**  
Anda harus menyertakan notasi `file://` pada awal jalur file JSON.
Jalur untuk file JSON harus mengikuti konvensi yang sesuai untuk sistem operasi dasar tempat Anda menjalankan perintah. Misalnya, Windows menggunakan garis miring terbalik (\$1) untuk merujuk ke jalur direktori, sedangkan Linux dan macOS menggunakan garis miring maju (/).

1. 

**Buat komponen**

   Gunakan perintah berikut untuk membuat komponen, merujuk nama file untuk file JSON yang Anda buat pada langkah sebelumnya:

   ```
   aws imagebuilder create-component --cli-input-json file://create-update-windows-os-component.json
   ```
**catatan**  
Anda harus menyertakan notasi `file://` pada awal jalur file JSON.
Jalur untuk file JSON harus mengikuti konvensi yang sesuai untuk sistem operasi dasar tempat Anda menjalankan perintah. Misalnya, Windows menggunakan garis miring terbalik (\$1) untuk merujuk ke jalur direktori, sedangkan Linux dan macOS menggunakan garis miring maju (/).

------
#### [ macOS ]

**Simpan dokumen komponen aplikasi Anda di Amazon S3**

Anda dapat menggunakan bucket S3 sebagai repositori untuk dokumen sumber komponen AWSTOE aplikasi Anda. Untuk menyimpan dokumen komponen Anda, ikuti langkah-langkah berikut:
+ 

**Unggah dokumen ke Amazon S3**

  *Jika dokumen Anda lebih kecil dari 64 KB, Anda dapat melewati langkah ini.* Dokumen yang berukuran 64 KB atau lebih besar harus disimpan di Amazon S3.

  ```
  aws s3 cp wget-macos.yaml s3://amzn-s3-demo-destination-bucket/my-path/wget-macos.yaml
  ```

**Buat komponen dari dokumen YAMB**

Untuk merampingkan **create-component** perintah yang Anda gunakan di AWS CLI, buat file JSON yang berisi semua parameter komponen yang ingin Anda lewatkan ke perintah. Sertakan lokasi `wget-macos.yaml` dokumen yang Anda buat sebelumnya. Pasangan `uri` kunci-nilai berisi referensi file.
**catatan**  
Konvensi penamaan untuk nilai data dalam file JSON mengikuti pola yang ditentukan untuk parameter permintaan operasi Image Builder API. Untuk meninjau parameter permintaan perintah API, lihat [CreateComponent](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateComponent.html)perintah di Referensi *API EC2 Image Builder*.  
Untuk memberikan nilai data sebagai parameter baris perintah, lihat nama parameter yang ditentukan dalam *Referensi AWS CLI Perintah*.

1. 

**Buat file JSON input CLI**

   Gunakan alat pengeditan file untuk membuat file bernama`install-wget-macos-component.json`. Sertakan konten berikut:

   ```
   {
   	"name": "install install-wget-macos-component",
   	"semanticVersion": "1.1.2",
   	"description": "An example component that installs and verifies the wget utility on macOS.",
   	"changeDescription": "Initial version.",
   	"platform": "macOS",
   	"uri": "s3://amzn-s3-demo-destination-bucket/my-path/wget-macos.yaml",
   	"kmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/98765432-b123-456b-7f89-0123456f789c",
   	"tags": {
   		"MyTagKey-purpose": "install-software"
   	}
   }
   ```

1. 

**Buat komponen**

   Gunakan perintah berikut untuk membuat komponen, merujuk nama file untuk file JSON yang Anda buat pada langkah sebelumnya:

   ```
   aws imagebuilder create-component --cli-input-json file://install-wget-macos-component.json
   ```
**catatan**  
Anda harus menyertakan notasi `file://` pada awal jalur file JSON.
Jalur untuk file JSON harus mengikuti konvensi yang sesuai untuk sistem operasi dasar tempat Anda menjalankan perintah. Misalnya, Windows menggunakan garis miring terbalik (\$1) untuk merujuk ke jalur direktori, sedangkan Linux dan macOS menggunakan garis miring maju (/).

------

### AWSTOE versi komponen untuk pembaruan dari AWS CLI
<a name="component-update-cli"></a>

AWSTOE nama dan versi komponen disematkan di Amazon Resource Name (ARN) komponen, setelah awalan komponen. Setiap versi baru komponen memiliki ARN uniknya sendiri. Langkah-langkah untuk membuat versi baru persis sama dengan langkah-langkah untuk membuat komponen baru, selama versi semantik unik untuk nama komponen itu. Untuk mempelajari lebih lanjut tentang pembuatan versi semantik untuk sumber daya Image Builder, lihat. [Pembuatan versi semantik di Image Builder](ibhow-semantic-versioning.md)

Untuk memastikan bahwa Anda menetapkan versi logis berikutnya, pertama-tama dapatkan daftar versi yang ada untuk komponen yang ingin Anda ubah. Gunakan **list-components** perintah dengan AWS CLI, dan filter pada nama.

Dalam contoh ini, Anda memfilter nama komponen yang Anda buat di contoh Linux sebelumnya. Untuk membuat daftar komponen yang Anda buat, gunakan nilai `name` parameter dari file JSON yang Anda gunakan dalam **create-component** perintah.

```
aws imagebuilder list-components --filters name="name",values="update-linux-os"	
{
    "requestId": "123a4567-b890-123c-45d6-ef789ab0cd1e",
    "componentVersionList": [
        {
            "arn": "arn:aws:imagebuilder:us-west-2:1234560087789012:component/update-linux-os/1.0.0",
            "name": "update-linux-os",
            "version": "1.0.0",
            "platform": "Linux",
            "type": "BUILD",
            "owner": "123456789012",
            "dateCreated": "2020-09-24T16:58:24.444Z"
        },
        {
            "arn": "arn:aws:imagebuilder:us-west-2:1234560087789012:component/update-linux-os/1.0.1",
            "name": "update-linux-os",
            "version": "1.0.1",
            "platform": "Linux",
            "type": "BUILD",
            "owner": "123456789012",
            "dateCreated": "2021-07-10T03:38:46.091Z"
        }
    ]
}
```

Berdasarkan hasil Anda, Anda dapat menentukan versi berikutnya.

## Impor skrip untuk membuat komponen dari AWS CLI
<a name="import-component-cli"></a>

Untuk beberapa skenario, mungkin lebih mudah untuk memulai dengan skrip yang sudah ada sebelumnya. Untuk skenario ini, Anda dapat menggunakan contoh berikut. 

Contoh ini mengasumsikan bahwa Anda memiliki file bernama `import-component.json` (seperti yang ditunjukkan). Perhatikan bahwa file tersebut secara langsung mereferensikan PowerShell skrip `AdminConfig.ps1` yang disebut yang sudah diunggah. `amzn-s3-demo-source-bucket` Saat `SHELL` ini, didukung untuk komponen`format`. 

```
{
"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://amzn-s3-demo-source-bucket/AdminConfig.ps1",
"kmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/60763706-b131-418b-8f85-3420912f020c"
}
```

Untuk membuat komponen dari skrip yang diimpor, jalankan perintah berikut.

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

## Manajemen versi build otomatis
<a name="auto-build-version-management"></a>

Saat Anda membuat komponen dengan nama dan versi semantik yang sama dengan komponen yang ada, Image Builder secara otomatis menambah versi build (misalnya, dari `/1` ke, ke `/2``/3`, dan seterusnya). Ini memungkinkan Anda untuk membuat pembaruan berulang pada komponen Anda tanpa mengelola nomor versi secara manual, yang sangat berguna dalam CI/CD pipeline dan infrastructure-as-code penerapan. Jika konten komponen identik dengan versi build sebelumnya, Image Builder kembali `ResourceAlreadyExistsException` untuk mencegah duplikat komponen menggunakan kuota layanan Anda. 

## Menggunakan referensi versi
<a name="using-version-references"></a>

Ketika Anda membuat atau mengambil komponen, Image Builder secara otomatis menyediakan pra-konstruksi ARNs dengan pola versi wildcard dalam objek. latestVersionReferences Referensi ini memudahkan penggunaan versi terbaru komponen Anda dalam resep dan saluran pipa tanpa mengurai ARNs secara manual. 

**Memilih referensi versi yang tepat**
+ latestVersionArn (x.xx) - Selalu gunakan versi komponen terbaru yang absolut.
+ atestMajorVersionArn (1.xx) - Gunakan versi minor dan patch terbaru dalam versi utama.
+ latestMinorVersionArn (1.2.x) - Gunakan versi patch terbaru saja.
+ latestPatchVersionArn (1.2.3) - Referensi versi semantik tertentu, tetapi dapatkan versi build terbaru.

**catatan**  
Untuk menghindari biaya yang tidak terduga, pastikan untuk membersihkan sumber daya dan saluran pipa yang Anda buat dari contoh dalam panduan ini. Untuk informasi selengkapnya tentang menghapus sumber daya di Image Builder, lihat[Hapus sumber daya Image Builder yang sudah usang atau tidak digunakan](delete-resources.md).