# Yaml verstehen

{% hint style="info" %}
Die Einrückung muss mit Leerzeichen erfolgen. Tab-Stops sind nicht zulässig. Stellen Sie Ihren Editor ggf. auf sogenannte Soft-Tabs um.
{% endhint %}

## Yaml, state-id und Name

```yaml
www-data:
  user.present:
    - fullname: Webserver
    - shell: /usr/sbin/nologin
    - home: /var/www
    - createhome: true
    - system: true
    - groups:
      - www-data
```

**ist identisch zu:**

```yaml
create-webserver-user:
  user.present:
    - name: www-data
    - fullname: Webserver
    - shell: /usr/sbin/nologin
    - home: /var/www
    - createhome: true
    - system: true
    - groups:
      - www-data
```

&#x20;**ist identisch zu:**

```yaml
www-data-user:
  user:
    - present
    - name: www-data
    - fullname: Webserver
    - shell: /usr/sbin/nologin
```

{% hint style="info" %}
Die Angabe einer **eindeutigen State-ID ist verpflichtend**. Das Format der State-ID ist frei wählbar.&#x20;

Fast alle Sates erwarten die Angabe des Wertes `- name.` Wenn `- name` nicht angeben wird, wird die State-ID als `- name` gesetzt.
{% endhint %}

```yaml
/tmp/datei.txt:
  file.managed:
    - contents: Hallo Welt
```

```yaml
datei-pflegen:
  file.managed:
    - name: /tmp/datei.txt
    - contents: Hallo Welt
```

![Terminologie](https://3666581685-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LFRZJPZX11pwB1staCp%2F-LbHlzyZNXh3XOcR6AVw%2F-LbHsOVfbF-0Boy3DcWJ%2Fimage.png?alt=media\&token=bb16907f-2ec4-4e75-b6c7-d75d94be8ea0)
