在我的ansible剧本中,我想从文本文件中获得输入并执行一些操作。我在文本文件中有10个用户名,然后游戏必须从文本文件中选择第一个名字,并且只做很少的任务。一旦为第一个用户完成,游戏必须为第二个用户选择,以此类推
我为一个用户写剧本。请帮我或者为这种场景提供一些示例。
您应该使用角色并管理库存中的所有内容
然而,最简单的方式;创建一个文件,并以的方式将您的用户名存储在一个变量中
users:
- user1
- user2
- user3
- user4
- user5
在你的剧本的开头,包括文件
- hosts: whatever
become: yes
vars_file:
- <<path_to_your_var_file>>
然后在任务中,您可以使用变量文件中包含的用户变量
tasks:
- name: create 10 users
user:
name: "{{ item }}"
state: present
with_items:
- "{{ users }}"
Ansible将从var文件中导入users变量,并根据用户数量循环n次。
vars_file
模块目前似乎不可用,所以我使用了这个:
name: load names
include_vars:
file: /etc/ansible/users