Порядок выполнения команд при использовании file.append и file.managed с солеными состояниями

Я управляю main.cf Конфигурационный файл в моем постфиксе sls. Если тот же миньон также назначил состояние amavis, строка content_filter = smtp-amavis:[127.0.0.1]:10024 должны быть добавлены к управляемым main.cf файл.

Мой постфиксный слз выглядит так:

/etc/postfix/main.cf:
  file.managed:
    - template: jinja
    - source: salt://postfix/files/etc/postfix/main.cf

И в моих amavis sls я пытаюсь добавить эту строку с:

/etc/postfix/main.cf-amavis:
  file.append:
    - name: /etc/postfix/main.cf
    - text: "content_filter = smtp-amavis:[127.0.0.1]:10024"
    - require_in:
      - file: /etc/postfix/main.cf

Тем не мение, append происходит раньше manage вместо того, чтобы выполнять это наоборот.

Name: /etc/postfix/main.cf - Function: file.append - Result: Changed
Name: /etc/postfix/main.cf - Function: file.managed - Result: Changed

Как правильно добавить содержимое в управляемый файл? Или есть другой способ решить мою проблему?

1 ответ

Решение

Ты хочешь require не require_in:

/etc/postfix/main.cf-amavis:
  file.append:
    - name: /etc/postfix/main.cf
    - text: "content_filter = smtp-amavis:[127.0.0.1]:10024"
    - require:
      - file: /etc/postfix/main.cf
Другие вопросы по тегам