Ansible 如何访问引用哈希中的嵌套变量。
我正在写一本Ansible Playbook,并试图访问引用散列中的嵌套变量 这是我的vars文件:Ansible 如何访问引用哈希中的嵌套变量。,ansible,Ansible,我正在写一本Ansible Playbook,并试图访问引用散列中的嵌套变量 这是我的vars文件: SourceIPs: 192.168.33.20: DestIP: 192.168.33.30 Port: 22 192.168.33.30: DestIP: 192.168.33.20 Port: 22 这是我的任务文件: - name: Testing varibale access. debug: msg: " Source IP: {
SourceIPs:
192.168.33.20:
DestIP: 192.168.33.30
Port: 22
192.168.33.30:
DestIP: 192.168.33.20
Port: 22
这是我的任务文件:
- name: Testing varibale access.
debug:
msg: " Source IP: {{ ansible_host }} corresponding Port IP and Port {{ SourceIPs[' {{ansible_host}} '] }} "
当执行这个dict_对象没有名为{{ansible_host}的变量时,它会失败。很明显,它并没有将其转换为当前主机的IP地址
但是,如果我修改任务文件以包含静态主机ip,如下所示:
- name: Testing varibale access.
debug:
msg: " Source IP: {{ ansible_host }} corresponding Port IP and Port {{ SourceIPs['192.168.33.30'] }} "
它可以工作并获取特定主机的值
我试图实现的是获取与我当前正在执行的主机关联的值 永远不要在Jinja2表达式中嵌套。您可以在其中使用变量,而无需任何包装:
- name: Testing varibale access.
debug:
msg: " Source IP: {{ ansible_host }} corresponding Port IP and Port {{ SourceIPs[ansible_host] }} "