templates - Ansible Jinja 模板变量主机组
问题描述
我使用此模板获取名为 [web] 的主机组中的 IP 列表
{% for h in groups['web'] %}
ssh -i ~/ansible_users_keys/{{ new_user_name_global }}_id_rsa {{ new_user_name_global }}@{{ hostvars[h].ansible_nodename }}
{% endfor %}
如果我运行此命令,有人可以提示我应该使用哪个变量来代替 [web] 吗?
ansible-playbook -i hosts server.yml --limit web
提前致谢
解决方案
' ansible_play_batch ' 是具有适用于当前播放的主机名列表的变量。
{% for h in ansible_play_batch %}
ssh -i ~/ansible_users_keys/{{ new_user_name_global }}_id_rsa {{ new_user_name_global }}@{{ hostvars[h].ansible_host }}
{% endfor %}
推荐阅读
- ios - Facebook登录不阅读性别 - 斯威夫特
- c# - 从 c# 后面的代码循环遍历 html 表中的 asp.net 按钮
- java - LEFT JOIN FETCH 不起作用
- angular - 出现错误类型错误:无法读取属性“长度”错误
- java - “忽略”一个对象而不完全删除它
- python - 如何使不和谐机器人根据人员在命令中键入的内容创建角色
- apache-kafka - ClassNotFoundException 与 Kafka 消费者
- javascript - 在运行时更改@Page Size
- c - 如何在C中将数组的一维设置为零
- sql - spring-jpa 规范实现