在 terraform 中导入资源时锁定文件错误

Lock file error when importing resource in terraform

我正在尝试导入 2 个现有的 azure 资源(1 个 vnet 和 1 个资源组)。

如果我将以下内容添加到我的 main.tf

resource "azurerm_virtual_network" "my-vnet" {
}

和运行terraform import azurerm_virtual_network.my-vnet /subscriptions/11111111/resourceGroups/my-resource-group/providers/Microsoft.Network/virtualNetworks/my-vnet-01

一切正常,terraform.tfstate 文件更新了 vnet 信息等。

如果我再将以下内容添加到 main.tf

resource "azurem_resource_group" "my-net-rsg" {
}

和运行terraform import azurem_resource_group.my-net-rsg /subscriptions/11111111/resourceGroups/my-net-rsg

我收到以下错误

如果我再删除

resource "azurem_resource_group" "my-net-rsg" {
}

和 运行 相同 terraform import azurem_resource_group.my-net-rsg /subscriptions/11111111/resourceGroups/my-net-rsg 我得到一个错误(非常正确和预期)说

Before importing this resource, please create its configuration in the root module. For example:  

resource "azurem_resource_group" "my-net-rsg" {
# (resource arguments)
}

即使我确实将该输出复制并粘贴回我的 main.tf 文件中,我也会从上面的屏幕截图中得到相同的错误。

我试过只配置资源组
我试过在 vnet
之前先进行资源配置 我在不同的目录中尝试了一个新的 terraform init 并再次完成了整个过程。

每次如果我在 main.tf 中有资源组,它都会抱怨锁定文件。

我正要删除这个问题,因为它是如此简单 problem/solution,但由于错误是如此 non-descript 关于原因这可能对某人有帮助

显然 是 terraform 因为你的资源名称有错别字。

resource "azurem_resource_group" 应该是(在这种情况下)resource "azurerm_resource_group"