我正在为Terraform变量使用Map变量,如下所示。当我运行Terraform时,如果我当前的订阅是生产,我想选择prd_source_image_id,如果我当前的订阅是dev,我想选择dev_source_image_id。可以吗?
var.tf
variable "vm_template" {
type = map(any)
default = {
vm1 = {
prd_source_image_id = "prd_image"
dev_source_image_id = "dev_image"
}
}
}
main.tf
resource "azurerm_linux_virtual_machine" "vm" {
for_each = var.vm_template
...(omission)
source_image_id = each.value.source_image_id
...(omission)
}
您必须能够使用条件语句或正则表达式根据您的订阅选择操作系统映像ID。
1条答案
按热度按时间mzaanser1#
您可以使用azurerm_client_config和lookup function数据源:
注:建议使用默认镜像(prd、dev或其他),条件如下:
如果对你有帮助就告诉我