我有一个自定义 terraform 模块,它创建一个 AWS EC2 实例,因此它依赖于 aws 提供商。 这个 terraform 自定义模块用作描述我想要创建的实例的基础,但我还需要一些其他信息,稍后将重用。
例如,我想将虚拟机的描述定义为输入变量,但我根本不需要使用它来通过 aws 提供程序创建我的虚拟机。
我只想将此输入变量直接作为输出发送,以便稍后 terraform 完成其工作后可以重新使用它。
前 我有什么作为输入变量
variable "description" {
type = string
description = "Description of the instance"
}
我想把什么作为输出变量
output "description" {
value = module.ec2_instance.description
}
我的主模块在做什么
module "ec2_instance" {
source = "./modules/aws_ec2"
ami_id = var.ami_id
instance_name = var.hostname
disk_size = var.disk_size
create_disk = var.create_disk
availability_zone = var.availability_zone
disk_type = var.disk_type
// I don't need the description variable for the module to work, and I don't wanna do anything with it here, i need it later as output
}
我觉得很愚蠢,因为我在网上搜索答案但找不到任何东西可以做到这一点。 你能帮忙吗?
谢谢
编辑:添加代码示例
如果您有这样声明的输入变量:
variable "description" {
type = string
}
...然后您可以在声明它的同一模块中将其值作为输出值返回,如下所示:
output "description" {
value = var.description
}