-
デリゲーション先のホストを指定する: Ansibleでは、デリゲーション先のホストを指定するために「delegate_to」ディレクティブを使用します。例えば、以下のようなタスクがあるとします。
- name: データベースのバックアップを取得する command: /usr/bin/backup.sh delegate_to: db_server
上記の例では、「delegate_to」ディレクティブを使用して、"db_server"というホストに対してタスクをデリゲートしています。
-
デリゲーション先のタスク結果を受け取る: デリゲーション先のタスクが完了した後、その結果を受け取ることもできます。これには「register」ディレクティブを使用します。以下に例を示します。
- name: データベースのバックアップを取得する command: /usr/bin/backup.sh delegate_to: db_server register: backup_result - name: デリゲート先のタスク結果を表示する debug: var: backup_result
上記の例では、デリゲーション先のタスクの結果を「backup_result」という変数に保存し、後続のタスクで表示しています。
-
デリゲーション先のタスクでローカル変数を使用する: デリゲーション先のタスクでローカル変数を使用する場合、Ansibleでは「local_action」ディレクティブを使用します。以下に例を示します。
- name: デリゲーション先のタスクでローカル変数を使用する local_action: command /usr/bin/local_task.sh --var {{ local_var }} delegate_to: db_server
上記の例では、「local_action」ディレクティブを使用して、デリゲーション先のタスクで「local_var」というローカル変数を使用しています。
これらはAnsibleでタスクのデリゲーションを行う基本的な方法です。これにより、効率的なタスクの実行と結果の受け取りが可能になります。詳細な情報については、Ansibleの公式ドキュメントを参照してください。