問題
Terraform Cloud をサービス開始当初から使っている。
terraform plan
の実行ログをコピペするのがしづらい(カーソル状態が定期的にリセットされる挙動で Ctrl + C が空うちされる!) ため、 "View raw log" からログをダウンロードして利用するのが回避策として有効なのだが、ここには一つ落とし穴がある。
それはデフォルトだとログに余計な文字が含まれてしまうことだ。
期待結果は以下のイメージ
# azurerm_app_service_certificate.xxxxxxxx will be created + resource "azurerm_app_service_certificate" "xxxxxxxx" { + expiration_date = (known after apply) + friendly_name = (known after apply) + host_names = (known after apply) + id = (known after apply) + issue_date = (known after apply) + issuer = (known after apply)
実際は以下
[1m # azurerm_app_service_certificate.xxxxx[0m will be created[0m[0m [0m [32m+[0m[0m resource "azurerm_app_service_certificate" "xxxxxx" { [32m+[0m [0m[1m[0mexpiration_date[0m[0m = (known after apply) [32m+[0m [0m[1m[0mfriendly_name[0m[0m = (known after apply) [32m+[0m [0m[1m[0mhost_names[0m[0m = (known after apply) [32m+[0m [0m[1m[0mid[0m[0m = (known after apply) [32m+[0m [0m[1m[0missue_date[0m[0m = (known after apply) [32m+[0m [0m[1m[0missuer[0m[0m = (known after apply)
回避策
サポートに確認したところ、この余計な文字は +
などの部分に色をつける装飾のための文字コードだ。
回避策は terraform cli を実行するときのパラメータを変更すること。
環境変数 TF_CLI_ARGS
に -no-color
を追加すれば装飾されなくなる。
参考: Environment Variables - Terraform by HashiCorp
感想
この回避策を取ると通常の Web 上の画面でも装飾されないことになるので、そこが不便になる。
理想を言えば Web 上は装飾あり、ログでは装飾なしのプレーンな形式で確認したい。
つまり terraform cli の挙動ではなく、Web 上で装飾してほしい。
という要望は出しておきましたがどうなるか。