[Ansible Playbook] default 필터 사용하기
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 |
댓글