かべぎわブログ

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

Ansibleのec2.pyの結果のJSONをホストグループ形式のファイルにしてみる

AnsibleでAWSのイントラを管理するときに利用するec2.pyの結果で応答されるJSONを人間に優しいホストグループ形式に変換してみたいと思います。

スクリプトはこんなかんじ

スクリプト自体はこんなかんじです。
シェルスクリプトでsedで変換かけているだけです。(要jqコマンド)

うごかしてみる

ec2.pyの結果が以下のようだとします。

$ ./ec2.py 
{
"_meta": {
  "ap-northeast-1a": [
    "172.140.1.1", 
    "172.140.1.2"
  ], 
  "tag_Name_kabegiwa_ansible_server": [
    "172.140.1.1"
  ], 
  "tag_Name_kabegiwa_ansible_client": [
    "172.140.1.2"
  ], 
  "type_t2_micro": [ 
    "172.140.1.2"
  ], 
  "type_t2_large": [ 
    "172.140.1.2"
  ], 
  "vpc_id_vpc_12345678": [
    "172.140.1.1", 
    "172.140.1.2"
  ]

それをこのスクリプトで実行するとこんなかんじに出力してくれます。

$ ./ec2.py 
[ap-northeast-1a]
172.140.1.1
172.140.1.2
 
[tag_Name_kabegiwa_ansible_server]
172.140.1.1

[tag_Name_kabegiwa_ansible_client]
172.140.1.2
  
[type_t2_micro] 
172.140.1.2
  
[type_t2_large] 
172.140.1.2

[vpc_id_vpc_12345678]
172.140.1.1
172.140.1.2

おわりに

ちょっとべんり

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

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