사용자 확인 후 MariaDB를 설치하고 싶습니다. 나는 역할과 간단한 임무를 가지고 있습니다:
- name: install MariaDB
yum: name: MariaDB state: present
또는 를 사용하고 싶은 경우 include: MySQL.yml
, 사용자가 원하면 이 줄을 실행하고, 그렇지 않은 경우에는 이 포함을 건너뜁니다.
- name: install MariaDB
yum: name: MariaDB state: present
- include: MySQL.yml
답변1
var 파일 yml을 사용하고 yaml 예제의 when 문에서 변수를 확인해야 합니다.
- name: Conditionally decide to load in variables into 'plans' when x is 0, otherwise do not. (2.2)
include_vars:
file: contingency_plan.yml
name: plans
when: x == 0
x = 0일 때....
또는 ansibleplaybook을 실행하기 전에 환경 변수를 설정하고 읽을 수 있습니다.
msg="{{ lookup('env','HOME') }}
When 문에 사용되는 지역 변수 관리
또 다른 방법은 사용자에게 Expect를 입력하라는 메시지를 표시하는 것이지만 이는 좋은 방법이 아닙니다.
- name: Case insensitve password string match
expect:
command: passwd username
responses:
(?i)password: "MySekretPa$$word"
이해가 되지 않는다면 다음은 실제 예/아니요의 예입니다.
---
- name: Test from prompt
hosts: localhost
vars_prompt:
- name: "check_mode"
prompt: "Check mode: yes(default)=check-only, no=execute commands"
private: no
default: true
tasks:
- name: msg="False test | {{ check_mode }}"
debug: var=check_mode
when: not check_mode
- name: msg="True test | {{ check_mode }}"
debug: var=check_mode
include yourfile.yml
when: check_mode