我对 Terraform 非常陌生,正在尝试使用它来复制我通过 AWS 控制台成功创建的内容。
我正在尝试将“SSM 运行命令”指定为 Cloudwatch 规则的目标,并且可以获取使用 aws_cloudwatch_event_target 资源定义的所有内容,但“文档”字段除外。规则目标和所有其他相关的零碎都已成功创建,但是当我从控制台编辑规则时,未填写文档部分(下面的屏幕截图)。因此,该规则无法触发。
查看 aws_cloudwatch_event_target 的 Terraform 文档,我看不到要为 Document 指定的任何参数,所以我想知道这是否可能?考虑到似乎涵盖了所有其他参数,这会很奇怪。
下面是我用来创建目标的代码——里面有硬编码的东西,但我只是想让它在这一点上工作。
resource "aws_cloudwatch_event_target" "autogrow" {
rule = "autogrow"
arn = "arn:aws:ssm:eu-west-1:999999999999:document/AWS-RunShellScript"
role_arn = "arn:aws:iam::999999999999:role/ec2-cloudwatch"
run_command_targets {
key = "tag:InstanceIds"
values = ["i-99999999999"]
}
input = <<INPUT
{
"commands": "/data/ssmscript.sh",
"workingDirectory" : "/data",
"executionTimeout" : "300"
}
INPUT
}
是否可以通过 Terraform 做我想做的事情?它确实通过控制台工作,但我想知道该功能是否还没有在 Terraform 中?我希望能够指定“文档”参数,但您可以指定的只是目标的“arn”。
任何帮助将不胜感激!