我最新的Ansible playbook旨在为我们的redhat系统设置新用户。每个环境都有自己的用户列表,如:
users:
- loginid: "someuser"
name: This_guy
groups: []
password: "{{ newuser_pass }}"
ssh_public_key: []
我的问题是groups数组。虽然它在这里是一个空数组,但它可能被定义为
groups:
- admins
- dbas
- managers
我有一个使用Ansible用户模块的任务,我想将用户的组设置为此数组中的第一个值。这是我到目前为止所尝试的内容:
group: "{{ item.groups.[0] if item.groups.[0] exists else 'users' }}"
您可以在此处看到,如果没有定义任何组,则用户会获得"用户"或者一个小组作为他们的默认组。但是如何抓住"管理员"作为用户的默认值?很明显,上面这行没有用。
答案 0 :(得分:0)
试试这个:
group: "{{ (item.groups | first) if (item.groups | count > 0) else 'users' }}"