2016-08-22 80 views
-1

我有这样的增值经销商:如何动态更改Ansible变量?

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

现在我要动态地改变0​​。我可以分配var3: "test2"。但我怎样才能分配var3: "{{var2}}"

回答

1

我在这句话的解释尝试根据您的问题,“动态改变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让增值经销商为HOSTVARS其中唐没有优先于playbook vars

通过set_fact模块a分配的变量a在他们自己的变量类别中,它只具有较低的优先级,以阻止变量,任务变量和额外变量。请参阅Variable Precedence

+0

我在想set_fact让vars成为不具备playbook vars优先权的hostvars – Karl