我正在使用count
属性在OpenStack中使用Terraform创建多个实例。
我想要实现的是如果实例名称曾经在历史记录中使用过,则永远不要重复它。
示例
一开始,我创建了3个实例:
node-w0
node-w1
node-w2
一段时间后,node-w1
变得不健康,我需要手动将其终止。
对于下一个terraform apply
(不进行任何代码更改),我希望将新实例命名为node-w3
。
node-w0
node-w2
node-w3
这种行为可以实现吗?
我当前的TF定义:
resource "openstack_compute_instance_v2" "workers" {
count = var.worker_count
name = "${var.cluster_name}-w${count.index}"
image_name = var.image_name
flavor_name = var.worker_flavor
key_pair = var.os_keypair
availability_zone = element(var.availability_zones, count.index)
}
编辑: 我想(理想)解决另一种情况。
想象一下,像第一种情况一样具有实例w0-2
。我想缩减实例数量,但出于某种原因终止实例编号w1
。
如果我在OpenStack中手动终止实例w1
并将递减计数减为2,将重新创建实例w1
并销毁实例w2
。
所需的行为是保留实例w2
,而忘记实例w1
。
是否有一种方法可以满足这两种情况,而无需将实例名称的整个列表传递给没有count
变量的OpenStack?