Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Terraform output with null_resource - invalid byte sequence in US-ASCII #126

Open
mhca99 opened this issue Apr 27, 2023 · 0 comments
Open

Comments

@mhca99
Copy link

mhca99 commented Apr 27, 2023

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant