在Ansible剧本中使用stock_file和空清单文件

时间:2020-07-30 10:15:40

标签: ansible

我正在使用Ansible在AWS上自动配置EC2实例。该计划是为每个库存(生产/分期/演示/等)提供一台主机。

我想:

  • 从空的库存文件开始,例如inventories/production
  • 运行一个剧本(ansible-playbook -i inventories/production playbooks/provision_ec2_instance.yml),该剧本使用add_host将新创建的主机添加到inventories/production

问题是:如果清单文件为空,Ansible将仅使用implicit localhost,而不会使inventory_file变量可用,因此以下操作将失败,因为inventory_file是未定义的:

[...]
      - name: Provision EC2 instance.
        ec2:
          region: "{{ region }}"
          key_name: "key_{{ inventory_file }}"
          group: ["default", "firewall_{{ inventory_file }}"]
[...]

是否可以在剧本中包含此信息(清单名称)?还是有更好的方法来做到这一点?

0 个答案:

没有答案