community.general.random_string lookup – 生成随机字符串
注意
此查找插件是 community.general 集合(版本 10.1.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了这个集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.general
。
要在 playbook 中使用它,请指定:community.general.random_string
。
community.general 3.2.0 中的新增功能
概要
根据给定的约束生成随机字符串。
使用 random.SystemRandom,因此应该足够强大,可以用于加密目的。
关键字参数
这描述了查找的关键字参数。这些是以下示例中的值 key1=value1
,key2=value2
等:lookup('community.general.random_string', key1=value1, key2=value2, ...)
和 query('community.general.random_string', key1=value1, key2=value2, ...)
参数 |
注释 |
---|---|
返回 base64 编码的字符串。 选项
|
|
字符串的长度。 默认值: |
|
在字符串中包含小写字母。 选项
|
|
字符串中特殊字符的最小数量。 默认值: |
|
在字符串中包含数字。 选项
|
|
覆盖要在字符串中使用的特殊字符列表。 如果设置,则 |
|
覆盖不应在字符串中使用的字符列表。 默认值: |
|
在字符串中包含特殊字符。 特殊字符取自 Python 标准库 特殊字符的选择可以更改为设置 选项
|
|
在字符串中包含大写字母。 选项
|
示例
- name: Generate random string
ansible.builtin.debug:
var: lookup('community.general.random_string')
# Example result: 'DeadBeeF'
- name: Generate random string with length 12
ansible.builtin.debug:
var: lookup('community.general.random_string', length=12)
# Example result: 'Uan0hUiX5kVG'
- name: Generate base64 encoded random string
ansible.builtin.debug:
var: lookup('community.general.random_string', base64=True)
# Example result: 'NHZ6eWN5Qk0='
- name: Generate a random string with 1 lower, 1 upper, 1 number and 1 special char (at least)
ansible.builtin.debug:
var: lookup('community.general.random_string', min_lower=1, min_upper=1, min_special=1, min_numeric=1)
# Example result: '&Qw2|E[-'
- name: Generate a random string with all lower case characters
ansible.builtin.debug:
var: query('community.general.random_string', upper=false, numbers=false, special=false)
# Example result: ['exolxzyz']
- name: Generate random hexadecimal string
ansible.builtin.debug:
var: query('community.general.random_string', upper=false, lower=false, override_special=hex_chars, numbers=false)
vars:
hex_chars: '0123456789ABCDEF'
# Example result: ['D2A40737']
- name: Generate random hexadecimal string with override_all
ansible.builtin.debug:
var: query('community.general.random_string', override_all=hex_chars)
vars:
hex_chars: '0123456789ABCDEF'
# Example result: ['D2A40737']
返回值
键 |
描述 |
---|---|
包含随机字符串的单元素列表 已返回: 成功 |