Terraformで正規表現を書く(illegal char escapeが出力された場合のエラー対応)
こんにちわ
がじぇったー (@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" }
上記のように記載することでエラーにならずにデプロイされます。
Infrastructure as Code ―クラウドにおけるサーバ管理の原則とプラクティス
- 作者:Kief Morris
- 発売日: 2017/03/18
- メディア: 単行本(ソフトカバー)