从python模板生成yaml文件

2024-04-18 18:07:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个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 }}

deviceip是python脚本中api调用返回的值。python允许使用jinja2模板来创建.yml文件吗?在


Tags: nonameip脚本模板apijinja2device
1条回答
网友
1楼 · 发布于 2024-04-18 18:07:59

请注意,这并没有回答您的特定问题,但是如果您的python脚本是为了收集生成playbook所需的数据,并且不可能直接将对API的调用合并到playbook中,那么您是否可以考虑将python脚本转换为一个Ansible Inventory脚本?在

当您运行ansible_playbook.yml -i /path/to/inventory/dir playbook.yml时,如果目录中的文件是可执行的,Ansible将执行并接受格式正确的输出作为剧本的库存数据。通过这种方式,您可以使playbook成为静态的,并通过动态库存向其提供所需的数据。在

文档是here,加上两个示例博客文章here和{a3}。在

相关问题 更多 >