Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 地形中每个回路的动力输出_Amazon Web Services_Loops_Terraform_Amazon Rds - Fatal编程技术网

Amazon web services 地形中每个回路的动力输出

Amazon web services 地形中每个回路的动力输出,amazon-web-services,loops,terraform,amazon-rds,Amazon Web Services,Loops,Terraform,Amazon Rds,我使用的是0.14.2 Terraform版本,我有一个任务,可以动态创建一个资源。下一个任务是: resource "aws_db_instance" "api-mariaDB" { for_each = local.ob identifier = "api-mariadb-${each.key}" allocated_storage = "20"

我使用的是0.14.2 Terraform版本,我有一个任务,可以动态创建一个资源。下一个任务是:

resource "aws_db_instance" "api-mariaDB" {
  for_each             = local.ob

  identifier           = "api-mariadb-${each.key}"
  allocated_storage    = "20"
  storage_type         = "gp2"
  engine               = "mariadb"
  engine_version       = "10.4.8"
  allow_major_version_upgrade = true
  auto_minor_version_upgrade = false
  instance_class       = "db.t2.micro"
  name                 = "ssapi"
  username             = "admin"
  password             = "Temporal123"
  db_subnet_group_name = aws_db_subnet_group.subnet-mariadb[each.value].name
  skip_final_snapshot  = true
  vpc_security_group_ids = [aws_security_group.rds_SG.id]
  tags = {
    Name        = "api-db-${each.key}"
  }
}
使用此本地变量:

locals {
    ob = toset([
     "es",
     "uk",
    ])
}

此资源使用下一个输出创建2个RDS实例:

aws_db_instance.api-mariaDB["es"] will be created
  + resource "aws_db_instance" "api-mariaDB" {
      + address                               = (known after apply)
      + allocated_storage                     = 20
      + allow_major_version_upgrade           = true
      + apply_immediately                     = (known after apply)
      + arn                                   = (known after apply)
      .
      .
      .
我想在两个迭代中访问arn,以便在掌舵图中使用。。我尝试了下一种语法,但没有成功:

output "rds" {
   value = {
     endpoint = "aws_db_instance.api-mariaDB[each.value].arn"
}

有什么想法吗

谢谢

编辑

我也尝试过这个选项:

output "rds" {
  value = {
    endpoint = aws_db_instance.api-mariaDB[*].arn
  }
}
但我有一个错误:

Error: Unsupported attribute

  on rds.tf line 49, in output "rds":
  49:     endpoint = aws_db_instance.api-mariaDB[*].arn

This object does not have an attribute named "arn".
“*`运算符将允许您从列表中的每个项目中获取一个值。 For each会创建一个映射,因此需要迭代关键点:

output "rds" {
  value = {
    endpoint = [for o in local.ob: aws_db_instance.api-mariaDB[o]].arn
  }
}
“*`运算符将允许您从列表中的每个项目中获取一个值。 For each会创建一个映射,因此需要迭代关键点:

output "rds" {
  value = {
    endpoint = [for o in local.ob: aws_db_instance.api-mariaDB[o]].arn
  }
}

谢谢你的回答。。我也尝试了这个选项,但我得到了一个错误:错误:rds.tf第49行的Unsupported属性,在输出“rds”:49:endpoint=aws_db_instance.api mariaDB[*]。arn这个对象没有名为“arn”的属性。啊,它是一个映射,不是一个列表。我更新了一个补丁。谢谢你的回答。。我也尝试了这个选项,但我得到了一个错误:错误:rds.tf第49行的Unsupported属性,在输出“rds”:49:endpoint=aws_db_instance.api mariaDB[*]。arn这个对象没有名为“arn”的属性。啊,它是一个映射,不是一个列表。我已经更新了一个补丁。