Ansilbeプレイブックの定義(プレイブックの開始)部分に「when」条件を使用できますか?

Ansilbeプレイブックの定義(プレイブックの開始)部分に「when」条件を使用できますか?

私はプレイブックを作成しており、これが私が達成したいものです。

会社には、コンポーネントが複数のサーバーに分散しているバンキングアプリケーションがあります。サービスは単一のスクリプトを介して、またはコンポーネントごとに停止できます。セキュリティパッチ(RHEL)を適用する前にアプリケーションを停止する必要があります。

ユーザーがAIOスクリプトでアプリケーションを停止したいのか、コンポーネントごとにアプリケーションコンポーネントを停止するのかをユーザーから読み取る必要があります。

私が書いたパッケージについて、次のように書いています。

vars_prompt:                              
  - name: deploypackages                  
    prompt: Do you want to deploy Packages
    private: no

これでアプリケーションに対してこれを達成する方法があり、次の状況でのみ実行する必要があります。配布パッケージ同じワイ

when作業前にホストセクションで句を使用できますか?試してみましたが、何もしませんでした。エラーも発生しなかったので、インターネットで検索しましたが、答えが見つかりませんでした。

答え1

尋ねる:「deploypackages」が「y」の場合にのみ実行されます。

A: たとえば、在庫を作成します。

shell> cat hosts
dummy

[multiple_servers]
host1
host2
host3

そしてスクリプト

shell> cat pb.yml
- hosts: "{{ (deploypackages == 'y')|
             ternary('multiple_servers', 'dummy') }}"
  gather_facts: false
  vars_prompt:
    - name: deploypackages
      prompt: Do you want to deploy Packages
      private: no
  tasks:
    - meta: end_play
      when: inventory_hostname == 'dummy'
    - debug:
        msg: Applying security Patches ...
  • もしあなたなら「y」と答えないでください演劇は終わる
shell> ansible-playbook -i hosts pb.yml
Do you want to deploy Packages: no

PLAY [dummy] *********************************************************************************

TASK [meta] **********************************************************************************

PLAY RECAP ***********************************************************************************
  • もしあなたなら「はい」と答えてくださいドラマは続くでしょう。
shell> ansible-playbook -i hosts pb.yml
Do you want to deploy Packages: y

PLAY [multiple_servers] **********************************************************************

TASK [meta] **********************************************************************************
skipping: [host1]

TASK [debug] *********************************************************************************
ok: [host1] => 
  msg: Applying security Patches ...
ok: [host2] => 
  msg: Applying security Patches ...
ok: [host3] => 
  msg: Applying security Patches ...

PLAY RECAP ***********************************************************************************
host1                      : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
host2                      : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
host3                      : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

関連情報