Playbook中的Ansible循环在RHEL中创建用户
我有下面的代码,我想知道如何将vars用户名、uid和组循环到这个添加用户任务中Playbook中的Ansible循环在RHEL中创建用户,ansible,Ansible,我有下面的代码,我想知道如何将vars用户名、uid和组循环到这个添加用户任务中 --- - name: Add a user RHEL hosts: dev gather_facts: no vars: username: - secadmin - edpemr uid: - 1001 - 1002 groups: - wheel - wheel2 tas
---
- name: Add a user RHEL
hosts: dev
gather_facts: no
vars:
username:
- secadmin
- edpemr
uid:
- 1001
- 1002
groups:
- wheel
- wheel2
tasks:
- name: Add user "secadmin" to the remote server
user:
name: "{{ item.username }}"
comment: "Privileged User"
uid: "{{ item.uid }}"
groups: "{{ item.groups }}"
append: yes
shell: /bin/bash
generate_ssh_key: yes
ssh_key_bits: 2048
ssh_key_file: .ssh/id_rsa.key
loop: {{ ?? }}
我不能改变变量的定义方式,它必须是这样的:
vars:
username:
- secadmin
- edpemr
uid:
- 1001
- 1002
groups:
- wheel
- wheel2
我的期望是:根据存在的变量数量,任务将使用2个不同的数据运行2次
tasks:
- name: Add user "secadmin" to the remote server
user:
name: secadmin
comment: "Privileged User"
uid: 1001
groups: wheel
append: yes
shell: /bin/bash
generate_ssh_key: yes
ssh_key_bits: 2048
ssh_key_file: .ssh/id_rsa.key
tasks:
- name: Add user "secadmin" to the remote server
user:
name: edpemr
comment: "Privileged User"
uid: "1002
groups: wheel2
append: yes
shell: /bin/bash
generate_ssh_key: yes
ssh_key_bits: 2048
ssh_key_file: .ssh/id_rsa.key
您必须创建一组列表,如:
users:
- login: secadmin
uid: 1001
groups: wheel
- login: edpemr
uid: 1002
groups: wheel2
剧本:
- hosts: localhost
vars:
users:
- login: secadmin
uid: 1001
groups: wheel
- login: edpemr
uid: 1002
groups: wheel2
tasks:
- name: Add users
user:
name: "{{ item.login }}"
comment: "Privileged User"
uid: "{{ item.uid }}"
groups: "{{ item.groups }}"
append: yes
shell: /bin/bash
loop: "{{ users }}"
嗨,谢谢你的回复。如果我不能更改变量声明的方式怎么办?