寻找与关键字相匹配的资源

时间:2019-05-29 06:59:32

标签: terraform

假设我有两种血统,我想用关键词_consumer来获得其中一种。

variable "kinesis" {
  default = ["kinesis_publisher", "kinesis_consumer"]
}

resource "aws_kinesis_stream" "test_stream" {
  count = "${length(var.kinesis)}"
  name             = "${var.kinesis[count.index]}"
  shard_count      = 1
  retention_period = 48

  shard_level_metrics = [
    "IncomingBytes",
    "OutgoingBytes",
  ]

  tags = {
    Environment = "test"
  }
}

如何仅获取消费者信息?

output "kinesis_consumer_arn" {
  value = "??? lookup or matchkeys with _consumer ???"
}

它并不总是相同的序列,并且会发生许多运动。所以我不能直接使用0或1。

1 个答案:

答案 0 :(得分:0)

您可以为每个kafka流创建模块,从而对传递到资源和从资源派生的变量提供更多控制。

module "kinesis_publisher" {

    source          = "../modules/test_stream"
    stream_name     = "kinesis_publisher"
    }

module "kinesis_consumer" {

    source          = "../modules/test_stream"
    stream_name     = "kinesis_consumer"
    }

然后可以根据模块过滤输出。

output "kinesis_consumer_arn" {
  value = "{module.kinesis_consumer.arn}"
}