如何输出输入变量?

问题描述 投票:0回答:1

我有一个自定义 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
}

我觉得很愚蠢,因为我在网上搜索答案但找不到任何东西可以做到这一点。

编辑:添加代码示例

amazon-web-services variables terraform output
1个回答
4
投票

如果您有这样声明的输入变量:

variable "description" {
  type = string
}

...然后您可以在声明它的同一模块中将其值作为输出值返回,如下所示:

output "description" {
  value = var.description
}
© www.soinside.com 2019 - 2024. All rights reserved.