$ terraform -v
Terraform v1.5.7
on darwin_amd64
+ provider registry.terraform.io/hashicorp/aws v5.80.0
Tenho um módulo que instancia várias instâncias do EC2 e imprimo as informações que desejo na output
seção.
// Create an EC2 instances
module "ec2_node" {
count = var.num_nodes
source = "../modules/ec2_node"
ami_id = var.ami_id
availability_zone = var.availability_zone
...
}
output "module_ec2_node_ec2_name_0" {
value = module.ec2_node[0].ec2_tag_name
}
output "module_ec2_node_ec2_id_0" {
value = module.ec2_node[0].ec2_id
}
output "module_ec2_node_private_ip_0" {
value = module.ec2_node[0].ec2_priv_ip
}
output "module_ec2_node_ec2_name_1" {
value = module.ec2_node[1].ec2_tag_name
}
output "module_ec2_node_ec2_id_1" {
value = module.ec2_node[1].ec2_id
}
output "module_ec2_node_private_ip_1" {
value = module.ec2_node[1].ec2_priv_ip
}
Existe alguma maneira de colocar um loop na output
seção em vez do jeito que eu fiz?
Como você está usando o módulo com o
count
meta-argumento, a expressão splat (*
) pode ser usada para obter todos os atributos de uma saída do módulo. No seu caso, seria: