首页 > 解决方案 > 如何在 terraform 脚本的资源中访问 terraform 提供程序属性?

问题描述

我正在尝试创建一个基本的 terraform 脚本以在 aws 上启动 ec2。暂时的。我正在使用local-exec供应商。脚本看起来像这样。

    provider "aws" {
      profile = "default"
      region  = "eu-central-1"
      version = "2.53"
    }

    resource "aws_instance" "gsb_ec2" {
      ami           = "ami-0b418580298265d5c"
      instance_type = "t2.micro"

      provisioner "local-exec" {
        command = "echo ${aws_instance.gsb_ec2.public_ip} > ip_address.txt"

      }
      provisioner "local-exec" {
        command = "echo ${aws_instance.gsb_ec2.public_ip} > ip_address.txt"
          }
    }

我想回provider region显就像我回显 aws 实例公共 IP 一样。

我收到以下错误,因为提供者显然不是资源。

Error: Reference to undeclared resource

那么,如何访问提供者属性呢?

谢谢

标签: terraformterraform-provider-aws

解决方案


您需要使用数据组件来访问当前区域

data "aws_region" "current" {}

然后你可以回显data.aws_region.current.name


推荐阅读