Configuration 你能取消定义盐柱中的变量吗?

Configuration 你能取消定义盐柱中的变量吗?,configuration,undefined,yaml,salt-stack,Configuration,Undefined,Yaml,Salt Stack,给定一个如下所示的支柱top.sls文件: base: '*': - base - local mysetting: 'foo' 还有一个base.sls文件,如下所示: base: '*': - base - local mysetting: 'foo' 您是否可以在local.sls中输入任何内容,从而导致mysetting再次被取消定义?简短的回答可能是。有关更多详细信息,请参阅 在你的特殊情况下 mysetting: 'bo

给定一个如下所示的支柱
top.sls
文件:

base:
  '*': 
     - base
     - local
mysetting: 'foo' 
还有一个
base.sls
文件,如下所示:

base:
  '*': 
     - base
     - local
mysetting: 'foo' 

您是否可以在
local.sls
中输入任何内容,从而导致
mysetting
再次被取消定义?

简短的回答可能是。有关更多详细信息,请参阅

在你的特殊情况下

mysetting: 'boo'
绝对将覆盖设置

我自己还没有尝试过,但我几乎确信下面的内容会将
mysseting
设置为未定义

mysetting: None

好主意。我测试了它,它不起作用-变量只有值“None”,因此在类似Jinja的
default()
filter()的情况下,它的作用与未定义的情况不同。@SteveBennett然后,在本地测试时起作用的是
mysetting:'
。如果您的状态/模块没有明确检查
是否未定义
-则您都是settled@SteveBennett例如,在我的本地环境中
vagrant@fbr-enonic01:~$sudo salt call posal.get mysetting local:
的行为方式与unexisting设置相同。在布尔运算中,
仍然计算为
False
。很高兴知道。重要的是Jinja的
default
函数,它专门检查定义性。