首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Terraform进口

Terraform进口
EN

Stack Overflow用户
提问于 2021-12-20 13:16:13
回答 1查看 927关注 0票数 0

我有一个具有多个订阅的Terraform环境。我的目录结构看起来很简单,如下所示

代码语言:javascript
复制
_Config
++SubScr1
++++terraform.tfvars
++SubScr2
++++terraform.tfvars

_Modules
++general
++++rg_create
++++++main.tf
++++++output.tf
++++++variables.tf

_Templates
++rg
++++main.tf
++++variables.tf

maif.tf
providers.tf
variables.tf

直到现在,我们都在Azure DevOps,我们现在也在本地工作,并同步git。

我已经能够创建一个CLI脚本来执行'az登录‘,设置环境变量并执行terraform init。工作得很好。

一个地形图也在“根目录”中工作。

但是,当我试图导入(ex)资源组时,如果没有找到azurerm_resource_group,这就失败了,当我移动到子目录'_module\general\rg_create‘时,系统会出现错误,因为其他模块还没有初始化。

所以我有点困惑。也许我错过了一个概念,任何帮助都很感激

错误1

代码语言:javascript
复制
    T:\_CommandLine>CD \

 T:\>TerraForm import -var-file="T:\_config\it-poc-int-01\core_000\terraform.tfvars" azurerm_resource_group.rg /subscriptions/8dc72845-b367-4dcc-98f9-d9a4a933defc/resourceGroups/rg-poc-edw-999
    Error: resource address "azurerm_resource_group.rg" does not exist in the configuration.
    
    Before importing this resource, please create its configuration in the root module. For example:
    
    resource "azurerm_resource_group" "rg" {
      # (resource arguments)
    }

或错误2

代码语言:javascript
复制
T:\_CommandLine>CD \_Modules\general\rg_create

T:\_modules\general\rg_create>TerraForm import -var-file="T:\_config\it-poc-int-01\core_000\terraform.tfvars" azurerm_resource_group.rg /subscriptions/8dc72845-b367-4dcc-98f9-d9a4a933defc/resourceGroups/rg-poc-edw-999
╷
│ Error: Module not installed
│
│   on main.tf line 14:
│   14: module "subscription" {
│
│ This module is not yet installed. Run "terraform init" to install all modules required by this configuration.
╵

╷
│ Error: Module not installed
│
│   on main.tf line 18:
│   18: module "location" {
│
│ This module is not yet installed. Run "terraform init" to install all modules required by this configuration.
╵

╷
│ Error: Module not installed
│
│   on main.tf line 38:
│   38: module "rg_roles_aadgroups" {
│
│ This module is not yet installed. Run "terraform init" to install all modules required by this configuration.
╵
EN

回答 1

Stack Overflow用户

发布于 2021-12-20 18:54:36

你需要做的是

terraform init

在根目录中,

要导入,您至少需要

resource "azurerm_resource_group" "rg" { }在您信任的任何地方,您应该再次在根dir中调用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70422397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档