2016-05-06 2 views
3

include vars module говорит, что файл JSON можно использовать для загрузки vars. Однако, когда я пытаюсь использовать модуль в своей книге, я получаю синтаксическую ошибку YAML.Включая файл json с модулем include_vars в незанятой пьесе

--- 
- hosts: my_hosts 
- include_vars: out.json 
- tasks: 
    command: hostname 

Ошибка синтаксиса:

ОШИБКА! «Include_vars» не является допустимым атрибутом для игры

ответ

5

Если посмотреть на ошибки, вы получаете вы его неправильно понимают: ошибка

Синтаксис это ОШИБКА! «Include_vars» не является допустимым атрибутом для игры

Ваш сборник пьес в настоящее время имеет 3 элементов списка в нем (обозначаемой в YAML по - в начале строки), которые все представляют собой играет в этом контексте.

So Ansible читает вашу пьесу как содержащую 3 пьесы одной строки, одну с линией хостов, одну с вашей линией include_vars и одну с задачей.

Вместо этого у вас должна быть только одна игра здесь, и вы также должны учитывать, что в задачах используются модули (например, include_vars).

Таким образом, ваш сборник пьес должен вместо этого выглядеть следующим образом:

--- 
- hosts: my_hosts 
    tasks: 
    - name: include vars 
    include_vars: out.json 

    - name: hostname 
    command: hostname 

Обратите внимание, как атрибут игры tasks имеет список своих собственных, каждая из которых представляет еще одну задачу.

+0

фантастический. Im довольно новый для YAML, так что это помогло тонну – Zee