terraform - 提供程序provider.terraform不支持​​资源类型“terraform_remote_state

标签 terraform terraform-provider-aws terraform0.12+

我为初学者准备了非常简单的 Terraform 设置 -

main.tf-

provider "aws" {
  access_key = var.access_key
  secret_key = var.secret_key
  region     = var.region
  version    = "~> 2.8"
}

resource "terraform_remote_state" "vpc" {
  backend = "s3"
  config = {
    bucket = var.vpc_bucket
    region = var.region
    key    = var.vpc_bucket_key
  }
}

和变量.tf -

variable "access_key" {
  default = ""
}
variable "secret_key" {
  default = ""
}

variable "vpc_bucket" {
  default = "ops-bucket-0708"
}

variable "region" {
  default = "ap-south-1"
}

variable "vpc_bucket_key" {
  default = "aws/ap-south-1/VPCs/terraform.tfstate"
}

当我运行 terraform plan 时,它给出了以下错误 -

Error: Invalid resource type

  on main.tf line 8, in resource "terraform_remote_state" "vpc":
   8: resource "terraform_remote_state" "vpc" {

The provider provider.terraform does not support resource type
"terraform_remote_state".

我在这里做什么?

最佳答案

terraform_remote_state数据,而不是资源

因此您可以尝试以下操作:

data "terraform_remote_state" "vpc" {
  backend = "s3"
  config = {
    bucket = var.vpc_bucket
    region = var.region
    key    = var.vpc_bucket_key
  }
}

关于terraform - 提供程序provider.terraform不支持​​资源类型“terraform_remote_state,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63098342/

相关文章:

terraform - 引用 Terraform 中的其他模块资源

terraform - 了解 terraform 提供程序和插件

azure - 如何在 terraform 中继承/传递变量

terraform - 使用 terraform 安全组模块在 cidr_block 中指定 private_ip 地址

terraform - module.db 是一个对象列表,只有在申请后才知道

azure - terraform azurerm_virtual_machine_extension 设置上的动态 block

terraform - 迭代 Terraform 本地列表中的资源值列表

azure - Terraform 设置 azure 存储帐户虚拟网络

Azure AD 应用程序 API 权限 - 在哪里获取所授予权限的 ID

amazon-web-services - 从帐号的 JSON 数组构建 AWS IAM 策略