brgalloway.phpipam_api

phpipam APIとの対話のためのプレイブック

動作するphpipamをインストールしたら、APIを有効にし、これらの対話をプレイブック内で使用できます。 APIにアクセスするために、アプリIDを設定し、ユーザーを作成してトークンを取得する必要があります。

AnsibleでのAPI使用の設定

GUI内で、管理の下にあるAPIセクションに移動する必要があります。 ここでAPIのアプリIDを設定できます。 次に、APIユーザーを作成するためにユーザーセクションに移動する必要があります。

APIとの対話

サブネットを見つけ、特定の変数を設定するには、Postmanやcurlを使ってAPIを確認する必要があります。

トークンを取得するためのcurlの使用例: curl -k https://ipam.example.com/api/phpipamappid/user/ -X POST -u <username>:<password>

返されたJSON出力からトークンを取得する例: curl -k https://ipam.example.com/api/phpipamappid/sections/ --header "token: .J1e9ipFZkPE6EvIRAqEf9hp" -X GET

セクションのIDを取得したら、このセクション内のサブネットを取得するために使用できます。 curl -k https://ipam.example.com/api/phpipamappid/sections/{ID}/subnets --header "token: .J1e9ipFZkPE6EvIRAqEf9hp" -X GET

これにより、このセクション内のすべてのサブネットがリストされ、返されたオブジェクトからIDを取得します。

"id": <number>,
...

これがsubnet_id:変数が設定される部分です。

IP予約例プレイブック

main.ymlプレイブックは、URIモジュールを使用してAPI呼び出しを行い、出力を登録して変数を設定し、IPを登録し、phpipamのデータベースを更新する例です。

api_pass変数のための暗号化された値を生成するには、ansible-vaultを使用して生成する必要があります。 https://docs.ansible.com/ansible/2.4/vault.html

group_vars/allファイル内のすべての値があなたの環境に合うように設定されて初めて、プレイブックが成功します。 APIへの呼び出しはトークンを取得し、それが変数に保存され、プレイブック全体で使用されます。

phpipamのドキュメント https://phpipam.net/api/api_documentation/

プロジェクトについて

Get available ip from phpipam and reserve returned ip address

インストール
ansible-galaxy install brgalloway.phpipam_api
ライセンス
gpl-2.0
ダウンロード
317
所有者