community.general.random_string lookup — генерирует случайную строку
Примечание
Этот плагин поиска входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.general.
Чтобы использовать её в плейбуке, укажите: community.general.random_string.
Добавлено в community.general 3.2.0
Краткое описание
- Генерирует случайную строку с учётом заданных ограничений.
- Использует secrets.SystemRandom, поэтому должен обеспечивать достаточную надёжность для криптографических целей.
Параметры-ключевые слова
Здесь описаны параметры-ключевые слова плагина поиска. В следующих примерах это значения key1=value1, key2=value2 и так далее: lookup('community.general.random_string', key1=value1, key2=value2, ...) и query('community.general.random_string', key1=value1, key2=value2, ...)
Параметр | Комментарии |
|---|---|
base64 boolean | Возвращает строку в кодировке base64. Варианты:
|
ignore_similar_chars boolean добавлено в community.general 7.5.0 | Исключать похожие символы, например Эти символы можно настроить с помощью Варианты:
|
length integer | Длина строки. По умолчанию: |
lower boolean | Возможно, в строку будут включены строчные буквы. Чтобы гарантировать наличие хотя бы одной строчной буквы, задайте для Варианты:
|
min_lower integer | Минимальное количество строчных букв в строке. Если задано, переопределяет По умолчанию: |
min_numeric integer | |
min_special integer | Минимальное количество специальных символов в строке. По умолчанию: |
min_upper integer | Минимальное количество заглавных букв в строке. Если задано, переопределяет По умолчанию: |
numbers boolean | Возможно, в строку будут включены цифры. Чтобы гарантировать наличие хотя бы одной цифры, задайте для Варианты:
|
override_all string | |
override_special string | Заменить список специальных символов, используемых в строке. Если задано, |
seed string добавлено в community.general 11.3.0 | Начальное значение для генератора случайных строк. Примечание: это значительно снижает безопасность данного плагина. Во-первых, если указано |
similar_chars string добавлено в community.general 7.5.0 | Заменить список символов, которые не должны использоваться в строке. По умолчанию: |
special boolean | Возможно, в строку будут включены специальные символы. Специальные символы берутся из стандартной библиотеки Python Набор специальных символов можно изменить, задав Чтобы гарантировать наличие хотя бы одного специального символа, задайте для Варианты:
|
upper boolean | Возможно, в строку будут включены заглавные буквы. Чтобы гарантировать наличие хотя бы одной заглавной буквы, задайте для Варианты:
|
Примеры
- name: Generate random string
ansible.builtin.debug:
var: lookup('community.general.random_string')
# Example result: 'DeadBeeF'
- name: Generate random string with seed
ansible.builtin.debug:
var: lookup('community.general.random_string', seed=12345)
# Example result: '6[~(2q5O'
# NOTE: Do **not** use this string as a password or a secure token,
# unless you know exactly what you are doing!
# Specifying seed uses a non-secure random number generator.
- 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']
Возвращаемое значение
Ключ | Описание |
|---|---|
Возвращаемое значение list / elements=string | Список из одного элемента, содержащий случайную строку. Возвращается: при успешном выполнении |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/random_string_lookup.html