Ansible get the username from the command line -


in playbooks reference username (exclusively "ubuntu") lot.

is there built in way "get value passed in command line"?

i know can do

ansible-playbook <task> -u <user> -k --extra-vars "user=<user>" 

and can use {{user}} in playbook, feels odd defining user twice.

as woodham stated, ansible variable represents connecting user is

{{ ansible_user }} (ansible < 2.0 {{ ansible_ssh_user }} ) 

but don't have define in inventory file per se.

you can define in:

1. play, if use ansible-playbook: see manual on playbooks

- name: play   hosts:   remote_user: ubuntu 

2. in inventory file: see manual on inventory

[all] other1.example.com     ansible_user=ubuntu (ansible < 2.0 ansible_ssh_user) 

3. stated, on commandline:

ansible-playbook -i inventory -u ubuntu playbook.yml 

4. ansible config file remote_user directive. see manual on config file

the ansible config file can placed in current folder ansible.cfg, homedir .ansible.cfg or /etc/ansible/ansbile.cfg.

[defaults] remote_user=ubuntu 

Comments

Popular posts from this blog

database - VFP Grid + SQL server 2008 - grid not showing correctly -

jquery - Set jPicker field to empty value -

.htaccess - htaccess convert request to clean url and add slash at the end of the url -