跳到主要内容

Ansible Playbook YAML 格式化工具

清理杂乱的 Ansible playbook、role 或任务列表 YAML,将缩进规范为一致的 2 或 4 空格步长,并整理列表项的破折号。完全在您的浏览器中运行 — 不会上传任何内容。

输入

Drop a file or browse
One file · text

输出

格式化后的 YAML
 
这对您有帮助吗?

使用此工具的更多方式

REST 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"
  }'

替换成您账户中的密钥。工具的字段即为请求体——没有额外包装。

让 AI 代理执行

Use the IOTools `ansible-playbook-yaml-formatter` tool (Ansible Playbook YAML Formatter) on this input:

YOUR_INPUT_HERE

将此粘贴给任何已连接 IOTools MCP 服务器的代理,再加上您的输入内容。

嵌入式小组件

<iframe
  src="https://iotools.cloud/embed/ansible-playbook-yaml-formatter/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Ansible Playbook YAML 格式化工具 — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

把它放到您自己的页面上——免费,无需密钥,只需保留一个反向链接。

每次 API/MCP 调用费用5 积分起
需要更多积分?查看定价

也可通过

使用指南

杂乱的 Ansible YAML 是 DevOps 工作流中最常见的痛点之一 — playbook 被复制粘贴到各个 role 之间、由设置不同的团队成员编辑、或者从 Slack 和工单系统里粘贴进来,最终导致同一个文件里混用了 2 空格、3 空格和 4 空格缩进。由于 YAML 的结构就是它的空白,不一致的缩进不只是难看 — 它还会悄悄改变一个任务的归属。

这个工具会将 Ansible playbook、role 和任务列表的 YAML 重新缩进为一致的缩进步长(2 或 4 空格),让视觉结构真正匹配文档的含义。它还会整理列表项的破折号,将 - name: foo-name: foo 归一为惯用的 - name: foo

如何使用

  1. playbook.yml、某个 role 的 tasks/main.yml 或任意任务列表粘贴到输入框中 — 或直接上传一个 .yml/.yaml 文件。
  2. 选择 2 个空格4 个空格 作为缩进大小(2 是 Ansible 社区惯例)。
  3. 格式化后的 YAML 会立即出现在输出面板中。您可以复制它,或将其下载为 playbook.yml

该工具会随输入实时更新,因此您可以粘贴粗糙的、复制过来的 YAML,并看着它变成干净、一致的结构。

它能做什么 — 不能做什么

这个格式化工具逐行工作:它会跟踪每行相对于周围行的原始缩进深度,然后以成比例的、统一的缩进步长重新输出每一行。这足以修复绝大多数真实世界中杂乱的 YAML — 不一致的空格、与空格混用的制表符,以及参差不齐的列表标记。

它刻意做的事是将 YAML 解析为结构化文档。它不会重新排列 Ansible 任务键(name → module → whenregister 等)、不会验证 playbook 结构(缺少 hosts:、没有 module 的任务),也不会标记 ansible-lint 风格的问题,比如应该使用完全限定集合名称的简短模块名称。这些都要求真正的 YAML 解析器和对 Ansible 感知的 schema 的了解,而这个轻量、无依赖的格式化工具不会尝试这些。如果您的 YAML 使用了流式集合({ key: value }[a, b, c])或多行块标量(|>),这些值会原样保留而不会被重新构造 — 只有行级缩进和列表标记会被规范化。

对于大多数日常的"我的 playbook 一团糟,请帮我清理空白"的任务来说,这正是所需要的。要进行深层 lint,请自己运行 ansible-lint

我的 YAML 会被上传到任何地方吗?

不会。格式化完全在您的浏览器中发生 — 您粘贴或上传的 YAML 永远不会离开您的设备,也不会触及我们的服务器。

这个工具会验证我的 playbook 是否正确吗?

不会 — 它只规范化缩进和列表标记的空格。它不会捕获缺少的必需键、无效的模块名称或逻辑错误。请使用 ansible-playbook --syntax-checkansible-lint 进行真正的验证。

它也适用于非 Ansible 的 YAML 吗?

可以。虽然它是围绕 Ansible playbook 设计的,但底层的操作是一个通用 YAML 重新缩进工具 — 它同样适用于 Kubernetes 清单、GitHub Actions 工作流,或任何只需要清理缩进的 YAML 文件。

如果我粘贴了无效文本或非 YAML 文本会怎样?

这个格式化工具永远不会报错。因为它基于行和缩进工作,而不是解析文档,所以它会尽可能地将您给出的任何文本重新缩进,而不是显示解析错误消息。

yamlansibleplaybookformatterdevopsindentation

喜欢这些工具?去掉广告吧。

一次性付款即可永久移除您账户中的所有广告。无需订阅,不追踪。