ansible - 在 Ansible playbook 中使用 inventory_file 和一个空的清单文件
问题描述
我正在使用 Ansible 在 AWS 上自动配置 EC2 实例。该计划是为每个清单(生产/登台/演示/等)配置一台主机。
我想:
- 从一个空的库存文件开始,例如
inventories/production
- 运行一个 playbook (
ansible-playbook -i inventories/production playbooks/provision_ec2_instance.yml
),它使用add_host将新创建的主机添加到inventories/production
问题是:对于一个空的清单文件,Ansible 将只使用隐式 localhost,这不会使inventory_file
变量可用,因此以下失败,因为inventory_file
未定义:
[...]
- name: Provision EC2 instance.
ec2:
region: "{{ region }}"
key_name: "key_{{ inventory_file }}"
group: ["default", "firewall_{{ inventory_file }}"]
[...]
有没有办法在剧本中包含这些信息(库存名称)?还是有更好的方法来做到这一点?
解决方案
推荐阅读
- jquery - jquery Accordion 子菜单未扩展
- python - 如何在 ipython 的类中自动重新加载函数?
- kettle - PDI - 我可以在 pentaho 中实现 Exist 逻辑吗?或者有什么办法吗?
- javascript - JavaScript 分页突出显示第一页上的最后一个选项卡
- r - cran-r:用于绘制交易分布的 beanplot 的替代方案
- ios - 从另一个类(Swift4)调用 userDefults
- android - Android 无法解析方法 getActivity()
- r - 在 R 中,如何使用 plotmath 将字符串函数参数扩展为数学符号?
- vb.net - 使用 VB.Net 的多个 cmd 命令
- vb.net - 为什么 My.Settings 没有保存?