Ansible变量嵌套解析


有时候需要用到ansible的变量的嵌套解析,就是“变量中嵌套变量”。例子如下:

 

假设有一个外部传递的变量,system_code = CRM,而我们同时有一系列类似的变量,如:

ABS_port=10000

ETL_port=5678

CRM_port=1234

想通过system_code变量来决定我要用哪个xxx_port,所以需要变量嵌套。

ansible yaml写法如下,在ansible 2.2中通过。(在2.5版本后有新的写法)

- hosts: remote_node
  vars:
    SYSTEM: "{{system_code}}_port"  # 先得到字符串CRM_port
  tasks:
  - name: "Get port number"
    shell: "echo {{ vars[SYSTEM] }}"  # 再在vars字典中提取上面拼接得到的字符串结果,然后在全局变量中解析"CRM_port"的值

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM