我在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入门教程
您可能不需要for
或for-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…的实例