Spec-Zone.ru › Ansible

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.

Варианты:

  • false ← (по умолчанию)
  • true

ignore_similar_chars

boolean

добавлено в community.general 7.5.0

Исключать похожие символы, например l и 1 или O и 0.

Эти символы можно настроить с помощью similar_chars.

Варианты:

  • false ← (по умолчанию)
  • true

length

integer

Длина строки.

По умолчанию: 8

lower

boolean

Возможно, в строку будут включены строчные буквы.

Чтобы гарантировать наличие хотя бы одной строчной буквы, задайте для min_lower значение 1.

Варианты:

  • false
  • true ← (по умолчанию)

min_lower

integer

Минимальное количество строчных букв в строке.

Если задано, переопределяет lower=false.

По умолчанию: 0

min_numeric

integer

Минимальное количество цифр в строке.

Если задано, переопределяет numbers=false.

По умолчанию: 0

min_special

integer

Минимальное количество специальных символов в строке.

По умолчанию: 0

min_upper

integer

Минимальное количество заглавных букв в строке.

Если задано, переопределяет upper=false.

По умолчанию: 0

numbers

boolean

Возможно, в строку будут включены цифры.

Чтобы гарантировать наличие хотя бы одной цифры, задайте для min_numeric значение 1.

Варианты:

  • false
  • true ← (по умолчанию)

override_all

string

Заменить все значения numbers, upper, lower и special заданным списком символов.

override_special

string

Заменить список специальных символов, используемых в строке.

Если задано, min_special должно иметь значение, отличное от значения по умолчанию.

seed

string

добавлено в community.general 11.3.0

Начальное значение для генератора случайных строк.

Примечание: это значительно снижает безопасность данного плагина. Во-первых, если указано seed, используется некриптографический генератор случайных чисел. Во-вторых, если начальное значение содержит недостаточно энтропии, сгенерированная строка будет ненадёжной. Не используйте сгенерированную строку в качестве пароля или защищённого токена, если задан этот параметр!

similar_chars

string

добавлено в community.general 7.5.0

Заменить список символов, которые не должны использоваться в строке.

По умолчанию: "il1LoO0"

special

boolean

Возможно, в строку будут включены специальные символы.

Специальные символы берутся из стандартной библиотеки Python string. Список используемых символов см. в документации по string.punctuation.

Набор специальных символов можно изменить, задав override_special.

Чтобы гарантировать наличие хотя бы одного специального символа, задайте для min_special значение 1.

Варианты:

  • false
  • true ← (по умолчанию)

upper

boolean

Возможно, в строку будут включены заглавные буквы.

Чтобы гарантировать наличие хотя бы одной заглавной буквы, задайте для min_upper значение 1.

Варианты:

  • false
  • true ← (по умолчанию)

Примеры

- 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

Список из одного элемента, содержащий случайную строку.

Возвращается: при успешном выполнении

Авторы

  • Abhijeet Kasurde (@Akasurde)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Запросить помощь
  • Сообщить об ошибке
  • Предложить функцию
  • Связь

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API