こんにちわ
がじぇったー (@hackmylife7) | Twitter
です。
Terraformで正規表現を書く方法を記載します。
Terraform実行時に"illegal char escape"というエラーが出力された場合の対応になります。
やりたかったこと
tfファイルで正規表現を書く
resource "aws_cloudwatch_log_subscription_filter" "test_logfilter" {
name = "test_logfilter"
log_group_name = "test-log-group-name"
filter_pattern = { $.type = "ERROR"||$.type = "FATAL"}
destination_arn = "arn_name"
}
これを上記のCodeのまま実行(terraform apply)すると
"illegal char escape"というエラーが出力されてしまいます。
これを防ぐには以下のようにヒアドキュメントで正規表現を記載します。
resource "aws_cloudwatch_log_subscription_filter" "test_logfilter" {
name = "test_logfilter"
log_group_name = "test-log-group-name"
filter_pattern = <<EOT
{ $.type = "ERROR"||$.type = "FATAL"}EOT
destination_arn = "arn_name"
}
上記のように記載することでエラーにならずにデプロイされます。
- 作者:Kief Morris
- 発売日: 2017/03/18
- メディア: 単行本(ソフトカバー)