我如何在变量中指定变量

时间:2017-08-14 13:49:05

标签: ansible

这是我的任务。

- name: Add A record for "{{ ec2_hostname }}.{{ internal_domain }}"  
  route53:
      command: create
      zone: "{{ internal_domain }}"
      private_zone: "{{ private_type }}"
      record: "{{ ec2_hostname }}.{{ internal_domain }}"
      type: A
      ttl: 300
      value: "{{ ansible_ec2_[ec2_r53_type]_ipv4 }}"

特别遇到这条线的问题:

value: "{{ ansible_ec2_[ec2_r53_type]_ipv4 }}"

我需要在字符串中插入ec2_r53_type来创建另一个变量。这应该是“公共”或“本地”。

所以预期的结果应该是

value: "{{ ansible_ec2_local_ipv4 }}"

value: "{{ ansible_ec2_public_ipv4 }}"

这里的逻辑是什么,尝试了所有我不知道的运气

2 个答案:

答案 0 :(得分:2)

这应该有效

value: "{{ vars['ansible_ec2_' + ec2_r53_type + '_ipv4'] }}"

答案 1 :(得分:0)

 - find: ^CODEDEPLOY_USER=""
   replace: CODEDEPLOY_USER=""{{ app_install_user }}""

“/”{{app_install_user}} /“”这样的东西,这是在游戏的vars文件夹中

我需要在角色的变量中添加qoutes中的变量。 角色/ XXXX /瓦尔/ main.yml

在ansible

的group_vars上添加了app_install_user