如何从Ansible azure_rm_publicipaddress_facts模块获取公共IP到变量​​以与add_host一起使用?

时间:2017-02-21 13:43:38

标签: azure ansible ansible-facts

我正在尝试使用Ansible为Azure自动化设置管道,所有工作都正常,除非我尝试将公共IP地址转换为与add_host一起使用的变量。 这是我的示例任务:

prj

这给了我以下错误:

  

致命:[localhost]:失败! => {“failed”:true,“msg”:“字段'args'的值无效,似乎包含未定义的变量。

但值如图所示:

requirements.txt

所以,我想我错过了什么,有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:2)

变化:

- name: Add new instance to host group
  add_host:
    hostname: '{{ item.ipAddress }}'
    groupname: launched
  with_items: azure_ip.azure_publicipaddresses

要:

- name: Add new instance to host group
  add_host:
    hostname: "{{ item.properties.ipAddress }}"
    groupname: launched
  with_items: "{{ azure_ip.ansible_facts.azure_publicipaddresses }}"
  • with_items您需要将变量包含在"{{ }}"中,因为有几个Ansible版本
  • 您引用的密钥名称与调试输出
  • 不同