我有一个python脚本查询api并返回一些不同的值。基于此,我尝试生成一个ansible剧本,其中包含从jinja2模板插入的值,如下所示
- name: prep change
hosts: {{ device }}
gather_facts: no
connection: local
tasks:
- name: run arista cmd
eos_command:
commands: show ip bgp neighbor | i {{ ip }}
device和ip是python脚本中api调用返回的值。python允许使用jinja2模板来创建.yml文件吗?在
请注意,这并没有回答您的特定问题,但是如果您的python脚本是为了收集生成playbook所需的数据,并且不可能直接将对API的调用合并到playbook中,那么您是否可以考虑将python脚本转换为一个Ansible Inventory脚本?在
当您运行
ansible_playbook.yml -i /path/to/inventory/dir playbook.yml
时,如果目录中的文件是可执行的,Ansible将执行并接受格式正确的输出作为剧本的库存数据。通过这种方式,您可以使playbook成为静态的,并通过动态库存向其提供所需的数据。在文档是here,加上两个示例博客文章here和{a3}。在
相关问题 更多 >
编程相关推荐