ansible Синтаксис модуля - что означает | после имени модуля имеется ввиду? - PullRequest
1 голос
/ 30 января 2020

Вот пример:

- name: create the thing
  command: |
    psql -c "create role thingy with login encrypted password 'somepassword';"

Для чего нужен символ |?

Заранее спасибо.

1 Ответ

1 голос
/ 30 января 2020

Это заголовок блока yaml. | - многострочный блочный скалярный заголовок. Каждая строка с отступом ниже будет сохранена как есть с новой строкой в ​​конце.

В вашем вышеупомянутом случае это точно эквивалентно:

  command: "psql -c \"create role thingy with login encrypted password 'somepassword';\""

Как показано выше, одно преимущество такой блок состоит в том, что он удаляет один уровень экранирования кавычек (что весьма полезно для сценариев).

Также имеется скалярный заголовок сложенного блока (>), и вы можете добавить модификаторы для сжатия (например, -)

На этом сайте вы быстро разберетесь в этом: https://yaml-multiline.info/. Вы также можете глобально выучить yaml за y минут (одна из моих любимых ссылок)

...