我需要创建一个使用现有存储桶的AWS_S3_BUCKET_NOTIFITICY(未在Terraform脚本中定义)
我正在尝试这种配置:
data "aws_s3_bucket" "terraform-bucket-name" {
bucket = "account-bucket-name"
}
resource "aws_s3_bucket_notification" "bucket_notification" {
bucket = "${data.aws_s3_bucket.terraform-bucket-name.id}"
lambda_function {
lambda_function_arn = "${aws_lambda_function.something.arn}"
events = ["s3:ObjectCreated:*"]
}
depends_on = ["aws_lambda_function.something", "data.aws_s3_bucket.terraform-bucket-name"]
}
但是我有一个错误:
错误放置S3通知配置:InvalidArgument:无法 验证以下目标配置
也许"数据"不是定义现有存储桶的正确方法...有帮助吗?谢谢!
您必须将其定义为常规资源:
resource "aws_s3_bucket" "my_bucket" {
bucket = "terraform-bucket-name"
然后,您必须将其导入Terraform的状态:
terraform import aws_s3_bucket.my_bucket terraform-bucket-name
之后,terraform plan
将向您展示现实世界和您的代码之间的区别,您应该解决。如果terraform plan
列出没有更改,则您的代码与现实匹配。
请参阅文档的结尾。