成为条件/成为用户的条件

Ace*_*rey 2 ansible ansible-2.x

- 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"
Run Code Online (Sandbox Code Playgroud)

目前,我有一个像上面这样的游戏,但是我想要的是条件条件成为/ become_user属性。我希望这样,当ansible_env.USER ='analytics'设置为no,而当不是'analytics'时将其设置为yes。有人知道这是否可行吗?

Kon*_*rov 5

您可以在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"
Run Code Online (Sandbox Code Playgroud)