【发布时间】:2020-05-08 07:58:09
【问题描述】:
概述
我正在使用 terraform 构建 AWS-ECS-Service-container。 terraform aws_ecs_task_definition
示例task_definition_kafka.tf
resource "aws_ecs_task_definition" "task_definition_kafka" {
container_definitions = file("./task_definition_kafka.json")
}
示例task_definition_kafka.json
[
{
"cpu": 256,
"memory": 768,
"portMappings": [
{
"hostPort": 7002,
"containerPort": 7002,
"protocol": "tcp"
}
],
"essential": true,
"environment" : [
{ "name" : "SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL", "value" : "${aws_ecs_task_definition.aws_ecs_task_definition_kafka.private_ip}:2181" },
]
}
]
主要问题
在上面的 json 文件中,我想使用 ${aws_ecs_task_definition.aws_ecs_task_definiton_kafka.private_ip} 语法从 terraform-aws-provider-resource 获取 private_ip
有可能吗?
【问题讨论】:
-
您需要使用 Terraform 的模板(使用
templatefile或template_file数据源)或通过将容器定义直接粘贴在.tf文件中的 HEREDOC 中来插入容器定义。跨度>
标签: json terraform amazon-ecs terraform-provider-aws