2017-05-19 21 views
2
- name: Create database if database does not exist 
    shell: "createdb -h {{ db_host }} -O analytics {{ database }}" 
    become: yes 
    become_user: analytics 
    when: 
    database_exists.stdout != "1" 

目前我有類似上面的玩法,但是我想要的是成爲/ become_user屬性也是有條件的。我希望當ansible_env.USER ='analytics'設置爲no,並且不是'analytics'時將其設置爲yes。任何人都知道這是可行的嗎?適用條件成爲/ become_user

回答

3

您可以使用Jinja2的表達式中不同條件({{ ... }}):

- name: Create database if database does not exist 
    shell: "createdb -h {{ db_host }} -O analytics {{ database }}" 
    become: "{{ 'yes' if ansible_env.USER == 'analytics' else 'no' }}" 
    become_user: analytics 
    when: 
    database_exists.stdout != "1" 
+0

嘿感謝!我會試試這個,讓你知道! –