如何使用for循环在IBM云Terraform中创建虚拟服务器



我在IBM云中使用Terraform 创建了一个虚拟服务器

resource "ibm_is_instance" "vsi1" {
name    = "${local.BASENAME}-vsi1"
vpc     = ibm_is_vpc.vpc.id
zone    = local.ZONE
keys    = [data.ibm_is_ssh_key.ssh_key_id.id]
image   = data.ibm_is_image.ubuntu.id
profile = "cc1-2x4"
primary_network_interface {
subnet          = ibm_is_subnet.subnet1.id
security_groups = [ibm_is_security_group.sg1.id]
}
}

如何使用Terraform For loops 创建虚拟服务器

vsi1 , vsi2, vsi3, vsi4, vsi5

完整代码请参阅IBM Cloud Terraform入门教程

您可能不需要forfor-each循环来实现所需内容。一个简单的count可以完成所需的操作。添加count(实例数(后,您所需要做的就是在VSI名称中传递count.index

resource "ibm_is_instance" "vsi" {
count   = 4
name    = "${local.BASENAME}-vsi-${count.index}"
vpc     = ibm_is_vpc.vpc.id
zone    = local.ZONE
keys    = [data.ibm_is_ssh_key.ssh_key_id.id]
image   = data.ibm_is_image.ubuntu.id
profile = "cc1-2x4"
primary_network_interface {
subnet          = ibm_is_subnet.subnet1.id
security_groups = [ibm_is_security_group.sg1.id]
}
}

这将创建名称为vsi-0、vsi-1…的实例

最新更新