Ansible

我可以在 nftables.conf 中使用大括號以外的東西嗎?

  • March 3, 2022

我正在嘗試使用 Ansible 模板化有狀態的 nftables 配置文件。

  • Ansible 使用 Jinja 進行模板化,而 Jinja 使用花括號作為變數:

{{ variable }}

  • Nftables 配置使用花括號將變數分組在一起:

{ 192.168.3.0/24, 192.168.1.0/24 }.

  • 轉義 Jinja2 花括號看起來像這樣:

{%raw%} { {%endraw%}或像這樣:

{{ '{' }}

這看起來非常醜陋且難以閱讀。有什麼方法可以讓 NFtables 使用與花括號不同的字元?喜歡[(<

如果您使用的是 ansible 的模板模組,那麼您可以配置 Jinja 使用的可變插值標記:

此外,您可以通過向模板文件添加特殊標頭來覆蓋 jinja2 設置。即#jinja2:variable_start_string:'

$$ %’, variable_end_string:’% $$’, trim_blocks: False 將變數插值標記更改為$$ % var % $$而不是 {{ var }}。這是防止評估看起來像但不應該是 Jinja2 的東西的最佳方法。

jinja 文件列出了可以更改的各種標記。

引用自:https://unix.stackexchange.com/questions/692789