Documentation

3. カスタムインベントリースクリプト

注釈

インベントリースクリプトは Automation Controller Version 4.0.0 では非推奨です。

_images/api_inventory_script_deprecation.png

カスタムインベントリースクリプトを使用する場合は、プロジェクトからこのスクリプトを取得するように移行してください。次のセクションの「インベントリーファイルのインポート」を確認してください。詳細は『Automation Controller User Guide』の「インベントリーソース」も参照してください。

コントローラーは、Amazon AWS、Google Compute Engine などのクラウドソースから動的にインベントリーを同期する組み込みサポートが含まれています。また、コントローラーには、カスタムスクリプトを使用して独自のインベントリーソースからプルする機能もあります。

注釈

インベントリーホスト変数の編集と追加は、--overwrite_vars設定されていない 限りインベントリー同期後も維持されます。

コントローラーで利用可能なカスタムインベントリースクリプトを管理するには、左側のナビゲーションバーから インベントリースクリプト を選択します。

Inventory scripts

新しいカスタムインベントリースクリプトを追加するには、add ボタンをクリックします。

Inventory scripts - create new

スクリプト名と説明 (任意) を入力し、このスクリプトが所属する 組織 を選択します。

ローカルシステムのスクリプトを カスタムスクリプト テキストボックスにドラッグアンドドロップするか、そこにインベントリースクリプトの内容をカットアンドペーストしてください。

Inventory scripts - created

3.1. インベントリースクリプトの記述

インベントリースクリプトは、コントローラーマシン (シェルまたは python など) にインストール済みの動的言語で記述することができます。#!/bin/bash#!/usr/bin/python などの通常のシバンのスクリプト行で開始する必要があります。また、awx ユーザーで実行します。インベントリースクリプトは、呼び出しインベントリーを表示する '--list' で呼び出すと、JSON hash/dictionary に返されます。

一般的に、ネットワークに接続して、他のソースからインベントリーを取得します。マルチテナントセキュリティーを有効にしている場合は (詳細は Security を参照)、インベントリースクリプトはコントローラーマシンの大部分にアクセスできません。ローカルのコントローラーマシン内にアクセスする必要がある場合は、/etc/tower/conf.d/custom.py で設定します。

動的インベントリースクリプトとその記述方法に関する情報は、Ansible ドキュメントの「Intro to Dynamic Inventory」および「Developing Dynamic Inventory Sources」セクションを参照するか、GitHub の example dynamic inventory scripts を確認してください。