terraform - azurerm_virtual_machine_extension - 在 azurerm_windows_virtual_machine 上计数不工作
问题描述
我有一个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
还是不兼容?对此的任何帮助将不胜感激
解决方案
作为错误显示,您应该count
在资源azurerm_virtual_machine_extension
部分中定义。请注意,该扩展Microsoft.Azure.Extensions.CustomScript
用于Linux VM 扩展,您可以像下面这样更改它以与 Windows VM 一起使用。
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
}
推荐阅读
- python - 使用 rstrip("\n") 从 readlines 中删除 \n
- r - 从 r 中的数据集创建后进先出表
- cron - AirFlow 是否支持自定义日历或 Flexi 日历?
- javascript - 返回猫鼬查询结果
- apache-flink - 用 pulsar 和 flink 端到端交付恰好一次
- r - 未找到用于 Bioconductor 包 RBGL 的 R 包 BH
- batch-file - 生成最小和最大长度的密码:批处理文件
- javascript - 如何获取节点中等待函数的完整调用堆栈?
- javascript - Firestore 中的查询数组
- c# - 需要代码优化,但不知道怎么做