SuperAPI AI 工具集

ansible-idempotency

通用与其它

查看项目

更新于 10-16 03:37

技能介绍

用途:帮助编写真正幂等的 Ansible 任务,使 playbook 无论运行一次还是多次都产生相同结果,消除 command、shell 模块默认总是报告 changed 的虚假变更。

主要能力:核心指令包括 changed_when(控制何时报告 changed)、failed_when(控制何时判定失败)、register(捕获输出供表达式使用)。资料给出多种模式:检测真实变更、先检查后创建、创建后验证、按输出内容条件判断变更、多失败条件、只读操作标记为不变更、用 until 重试直到成功、用 set_fact 记录状态。还列出常见输出指示与表达式对应关系,如 already exists、no changes、created、updated 及返回码判断。

使用方式:在任务中组合 register 与 changed_when、failed_when 表达式;shell 任务建议使用 set -euo pipefail 并指定 executable: /bin/bash。可用检查脚本分析 playbook:${CLAUDE_PLUGIN_ROOT}/skills/ansible-idempotency/scripts/check_idempotency.py ansible/playbooks/my-playbook.yml,支持 --strict 与 --summary。验证幂等性可连续运行两次,第二次应显示 0 changes。

适用场景:Ansible playbook 编写与审查,尤其是使用 command、shell 模块执行系统命令、创建资源、数据库迁移、等待服务就绪等任务。

限制:资料未提供该技能的安装方式、收费与平台支持信息;脚本检测项包括缺少 changed_when、缺少 set -euo pipefail、可能含密钥却缺少 no_log、缺少 name、使用非 FQCN 短模块名等。