MyTetra Share
Делитесь знаниями!
Как пользоваться конструкцией block в Ansible?
Время создания: 28.08.2025 10:08
Раздел: Компьютер - Linux - Оркестрация - Ansible
Запись: xintrea/mytetra_syncro/master/base/17563649126fwsz9jyvq/text.html на raw.github.com

Несмотря на то, что внешне конструкция block, на первый взгляд, выглядит как вызов модуля Ansible, эта конструкция модулем не является. Это именно синтаксическая конструкция.


А это значит, что после слова "block:" должен сразу располагаться код с задачами, входящими в данный блок. То есть, block — это часть синтаксиса YAML/Ansible, он не имеет параметров как у модулей (нет args, options) и служит только для группировки задач.


Совместно с block можно использовать дополнительные конструкции:



  • when — условие выполнения всего блока
  • tags — теги для всего блока
  • rescue — обработка ошибок
  • always — всегда выполняемые задачи



Внимание! Дополнительные конструкции можно прописывать только до или после ключевого слова "block:" со всеми строками, которые в него входят.


Другими словами, вот так писать нельзя:



- name: Обработка директории {{ configDir }}

block:

when: configDirStat.stat.isdir is defined and configDirStat.stat.isdir


- name: Информация о наличии директории

debug:

msg: "Директория {{ configDir }} существует и будет обработана"



Так как появится ошибка:



We were unable to read either as JSON nor YAML,

these are the errors we got from each:

JSON: Expecting value: line 1 column 1 (char 0)


Syntax Error while loading YAML.

did not find expected key


The error appears to be in playbook04.yml': line 19, column 3, but may

be elsewhere in the file depending on the exact syntax problem.


The offending line appears to be:


- name: Информация о наличии директории

^ here



Правильный синтаксис будет таким:



- name: Обработка директории {{ configDir }}

when: configDirStat.stat.isdir is defined and configDirStat.stat.isdir

block:


- name: Информация о наличии директории

debug:

msg: "Директория {{ configDir }} существует и будет обработана"


Так же в этом разделе:
 
MyTetra Share v.0.67
Яндекс индекс цитирования