Actually just solved the problem myself. It seem the issue lied within the 
line of my playbook:

    prompt: "Enter password for new user account {{ user_name }}"

My thought is that the {{ user_name }} variable cannot be referenced since 
the vars_prompt method has not finalized yet. Removing the reference of the 
user_name variable solved the issue for me.

Now my code looks as so, running as wished:

---
- hosts: localhost
  vars_prompt:
  - name: "user_name"
    prompt: "Enter username to be added to systems"
    private: no

  - name: "password" 
    prompt: "Enter password for new user account"
    private: yes
    encrypt: "sha256_crypt"
    confirm: yes


  tasks:
  - name: Create new user on localhost
    become: true
    user:
      name: "{{ user_name }}"
      group: ansible
      shell: /bin/bash
      password: "{{ password }}"



On Friday, February 22, 2019 at 9:21:27 AM UTC-5, Kendon Emmons wrote:
>
> I am trying to get two variables in my vars_prompt, for username and 
> password. 
>
> My playbook currently looks like this:
>
> ---
> - hosts: localhost
>   vars_prompt:
>   - name: "user_name"
>     prompt: "Enter username to be added to systems"
>     private: no
>
>   - name: "password" 
>     prompt: "Enter password for new user account {{ user_name }}"
>     private: yes
>     encrypt: "sha256_crypt"
>     confirm: yes
>
>
>
>
>   tasks:
>   - name: Create new user on localhost
>     become: true
>     user:
>       name: "{{ user_name }}"
>       group: ansible
>       shell: /bin/bash
>       password: "{{ password }}"
>
>
>
> When I run the playbook from my system, I receive the following error:
>
> ERROR! 'user_name' is undefined
>
>
> I do not receive an error when I signify extra variable from the command 
> line as so:
>
> ansible-playbook ./testing/encrypted_passwords.yml -e "user_name=test2"
>
> I see in the Ansible documentation that you are able to do two variables 
> within the vars_prompt, 
> https://docs.ansible.com/ansible/latest/user_guide/playbooks_prompts.html
>
> Any help would be appreciated, thank you!
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ansible-devel+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to