如果列表中存在项目,则运行列表中的项目

时间:2018-08-13 02:15:22

标签: ansible

我正在尝试将用户添加到系统,但是仅在设置了一个组的情况下指定组。因此,请使用以下列表:

new_ssh_sub_users:
  - user: tom
    key: "some key"
    groups: sudo
  - user: john
    key: "some key"
    group: sudo
  - user: git
    key: "some key"

请注意,用户git没有列出任何组,这是因为我们不希望我们的游戏修改或弄乱用户的组。目前,我们的剧本中包含以下内容:

- name: Add users
  user:
    name: "{{ item.user }}"
    shell: /bin/bash
    groups: "{{ item.groups }}"
  with_items: "{{ new_ssh_sub_users }}"

这将正常工作,但在git用户上失败,因为未指定任何组。我们推测有两个任务,一个是在不指定组的情况下添加用户,然后是第二个任务,以分配组,但随后仍然遇到同一问题,即未定义组。我们知道,我们可以仅创建第二组变量来列出用户和组,但这似乎是多余的。

有人对您如何遍历列表并跳过没有键之一的条目有任何想法吗?

0 个答案:

没有答案