プレイブックを実行する前に確認メッセージをどのように設定しますか?

プレイブックを実行する前に確認メッセージをどのように設定しますか?

ユーザー確認後、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

関連情報