当未定义注册变量时,如何轻松跳过ansible任务?
在某些情况下,我确实在ansible中有一个当未定义注册变量时,如何轻松跳过ansible任务?,ansible,Ansible,在某些情况下,我确实在ansible中有一个寄存器:varname,以后我只想在varname.stdout已定义且不为空时执行一些任务 我怎样才能轻松做到这一点,避免臭名昭著的: "One or more undefined variables: 'dict' object has no attribute 'stdout'" 当:varname已定义且hasattr(varname,'stdout')时,我尝试了,但它似乎没有绕过该任务,我仍然收到相同的错误。(另请参阅) 如果
寄存器:varname
,以后我只想在varname.stdout
已定义且不为空时执行一些任务
我怎样才能轻松做到这一点,避免臭名昭著的:
"One or more undefined variables:
'dict' object has no attribute 'stdout'"
当:varname已定义且hasattr(varname,'stdout')时,我尝试了,但它似乎没有绕过该任务,我仍然收到相同的错误。(另请参阅)
如果你想变得非常明确,比如
when:varname已定义,varname.stdout已定义,varname.stdout!=''时代码>应该适用于您的目的 当:res.stdout被定义时
适用于ansible 2.1.0.0。当res
或res.stdout
未定义时,不要抛出错误。事实上,这应该是宣传Ansible简单性的海报的一部分