将CloudFormation移植到Terraform:S3 bucket NotificationConfiguration
在将cloudformation模板移植到terraform的过程中,无法将下面的NotificationConfiguration、LambdConfiguration属性映射到terraform中的等效属性将CloudFormation移植到Terraform:S3 bucket NotificationConfiguration,terraform,amazon-cloudformation,Terraform,Amazon Cloudformation,在将cloudformation模板移植到terraform的过程中,无法将下面的NotificationConfiguration、LambdConfiguration属性映射到terraform中的等效属性 "CloudTrailS3Bucket" : { "DependsOn" : "TriggerLambdaPermission", "Type" : "AWS::S3::Bucket", "Properties" : { "BucketName" : { "Ref"
"CloudTrailS3Bucket" : {
"DependsOn" : "TriggerLambdaPermission",
"Type" : "AWS::S3::Bucket",
"Properties" : {
"BucketName" : { "Ref" : "CloudTrailBucketName" },
"NotificationConfiguration" : {
"LambdaConfigurations" : [
{
"Event" : "s3:ObjectCreated:*",
"Function" : { "Fn::GetAtt" : [ "AutoTagLambdaFunction", "Arn" ] }
}
]
}
}
}
到目前为止,我在terraform模块中的内容如下,但不确定我是否以正确的方式进行此操作:
resource "aws_s3_bucket" "CloudTrailS3Bucket" {
bucket = "${var.CloudTrailBucketName}"
}
resource "aws_s3_bucket_notification" "bucket_notification" {
bucket = "${aws_s3_bucket.CloudTrailS3Bucket.id}"
topic {
topic_arn = "${aws_sns_topic.topic.arn}"
events = ["s3:ObjectCreated:*"]
}
}
不,在cloudformation模板中,触发器是lambda事件(s3:ObjectCreated),但在代码中,您使用简单通知服务(SNS) 请仔细阅读本文件中的部分 示例代码:
resource "aws_s3_bucket" "bucket" {
bucket = "your_bucket_name"
}
resource "aws_s3_bucket_notification" "bucket_notification" {
bucket = "${aws_s3_bucket.bucket.id}"
lambda_function {
lambda_function_arn = "${aws_lambda_function.func.arn}"
events = ["s3:ObjectCreated:*"]
filter_prefix = "AWSLogs/"
filter_suffix = ".log"
}
}