かべぎわブログ

技術的なことについてかけたらいいな…

Ansibleのモジュールを自作してみる

概要

Ansibleのモジュールを自分でつくってみて動かしてみたいと思います。

環境

Ansibleを動かす環境はこんなかんじ。
いたって普通の環境。
library/jisaku.pyが今回のキモの自作モジュール。

$ tree
.
├── inventories
│   └── hosts
├── jisaku.yml
└── library
    └── jisaku.py

自作モジュールについて

こんかいつくったモジュールはこんなかんじ。
パラメータでわたしたものにgood!ってつけてあげるだけのやつ。

実際に動かしてみる

playbookはこんなかんじ。
jisakuの箇所が自作モジュールになっている。

$ cat jisaku.yml
---
- hosts: localhost
  connection: local
  tasks:
    - jisaku:
        name: 'wawawa'

これをうごかすとこんなかんじになる
wawawa is good! となっていることがわかる。

$ ansible-playbook -i inventories/hosts  jisaku.yml -v
No config file found; using defaults

PLAY [localhost] ************************************************************************************************************************

TASK [Gathering Facts] ******************************************************************************************************************
ok: [127.0.0.1]

TASK [jisaku] ***************************************************************************************************************************
ok: [127.0.0.1] => {"changed": false, "message": "wawawa is good!"}

PLAY RECAP ******************************************************************************************************************************
127.0.0.1                  : ok=2    changed=0    unreachable=0    failed=0

おわりに

公式のモジュールじゃあどうしてもできない場合はこうやって自分でつくるのもよさそう

Ansible実践ガイド 第2版 (impress top gear)

Ansible実践ガイド 第2版 (impress top gear)