てくなべ (tekunabe)

ansible / network automation / 学習メモ

[Ansible] モジュールの探し方

はじめに

先日開催された「Ansibleもくもく会 ( サーバ編 ) 2019.12 in 札幌」に、リモートメンターとして参加させていただきました。

その際、参加者の方から以下のご質問をいただきました。

モジュールの数が多いためやりたいことに適したモジュールを探すのが大変です。よい方法はありますか?

Ansible 2.9 現在で 3,000 モジュール以上あるので、たしかに大変な面はあると思います。

その場でもドキュメントに書いてお答えしたのですが、改めてブログとして3つまとめておきたいと思います。

特に裏技があるわけでもないですが・・・


■ 方法1: 公式ドキュメントの Module Index のカテゴリから探す

おそらく一番王道パターンだと思います。

公式ドキュメントには、以下のようにモジュールをカテゴリごとにまとめられています。ここから探す方法です。

docs.ansible.com

例:


■ 方法2: 公式ドキュメントのすべてのモジュール一覧から探す

「いやぁ、そもそもどのカテゴリに属するかも分からないんだよねぇ・・」という方は、こちら。

以下の1ページに、すべての標準モジュールが掲載されています。モジュール名と合わせて概要の説明文もあるので、このページ内をブラウザの検索機能で探す方法です。

docs.ansible.com

なお、ansible-doc コマンドでも ansible-doc -lansible-doc -l -j-jは Ansible 2.9から)を実行することで、モジュールの一覧や概要を表示できます。

$ ansible-doc -l -j
{
    "a10_server": "Manage A10 Networks AX/SoftAX/Thunder/vThunder devices' server object",
    "a10_server_axapi3": "Manage A10 Networks AX/SoftAX/Thunder/vThunder devices",
    "a10_service_group": "Manage A10 Networks AX/SoftAX/Thunder/vThunder devices' service groups",
    "a10_virtual_server": "Manage A10 Networks AX/SoftAX/Thunder/vThunder devices' virtual servers",
    "aci_aaa_user": "Manage AAA users (aaa:User)",
    "aci_aaa_user_certificate": "Manage AAA user certificates (aaa:UserCert)",
...(略)...
}


■ 方法3: 普通にググる

身もふたもないのですが、[ ansible ] などの言葉で検索して、サンプルを見つけて、使ってるモジュールを探す方法です。 そのモジュールが自分が使ってる Ansible のバージョンでも利用できるか確認する意味でも、公式ドキュメントでそのモジュールの情報を調べ直すのが吉です。


■ 方法4: Chrome 拡張を使う

[2019/12/23 追記]

@zaki_hmkcさんが、Ansible の調べ物をするときに便利な Chrome 拡張を作成されました。 chrome.google.com

qiita.com

  • 機能1: Ansible 公式ドキュメント検索機能
  • 機能2: モジュールやプラグインのページからコードへのリンクを追加する機能

このうち、機能1がモジュールを探すのに便利です。アドレスバーに usa 調べたい文字列 を入力すると、Ansible 公式ドキュメントの検索結果が表示されます。

もちろん、公式ドキュメントの検索ボックスに直接入力して検索するのもアリですね。

f:id:akira6592:20191223003103p:plain:w300
検索ボックス




公式ドキュメントの対象バージョンに注意

公式ドキュメントを閲覧するときは、目的の Ansible のバージョンのページなのかを確認しましょう。

f:id:akira6592:20191221174623p:plain
対象バージョン

最近のバージョンであれば、以下のコンボボックスで変更できます。devel は未リリースの開発中のものなので、普段は参照することはないと思います。

f:id:akira6592:20191221174700p:plain:w300
バージョンの切り替え

バージョンを切り替えると、URLの以下の #version# の部分が変わります。

https://docs.ansible.com/ansible/#version#/modules/list_of_all_modules.html

また、ググってたどりつた公式ドキュメントのページが古すぎて、バージョン切り替えのコンボボックスがないこともあります。結果の上の方に出てくることが多い印象です。

docs.ansible.com

f:id:akira6592:20191221174940p:plain
古すぎるドキュメント

その場合は、最新版公式ドキュメントのモジュールのページから探し直します。