🚀 快速安装

复制以下命令并运行,立即安装此 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 python3brew 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,或安装 Python
  • ModuleNotFoundError:脚本仅使用标准库;确保使用 Python 3.8+

详细文档

📄 原始文档

完整文档(英文):

https://skills.sh/github/awesome-copilot/terraform-azurerm-set-diff-analyzer

💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。