terraform - 向多个帐户提供 Terraform
问题描述
我使用 terraform 将 lambda 部署到一个 aws 帐户,并使用 s3 触发器在另一个帐户中部署 lambda。因此,我创建了两个单独的文件夹,每个文件夹都保存特定帐户的状态。
但是,我想将所有内容合并到一个模板中。有可能做到吗?例子:
provider "aws" {
profile = "${var.aws_profile}"
region = "eu-west-1"
}
provider "aws" {
alias = "bucket-trigger-account"
region = "eu-west-1"
profile = "${var.aws_bucket_trigger_profile}
}
我希望 aws bucket-trigger-account 提供以下资源。我该怎么做?
resource "aws_s3_bucket_notification" "bucket_notification" {
bucket = "${var.notifications_bucket}"
lambda_function {
lambda_function_arn = "arn:aws:lambda:eu-west-1-xxx"
events = ["s3:ObjectCreated:*"]
filter_suffix = ".test"
}
}
解决方案
发现只需在资源上使用提供者参数,您就可以为该资源使用不同的提供者:provider = "aws.bucket-trigger-account"
推荐阅读
- json - JSONObject 错误解析包含 javascript 的 JSON
- java - 计时器可以显示在上一行,我可以在cmd中输入下一行吗?(java)
- excel - 如果另一列中有单元格匹配,Excel公式将返回另一列的值
- ios - Objective-c 中的 NSDate 日期给出的日期时间与 swift 中的 Date() 不同
- python - Pandas:如何查找范围内的值的行和列?
- node.js - 如何使用硒加载视频?
- python - 无法从 JSON 数组计算平均值
- excel - 需要为特定文本解析 excel 中的单元格并复制其旁边的文本
- c# - 如何将图像位图保存在 .ashx 文件中
- ruby-on-rails - 优化 ActiveRecord 查询。是否可以将两个查询合二为一?