【Ansible Tower/AWX】DBからインベントリー情報を取得する


この記事はプロモーションを含みます。

Ansible AWX

AWX(Tower)のデータベースから、インベントリーの情報を取得するSQLクエリをご紹介します。

はじめに

以前、Ansible AWX(Tower)のデータベースに接続する方法を解説しました。
今回は、そのデータベースから「インベントリー」の設定情報を取得するSQLクエリをご紹介したいと思います。

取得する情報について

今回取得する情報は、下記画像のインベントリーの詳細画面の内容になります。
また、インベントリーが複数登録されている場合は、全て取得されます。

SQLクエリ

インベントリー情報を取得するSQLクエリです。

SELECT inventory.id,
       inventory.name AS 名前,
       inventory.description AS 説明,
       organization.name AS 組織,
       credential.name AS "INSIGHTS 認証情報",
       instancegroup.name AS インスタンスグループ,
       inventory.variables AS 変数
  FROM public.main_inventory AS inventory
  LEFT JOIN public.main_credential AS credential
    ON inventory.insights_credential_id = credential.id
  LEFT JOIN public.main_inventoryinstancegroupmembership AS inventoryinstancegroupmembership
    ON inventory.id = inventoryinstancegroupmembership.inventory_id
  LEFT JOIN public.main_instancegroup AS instancegroup
    ON inventoryinstancegroupmembership.instancegroup_id = instancegroup.id
  INNER JOIN public.main_organization AS organization
    ON inventory.organization_id = organization.id
ORDER BY inventory.id ASC

実行結果

SQLクエリをpgAdminで実行した結果です。
下記のように、インベントリーの情報を取得することが可能です。
また、1つ目のカラムはインベントリーのIDを取得しています。
通常、インベントリーIDは画面から確認出来ませんが、検索やAPIを利用する場合のインプットにするなど、何かとあると便利なので取得しています。

ID名前説明組織INSIGHT 認証情報インスタンスグループ変数
1Demo InventoryDefault
2SyuTaku Server Inventory秋拓環境向けインベントリDefault
inventory_ex_vars: インベントリの追加変数
3Insight InventoryInsight認証情報向けインベントリDefaultinsighttower
inventory_ex_vars: インベントリの追加変数

記事は以上です。他の情報を取得するSQLクエリも順次ご紹介したいと思います。

コメント

タイトルとURLをコピーしました