開発者ガイド
注釈
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。問題のある用語を見つけた場合は、問題を作成するか、プル要求を作成してください。詳細は、弊社 の CTO、Chris Wright のメッセージ を参照してください。
Ansible 開発者ガイドにようこそ!
本ガイドの対象者
カスタムモジュールまたはプラグインのローカルでの使用、モジュールまたはプラグインの作成、既存のモジュールへの機能の追加、テスト範囲の拡張を行って Ansible を拡張する場合は、このガイドをご利用になれます。モジュールのテストおよびドキュメント化に関する方法についての開発者向けの詳細情報、および主な Ansible リポジトリーに受け入れられるモジュールまたはプラグインを取得するための前提条件が記載されています。
以下の中から、お客様のニーズに最も適したタスクを選んでください。
ユースケースに対応する方法を探している。
カスタムプラグインまたはモジュールをローカルに追加 したいです。
選択したユースケースでは、モジュールの開発が適切なアプローチである かどうかを確認したいです。
コレクションを開発 したいです。
Ansible が管理するコレクションに貢献 したいです。
コミュニティーが管理するコレクションに貢献 したいです。
ロールをコレクションに移行 したいです。
上記の情報を読んで、モジュールを開発したい。
コーディングを始める前に何を知っておくべきでしょうか。
Python 開発環境をセットアップ したいです。
モジュールの記述を開始 したいです。
- 特定のモジュールを作成したいです。
Ansible を新規製品 (例: データベース、クラウドプロバイダー、ネットワークプラットフォーム) と統合する 一連の関連モジュールを記述 したいです。
コードを改良したいです。
モジュールコードをデバッグ したいです。
テストを追加 したいです。
モジュールをドキュメント化 したいです。
ネットワークプラットフォームのモジュールセットを文書化 したいです。
クリーンで使いやすいモジュールコードのための規則とヒント を適用したいです。
作成したコードが Python 2 および Python 3 で実行する ようにしたいです。
他の開発プロジェクトで作業したいです。
プラグインを記述 したいです。
Ansible を新しいインベントリーソースに接続 したいです。
古いモジュールを非推奨 にしたいです。
Ansible プロジェクトに貢献したいです。
Ansible への貢献方法を理解 したいです。
モジュールまたはプラグインに貢献 したいです。
Ansible に参加するための 使用許諾契約を理解 したいです。
本ガイドをすべて読む場合は、以下に示す順番でページを表示してください。
- モジュールおよびプラグインをローカルで追加
- モジュール開発の必要性
- Ansible モジュールの開発
- 既存の Ansible コレクションへのモジュールの貢献
- 規則、ヒント、および落とし穴
- Ansible および Python 3
- モジュールのデバッグ
- モジュールの形式およびドキュメント
- Windows モジュール開発ウォークスルー
- Cisco ACI モジュールの開発
- 新規コレクションの作成
- Ansible のテスト
- Ansible モジュールまたはプラグインのライフサイクル
- プラグインの開発
- 動的インベントリーの開発
ansible-core
の開発- Ansible モジュールのアーキテクチャー
- Python API
- プル要求のリベース
- モジュールユーティリティーの使用および開発
- コレクションの開発
- ロールの、Galaxy のコレクション内のロールへの移行
- コレクション Galaxy メタデータ構造
- ロールの、Galaxy のコレクション内のロールへの移行
- Ansible アーキテクチャー