terraform - terraform:根据资源计数创建列表
问题描述
我们有一堆实例(我知道......牛,不是宠物,但在这种情况下,这些真的是宠物)
resource "aws_instance" "read_00" {
count = "${var.read_00_count}"
resource "aws_instance" "read_01" {
count = "${var.read_01_count}"
我们有一个 ELB,我们希望根据它们的计数变量动态添加实例,如下所示:
resource "aws_elb" "read_slaves" {
instances = ["${aws_instance.read_.*.id}"]
但这当然行不通。
仅当它们的计数不为零时,是否可以动态创建实例 ID 列表?
我知道这违背了粮食,但如果这是可能的,那就太棒了。
解决方案
使用 Terraform 0.12 会容易得多,但现在这样的事情会做:
[...]
resource "aws_instance" "read_01" {
[...]
count = "${var.read_01_count}"
tags {
Role = "read_slave"
}
}
data "aws_instances" "read-slaves" {
instance_tags {
Role = "read_slave"
}
// optional filters
}
resource "aws_elb" "read_slaves" {
instances = ["${data.aws_instances.read-slaves.ids}"]
listener {
...
}
}
因此:
- 标记充当读取从属的每个实例
- 收集清单
aws_intances
aws_elb
根据收集的数据创建
推荐阅读
- sql - 按顺序查找范围
- python - Python Kuyruk 工人在后台
- angular - 在没有自定义管道的模板中对对象进行角度变换
- excel - 创建矩阵 3:常量 * 矩阵 1 + (1-常量) * 矩阵 2
- javascript - 如何在 Angular 中发出获取请求以接收 Wordpress 的 Gravityforms 数据?
- dhall - Dhall协会名单
- c# - 无法将 Active Directory 用户添加到 Azure SQL
- angular - 如何在 Angular 4 中刷新日期
- c# - 如何在没有 UserInteractive 模式的情况下进行调试(例如服务)
- java - maven 没有下载我添加的任何依赖项