Terraform AWS:错误未找到配置文件

Arp*_*pan 3 amazon-s3 amazon-web-services terraform terraform-provider-aws

我是新来的Terraform。我正在编写一个小脚本,将一个小的数据文件从我的机器放到aws S3存储桶中。

Terraform文件代码:

provider "aws" {
  region  = "us-east-1"
  version = "~> 1.6"
}

terraform {
  backend "s3" {
    bucket     = "${var.bucket_testing}"
    kms_key_id = "arn:aws:kms:us-east-1:12345678900:key/12312313ed-34sd-6sfa-90cvs-1234asdfasd"
    key     = "testexport/exportFile.tfstate"
    region  = "us-east-1"
    encrypt = true
  }
}

data "aws_s3_bucket" "pr-ip" {
  bucket = "${var.bucket_testing}"
}

resource "aws_s3_bucket_object" "put_file" {
  bucket = "${data.aws_s3_bucket.pr-ip.id}"
  key    = "${var.file_path}/${var.file_name}"
  source = "src/Datafile.txt"
  etag = "${md5(file("src/Datafile.txt"))}"

  kms_key_id = "arn:aws:kms:us-east-1:12345678900:key/12312313ed-34sd-6sfa-90cvs-1234asdfasd"
  server_side_encryption = "aws:kms"
}
Run Code Online (Sandbox Code Playgroud)

终端错误

地形初始化

Terraform initialized in an empty directory!

The directory has no Terraform configuration files. You may begin working
with Terraform immediately by creating Terraform configuration files.
Run Code Online (Sandbox Code Playgroud)

$ terraform适用

Error: No configuration files found!

Apply requires configuration to be present. Applying without a configuration
would mark everything for destruction, which is normally not what is desired.
If you would like to destroy everything, please run 'terraform destroy' instead
which does not require any configuration files.
Run Code Online (Sandbox Code Playgroud)

另外,我还设置了默认的AWS Access Key ID和值。

请帮忙。谢谢!!

Ale*_*der 9

此错误意味着您在错误的位置运行了命令。您必须位于包含配置文件的目录中,因此在运行之前initapply您必须进入cdTerraform项目文件夹。


Jus*_*use 0

万一现在有人遇到这个问题,我遇到了一个问题,我的TF_WORSPACE环境变量设置为与我所在目录不同的工作区。用以下命令仔细检查您的工作区

terraform workspace show

显示您可用的工作空间

terraform workspace list

使用列出的工作区之一:

terraform workspace select <workspace name>

如果TF_WORKSPACE在尝试使用terraform workspace selectTF 时设置了环境变量,则会打印一条消息,告诉您潜在的问题:

The selected workspace is currently overridden using the TF_WORKSPACE
environment variable.

To select a new workspace, either update this environment variable or unset
it and then run this command again.
Run Code Online (Sandbox Code Playgroud)