

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

# Gunakan konstruksi bersyarat di AWSTOE
<a name="toe-conditional-constructs"></a>

Konstruksi bersyarat melakukan tindakan yang berbeda dalam dokumen komponen Anda berdasarkan apakah ekspresi kondisional yang ditentukan mengevaluasi atau. `true` `false` Anda dapat menggunakan `if` konstruksi untuk mengontrol aliran eksekusi dalam dokumen komponen Anda.

## jika Membangun
<a name="toe-conditional-if"></a>

Anda dapat menggunakan `if` konstruksi untuk mengevaluasi apakah suatu langkah harus dijalankan atau tidak. Secara default, ketika ekspresi `if` kondisional mengevaluasi`true`, AWSTOE menjalankan langkah, dan ketika kondisi dievaluasi`false`, AWSTOE lewati langkah. Jika sebuah langkah dilewati, itu diperlakukan sebagai langkah yang berhasil ketika AWSTOE mengevaluasi apakah fase dan dokumen berjalan dengan sukses.

**catatan**  
`if`Pernyataan hanya dievaluasi satu kali, bahkan jika langkah tersebut memicu restart. Jika sebuah langkah dimulai ulang, ia mengakui bahwa `if` pernyataan tersebut telah dievaluasi, dan berlanjut di mana ia berhenti.

### Sintaksis
<a name="toe-conditional-if-syntax"></a>

```
if:
  - <conditional expression>:
      [then: <step action>]
      [else: <step action>]
```


| Nama kunci | Diperlukan | Deskripsi | 
| --- | --- | --- | 
| ekspresi bersyarat | Ya |  Ekspresi kondisional dapat berisi persis salah satu jenis operator berikut di tingkat atas. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/imagebuilder/latest/userguide/toe-conditional-constructs.html) Jika ekspresi Anda harus memenuhi beberapa kondisi, gunakan operator logis untuk menentukan kondisi Anda.  | 
| lalu | Tidak |  Mendefinisikan tindakan yang harus diambil jika ekspresi kondisional mengevaluasi. `true`  | 
| lain | Tidak |  Mendefinisikan tindakan yang harus diambil jika ekspresi kondisional mengevaluasi. `false`  | 
| langkah tindakan | Bersyarat |  Saat Anda menggunakan `then` atau`else`, Anda harus menentukan salah satu tindakan langkah berikut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/imagebuilder/latest/userguide/toe-conditional-constructs.html)  | 

**Contoh 1: Instal paket**  
Contoh langkah berikut dari dokumen AWSTOE komponen menggunakan operator logis untuk menguji nilai parameter dan menjalankan perintah manajer paket yang sesuai untuk menginstal aplikasi jika paket di-unzip.

```
    - name: InstallUnzipAptGet
      action: ExecuteBash
      if:
        and:
            - binaryExists: 'apt-get'
            - not:
                binaryExists: 'unzip'
      inputs:
        commands:
            - sudo apt-get update
            - sudo apt-get install -y unzip

    - name: InstallUnzipYum
      action: ExecuteBash
      if:
        and:
            - binaryExists: 'yum'
            - not:
                binaryExists: 'unzip'
      inputs:
        commands:
            - sudo yum install -y unzip

    - name: InstallUnzipZypper
      action: ExecuteBash
      if:
        and:
            - binaryExists: 'zypper'
            - not:
                binaryExists: 'unzip'
      inputs:
        commands:
            - sudo zypper refresh
            - sudo zypper install -y unzip
```

**Contoh 2: Lewati satu langkah**  
Contoh berikut menunjukkan dua cara untuk melewati satu langkah. Satu menggunakan operator logis, dan satu menggunakan operator perbandingan dengan tindakan `Skip` langkah.

```
# Creates a file if it does not exist using not
- name: CreateMyConfigFile-1
  action: ExecuteBash
  if:
    not:
      fileExists: '/etc/my_config'
  inputs:
    commands:
      - echo "Hello world" > '/etc/my_config'

# Creates a file if it does not exist using then and else
- name: CreateMyConfigFile-2
  action: ExecuteBash
  if:
    fileExists: '/etc/my_config'
    then: Skip
    else: Execute
  inputs:
    commands:
      - echo "Hello world" > '/etc/my_config'
```