web-dev-qa-db-ja.com

Ansibleのblockinfileのブロックの先頭にスペースを追加する方法は?

私はこれを見つけました blockinfileの問題 、ユーザーが「|」の後に数字を追加することを提案しました「ブロック:|」内行ですが、構文エラーが発生します。基本的に、blockinfileモジュールを使用してファイルに行のブロックを追加しますが、ブロックはファイル内で6つのスペースをインデントしたいです。ここにタスクがあります

- name: Added a block of lines in the file
  blockinfile:
  dest: /path/some_file.yml
  insertafter: 'authc:'
  block: |
    line0
      line1
      line2
      line3
        line4

私が期待する

  authc:
    line0
      line1
      line2
      line3
        line4

しかし得る

  authc:
line0
  line1
  line2
  line3
    line4

行の先頭にスペースを追加しても機能しません。どうすればこれを達成できますか?

14
Chris F

どうすればこれを達成できますか?

この回答を参照してください

一般に、テンプレートファイルを使用するほうが標準的です。

0
techraf

「ブロックインデントインジケーター」と呼ばれるYAML機能を使用できます。

- name: Added a block of lines in the file
  blockinfile:
  dest: /path/some_file.yml
  insertafter: 'authc:'
  block: |2
      line0
        line1
        line2
        line3
          line4

それは2の後のすべてです|

参照:

37
antex