我想使用Ansible CloudFormation模块在AWS上部署堆栈基础架构。所以,我使用这个Ansible CloudFormation example来处理。
在将参数传递给AWS模板的示例中,有一部分如
args:
template_parameters:
KeyName: jmartin
DiskType: ephemeral
InstanceType: m1.small
ClusterSize: 3
register: stack
这里template_parameters
是一个包含键和值的字典。像
"template_parameters": {
"DiskType": "ephemeral",
"ClusterSize": "3",
"InstanceType": "m1.small",
"KeyName": "jmartin"
}
所以,现在我想从另一个文件中填充字典值,在那里我创建了一个键和值的简单列表。像
args:
template_parameters:
- include: param_values.yml
register: stack
在param_values.yml
中会是这样的:
KeyName: jmartin
DiskType: ephemeral
InstanceType: m1.small
ClusterSize: 3
但这不是从文件中加载值。相反,它包括列表。
"template_parameters": [
{
"include": "param_values.yml"
}
]
最终会返回此错误:
“msg”:“参数template_parameters属于我们的类型 无法转换为字典“
有没有办法加载文件内容而不是将其作为字典值包含?
答案 0 :(得分:0)
您需要在ansible中使用include_vars模块。
http://docs.ansible.com/ansible/include_vars_module.html
来自文档 - >
main.js