【发布时间】:2018-08-02 04:50:06
【问题描述】:
我是 Terraform 的新手,我正在尝试为可跨账户访问的 Lambda 函数创建 Terraform 模块 S3 存储桶。此外,跨帐户访问应仅限于列出和获取对象。
以下是我创建 lambda 的内容:
resource "aws_lambda_function" "test_lambda" {
filename = "lambda_function_payload.zip"
s3_bucket = "my_bucket_name"
function_name = "lambda_function_name"
role = "${aws_iam_role.iam_for_lambda.arn}"
handler = "exports.test"
source_code_hash = "${base64sha256(file("lambda_function_payload.zip"))}"
runtime = "nodejs4.3"
}
这就是我的 s3 存储桶代码的样子:
resource "aws_s3_bucket" "bucket" {
bucket = "my-bucket"
acl = "private"
lifecycle_rule {
id = "log"
enabled = true
prefix = "log/"
tags {
"rule" = "log"
"autoclean" = "true"
}
transition {
days = 30
storage_class = "STANDARD_IA"
}
transition {
days = 60
storage_class = "GLACIER"
}
expiration {
days = 90
}
}
lifecycle_rule {
id = "tmp"
prefix = "tmp/"
enabled = true
expiration {
date = "2016-01-12"
}
}
#Using this section for cors_rule
cors_rule {
allowed_headers = ["*"]
allowed_methods = ["GET"]
allowed_origins = ["https://s3-website-test.hashicorp.com"]
}
}
我怎样才能把它变成一个模块?
【问题讨论】: