AnsibleでLBのiRuleを読み込む


はじめに

AnsibleでBIG-IPのロードバランサに入っているiRuleを読み込み、変数として格納します。
私のぐぐる力が雑魚なだけかもしれませんが、
個人的に調べた限りでは、iRuleの単純な追加や削除しか方法が見つかりませんでした。
(もしかしたらbig-ipのモジュール自体その機能しか無い…のかも。
 ドキュメントは目を通しましたが、英語は読めないので本当に目を通しただけです。)

REST-APIを使おう

tmshを元に作ったWEBAPIみたいなもの…って聞いた気がする。

shell: curl -k -u bigipのユーザ名:bigipのパスワード  -H "Content-Type: application/json" -X GET https://BIG-IPのIPアドレス/mgmt/tm/ltm/rule/iRuleの名前
register: irule

※03/13 会社で確認したらrulesではなくruleだったので記載を修正しました。

JSON形式で戻り値が帰ってきます。
上の例だと「iRuleの名前」というiRuleの中身が「irule.apiAnonymous」というところに入ります。
apiAnonymousという名前ですが、ちゃんとiRuleの中身だけのデータが入ってくれます。

会社でやったことを記憶を頼りに書いてるので、記載誤り等あったらごめんなさい。
ともかく、REST-APIが使えればAnsibleのbig-ipモジュールで出来ないことも可能になります!
現在の設定が確認できればべきとうせいとやらの担保もしやすくなりそうですね。