没有变化。基础设施是最新的。地形计划

时间:2021-05-12 11:49:07

标签: terraform terraform-provider-aws

terraform {
   required_providers {
      aws = {
          source  = "hashicorp/aws"
    }
  }
}

provider "aws" {
    region     = "us-east-1"
    access_key = "<my-key->"
    secret_key = "<my-sec-key>"
}

resource "aws_instance" "terra-instance" {
    ami           = "ami-09e67e426f25ce0d7"
    instance_type = "t2.micro"

}

我是 terraform 的新手并且遇到了这个问题。我正在尝试使用 terraform 在 AWS 云中创建一个实例,当我发出“terraform plan”时,它显示“没有变化。基础设施是最新的。”

有人可以帮助我吗?

adarshpatil@Adarshs-MacBook-Pro Project-1 % terraform apply 申请完成!资源:添加 0 个,更改 0 个,销毁 0 个。

3 个答案:

答案 0 :(得分:0)

这意味着您的基础架构已部署,未检测到任何更改。尝试将 instance_type 更改为其他内容,然后重试。您将看到包含必要更改的计划。

答案 1 :(得分:0)

检查您的 aws 凭据文件内容,看看它们是否与您的 access_key 和密钥匹配。

答案 2 :(得分:0)

如果您的意图是强制替换特定对象,即使没有需要它的配置更改,我们建议改为使用 -replace 选项和 terraform apply。例如:

<块引用>

terraform apply -replace="aws_instance.terra-instance[0]"

使用“替换”选项创建计划优于使用 terraform taint,因为它可以让您在采取任何外部可见的操作之前看到该更改的全部效果。当您使用 terraform taint 获得类似的效果时,您可能会冒着团队中其他人针对您的受污染对象制定新计划的风险,而您还没有机会自己审查该更改的后果。

terraform apply 的 -replace=... 选项仅从 Terraform v1.0 开始可用,因此如果您使用早期版本,则需要使用 terraform taint 强制替换对象,同时考虑上述注意事项.

»使用

Usage: terraform taint [options] address

来源:https://www.terraform.io/docs/cli/commands/taint.html