5
respostas

[Dúvida] Aula Terraform e Ansible - Formação DEVOPS - No main.tf dentro da TAG user_data o JSON não reconhece o trecho do código BASH

Boa noite! Estou travado nessa parte há uns dois e não consegui sair. Dentro do EOF no arquivo main.tf ele não reconhece o trecho do código BASH dentro da tag user_data. Está retornando com erro no VS CODE

Segue o trecho:

**user_data = << - EOF

            #!/bin/bash
            cd /home/ubuntu
            echo "<h1> Feito com Terraform</h1>" > index.html
            nohup busybox httpd -f -p 8080 &
                            EOF**

            Conseguem me dar um help?
5 respostas

Oi, Isaac. Tudo bem?

O erro aparece apenas no VSCode ou quando você executa o terraform também?

Pode mandar aqui o conteúdo completo do seu main.tf? Usa o botão </> do editor de texto aqui do fórum para criar um bloco de código e cola todo o seu arquivo, por favor? Assim podemos ter mais contexto e ver direitinho o que pode estar acontecendo.

Também não consegui, pois apresenta diversos erros no plan/apply. O consegui fazer para contornar foi escrever um arquivo bash (user_data.sh) com as execuções do video no mesmo diretório do main.tf, e no main.tf -> resource eu chamo este arquivo. Para isto foi necessário acrescentar as linhas:

  user_data = <<-EOT
    ${file("${path.module}/user_data.sh")}
  EOT
  user_data_replace_on_change = true

@vitor e @arielton, minha situação se resolveu sozinha. Ainda não entendi o porquê, mas quando reiniciei minha VM e entrei no outro dia, já não estava aparecendo mais o erro nesse trecho do código. Ainda não entendi esse erro, porque precisei anteriormente reiniciar minha VM e ao abrir o VSCode esse mesmo erro estava lá. Mistériosss....rs

Obrigado @arielton, sua solução realmente contornou o problema que estava tendo nesta questão.

Opa, legal! @Douglas, sucesso aí.