# Ansible from_yaml 过滤器

Ansible `from_yaml` 过滤器可用于简化带有格式的数据操作。

列表数据类型的示例：

### 没有过滤器
我必须同时使用 `strip` 和 `split` 函数，这很容易出错。

```yaml
glusterfs_node_hostname_base: |
  {% for item in glusterfs_node|unique %}
  {{ hostvars[item].get('ansible_hostname') }}
  {% endfor %}

## gluster 在探测对等点时需要唯一的主机名或节点名，这里 glusterfs_node_hostname 
## 存储所有 glusterfs 节点的主机名以用于验证目的
glusterfs_node_hostname: "{{ glusterfs_node_hostname_base.strip().split('\n') | default([]) }}"
```

### 使用 `from_yaml` 过滤器

```yaml
glusterfs_node_hostname_base: |
  ---
  {% for item in glusterfs_node|unique %}
  - {{ hostvars[item].get('ansible_hostname') }}
  {% endfor %}

## gluster 在探测对等点时需要唯一的主机名或节点名，这里 glusterfs_node_hostname 
## 存储所有 glusterfs 节点的主机名以用于验证目的
glusterfs_node_hostname: "{{ glusterfs_node_hostname_base | from_yaml }}"
```

