Ansible Playbook YAML フォーマッター
乱れた Ansible playbook / role / タスクリストの YAML を、2 または 4 スペースの一貫したインデント幅に正規化し、リスト項目のダッシュも整えてクリーンアップします。完全にブラウザ上で動作し、何もアップロードされません。
入力
出力
ガイド
乱れた Ansible YAML は DevOps ワークフローで最もよくある悩みの種の一つです。playbook は role 間でコピー&ペーストされたり、設定の異なるエディターを持つ複数のメンバーによって編集されたり、Slack やチケットトラッカーから貼り付けられたりして、同じファイルに 2 スペース、3 スペース、4 スペースのインデントが混在してしまうことがよくあります。YAML の構造は空白そのものなので、一貫性のないインデントは見た目の問題だけではありません。タスクの所属関係を静かに変えてしまう可能性があるのです。
このツールは、Ansible の playbook、role、タスクリストの YAML を一貫したインデント幅(2 または 4 スペース)でインデントし直し、ドキュメントが実際に意味する構造と視覚的な構造を一致させます。リスト項目のダッシュも整え、- name: foo や -name: foo を慣例どおりの - name: foo に揃えます。
使い方
playbook.yml、role のtasks/main.yml、または任意のタスクリストを入力欄に貼り付けます — または.yml/.yamlファイルを直接アップロードします。- インデント幅として 2 スペース または 4 スペース を選びます(2 が Ansible コミュニティの慣例です)。
- 整形された YAML が出力パネルに即座に表示されます。コピーするか、
playbook.ymlとしてダウンロードできます。
入力するたびに更新されるので、雑にコピー&ペーストした YAML を貼り付けて、きれいで一貫した形に整う様子を確認できます。
できること — できないこと
このフォーマッターは行単位で動作します。各行が周囲の行に対して元々どれだけインデントされていたかを追跡し、すべての行を比例した一定のインデント幅で再出力します。実際に現場で見られる乱れた YAML — ばらついたスペース、タブとスペースの混在、不揃いなリスト記号 — の大部分を修正するにはこれで十分です。
意図的にしないこととして、YAML を構造化ドキュメントとしてパースすることはありません。Ansible のタスクキーの並べ替え(name → module → when → register など)、playbook の構造検証(hosts: の欠落、module のないタスク)、完全修飾コレクション名にすべき短いモジュール名といった ansible-lint 風の問題の指摘は行いません。これらには本物の YAML パーサーと Ansible を理解したスキーマ知識が必要で、この軽量で依存関係のないフォーマッターはそこまで行いません。YAML がフロースタイルのコレクション({ key: value }、[a, b, c])や複数行ブロックスカラー(|、>)を使っている場合、それらの値は再構築せずそのまま通します — 正規化されるのは行レベルのインデントとリスト記号だけです。
「playbook が乱れていて、空白を整理してほしい」という日常的な作業の大半には、これで十分です。深い lint が必要なら、ansible-lint 自体を実行してください。
私の YAML はどこかにアップロードされますか?
いいえ。フォーマットはすべてブラウザ上で行われ、貼り付けたりアップロードした YAML がデバイスの外に出たり、当社のサーバーに触れたりすることはありません。
これで playbook が正しいか検証できますか?
いいえ — インデントとリスト記号のスペースを正規化するだけです。必須キーの欠落、不正なモジュール名、ロジックのエラーは検出されません。実際の検証には ansible-playbook --syntax-check または ansible-lint を使用してください。
Ansible 以外の YAML でも使えますか?
はい。Ansible playbook 向けに作られていますが、基盤となる処理は汎用の YAML 再インデントツールです — Kubernetes マニフェスト、GitHub Actions のワークフロー、インデントの整理だけが必要なその他の YAML ファイルでも問題なく動作します。
無効なテキストや YAML 以外のテキストを貼り付けたらどうなりますか?
このフォーマッターはエラーになりません。ドキュメントをパースするのではなく行とインデントで動作するため、与えられたテキストを可能な限りインデントし直すだけで、パースエラーのメッセージは表示されません。
Use it from code
From 3 credits per callREST API
curl -X POST https://api.iotools.cloud/v1/tool/ansible-playbook-yaml-formatter \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"inputYaml": "- hosts: web\n become: yes\n vars:\n nginx_p…",
"indentSize": "2"
}'Swap in your own key from your account. The tool's fields are the body — no wrapper.
Ask an AI agent
Use the IOTools `ansible-playbook-yaml-formatter` tool (Ansible Playbook YAML Formatter) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.