Playbook中的Ansible循环在RHEL中创建用户

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

我有下面的代码,我想知道如何将vars用户名、uid和组循环到这个添加用户任务中

 ---
 - 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 }}"

嗨,谢谢你的回复。如果我不能更改变量声明的方式怎么办?