Ansible变量名称`environment`是保留的吗?

Vla*_*sny 7 ansible

我今天有一种奇怪的情况.我在剧本中调用了我的一个变量environment.如果我使用debug指令转储变量,则显示正常

   "environment": "development",
Run Code Online (Sandbox Code Playgroud)

但是如果我尝试从脚本中使用{{ environment }}它来访问它,则总是赋值为{}.我改名了,它运作正常.这是为什么?是environment在Ansible保留名称?我检查了变量转储 - 没有定义变量的冲突.

udo*_*dan 13

environmentGoogle小组中发现了一条声明:

是的,环境是受限制的关键字.最初在剧本中具体,但它被注入跑步者:

inject['environment'] = self.environment
Run Code Online (Sandbox Code Playgroud)

所以它将删除vars库存设置的任何值.

有一个尚未解决的功能请求,用于警告是否使用了保留变量.