将 Ansible 变量的值从小写转换为大写

gra*_*een 39 linux ansible

我正在编写将 linux 系统加入 Active Directory 的剧本。我似乎找不到将 ansible_hostname 的值转换为大写的方法。我需要运行的命令之一要求以大写形式提供主机名。

小智 77

正如赫克托·巴尔韦德 (Hector Valverde) 所提到的,这似乎是

{{ ansible_hostname|upper }}
Run Code Online (Sandbox Code Playgroud)

...而不是“大写”

  • 同样,还有 `{{ ansible_hostname | 较低的}}` 而不是 [Jinja2 记录的 `lower()`](http://jinja.pocoo.org/docs/dev/templates/#lower) (27认同)

gra*_*een 6

在我的情况下,将变量的值转换为大写,将变量通过管道传递给上层,如下所示:

{{ ansible_hostname|upper }}
Run Code Online (Sandbox Code Playgroud)

  • 它应该记录在 http://docs.ansible.com/playbooks_filters.html 上,但与 Ansible 中的许多内容一样,它假定您“只知道”;我也经常为此感到沮丧。例如,有多个关于如何定义主机变量的示例(以 ntp 服务器为例),但在任何地方都没有解释如何实际 *使用 * 这样的主机变量。 (10认同)
  • 你是怎么找到这个的?你读过一些文档吗? (3认同)
  • 实际上是:{{ ansible_hostname|upper }} (3认同)
  • @wurtel 请参阅 http://jinja.pocoo.org/docs/templates/#builtin-filters,了解 Ansible 中未直接记录的所有过滤器。 (2认同)