

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verwenden Sie bedingte Konstrukte in AWSTOE
<a name="toe-conditional-constructs"></a>

Bedingte Konstrukte führen unterschiedliche Aktionen in Ihrem Komponentendokument aus, je nachdem, ob der angegebene bedingte Ausdruck als oder ausgewertet wird. `true` `false` Sie können das `if` Konstrukt verwenden, um den Ausführungsablauf in Ihrem Komponentendokument zu steuern.

## wenn Konstrukt
<a name="toe-conditional-if"></a>

Sie können das `if` Konstrukt verwenden, um zu bewerten, ob ein Schritt ausgeführt werden soll oder nicht. Standardmäßig wird der Schritt AWSTOE ausgeführt, wenn der `if` bedingte Ausdruck zu ausgewertet wird`true`, und wenn die Bedingung zu ausgewertet wird`false`, wird der Schritt AWSTOE übersprungen. Wenn ein Schritt übersprungen wird, wird er bei der AWSTOE Bewertung, ob die Phase und das Dokument erfolgreich ausgeführt wurden, als erfolgreicher Schritt behandelt.

**Anmerkung**  
Eine `if` Anweisung wird nur einmal ausgewertet, auch wenn der Schritt einen Neustart auslöst. Wenn ein Schritt neu gestartet wird, erkennt er, dass die `if` Anweisung bereits ausgewertet wurde, und setzt dort fort, wo sie aufgehört hat.

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

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


| Tastenname | Erforderlich | Description | 
| --- | --- | --- | 
| bedingter Ausdruck | Ja |  Der bedingte Ausdruck kann genau einen der folgenden Typen von Operatoren auf oberster Ebene enthalten. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/imagebuilder/latest/userguide/toe-conditional-constructs.html) Wenn Ihr Ausdruck mehrere Bedingungen erfüllen muss, verwenden Sie einen logischen Operator, um Ihre Bedingungen anzugeben.  | 
| then | Nein |  Definiert die Aktion, die ausgeführt werden soll, wenn der bedingte Ausdruck zu `true` ausgewertet wird.  | 
| else | Nein |  Definiert die Aktion, die ausgeführt werden soll, wenn der bedingte Ausdruck als Ergebnis ausgewertet wird. `false`  | 
| Schritt, Aktion | Bedingt |  Wenn Sie `then` oder verwenden`else`, müssen Sie eine der folgenden Schrittaktionen angeben: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/imagebuilder/latest/userguide/toe-conditional-constructs.html)  | 

**Beispiel 1: Paket installieren**  
In den folgenden Beispielschritten aus einem AWSTOE Komponentendokument werden logische Operatoren verwendet, um einen Parameterwert zu testen und die entsprechenden Paketmanager-Befehle auszuführen, um eine Anwendung zu installieren, falls das Paket entpackt ist.

```
    - 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
```

**Beispiel 2: Einen Schritt überspringen**  
Das folgende Beispiel zeigt zwei Möglichkeiten, einen Schritt zu überspringen. Einer verwendet einen logischen Operator, und einer verwendet einen Vergleichsoperator mit der `Skip` Schrittaktion.

```
# 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'
```