Amazon s3 在terraform中为S3存储桶使用点表示法-导致输出错误
地形0.9.2,AWS,OS X 10.12.5 S3存储桶中的main.tf、shared.tfstate:Amazon s3 在terraform中为S3存储桶使用点表示法-导致输出错误,amazon-s3,terraform,Amazon S3,Terraform,地形0.9.2,AWS,OS X 10.12.5 S3存储桶中的main.tf、shared.tfstate: #================= # Terraform #================= terraform { backend "s3" { bucket = "com.whd-design.terraform-s3-state-bucket" key = "tfState/htmt-book" region = "
#=================
# Terraform
#=================
terraform {
backend "s3" {
bucket = "com.whd-design.terraform-s3-state-bucket"
key = "tfState/htmt-book"
region = "eu-west-2"
encrypt = true
lock_table = "terraform-state-lock"
}
}
这很好,状态被写入bucket(我可以看到随着更改而出现的后续版本),并且创建了DynamoDB记录。但是,尝试在输出中使用点符号bucket name会导致错误:
output "State_S3_Bucket_ARN" {
value = "${aws_s3_bucket.com.whd-design.terraform-s3-state-bucket.arn}"
}
* output 'State_S3_Bucket_ARN': unknown resource 'aws_s3_bucket.com' referenced in variable aws_s3_bucket.com.whd-design.terraform-s3-state-bucket.arn
名称中没有点的其他输出语句可以正常工作-只是不能使用点格式吗?(尽管实际创建和使用S3对象很奇怪)。是否有一些转义可以在资源名称周围使用
非常感谢好的,我试图引用一个在地形状态下不存在的对象。它存在于AWS上(由不同的TF计划创建)。解决方案:
terraform导入aws\u s3\u bucket.terraform\u s3\u state\u bucket com.whd design.terraform-s3-state-bucket
,使用有效的TF资源名称