terraform-landscape
terraform-landscape copied to clipboard
Terraform output with null_resource - invalid byte sequence in US-ASCII
Hi, I am using "landscape" for plan output formatting . Normally it gives the nice output. However, when using null_resource which is changing all the times to trigger other resource recreation. The encoding OS environment variable is set as LANG=en_US.UTF-8..
Even though , on the screen I don't see any invalid characters , however, landscape utility getting "invalid byte sequence in US-ASCII (ArgumentError)" as follows: I checked with Terraform support and they told me its not Terraform issue and its plan output is all utf8 text format.
terraform plan -no-color | landscape --trace /var/lib/gems/3.0.0/gems/terraform_landscape-0.3.4/lib/terraform_landscape/printer.rb:107:in gsub': invalid byte sequence in US-ASCII (ArgumentError) from /var/lib/gems/3.0.0/gems/terraform_landscape-0.3.4/lib/terraform_landscape/printer.rb:107:in strip_ansi' from /var/lib/gems/3.0.0/gems/terraform_landscape-0.3.4/lib/terraform_landscape/printer.rb:58:in process_string' from /var/lib/gems/3.0.0/gems/terraform_landscape-0.3.4/lib/terraform_landscape/printer.rb:42:in process_stream' from /var/lib/gems/3.0.0/gems/terraform_landscape-0.3.4/lib/terraform_landscape/cli.rb:53:in print' from /var/lib/gems/3.0.0/gems/terraform_landscape-0.3.4/lib/terraform_landscape/cli.rb:34:in block (2 levels) in define_commands' from /var/lib/gems/3.0.0/gems/commander-4.6.0/lib/commander/command.rb:187:in call' from /var/lib/gems/3.0.0/gems/commander-4.6.0/lib/commander/command.rb:157:in run' from /var/lib/gems/3.0.0/gems/commander-4.6.0/lib/commander/runner.rb:444:in run_active_command' from /var/lib/gems/3.0.0/gems/commander-4.6.0/lib/commander/runner.rb:58:in run!' from /var/lib/gems/3.0.0/gems/commander-4.6.0/lib/commander/delegates.rb:18:in run!' from /var/lib/gems/3.0.0/gems/terraform_landscape-0.3.4/lib/terraform_landscape/cli.rb:25:in run' from /var/lib/gems/3.0.0/gems/terraform_landscape-0.3.4/bin/landscape:7:in <top (required)>' from /usr/local/bin/landscape:25:in load' from /usr/local/bin/landscape:25:in `
'following is terraform plan output without landscape:
terraform plan null_resource.recycle_agreement: Refreshing state... [id=8821230689692803968]
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: -/+ destroy and then create replacement
Terraform will perform the following actions:
'#' null_resource.recycle_agreement must be replaced -/+ resource "null_resource" "recycle_agreement" { ~ id = "8821230689692803968" -> (known after apply) ~ triggers = { # forces replacement ~ "timestamp" = "2023-04-27T16:40:47Z" -> (known after apply) } }
Plan: 1 to add, 0 to change, 1 to destroy.
Note: You didn't use the -out option to save this plan, so Terraform can't guarantee to take exactly these actions if you run "terraform apply" now.