我想在Ansible任务中创建一个随机字符串,并在jinja2中使用它。
该字符串应包含长度为32个字符的0-9
、a-z
、A-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 }}"