将现有资源导入 Terraform 状态文件时出错 [英] Error Importing existing resources into Terraform State File

查看:19
本文介绍了将现有资源导入 Terraform 状态文件时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试重构我的一些模块,这需要我将现有资源移动到不同的状态文件中.

通常导入资源是单调但简单的.

在尝试导入任何这些资源时,我不知道如何解释以下路径段的数量不能被 2 整除"错误.p>

这发生在我尝试导入的所有资源上(过去我已经成功完成了很多次)

CLI>terraform import azurerm_virtual_machine.east_mm01_vm/resource/subscriptions/XXX/resourceGroups/XXX/providers/Microsoft.Compute/virtualMachines/stguemm01获取状态锁.这可能需要一些时间...azurerm_virtual_machine.east_mm01_vm:从 ID/resource/subscriptions/XXX/resourceGroups/XXX/providers/Microsoft.Compute/virtualMachines/stguemm01"导入...azurerm_virtual_machine.east_mm01_vm:导入完成!导入的 azurerm_virtual_machine(ID:/resource/subscriptions/XXX/resourceGroups/XXX/providers/Microsoft.Compute/virtualMachines/stguemm01)azurerm_virtual_machine.east_mm01_vm:刷新状态...(ID:/resource/subscriptions/XXX...soft.Compute/virtualMachines/stguemm01)错误:azurerm_virtual_machine.east_mm01_vm(导入 ID:/resource/subscriptions/XXX/resourceGroups/XXX/providers/Microsoft.Compute/virtualMachines/stguemm01):发生 1 个错误:* import azurerm_virtual_machine.east_mm01_vm 结果:/resource/subscriptions/XXX/resourceGroups/XXX/providers/Microsoft.Compute/virtualMachines/stguemm01:azurerm_virtual_machine.east_mm01_vm:路径段数不能被resource/subscriptions/XXX/"中的2整除resourceGroups/XXX/providers/Microsoft.Compute/virtualMachines/stguemm01"

地形版本:

CLI>地形-vTerraform v0.11.11+ 提供者.azurerm v1.20.0

解决方案

您的资源 ID 错误 (/resource/subscriptions/XXX/resourceGroups/XXX/providers/Microsoft.Compute/virtualMachines/stguemm01).应该是这样的:

/subscriptions/XXX/resourceGroups/XXX/providers/Microsoft.Compute/virtualMachines/stguemm01

I am attempting to refactor some of my modules, which requires me to move existing resources into a different state file.

Normally importing resources is monotonous but straightforward.

I do not know how to interpret the following "The number of path segments is not divisible by 2" error when attempting to import any of these resources.

This is happening on all resources I am attempting to import (which I have successfully done many times in the past)

CLI> terraform import azurerm_virtual_machine.east_mm01_vm /resource/subscriptions/XXX/resourceGroups/XXX/providers/Microsoft.Compute/virtualMachines/stguemm01

Acquiring state lock. This may take a few moments...

azurerm_virtual_machine.east_mm01_vm: Importing from ID "/resource/subscriptions/XXX/resourceGroups/XXX/providers/Microsoft.Compute/virtualMachines/stguemm01"...
azurerm_virtual_machine.east_mm01_vm: Import complete!

  Imported azurerm_virtual_machine (ID: /resource/subscriptions/XXX/resourceGroups/XXX/providers/Microsoft.Compute/virtualMachines/stguemm01)
azurerm_virtual_machine.east_mm01_vm: Refreshing state... (ID: /resource/subscriptions/XXX...soft.Compute/virtualMachines/stguemm01)

Error: azurerm_virtual_machine.east_mm01_vm (import id: /resource/subscriptions/XXX/resourceGroups/XXX/providers/Microsoft.Compute/virtualMachines/stguemm01): 1 error(s) occurred:

* import azurerm_virtual_machine.east_mm01_vm result: /resource/subscriptions/XXX/resourceGroups/XXX/providers/Microsoft.Compute/virtualMachines/stguemm01: azurerm_virtual_machine.east_mm01_vm: The number of path segments is not divisible by 2 in "resource/subscriptions/XXX/resourceGroups/XXX/providers/Microsoft.Compute/virtualMachines/stguemm01"

Terraform Version:

CLI> terraform -v
Terraform v0.11.11
+ provider.azurerm v1.20.0

解决方案

your resource ID is wrong (/resource/subscriptions/XXX/resourceGroups/XXX/providers/Microsoft.Compute/virtualMachines/stguemm01). it should be this:

/subscriptions/XXX/resourceGroups/XXX/providers/Microsoft.Compute/virtualMachines/stguemm01

这篇关于将现有资源导入 Terraform 状态文件时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆