0

私は Terraform を初めて使用し、それを使用して、AWS コンソールを介して正常に作成したものを複製しようとしています。

Cloudwatch ルールのターゲットとして「SSM 実行コマンド」を指定しようとしていますが、「ドキュメント」フィールドを除く aws_cloudwatch_event_target リソースを使用して定義されたすべてのものを取得できます。ルール ターゲットと関連するその他すべての要素はすべて正常に作成されましたが、コンソールからルールを編集すると、ドキュメント セクションが入力されません (下のスクリーンショット)。その結果、ルールは実行されません。

コンソールに表示されるターゲット

aws_cloudwatch_event_target の Terraform ドキュメントを見ると、ドキュメントに指定するパラメータが表示されないので、これが可能かどうか疑問に思っていますか? 他のすべてのパラメーターがカバーされているように見えることを考えると、これは奇妙です。

以下は、ターゲットを作成するために使用しているコードです。そこにはハードコードされたものがありますが、現時点ではそれを機能させようとしています。

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 にないのではないかと思っています。「Document」パラメーターを指定できると思いますが、指定できるのはターゲットの「arn」だけです。

どんな助けでも大歓迎です!

4

3 に答える 3