带有未定义变量的 Ansible 模板

Her*_*rth 3 linux automation loops ansible

我有一个包含我在剧本中使用的变量的文件:

net_interfaces:
  ...
  - name: "eth0"
    ip: "192.168.1.100"
    mask: "255.255.255.0"
    gateway: "192.168.1.1"
  ...
Run Code Online (Sandbox Code Playgroud)

我想用这个变量部署一些配置,例如ifcfg-eth0

DEVICE={{ item.name }}
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR={{ item.ip }}
NETMASK={{ item.netmask }}
GATEWAY={{ item.gateway }}
Run Code Online (Sandbox Code Playgroud)

但有时项目没有网关变量,在这种情况下我想删除字符串

GATEWAY={{ item.gateway }}
Run Code Online (Sandbox Code Playgroud)

从目标机器上的这个配置文件。如何在不为特定主机创建另一个任务的情况下实现这一目标?