ansible中的Is include_变量和and变量的用法相同
我对ansible中的Is include_变量和and变量的用法相同,ansible,ansible-facts,Ansible,Ansible Facts,我对include_vars和vars的用法感到困惑 示例: - name: "Testing include_vars" include_vars: "roles/testrole/vars/test.yml" 上面的模块可以工作,因为我认为include\u vars是一个预定义的模块,用于包含给定文件中的变量 以下选项不起作用: - name: "Defining variables locally" vars: testvar : "value1" 它抛出以下错误:
include_vars
和vars
的用法感到困惑
示例:
- name: "Testing include_vars"
include_vars: "roles/testrole/vars/test.yml"
上面的模块可以工作,因为我认为include\u vars
是一个预定义的模块,用于包含给定文件中的变量
以下选项不起作用:
- name: "Defining variables locally"
vars:
testvar : "value1"
它抛出以下错误:
ERROR! no action detected in task. This often indicates a misspelled module name, or incorrect module path
我理解没有行动的错误。但是为什么不创建任务就无法在本地指定变量呢。为什么一个变量必须伴随一个动作——它背后的逻辑或哲学是什么
虽然也可以在不进行其他操作的情况下设置事实,因为set\u facts
本身是一个模块,但没有模块可以在本地设置变量。为什么?
如果您还可以添加为什么不能在单个任务上添加多个操作,例如:在同一个任务中设置事实和shell命令?vars不是一个模块。这是我的宣言。要解决此错误,请向任务中添加模块。例如调试
- name: "Defining variables locally"
vars:
testvar: "value1"
debug:
var: testvar
您可能需要查看该文档
回答你的问题
为什么没有只定义变量的模块
因为它的灵活性。从“配置数据来自何处?”开始规划您的体系结构。您可能需要查看。vars不是一个模块。这是我的宣言。要解决此错误,请向任务中添加模块。例如调试
- name: "Defining variables locally"
vars:
testvar: "value1"
debug:
var: testvar
您可能需要查看该文档
回答你的问题
为什么没有只定义变量的模块
因为它的灵活性。从“配置数据来自何处?”开始规划您的体系结构。您可能需要查看。Hi.。为什么不存在仅用于定义变量的模块。如果定义变量的范围是全局的,即所有后续任务的范围,那么为什么它必须与另一个模块一起使用?变量的范围仅限于一个剧本。我已经更新了答案。嗨..为什么没有模块存在只是为了定义变量。如果定义变量的范围是全局的,即所有后续任务的范围,那么为什么它必须与另一个模块一起使用?变量的范围仅限于一个剧本。我已经更新了答案。