如何使用Ansible使用动态库存设置变量

时间:2015-06-17 19:43:52

标签: amazon-web-services amazon-ec2 ansible ansible-playbook rds

我正在寻找使用从动态库存收到的库存信息在ansible playbook中设置变量的方法。

例如,如果我们有像

这样的样本剧本
---
- hosts: localhost
  connection: local

  tasks:
   - set_fact: rds_hostname="{{ rds_mysql }}" #set rds endpoint from ec2.py

   - debug: var=rds_hostname 

当我以

运行简单的ec2.py脚本时,我能够获得端点
  

“rds_mysql”:{

     
    

“rds_mysql.shdahfiahfa.us-easy-1.rds.amazon.com”     }

  

但是我希望将rds_hostname设置为从dynamic_inventory收到的端点。

任何人都可以指出我的错误。谢谢

1 个答案:

答案 0 :(得分:0)

我能够通过使用类似的东西来解决我的上述问题

  
      
  • set_fact:rds_hostname =" {{groups.rds_mysql [0]}}"
  •   

在我的研究过程中,我发现了一个很好的ansible galaxy代码,允许你转储ansible-playbooks可以访问的所有变量

https://galaxy.ansible.com/list#/roles/646

希望这有助于某人:)