一种将现有 Azure 资源置于 Terraform 管理之下的工具。
Azure Export for Terraform 将支持的资源导出到 Terraform 状态并生成相应的 Terraform 配置。 Terraform 状态和配置都应与资源的远程状态一致,即terraform plan
显示没有差异。然后,用户就可以使用 Terraform 来管理这些资源。
它支持 Terraform AzureRM 提供程序和 Terraform AzAPI 提供程序。
aztfexport
生成的 Terraform 配置并不全面,并且不能确保可以从所述生成的配置中完全重现基础设施。详情请参阅限制)。
预编译的二进制文件和 Window MSI 在发行版中提供。
go install github.com/Azure/aztfexport@latest
winget install aztfexport
brew install aztfexport
支持的版本:
导入 Microsoft 存储库密钥:
rpm --import https://packages.microsoft.com/keys/microsoft.asc
添加packages-microsoft-com-prod
存储库:
ver=8 # or 9
dnf install -y https://packages.microsoft.com/config/rhel/${ver}/packages-microsoft-prod.rpm
安装:
dnf install aztfexport
支持的版本:
导入 Microsoft 存储库密钥:
curl -sSL https://packages.microsoft.com/keys/microsoft.asc > /etc/apt/trusted.gpg.d/microsoft.asc
添加packages-microsoft-com-prod
存储库:
ver=20.04 # or 22.04
apt-add-repository https://packages.microsoft.com/ubuntu/${ver}/prod
安装:
apt-get install aztfexport
yay -S aztfexport
aztfexport
需要在$PATH
中安装版本>= v0.12
的terraform
可执行文件。
aztfexport
利用aztft
来识别与 Azure 资源 ID 对应的 Terraform 资源类型。然后它在后台运行terraform import
来导入每个资源。然后,它运行tfadd
为每个导入的资源生成 Terraform HCL 代码。
阅读涵盖场景和用法的 Azure 导出文档。
aztfexport
将在$HOME/.aztfexport/config.json
处创建一个配置文件。该文件旨在通过命令aztfexport config [subcommand]
进行管理,其中包括以下子命令:
get
: 获取配置项set
: 设置一个配置项show
:显示完整配置目前支持以下配置项:
installation_id
:首次运行时创建的 UUID。如果当前计算机上安装了 Azure CLI 或 Azure Powershell,则这些工具中的 UUID 将是相同的值。否则,将创建一个新的。这用作遥测跟踪中的标识符。telemetry_enabled
:启用遥测。我们使用遥测技术来识别问题和需要改进的领域,以优化该工具以获得更好的性能、可靠性和用户体验。如果您想禁用我们的遥测,请将其设置为 false。 请访问 Azure Export for Terraform 文档中的此页面,其中讨论了该工具当前已知的限制。