azurerm_virtual_machine_extension - 在 azurerm_windows_virtual_machine 上,计数不起作用
azurerm_virtual_machine_extension - on azurerm_windows_virtual_machine with count not working
我有一个 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
与 azurerm_windows_virtual_machine
和 count
兼容还是不兼容?如有任何帮助,我们将不胜感激
我在 github 上发现了类似的 kidda 问题。它已关闭,但我认为它也涵盖了您的问题。看看这个:
https://github.com/terraform-providers/terraform-provider-azurerm/issues/5675
作为错误显示,您应该在资源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
}
例如,下面的命令适用于我在每个 VM 中添加一个 Web 服务器。
我有一个 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
与 azurerm_windows_virtual_machine
和 count
兼容还是不兼容?如有任何帮助,我们将不胜感激
我在 github 上发现了类似的 kidda 问题。它已关闭,但我认为它也涵盖了您的问题。看看这个:
https://github.com/terraform-providers/terraform-provider-azurerm/issues/5675
作为错误显示,您应该在资源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
}
例如,下面的命令适用于我在每个 VM 中添加一个 Web 服务器。