如何动态更改Ansible变量?

时间:2016-08-22 05:44:30

标签: ansible

我在vars中有这个:

var1: "test1"
var2: "test2"
var3: "{{var1}}"

现在我想动态更改var3: "{{var2}}"

我可以指定var3: "test2"。但是我如何分配var3: "{{var2}}"

1 个答案:

答案 0 :(得分:6)

我试图解释短语"动态改变Ansible变量"根据你的问题:

---
- hosts: localhost
  connection: local
  vars:
    var1: "test1"
    var2: "test2"
    var3: "{{var1}}"
  tasks:
    - debug: var=var3
    - set_fact:
        var3: "{{var2}}"
    - debug: var=var3

关于评论:

  

我在想set_fact使vars成为主机,而不是优先于playbook vars

通过set_fact模块分配的变量属于它们自己的变量类,它们的优先级较低,仅限于阻止变量,任务变量和额外变量。请参阅Variable Precedence