🚀 快速安装
复制以下命令并运行,立即安装此 Skill:
npx @anthropic-ai/skills install github/awesome-copilot/terraform-azurerm-set-diff-analyzer
💡 提示:需要 Node.js 和 NPM
Terraform AzureRM Set Diff 分析器
一个用于识别 Terraform 计划中由 AzureRM Provider 的 Set 类型属性引起的“误差异常”并将其与实际更改区分开来的技能。
何时使用
terraform plan显示大量更改,但你只添加/删除了单个元素- Application Gateway、Load Balancer、NSG 等显示“所有元素都已更改”
- 你希望在 CI/CD 中自动过滤误差异常
背景
Terraform 的 Set 类型按位置而不是按键进行比较,因此在添加或删除元素时,所有元素都会显示为“已更改”。这是 Terraform 的一个普遍问题,但在大量使用 Set 类型属性的 AzureRM 资源(如 Application Gateway、Load Balancer 和 NSG)中尤其明显。
这些“误差异常”实际上不会影响资源,但它们使得审查 Terraform 计划输出变得困难。
先决条件
- Python 3.8+
如果 Python 不可用,请通过你的包管理器(例如,apt install python3、brew install python3)或从 python.org 安装。
基本用法
# 1. 生成计划 JSON 输出
terraform plan -out=plan.tfplan
terraform show -json plan.tfplan > plan.json
# 2. 分析
python scripts/analyze_plan.py plan.json
故障排除
python: command not found:改用python3,或安装 PythonModuleNotFoundError:脚本仅使用标准库;确保使用 Python 3.8+
详细文档
- scripts/README.md – 所有选项、输出格式、退出代码、CI/CD 示例
- references/azurerm_set_attributes.md – 支持的资源和属性
📄 原始文档
完整文档(英文):
https://skills.sh/github/awesome-copilot/terraform-azurerm-set-diff-analyzer
💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)