amazon-web-services - 在 AWS terraforms aws_cloudwatch_event_rule 的 event_pattern 部分中传递变量
问题描述
我正在努力将列表变量传递给 terrform 中的事件模式。这是我目前所拥有的以及我正在努力的错误:
结构:
main.tf
variable.tf
input.tfvars
---modules
------cwr-cwt
---------main.tf
---------variable.tf
我的模块
resource "aws_cloudwatch_event_rule" "somename" {
.
.
.
event_pattern = <<PATTERN
{ "source":[
"aws.config"
],
"detail-type":[
"Config Configuration Item Change"
],
"detail":{
"messageType":[
"ConfigurationItemChangeNotification"
],
"configurationItem":{
"resourceType":${var.resource_type},
"configurationItemStatus":[
"ResourceDiscovered"
],
"configuration":{
"instanceType":${var.instance_type_list}
}
}
}
}
PATTERN
}
.
.
.
这就是我从 main.tf 传递的内容......
module "somename" {
source = "./modules/cwr-cwt"
resource_type = [ "AWS::EC2::Instance" ]
sns_topic_arn = aws_sns_topic.sns-euwe01-expense-watcher-group-01.arn
rule_name = "somename"
instance_type_list = [
"t2.2xlarge","t3.2xlarge","t3a.2xlarge","t4g.2xlarge","m2.2xlarge","m2.4xlarge","m3.2xlarge","m4.2xlarge","m4.4xlarge",
"m4.10xlarge","m4.16xlarge ","cr1.8xlarge","r3.2xlarge","r3.4xlarge","r3.8xlarge","r4.2xlarge","r4.8xlarge","r4.16xlarge",
"r5.2xlarge","r5.4xlarge","r5.8xlarge","r5.12xlarge","r5.16xlarge","r5.24xlarge","r5.metal","r5a.2xlarge", "r5a.4xlarge",
"r5a.8xlarge","r5a.12xlarge","r5a.16xlarge","r5a.24xlarge","r5b.2xlarge","r5b.4xlarge","r5b.8xlarge","r5b.12xlarge","r5b.16xlarge",
"r5b.24xlarge","r5b.metal","r5d.2xlarge","r5d.4xlarge","r5d.8xlarge","m5ad.12xlarge","m5ad.16xlarge","m5a.16xlarge","m5a.24xlarge",
"r5d.12xlarge","r5d.16xlarge","r5d.24xlarge","r5d.metal","r5ad.2xlarge","r5ad.4xlarge","r5ad.8xlarge","r5ad.12xlarge","x2gd.8xlarge",
"r5ad.16xlarge","r5ad.24xlarge","r6g.2xlarge","r6g.4xlarge","r6g.8xlarge","r6g.12xlarge","r6g.16xlarge","r6gd.2xlarge","r6gd.4xlarge",
"r6gd.8xlarge","r6gd.12xlarge","r6gd.16xlarge","x1.16xlarge","x1.32xlarge","x1e.2xlarge","x1e.4xlarge","g3.8xlarge","g3.16xlarge",
"x1e.8xlarge","x1e.16xlarge","x1e.32xlarge","i2.2xlarge","i2.4xlarge","i2.8xlarge","i3.2xlarge","i3.4xlarge","i3.8xlarge",
"i3.16xlarge","i3.metal","i3en.2xlarge","i3en.3xlarge","i3en.6xlarge","i3en.12xlarge","i3en.24xlarge","i3en.metal","hi1.4xlarge",
"hs1.8xlarge" ,"c3.2xlarge","c3.4xlarge","c3.8xlarge","c4.2xlarge","c4.4xlarge"
]
}
但是运行它会给我如下错误:
var.instance_type_list is list of string with n elements
Cannot include the given value in a string template: string required.
如果我不创建模块并直接使用它,那么它工作得很好...... :(
注意:我不想创建 json 字符串来传递给事件模式。
解决方案
推荐阅读
- javascript - 页面加载后响应调用函数
- python-3.x - 问题“str”对象没有属性“sign_in_with_email_and_password(电子邮件,密码)”
- python-3.x - 将系列连接到数据框时创建的 NaN 列
- biztalk - BizTalk 的 BAM 延续问题
- jquery - 以优化的方式将 50K + 行的行加载到 jQuery DataTable 以在 MVC 实体框架应用程序中获得更好的性能
- mysql - 经常无法连接到数据库
- python - 按名称动态访问内置类型对象
- javascript - 放置请求/函数不会更新我的 API
- reactjs - React Navigation - pop() 返回根目录而不是上一页
- c# - Xamarin Forms 在关闭 Current 后显示一个新页面