본문 바로가기

[Ansible Playbook] default 필터 사용하기

오토씨 2023. 2. 9.

Ansible Playbook

Jinja2는 유용한 "default" 필터를 제공한다.
이는 변수가 not defined일 경우 실패 처리 하지 않고 기본 값을 사용하도록 도와준다.

- name: set some_variable
  set_fact:
    some_variable: "{{ some_variable|default(5) }}"


"some_variable"의 값이 정의되어 있지 않다면 default 값인 5를 사용하게 된다.
그리고 변수의 값으로 평가된 값이 false이거나 빈 문자열인 경우 default 값을 사용하려면 두 번째 파라미터로 true를 세팅해야 한다.

- name: default filter test
  hosts: localhost
  gather_facts: false
  tasks:
  - set_fact:
      user_id: "{{ lookup('env', 'MY_USER')|default('admin', true) }}"
  - debug:
      msg: "{{ user_id }}"

>>>

PLAY [default filter test] ***********************************************************************************************************

TASK [set_fact] **********************************************************************************************************************
ok: [127.0.0.1]

TASK [debug] *************************************************************************************************************************
ok: [127.0.0.1] => {
    "msg": "admin"
}

PLAY RECAP ***************************************************************************************************************************
127.0.0.1                  : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0




 

'Ansible' 카테고리의 다른 글

[Ansible Playbook] include_role, tasks_from, include  (0) 2023.02.08
YAML 들여쓰기 이해하기  (0) 2023.02.08

댓글