如何在Ansible中创建一个随机字符串并在jinja中使用它



我想在Ansible任务中创建一个随机字符串,并在jinja2中使用它。
该字符串应包含长度为32个字符的0-9a-zA-Z

我发现了这个功能,但无法在set_fact中使用

lookup('community.general.random_string', length=12)

我使用的是Ansible 2.12.1set_ fact写入字符串";查找('community.general.random_string',长度=12(";in me模板。我需要创建一个随机字符串,将其用作配置文件中的密码短语。在第二次运行时,不应触摸随机字符串-还需要添加一个检查文件是否存在或类似的内容。

创建一个随机字符串并将其作为事实添加的方法类似于以下

---
- hosts: test
vars:
my_pass_var: "{{ lookup('password', '/dev/null length=32 chars=ascii_letters,digits') }}"

tasks:
- set_fact:
my_pass_as_fact: "{{ my_pass_var }}"
- debug:
msg: "{{ my_pass_as_fact }}"

最新更新