💬

【ChatGPT】ansible.builtin.debugモジュールのサンプルplaybook作成

2024/12/31に公開

背景

  • 普段、変数の値を確認する目的でansible.builtin.debugモジュールを使うことが多い
  • Chat GPTを使ってサンプルplaybookを書くと、どうなるのか気になった

概要

  • ChatGPTを使って、ansible.builtin.debugモジュールのサンプルplaybookを作成してみる

プロンプト

  • ansible.builtin.debugモジュールを使ってサンプルplaybookを一つ書いてください

出力結果

※以下の内容は、ChatGPT(OpenAI)によって生成されたものです。出力日は2024年12月31日です。

ansible.builtin.debugモジュールを使った簡単なAnsibleプレイブックの例を以下に示します。このプレイブックは、デバッグメッセージを表示するシンプルなものです。

サンプルプレイブック (debug_example.yml)

---
- name: Ansible debug module example
  hosts: localhost
  gather_facts: no

  tasks:
    - name: Show a debug message
      ansible.builtin.debug:
        msg: "Hello, this is a debug message!"
    
    - name: Display a variable value
      ansible.builtin.debug:
        var: ansible_hostname

    - name: Display a dictionary value
      ansible.builtin.debug:
        msg: "The server is {{ ansible_hostname }} with IP {{ ansible_default_ipv4.address }}"

説明

  1. ansible.builtin.debug モジュール:
    • 最初のタスクでは、単にメッセージ "Hello, this is a debug message!" を表示します。
    • 2番目のタスクでは、ansible_hostname 変数(ホスト名)の値を表示します。ansible_hostname はAnsibleがホストの情報を収集した際に自動的にセットされる変数です。
    • 3番目のタスクでは、ホストのホスト名(ansible_hostname)とIPアドレス(ansible_default_ipv4.address)を組み合わせたメッセージを表示します。

実行方法

  1. 上記の内容を debug_example.yml という名前で保存します。

  2. 次のコマンドを実行してプレイブックを実行します:

    ansible-playbook debug_example.yml
    

このプレイブックを実行すると、各タスクで指定されたメッセージや変数の内容が標準出力に表示されます。

まとめ

  • サンプルplaybook内で、ansible.builtin.debugモジュールのいくつかの使用例に加え、説明も出力
    • 説明を読むと使用例のイメージがつきやすかった(特に、自分で0から書くのが難しい場合や、初めて使うモジュールの場合などに役立ちそう)
    • 使用例は、公式ドキュメントのExamplesに似ていた(+説明してくれているので自分で読み解きやすそう)
  • ansible-playbookコマンドではなく、ansible-navigatorコマンドを実行したい場合、あらかじめプロンプトで指定したほうが良さそう※別途検証予定

参考

Discussion