Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Syntax Error

Olá galera.

Estou com um erro logo no início e não consegui consertar.

segue meu arquivo provisioning.yml

---
- hosts: all
    tasks:
        - apt: 
          name: php5
          state: latest
        become: yes

realizo o comando:

$ ansible-playbook provisioning.yml -u vagrant -i hosts --private-key .vagrant/machines/wordpress/virtualbox/private_key
ERROR! Syntax Error while loading YAML.
  mapping values are not allowed in this context

The error appears to have been in '/home/salatux/Devops/Ansible/provisioning.yml': line 3, column 10, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

- hosts: all
    tasks:
         ^ here

Já tentei várias alterações no arquivo, mas nada funcionou. Alguém sabe me dizer o que há de errado?

Muito obrigado.

3 respostas

Olá, Salatiel. Beleza?

O YAML, que é o nome do formato desse arquivo .yml, é sensível à indentação. Você deve manter consistente. Repare que, no código que você mandou, num momento você usa uma quantidade de espaços e noutro outra quantidade.

Você pode usar 2 espaços, mas use sempre que for indentar. A mesma coisa com 4 espaços.

Ex:

- hosts: all
  tasks:
    - apt:
        name: php5
        state: latest
      become: yes

Espero ter ajudado.

solução!

Olá Vitor.

Muito obrigado. Mas só consegui após baixar uma extensão de suporte para arquivos YAML. A identação certa ficou assim:

---
- hosts:  all
  tasks:
    - apt:
        name:  php5
        state:  latest
  become:  yes

Valew!!

Oi, Salatiel.

Que bom que resolveu. Só gostaria de salientar que basta você ser consistente no número de espaços que você usa.

Alguns editores com mais plugins e funções (tipo o vscode) podem dar problemas por causa configuração de como os tabs são feitos. Se você usar um editor de texto tipo o vim ou sublime pode causar menos problemas. Mas problemas com YAML são comuns entre as melhores famílias :)

Bons estudos!