如何抑制;“不支持的参数”;Ansible中的错误?

如何抑制;“不支持的参数”;Ansible中的错误?,ansible,backwards-compatibility,Ansible,Backwards Compatibility,对于输出过于冗长的任务,我在中使用了quiet参数。Ansible 2.8中引入了quiet参数,但不幸的是,我的代码有时需要在Debian Buster上运行,而Debian Buster仍然附带Ansible 2.7 在这种情况下,Ansible将失败,并出现致命错误“不支持(断言)模块的参数:quiet”。由于这只是一个表面参数,我希望Ansible 2.7忽略此参数并继续 有没有办法在我的任务中添加这个参数,这样Ansible 2.8就很好而且安静了,但是任务仍然在Ansible 2.7

对于输出过于冗长的任务,我在中使用了
quiet
参数。Ansible 2.8中引入了
quiet
参数,但不幸的是,我的代码有时需要在Debian Buster上运行,而Debian Buster仍然附带Ansible 2.7

在这种情况下,Ansible将失败,并出现致命错误“不支持(断言)模块的参数:quiet”。由于这只是一个表面参数,我希望Ansible 2.7忽略此参数并继续

有没有办法在我的任务中添加这个参数,这样Ansible 2.8就很好而且安静了,但是任务仍然在Ansible 2.7中运行

- name: Silent assert
  assert:
    that:
      - true
    quiet: yes
如果某些参数不适用,有一种方法可以帮助绕过它们。为此,我们可以为Ansible 2.8版或更高版本定义一个变量,该变量将设置为
true
。然后,此变量可以与
omit
一起传递到
assert
模块的
quiet
参数

例如:

-设置事实:
你断言:正确
当:ansible_version.full是版本('2.8','>=')时
-断言:
即:
-真的
安静:{{quiet_assert}默认(省略)}”

谢谢,我没有想到要省略
。非常感谢。对于那些喜欢(不可读的)单行程序的人来说,这也行,没有一个单独的
set\u事实
quiet:“{{ansible\u version.full是version('2.8','>='))|三元(true,省略)}”