# The default shell for a user if none is specified
users_default_shell: /bin/bash
# Create home dirs for new users? Set this to false if you manage home
# directories in some other way.
users_create_homedirs: true
# Lists of users to create and delete
users:
- username: username
name: full_name_of_user
groups: ['sudo']
when: ansible_os_family == "Debian"
groups: ['wheel']
when: ansible_os_family == "RedHat"
uid: 2001
ssh_key:
- "ssh-dss AAAAB3N...Enter code here...
- username: same_as_above_username
name: full_name_of_user
groups: ['wheel']
uid: 1001
uid: 1001ssh_key:
when: ansible_os_family == "Debian"
- "ssh-dss AAAAB3N...Enter code here...
- username: same_as_above_username
name: full_name_of_user
groups: ['wheel']
uid: 1001
ssh_key:
when: ansible_os_family == "RedHat"
- "ssh-dss AAAAB3N...
--To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/076420b3-8abc-40e7-9d1e-0c5c186cd650%40googlegroups.com.
You received this message because you are subscribed to the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-proje...@googlegroups.com.
To post to this group, send email to ansible...@googlegroups.com.
In your first example, you can't stick a "when:" twice in a single task.
You can feed it a list of multiple conditionals, but I think your problem is you are missing a "-" to seperate two different tasks.
However, in the text below, there are other questions and problems, such as "username" vs "user", which I suspect selects a module, and other duplicated fields, like "groups".
- username: same_as_above_username
name: full_name_of_user
groups: ['wheel']
uid: 1001
Another problem is the when is indented and not at "task" level, though the module should yell to you about being sent a parameter it doesn't know about.
In your second example, is this a task, or is this a data definition? I can't tell because there is not a module named "username" and once again your indentation is all messed up :)
---
# Create a group for every user and make that their primary group
users_create_per_user_group: true
# If we're not creating a per-user group, then this is the group all users
# belong to
users_group: users
# The default shell for a user if none is specified
users_default_shell: /bin/bash
# Create home dirs for new users? Set this to false if you manage home
# directories in some other way.
users_create_homedirs: true
users:
- username: John
name: John Ross
groups: ['sudo']
uid: 1001
when: ansible_os_family == "Debian"
ssh_key:
- "ssh-dss AAAAB3N...Enter code here...
- username: John
name: John Ross
groups: ['wheel']
uid: 1001
when: ansible_os_family == "RedHat"
ssh_key:
- "ssh-dss AAAAB3N...
If this is your first ansible task, let me know and I can point you to the proper documentation sections, if not, please take a critical eye to how it looks relative to your other tasks and it should be easy to spot.
Again, in failure scenarios, it's helpful to post the error message. I suspect it's not only "not skipping", but the module is telling you what's wrong.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/74633885-9860-45cc-b848-134d30ea8d61%40googlegroups.com.
---
- name: Per-user group creation
group: name="{{item.username}}" gid="{{item.uid}}"
with_items: users
when: users_create_per_user_group
tags: ['users','configuration']
- name: User creation
user: name="{{item.username}}"
group="{{item.username if users_create_per_user_group
else users_group}}"
groups="{{item.groups | join(',')}}"
shell={{item.shell if item.shell is defined else users_default_shell}}
comment="{{item.name}}"
uid="{{item.uid}}"
createhome="{{'yes' if users_create_homedirs else 'no'}}"
with_items: users
tags: ['users','configuration']
- name: SSH keys
authorized_key: user="{{item.0.username}}" key="{{item.1}}"
with_subelements:
- users
- ssh_key
tags: ['users','configuration']
- name: Deleted user removal
user: name="{{item.username}}" state=absent
with_items: users_deleted
tags: ['users','configuration']
- name: Deleted per-user group removal
group: name="{{item.username}}" state=absent
with_items: users_deleted
when: users_create_per_user_group
tags: ['users','configuration']
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/95636bc8-c98e-4730-91a2-64c9a66261fe%40googlegroups.com.