【问题标题】:Terraform: Get id associated to each subnetTerraform:获取与每个子网关联的 ID
【发布时间】:2021-08-08 04:10:58
【问题描述】:

我有一个子网列表(1 个公共子网和 2 个私有子网),我想获取与每个子网关联的 ID。

我的代码结构是:

-- Dev
  -- main.tf
  -- vars.tf
-- modules
  -- sn
    -- ressources.tf
    -- vars.tf

这是我的 ma​​in.tf

# Create Public Subnet
module "public-sn" {
  source            = "../modules/sn"
  vpc_id            = module.vpc.vpcId 
  sn_az             = [ "********-3a" ]
  sn_cidr           = [ "********.0/24" ]
  sn_tags           = [ "********-sn-a" ] 
  sn_id             = module.sn.snId
}

# Create Private Subnets
module "private-sn" {
  source            = "../modules/sn"
  vpc_id            = module.vpc.vpcId 
  sn_az             = [ "eu-west-3a", "eu-west-3b" ]
  sn_cidr           = [ "********.0/24", "********.0/24" ]
  sn_tags           = [ "********-sn-a", "********-sn-b" ] 
}

这是我在 ../sn 中的 ressources.tf

resource "aws_subnet" "sn" {
  count                   = length(var.sn_cidr)
  vpc_id                  = var.vpc_id
  cidr_block              = var.sn_cidr[count.index]
  availability_zone       = var.sn_az  [count.index]
  tags                    = { Name = var.sn_tags[count.index] }
}

This is my output.tf in ../sn 目前为空。请帮助在这些条件下获取子网 ID。

提前致谢。

【问题讨论】:

  • 进展如何?问题仍然存在?

标签: amazon-web-services terraform terraform-provider-aws


【解决方案1】:

如果你想得到子网ID的列表,你在../modules/sn/output.tf的输出应该是:

output "subnet_ids" {
  value = aws_subnet.sn[*].id
}

【讨论】:

猜你喜欢
  • 2021-08-27
  • 1970-01-01
  • 2022-01-24
  • 2021-09-26
  • 1970-01-01
  • 2021-02-25
  • 1970-01-01
  • 2019-01-15
  • 2020-09-25
相关资源
最近更新 更多