将 ARM 模板转换为 Terraform [关闭]

Posted

技术标签:

【中文标题】将 ARM 模板转换为 Terraform [关闭]【英文标题】:Converting ARM Template to Terraform [closed] 【发布时间】:2020-07-17 02:02:44 【问题描述】:

有人致力于将 ARM 模板转换为 Terraform 文件吗?

我知道我们可以在 Terraform 中使用“azurerm_template_deployment”资源来部署 ARM 模板,但存在一些限制,我正在寻找一种方法将 ARM 模板直接转换为 Terraform .tf 文件

【问题讨论】:

【参考方案1】:

我不知道有任何工具可用于将 ARM 模板转换为 TF。我使用了“azurerm_template_deployment”,对此我很满意。不过我的情况很有限。

请参阅此 github 问题以获取更多详细信息, https://github.com/terraform-providers/terraform-provider-azurerm/issues/1115

【讨论】:

感谢您的回复。如果我们想使用 Terraform 使用 ARM 模板,“azurerm_template_deployment”是一个很好的资源,但是,在销毁 TF 期间使用 ARM 模板部署资源不会破坏资源,因为它不会被 TF 识别。【参考方案2】:

不能直接转换,但是terraform可以使用azurerm_template_deployment资源部署arm模板。将部署类型设置为“完成”时,TF 也应该销毁资源!

请参阅以下链接以了解销毁也有效的示例:https://samcogan.com/deploying-arm-templates-with-terraform/。

【讨论】:

您的意思是当部署类型设置为“完成”时,TF 会在每次运行时销毁并重新创建由 ARM 模板创建的资源?【参考方案3】:

如果您想在 JSON 和 HCL(TF 中使用的语言)之间转换,您可能需要检查 https://www.hcl2json.com/

【讨论】:

以上是关于将 ARM 模板转换为 Terraform [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

将 Terraform 模板转换为 Cloudformation 模板

如何使用 Terraform 部署此 ARM 模板?请指教

使用 terraform 输出恢复 Azure ARm 模板的输出值

使用 terraform 和 arm 模板通过工作流部署逻辑应用程序的最佳方法?

Terraform - 将类型对象作为参数传递给 Azure 模板部署

如何使用 Terraform 为 Azure 资源创建警报