It's a lot easier if you just encrypt the value and not the whole file so 
you can find where a variable is defined.
For example

ansible-vault encrypt_string --vault-id dev@password 'foooodev' --name 
'the_dev_secret'

Result:

the_dev_secret: !vault |
          $ANSIBLE_VAULT;1.2;AES256;dev
          
30613233633461343837653833666333643061636561303338373661313838333565653635353162
          
3263363434623733343538653462613064333634333464660a663633623939393439316636633863
          
61636237636537333938306331383339353265363239643939666639386530626330633337633833
          
6664656334373166630a363736393262666465663432613932613036303963343263623137386239
          6330



https://docs.ansible.com/ansible/latest/user_guide/vault.html

However if you must encrypt the whole file,
You can do the following

1) create group_vars/all.yml and put the following 
ansible_user: someguy
ansible_password: "{{ vault_ansible_password }}"

2) create group_vars/vault.yml with the encrypted value of 
vault_ansible_password

Then you should be able to run 
ansible-playbook ./get_user_info.yml -i some_inventory

On Thursday, January 17, 2019 at 8:35:12 AM UTC-8, John Harmon wrote:
>
>
> I wouldn't be surprised if I am using this incorrectly, but I could use 
> some outside input.  Consider the following tree (not in a role):
> .
> ├── get_user_info.yml
> └── vault.yml
>
> vault.yml contents:
> ---
> ansible_user: someguy
> ansible_password: SecretPassword
>
> get_user_info.yml contents:
> ---
> - hosts: "{{ host }}"
>   gather_facts: false
>   vars_files:
>     - vault.yml
>   tasks:
>     - name: "Gather info for user {{ user }}"
>       win_domain_user:
>         name: "{{ user }}"
>         state: query
>       register:
>         aduser
>
> ...debug stuff here...
>
>
> *Q1: I had to use vars_files to get the variables read in.  Is that 
> normal?  Otherwise, my ansible_user kept defaulting to "NONE" when 
> executing (as seen under debug level 4)*
>
> I execute the playbook as follows (which works) but get an error toward 
> the end (in the play recap):
> ansible-playbook ./get_user_info.yml --vault-id @prompt vault.yml -i /etc/
> ansible/inventory/windows -e user=someuser-e host=myserver
>
> Output:
> Vault password (default):
>
> PLAY [myserver] 
> *****************************************************************************************************************************************************************************************************************************
>
> TASK [Gather info for user someuser] 
> ******************************************************************************************************************************************************************************************************
> ok: [myserver]
>
> TASK [debug] 
> *****************************************************************************************************************************************************************************************************************************
> ... a bunch of output here for someuser ...
>
> PLAY RECAP 
> *******************************************************************************************************************************************************************************************************************************
> myserver                      : ok=4    changed=0    unreachable=0   
>  failed=0
>
> ERROR! playbooks must be a list of plays
>
> The error appears to have been in 
> '/etc/ansible/tower/remove_user/vault.yml': line 2, column 1, but may
> be elsewhere in the file depending on the exact syntax problem.
>
> The offending line appears to be:
>
> $ANSIBLE_VAULT;1.1;AES256
>
> 63386238333136363662343339353362326564386230393766646263386639393838366433336261
> ^ here
>
> *Q2:  If I am not using vault correctly, can someone please correct me?*
> *Q3:  I don't understand why I am encountering the error in the play 
> recap.  Can somebody explain that to me?*
>

-- 
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 [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/7c9dea18-7aef-4345-bdfa-03107b14dfd7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to