Terraform Import 从索引中删除引号

Terraform Import strips quotations from index

我正在尝试通过 Terraform 从 Azure 导入状态并将状态保存到具有索引的资源中,例如:

terraform import azurerm_subnet.test_subnets[\"test-subnet-1\"] /subscriptions/xxxxxx-xxx-xxx-xxxxx/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-subnet-1

我读到其他线程说我必须转义引号,所以我做到了。即使引号被转义,Terraform 编译器似乎仍在将引号拉出并将 \ 字符留在原处。

这是我看到的错误输出:

Error: Invalid character

  on <import-address> line 1:
   1: azurerm_subnet.test_subnets[\test-subnet-1\]

This character is not used within the language.


Error: Index value required

  on <import-address> line 1:
   1: azurerm_subnet.test_subnets[\test-subnet-1\]

Index brackets must contain either a literal number or a literal string.


Error: Invalid character

  on <import-address> line 1:
   1: azurerm_subnet.test_subnets[\test-subnet-1\]

This character is not used within the language.

For information on valid syntax, see:
https://www.terraform.io/docs/internals/resource-addressing.html

有什么想法吗?我是在做错什么还是这是应用程序的已知限制?

在 PowerShell 中,导入命令应该是这样的:

terraform import 'azurerm_subnet.test_subnets[\"test-subnet-1\"]' subnet_resource_id

此处的屏幕截图显示了输出:

但是如果你在windows中使用cmd,你使用的命令也是对的。查看有关命令 import.

的更多详细信息