Ansible 如何解决无法在Junos_模块命令中使用管道的问题

Ansible 如何解决无法在Junos_模块命令中使用管道的问题,ansible,junos-automation,Ansible,Junos Automation,我正在尝试使用ansible在Juniper设备上自动化一些命令。但是,这些命令要求我使用“|”管道。通过Junos_命令模块读取,无法使用管道 此模块不使用Junos CLI来执行CLI命令。相反,它通过NETCONF通道使用RPC。RPC将CLI命令作为其输入,与在CLI上执行命令非常相似,但您不能在此模块执行的CLI命令中包含任何管道修改,即|匹配、|计数等 我尝试使用转义字符\,但仍然不起作用 我想到的是使用原始shell命令,通过ansible to ssh连接到设备,并独立于juno

我正在尝试使用ansible在Juniper设备上自动化一些命令。但是,这些命令要求我使用“|”管道。通过Junos_命令模块读取,无法使用管道

此模块不使用Junos CLI来执行CLI命令。相反,它通过NETCONF通道使用RPC。RPC将CLI命令作为其输入,与在CLI上执行命令非常相似,但您不能在此模块执行的CLI命令中包含任何管道修改,即|匹配、|计数等

我尝试使用转义字符\,但仍然不起作用

我想到的是使用原始shell命令,通过ansible to ssh连接到设备,并独立于junos_命令模块运行命令,但这似乎需要做大量的工作,我放弃了很多有用的功能,因为不使用该模块


使用此模块,我还可以使用哪些其他方法通过管道实际传递命令。

您可以将输出返回为XML格式,而无需管道过滤。例如:

    - name: show bgp summary with XML output
      juniper_junos_command:
        commands:
          - "show bgp summary"
        formats:
          - "xml"
      register: response
然后使用ansible xml_模块对返回的输出进行xpath过滤