我有一个azurerm_virtual_machine_extension部分,看起来像这样
resource "azurerm_virtual_machine_extension" "InstallCts" {
name = "Install_Cts"
virtual_machine_id = "${element(azurerm_windows_virtual_machine.myserver.*.id, count.index )}"
publisher = "Microsoft.Azure.Extensions"
type = "CustomScript"
type_handler_version = "2.0"
settings = <<SETTINGS
{
"fileUris": [ "https://someurl_server.ps1}" ],
"commandToExecute": "powershell someurl_server.ps1"
}
SETTINGS
}我一直收到下面的错误消息
The "count" object can only be used in "module", "resource", and "data"
blocks, and only when the "count" argument is set.azurerm_virtual_machine_extension是否能与带有count的azurerm_windows_virtual_machine很好地协同工作,或者它不兼容?这方面的任何帮助都将不胜感激。
发布于 2021-03-02 10:05:57
当错误显示时,您应该在资源azurerm_virtual_machine_extension部分中定义count。请注意,扩展Microsoft.Azure.Extensions.CustomScript用于Linux VMs extension,您可以将其更改为如下所示,以便与Windows一起使用。
resource "azurerm_virtual_machine_extension" "InstallCts" {
count = length(var.vm_names) # specify here
name = "Install_Cts"
virtual_machine_id = "${element(azurerm_windows_virtual_machine.rg.*.id, count.index )}"
# publisher = "Microsoft.Azure.Extensions"
# type = "CustomScript"
# type_handler_version = "2.0"
publisher = "Microsoft.Compute"
type = "CustomScriptExtension"
type_handler_version = "1.8"
settings = <<SETTINGS
{
"fileUris": [ "https://someurl_server.ps1}" ],
"commandToExecute": "powershell someurl_server.ps1"
}
SETTINGS
}例如,下面的命令适用于我在每个虚拟机中添加一台web服务器。

发布于 2021-03-02 00:50:24
我在github上发现了类似的kidda问题。它是关闭的,但我认为它也涵盖了您的问题。看看这个:
https://github.com/terraform-providers/terraform-provider-azurerm/issues/5675
https://stackoverflow.com/questions/66426021
复制相似问题