azure - 如何在 Terraform 的状态下导入整个 Azure 资源组?

标签 azure import terraform terraform-provider-azure

是否有一种解决方案可以使用一个命令将整个 Azure 资源组导入 Terraform 的状态文件中,该命令可以捕获该资源组中的所有资源,而无需手动定位每个资源(根据我迄今为止的研究,这似乎是唯一的选择) )?

最佳答案

就像 @dan-monego 提到的,Terraformer 是正确的选择。 我过去用过它,非常棒。 不幸的是,Terraform 没有官方方法可以做到这一点。

如果这不适合您,您需要编写自定义代码来列出组中的资源,解析输出,然后运行 ​​terraform import命令。

此命令将输出构建导入语句所需的所有信息 az resource list -g <resource-group-name>

编辑:从 Terraform 1.5 开始,您现在可以使用配置驱动导入来生成 Terraform 配置文件 https://www.hashicorp.com/blog/terraform-1-5-brings-config-driven-import-and-checks

基本上,您可以像这样定义导入 block

  import {
  # ID of the cloud resource
  # Check provider documentation for importable resources and format
  id = “i-abcd1234”
 
  # Resource address
  to = aws_instance.example
}

然后运行此命令

terraform plan -generate-config-out=generated_resources.tf

关于azure - 如何在 Terraform 的状态下导入整个 Azure 资源组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71082124/

相关文章:

Azure NotificationHub 发送推送时凭据无效

python - 如何使用 Python 3.3 访问 Windows Azure 帐户 token

python - 无法在 Python 中访问导入的函数

azure - 在 azurerm_app_service.ip_restriction 中的 terraform azurerm_app_service.outbound_ip_addresses 中使用

azure - 将 .Net Core 应用程序设置作为环境变量发送到 kubernetes pod

powershell - 使用 Powershell 获取 Azure AD token (jwt)

java - 导入java类文本编辑器

javascript - SASS/SCSS @import 前面的 ~ 是什么意思/做什么?

terraform - 不使用 Terraform 文件配置器将本地文件部署到实例

amazon-web-services - 通过 Terraform 或 Cloudformation 启用和配置 AWS Cognito 高级安全功能