2017-05-19 5 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/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

감사 이봐! 나는 이것을 밖으로 시도하고 알려주지! –