Добавление пробела перед каждой строкой в ​​блоке ansible - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь добавить блок в файл с пробелом перед ним. Ansible сценарий, который я использовал, приведен ниже.

- name: Disable Apache Directory listing, Symbolic Links, Server side includes and CGI execution 
  blockinfile:
    dest: /etc/apache2/sites-enabled/000-default.conf
    insertbefore: '</VirtualHost>'
    block: |
      Options -Indexes -FollowSymLinks  -Includes -ExecCGI
      LimitRequestBody  10485760

Но результат, который я получаю, приведен ниже:

<VirtualHost *:80>
# BEGIN ANSIBLE MANAGED BLOCK
Options -Indexes -FollowSymLinks  -Includes -ExecCGI
LimitRequestBody  10485760
# END ANSIBLE MANAGED BLOCK
</VirtualHost>

Я ожидаю:

<VirtualHost *:80>
    # BEGIN ANSIBLE MANAGED BLOCK
    Options -Indexes -FollowSymLinks  -Includes -ExecCGI
    LimitRequestBody  10485760
    # END ANSIBLE MANAGED BLOCK
</VirtualHost>

Мы не можем использовать пробел перед кодом blockinfile , как в строке

line: '        Options -Indexes -FollowSymLinks  -Includes -ExecCGI'

Как мы можем это реализовать?

1 Ответ

1 голос
/ 18 июня 2020

Используйте индикатор отступа блока yaml:

- name: Disable Apache Directory listing, Symbolic Links, Server side includes and CGI execution 
  blockinfile:
    dest: testfile.conf
    insertbefore: '</VirtualHost>'
    block: |4
            Options -Indexes -FollowSymLinks  -Includes -ExecCGI
            LimitRequestBody  10485760

Это даст:

<VirtualHost *:80>
# BEGIN ANSIBLE MANAGED BLOCK
    Options -Indexes -FollowSymLinks  -Includes -ExecCGI
    LimitRequestBody  10485760 
# END ANSIBLE MANAGED BLOCK
</VirtualHost>

Обратите внимание, что отступ в блоке важен для правильной работы.

https://yaml.org/spec/1.2/spec.html#id2793979

...