Условно добавить пользователей брокера MQ в Terraform - PullRequest
0 голосов
/ 27 августа 2018

Я создаю брокеров AWS MQ с использованием Terraform и хочу создать дополнительных пользователей, только если установлены переменные имени пользователя. Я хочу сделать следующее, что, как я знаю, не работает, но я ищу способ сделать что-то подобное. Любые предложения приветствуются.

resource "aws_mq_broker" "my_broker" {
  broker_name = "${var.broker_name}"
  user {
    username = "${var.broker_user}"
    password = "${var.broker_password}"
  }
  if "${var.broker_user_two}"
  user {
    username = "${var.broker_user_two}"
    password = "${var.broker_password_two}"
  }
}

1 Ответ

0 голосов
/ 28 августа 2018

Terraform 0.12 обеспечит обновление основного синтаксиса HCL для поддержки HCL2, а вместе с этим динамические блоки .

Как указано в руководстве по предварительному просмотру версии 0.12, это выглядит примерно так:

# Configuration for Terraform 0.12

locals {
  standard_tags = {
    Component   = "user-service"
    Environment = "production"
  }
}

resource "aws_autoscaling_group" "example" {
  # ...

  tag {
    key                 = "Name"
    value               = "example-asg-name"
    propagate_at_launch = false
  }

  dynamic "tag" {
    for_each = local.standard_tags

    content {
      key                 = tag.key
      value               = tag.value
      propagate_at_launch = true
    }
  }
}

Таким образом, вы сможете просматривать список пользователей вашего брокера MQ примерно так:

variable "users" {
  default = [
    {
      username = "user1"
      password = "password1"
    },
  ]
}

resource "aws_mq_broker" "my_broker" {
  broker_name = var.broker_name
  dynamic "user" {
    for_each var.users

    content {
      username = user.username
      password = user.password
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...