ansible.builtin.gather_facts
モジュールを使うと、リモートホストのfacts変数を収集するタスクを定義できる。
収集する項目のサブセット指定も可能。
このモジュールはplayの定義でgather_facts
をfalse
にしていても、タスク実行のタイミングでfactsを収集してくれる。
--- - hosts: all gather_facts: false tasks: - ansible.builtin.gather_facts: gather_subset: - network - ansible.builtin.debug: msg: "{{ ansible_facts }}"
使いどころとしては、facts変数を参照するrole単体を作成する場合に、「playでgather_facts
を有効にしといてな」という使い方を要求することなく、role内でfactsの収集と参照を独立して実装できる。
注意点として、playでfacts変数を収集する設定(gather_facts
がtrue
の状態)の場合でも、ansible.builtin.gather_facts
モジュールを使うタスクでのfacts変数収集も動作するため、その場合の処理時間は長くなる。