You need to enable JavaScript to run this app.
导航

输出变量

最近更新时间2022.07.01 10:39:22

首次发布时间2022.05.17 12:06:31

输出变量即模块的返回值,用于将信息对外公开,通过关键字"output"进行声明。

声明输出变量

按照Terraform的约定,输出变量通常在variables.tf文件中声明。示例如下:

output "ecs_private_address" {
  value       = volcengine_ecs_instance.foo.network_interfaces[0].primary_ip_address
  description = "The private IP address of ECS"
}
  • 输出变量的名称:
    关键字"output"后为输出变量的名称,该名称必须是有效的标识符。
  • output块中的参数:
    • value:输出变量的值,必选项,任何有效的表达式都可作为输出使用。
    • description:输出变量的描述信息。
    • sensitive:将输出变量标记为敏感项,隐藏输出变量值。示例如下:
      output "vpc_id" {
          value       = volcengine_vpc.foo.id
          description = "Check out ID of volcengine VPC."
          sensitive   = true
      }
      
    • depends_on:指定输出变量的依赖关系。但输出变量只是导出数据的一种方法,通常情况下无需设置与其他资源、数据的依赖关系。

查看输出变量

在命令行中执行terraform applyterraform output命令即可输出,也可以将子模块的值赋予给父模块。

对于隐藏变量,您可以通过以下方式查看:

  • 输出变量的值记录在state文件中,有权限访问state文件的用户均可见。
  • 子模块中的输出变量值被父模块调用后,通过父模块输出或资源引用后可见。