플레이북을 실행하기 전에 확인 메시지를 어떻게 설정하나요?

플레이북을 실행하기 전에 확인 메시지를 어떻게 설정하나요?

사용자 확인 후 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

관련 정보